Thanks for the quick resolution, and apologies for asking in both places. Good to know both discussion forums are monitored.
To fill in the rest of the conversation for anyone who may stumble upon this problem:
I switched Stripe to live mode and copied my live keys from Stripe’s config pages. I just double-clicked the value, pasted it into my PMPro config page, and trimmed off the white space at the end. I failed to notice that there was another space at the beginning of the string.
The result was that when I tried to pay on my PMPro checkout page, the form was submitted — clearly not supposed to happen. So I set a break point in Firebug at the function that’s called when the submit button is clicked. The call to Stripe.createToken() failed, but I could see no indication of why.
I’m sure Jason has this covered, but a few things that would have helped me find the issue (putting to one side the fact that I made the mistake in the first place!):
— some sort of trim() on saving the key
— trim() when getting the key from the DB
Then things get a bit less clear because the right solution depends on internals that I’ve not looked at. But maybe:
— a try{} block containing the call to Stripe.createToken (if in fact an exception is raised when the key is wrong)
— some sort of debug output that would indicate what the problem is.
In any case, thanks again Jason for the prompt response. It’s very helpful, and guarantees that I and others will recommend your plugin to anyone looking for such a thing.
Charles.