• Resolved lancerlan

    (@lancerlan)


    The plugin works fine with any other payment method (credit card, apple pay etc), but when it comes to WeChat Pay, the payment is not captured by Stripe.

    When I tried to pay with WeChat Pay, on my WeChat it showed “Payment successful” and the money got deducted successfully. However, on WooCommerce, the status of this order still remained “Pending Payment” till the timeout limit was reached and it became “order canceled”, and then the money was returned to my WeChat. on Stripe, there isn’t any new transaction about this order at all. It seems like the WeChat transaction is not captured by Stripe at all.

    WeChat pay used to work perfectly when I tried 2 months ago. This is a new problem. Please help. Thank you.

    The page I need help with: [log in to see the link]

Viewing 6 replies - 1 through 6 (of 6 total)
  • Plugin Author Payment Plugins

    (@mrclayton)

    Hi @lancerlan

    WeChat pay used to work perfectly when I tried 2 months ago. This is a new problem.?

    That’s a strong indication that something on your site has changed. WeChat replies on the webhook so make sure your webhook is working properly.

    You can verify that by going to the stripe.com > developers > webhooks page and clicking your webhook and reviewing if there are any logged failures. If there are failed webhook notifications, what do the logs say?

    Kind Regards,

    Thread Starter lancerlan

    (@lancerlan)

    Yes there are logged failures. They are all from today and all from WeChat Pay.

    In the Response section of each failure it says “Time out connecting to remote host”

    And here is what it shows in Request section in one of these failures.

    {
      "id": "evt_1MxAVqK7geiL9K9OZetRPXp6",
      "object": "event",
      "api_version": "2020-03-02",
      "created": 1681570538,
      "data": {
        "object": {
          "id": "src_1MxAVUK7geiL9K9OOsXmVjJj",
          "object": "source",
          "amount": 50,
          "client_secret": "src_client_secret_eLMk3tU8QI5eWTrhGq7P41YU",
          "created": 1681570516,
          "currency": "eur",
          "flow": "none",
          "livemode": true,
          "metadata": {
            "order_id": "6827",
            "created": "1681570515"
          },
          "owner": {
            "address": {
              "city": "MILANO",
              "country": "IT",
              "line1": "VIA DOANTELLO 17",
              "line2": "",
              "postal_code": "20131",
              "state": "MI"
            },
            "email": "[email protected]",
            "name": "MENGYING LAN",
            "phone": "3515189805",
            "verified_address": null,
            "verified_email": null,
            "verified_name": null,
            "verified_phone": null
          },
          "statement_descriptor": "Order 6827",
          "status": "chargeable",
          "type": "wechat",
          "usage": "single_use",
          "wechat": {
            "prepay_id": "wx152255169799415c52e8ce271efebf0000",
            "qr_code_url": "weixin://wxpay/bizpayurl?pr=a8cxKcEzz"
          }
        }
      },
      "livemode": true,
      "pending_webhooks": 1,
      "request": {
        "id": null,
        "idempotency_key": null
      },
      "type": "source.chargeable"
    }
    Plugin Author Payment Plugins

    (@mrclayton)

    Hi @lancerlan

    That error is indicating that your server is taking too long to respond to the webhook request. That wouldn’t be a plugin issue.

    if you’re using a hosting company you will want them to look at the logs to determine if the timeout is due to a network performance issue or server memory allocation etc.

    Kind Regards

    Thread Starter lancerlan

    (@lancerlan)

    Hi,

    Thank you for reply. I’m contacting my hosting company, but I have one more question. If this error means my server is taking too long to respond to the webhook request, why it only happens with WeChat Pay? I tried to pay with credit card and Apply Pay and both were captured immediately. Does WeChat Pay work differently from those two in the plugin?

    Thank you.

    Plugin Author Payment Plugins

    (@mrclayton)

    If this error means my server is taking too long to respond to the webhook request, why it only happens with WeChat Pay? I tried to pay with credit card and Apply Pay and both were captured immediately. Does WeChat Pay work differently from those two in the plugin?

    Credit card payments and Apple Pay don’t rely on webhooks because they are synchronous, meaning the payment is accepted or denied immediately. WeChat pay is a delayed payment method, meaning the outcome of the payment takes time.

    Stripe uses the webhook to notify the merchant site when the payment has been processed or cancelled. If your webhook isn’t working correctly, the WooCommerce order status can’t be updated to reflect the status of the payment.

    Kind Regards,

    Thread Starter lancerlan

    (@lancerlan)

    Okay I see. Thank you very much.

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘Doesn’t Capture WeChat Payment Anymore’ is closed to new replies.