#maxim-k_api
1 messages ยท Page 1 of 1 (latest)
๐ Welcome to your new thread!
โฒ๏ธ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.
โฑ๏ธ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.
๐ This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1326639839600447518
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
Hi there! Could you elaborate on what exactly you are looking for help with here?
What about migrating from ACH Credit Transfers are you having trouble with?
Hi. I'm trying to figure out what actions need to be done in order to migrate ACH credit
So, right now we are a using stripe.Charge.create() with a payment methods ids like "ba_" and "src_" (the old ones)
Can we use PaymentIntent now with the same payment methods?
just pass "ba_" in PaymentIntent the same way as "pm_"
ACH Credit Transfer sources (src_123) are not backward-compatible with the PaymentIntents API, but the ACH Debit (ba_123) bank accounts are
There is a dedicated team at Stripe helping users with migrating from ACH Credit Transfers, and they will be better equipped to help you we are here.
I would recommend filing a support case at https://support.stripe.com/contact/login to get further help
here is the full list:
src_*
pm_
ba_*
card_*
So, what should we do with old src_? They will be converted somehow?
and "card", what about them>
?
the payment_method parameter on the PaymentIntent supports bank accounts (ba_123) and cards (card_123) but ACH Credit Transfer sources are not supported. As I'd mentioned, there is a migration taking place for ACH Credit Transfers, but I don't know specifics about that, and you should reach out to support to get put in touch with the team responsible for helping users with that migration.
Ok, another question.
We are saving ACH bank using Customer.source() API (how ba_ are getting in our system), should we switch to US Banks or something?
Yes, there is a newer version of ACH, ACH Direct Debit, which gives you the us_bank_account type payment method, and will look like pm_ in the API. The docs here are a starting point: https://docs.stripe.com/payments/ach-direct-debit
Ok, what about API version update, seems we need to do that and i noticed there is no way to update it only on test area
If we will upgrade it to start integratioin, will Charge will still availiable?
or we will lose it on new version?
Hello ๐ , my colleague has to step out but I can help. Catching up and will be with you shortly
Thank you!
So, i have a question now on how to safely updating the code to handle "ba_" and "card_" "src_" thru payment intent. Seems we need to update API version for that
How safely check new API version on test area to make sure nothing broken?
How i can see actual API version?
Request ID
HTTP status code
200
Time
Jan 8, 2025, 3:02:19 PM
IP address
18.207.65.188
API version
2023-10-16
Idempotency key
production-invoice-event-1261
User agent
Stripe/v1 PythonBindings/7.8.2
API key
This is latest request from workbench, seems we don't need to upgrade?
You should be able to access them in your current API version. We consider additive changes like making new objects available to not be a breaking change so they are also available in API versions from before when they were introduced.
That said, you actually can test the API version upgrade in just your code before upgrading to the newer version. We have a header named Stripe-Version that lets you specify version on a per call basis. In python you can override this yourself, or our newer python libraries have the version pinned to newer ones unless you override https://docs.stripe.com/api/versioning
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
2023 is enough to use US Banks and PaymentIntent with ba, card?
Yes, and you can use all of those in our older versions as well
if i will keep stripe.api_version setting forced to latest one, does it mean we upgraded?
or i need to take any actions from dashboard?
At that point it would probably also make sense to do the upgrade in your dashboard so that your default version is that latest version as well
ok, so first step test everything using the stripe.version setting and then upgrade from dash
what about webhooks? This is the only part is missing
Can you tell me more about how you use webhooks now? Our PaymentIntents do generate Charge objects, so there may not be much change depending on what you listen to now. Also we similarly have a way to pin a webhook endpoint to a specific API version if that helps test things ahead of your version upgrade. https://docs.stripe.com/api/webhook_endpoints/create#create_webhook_endpoint-api_version
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Nevermind i figured out webhooks..
Have another question
We are using payment element to gather the cards and separate custom form to gather ACH bank account with ongoing Customer.source() save.
Now, as i understand we can use payment element to gather US bank account too?
Also, seems we can save US bank account and retrieve id using server side payment intent?
I don't see anyhting in docs about that
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Just Banks with old source
Yes, the payment element can take ACH DD payments and bank transfer payments (which are the newest equivalent to CT that I know of, but again the support team will know more) https://docs.stripe.com/payments/bank-transfers
If you use automatic payment methods, you should just have to turn them on in the dashboard. Otherwise you can add us_bank_account and/or customer_balance to your payment_method_types array that you specify when creating your intents
We have a custom form, with account_id, routing number, name etc, then we use stripe.Customer.create_source(
customer_id,
source={
"object": "bank_account",
"country": --,
"currency": --,
"account_holder_name": --
"account_holder_type": --
"routing_number": --,
"account_number": --,
},
),
On the server side
speaking about PaymentIntent move, what is the example how to use PaymentIntent in this case?
We have a couple flows that you may be interested in here. Basically you would create the customer, create an intent linked to it, and then confirm that intent either on the client side with the payment element or on the server with an object that the element creates called a ConfirmationToken
https://docs.stripe.com/payments/accept-a-payment
https://docs.stripe.com/payments/accept-a-payment-deferred
https://docs.stripe.com/payments/finalize-payments-on-the-server
Got it, thank you!
Last question
Is offline charging of old "src_", "ba_", "card_" payment sources. We can switch and PaymentIntent against them instead of Charge?
Yep, the PaymentMethods API is backwards compatible, so you can provide those IDs anywhere that our API is expecting a pm_ ID
so i can pass "ba", "card", "src" there?
ba and card yes for sure. src depends on what type of source object it is. If it is a type that is also supported by the payment methods API then yes, for ACH Credit Transfers, I think the answer is specifically no
Ok and what is the protocol with previously collected src as ACH Credit?
Not sure, that is what the special team my colleague and I mentioned can help you with. If you reach out to our support team, they should be able to connect you to them https://support.stripe.com/?contact=true
ok!