Hi,
I’m integrating a new form for payments. Everything is going well for me until the form is submitted. Then I get the following error in the console:
Failed to load resource: paymentMethods the server responded with a status of 400 ()
The iframe that gets loaded requires a session key, that is acquired by passing the contact ID to an the API end point in the documenation, which you can then use to load the payment fields.
Yes, that’s right, we’re talking about this package. I get the session_key and insert it into the tag. There is no problem with that, however, an error appears after clicking on the form submit button.
I’ve been rushing through this process and stopped to pay a little more attention to the session key. I realized it’s a base64 encoded string, and when decoded it’s a JSON object.
Here’s an example:
{"contact_id":"123","tenant_id":"app123","environment":"Production","token":"really long string or random chars"}
When you get your session key back, you could decode it and make sure that the contact id and tenant id match your data.
I would open a support ticket here:
Track the date/time/time zone that you run your test and get the failure.
I would also capture the session key and send that along w/ the 400 error you’re getting.
I thought you were getting the 400 error trying to create the session key. In your case because the 400 is happening after the payment form is submitted back to Keap they’ll have to resolve the error.
There is another thread that was started to talk about this integration:
I’m going to link back to this thread from there as well to inform anyone in that thread about this issue.