#dev-help

1 messages · Page 114 of 1

ripe spindle
#

Is that error suitable for a user to see and act on? Is there somewhere I can what it is?

mighty hill
#

@ripe spindle Yeah, you can hit the API with an obviously-invalid account number in test mode and see what you get back.

ripe spindle
#

Ah duh of course let me try that

#

Thanks for the help @fast mantle and @mighty hill. May be back with some more questions soon.

acoustic dew
#

It seems like after voiding an unpaid invoice, the next invoice carries over balance from the unpaid one. Is that what we should expect to see, or am I reading that wrong? (sub_JkxACll2aOctuP example)

#

I think it's the proration adjustment, but not sure why that would carry over from a voided invoice.

mighty hill
#

@acoustic dew Hello! @dim hearth had to step away, but I'd be happy to help! What do you mean by "carries over balance" exactly? Is there a specific Invoice I should be looking at on this Subscription?

acoustic dew
#

I wouldn't expect to see a $99 figure anywhere on that invoice, because the user in question didn't pay the previous invoice, and we voided it when they downgraded to our free pricing.

half wren
#

Hey can somone please help. My account was just frozen for no reason. Over 150 payments and only 1 dispute from someone with buyers guilt. I deliver digital goods ...

#

Please help me, how can i get all the people i have on recurring payment off stripe or how can i get my account unfrozenm thanks

#

just broke 30k MRR and this happens... im distrought!

mighty hill
#

@acoustic dew Taking a look, hang on...

half wren
#

Anyone with any advice , much appreciated

mighty hill
#

@half wren Hello! I wish I could help, but this chat is focused on developers and technical questions. Our support team will be able to assist you better than I can: https://support.stripe.com/contact/email

half wren
#

I emailed tons of times not a single response yet 😦

mighty hill
#

@half wren They should respond shortly. There's nothing we can do to help here I'm afraid.

vestal trench
#

I have a question regarding transfers and different types of balances. Is anyone available to help me out?

mighty hill
#

@vestal trench What's your question?

vestal trench
#

@mighty hill We have available money in one type of balance, but not the type we are trying to transfer from. Is it possible to move the available amount from one balance type to another?

#

or do I actually have to verify balances and transfer from that account

mighty hill
#

@vestal trench The balance type needs to match; I don't believe you can move funds from one balance type to the other.

vestal trench
#

@mighty hill ok so I would have to retrieve the balances, and then pick the type to transfer with based on the response

mighty hill
#

@vestal trench Correct.

vestal trench
#

@mighty hill is it standard practice to retrieve that balance before every transfer?

acoustic dew
mighty hill
#

@vestal trench It depends on your integration, but it's not unusual to do so.

#

@acoustic dew Let me look...

mossy wren
#

I have a question about webhook events. If I want to listen for Connect Accounts changing their externalAccount (card or bank account), would I use the external_account.updated or external_account.created event?

mighty hill
#

@mossy wren The .created event only fires when the account is created, so you want .updated for changes to the account.

mossy wren
#

@mighty hill Great. Since externalAccount could contain either card and bank_account data, what data do you recommend I examine from the payload to know when user has updated?
From what I can see, if externalAccount.object is where I can see if user switches between card or bank_account; if the object is the same, then I would check externalAccount.account for difference in bank_account id, or last4 for difference in card. Does that sound correct?

mighty hill
#

@mossy wren You can look at the object property; it will be either card or bank_account

#

@acoustic dew Just letting you know we're still looking, thanks for being patient! 🙂

acoustic dew
mighty hill
#

@acoustic dew Okay, so our Subscription system assumes that previous Invoices on a Subscription are paid or will be paid, so when you switched them from the paid plan to the free plan the system credited them for the unused time left on the paid plan. That's where the credit came from. To avoid this you would need to disable proration when switching from the paid plan to the free plan.

weak linden
#

Hello! I have a question about Card Readers and Subscriptions--Right now I am creating a payment intent and charging a once-off payment that generates a payment method, then I am adding a Subscription and attaching the payment method to the Subscription with a 30 day trial. Is there a way to rather create the Subscription first and then charge the Subscription the first payment?

mighty hill
#

@weak linden Hello! To clarify, what does "Card Readers" refer to?

weak linden
#

@mighty hill The Veriphone card reader

mighty hill
#

@weak linden The P400 Stripe Terminal reader?

weak linden
#

Correct @mighty hill

vestal trench
#

@mighty hill I had asked some questions before about transferring money out of different balances, and as im looking at some balance responses here I am seeing that instant_available only has money for transferring from the card balance. Is that the only balance usable for an instant transfer?

mighty hill
#

@weak linden Hm, good question. Have you tried passing the client secret from the Subscription's pending_setup_intent to the collectPaymentMethod function in the Terminal SDK?

weak linden
#

Thanks @mighty hill I will give that a try

still sable
#

My stripe i no longer have access to it email been change

#

it got hacked

#

still no reply

mighty hill
#

@still sable Hello! I wish I could help, but this chat is focused on developers and technical questions. Our support team will be able to assist you better than I can: https://support.stripe.com/contact/email

still sable
#

I filled out that online form and still no reply been 3 days

mighty hill
#

@still sable I'm sorry, there's nothing we can do here.

#

@still sable Support should be able to help you once they reply.

still sable
#

How long is max i should get response

mighty hill
#

@still sable I don't know, it depends on several factors.

mighty hill
vestal trench
#

@mighty hill yeah i see the other balances listed in my response, its just they are at 0 in the "instant_available" section, while they have an amount in the "available" section, so I just wanted to double check I don't have to account for that on an instant transfer

mighty hill
#

@still sable Please don't try to DM people here for help, there's nothing we can do. You need to talk to support.

#

@vestal trench What do you mean? Can you tell me more about what you're trying to build?

vestal trench
#

Currently I am using the default transfer source which is "card", but we want to use money from a difference balance, so I need to check balances first to determine which balance to use. If I can send you an event ID you might be able to better understand my question, but while "card" has an amount in both the available and instant available hashes, another one of our balances only has a positive balance available, while it is 0 in instant_available

#

so im wondering if it will error out if I try to do an instant transfer out of a balance other than "Card"

mighty hill
#

@vestal trench You can share an event ID here, they're not sensitive.

vestal trench
#

evt_1J7QiZAw2Z7l0KWZpzhmgTHT

mighty hill
#

@vestal trench It will error out if you try to instantly transfer from any balance where the amount won't cover the transfer. You shouldn't be as concerned with the type and more with the amount of the transfer vs. the amount available.

vestal trench
#

@mighty hill I guess just in my case here, if I try to instant transfer out of "financing" what will happen? Instant vs standard is an option we give our users, so I just need to make sure I am accounting for that in the correct places

mighty hill
acoustic dew
vestal trench
#

@mighty hill sorry yes instant payouts

mighty hill
#

@acoustic dew No, I think voiding them is the right move here, it's just that prorations don't take into account the fact that it was voided.

vestal trench
#

@mighty hill i was confusing myself here then, it wont matter, because i need the balance for. a transfer

#

not a payout

#

for some reason i was thinking the method was on transfer and not payout

mighty hill
weak linden
#

Hi All! Is there an easier way to get the PaymentIntent from a Subscription object. Right now I am creating the Subscription object, then I am retrieving the Invoice (using the Invoice id), then I am retrieving the Payment Intent (using the Payment Intent id). Is there an easier way???

dim hearth
weak linden
#

ok roger that @dim hearth and thanks!

vestal trench
#

Hi there, have a question about the balance object when someone has a few minutes

dim hearth
#

@vestal trench Feel free to ask!

vestal trench
#

@dim hearth I see the available attribute on the balance object is an array of hashes. Im wondering when that array returned has multiple elements. Basically I just want to make sure that grabbing the first element in that array is always the currently available balance

dim hearth
#

Oops - I actually mispoke. It won't be broken down by source types. The break down by source type will be in the same element

vestal trench
#

hm ok is it possible that might be different currencies only? I currently have 3 balances, but still only one hash in available

#

oh

#

cool so its currencies, only dealing with USD for now so the first one should suffice. Thank you

dim hearth
#

yup! sorry about that - was looking at the wrong thing

vestal trench
#

@dim hearth sorry, one more question. To create a transfer from a financing balance, is that what fpx stands for?

dim hearth
vestal trench
#

ok, so can i even create a transfer with a financing balance, I just dont see that specified in the docs

dim hearth
vestal trench
#

I guess let me send an event id, thats just what I saw in this response I got from an event

#

@dim hearth evt_1J7QiZAw2Z7l0KWZpzhmgTHT

#

so my balance is returning 3 source_types one of them being financing

dim hearth
#

@vestal trench Give me a few minutes to do some digging - I don't know very much about this kind of balance (it seems to be related to Stripe Capital)

vestal trench
#

ok thank you, basically I just wanna set that as the source type on a transfer

dim hearth
#

@vestal trench I'd suggest just going ahead and trying it out - I don't have any financial balance on my own testing account right now, otherwise I'd try it out myself

vestal trench
#

ok ill see how it works out, right now on our test account we only have a card balance, and they didnt give me enough permissions to add more hahaha

echo pollen
#

For a Stripe/Plaid integration, are any events triggered/webhooks called when the bank account token is attached to a Customer outside of customer.update ?

#

I would figure something else would fire (like payment_method.attached ) but I can't see anything in the logs or in the documentation

mellow spear
#

@echo pollen Hi! Since you're making an API call to do this synchronously - and therefore you know it's happening - there isn't anything that fires, no.

echo pollen
#

I guess that makes sense

#

I'll just have to get the Bank name/last 4 after updating the customer then. Thanks!

sacred bramble
#

Hi there, couple questions around pre-auth payment intents.

  • Can I simulate a uncaptured pre-auth expiring without waiting 7 days? (If not whats the expected webhook that happens? and would it look different to a manually cancelled pre-auth?)
  • Are there any restrictions around debit cards and pre-auths?
halcyon raptor
#

hello, guys.. why is that I set my unit_amount to 160 currency is AUD, but when I'm on the actual stripe checkout it's only A$1.60?

bleak breach
strange tiger
#

Does anyone have any pointers for passing a custom attribute along when pulling up the Stripe payment page? I'm looking to use Stripe as a gateway for my Discord bot's premium purchase handler and want to be able to store "customers" as the servers they're paying to upgrade, not the people buying the upgrade themselves. I'm not sure what the correct way to do something like this is, any pointers on this would be helpful.

bleak breach
strange tiger
#

The flow I'm envisioning is the user clicks on "upgrade" for a specific discord server from a list on my website. I send them to Stripe's subscription payment page, passing along the ID of the server they're trying to upgrade. If the purchase goes through, would I be able to store and retrieve some custom "ServerID" attribute from Stripe's end when I want to check if a specific server has premium?

bleak breach
strange tiger
#

Whatever this page is

#

I think this is checkout

bleak breach
#

You can then retrieve the metadata after the subscription has been completed to do purchase fulfilment

strange tiger
#

Ah so does this metadata get sent with customer.subscription.created?

bleak breach
strange tiger
#

Ah ok, thanks

sacred bramble
bleak breach
# sacred bramble Thanks Paul. So no way to distinguish a automatic cancel vs manual cancel? (I ca...

I'm just asking around on the distinguishing between automatic vs manual cancel bit. As for your second question, "issuer" refers to the bank itself. "Networks" is the term commonly used for visa and mastercard and the like. If an issuer doesn't allow placing holds on debit cards you'd very likely get a generic "declined" error code. However it's highly specific to issuers so not something that Stripe documents as we have no control over that

sacred bramble
hollow nebula
#

Hello, I have a scenario where I want to give a 30 day free trial for one of my subscriptions. The user does not need to enter any payment information in this period.

If the user chooses to buy the plan, he is shown a new checkout session to enter the payment details. But here, I would like to continue the old subscription without creating a new one.

Is this possible?

bleak breach
# hollow nebula Hello, I have a scenario where I want to give a 30 day free trial for one of my ...

You have a few options here:

  1. Use the Customer Portal to give the user the option to add a payment method to their subscription: https://stripe.com/docs/billing/subscriptions/customer-portal
  2. Use Checkout in setup mode to collect payment details for a customer. After which you'd update the subscription via the API to use the newly created PaymentMethod: https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-mode
#

of the two, option 1 is probably the easiest to set up

hollow nebula
#

@bleak breach Thank you for the answer. I already have the 1st one implemented. Why I would like to change it is that it is breaking the user flow. The user is supposed to be able to add the card details and pay the amount on one screen.

I see that the 2nd one is also for collecting the payment later. Which means user does not see how much he is paying on this screen, right?

vestal trench
#

is there a way we can put money into a "finance" balance in a test environment. We have tried to put more money into our test balance but it just goes to card.

bleak breach
#

The exact flow that you're suggesting isn't available via Checkout or the Customer Portal. I would recommend rethinking your business model though. If you offer a 30 day trial period without first collecting payment details then it's unlikely that you'll see many conversions to paying users. I recommend collecting payment details up front and automatically charging for the first invoice after the trial period has completed

buoyant shadow
#

Is there a way to use the API (not the dashboard) to filter transactions by metadata values? Specifically, I need to take a subset of charges and find the total amount receives for those charges. Are there no filtering parameters available in the API?

bleak breach
buoyant shadow
#

Thanks @bleak breach!

bleak breach
# vestal trench is there a way we can put money into a "finance" balance in a test environment. ...

You're talking about Stripe Capital right? I unfortunately don't know much about that particular product, but if you want to quickly add funds to your test account balance then you can use the 4000000000000077 test card to skip the "pending" state and add it directly to your balance: https://stripe.com/docs/testing#cards-responses

vestal trench
#

@bleak breach I guess thats what im talking about, Im trying to test if I can transfer money from that balance to a connected account, but the docs dont say you can and karbi wasnt sure either

bleak breach
#

@vestal trench Honestly I think your best bet is to reach out to support directly here: https://support.stripe.com/contact

vestal trench
#

cool ill reach out to them

hollow nebula
# bleak breach The exact flow that you're suggesting isn't available via Checkout or the Custom...

@bleak breach Thank you for the suggestion. If we ask them to enter the payment info at the beginning, some of them might not even try to use our product. Plus, it is faster for a new user.

Right now, I am creating a separate subscription which is only for the free trial, and create the checkout session for a new subscription when the user wants to pay. Thanks again for the quick reply 🧑🏻‍💻

bleak breach
hollow nebula
#

Hmmm, never tried Elements. Thanks, I will check it as well 👼

echo pollen
#

Elements looked powerful, but I decided I'd rather trust Stripe for everything and just create checkout sessions now

#

plus, it looks better than anything I'd ever be able to style

bleak breach
#

Checkout/Customer Portal is for when you want Stripe to take the wheel and handle all the UI bits for you. Elements is if you want everything to stay on your domain and match your own UI

gritty spindle
#

Hi there. Is there any chance we can use the real card in the test env while making a payment?

vocal wagon
#

There are a couple caveats to Checkout, however. Saved Payment methods, knowing the address beforehand (for shipping calculations, for example) and the mandation of using customer objects (if you don't pass it one, one will be created). So it's worth weighing out your service's needs. But Checkout is very cool

bleak breach
vocal wagon
#

does anyone here have experience with stripe multiparty payments? i’m still a bit confused on exactly how it works. do sellers need to create a stripe account to claim their earnings? does stripe automatically handle taxes? do you know of any good way to do this all serverside on an api?

bleak breach
# vocal wagon does anyone here have experience with stripe multiparty payments? i’m still a bi...

Hi there and welcome! It depends entirely on the "flavour" of connect you're using. With standard connect your users tend to have their own Stripe accounts which they connect to your platform account. With express and custom you create and manage the Stripe accounts for them. I suggest you have a read through the docs where all this is explained in better ways than I could: https://stripe.com/docs/connect

vocal wagon
bleak breach
vocal wagon
#

Awesome, thank you! :D

mint dove
#

I'm having issues with payment processing - I work for a charity organisation and we use the WordPress plugin 'Give' for our donations, and we have it connected to our Stripe account. It has been working fine for a couple of years but something has happened recently and now payments aren't being processed. The connection with Stripe is working and the Stripe dashboard tells me there's no issues. The new donors are coming through to both Give and Stripe but with no amount attached to them. Any ideas? Happy to provide more info.

bleak breach
mint dove
#

Ok thanks @bleak breach

agile hinge
#

Hello. I have a question on Stripe Card charge. We are using the following code to hold funds on a card

But hold is successful on a expired card also. Is it expected ?

ChargeCreateParams chargeCreateParams = ChargeCreateParams.builder()
.setAmount((long) (amount*100))
.setCurrency("USD")
.setCapture(false) //to hold the funds
.setSource(cardId)
.setCustomer(custId)
.build();

Charge.create(chargeCreateParams);

bleak breach
#

@agile hinge it's ultimately up to the issuing bank whether to accept a authorization on a card, whether it be expired or not. As such it's possible that issuing banks accept charges for expired cards, but it's not something you should rely on

agile hinge
#

Is there a way to fail such transactions using Stripe API ?

bleak breach
#

What do you mean? Are you looking to test a failure with the API?

agile hinge
#

I mean, I want to identify if the card is valid or expired before making the hold

bleak breach
sudden forge
#

Guys can you help me to setup stripe payment with only Javascript

#

I couldn't do it

bleak breach
sudden forge
#

I need javascript because I am working on a complex project so that I need to have javascript

#

Like a code version

bleak breach
sudden forge
#

okay let me see this thank you

#

@bleak breach

#

I am gettting this error

#

The provided success URL domain (example.com) is not enabled in the dashboard.

#

I went to the link it give it to me

#

but could't find what to do

bleak breach
#

@sudden forge That error should also have a link to the dashboard where you can add the URL

#

Scroll down to the "CLIENT-ONLY INTEGRATION" part

sudden forge
#

Yeah I already did it and the place where it says domains I placed my domian in there

#

not the success one tho

bleak breach
#

if you literally set example.com then it won't work unless you happen to own the example.com domain

sudden forge
meager oasis
#

OH

#

this is an issue I had too

#

Is your application potentially passing the URL with a port number appended to it?

meager oasis
gritty spindle
#

I have specified the live key and point to the server from my end. Do you know why I can't make a payment with real card?

meager oasis
sudden forge
#

Nevermind I fixed it and now it is working

#

Thank you 🙂

light hawk
#

I was under the impression that, when updating a schedule, "iterations: 1" would set a phase to end on the next iteration of the billing cycle anchor

mellow spear
#

@light hawk Hi! It would cause one (more) iteration to run - which is what it sounds like it did.

light hawk
#

@mellow spear you're saying "iterations: 1" doesn't do anything to align the end date of a phase with the billing cycle?

mellow spear
light hawk
#

I don't want to adjust the billing cycle

#

I want to update the phases, but keep them aligned to the current billing cycle

#

I swear I was told a while ago that the proper way to do that was to use iterations: 1 everywhere, but maybe I misinterpreted the advice

mellow spear
#

Do you want to adjust them immediately?

light hawk
#

no—when I want to adjust the current phase I just update the subscription directly

#

if that's what you mean 🙂

mellow spear
#

Then I'm not understanding what you're trying to do here.

light hawk
#

In the case of the first request I linked, the billing cycle anchor is on the first of the month (and I'd like to keep it that way). I'm updating the second phase in the schedule (the quantity, IIRC), and I'd like to keep all billing dates aligned to the subscription's anchor (1st of the month). Because I updated the quantity of the subscription directly that day (the 26th), Stripe created a mid-cycle phase that starts on the 26th and ends on the 1st (as expected). When updating the schedule, it is my understanding that I have to pass in all active and future phases. I was also under the impression (that I'm trying to confirm now) that "iterations: 1" means "end this phase on the next iteration of the billing cycle anchor (and "iterations: 2 would mean end on the anchor after next, and so on). And so, I passed "iterations: 1" in with the first active phase, which, because of the previous update directly to the subscription, began on the 26th. Unexpectedly, this seems to have caused the first phase to end on the 26th instead of the 1st. This is more in line with how the docs describe iterations, but I seem to remember being advised to use iterations in exactly this way.

#

So I'm trying to understand whether "iterations" is "smart" by setting the end date of a phase to the next anchor, or "dumb" by just multiplying the billing period by the number of iterations

#

And if it's dumb, what should I have done to properly schedule an update to the subscription for when the current period ends

mellow spear
#

So you're trying to update the quantity without affecting the current period?

light hawk
#

I believe that request is trying to update the quantity of the phase after the current one

#

I'm a bit tired, so apologies if I'm not explaining well

mellow spear
light hawk
#

that's what I want, but the schedule already exists

#

so I'm updating an existing schedule

#

which, IIRC, means I have to pass in the start_date of the existing active phase

#

and I vaguely remember some problem with passing in just the start_date by itself

mellow spear
#

Damn, all these examples are just create. huh

#

Ya, you need to send in the current and all future phases you want to keep.

light hawk
#

so it seems like the way to do it is to pass the start_date and end_date of the existing phases

mellow spear
#

I think the 3rd example there is what you want?

light hawk
#

I swear I was doing this before, and some issue arose from it so I switched to iterations

#

yeah the last example

mellow spear
#

If you're trying to stuff a new phase in between existing ones, I suspect you need to do some date tomfoolery.

light hawk
#

just updating the second (and last phase)

#

thanks

#

appreciate the help!

#

as some api feedback, I suspect iterations would be a lot more useful if it was smart and always ended the phase on the next instance of the billing cycle anchor after the phase's start date

#

the current implementation of creating off-cycle phases that match the length of the price's period must be very niche

sudden forge
#

Guys, So I switched my account into live mode but how do I put it into demo mode

mellow spear
#

@light hawk They're fairly intricate, but that's to handle all the possible cases I think - which are ~immeasurable.

#

@sudden forge You change the mode by changing your API keys.

light hawk
#

@mellow spear but if you did want that niche case, you could just pass in the start and end dates explicitly

#

whereas the current implementation makes them unreliable for the significantly more common case where you want your phases to align with the underlying subscription's billing cycle

gritty spindle
#

Does it request used to create an invoice?
POST /v1/customers/cus_JkeQ9VIIQh4NKA/sources

bleak breach
shut blaze
#

Is there any way to track metadata somehow so that I can know who actually added billing info in the billing portal? (For my case, a Stripe customer corresponds to one team, and any member on the team may enter billing info, but then I want to block the billing portal for everyone except that person)

gritty spindle
bleak breach
gritty spindle
bleak breach
gritty spindle
barren otter
#

Hi folks!
I'm trying to setup AvaTax (sandbox) for the subscription. I asked support to enable pay_immediately flag. How can I confirm that the flag is enabled? (somehow in dashboard/hit api endpoint?)

Right now, trying to create subscription, I'm receiving typescript error (
pay_immediately does not exist in type SubscriptionCreateParams)

e.g. usage

const subscription = await stripe.subscriptions.create({
  customer: CUSTOMER_ID,
  items: [
    {price: PRICE_ID},
  ],
  pay_immediately: false
});
bleak breach
bleak breach
# barren otter Hi folks! I'm trying to setup AvaTax (sandbox) for the subscription. I asked su...

What exactly are you trying to do? pay_immediately isn't a valid parameter. Did you mean charge_automatically instead? https://site-admin.stripe.com/docs/api/subscriptions/create#create_subscription-collection_method

gritty spindle
#

Sorry if I confuse you. So in live, I use real card to pay, then it sent the POST request with /source at the end of request url, but in the test's one, it sent the request with /pay at the url. Why does it happen?

bleak breach
gritty spindle
#

It is our backend. sending the request to Stripe API

mellow spear
#

@Rita If you make that API call and it doesn't error out due to an invalid parameter, it is enabled.

gritty spindle
#

It is the live logs:

bleak breach
#

@gritty spindle Okay, why are you using the Sources API? What exactly are you trying to do?

gritty spindle
#

And it is the test log:

bleak breach
#

@gritty spindle I don't know why your backend is calling two completely separate endpoints, that's probably something you should debug on your end

barren otter
# bleak breach What exactly are you trying to do? `pay_immediately` isn't a valid parameter. Di...

According to the AvaTax for Stripe documentation pay_immediately should be enabled after contact with the support ( it is mentioned here: https://help.avalara.com/FYHP/Avalara_for_Stripe/AvaTax_for_Stripe_Invoicing/Install_and_Configure_Avalara_AvaTax_for_Stripe_Invoicing#Configure_sales_tax_calculation_for_subscriptions)

to make sure that the sales tax is calculated for subscriptions, set the "pay_immediately=false" flag

There's no much documentation, but looks like sth that was working (at least a year ago)
https://dev.to/jonathanges/using-avalara-s-avatax-with-stripe-subscriptions-3k21

mellow spear
#

@barren otter I'm not sure of the status of this, so you should reach out to Support so they can confirm it for you (and confirm if the flag is enabled).

mellow spear
barren otter
#

I emailed support, they claims it is enabled. And now I can confirm that I think

I'm able to curl api without error:

curl https://api.stripe.com/v1/subscriptions \
-u [secret] \
-d customer=cus_Jl60O1JVIDqzz0 \
-d "items[0][price]"=price_1J7ZpqKpJcQYpR3WJdNweNs0 \
-d pay_immediately=false

I see the log on customer (invoice item created description": "Sales Tax calculated by AvaTax") - so there's hope 😉 . I can listen for the event.

but going back to the code - assuming the flag is correctly enabled.
The param is invalid for SubscriptionCreateParams. How can I handle this? Do you have any example to follow?

mellow spear
#

Is this .NET?

barren otter
#

@mellow spear node.js + typescript

mellow spear
#

Oh, @barren otter if it's Typescript you'll just have to add an ignore to it.

ashen heath
#

@bleak breach Consider I am migrating data out of stripe, I read that stripe does not provide a single API to export all data(invoice, subscription, etc), rather I would need to individually invoke each API to get data. What is the best practices I can employ when offloading all my companies data in stripe-

  1. Missing any data
  2. Not breaching rate limits
bleak breach
mellow spear
#

Stripe can't export any of that stuff though, so you're on the right track. You'll need to go through each API's list endpoint.

ashen heath
#

@mellow spear thank you. I wish stripe atleast provided some documentation on how to go about this

mellow spear
#

This is a teeny tiny razor sharp corner case so I'm not sure it makes sense to document it. Also it's mostly just "list all the things" which is documented.

ashen heath
#

@mellow spear you mean companies do not migrate to different payment providers once they utilize Stripe?

halcyon raptor
#

Hello. I have a Gatsby and WordPress as headless CMS setup. Currently, I'm using the hardcoded data in my functions > data > products.json. Is there a way to make this dynamic? Pull the data from WordPress? Thank you!

mellow spear
#

@halcyon raptor Hi! I have no idea. Is this a Stripe question?

ashen heath
#

@mellow spear I am sure that is true. But from a company standpoint, we try to mitigate risk. Anyway, thank you.

halcyon raptor
mellow spear
#

@halcyon raptor It sounds like it might be really specific to maybe some part of a Stripe plugin - is that right?

halcyon raptor
mellow spear
#

You'd have to build some kind of datamodel that represented a product, make an API that returned a list of them in the same JSON format, and then an admin interface to create/update/delete them. ¯_(ツ)_/¯

ashen heath
#

@mellow spear I have seen Stripe customers,

  1. Call Stripe APIs and store responses in local db, and fetch data locally when possible OR
  2. Call Stripe APIs, but not store any data locally
    Do you have any recommendation on above approaches ? Is there a drawback in 2nd approach of more latency? Or simplicity of second approach leads to better integration with stripe.

Also as you said I need to export data manually, storing information in local db helps mitigate the need to manually do migrations later

mellow spear
#

You should store whatever data locally that makes sense to store for your application, that minimizes the number of API calls you need to make as part of your user flow or reporting needs. You can use webhooks (https://stripe.com/docs/webhooks) to keep your local models up to date based on changes in Stripe.

ashen heath
#

@mellow spear That makes sense. Thank you. Maybe documenting this helps newbees ¯_(ツ)_/¯

gritty spindle
# bleak breach <@!856773580695666688> I don't know why your backend is calling two completely s...

Thanks for your help. I figured out why it happens. We have a legacy code use
await global._Stripe.customers.createSource(customerStripeId, { source: source.id });, so the source is added to the customer first.

In the live env, I use the real card and our code calls above function and it stops because of 402 Error Code due to await.

But when I use the failure card in test env, our code passes the function above and then calls the create to create invoice and pay. Do you know why?

vapid crescent
#

I facing some issues on my payment page with Stripe : my website link: quickaro.com

#

kinldy look into this

bleak breach
vapid crescent
bleak breach
vapid crescent
bleak breach
vapid crescent
bleak breach
#

Okay well that's not an error, that's just you alerting a javascript object. If there's an error it would show in the developer console

vapid crescent
#

How to ressolve this?

#

I use my stripe api keys to accept payment from another website but now it is not working on my second website

bleak breach
#

@vapid crescent You'll need to debug this. You should start by figuring out what exactly is going wrong and work backwards from there

quasi flicker
#

hello everyone!
i have this error whereas i have put confirm = true in payment method..
The parameter payment_method_options[card][network] cannot be used when creating a PaymentIntent unless confirm is set to true.
do you know what is happend

#

Request req_bE7V0tny1ahHBF

polar orchid
#

Hello all, I might have a very very basic question for you guys. I have a stripe payment link embedded into my typeform and I want to find out how I can charge VAT for domestic (UK) based customers. Is there no way other than to change it to a billing system (from the payment link I use currently) asking for the customer address so i tcan enter the appropriate tax rate? Is there something I can do with Zapier for this?

violet bane
#

i want to change the card i get payments into. how can i do so ?

copper hull
#

Hi, I am trying to integrate Stripe, and just want to authorize the card with 500 USD but dont want to charge yet

#

I want to charge on some conditions, if customer doesnt fullfil promise we will charge 500 otherwise not

#

anyone did htis with Stripe?

mellow spear
#

@quasi flicker I'm not sure why that's not working. Have you tried removing capture_method and setup_future_usage?

#

@violet bane Hi! I'm not sure what you mean?

copper hull
#

I am confused, I want to get authorization for 500 USD But dont want to charge

mellow spear
#

@copper hull Yes, you need to use the code at the link I just sent you, for auth and capture.

copper hull
#

that amount will take from customer account or not?

mellow spear
#

It will put a hold on their card for that amount.

quasi flicker
#

I have remove all useless thinks

mellow spear
#

@quasi flicker Ok ya, you need to have a payment method for this.

quasi flicker
#

but it miss payment method but i don't know what is it..

mellow spear
#

I suspect you're trying to make this only accept VISA cards, but I don't think you can do it the way you're trying to do it.

#

In that example case, they have the Payment Method ID.

quasi flicker
#

yes i want choose the network for my dual brand card

mellow spear
#

Oh, ok. Then you need to have the Payment Method already created, and use its ID.

quasi flicker
#

okkk because i don't have it.. it's at the moment of the creation of payement intent

mellow spear
#

Then how do you know it's a dual brand card? You'll have to create the Payment Method before you can know that - and before you can do what you're trying to do here.

quasi flicker
#

when there is 2 items in network like "carte_bancaire & visa || carte_bancaire & mastercard )

mellow spear
#

Right, but you can't know that until you have a Payment Method.

#

So you need to use that Payment Method here.

#

After you've created it.

quasi flicker
#

ok i will check how create paiement method and return id into my paiement intert

#

intent

#

thanks a lot @mellow spear

burnt yoke
#

Hi everyone.

I am wondering how to integrate Google Pay in Android app with Stripe. I followed this guide – https://stripe.com/docs/google-pay, but I can't understand how is it possible to react on payment confirmation results with Stripe at the very last step (marked on screenshot). Under the hood this method starts some coroutine, which is not clear how long it could execute and which results it could provide.

As far as I understand, there may be errors in the payment, or it may be required to proceed the 3D Secure authentication, or something else. Where should I add some special handling for such a cases ? Or maybe it is not necessary at all ?

Tried to find some explanations in Stripe docs, but to no avail. Can someone give me advice about it ?

meager hawk
#

@rustic yoke hi there! you get the results/errors in onActivityResult

#

but in terms of .e.g 3D Secure, that function will handle showing it, you get the overall result in onActivityResult

frosty coyote
#

fyi, 429 object lock issue seems to be ok for us today. We had 8 failed transfers this morning, but they were all from yesterday afternoon (uk time). So looks like you did manage to resolve that

meager hawk
#

@frosty coyote yep, there was a response yesterday and a fix deployed

frosty coyote
#

Yeah, just confirming back it seems to have done the trick 👍

crimson needle
#

glad to hear it solved the issue! Thanks for raising it, you flgged it at the same exact time someone else internally pinged @meager hawk to discuss this which allowed us to react quickly

burnt yoke
meager hawk
#

@rustic yoke there is always some result, either success or failure

meager hawk
#
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)

        // Handle the result of stripe.confirmPayment
        stripe.onPaymentResult(requestCode, data, object : ApiResultCallback<PaymentIntentResult> {
            override fun onSuccess(result: PaymentIntentResult) {
                val paymentIntent = result.intent
                val status = paymentIntent.status
                val outcome = result.outcome
                Log.d("onPaymentResult", "got status $status")
                Log.d("onPaymentResult", "got outcome $outcome")
                if (status == StripeIntent.Status.Succeeded) {
                    // "Payment succeeded" 
                } else {
                    // "Payment failed (like a decline)"
                }
            }

            override fun onError(e: Exception) {
              // "Payment failed w/exception"
            }
        })
    }
#

it's vaguely like that, but the docs linked above also cover it

analog marsh
#

Hey guys!
Do you know if it is possible to prefill the address form on checkout? Since the customer already filled something like that on my website, I don't want him to repeat the address on the checkout.

meager hawk
analog marsh
#

I think I'll just take the shipping out, and pass it as an item, I don't see any better way. Plus if a customer already has an address from past orders, makes no sense to fill it again on stripe checkout, so I'll avoid that flow that you suggested.
Any reason why stripe doesn't allow the payload to have the shipping address?

meager hawk
#

I don't speak Spanish I'm afraid, is that section the Shipping address or the Billing address?

analog marsh
#

Shipping

#

It's portuguese actually 😛

#

I'm using a shipping rate, that's why I have that form

#

but I guess I'll just remove it and do what I've said, pass the shipping as an item, unfortunately.

meager hawk
#

I see. We don't support prefilling this right now or loading it from the Customer object in any case. It's definitely a feature request we're tracking though.

drowsy glen
#

Hello again support.

Do you have a list of the different payment workflows Stripe supports?

I was working on a metered subscription model, but my employer would like me to list all "normal" workflows and estimate the implementation time and the business will assess which one they like more.

Thinking there's probably a list somewhere?
Probably something like
1: Subscription
2: Metered Subscription
3: New Invoice + Create new customer
4: New Invoice + Charge existing customer

But put into Stripe terms (because I can google your lingo).

meager hawk
#

@drowsy glen there's not really a list no. It's more like you would think about what flow makes sense for your business needs and then see from Stripe's documentation how to implement it. Everything you mention there is supported(I can give you links if you want).

drowsy glen
#

Yea that's what I imagined as well.

Are there any flows that I have not listed there that would be "normal"?

I've already got links to Subscription and Metered subscriptions. Happy to grab links for the others though :)

meager hawk
#

I'm not sure what you mean by "normal", since it really depends on your business needs

drowsy glen
#

Mmm bit hard to define what I don't know myself.

meager hawk
#

Stripe is just providing the tools/infrastructure, your business should decide what payment flows it needs.

#

yep but it's your business to decide how you charge your customers and when really

drowsy glen
#

Alright well I'll go with the assumption of the 4 workflows then that I have above. I'm sure if theer's anything else it will show up in your docs.

#

taa

meager hawk
vocal wagon
#

Hello everyone, I would like to know who can help me or shed light on my problem.

I have a Stripe account that I use as a payment gateway, now they tell me that I must activate the fraud radar to avoid problems.

I have already acted, but they send me an email where they suggest that I write rules for payments, but I do not understand the documentation or how I should do anything. I am not a developer.

cerulean pineBOT
#

:question: Have a question about your account @vocal wagon?
While we're sorry to disappoint, this Discord is intended for technical questions and developer chat—we're not able to help with account specific questions. For help with your account please reach out to Stripe support directly at https://support.stripe.com/contact

vocal wagon
#

I just want to report that taxes might not work properly. I reported that yesterday for my case specifically (it was tax calculation for Croatia), now it's fixed. I'm testing for other countries like USA and taxes are not being calculated

Yesterday Stripe's feedback: "Looks like a bug in tax calculation at the moment that we're working on a fix for. The origin address in Luxembourg, account not registered in Luxembourg (registered only in Croatia), and we treated the tax location as Luxembourg. No registration there => tax is zero. (again, that's a bug, not expected behavior)"

I'm not sure if that's general bug or it is specific for someone's account

meager hawk
#

@vocal wagon well for the US, part of this might be https://stripe.com/docs/tax/supported-use-cases#physical-goods , as I understand it we don't calculate tax for a physical good because "Stripe Tax will apply the zero rate if the country from which the goods are shipped is different from the country to which the goods are shipped."

#

maybe try with a Price for a Product with a digital Tax Code like software/e-books

#

I'd really suggest raising the feedback with https://support.stripe.com/email though as this is a new and beta feature and it's easier to have a longer dialogue and sync with the product teams when you're in touch with our support team with access to your account than ad-hoc on Discord

vocal wagon
#

Thanks for that

agile hinge
#

Hello, I have a question on Amex Card. Our customers trying to register thier Amex Card but unable to do so. Looks like stripe is not allowing the Amex . We had the same issue with multiple customers

bleak breach
weak linden
#

Hi All! I am using the Veriphone Card Reader for capturing payments and I have a question for handling Subscriptions. When I create the Subscription I can extract the Payment Intent from the Invoice object, however I need to set the 'payment_method_types' to 'card_present' in the Payment Intent--is that possible?

#

PS. This would just need to happen for the first Subscription payment

meager hawk
#

@weak linden it wouldn't work exactly that way as such unfortunately. What you would do basically is process a one-off payment for the amount of the first billing period at the start of the subscription and save the card to a customer during it(https://stripe.com/docs/terminal/payments/saving-cards#saving-payment-intent-card)
When the payment completes you can create a subscription for the customer to charge that card on a recurring basis. You'd want to set trial_end when creating the subscription to the intended first recurring date(or use https://stripe.com/docs/billing/subscriptions/billing-cycle#new-subscriptions with proration disabled) when creating the Sub to avoid double-charging.

weak linden
#

ok roger that @meager hawk and thanks!

meager hawk
#

I do agree it would be better if you could just confirm a Subscription Invoice's first PaymentIntent with a card_present payment

short owl
#

hi, there is still some issues with India taxes.. GST

meager hawk
#

In the long run I think that will be possible but it's not integrated that way right now.

#

@short owl hi there! Can you clarify your exact question or confusion or how I can help you?

weak linden
#

Thanks @meager hawk -- Yes, the problem with having the the first Subscription payment as a once off payment is that it messes with our integrations. We need to build a way to tag the once-off payment as being part of the recurring payment. We will figure out a way!

meager hawk
#

I completely understand, it's not great, since you won't have an Invoice for that first payment. The "process a one-off payment then start a subscription with a trial period" is a bit of an escape-hatch hack but I do agree we should have a tighter integration here between the products ideally :/

short owl
meager hawk
agile hinge
#

Hello Team, I have a question on Stripe card hold . One of our customers, tried using a debit card with low balance. And hold on the card went thru fine without any errors

the code we are using to hold
ChargeCreateParams chargeCreateParams = ChargeCreateParams.builder() .setAmount((long) (amount*100)) .setCurrency("USD") .setCapture(false) //to hold the funds .setSource(cardId) .setCustomer(custId) .build();
Charge.create(chargeCreateParams);

#

but while releasing the holds/funds we are getting insufficient funds error. We want to capture this error while holding the charge .is it possible ?

short owl
meager hawk
#

@agile hinge hmm, interesting. Do you have the ID of the Charge ch_xxx in question where this happened?

short owl
meager hawk
agile hinge
#

@meager hawk there are two charges 1 with hold another one with transfer
charge id: ch_1J6GZWKSH5Oaf4kseHq83MlQ (hold - successfull)
charge id: ch_1J7U3xKSH5Oaf4ksiam20kF8 (Transfer - failed)

meager hawk
#

@agile hinge I'm not sure what you're asking really. That's just a normal decline, it's not an API issue, any card can be declined by the issuing bank at any time for any reason.

#

but while releasing the holds/funds we are getting insufficient funds error
that's not what you're doing

#

you charged the card once with ch_1J6GZWKSH5Oaf4kseHq83MlQ and then you charged it again in ch_1J7U3xKSH5Oaf4ksiam20kF8

#

please test in Test Mode too using your test mode API keys, not live mode.

fallen ether
#

Hi there

#

I'm getting some weird behaviour with the pricing api

agile hinge
#

@meager hawk Here is the usecase

  1. we have an app where customer creates an order. while creating the order, we hold the funds on the customer card
  2. A day after, supplier comes-in and takes the order and completes in a week
  3. Now we reverse initial hold and create a PaymentIntent with destination account
#

so we are not charging twice

fallen ether
#

This is an old plan we created
{ "id": "price_1IkvpQLABPmBqoeeJcf6Cw99", "object": "price", "active": true, "billing_scheme": "per_unit", "created": 1619548812, "currency": "gbp", "livemode": false, "lookup_key": null, "metadata": {}, "nickname": "Genei Basic", "product": "prod_JNhDPO3Ju25CwY", "recurring": { "aggregate_usage": null, "interval": "year", "interval_count": 1, "trial_period_days": null, "usage_type": "licensed" }, "tiers_mode": null, "transform_quantity": null, "type": "recurring", "unit_amount": 4788, "unit_amount_decimal": "4788" }

#

Vs a new one

meager hawk
#

@fallen ether hey! what are you seeing?

fallen ether
#

{ "id": "price_1J7UB3LABPmBqoeeUlsT9d2z", "object": "price", "active": true, "billing_scheme": "per_unit", "created": 1624924065, "currency": "gbp", "livemode": false, "lookup_key": null, "metadata": {}, "nickname": "Price 29/06/21", "product": "prod_JNhDPO3Ju25CwY", "recurring": { "aggregate_usage": null, "interval": "year", "interval_count": 1, "trial_period_days": null, "usage_type": "licensed" }, "tiers_mode": null, "transform_quantity": null, "type": "recurring", "unit_amount": 899, "unit_amount_decimal": "10788" }

#

see unit_amount

#

vs unit_amount_decimal

#

called using the same nodejs stripe client instance

meager hawk
#

@agile hinge well you are charging twice, you're just refunding the first charge. So as I said really, I'm not sure what I can say. It's a decline, any payment can be declined at any time for any reason so this is something you'll have to be able to handle. You can't assume things about how much balance the card might have, that's not really how this works. You are charging the card again for the supplier taking the order, so that's its own individual payment and you'll need to handle the possibility of it declining.

#

@fallen ether thanks, looking..

fallen ether
#

cheers @meager hawk

agile hinge
#

@meager hawk we checked with our customers, he confirmed that he didn't have balance by the time we initiated the first charge (hold) . We see the same behavior with multiple customers

meager hawk
#

@fallen ether how exactly are you getting the JSON for that second example, what code/endpoint do you call? I'm not seeing where 899 could be coming from directly

#

@agile hinge any payment can be declined at any time for any reason. You can't assume things about how much balance the card might have, that's not really how this works.

fallen ether
#

just calling stripe.prices.retrieve(plan.priceId)

#
  //Idempotency keys (https://stripe.com/docs/api/idempotent_requests)
  //are added where appropriate to prevent duplication.
  maxNetworkRetries: 2,
  apiVersion: '2019-12-03'
})```
#

the old plan was created a while ago

#

the new plan was created yesterday

agile hinge
#

@meager hawk let me make my question clear. When I try to hold the funds on a card (capture =false) which doesn't have sufficient funds in it, the Stripe API will throw the exception or not ?

meager hawk
#

@fallen ether hmm, this is very strange. Digging into it

fallen ether
#

let me log them serverside

#

this is in our react app

#

maybe something is mutating the result

meager hawk
#

@agile hinge depends. That's not how it works. We try to charge the card, the bank might decline it. If they do, then yes we'll throw an exception. But the bank might decline it even if the card has the funds, or they allow it when it doesn't, you and Stripe don't have insight into that and it's not an exact science.

#

as the merchant you just need to catch declines when they happen and robustly handle them by asking the customer to try again or try a different card.

fallen ether
#

huh that's actually it lol

#

that does make a lot more sense

meager hawk
#

yeah I was going to say that, I can't see how the JSON we'd return can have anything but 10788 in it so it might a display-side problem

fallen ether
#

yeah i was very surprised ahaha

#

well cheers for leading me in the right direction

vocal wagon
#

Hi, is it possbile to get from the API the fees that stripe will charge for a payment?

#

(i got the webhook, expanded the properties with a following call, but can't find details anywhere)

wheat fossil
#

hey i need help

sick talon
wheat fossil
#

i m creating an app and i have intgrated the stripe in ios and android both . The scenario is like that the person can login from different social logins like facebook and apple but my problem is that its showing different payment methods for same stripe id how it is possible

sick talon
wheat fossil
#

customerid you can say

sick talon
# wheat fossil customerid you can say

ok, and how are you retrieving the payment methods? Do you have the ids of two different requests from your Dashboard logs that aren't getting what you're expecting?

wheat fossil
#

let vc = STPPaymentOptionsViewController(paymentContext: paymentContext)
navigationController?.pushViewController(vc, animated: true)

i m using this to show payment methods by passing paymentcontext
which is Stppayment context by passing customercontext with empheral key

#

this is under ios

worthy tapir
#

Hello,

I would like to know if it is possible to recover the customers of my STRIPE account that have been deleted by an API.

My customers were registered with all their information, is it possible to recover all these customers with all their information that were overwritten?

Thank you 🙂

burnt yoke
# meager hawk ``` override fun onActivityResult(requestCode: Int, resultCode: Int, data: Inten...

@meager hawk a have successfully caught the result in onActivityReulst() after call to stripe.confirmPayment(CheckoutActivity.this, confirmParams), but then call to stripe.isPaymentResult(requestCode, data) returns false, and attempt to get payment result using stripe.getPaymentIntentResult(requestCode, data!!).intent leads to InvalidRequestException. Could you please tell why this is happening ?

sick talon
sick talon
vocal wagon
sick talon
sick talon
worthy tapir
sick talon
burnt yoke
upbeat grove
sick talon
upbeat grove
#

and what is the diff between charges/payments/payouts disabled or enabled in accounts details

sick talon
sick talon
upbeat grove
#

after registering on our website, people will be taken to onboard for marketplace payments. and the users who haven't finished onboarding, I want to offer them a chance again and give them link to onboarding page

vocal wagon
#

Greetings, I have a question about saving cards. How would I get to save a user's card so that we can charge them if they are late with payments or save them for easier use? We are currently using NodeJS and React native for our stack. I am using the prebuilt UI for checkouts, and once the user fills out his form and selects "Save Card for future use" we dont get any info about it on the server

upbeat grove
#

I am using Express

#

since express is for marketplace according to docs

#

so if "charges_enabled" is true this means that they have completed onboarding or it also means they have passed the verification?

burnt yoke
upbeat grove
sick talon
upbeat grove
sick talon
sick talon
# upbeat grove in step 5 https://stripe.com/docs/connect/express-accounts They say, "details_su...

As that same section notes:

This doesn’t mean that all information has been collected or that there are no outstanding requirements on the account. This only means the flow was entered and exited properly.

If you continue reading you'll see:

A user that’s redirected to your return_url might not have completed the onboarding process. Use the /v1/accounts endpoint to retrieve the user’s account and check for charges_enabled.

upbeat grove
#

correct me if I am wrong
details_submitted = All the documents are submitted and no new docs are required at the moment
charges_enabled = onboarding is completed + verified

sick talon
upbeat grove
#

but in this way, I can't differentiate if the fault is at user side or stripe need time to verify
Meaning, why should I force user to onboarding page if they have already submitted the documents and they are under verification process

#

unless verification takes a min and not 48 hours

twin flame
#

Hello there, I have a question regarding invoice item. How do I send the unit_amount of 0.00001 ? Somehow my unit is not matching. Since the quantity will be around 700,000 - 800,000 this amount is also significant in our billing,

wispy star
#

If we have a platform in the US and have international connected accounts, but handle all our payouts in USD, are there any additional fees for that? It's difficult to tell from the docs

#

In that case does it matter whether the connected accounts are in the US or not?

vocal wagon
sick talon
wispy star
#

Okay. So if we're dealing strictly in USD, there's no downside to using standard accounts and direct charges for all our users, whether in the US or international?

sick talon
#

really depends on what you consider downsides, specifically

wispy star
#

Yeah we've been trying to contact support for about 2 weeks and had no luck whatsoever

warm nimbus
#

Hey, how can I make it possible to send the payment id in the email when completing a payment?

meager hawk
#

@warm nimbus hey! it depends a little by what you mean by "payment ID". If you add a description to the PaymentIntent/Charge when creating it though, that will appear on the email receipt the customer gets so you could use that for some unique ID you want them to have : https://stripe.com/docs/receipts#customizing-receipts

#

@vocal wagon this is using React Native right? This is maybe a dumb question, but did you actually enter a full credit card number/expiry/CVC into the CardField when testing this? If not I'd expect to get that error.

upbeat grove
#

how long it takes for Stripe to verify documents and enable charges/payouts?

meager hawk
#

@upbeat grove I don't think I can give a specific timeframe since it depends on many factors, it's as soon as it can be.

warm nimbus
#

T I'm referring to this @meager hawk

upbeat grove
#

I am just wondering if there will be a waiting period. So that I can show my users that you have already submitted your documents and you should simply hold your hourses

vocal wagon
#

@meager hawk I get a positive response once the payment is finished, with things like amount, client secret , payment method Id and so on, but I still don't know how to retrieve/save the card afterwards

meager hawk
#

@warm nimbus I'm not sure what that is exactly or what it's a cropped screenshot from or what you're trying to accomplish. I'd maybe start by reading https://stripe.com/docs/receipts which describes how customers get a receipt email. Your screenshot doesn't seem to directly relate to Stripe though(you can listen to a webook in your code and generate your own entirely custom receipts if you wish with your own custom data and IDs, maybe that's what that is).

warm nimbus
#

@meager hawk So, natively there is no way to send the payment id, I would have to do a webhook and customize the emails...

meager hawk
mossy wren
#

Good morning Stripe. We have a couple people who are connected to Stripe Accounts but could not link up their card or bank account info for payments/payouts. I believe the reason is that they are international and could not change their country in Stripe to anything other than "US". If that is the case, how could we remedy that?
An example account is: https://dashboard.stripe.com/acct_1J6qgdRV36svnh7s/test/dashboard

meager hawk
#

@warm nimbus I wouldn't say that. As I said : it depends a little by what you mean by "payment ID". If you add a description to the PaymentIntent/Charge when creating it though, that will appear on the email receipt the customer gets so you could use that for some unique ID you want them to have : https://stripe.com/docs/receipts#customizing-receipts

#

@mossy wren could you expand on what "could not link up their card or bank account info" means? Do they see an error message of some kind or what are they trying?

vocal wagon
meager hawk
#

@vocal wagon no, you pass it on the server side, when creating the PaymentIntent.

mossy wren
#

@meager hawk I don't have direct communication with the customers at the moment, but I believe they are unable to change their country in stripe.

meager hawk
#

the example you have is an Express account you created and prefilled as US and then the user changed it to the UK during onboarding I believe.

lyric iris
#

Hi. When switching from a connect integration to an express integration, we have some concerns about refunds. There are some automatic refunds on our platform, e.g. if a yoga teacher cancels their class, the students get a refund. If they yoga teacher moves from their connect account to their new express account will their be any issues?

mossy wren
#

@meager hawk Thank you. We've previously selected all the countries on the connect express dashboard you've shared. Prefilling it with US was an oversight on our part but we've already removed that property when we're creating Stripe Accounts. I'll reach out to support and see what they can do for these accounts experiencing issues. TY.

meager hawk
#

@lyric iris I'm not sure what "from a connect integration to an express integration" means(Express is also Connect). It's hard to answer really since I don't know what you mean by automatic refunds, since it's not 'automatic', it's some business logic you've written to call our API so it's really hard for me to have context on it.

Refunds work very differently depending on the charge funds flow you use so https://stripe.com/docs/connect/charges#refund-creation might help! If you have more specific details I can try to help clarify things.

lyric iris
meager hawk
#

@lyric iris it depends if you're going to be using Direct Charges or Destination Charges with the Express accounts.

#

you'd usually use Destination Charges for Express, so the refund flow is completely different than with Direct Charges — the payment objects are created on your platform account and the refund comes from your platform balance and so on. So it's different and I wouldn't expect your existing code/flow to work, at a high level.

lyric iris
#

OK thanks

warm nimbus
#

@meager hawk I logged into my computer and played exactly what I want to do, is it possible to do it natively or do I need webhooks?

meager hawk
#

@warm nimbus I don't follow. It seems like you've successfully gotten what you want?

upbeat grove
#

Currently automated payouts have 7 days delay. If I do manual payouts, Can I use the funds which customers has given or those won't be for 7 days either and I will have to use my own money to payout?

meager hawk
#

@upbeat grove there's no way to pay out in less than the payout schedule no. So it's 7 days for the country your accounts are in, that's the minimum time it will take. If you use manual payouts, you can only pay out available funds (https://stripe.com/docs/api/balance/balance_object#balance_object-available) and funds move from pending to available after the delay, so like 7 days in that case.

upbeat grove
#

aha, so basically it's not the payout delay. but the delay for the funds to be available

#

which is eventually delaying the payout

meager hawk
#

yep

#

manual payouts would be slower too

upbeat grove
#

yup, it doesn't really speed up unless I manually add funds in advance

#

so it depends on the Stripe account of the platform or the business location which is running business on the platform?

meager hawk
#

because you have to wait for the funds to be available, and then create the Payout object and wait for it to transfer/settle to their bank. On automatic payout schedules we actually create and send the Payout a little early so it actually arrives to the bank on the 7th day

#

I believe it depends on the platform's location, if using Destination charges

upbeat grove
#

so if we register our Stripe account in USA then we can do the payout with 2 delays to any country

#

USA to UK in 2 days and UK to USA 7 days

meager hawk
#

hmm. Not sure. That doesn't sound right actually. It's a good question, I don't have a great grasp on this

#

it's easiest to just test it in test mode and look at available_on on the balance transactions

#

sorry, I'm really busy right now or I'd test it directly for you

upbeat grove
#

good idea, will do that 🙂

#

and the rule of delay, effects only connect feature or also Payments/subscription?

meager hawk
#

@upbeat grove it's for all incoming payments really

#

it doesn't really change depending on it being a one-off payment or part of a subscription or Connect set up

mossy wren
#

@meager hawk For the express onboarding process, we are using Stripe API's stripe.accounts.create to generate a connected account for our user. One question we have is how we could let the user select their own country. We've seen examples of other apps using express onboard and it allows users to select their country from a dropdown; however, our customers are not seeing the country-select option during their onboarding process.

shut blaze
meager hawk
#

@mossy wren they should get an option, and can pick from the countries you have on that Dashboard settings page from earlier. That's what I see when I use stripe.accounts.create and pass country:IE for example .

#

@shut blaze ah, sorry it was missed. But hmm, not really. Stripe doesn't do any authentication of the customer. We assume you do that and then you just create the PortalSession for that cus_xxx. If you want a certain member of the team that cus_xxx corresponds to , to not have access, then you need to have that as part of your authentication layer involved in deciding who the Customer is to create the PortalSession for.

summer wyvern
#

@meager hawk @mighty hill

meager hawk
summer wyvern
#

can we save the credit card info , so that next time user doesnt need to key in again? just seamless checout

summer wyvern
meager hawk
#

As far as I know that's not an option, no.

summer wyvern
meager hawk
#

adding text.

summer wyvern
#

got it

#

to do that , we have to use the custom checkout flow method right?

#

not pre-build

meager hawk
#

yes

meager hawk
#

as for saving cards, as far as I know it works

#

it works in my iOS app that uses that same PaymentSheet component

summer wyvern
#

flutter?

summer wyvern
meager hawk
#

I can't really, since I don't know how that Flutter library works if there's documentation for it. But I think it just works out of the box.

#

it just works if you set it up to use those objects, as described there.

summer wyvern
#

ok thanks!

half wren
#

Can somone PLEASE HELP ME ...... I need my customer payment info and data migrated to FreshBooks

#

Stripe says to contact them and they will help with data migration...... nobody has answered for days and its almost time for the recurring payment to hit

dim hearth
mossy wren
#

Hello again. Is there a way I could un-reject a rejected stripe account? I meant to delete it initially but chose the reject on accident.

dim hearth
robust relic
#

How do I get the "Custom unit label" on my product to show up on Stripe Checkout? Right now Checkout shows "Qty". I want it to show "Seats".

dim hearth
#

@robust relic Unfortunately, the only place where Checkout displays customized unit labels is for metered pricing. This would be controlled by setting unit_label on the Product, and would look like this in the Checkout session:

robust relic
dim hearth
robust relic
half wren
dim hearth
half wren
#

yup doing that now thanks boss, so sad to be leaving stripe

#

got banned with 40k in mrr first month of launch 0 disputes....

#

"frozen"

warm nimbus
dim hearth
#

@warm nimbus Hello! @meager hawk isn't on right now, but let me take a look

#

@warm nimbus Are you just asking if it's possible to send your own custom payment success/receipt email without using webhooks?

half wren
#

Anyone know how datamigration works? I see stripe prepares a JSON file

echo pollen
#

Are there any reasons why I couldn't have multiple "locations" at a single physical store front? One of our locations will have two active terminals at all times, but they will basically be assigned to specific employees. If I call the locations "Employee #1" and "Employee #2" vs having both readers in that location and force them to first select their location, then select reader I'm worried it might be more complicated than just having them select which reader they want things going to in one go

dim hearth
echo pollen
#

okay, just easier for me and the end users if the "locations" are basically 1:1 with a single active reader. I'll still present both locations for the people in that storefront, so if they need to send the transaction to the other counter a few feet away they can, but easier to just select once vs selecting "City A" then "Employee #1"

dim hearth
half wren
#

FreshBooks is level 1 compliant i believe

#

does anyone how to import a JSON file

vocal wagon
#

Hi. I have a question about Stripe Taxes. Is it designed to automatically calculate taxes on checkout based on user's address?

flat yoke
#

Hey,

I want to set up a payment link where my customers have 2 options

  1. Pay 1 payments
#
  1. pay 2 payements

is this possible?

dim hearth
dim hearth
flat yoke
#

Okay

#

no problem

#

How would you suggest for best practice execute my plan?

Currently I have a link set up for 1 payment (I can send them that, if they ask for full payments)

How could I create a second link, that only allows me to charge 2 months worth of payments?

dim hearth
lime nova
#

Hello, it does not allow me to log in

vestal trench
#

@dim hearth hi, you gave me some help yesterday regarding payouts and transfers, and helped with some questions around different balances. You didn't know too much about the financing balance and stripe capital, so I thought I would let you know it does seem to work even though the docs do not include that type. We are currently successfully paying from financing balance.

dim hearth
flat yoke
#

Hmm.. Okay not ideal, but nevertheless a solution I can work with

Do you guys have a feedback systems?

Also do you have a product road map I could look at?

junior terrace
#

hello,

i have a new setup in my website, i sell Jewel box by subscription.

Since Two week, my customer pay, i have all card information and everything but no "CUS......" so i can't make a rebill.

Do you have any idea if i can make something for make rebill or the only one solution is to send a mail to my customer ?

Because i have like 200 customer without "CUS" and i don't want loose

Thanks in advance 🙂

dim hearth
junior terrace
#

ps: i have "pm" and "pi" for futur payment

dim hearth
junior terrace
#

Exactly, but I have the future payment data

flat yoke
#

@dim hearth Awesome!

Keep up the good work!

junior terrace
#

very strange, before i have all data and "CUS_XXX" and now only data but no "CUS_XX"

dim hearth
junior terrace
#

@dim hearth yes i have only "pm_XXXXXX" / "pi_XXXX"

dim hearth
junior terrace
#

@dim hearth ok but i have this information
This payment configured pm_XXXXX for future off-session payments
So normaly if i send ocer a pm_XXX object ID it should work no ? 😩

dim hearth
#

@junior terrace Can you send over a pm_xxx object ID? I can double check how you've got it set up

junior terrace
#

yes i send you in 5min (iam on my phone and stripe on my computer)
But i don't find doc about this

dim hearth
#

@junior terrace Which doc are you looking for?

junior terrace
#

for make rebill with pm_XXX

dim hearth
wanton token
#

Good afternoon. How do I set up a recurring payment on woocommerce?

junior terrace
#

@dim hearth yes but this solution ask "CUS_XXX" as weel and i don't have ...

wanton token
#

Estou no Brasil

dim hearth
junior terrace
#

this is bad news but ok id i don't have choice

dim hearth
wanton token
#

Yes, I already installed the plugin and enabled it, I even made a successful payment. But nowhere is how to set up a product for recurring billing.

dim hearth
junior terrace
dim hearth
wanton token
#

Maybe I didn't express myself correctly. If the customer buys this product, will the recurrence be automatically configured on Stripe?

junior terrace
#

but you don't see nothing on stripe in "subscription" but woocommerce make payment every month

#

@dim hearth i see my old partner delete all my customer so is a reason why now i don't have nothing .... i loose all my customer

#

if CUS_XX is delete, I can't get them back?

#

i just saw this ....

dim hearth
junior terrace
#

ok thanks i just saw this i make a chat

#

thanks a lot @dim hearth

neon gust
#

How do I set a specific billing period?

mighty hill
#

@neon gust Hello! Can you provide more detail about what you want to do? Are you asking how to set the billing period on a Price, modify the billing period on an existing Subscription, or something else?

neon gust
#

yeah how do I modify the billing dates, For example, our billing period is every 2 weeks but some of our clients are going to start 5 days before the billing period ends. How do I set it up?

mighty hill
neon gust
#

thanks

wanton token
#

@junior terrace and @dim hearth Thank you very much for the tips, I'll wait for the first processing of any customer who subscribes to this product.

junior terrace
#

@wanton token try with you. Make payment and change date or rebill at today like +15min on woo commerce subscription and you will see if working good or not (sorry for my bad English)

wanton token
quiet vortex
#

Hello,

Sorry to bother you at this late hour (9:30 p.m. in France :)) Just wanted to know how long would it take for the Stripe team to migrate customers from one Stripe account to another?

thank you in advance

mighty hill
#

@quiet vortex And no worries about the time, we're here pretty much 24 hours a day on business days!

quiet vortex
#

Thank you for your quick feedback

mighty hill
#

Happy to help!

safe fiber
#

hi team! perhaps silly question, but is the file link in the test "sigma.scheduled_query_run.created" event valid?

mighty hill
#

@safe fiber What do you mean by "valid"?

safe fiber
#

i'm trying to listen to this webhook and process it, but we don't actually have sigma in our test account

#

we pushed to prod and we are getting bugs where the code can't seem to download the file

#

but since we don't have sigma in our dev account i can't really know what is going on 😅

fast mantle
#

@safe fiber Do you have an event ID we can look at?

mighty hill
#

@safe fiber How are you trying to download the file? What errors are you getting when you try?

safe fiber
#

asking if the test event is something i can actually test against?

mighty hill
#

@safe fiber Oh, no, the test event contains bogus test data.

safe fiber
#

i suspect it is not a real file 😄

#

damn... i guess i can only test in prod then

#

what permissions do i need on a restricted key to download that file

mighty hill
#

@safe fiber I don't think it's possible to download that file with a restricted key. The docs state your live secret key is required.

safe fiber
#

i don't have much insight into why it is failing to download into prod, i'll probably add more logging to see

#

oh

#

damn...

#

that could be it then

mighty hill
safe fiber
#

yeah, when using the rk locally i'm getting a 403, i would have expected a 404 if i had access but the file didn't exist...

#

let me try with the live secret key and see if i can get past this 403

#

yeah, that doc is the thing that inspired me to try this 😄

mighty hill
#

@safe fiber 403 is forbidden, meaning you don't have access, yeah.

safe fiber
#

yeah, i'm gonna try with the unrestricted key

mighty hill
#

@safe fiber I'm not seeing any permissions on a restricted key that would grant it access... maybe "Report Runs and Report Types", but I doubt it.

#

@safe fiber Or, actually, maybe that + "Files"

frozen stream
#

How do you get a hold of straight when somebody place an online order my printer won’t print

safe fiber
#

oh i will try that, yes the unrestricted key is giving me a 404 so i think i'm getting closer

#

thanks rubeus, i will try that

frozen stream
#

Strip not straight

mighty hill
#

@frozen stream You mean Stripe? What do you need exactly?

frozen stream
#

Yes stripe

#

When someone use my online ordering through straight their order does not print out on my printer

#

Stripe

mighty hill
#

@frozen stream Stripe doesn't typically handle printing to your printer... are you using a plugin or third-party integration with Stripe that handles printing orders?

frozen stream
#

I have stripe online ordering, I figured the printer is connected to their online ordering system

#

This was all set up by the guy that sold me all these packages and now he’s fled and I can’t find him anywhere

#

I think I’ve been scammed

#

Is there a phone number to stripe

mighty hill
frozen stream
#

I’ve noticed all these businesses that want your business there’s no phone number to actually talk to people in person which is something I need

mighty hill
#

@frozen stream It sounds like you need to talk to the people who made the online ordering system you're using though.

frozen stream
#

👍👍👍

half wren
mighty hill
half wren
#

thyere so slow its concerning

#

1 email reply in 48 hours

#

i have bills to pay and payments that needed to be collected....

mighty hill
#

@half wren Sorry about that. Our support team tries to reply as quickly as possible.

buoyant shadow
#

Do you have Xamarin SDK that runs on Android and IOS platforms. I'd like to integrate this to my custom aplication.

mighty hill
#

@buoyant shadow Hello! We don't have an official Xamarin SDK, but I believe there are third-party options you can use.

slow tartan
#

Hello,
I cannot really find it but does Stripe support mobile payments with the sdk?
We are developing a platform for the African market but can't find of we can let users pay with mobile money if we use Stripe.
Also we use Flutter for developing

mighty hill
#

@slow tartan Hello! Can you provide more details about specifically what support you're asking about? What does "mobile money" mean?

#

@slow tartan Also note that Stripe doesn't have an official first-party Flutter SDK, but third-party options exist.

slow tartan
#

Mobile money is the most used way of payment form in Africa?

warm nimbus
mighty hill
#

@slow tartan I don't think "mobile money" is listed there.

slow tartan
fast mantle
#

@slow tartan Have you looked at PayStack? They were recently acquired by Stripe and have much better support for local African funds flows

slow tartan
#

Mobile money is the number 1 payment form of payments in Africa

slow tartan
mighty hill
#

@warm nimbus Hello! @dim hearth isn't around right now, but I'd be happy to help! I don't believe what you're describing is possible without webhooks, no.

warm nimbus
mighty hill
#

@warm nimbus You can do that by using your own custom receipts powered by webhooks, but I don't believe that's possible with Stripe's receipts. Let me confirm though...

#

@warm nimbus Yeah, Stripe's receipts don't include that ID. Can you tell me more about why you want to include that ID? Maybe I can recommend another approach.

echo pollen
#

Using a Checkout Session in "setup" Mode to save a credit card that will be used for future off-session payments, is it possible to make the card that is entered/attached to a customer their "Default" source with some parameter/switch? Or do I need to do that after the card has been attached successfully?

mighty hill
#

@echo pollen There's no default_source anymore with Payment Methods. The closest analog is invoice_settings.default_payment_method, but that only applies to Invoices/Subscriptions. Is that what you want to set?

echo pollen
#

No, I'm not generating Invoices or using Subscriptions

#

I'm just looking at my dashboard and see a "default" tag next to some payment methods, and when that is set, they show up in my customer list

warm nimbus
# mighty hill <@!281134724850647041> Yeah, Stripe's receipts don't include that ID. Can you t...
I'll tell you about my application, then you can tell me what is the best thing to do.

1. My application requires people to activate the product themselves whenever they want. (Verifying payment, so I need buyers to have access to it).

2. After the buyer pays for the product, he receives the payment id, where he can type a command in my application like: "/activate <pi_abc123>".

What this command does: Afterwards a REST is done to check whether the payment is really complete or not. 
mighty hill
#

@echo pollen If you set them as invoice_settings.default_payment_method they should show up in the Dashboard as the default.

warm nimbus
#

right

mighty hill
#

@warm nimbus Actually, one other question: are you using Customers in Stripe?

warm nimbus
#

what do you mean using Customers?

mighty hill
warm nimbus
#

No

#

Payment Intent

mighty hill
#

@warm nimbus Oh, okay, that makes it a bit harder then, but still possible. You would need to list recent Charges, check to see if any of them have the receipt number you're looking for, if not check the next most recent Charges, and repeat until you either find the Charge or hit some threshold/timeout: https://stripe.com/docs/api/charges/list

warm nimbus
#

wow

mighty hill
#

@warm nimbus Alternatively you can store receipt numbers and Charge data in your own database as they happen and look them up there.

#

@warm nimbus That second option is probably best.

#

@warm nimbus If you were using Customers you could list the Charges belonging only to a specific Customer, which would make the first option more viable.

warm nimbus
#

t would be interesting to have a REST where we put the receipt number as a parameter and find the payment id

mighty hill
#

@warm nimbus Specifically I would recommend setting up a webhook endpoint that listens for charge.succeeded events and writes the associated receipt number to your own database.

#

@warm nimbus Then, when someone tries to /activate, have them supply their receipt number so you can look it up.

#

@warm nimbus You should probably also have them supply the email address it was sent to and check for the combination, and mark them as used up once activation is successful.

#

@warm nimbus Receipt numbers can probably be ~easily guessed, so using them alone would be dangerous.

warm nimbus
#

is there any button on the control panel that creates "Charges" ?

mighty hill
#

@warm nimbus Payment Intents create Charges.

warm nimbus
#

hmm

half wren
#

how to get clients card details?

warm nimbus
mighty hill
#

@half wren Can you be more specific?

#

@warm nimbus What do you mean?

half wren
#

i need my clients payment information so i can add it to a new processor

#

is the only way to ask for data migartion?

#

I dont mind having data migrated and encrypted but its taking too long and i have people i need to charge for the month

mighty hill
#

@half wren Oh, yeah, a migration is the only way to do that.

crystal fox
#

Howdy! Right now I have a single price point billed yearly, but I'd like to add a monthly option at a different price too. I think I understand how to handle all of that, but I don't want to send a renewal reminder email for the monthly option but I do want to send one for the yearly. Does Stripe support that scenario? Thanks!

warm nimbus
mighty hill
#

@crystal fox Hello! How far in advance of the renewal do you want to send the emails?

#

@warm nimbus You mean search manually in the Dashboard?

crystal fox
#

@mighty hill Whatever Stripe supports out of the box. Right now I send my own renewal notice emails and I want to get out of that business. 😄

warm nimbus
mighty hill
#

@crystal fox You can configure events for upcoming invoices to fire 45 days before a Subscription renews and then turn on upcoming renewal emails. For Subscriptions with a period shorter than 45 days (i.e., your monthly Subscriptions) no upcoming event would fire and no email would be sent.

half wren
#

@mighty hill I just ask autorize.net to request for the migration

#

they say they do it every wednedsay and friday

mighty hill
#

@warm nimbus That may not be practical if there's a delay between when the payment is made and when they activate and you have a lot of Charges since you would need to list every single one.

half wren
#

do i need to do anything or will stripe deal with authroize.net directly no?

mighty hill
#

@half wren I'm not sure how migrations work at that level, sorry.

crystal fox
#

@mighty hill Ah OK, so if I want to send my yearly renewal 15 days out, I couldn't do that and not send a monthly one, is that correct?

mighty hill
#

@crystal fox Correct, setting it to 15 days would mean any Subscription with a period that long would get reminders, which means both monthly and yearly.

crystal fox
#

@mighty hill So 32 is the lowest then?

mighty hill
#

@crystal fox No, 45 would be the lowest. You can't configure 32, it's not an option.

crystal fox
#

Oh, OK. Haha. Thanks for the help!

mighty hill
#

Wow that's big!

crystal fox
#

Feature request: enable disable them at the Product / Price point level. 😄

warm nimbus
mighty hill
warm nimbus
#

configure it through the control panel, something like that?

mighty hill
#

@sacred latch You can configure a webhook endpoint in the Dashboard, but it needs to point to a URL that runs code that knows how to handle the events being sent to it.

warm nimbus
#

yeah, i found

#

thanks

#

the webhook when it sends something to my url, does it send the secret? because then I can check the veracity, and not that a person accessed the page and placed that...

mighty hill
warm nimbus
#

hmm

half wren
#

stripe, although you guys are kicking me out. this discord is pretty friendly and im going to find myself chatting amongst you guys quite often during my work day.

#

I sadly have to move all my data to authroize.net as stripe booted for 0 chargebacks and 40K MRR in 30 days

#

I love u all, thanks to the dev team for making this chat a warm place called home

mighty hill
#

@half wren Good luck with your migration!

half wren
#

thanks if theres anyway you can let the support or data migration team know that i need them to answer authorize.net

#

they are waiting on stripe for the file

mighty hill
#

@half wren There's no way for me to verify your identity here, so I can't really tell them much as I don't know you're associated with any particular migration.

potent plaza
#

Hi! I hope all is well.

Quick question; is there a Stripe Support Email Address?

mighty hill
potent plaza
#

Thank you!

#

Have a great day!

mighty hill
#

You too!

potent plaza
#

Thank you!

sudden idol
#

Hello, We have a store built with WordPress+WooCommerce, and we use WooCommerce Stripe Gateway plugin to integrate with Stripe.
Everything fine, but now we are trying to add Afterpay payment method to stripe, I discovered the dashboard payment methods setting and I did found Afterpay payment method, but there is no configuration for it, just a link to its documentation. anybody here had the same issue and was able to fix it? Thanks in advance.

mighty hill
#

@sudden idol Hello! Unfortunately we can't help with WooCommerce here as we don't own or control the code. You'll need to reach out to WooCommerce for help.

sudden idol
#

@mighty hill I appreciate your reply, thank you. I hope that there is a developer had the same issue and was able to fix, and he can share here.

warm nimbus
#

@mighty hill Don't have any code that can show me how the capture of webhook variables works?

warm nimbus
#

In case I'm making a webhook information receiver, I want an example in PHP

dim hearth
echo pollen
#

Is there a way to collect billing address when saving card information in "setup" mode in a Checkout session? CVC and Zip are present, but not the full billing address (to help with fraud checks down the line)

echo pollen
#

oops, missed that one somehow

#

thank you

warm nimbus
#

like this ```php
<?php

foreach ($_POST as $key => $value) {
    echo "Field ".htmlspecialchars($key)." is ".htmlspecialchars($value)."<br>";

    $fp = fopen('receipt.txt', 'w');
    fwrite($fp, $key. " = " . $value);
    fclose($fp);

}
?>

opal ibex
#

Hi! When making a direct charge against a connected Standard Account, is it possible to roll the stripe fees into our platforms application_fee_amount?

dim hearth
# warm nimbus yah, but I just want to read a webhook...

If you want to parse the raw body of the webhook we don't have any examples from that - it really is much easier to follow the example, which is reading the webhook event with this code: $event = \Stripe\Event::constructFrom( json_decode($payload, true) );

dim hearth
opal ibex
#

Sorry, yes exactly. So the connected account only sees the application fee

warm nimbus
dim hearth
fast mantle
#

A good mental model for standard accounts is that they're "just regular stripe accounts" that you can act on behalf of.

#

FWIW, if the connected account in this case has better pricing than you (e.g., they are doing volume and negotiated a lower rate), you'd want them to have that lower rate, which we can't do in the situation you're describing

opal ibex
#

Ok thanks, makes sense. It seems like destination charges have that functionality? We were directed towards a Standard account when onboarding

fast mantle
#

Yes, destination charges will work better. And then you just set the transfer amount to what you want them to see

#

Keep in mind that this may have cross-border implications

opal ibex
#

Are there any changes needed on our platform to try out destination charges? We've started a integration assuming we'd use Standard with direct charges

#

I see the docs say that destination charges are recommended for Express or Custom accounts, will they also work for Standard accounts?

dim hearth
#

It comes with a lot of issues and limitations, so if you're planning on using destination charges definitely use express or custom accounts

opal ibex
#

Ok, yeah I think we'll stick with direct charges. Thanks so much for the explanations

sudden idol
#

I'm trying to integrate with Afterpay. What it's source type? please

#

I can not see the source type of Afterpay ..

The type of the source. The type is a payment method, one of ach_credit_transfer, ach_debit, alipay, bancontact, card, card_present, eps, giropay, ideal, multibanco, klarna, p24, sepa_debit, sofort, three_d_secure, or wechat.

stark tide
#

the enum value for afterpay for payment methods is afterpay_clearpay

#

(afterpay isn't supported on sources)

sudden idol
stark tide
strange tiger
#

Hey, I was wondering what the easiest way is to integrate the stripe client sdk with vuejs

bleak breach
strange tiger
#

Thanks

rough badger
#

Hello, hope you are all doing well. Is anyone from Stripe available to assist with a few questions regarding invoicing integration please?

bleak breach
#

Hi @rough badger, what's up?

rough badger
#

Thanks @bleak breach I am about to integrate Stripe Invoicing into our solution and we have a requirement to bill our customers 7 days after they receive the invoice. The reason for this is to allow our customers time to review the invoice before being charged. Essentially what we will need to do to achieve this is:

  1. Create a custom invoice per customer per month with line items corresponding to their orders and subscriptions.
  2. Email the invoice to the customer at their 1 month billing anniversary.
  3. Automatically collect the payment after 7 days of the invoice being sent to the customer.

Are you able to provide the technical details/documentation, API details etc on how we might achieve this please? Assuming it's possible?

fickle moon
#

Hello my first time here. I have a question. When one of my customers made a wrong purchase, instead of me canceling the product ( because the initial fee won't be paid back), is there a way to switch to a different product or subscription on my side?

bleak breach
rough badger
bleak breach
bleak breach
rough badger
bleak breach
# rough badger We have a provision for free trials for 1, 2, 3 months etc where we will apply a...

So this is definitely possible but it's a bit finicky since it's a bit of an edge case. When a billing cycle is created Stripe will automatically create an Invoice in the open status, after approximately one hour the Invoice transitions to the finalized state where it can't be edited anymore and Stripe will automatically try to pay it. What you could do is listen for the invoice.created webhook and update the Invoice to have auto_advance set to false: https://stripe.com/docs/api/invoices/update#update_invoice-auto_advance

fickle moon
rough badger
bleak breach
bleak breach
rough badger
strange tiger
#

Hey I'm not sure if this is the place to ask specifics about vue-stripe but I'm having an issue getting it set up. I have a couple buttons on my site that allow the user to buy 2 different subscriptions. I want to redirect them to the checkout using a sessionId generated by my server as I need to pass metadata as well. As far as I know, the only way to provide the sessionId to the stripe-checkout element in vue-stripe is by passing it as a prop when first loading the page. How would I:

  • fetch the session id from my backend only when they click the button
  • then use that session id to redirect them to the checkout using vue-stripe
#

Oh wait, so I'm a bit new to vue/react stuff so I might be getting this mixed up

#

If I do something like this:

bleak breach
strange tiger
#

Can I just update this data value whenever they click on the button and THEN redirect them to checkout?

strange tiger
bleak breach
#

I don't know what that data value is, so I can't really answer that

fickle moon
strange tiger
#

Because the way I have it set up is my stripe-checkout component is actually part of the button since there will be multiple different products

bleak breach
fickle moon
rough badger
bleak breach
#

Sorry I misread your question, instead of setting auto_advance: true after 7 days you'd pay the Invoice manually (after finalizing if you didn't already do that)

rough badger
smoky rover
#

Hi @strange tiger sorry I am not always online here on discord during my work hours. You can tag me or pm me if you have concerns with vue-stripe.

Thanks @bleak breach for taking over.

bleak breach
#

(@smoky rover is the author of vue-stripe)

strange tiger
#

Oh awesome!

#

Actually, the main question I have right now is whether or not I should be using one stripe-checkout component per page, or if I can use one for each button on a single page

#

For example, right now on my pricing page, each of the 2 pricing options has a purchase button, and each of those buttons are made up of the button's style and a stripe-checkout component inside of it

smoky rover
#

And yes, you should use stripe-checkout component. @strange tiger

strange tiger
#

I think I'm going to stick with the first option - I have the session-id set to an empty string data value when the component is created, and then when the button is clicked it asks my server for a session id with some metadata, and then updates that data value with the session id from the server

smoky rover
strange tiger
#

Thanks, still trying to learn how vue works exactly haha

terse frost
#

Hi there! I just wanted to inquire the developers about the date when you are planning to include Russia to Stripe.

bleak breach
#

@terse frost You can follow along and register interest on which countries Stripe supports here: stripe.com/global

terse frost
#

Yeah, I know that it is not there yet, but I am just wondering, when it will be.

bleak breach
terse frost
#

Of course, if it's not a secret 😉

#

Alright, thanks Paul! Looking forward to this addition! Have a great day!

bleak breach
#

You too!

slim mesa
#

Hey team how are you? I had a question about stripe-go library. We're trying to attach payment-methods to customers but sometimes we get this weird trailing slash error. Anybody know hot to deal with that or where to report the issue?

bleak breach
shut perch
#

Hello,
I want to integrate stripe on my website.. and i think the sandbox version is working, and i want to go live. How can i do that ?

bleak breach
shut perch
#

where can i do that ?

#

and in my registration i think i did some mistakes probably...

bleak breach
#

Your integration will use Stripe API keys for instance pk_test_123 for a public test key and sk_test_123 for a secret test key

#

To go live, you just swap out your test mode keys for live keys, which look like pk_live_123 for publishable keys and sk_live_123 for secret live keys. You can find your keys at https://dashboard.stripe.com/apikeys

shut perch
#

i don't understand, where should i put this publishable key ?

cobalt pendant
#

hey there, is there a way to know stripe fees during payment intent creation ? https://pastebin.com/WVwNLcnm would like to avoid doing direct charges but
we need the stripeFee to be deducted from the stripe connect user account and not from the platform acc, so i thought i could find a way to add it up to the application_fee_amount

lucid raft
#

@cobalt pendant are you in blended fee like x%+ycents?

#

if so, you can calculate the fee by some solving an equation (charge amount + fee)*x% + y = fee

cobalt pendant
#

yeah yeah i got that part, what i meant is how to know the actual stripeFee, cause some transactions are 1.4% some 2.9%. We use stripe connect custom and we onboard non profits. These non profits can raise funds thru our platform. The platform takes an application fee for each transaction. But we dont want the platform to pay the transaction fee.

tight parcel
#

Hello! I'm setting up Stripe subscription plans on my Django app. Currently I'm testing the stripe webhooks using Stripe CLI. For some reason though, I get the following error:
[ERROR] Failed to POST: Post "http://localhost:5000/hooks": dial tcp [::1]:5000: connect: connection refused
Do you know what I might have missed? Could be something really basic, I'm not very experienced with this. Thanks in advance!

lucid raft
#

@cobalt pendant hmm, do you know why the fee are different? is it because of different payment method are used? or because of the region?

cobalt pendant
#

@lucid raft

lucid raft
#

then you get the fee structure which you can use to calculate the fee

#

@tight parcel looks like there is some issue to your localhost:5000/hooks; are you able to sent POST request using http client like curl command or POSTMAN

#

?

cobalt pendant
#

so for each payment intent (1 time payment) created i gotta create a pm ?! atm the payment intent is created on the server as shown in the pastebin, i return to the client the payment intent id, then the client tokenizes the card from customer input and use confirmCardPayment with both values to perform the actual payment.

lucid raft
#

@cobalt pendant yeah, you will have to have a way to find out the payment method's county to get the fee structure for calculation.

#

Actually you don't have alter too much of your integration path

#

instead of confirmCardPayment with the card element directly, you create a pm first in your frontend, then call your server side to either update or create a new PI with the updated amount, and then confirm it with the PM.

vocal wagon
#

Hi guys, sorry for bother you: But unfortunately my stripe integration creates an error regarding apple pay. It always says shipping address invalid after trying to pay with Apple Pay. Any clue why?

tight parcel
strong gazelle
#

Hello Stripe dev teams,
we also have a question about applePay integration. We'll be decrypting the ApplePay CC and after decryption we receive the following fields:
"card": {
"expiryMonth": "{applicationExpirationDate}",
"expiryYear": "{applicationExpirationDate}",
"holderName": "{cardholderName}",
"number": "{applicationPrimaryAccountNumber}"
}

So after the card is decrypted, can I just pass the decrypted card details to your PaymentIntents APIs, as if it was a regular cc number?

lucid raft
#

@vocal wagon interesting, are you integrating directly with Stripe or you are using third party plugin? Do you have a testing URL that I can confirm?

bleak breach
cobalt pendant
#

Is there a way to interact with stripe to know the exact fee with a pm ? I don’t wanna risk overcharging due to country logic or external events if that makes sense

lucid raft
#

@cobalt pendant not before the transaction no

bleak breach
strong gazelle
#

I am, level 1

#

so as long as I can send this as a regular cc info, I'm good to go?

vocal wagon
#

Hey everyone, I'm new to the group

cobalt pendant
#

Okok i guess making direct charges would be safer in a way. To do that do I need to to build stripe config object with the account id or can I do it with my regular platform config object

vocal wagon
#

I have a question with the payment links, is it possible to create a link for products with a volume price ?

strong gazelle
lucid raft
#

@strong gazelle Stripe will treat ApplePay CC the same as normal credit card number thus there will be no such testing card number or you can use any number https://stripe.com/docs/testing

shut perch
meager hawk
#

@shut perch that really entirely depends on the exact way you integrate(do you use PaymentIntents directly or Checkout, or some third-party plugin?) so there's no generic answer.

shut perch
#

sorry, but i don't know PaymentIntents or any other third-party plugin. I use clean php code (no plugins or third party code) and i took the code for stripe integration from their website and with the test cards everything worked fine. The transaction is success. That's great! However.. my application needs to know after a success transaction where should i redirect the customer.. i need some kind of ... "flag" that the transaction is success...

meager hawk
#

@shut perch

took the code for stripe integration from their website

#

what link was that from?

#

there are many ways to use Stripe so I need a more specific reference than just "PHP"

strong gazelle
meager hawk
#

@shut perch so you're using PaymentIntents.

Look at the orderComplete function in client.js, which is when your frontend code knows when the payment is completed as it's called with the response from https://stripe.com/docs/js/payment_intents/confirm_card_payment#stripe_confirm_card_payment-with_element. At that point you can do anything you need to do like redirecting the page.

As @strong gazelle mentions, you should separately use webhooks on your backend server to update your database or kick off order fulfillment : https://stripe.com/docs/payments/accept-a-payment?platform=web&ui=elements#web-fulfillment

shut perch
meager hawk
#

yes. That's example code, you can replace it with anything you want

#

you definitely wouldn't use that code in production anyway since it's redirecting the customer to your Stripe merchant dashboard which wouldn't make sense! It's a demo application, not a production site.

#

so there's a lot more you need to do here before just changing your API keys and going live! We provide examples to show you how you might integrate a payments flow in your existing website but it's not intended that you just clone them and change the keys and go live.
If you want an immediate way to go live you might use https://stripe.com/docs/payments/payment-links instead for example.

strong gazelle
#

@meager hawk @bleak breach maybe you guys can help me out inspecting a particular requestID ?

meager hawk
#

@strong gazelle sure, I can try!

strong gazelle
nocturne olive
#

I've raised a ticket concerning international users who want to be paid in US dollars and not in the currency of their country of original. I'm raising it here because its been open for weeks and your customer support team are unable to answer. Firstly, because of the way we transfer funds to our users weeks or months after we receive a transaction we need to set up our users with a 'recipient' service level agreement, not 'full'. Before we had it set to 'full' and transfers to international users would fail. Once it was turned to 'recipient' it worked fine. However international users only have the option of reciving funds in the currency of their country of origin. However we have some users who, for example Canadian, who want the option to receive funds in USD dollars as they have USD accounts in Canada and do not want to receive CAD due to the exchange rate loss. However they are not given this option due to the 'recipient' type of account. Apparently its only available if the account type is 'full'. However if we change to 'full' across the board it will not allow us to to transfer funds to those accounts. TO be clear we do not use destination charge to transfer funds as the transfer does not occur at the same time as the initial receipt/transaction. So how can we resolve this catch22. Is it a case of setting up the owner as 'recipient' and then changing to 'full' once set up? Also to note, we use Stripe Express for onboarding.

meager hawk
#

@strong gazelle it's a processing error(see processing_error on https://stripe.com/docs/declines/codes ) ,it just means the cardholder's bank was unable to process the transaction, they might be down right now or have an issue in their systems, it does happen from time to time.

#

@nocturne olive I'd suggest following up with our support team instead, but I'd assume you just can't do this, you seem to be trying to find a workaround but there might not be one, international transfers are highly regulated and limited. My understanding is your only option is to continue to use the receipient agreement and accept the currency conversion.

strong gazelle
# meager hawk <@!845953445856411690> it's a processing error(see `processing_error` on https:/...

Thanks mate
I'd like to take this to another direction, when I decrypt the CC ApplePay Token, I get a few parameters from the decription
onlinePaymentCryptogram}",
"eci": "07"

and then I should pass it to you, as part of the Authorizatoin request (using PAymentIntents). But i didnt find in the PI object any reference to those 2 vaules. So i didnt pass them in the previous request you've inspected. Do you support those 2 values?

nocturne olive
meager hawk
#

@strong gazelle well this is a highly advanced integration for advanced users who'd generally have direct contacts with our sales team so I don't believe it's publicly documented. But you want to create a Stripe Token object from those details first.

#

An Apple Pay Token will have paymentData that contains encrypted payment data that can be sent to Stripe through a Token creation request. Apple has detailed documentation about how to decrypt the paymentData and pull out the DPAN, cryptogram, and ECI.

The curl request for sending the decrypted Apple Pay information to the /v1/tokens API should look something like this:

curl -u sk_test_123: https://api.stripe.com/v1/tokens \
  -d card[number]=4242424242424242 \
  -d card[exp_year]=2021  \
  -d card[exp_month]=12  \
  -d card[cryptogram]=base64cryptogram  \
  -d card[eci]=05  \
  -d card[tokenization_method]=apple_pay
#

that should help.

#

Once you have a Token object tok_xxx you then need to convert it to a PaymentMethod pm_xxx

#

which is done by calling https://api.stripe.com/v1/payment_methods and passing type=card and card[token]=tok_xxx

rigid ridge
#

Hi! I see that SubscriptionSchedule manages an underlying Subscription, can I assume it's going to be only one or can there be multiple Subscriptions per each Schedule?

meager hawk
#

@rigid ridge there can only be one Subscription per Schedule

rigid ridge
#

Okay, thanks!

#

And if I want to cancel a SubscriptionSchedule, should I cancel the schedule itself or the underlying subscription?

meager hawk
#

I believe if the Subscription is currently being managed by a Schedule you have to cancel it by working with the Schedule, but let me check it

rigid ridge
#

okay, thanks!

hollow nebula
meager hawk
vocal wagon
#

HI, have activated my account and sent a test invoice to myself, but it wont process the payment?

meager hawk
#

@vocal wagon I'd suggest reaching out to https://support.stripe.com/email for help with that, but was there a specific error message or API error you saw beyond just "wont process the payment"?

vocal wagon
#

Thanks Karl, it just said cant process payment

frail lava
#

Hi. I'm going to write a query to get payout transactions using sigma. Is there payouts table that I can join with business_transactions?

meager hawk
#

it's called transfers (for legacy reasons) so it's easy to miss unfortunately

frail lava
last oracle
#

Hi! 🙂 We have a platform with both standard and custom accounts connected to it, if a standard account is closed - what happends to stripe charges we reference from our code? i.e. references in the form of ch_xxxxxx 🙏

meager hawk
#

@frail lava hmm, good question. I don't think there's a specific table, so I would do select * from balance_transactions where type IN ('topup') basically, if that makes sense.

#

@last oracle if the account is closed then you get disconnected from it so you can't access those charges any more I believe, you'd get a permissions error

#

I'm assuming you are talking about Direct Charges though

#

since in Direct, the objects are created on the connected account; and you generally should use Direct with Standard accounts. In Destination charges, all the objects are on your platform account instead so you always have access to them.

upbeat grove
#

I want to build webhook which can help me update "charges_enabled" and "payouts_enabled"

#

should I get this info directly from the posted data on my endpoint or should I get the account_id from the posted data and search it manually

meager hawk
#

well the webhook endpoint gets the Account object in the payload, which contains those fields. So you can read it from the payload yes.

#

you could also just read the account ID and then call https://stripe.com/docs/api/accounts/retrieve and look at that response instead of the webhook payload, yep. Either way is valid. I personally prefer that second way(because you're guaranteed to get the exact latest status of the object) but it's not required.

upbeat grove
#

thnx, yup I also think it would be easy. Because picking info from that payload can be tricky cause depending on events fields can have diff name/positions.

I will listen for account.updated event and will pick account ID and get all the required details myself

#

2nd question. How can I enable/disable payments and payout for a specific customer

#

from the dashboard

meager hawk
#

hmm, you can't really, that's not how it works. It's enabled or disabled based on if the account is verified or not(by providing required identity verification information). There's no direct button for it.

last oracle
olive otter
#

Hello I need to talk to someone via phone but I don’t see a phone number anymore and the 24x7 customer support doesn’t take me anywhere.

#

I have several documents I need to submit for a dispute a customer put in but stripe doesn’t allow me to submit it unless it is certain categories which does not help my case.

cerulean pineBOT
#

:question: Have a question about your account @olive otter?
While we're sorry to disappoint, this Discord is intended for technical questions and developer chat—we're not able to help with account specific questions. For help with your account please reach out to Stripe support directly at https://support.stripe.com/contact

olive otter
#

The documents I need to submit all make me chose a category that aren’t applicable

upbeat grove
#

there is a reject button in the dashboard which disable "payments" but doesn't disabled "payouts"

upbeat grove
#

and you can't enabled the payments back after rejecting

meager hawk
#

@olive otter we can't help you here, sorry.

upbeat grove
#

even if it was enabled before

olive otter
#

No where to call or talk to someone

meager hawk
#

@upbeat grove well rejecting an account is more like, 'deleting' the account effectively, it's a slightly different concept. There's no way back, yep

olive otter
#

So what am I supposed to do @meager hawk

#

The 24x7 customer support button brings you to forums.

meager hawk
#

you can sign in to your account and there's a form to contact support.

upbeat grove
#

so, in case i want to stop someones payout for a day to investigate. I can't stop that

meager hawk
upbeat grove
#

and incase I wrongly rejected them, They will be punished forever?

olive otter
#

I don’t see that anywhere @meager hawk

meager hawk
#

if they're on manual payouts then you can just choose to not pay them out for a day or longer if you need to control things at that level of detail.

#

@olive otter your screenshot has a "sign in" button. Sign into your account and there'll be an option then to contact support through chat/request-a-call. If you're not seeing those options then they might not be available right now, so email support@stripe.com instead.