• Resolved Sean

    (@sean-h)


    On my live WooCommerce store selling data only eSIMs, a customer paid with Bancontact (via the ING banking app). Stripe captured the payment successfully, the money arrived and showed on the card statement with no hold.

    However, WooCommerce never marked the order as paid. The order stayed on Pending payment until I manually changed it to Completed.

    After payment, Stripe tried to notify my site (webhook) and/or redirect the customer back. Both failed with a 500 internal server error.

    The error was a PHP fatal in the WooCommerce Stripe plugin:

    WC_Payment_Token_SEPA::set_fingerprint(): Argument #1 ($fingerprint) must be of type string, null given

    The stack trace shows this happened while handling a successful Bancontact checkout session, specifically in handle_saving_payment_method when the plugin tried to save the Bancontact payment as a SEPA token.

    Important context

    • Test card payments (<code class=””>4242…) worked fine.
    • My first live payment used Bancontact and failed on this path.
    • A second live Visa payment (with itsme 3DS verification) worked end-to-end — order completed and eSIM provisioning ran automatically.
    • All plugins and WooCommerce were up to date at the time. They still are.

    What should happen:

    After a successful Bancontact payment, the customer should be redirected back to the site, the webhook should return 200, and the order should move to Processing/Completed automatically.

    What actually happened:

    Payment succeeded at Stripe, but the plugin crashed while saving the payment method. The customer was not redirected back, the webhook returned 500 and the order stayed pending.

    • This topic was modified 22 hours, 26 minutes ago by Sean. Reason: Grammar

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

Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Support shahzeen(woo-hc)

    (@shahzeenfarooq)

    Hi @sean-h!

    Thanks for sharing the details of the error and the stack trace.

    I understand your concern this indicates an issue occurring while WooCommerce is trying to save a SEPA payment token during a Bancontact checkout flow, where a required value (fingerprint) is missing in the process.

    To help investigate this properly, I’d like to understand your site properly. Please share with us the necessary information below for us to investigate the issue further:

    • System Status Report which you can find via WooCommerce > Status

    Please use https://pastebin.com/ or https://gist.github.com/ and share a link to that paste in reply here. Once we have more information, we’ll be able to assist you further

    Thread Starter Sean

    (@sean-h)

    I’m not comfortable posting a full System Status Report on a public support thread. The stack trace above should be enough for a Bancontact/SEPA fingerprint bug. While I would like to offer it, I’ve disabled Bancontact; no further action needed on my site at this time. Visa and Mastercard otherwise work fine.

    • This reply was modified 19 hours, 28 minutes ago by Sean.
    • This reply was modified 19 hours, 14 minutes ago by Sean. Reason: Context
    Plugin Support Frank Remmy (woo-hc)

    (@frankremmy)

    Hi @sean-h,

    Totally understood on the system status report. And you’re right, the stack trace is enough here. From what I see, the plugin was attempting to save the Bancontact payment as a SEPA Direct Debit token, and when Stripe’s response returned a null fingerprint for that token, it triggered the fatal error, crashed the webhook handler, and left the order pending.

    This is a bug that was addressed long ago, so saving SEPA tokens for Bancontact (and iDEAL) is now disabled by default, preventing the plugin from hitting this code path entirely. If you re-enable Bancontact on an up-to-date version of the plugin and it keeps happening, it’d be worth looking into.

    We’re sorry this happened on your first live Bancontact transaction. It’s a frustrating way to discover a bug. The payment itself was captured successfully by Stripe, which is at least the most important part. While switching to card payments works for you, we’re more than happy to investigate this.

    I’ll be marking this thread as closed but if you ever change your mind, please share any Stripe-related entry and your system report securely via https://quickforget.com/ and set it to view once or so.

    Take care!

Viewing 3 replies - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.