Symptom
POST /v1/executions/collection returns:
PROCESSING and the customer did not complete card authentication.
Cause
International cards often require 3D Secure (3DS). Dollr returnsclient_secret so your frontend can complete authentication with Stripe.js.
Hosted checkout handles 3DS automatically — this article applies to API-embedded card integrations only.
Fix
- Pass
client_secretto Stripe.js on your frontend:
- Poll Dollr execution status with your stored
reference_id:
- Do not call execute again with a new
reference_idwhile status isPROCESSING.
Common failures
| Stripe error | Action |
|---|---|
authentication_required | Customer must complete 3DS — call confirmCardPayment |
card_declined | Ask customer to try another card |
| Missing publishable key | Set NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY from Environments |
