-
Notifications
You must be signed in to change notification settings - Fork 49
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_actionpayload 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