#canopus1io-bacs-savedpm

1 messages ยท Page 1 of 1 (latest)

tulip kilnBOT
#

Hello! We'll be with you shortly. Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.

sturdy adder
#

Hi ๐Ÿ‘‹

#

So you want to save a BACs debit Payment Method using the Paymetn Element for later use?

next roost
#

yes, correct

sturdy adder
#

Oh...wait. You mean with the Payment Element

next roost
#

yes

sturdy adder
#

Unfortunately it looks like this is currently unsupported with the Payment Element.

next roost
#

ohh, for sure? not just undocumented or for special cases where you have to contact support?

#

this is the error I got while trying to create the SetupIntent server side

#

seems to imply its possible

sturdy adder
#

I recommend reaching out to the email address provided to get a definitive answer

next roost
#

I already emailed them 2 hours ago, waiting on a response, my deadline for evaluation of adding support for bacs_debit is in a couple hours

#

any way you can accelerate a response?

sturdy adder
#

Unfortunately no

next roost
#

๐Ÿ˜ข

sturdy adder
#

All the documentation I am able to find suggests it isn't possible but I agree the wording of the error message implies otherwise

#

The team at that email woud have the definitive answer though

next roost
#

ok, so what are the options then for adding this type of payment method?

sturdy adder
#
  1. Wait for a response
  2. Send another email

or 3. Integrate with Checkout

next roost
#

I will do 1 and 2.
due to my deadline, lets explore 3

#

can I integrate with checkout only to add the payment method without processing a payment?

sturdy adder
tulip kilnBOT
#

canopus1io-bacs-savedpm

next roost
#

what does the customer UX look like when using Payment Element to process a payment?

sturdy adder
#

You can test this out yourself here: https://docs.stripe.com/payments/payment-element

In the preview screen on the top, change the Customer location to United Kingdom. Then you can select the Bacs Direct Debit payment method and see for youself

next roost
#

wait, I don't see an amount, where do you set that

sturdy adder
#

The Payment Element does not display an amount. It only collects the payment method details

next roost
#

so, then this makes me think it is possible to do what I want, no?

#

add this payment payment method type for later use without processing a payment

sturdy adder
#

Not with the Payment Element.

next roost
#

isn't this the payment element?

sturdy adder
#

Yes that is what it will look like if you use the Payment Element to collect a payment

#

But you cannot create a Setup Intent with the Bacs Debit payment method

next roost
sturdy adder
#

Yes. This particular section is focusing on how you can style the Payment Element using the Appearance API.

But the Payment Element looks the same whether you are collecting a payment or saving a payment method

next roost
#

I'm confused, is the Pay button part of the Payment Element or is it part of another Stripe Element?

#

does it automatically show if you create a PaymentIntent?

sturdy adder
#

THe pay button is not part of the element. You need to build it. This section is for the Appearance API and so is showing you how you could match styling with the rest of your payment page

next roost
#

I see, so we implement the button, which will call our backend, and finalize the PaymentIntent server side

sturdy adder
#

Not necessarily. Our canonical integration finalizes client-side.

next roost
#

If I understand this correctly, you have to:

  1. create a customer
  2. create a checkout session (mode: setup, presumably this will create a SetupIntent)
  3. have the user navigate to the resulting url (session.url once the session is created)
  4. user fills out the payment method details / accepts the mandate
  5. clicks submit, which redirects you back to the specificed success/cancel url
  6. once the user reaches the success_url with the checkout_session_id in the url, we can fetch the checkout session which will contain a SetupIntent, and the payment method will be attached to the customer for later use
sturdy adder
#

Correct.

You can also listen for the checkout.session.succeeded, or setup_intent.succeeded webhook events.

next roost
#

also, we can use this payment method for sparatic one time payments and also for ongoing recurring payments by creating PaymentIntent's in the future, yes?

sturdy adder
#

Correct.

next roost
#

I have also been looking at acss_debit which is a Canada specific direct debit payment method, for that we have to specify payment_method_options something like:

payment_method_options = {
    "acss_debit": {
        "currency": "CAD",
        "verification_method": "instant",
        "mandate_options": {
            "payment_schedule": "combined",
            "transaction_type": "personal",
            # free form to explain to the user when they will be charged
            "interval_description": 'when any invoice becomes due',
        },
    },
}
#

is this only required for acss_debit and not bacs_debit or au_becs_debit?

sturdy adder
next roost
#

just checking, but I can pass payment_method_options to stripe.checkout.Session.create(), right?

#

with mode: setup

sturdy adder
next roost
#

also, we are a platform account, so when we call stripe.checkout.Session.create() we would pass stripe_account with our Connected Account's id, correct?

sturdy adder
#

If you are using Direct Charges, yes.

next roost
#

cool, I think that's everything.

thank you so much ๐Ÿ™ , I really appreciate your help answering all my questions and validating my understanding of how all this works.