-
Notifications
You must be signed in to change notification settings - Fork 48
Open
Description
Description
Currently when Stripe responds to a payment intent with status: "requires_action"
the transaction is marked as "failed" in the Craft Commerce UI.
Instead of failing the transaction, Craft Commerce should mark the transaction as "pending" or some other equivalent state.
Further, Stripe includes the "action" that must be taken in the next_action
key. It would be ideal if Craft Commerce could parse the next_action
and take action based on the body.
One such example is an ACH payment that requires micro deposit verification. In that case the next_action
looks like this,
"next_action": {
"type": "verify_with_microdeposits",
"verify_with_microdeposits": {
"arrival_date": 1748847600,
"hosted_verification_url": "https://payments.stripe.com/microdeposit/pacs_live_...",
"microdeposit_type": "descriptor_code"
}
},
Ideally Craft Commerce would send an email to the customer with the hosted_verification_url
for them to complete the transaction.
/cc @smalomo
Steps to reproduce
- Make a purchase with ACH for > $1,000 (seems to reliably require micro deposit verification)
- Wait for Stripe to respond to the web hook with a
status: "requires_action"
payload - Note that Craft Commerce does not handle the
requires_action
payload at all
Additional info
- Craft CMS version: 4.8.1
- Craft Commerce version: 4.5.2
- Stripe for Craft Commerce version: 4.1.1
- PHP version: 8.1
- Database driver & version: MySQL 8.0.24
- Plugins & versions: n/a
smalomo