Pro Sites Stripe error message: Invalid source object: must be a dictionary or a non-empty string.

A client is getting

Invalid source object: must be a dictionary or a non-empty string. See API Docs at https://stripe.com/docs

The Stripe API log shows the following:

Parsed Request POST Body:

{
  "description": "Webtemple user -   ",
  "email": "office@constantinnautics.ca",
  "card": "",
  "metadata": {
    "user": "**********",
    "blogs": "Main_Site, Client's_Site, "
  }
}

Note: I removed the username and replaced the main site name and client's site name in the above segment, for privacy reasons.

Response body:

{
  "error": {
    "type": "invalid_request_error",
    "message": "Invalid source object: must be a dictionary or a non-empty string. See API docs at https://stripe.com/docs'",
    "param": "card"
  }
}

I am using the Stripe API V 2016-03-07 and it says an update is available. Not sure if that will be compatible with pro-sites.

I am not sure what is causing this but clients seem to be unable to sign up, which for obvious reasons is a huge issue.

Please let me know how we can address this asap.

Thank you,

Adrian

    Ken Kimbrell

    Hello Adrian-

    Have you tried going to your Network Admin dashboard, find Pro Sites > Payment Gateways, then select Stripe for your payment gateway. For the Stripe Mode Make sure it is on No SSL (Testing).
    See image below:

    Then retrieve a TEST CARD NUMBER from stripe.

    Now try to complete a transaction using the dummy card number and entering in any security code. If the transaction goes through, it may be that no card number was entered when your client tried to test the transaction. Another option, is to divert back to the 2017 default wordpress theme and see if there are any theme conflict related issues.

    Let me know how this works for you!

    Take Care,

    Ken - WPMU DEV Support