#khris22963

1 messages ยท Page 1 of 1 (latest)

slate sandalBOT
dull ferry
#

I've been told by Stripe Support that it's not possible to set up a subscription using BACS Direct Debit with a future start date and no pro-ration using a stripe.js integration
Kind of surprised by this. What was the reason?

#

I'm using Stripe.Net for the backend code, but the SessionSubscriptionDataOptions object does not seem to have either a BillingCycleAnchor or ProrationBehavior property as specified in the docs.
You're likely using a version before those params were added: https://github.com/stripe/stripe-dotnet/blob/master/CHANGELOG.md

GitHub

Stripe.net is a sync/async .NET 4.6.1+ client, and a portable class library for stripe.com. - stripe-dotnet/CHANGELOG.md at master ยท stripe/stripe-dotnet

neon oasis
#

Not entirely sure. We spoke about this last week... you said to get on to support so that they could give my Stripe acct the ability to get at SetupIntents...

dull ferry
neon oasis
#

So I contacted them, and they said I'd need to use Stripe Checkout

neon oasis
#

One sec let me check which version of stripe.net I've got

#

Oh dear, I seem to have 41.2

#

That was added pretty recently via Nuget

#

I only started on this dev about a month ago

#

My bad... I'll get it updated.

#

However, while I have you...

#

Any chance we could try to get to the bottom of this thing about whether SetupIntents are available?

dull ferry
#

Sure, can you share your acct_xxx ID?

neon oasis
#

Sure, one sec

#

Sorry, where do I find it?

dull ferry
neon oasis
#

Ah sorry...

#

acct_1MFwoGBRcLdcM5pS

#

I'm only using it all in test mode so far, so we haven't been through all the company validation stuff

dull ferry
#

Let's see

neon oasis
#

BTW I've now got the latest v of stripe.net from nuget, those properties have appeared, and I'm now smacking myself round the head for making such a dumb noob mistake.

dull ferry
#

haha all good

#

Btw are you happy using Checkout in this context or would you prefer the Payment Element?

neon oasis
#

Well I'm finding a couple of things that might not be all that customisable with Checkout....

#

although it is easier to code

#

Like for instance, where you get "Subscribe to <product name>"

#

is it possibly to customise the "Subscribe to" text?

#

As this will be a regular donation, so the word "subscribe" is a bit weird in that context

dull ferry
neon oasis
#

I suspected as much

#

In that case stripe.js front end may turn out to be needed

#

as it gives so much more scope for customisation

#

unless theres no alternative to Checkout

#

So I suspect Payment Element is gonna be a better solution if I can get it to work

dull ferry
#

Do you still have your Payment Element integration running?

neon oasis
#

Kinda... I'd need to uncomment a bunch of code

#

So this is my checkout page...

#

which looks like it's right, based on amount and date, but the wording isn't going to go down well with my clients I fear

#

Maybe not a show stopper but ykwim?

#

Just getting the Payment Element stuff going again...

dull ferry
neon oasis
#

Ok, I've got my Element integration back up

#

note card and bacs...

#

only get card in the Payment Element

#

you explained why that was ISTR

#

as I'm using for the client secret, and as you said, my account can't use SetupIntents

dull ferry
#

Can you share the seti_xxx?

neon oasis
#

I can try, one sec.

#

seti_1NOgd5BRcLdcM5pSnZSVUfgl

dull ferry
dull ferry
neon oasis
#

sorry do you mean youve done something with my account, so if I run it again, I'll get bacs as an option?

dull ferry
#

Do those links load?

neon oasis
#

yes - they'rejust docs tho arent they?

dull ferry
#

Yeah but just checking I added your account

#

Ok, try and create the Subscription again and share the seti_xxx

neon oasis
#

ok one sec

dull ferry
neon oasis
#

seti_1NOgh5BRcLdcM5pSvEAt2JKA

#

still no bacs

#

yeah I've got BACS on

#

that and card are the only ones switched on

dull ferry
#

It needs additional configuration now I think

neon oasis
#

as in?

dull ferry
#

Did you visit the settings page?

neon oasis
#

card and BACS both on

#

or do you mean the manual settings page referenced at the bottom of the list of payments?

#

I dont have a working webhook yet

#

the manual settings page says this under BACS:

#

is that required even in test mode?

#

BTW I can get BACS showing on Payment Element no problem for single payments

#

which goes thru to my successURL ok

dull ferry
#

I know, there's no additional configuration required for that

#

I'm flying blind here as I haven't configured my account the same, 2 minutes

neon oasis
#

๐Ÿ™‚ No probs, appreciate your time.

#

Not as blind as me. I have no clue.

dull ferry
#

Typically we're having issues with the Dashboard as I need to access it

neon oasis
#

So I see ๐Ÿ™‚

#

Just looking at that BACS DD mandate page you linked above... it refers to a "custom payment form".... that's not a Payment Element is it?

If it's a custom form that's part of my site (as opposed to being hosted or embedded by Stripe), then I don't think that's going to be an option.

We want to avoid any card or bank details going through our server.

#

Payment element is what I was hoping to use everywhere where payment details of any kind are collected

dull ferry
#

At this point I'd recommend you write in to our team specifically. You can do that via https://support.stripe.com/contact and mark yourself as a developer with an API integration question

#

Your ticket will come directly to our team and we can work to unblock BACS for you

neon oasis
#

Ok, thanks. However... I'm building this integration so that it can be fitted to many of the sites we host for our clients.

#

They're the ones who will eventually receive the actual donations, not us...

#

so they'll need their own stripe accounts?

#

I'll need a fairly smooth process for onboarding each one

#

Is the unblocking you refer to just so that I can work with BACS in test mode, or is it something that will need to be done for each of my client organisations?

#

(of which there are upwards of 50)

dull ferry
#

Well, you're referencing a Connect integration now which complicates matters

#

I'd recommend writing in with all this context and we can go from there

neon oasis
#

Ok. Connect is where we receive money and it auto-routes to another organisation?

#

I was very much hoping to avoid that sort of complexity

#

Also, am I right that if I use Checkout, I can avoid all these unblocking issues?

dawn holly
#

Hi ๐Ÿ‘‹ jumping in as my teamamte needed to step away.

Yes, Connect is a Stripe product where you have a Platform Account that has multiple Connected Accounts. Funds from payments can be split between the Platform and Connected Accounts. It's typically used for marketplaces or other scenarios when there are multiple parties involved in processing a transaction.

#

There is quite a bit of context here, can you help me understand what you mean you say "unblocking issues"?

neon oasis
#

I can try, although I have been round this loop many times with various of your colleagues over the last week or two.

#

we host websites for not-for-profit clients

#

about 50 of them

#

mostly they are educational institutions, and they seek philanthropic donations, mostly from alumni

#

the purpose of the Stripe integration is to allow them to collect these donations online, through the platform we host

#

one of the modes of donation is BACS direct debit, where the end donor specifies a monthly amount they want to donate, and a start date for the new schedule

#

as I understand it, in Stripe terms this means a Subscription

#

and I've been trying to build an integration using Stripe.JS

#

the only hitch I seem to have run into is this particular regular gift, with the future start date

#

Everything I've done so far has been in test mode, and I have card payments and BACS direct debit switched on in my account

#

however, I'm not getting the BACS option in the payment element when it appears on the page

#

I've been told various reasons for this, including that there is some configuration needed on my Stripe account to allow it,

#

and also from Stripe support, that Stripe.JS doesn't support this payment method, and Stripe checkout is needed instead

#

the drawback with stripe checkout I'm finding is that customisation of the text on the checkout page is somewhat limited

#

so ideally it would be a Stripe.JS integration to give me the flexibility

#

now I've been working on the assumption that each of my clients (say a school) will need their own Stripe account

#

so my intention has been to test it all using my Stripe account, and then roll it out progressively to my clients, each of which has its own website with my company

#

...

#

My issue at the moment is that I can't get BACS to appear in a Payment Element, and your colleague was saying that something needs to be done to my account to allow this.

#

It affects only Subscriptions, not single payments which I seem to have working in test mode

#

Does that help at all?

dawn holly
#

Sorry, didn't realize the question was that complex, it's going to take me a bit to digest this.

neon oasis
#

I have no requirement to split funds between my account and my clients' accounts

#

we charge our clients for the hosting, and the support, but we don't intend to make any money directly from the payments they receive from their donors

#

this is why I've been assuming that Connect is not needed, and that every client would have their own Stripe account

dawn holly
#

Do the donations need to go straight to those clients, or are you able to settle everything into your own bank account and then split it out accordingly?

#

Since there are multiple parties involved here, I'm thinking Connect may be the right approach. How are you currently envisioning providing this service to your users?

neon oasis
#

Each client has its own separate website (hosted by us), and its own separate backend database (also hosted by us. Adding the API keys to each database would allow each client to receive money independently

#

as I say, we're not making anything from transactions

#

and I certainly wouldn't want the money to go into our bank account and then be transferred to the client's

#

presumably such a scheme would involve higher costs ?

#

and it certainly sounds more complicated

dawn holly
#

Just my two cents, but I would not be willing to share the API keys to my Stripe account with anyone else. API keys provide full access to the entire Stripe account and should not be shared externally.

I do believe there are additional costs with Connect (not 100% certain on that though, our team primarily focuses on helping with API questions and aren't too familir with fees or costs)

neon oasis
#

I take the point about the keys, but they would all be strongly encrypted in the respective databases, and we have a specific data-processing agreement with each client which specifies what we do with the data we hold about them.

#

We would not even have access to their Stripe dashboard

dawn holly
#

That's fair, in which case I would recommend you only rely on generally available functionality, as opposed to anything that requires special access or an engagement with our Support team to get enabled. Each of your users would need to go through that same process (that already seems to not be working well for you).

neon oasis
#

Yes, quite, which is why I'm trying to figure out why it's so complicated!

#

If I could get a straight answer to the question of whether BACS payment schedules can be set up using Stripe.JS, or whether Stripe Checkout is required, that would be a great start.

#

What I don't understand is why what I'm trying to achieve isn't quite commonplace

slate sandalBOT
dawn holly
#

I don't think you can, it looks like accepting BACS through the Payment Element requires a Payment Intent.

Double checking, you said you're creating Subscriptions with a future start date, does that means you're creating Subscription Schedule objects?

neon oasis
#

do you mean a SetupIntent?

#

rather than a Payment Intent

#

?

#

accepting BACS for single payments seems to work fine

#

I'm not creating Subscription Schedule objects, I'm trying to use Billing Cycle Anchor and ProrationBehavior = "none"

#

with Subscription objects

#

this seems to work ok using Stripe checkout, but the text customisability is a bit limited, which makes me think that Stripe.JS with Payment Element is going to be a better solution, albeit a bit more code

dawn holly
#

No, I mean Payment Intent, it doesn't look like you can use the Payment Element with a Setup Intent to collect BACS payment method details for future usage, as there isn't an option to do so mentioned here:
https://stripe.com/docs/payments/bacs-debit/save-bank-details
It looks like Checkout is the only approach for that.

neon oasis
#

are there any plans to make the text more customisable?

#

for instance, I've got it all working with Checkout...

#

But where it says "subscribe to", it's not really very appropriate for someone making a donation. They don't think about it as subscribing to a service, rather making a gift

#

so it would be great to be able to customise that text

#

which is apparently not possible currently

dawn holly
#

I'm not sure, but I can file your feedback regarding your desire to have more ability to customize what is shown there. Just to make sure I'm following, you are planning to allow these Subscriptions to remain in place and these will be recurring donations?

neon oasis
#

correct

#

some will have end dates, and some won't

#

I haven't written the schedule ending logic yet

#

presumably subscriptions can have end dates?

#

which would show on the checkout page if set?

dawn holly
#

Okay, so still a subscription. For the feedback I'm filing, what you would like to be able to display there instead?

dawn holly
neon oasis
#

how do they get cancelled then?

#

presumably they can be cancelled programmatically?

dawn holly
#

Whoops, I'm wrong about that, they do have a cancel_at parameter.

neon oasis
#

Phew!!!!

neon oasis
#

That's a relief ๐Ÿ™‚

#

I would have been amazed ๐Ÿ™‚

#

to answer the question about customisation of the text,

#

I'd like to be able to change "subscribe to" to whatever I specify

dawn holly
#

But you can't set that parameter when creating the Checkout Session, so there isn't a way for it to be pulled into the Checkout UI.

neon oasis
#

for instance so that it says "This will be a <product name>"

#

Yes, I did notice that

dawn holly
#

Cool, I'll get that filed

neon oasis
#

other things can be customised but not that text it seems

#

If the " subscribe to" was a parameter, I could pass anything I wanted in their

#

*there

#

also, I'd rather be able to suppress the "ยฃ0.00 due today"

#

so that it said something like

You'll pay ยฃ15.00 per month starting on .....

#

Rather than "Then",

#

which is contingent on the due today line

#

It's already getting the product name as a parameter

#

...

#

Going back to the Payment Intent stuff

#

are you able to explain why BACS is not available for future payments?

#

I attempted to do all this with a payment element, setting the subscription up ahead of time, and passing

subscription.PendingSetupIntent.ClientSecret

to the payment element

#

But even though I specified both payment methods:

#

Only Card appeared in the payment element

#

I really don't understand why BACS would be available with Checkout but not Payment Element

#

(the subscription.PendingSetupIntent.ClientSecret code was at the recommendation of one of your colleagues)

dawn holly
#

Okay, I've gotten that feedback filed, now to catch up on messages.

#

No, I don't know why it's available in Checkout Sessions but not the Payment Element.

neon oasis
#

ok, well it looks like Checkout is the way to go

#

as in, there's no other option

#

But at least one of your colleagues (ynnoj I think) was suggesting that it was possible, but that some kind of setting needed to be enabled in my account. That was the reference to "unblocking" that we came in with

dawn holly
neon oasis
#

Well, if the total fees are going to be higher with Connect, then Stripe is going to start to be of less interest to my clients.

#

As I say, I'm not trying to monetise my clients, rather give them a great, good value service

dawn holly
#

Definitely understand (and honestly, thank you, I wish more people would build that way)

neon oasis
#

if all they have to do is sign up with a Stripe account, and paste an API key into our UI, once they've gone through the organisation validation steps, it all seems quite simple.

#

Don't get me wrong, I'd love to make money, but I have to remain competitive?

#

!

#

and anything that jacks up the transaction fees will hurt that process

#

ok well I think the way forward is clear for the time being.it's disappointing not to be able to take advantage of the greater customisability of the Payment Element approach, but there it is

#

thanks for your time

dawn holly
#

Happy to help! I'm sorry we don't currently have what you're looking for (I'll make sure to file feedback for that in addition to the Checkout customization feedback filed previously), but am glad we were able to identify a path forward.

neon oasis
#

Thanks! I expect I'll be back to annoy you all with more questions soon

#

!!

dawn holly
#

๐Ÿ˜„ hehe, you know where to find us! Hope you have a great weekend if we don't speak again before then.