Skip to content

Apple/Google pay redirect fail due to malformed JSON response. #481

@2thePixel

Description

@2thePixel

On using the google or apple pay option, the payment goes through successfully, but the page didn't move from the checkout, so the user does not know that the payment had happened or if the order was successful.

I ended up putting in a custom redirect to strip out the Subscribed

VM2041 loader.js:1 Square response received: Subscribed {"result":"success","redirect":"https://mysite.com.au/checkout/order-received/303/?key=wc_order_F7asdfbPsdfgTysJYa03uZDG&utm_nooverride=1","order_id":303}

  • Plugin version: WooCommerce Square 5.3.2
  • The bug: square_digital_wallet_process_checkout AJAX response is prefixed with "Subscribed " string, breaking JSON parsing and preventing redirect after successful digital wallet payment
  • Effect: After successful Google Pay / Apple Pay payment, page stays on checkout instead of redirecting to order-received page
  • Workaround: Intercept the AJAX response in JS, strip the "Subscribed " prefix before parsing JSON, then manually redirect via window.location.href
  • WooCommerce version: 10.6.2
  • WordPress version: 6.9.4

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions