#MikeDworken-ach-migration-mandates
1 messages ยท Page 1 of 1 (latest)
Hi ๐ if you collected mandate acknowledgment previously, then you can pass that information in while confirming Payment or Setup Intents that use the previously created sources. This section of our ACH migration guide helps explain this further:
https://stripe.com/docs/payments/ach-debit/migrations#mandate-acknowledgement
Hello!
We've already tried that, the problem is we can't even create the PaymentIntent until we already have the mandate in the system
So there's not an object to confirm like https://stripe.com/docs/api/payment_intents/confirm?lang=ruby#confirm_payment_intent-mandate_data-customer_acceptance-type
suggests because it requires a pi_ ID and we don't have one until we've created the PI
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Can you share the ID of a request where you were unable to create a Payment Intent?
cus_M3d0nU3lmzaHAQ in testmode is where I've been attempting to make this work today
https://dashboard.stripe.com/test/payments/pi_2LLW5sPxnTIUcyZy1JK791tG oh, huh, I guess it did create one after all? ...
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
I see some failed requests to create Payment Intents in test mode, and for those I'm seeing that the confirm parameter is being set to true. This will cause the Payment Intent to attempt to automatically confirm the payment immediately, not giving you time to provide the mandate details.
If you want to create and confirm in a single step, then you'll need to pass mandate_data into the request to create the Payment Intent:
https://stripe.com/docs/api/payment_intents/create#create_payment_intent-mandate_data
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
aha! so we'd pass in mandate_data instead of passing in a mandate?
Correct, mandate_data will be used to build a Mandate object.