#drew_wallee
1 messages · Page 1 of 1 (latest)
- You created a Source by providing mandate client-side https://dashboard.stripe.com/test/logs/req_kLgULeimUwnMtA
- You created a PaymentIntent using that Source server-side https://dashboard.stripe.com/test/logs/req_WQUOQyB51SCOmk
- You confirmed the PaymentIntent again client-side https://dashboard.stripe.com/test/logs/req_YrCkhMjDO9yBYr
On step 3, you can try confirming on server-side instead, or even better in step 2, pass in confirm = true to confirm immediately
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
thanks i'll try this
the thing is, as i mentioned previously, we don't have any reference to any of the mandate fields (you can see in the post data) in our code. below is the payload that is not generated in our code:
mandate_data[customer_acceptance][type]: online
mandate_data[customer_acceptance][online][infer_from_client]: true
sorry it's really hard to help you when the conversation is over multiple days and threads like this.
Ultimately, you should not be using the Sources API at all, why are you?
I guess because your account is quite old and you have an older integration that used Sources for SEPA when that was the default integration.
What I think I'd suggest is moving completely to PaymentMethods and PaymentIntents per our current guides, creating Sources on the frontend and then using them with PaymentIntents I suppose has some compatibility problems, you should try to migrate entirely to PaymentMethods.
we don't have any reference to any of the mandate fields (you can see in the post data) in our code. below is the payload that is not generated in our code:
what's the frontend code that corresponds to https://dashboard.stripe.com/test/logs/req_YrCkhMjDO9yBYr for example? Maybe you call some function in our stripe.js library which is what is adding those.
@proper rapids are you there?
ah perfect
thanks
i appreciate you taking the time
by the looks of it we're making this call: Stripe.confirmSepaDebitPayment()
and you're correct in our solution being quite old and needs modernising
I don't quite follow why you even confirm on the frontend in this case
if you're using the legacy approach(create payment method details on frontend and send to the backend for processing), as my colleague mentioned you'd usually use confirm:true on the backend to attempt the payment processing there
you use confirmSepaDebitPayment in the modern flow which is
a) create unconfirmedPaymentIntent
b) pass to frontend
c) confirm that PaymentIntent with an instance of Elements or other payment details, which collects the mandate and processes the payment in one step