#MerriBan
1 messages · Page 1 of 1 (latest)
Hi
For EU, you may need to refer to SEPA Direct Debit I think, check:
https://stripe.com/docs/payments/sepa-debit
some time ago we spoke with a stripe consultant, and he suggested us the bank transfer and particularly not sepa debit because of potential business issues
so i wonder hot to implement it?
I saw that it could be possible with payment intent, but i do not have a clear image of the overall structure of the process(backend and frontend)
Do you know of any docs that we have on that payment method? Not aware of one just called bank transfers for the EU. Will look to see what else we have other than SEPA here
Awesome thank you! Apologies I was unfamiliar with that payment method. Checking in to this now and will get back to you
So yes it looks like it should be possible by setting those same payment intent settings but with the Checkout Session's payment_method_options. As you linked to, it has all the same settings. So it should be allowed as long as you pass payment_method_types: ['customer_balance'] along with those settings
Are you basically having trouble building the API call to create that checkout session?
Yeah, because since in our platform we want to accept only two payment methods at the moment, card and bank transfer.
The card payment process is completed with a checkout session in wich is not required the customerID, while trying with bank_transfer checkout session using the payment_method_types: ['customer_balance'] i get an error, saying that the customerID is needed
Now i want to try first thi method because i need to see the graphical and logical flow, in order to understand what is needed for the user in order to complete the payment with bank transfer
I mean using card payment, the typical credit card form is displayed, but with bank_transfer what is or what should be displayed?
Have you tried setting customer_creation to always? That may get around the need for a premade customer ID https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-customer_creation
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
The customer balance payment method requires you to have a Customer object so you may have to create one first if that setting doesn't work.
I can look for a screenshot of this UI but tweaking that setting and creating your own test mode session will likely be faster
I was thinking about this solution but there is a gap where i miss some part
Can i it create only with simple info without any payment info?
If yes the payment info will be required in the checkout session
Anyway I try it rn, and see how it is
Can i it create only with simple info without any payment info?
Not quite sure I understand those scenarios here. Can you give me an example of what info the customer would give for each?
Using this $session = \Stripe\Checkout\Session::create([
'payment_method_types' => ['customer_balance'],
'customer'=>$customer['id'],
'payment_method_options' => [
'customer_balance' => [
'funding_type' => 'bank_transfer',
'bank_transfer'=> [
'type'=> 'eu_bank_transfer'
]
]
],
i receive the following exception "error": {
"message": "A value is required for payment_method_options[customer_balance][payment_method_options[customer_balance][bank_transfer][eu_bank_transfer]].", ▶
Was there a fuller version of that error that includes a request ID like req_123 at some point?
"request_log_url": "https://dashboard.stripe.com/test/logs/req_x1Jue1wi9Tux8E?t=1678716506",
"type": "invalid_request_error
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
So that error is saying that you also need to include a hash balled eu_bank_transfer inside the bank_transfer hash inside of the payment_method_options one. In the other doc you linked we set that like this, looks like you may just need to set the country
'customer_balance' => [
'funding_type' => 'bank_transfer',
'bank_transfer' => [
'type' => 'eu_bank_transfer',
'eu_bank_transfer' => [
'country' => 'FR'
]
],
],```
so only one choice?
of country
ok, thanks, perfect, now it leads to the important point i was tryng to get
Once this point is reached, what is needed to do for completing the payment?
Use webhook to monitor the status and then update my app or a success_url can be returned automatically?
Yes it is recommended to use webhooks to monitor the payment status here. (Also it looks like we do actually have a version of this doc that uses Checkout)
https://stripe.com/docs/payments/bank-transfers/accept-a-payment?platform=checkout#fulfill-your-orders
In test mode you can use the dashboard, API, or CLI to move the payment along. https://stripe.com/docs/payments/bank-transfers/accept-a-payment?platform=web&country=eu#element-test-your-integration