#dev-help

1 messages · Page 118 of 1

sick talon
#

What's the id of a subscription/invoice where you see this?

#

If you haven’t passed a tax rate that matches your customer’s shipping address, billing address, or country, no tax rate is applied.

#

under Dynamic Tax Rates

viscid burrow
#

I saw the docs, it just seems strange but OK.

#

So either you need an exhaustive list of states or just use Stripe Tax. That makes sense.

sick talon
lucid sorrel
#

Hi, First time on bard, have a question about using the API, is this the right place to ask?

sick talon
lucid sorrel
#

I am using AWS lambda to make a call to paymentintent however any time i make a change IE to the value or response email i get the same response, stuck at 1000..

#

its like its a cached or session response, but no idea why

#

if I use curl it changes fine

languid tiger
#

Is it possible to create a Subscription to a Connected Account (using Stripe Checkout) without a (cloned) default payment method, and instead collect payment details after creating a subscription?

sick talon
# lucid sorrel I am using AWS lambda to make a call to paymentintent however any time i make a ...

Sorry, I don't really understand what you mean by "I get the same response stuck at 1000". Do you have a request id that shows this? https://support.stripe.com/questions/finding-the-id-for-an-api-request

lucid sorrel
#

the amount of the payment intent request its stuck at 1000:
"id": "pi_1J9u36D39mArstkd4EXJdPpW",
"object": "payment_intent",
"amount": 1000,

sick talon
lucid sorrel
#

'amount' : 666,
'currency': 'gbp',
'payment_method_types[]':'card',
'receipt_email': email

languid tiger
#

@sick talon I want our platform customers to be able to subscribe to one of our connected (Standard) accounts, and have them choose between an already added payment method, or use a new one (e.g. iDeal, since you can't save that payment method). I don't want to build any custom UI if possible and use the Stripe Checkout / Portal where possible

sick talon
# lucid sorrel the amount of the payment intent request its stuck at 1000: "id": "pi_1J9u36D39...

There aren't any update calls that you've made to modify that PaymentIntent. You're only making create calls to POST /v1/payment_intents. See https://stripe.com/docs/api/payment_intents/update for the update call on an existing one

lucid sorrel
#

Ugh.... I was using GET not POST... thanks

sick talon
languid tiger
#

But it seems like creating subscriptions for standard accounts only supports using the default payment method, which means I have to clone that method to the Standard Account, which is only possible with Card. However, I'd like to be able to handle whatever payment methods are configured for the Standard account

sick talon
clear jasper
#

hi

#

I am in South Africa and do not have a bank card in the United States or Switzerland. How can I solve it?

cerulean pineBOT
#

:question: @clear jasper Have a non-technical question, account issue, or need one-on-one support?
We wish we could help, but this community is focused on developers and technical discussions. Our support team will be able to assist you better than we can: https://support.stripe.com/contact

analog vault
#

Hi guys.
I need to know if having a single account on Stripe I can receive payments in countries other than where my company is registered in. In other words, do I have to change any settings other than my product currency, or send any information in to stripe in order to receive payments in US, for instance?

cerulean pineBOT
#

:question: @analog vault Have a non-technical question, account issue, or need one-on-one support?
We wish we could help, but this community is focused on developers and technical discussions. Our support team will be able to assist you better than we can: https://support.stripe.com/contact

clear jasper
#

me to

languid tiger
#

@sick talon thanks!

clear jasper
#

There is too little support in this region. We are in different countries, but he supports the United States, Switzerland, and Norway.

bold basalt
trail wren
#

Good morning, I am using the Stripe PHP lib to iterate over all the customers in the system. The goal of this script is to collect the subscription revenue and the transaction revenue for reporting. I am successful in using the Invoice endpoint to get the subscription data, but the payments are not in there. Payment being individual changes we sent the customer when they buy a product not listed in Striped Products. For the items they purchased I have tried PaymentIntents and BalanceTransactions, but both come back with zero results in the collection. I can see transactions on my customer, so I am unsure how to call and get them. $trx = $customer->allBalanceTransactions('cus_XXXXXXXXX');

bold basalt
#

@trail wren hello!

#

@trail wren BalanceTransactions don't allow listing on a particular Customer, you could use "List Charges" as that can be filtered by a customer: cus_123 param.
That will get you all Charges that include recurring Invoices, or one time payments on that Customer

trail wren
serene scarab
#

I'm looking to apply 'credit' to a customer, and use that credit automatically when initiating a card payment for that customer in future. For example, I give them a £10 credit (via balance adjustment) and then next time they buy something in the app worth £30, they're automatically only charged £20 (despite me creating the PaymentIntent for £30). I've tested, and the £10 credit is not taken off. I'm not using 'invoices' - only direct PaymentIntent / charge creation. Is there any support for this concept or a better approach?

lunar pelican
#

hello i cant log in.... im not recieving the authorization code anymore. not sure why?

bold basalt
#

@serene scarab hello! so direct PaymentIntents don't actually support taking out from a Customer Balance (or CreditNote etc), that is supported on Invoices only. So you'll basically have to deduct the credit and create a PaymentIntent for (total - credit) for your Customer.

cerulean pineBOT
#

:question: @lunar pelican Have a non-technical question, account issue, or need one-on-one support?
We wish we could help, but this community is focused on developers and technical discussions. Our support team will be able to assist you better than we can: https://support.stripe.com/contact

bold basalt
#

@lunar pelican hello, as the bot says, please reach out to Support as you're facing a login issue, not something we can help with in this channel!

edgy plank
patent turtle
#

I'm setting up https://github.com/stripe/stripe-react-native following https://snack.expo.io/@charliecruzan/stripe-react-native-example using the PaymentsUICompleteScreen.
I have a screen where users can select an amount from a dropdown list and then click "Add Funds".
In the example, the screen inits and fetchPaymentSheetParams from the server: https://glitch.com/edit/#!/expo-stripe-server-example?path=server.js%3A419%3A0 line 419
On the server, it sets the amount to 1099 with stripe.paymentIntents.create, but in my case I need to set the price to whatever the users selected
The "Add Funds" button fires openPaymentSheet which by now already has a price set.

Here is what I'm thinking of doing:
The users will select a price and the init of the screen will not init with fetchPaymentSheetParams. Instead, when the "Add Funds" button is clicked, it will post the server with the amount selected and return the paymentSheet with the correct amount.
Is this the recommended way of doing this?

GitHub

React Native library for Stripe. Contribute to stripe/stripe-react-native development by creating an account on GitHub.

bold basalt
#

@edgy plank hello, createPaymentMethod() doesn't produce auth's but your question could have a longer detailed answer, depending on what type of Stripe fees you are on, etc.
Would recommend writing in to Support with examples of the fees that were "per_auth_fee" and they can help investigate.

potent kernel
#

Hello I am currently dev on the Kreezalid platform (only allowing to modify in JS or in css ... very boring). I wish that by logging in the user id is recovered in order to delete or modify data on his Stripe account.
I have already looked at the doc but it only talks about Node.js and asks for a key that looks strangely like the ID ... hardwritten

const stripe = require('stripe')('sk_test_XzIrQk0');
const account = await stripe.accounts.update(
  'acct_1EFMXZB03N', /* <---- it's a ID ?*/
  {metadata: {order_id: '6735'}}
);

https://stripe.com/docs/api/accounts/update?lang=node

bold basalt
#

@patent turtle yep that sounds right, get the user to set an amount, then send that amount server-side where you create a PaymentIntent for that amount.

#

@potent kernel hello, yes the stripe-node library is a server-side only library . It needs to be deployed and run on your server. Is the Kreezalid platform only a frontend platform? Like you can modify the webpage's CSS and JS? If so, you would need to somehow hook it up to a server.
As for what you're trying to do, are you trying to allow a Customer to update their Customer object? If so, you would not be using accounts.update

#

@potent kernel also please modify your message to remove your secret key from it. I know it is a test mode secret key but still it will allow anyone to make requests on your integration and update/create/delete your testmode objects

potent kernel
bold basalt
#

@potent kernel sure but what I'm asking is, are you using Stripe Connect here?
Or just having a Customer come in and update something, like their card or their address etc

potent kernel
lucid sorrel
#

is there any way to easily add a test connected account to stripe connect for testing?

bold basalt
#

@potent kernel ah gotcha, yeah in that case you would update the Stripe Connect account as shown in the code snippet. The acct_123 ID is what you pass for which Stripe Connect Account you're trying to update.

#

@lucid sorrel hello, which type of Connect account are you referring to?

lucid sorrel
#

I am testing creating payment intents so i need to populate "Stripe-Account: {{CONNECTED_STRIPE_ACCOUNT_ID}}"

bold basalt
#

@lucid sorrel I mean are you using Custom / Express / Standard type of Connect accounts? Which one are intending to use

lucid sorrel
#

I only have the one account, and wondering is there an easy way to set up a few test connected accounts

#

standard I think

cloud pasture
bold basalt
#

@lucid sorrel gotcha, you create a Standard account via the API, then you have to redirect to the AccountLink which should allow you to mostly skip account creation, to quickly create the Connect account: https://stripe.com/docs/connect/standard-accounts

lucid sorrel
#

ty

potent kernel
bold basalt
#

@cloud pasture hello, it creates the a refund synchronously for card payments but other payments could go into 'processing' first, so you listen to webhooks for successful refund.

#

@potent kernel yes that is the API key.

scarlet mulch
#

I'm not sure if it's intentional but you CANNOT verify your identity without logging in..

#

Which I can't do.

bold basalt
#

@scarlet mulch hello, I'm not too informed on how account setup/verification works (as that isn't something we help with in this channel), would recommend reaching out to Stripe Support and getting help with logging in ?https://support.stripe.com/contact?skip_login=true

scarlet mulch
#

You cant reach out to support without logging in..

bold basalt
#

@scarlet mulch the link I sent you allows writing in to Support without logging in.

viscid burrow
#

Hey there. Your team gave us access to Stripe Tax on two accounts for testing a Stripe Tax integration for our Stripe Connect Platform. Yay! But we are still getting the error that the account does not have Stripe Tax. *** Stripe::InvalidRequestError Exception: Received unknown parameter: automatic_tax (Stripe Tax is an invite-only feature. Please request access at https://stripe.com/tax)

vocal wagon
#

hi @bold basalt ! may I ask you a few questions? can I use spanish? is it possible to have a voice call? thanks!

viscid burrow
#

*I added it in the dashboard and thought we completed registration. ?

bold basalt
#

@vocal wagon hello, sure if you have coding/programming related questions, this is the right channel. I only speak English so can answer in that. I can't do voice calls.
For Spanish language support, Stripe Support does have that: https://support.stripe.com/contact

#

@viscid burrow do you have a request ID where you see that failure? I think I know what it might be

vocal wagon
#

@bold basalt thanks for replying! mmmm I think my questions are more related on if I can do some things instead of how to do them... but I can try... 🙂

viscid burrow
#

Sure. Give me a sec to get the request id.

#

**Also if our platform does not have Stripe Tax, but the "Connect"ed account does have Stripe Tax , it should work fine though correct? session = Stripe::Checkout::Session.create(session_hash ,{stripe_account: @site.stripe_user_id})

#

**Since we are passing in the stripe_account of the Connected account

bold basalt
#

@viscid burrow can you share the request ID for the request? like the req_123 ID?
You can get it like shown here: https://support.stripe.com/questions/finding-the-id-for-an-api-request
Since it is a Connect request, best way would be to look at the response headers like https://stripe.com/docs/api/request_ids

trail wren
#

@bold basalt Thanks that is working for me!

viscid burrow
#

sure. I wasn't sure if the session had a request id. brb

trail wren
#

Next up. I need the cancelation date for a subscription, of course if a customer has canceled the subscription object is blank.

viscid burrow
#

req_3gVIQXpjXU5o95

#

got it!

bold basalt
#

@trail wren not sure I understand, you want the datetime when the Customer canceled the Sub?
(like even if they want to cancel now, to let the Sub cancel at end of current period, you want the datetime of now, right?)

#

@viscid burrow thanks! looking

trail wren
#

yeah the date time it was canceled. Since if they do the "Cancel Now" situation the subscription is removed from the customer object it is not something I can pull.

small ginkgo
#

Multi-year subscriptions are prohibited, but is selling a multi-year service as OTP, for example, Domains, allowed if you don't rebill without customer consent - or have the customer do it themselves?

bold basalt
viscid burrow
#

**The Stripe team added Stripe Tax per our request to 2 accounts. One is inactive and one is active. We are getting that error on both that neither have Stripe Tax.

bold basalt
#

@small ginkgo hello, not sure I have the answer to that but if you are initiating the recurring charge after 'n' years, you should be able to without explicit Customer consent atleast for card payments (notifying them via email that their recurring payment is upcoming is a good idea but don't know if it is required)

small ginkgo
#

Nope. My fee covers a service for x years. I don't auto rebill. Is that allowed?

rough spire
#

Hello!
I'm working at this moment on create subscriptions to connected accounts, but i'm having troubles because the customer object does not exists on each connected account, is there any way to share principal customers list to child connected accounts??

bold basalt
#

@viscid burrow what is missing is, your Connect Platform account acct_183tJHHnzkM7EAuH needs to have Stripe Tax enabled for it, both on the account itself and in a Connect context as well. Can you re-write to Support to have them enable it for you? Do mention that you need it both on the account and as a Connect Platform.

#

@small ginkgo just so I have it right, you charge now $X for n years, and that is it. You don't charge $X again after n years?

twilit moss
#

Hi, my account of stripe send me to woocommerce payment and i cant enter on the dashboard. How i can make for enter on dashboard for see my api key?

small ginkgo
bold basalt
#

@rough spire hello, there's no way to share or clone Customers, you have to create distinct Customer objects in the Connect accounts. You can clone "card" PaymentMethods from the platform to the Connect account, but not the Customer.

#

@small ginkgo gotcha, yeah that should be allowed.

#

@twilit moss hello, which dashboard are you not able to get into?

twilit moss
#

the app send me to select Woocommerce payment

#

and i cant make more

copper mirage
#

hi, good morning

bold basalt
#

@twilit moss the Support team at https://support.stripe.com/contact can help you with this, please write in to them and explain the issue, they can help unblock you as they are experts on the Dashboard side of things

#

@copper mirage hello

copper mirage
#

need help witd SCA

#

with*

#

who can help me?

twilit moss
#

@bold basalt Okey thanks 🙂

small ginkgo
rough spire
bold basalt
#

@small ginkgo I don't really know about that.

#

@rough spire to clarify, that isn't "cloning Customers"

#

@rough spire that is what I was referring to above, that is "cloning PaymentMethods/Tokens"

#

@rough spire you cannot "clone" a Customer. You have cus_123 on the Platform, you have cus_456 on the Connect account. You can clone cards from cus_123 to cus_456 but that is it. You cannot "clone" cus_123 into cus_456, that isn't a thing

#

@copper mirage what help do you need

rough spire
#

Ohhh perfect! You're very kind and clear!

viral tangle
#

good afternoon averyone ! I try to add the IBAN when a custom account is created but it doesnt add it when account is created. Is it possible to create a custom account with directly every informations required at first ? Thank you

silver tangle
#

Hi all - I have a new client that has been having someone pound her Stripe account with $0.50 charges for the last 24 hours. We are taking over for another team. I am assuming that the old team leaked the key to someone and they seem to be using it to try and verify if stolen credit card data is valid or not.

  1. Whats my best option here? Invalidate the current keys and update where she uses them?
  2. 99.99% of them have been blocked by Stripe. Will this cause any issues with her account or is it okay until we figure it out?
  3. If only her old dev team had access to the keys, thats the most likely culprit right? I don't see anywhere else they could have been leaked (i.e. committed into public repository or something)
viscid burrow
#

OK, I sent the email to support. Can you clarify on more step? Does the standard Stripe account holder who has enabled Stripe Tax also need to go in and update the Product/Price? I see we have a way to set Tax code to "Generally taxable" or whole dropdown menu. Do we need to tell the Stripe account holder to also update this in the Stripe dashboard in addition to enabling Stripe Tax?

silver tangle
#

I think I know the best course just want to run it by you guys

#

Basically the flow of the script seems to be:

  1. Tokenize card
  2. Create customer
  3. Attempt $0.50 charge
#

and its too fast to be manual input so must be a dev or someone with a script

copper mirage
#

@bold basalt i have problems with payments greater than 100 eur, problems with 3d secure, I need the client to enter a specific amount that he wants to be the maximum that he is charged.

bold basalt
#

@viral tangle that should work, you can create an external account while creating a Connect account.

noble grail
#

Stripe paid back to my customers the orders paid by my customers ! I wrote shipping and invoices to customers! All customers made their payments via stripe as 3D secure. Stripe tortured me!

viral tangle
#

I passed this in my JS this way

    business_profile: {
        mcc: document.querySelector('.inp-mcc').value,
    },
bold basalt
#

@silver tangle hello, one sec

noble grail
#

I WILL COMPLAIN TO COURT ABOUT STRIPE !

silver tangle
noble grail
#

THEY BLOCKED ME ON LIVECHAT !

#

AND THEY DONT ANSWER MY E-MAILS

#

They hurt my company !

copper mirage
#

@bold basalt something else

viral tangle
#

@bold basalt Thank for your answer, I actually used the "createToken" JS function. The first argument is "account" and the second one is the whole object account with values

copper mirage
#

@bold basalt

bold basalt
#

@silver tangle would recommend rolling API keys immediately. Second, it could be the dev team or the API key might have leaked. Or it could be an unsecured endpoint too, not sure, really depends on the integraiton.

silver tangle
#

@bold basalt yeah the old dev team was outsourced and barely understood the framework they're using so i was thinking endpoint too - going to run through that. Have to wait on my client to get back in town later tonight unfortunately. Any risk to her account in the meantime?

#

They're rotating IPs constantly so no way to stop with that... but at least Stripe is blocking everything.

bold basalt
#

@noble grail hello, I don't have state on your account, but really working with Stripe Support would be the right thing to do here. They are the right team to raise this with.

viral tangle
#

Yes sorry, because I also tried at first to modify the mcc value and it still did not work

bold basalt
#

@copper mirage what is your question? how are you integrated? can you give me more details?

#

@silver tangle would recommend writing in to Stripe Support that you're facing card testing, they can help you with that in the mean time. Let them know you've been to the Discord Developer Chat and I routed you there. But if you can, do roll your API keys immediately

small ginkgo
#

@noble grail What are you selling?

copper mirage
noble grail
#

other company home Decoration

#

they dont give me answer

viscid burrow
#

Can you clarify a point for Stripe Connect platforms using standard accounts? Are you saying that our platform needs to add Stripe Tax to our own account to allow the Connect account to process a Stripe Tax payment? We would strongly prefer to just write the code for the Connect accounts who choose this product, but there is a large financial impact to us and we would prefer not to add Stripe Tax to our account.

noble grail
#

ITS NOT LEGAL STRIPE HAVE DONE

viscid burrow
#

Is Stripe Tax set up differently then Stripe Billing? For example, we don't need Stripe Billing and Customer Portal, but our Connected accounts do, so we do not have Stripe Billing on our platform, but the Customer Portal woks fine, so I assumed Stripe Tax would work in the same way as Stripe Billing?

noble grail
#

IM SELLING LEGAL WAYS. ! I SENDING TO MY CUSTOMERS EVERY INVOCE !

bold basalt
#

@copper mirage sorry it still isn't clear to me. what error are you getting on 100 EUR payments? Is it requiring authentication? is that the error? If so, that is expected and there are things your integration has to do to get the payment completed

tepid compass
#

Hi there. I'm actually not a customer. I'm trying to process a payment and keep getting an error saying that my card can't be authenticated. I've tried a couple of different cards and get the same issue each time.

#

I've talked to my bank(s) though, and they say I'm good to go

copper mirage
bold basalt
#

@noble grail let's calm down, we're here to help in this channel but account related policies are not our domain. I unfortunately cannot help you, would recommend working with Support on this. Do you have a ticket ID or something with Stripe Support? Can you DM me the ID? I don't know what I can find (as this isn't my domain) but I can try

#

@copper mirage ah I see but I'd like to reframe how you think about it. SCA/authentication isn't something you can avoid. Issuing banks can ask it for any amount, at any time. So really, you have to build your integration in a way to a) claim off session exemptions during the first payment and b) bring your customer on session if any payment declines with authentication required

tepid compass
#

@bold basalt is this a Stripe problem or do I need to contact the seller?

bold basalt
#

@tepid compass hello! reading one sec

tepid compass
#

no worries. thank you

bold basalt
#

@tepid compass that is Stripe Checkout, right? (a full page payment form that the business redirected you to)

tepid compass
#

I contacted my bank and they told me that hadn't got any transactions today, so it's not processing through at all

bold basalt
#

@tepid compass gotcha ... yeah not sure what it could be really. Can you DM me the link to the url there? I can try to see any logs I can find and try to trace through what it could be.

copper mirage
bold basalt
#

@tepid compass looking ...

#

@copper mirage yes it isn't entirely dependent on an amount limit or not, authentication can be required by the issuing bank so you have to build your integration in a way that you can have your customer authenticate payments.

copper mirage
prisma flower
bold basalt
#

@tepid compass from what I can tell, the authentication failed. It looks like the bank rejected it. I'm not an expert at looking at authentication failures but that is what it looks like to me. Using a different card might work here.

#

@viscid burrow sorry getting to your question, missed it

viscid burrow
#

no worries.

bold basalt
#

@viscid burrow let me check actually, one sec

tepid compass
bold basalt
#

@prisma flower hello, look at the Invoice's underlying charge Charge's created field

#

@tepid compass not sure why they say that, (speculating here) maybe the technicality that they didn't see a Charge as a payment was never created cause the authentication failed?

tepid compass
bold basalt
#

@viscid burrow so you won't be charged for Automatic Tax if you're not using them but rather, the tax lives on the Connect account cause the payments are "direct charges" created on the Connect accounts.
I do think you need to (as a Platform) enable Automatic Tax in order to pass that param on Connect accts, once the product is past invite-only.
At the invite-only stage, you'd have to ask Stripe Support to enable it for you as a Connect Platform

tepid compass
#

@bold basalt I tried contacting them again and they still say it's not an issue on their end. I also tried a different card from a different bank and got the same error.

bold basalt
#

@tepid compass so your later attempts aren't authentication failures but rather card declines after authentication. Again, can't say more than that but that is what it looks like. TBH it wouldn't be an issue with Stripe Checkout, it is taking the card and attempting charges, just that it is getting back a decline.

tepid compass
#

@bold basalt is there someone I can contact on your end that might be able to give me more information?

bold basalt
#

@tepid compass I don't think this would be helpful from Stripe's end really. From what I can tell, these were downstream things, where Stripe talked to an issuing bank and got an authentication or payment decline. This happens, it really is dependent on numerous factors but there's not much I think Stripe can help with. You're welcome to talk to Stripe Support but really what I've seen work is just using alternative cards.

tepid compass
#

Citi says that it's on your end, and they aren't seeing any transactions. I know the card is working fine since I've used it on other transactions today. Even since I tried my purchase.

#

And that was from 2 different customer service people there.

#

So I'm at a loss.

mortal tinsel
#

Hi all,

I am trying to update an account with PHP from these docs

https://stripe.com/docs/api/accounts/update

the script seem to work but the business_profile fields (name,support_phone,support_address and product_description) do not get updated and come back as null. the metadata does work btw.

Q: Did I do something wrong? How can i fix the business_profile fields to get updated?

#

PHP code here...

$update = $stripe->accounts->update(
'xxxxxx',

[
'metadata' => ['order_id' => '6738'],
'business_profile' => ['name' => 'test'],
'business_profile' => ['support_phone' => '3121231234'],
'business_profile' => ['support_address' => '11 main street'],
'business_profile' => ['product_description' => 'test'],

'capabilities' => [
'card_payments' => ['requested' => true],
'transfers' => ['requested' => true],
]
]
);

#

Thanks for the help

bold basalt
#

@tepid compass I would say write in to Stripe Support (at https://support.stripe.com/contact) with that Checkout URL that you shared earlier, they should be able investigate a bit more. Not sure if they'll find something different really but that is what I'd recommend.

#

@mortal tinsel hello, can you share an account ID? (not the full object, just the acct_123 type ID, I can look it up)

mortal tinsel
#

like this - acct_1JA4q04hOBvcamqy

dim hearth
mortal tinsel
#

thanks much

dim hearth
# mortal tinsel thanks much

So looking at the recent requests made to update that account, I do see multiple requests made to update business_profile.product_description, but none that update any other fields in business_profile. Can you try running your PHP code again to confirm whether the other business_profile fields also fail to get updated?

mortal tinsel
#

ok will do

viral tangle
#

@bold basalt Is there any specific configuration to add business_profile to an account because passing token seems to be different to the classic way ?

#

I do have to pass a token for creating an account since I'm French

mortal tinsel
#

hi i just did an update

#

example change worked here "metadata": {
"order_id": "12345"
},

#

but not for these

#

"business_profile": {
"mcc": "5734",
"name": null,
"support_address": null,
"support_email": null,
"support_phone": null,
"support_url": null,
"url": null
},

dim hearth
mortal tinsel
#

trying to update existing account

dim hearth
#

That last message about creating an account w/ a token was for someone else @mortal tinsel

mortal tinsel
#

'business_profile' => ['product_description' => 'Varied test'],

#

using PHP - maybe I wrote it wrong?

viral tangle
dim hearth
# mortal tinsel 'business_profile' => ['product_description' => 'Varied test'],

AH! Just caught something - your code is wrong.

$update = $stripe->accounts->update(
'xxxxxx',
[
'metadata' => ['order_id' => '6738'],
'business_profile' => [
  'name' => 'test',
  'support_phone' => '3121231234',
  'support_address' => '11 main street',
  'product_description' => 'test'],
'capabilities' => [
  'card_payments' => ['requested' => true],
  'transfers' => ['requested' => true],
]
]
);
mortal tinsel
#

ok thanks karbi

dim hearth
# viral tangle <@845165114360856596> Thanks ! I'm using this form https://stripe.com/docs/conne...

Gotcha - so I don't believe information like MCC and external accounts are passed in as part of the account token. You'd first create the account token, and then using that token ID you'd pass it into a server-side request to create the account w/ the additional information (like business_profile) like this: https://stripe.com/docs/connect/account-tokens#create-account

wide oak
#

i have probles about disputes

#

i lost a lot of money and product because of this

#

can anyone help

#

or i have to stop using stripe

dim hearth
# wide oak i lost a lot of money and product because of this

Hello! This is a channel specifically geared towards integration/developer questions, and we don't really handle issues with disputes. I'd suggest contacting support at https://support.stripe.com/contact and they should be able to help you!

viral tangle
#

Oh then the token creation does not actually create a proper token ?

#

It was a bit confusing since the documentation tells to add as much required input as possible but it's ok ! It explains why I can't create the whole process in a row 😂 thanks lil owl !

dim hearth
split herald
#

Hi all,
My client needs to be able to set up a payment in 1x 2x 3x is this possible directly with stripe?

bitter pewter
#

Hello,

I have been assigned to fix a Stripe bug on a project that implements Stripe using Java. The project is rather old and the API version currently integrated is using some deprecated features.

I attached photos of what the dashboard looks like for each connected account that isn't working. Is there a non-deprecated version of the legacy_payments capability? Or do I have to update the API version to fix this issue?

dim hearth
mortal tinsel
#

Hi karbi - you mentioned my code is wrong - can you tell me how to fix it?

#

I am working in PHP from this

#

https://stripe.com/docs/api/accounts/update

More parameters

business_profile
optional associative array
CUSTOM AND EXPRESS
Business information about the account.
Hide child parameters
business_profile.mcc
optional
The merchant category code for the account. MCCs are used to classify businesses based on the goods or services they provide.
business_profile.name
optional
The customer-facing business name.
business_profile.product_description
optional
Internal-only description of the product sold by, or service provided by, the business. Used by Stripe for risk and underwriting purposes.
business_profile.support_address
optional associative array
A publicly available mailing address for sending support issues to.

#

maybe I wrote the PHP wrong?

dim hearth
mortal tinsel
#

aha thanks

#

I will check

dim hearth
# mortal tinsel aha thanks

I still think there may be an issues with product_description on our end, but that fix should at least get you to a point where you can update all the other fields

dim hearth
dim hearth
mortal tinsel
#

Thanks karbi - when I ran it I got the error -
Fatal error: Uncaught (Status 400) (Request req_Oph8Qs3GRMOQbd) Invalid object thrown in /home/halive/public_html/biz/data/pay/vendor/stripe/stripe-php/lib/Exception/ApiErrorException.php on line 38

tacit fulcrum
#

Yo, anyone knows how to pass a parameter to an expanded object
For example, I'm retrieving customers list by email and expanding the response with data.subscriptions, but I also want to pass the status: "all" parameter to the subscriptions list
So that all subscriptions are returned, not just active ones

mortal tinsel
#

this works w no business_profile

$update = $stripe->accounts->update(
'xxxxxx',
[
'metadata' => ['order_id' => '6738'],
'capabilities' => [
'card_payments' => ['requested' => true],
'transfers' => ['requested' => true],
]
]
);

#

this has error

#

$update = $stripe->accounts->update(
'xxxxxx',
[
'metadata' => ['order_id' => '6738'],
'business_profile' => [
'name' => 'test',
'support_phone' => '3121231234',
'support_address' => '11 main street'
],
'capabilities' => [
'card_payments' => ['requested' => true],
'transfers' => ['requested' => true],
]
]
);

#

and took out product_desc

dim hearth
# mortal tinsel Thanks karbi - when I ran it I got the error - Fatal error: Uncaught (Status 40...

You're getting that error because support_profile doesn't take in a string, it takes in a hash (https://stripe.com/docs/api/accounts/update#update_account-business_profile-support_address). If you were to replace 'support_address' => '11 main street' with 'support_address' => ['line1' => '11 main street'] that would work.

mortal tinsel
#

aha thanks I will try it now

dim hearth
vocal wagon
tacit fulcrum
mortal tinsel
#

ok will do

vocal wagon
#

Okay my example didn't work, it's three backticks 🙂

dim hearth
#

@bitter pewter Sorry for the wait! Are you able to request the card_payments capability for these accounts? That should be all you need to do migrate

bitter pewter
# dim hearth <@!765319712455786546> Sorry for the wait! Are you able to request the `card_pay...

Sorry since I'm new on this project I'm not quite sure. I'm assuming when connected accounts are made they are given certain capabilities, and these capabilities are what displays in the dashboard under each connected account... if that's correct then no the card_payments capability isn't activated / can't be requested. Would I just have to request those capabilities then to migrate?

dim hearth
mortal tinsel
#

thanks Knippy will do

#

thanks karbi - not it's all working with full address update like this

#
'xxx',

[
'metadata' => ['order_id' => '123456'],
'business_profile' => [
'name' => 'test',
'support_phone' => '3121231234',
'support_address' => [
'line1' => '11 test street',
'line2' => 'Apt 7',
'city' => 'My City',
'state' => 'CA',
'postal_code' => '123456',
]
],    
'capabilities' => [
'card_payments' => ['requested' => true],
'transfers' => ['requested' => true],
]
]
);```
#

so happy thank you!

dim hearth
mortal tinsel
#

YES YES YES !!!!

atomic locust
#

Hello. Trying to get an understanding of stripe payment. Is it possible to integrate to accept payments from a website? If so, do we require our own back-end server (e.g. Node, etc)? Or can the website process the payment directly to a Stripe server, etc? Appreciate any advice. Thanks

dim hearth
zenith raft
#

i need some help with reseting my password because it wouldn't let me since i have opt password enabled

atomic locust
#

I don't mind "some" code. I have a few concerns. I don't want to have to have a back-end server. The site in question runs in a php server environment. It doesn't require a mass amount of transactions. It's for a property management company, so need to accept payments from home/co-owners for monthly payments of fees, etc.

#

So if you have any recommendations, I'm all ears. 🙂

#

I've tried getting someone to contact me from the stripe.com site, but so far, no luck.

dim hearth
# zenith raft i need some help with reseting my password because it wouldn't let me since i ha...

That's not something we can help with on our end (this is a channel for technical/developer help) - I'd suggest contacting support at https://support.stripe.com/contact/email and they should be able to help!

fair flower
#

Hi guys! Im developing a small Discord bot as a test through which customers can buy a digital product. I have only one theoretical question. The user should get to a gateway, is Stripe Checkout Session or Invoices more suitable for this?

atomic locust
#

Yeah, that just sends me right back to the contact form on the website. Which thus far I can't get anywhere with. I also don't see a phone number to call anyone. So I'm in limbo until someone can contact me I guess.

dim hearth
# atomic locust I don't mind "some" code. I have a few concerns. I don't want to have to have ...

Sorry that last message was for someone else - if you don't want to have any backend code then your options are more limited. I'd suggest looking into payment links (https://stripe.com/docs/payments/payment-links) and if that doesn't fit your use case you can look into some of the third-party options available (https://stripe.com/partners/apps-and-extensions)

zenith raft
lament pier
#

Hi there - could you point me in the right direction for updating my existing stored card tokens to work with SCA? all the guides I see seem to relate to just migrating existing checkout flows but I swear there's a dedicated page for this

dim hearth
fair flower
#

Cool, thanks for the quick answer. Seems like Im going with Invoices 🙂

dim hearth
valid escarp
#

Hello, my English is not very good, I am developing a web application that uses the sdk and the stripe api, can you make a card payment without having a customer? I get the following error, You cannot reuse PaymentMethods without attaching them to a Customer object firs

dim hearth
dim hearth
fair flower
#

Still have a question regarding invoices. Probably a stupid question: How can I add an invoice item to a invoice?

lament pier
valid escarp
vocal wagon
atomic locust
dim hearth
fair flower
upbeat grove
#

will there ever be a webhook for connect account create? currently we only have connect account update

lament pier
dim hearth
# atomic locust Ok. We would need it so the amount would be calculated by the site prior to sen...

If you need that level of control then payment links is not the best fit - I'd really suggest looking into third-party solutions if you don't want to have any backend code. We also have a very old client-only Checkout solution that doesn't require a backend (see https://stripe.com/docs/payments/checkout/client), but I really wouldn't recommend it. It has a lot of limitations and is no longer being actively worked on

atomic locust
vocal wagon
# fair flower Not an existing one. Im creating an invoice and directly want to add an item.

If an invoice is not yet finalized or not yet created, you'd use the invoiceitem object. If it's not yet created, create one and then pass that ID into the create method for invoiceitems -> https://stripe.com/docs/api/invoiceitems/create

vocal wagon
#

If i'm understanding your question correctly.

fair flower
atomic locust
fair flower
vocal wagon
#

I'm not a stripe employee, and they prefer keeping everything in the public venue to the benefit of the fellow devs 🙂

dim hearth
fair flower
#

Oh sure. Then let me try to explain it better. One second 🙂

vocal wagon
dim hearth
# atomic locust Also, I'm not opposed to coding if required, just hoping not to have to have our...

Yes, but not having your own back-end server really limits the integration options you have. Almost all of direct integration guides require some backend component (leaving you with only third-party options if you don't want to have your own backend). I can't make any specific recommendations, but there are a number of third-party apps + extensions we have listed here (https://stripe.com/partners/apps-and-extensions/collection/recurring-payments) that support recurring payments, so that's where I'd recommend starting.

fair flower
# vocal wagon Provide some code too, if you can, maybe the invoice creation process!

I'm probably going about it the wrong way. I keep it small and handle it in a single function. i start by creating a price for a product. Then, I create the invoice & add an item.


const createInvoice = async (customerId: string) => {
  const price = await stripe.prices.create({
    unit_amount: 500,
    currency: "usd",
    product: "prod_XYZZZ",
  });

  const invoice = await stripe.invoices.create({
    customer: customerId,
  });

  const invoiceItem = await stripe.invoiceItems.create({
    customer: customerId,
    price: price.id,
    invoice: invoice.id,
  });

  console.log(invoice);
  console.log(invoiceItem);
  return invoice;
};
#

Not sure what could be wrong with that.

vocal wagon
#

for future reference, you can paste that in a code block, which is wrapped around three back ticks. for specific syntax highlighting put javascript without space right after the first set of backticks 🙂

dim hearth
fair smelt
#

Is stripe tax in beta since it is invite only? @dim hearth

vocal wagon
fair flower
vocal wagon
#

Yes @fair flower ,karbi is completely correct. It has to be created in reverse, so sorry about that 🙂

dim hearth
fair flower
vocal wagon
#

@fair flower i do advise you have some error tracking in place, so that if the invoice creation fails, it deletes the pending invoiceitem, as I think it'll sit there and then be added to the /next/ successful invoice, which could result in two line-items.

#

Say, for example, the API goes down, network error, rate limiting, etc, in the precise milliseconds between invoiceitem creation and invoice creation.

fair flower
vocal wagon
fair smelt
vocal wagon
#

But sshh, you didn't hear that from me

fair smelt
vocal wagon
# fair smelt Thats nice

Which means its also important that you have idempotency checks in your code to make sure a webhook that you already actually processed isn't repeated

paper sage
#

Is is possible to retrieve the ordered qty from the payment_intent.succeeded event please ?

fair smelt
dim hearth
zenith raft
vocal wagon
hearty pilot
#

Is there a limit to how many subscriptions a customer can have? I feel like it used to be limited to 20 but I was just able to create a customer with more than 20 subscriptions.

dim hearth
# paper sage Yes

Gotcah! So you can't get that information off the payment intent itself, but you can list the checkout session that is associated with the payment intent by passing in payment_intent when listing checkout sessions (https://stripe.com/docs/api/checkout/sessions/list#list_checkout_sessions-payment_intent). You would combine that with expansion to expand data.line_items and see the quanity for each line item

dim hearth
fair smelt
zenith raft
vocal wagon
# fair smelt Is there a public list of ipaddresses that stripe uses when calling webhooks? An...

Here's an example of how I have it in my client's code:

 (req, res) => {
      /**
       * @todo get this dynamically https://stripe.com/files/ips/ips_webhooks.json on server init
       */
    let stripeIPAddresses = [
        "3.18.12.63",
        "3.130.192.231",
        "13.235.14.237",
        "13.235.122.149",
        "35.154.171.200",
        "52.15.183.38",
        "54.187.174.169",
        "54.187.205.235",
        "54.187.216.72",
        "54.241.31.99",
        "54.241.31.102",
        "54.241.34.107"
    ];

    let requireValidIP = true;
    let webhook_secret = __APPCONFIG.stripe.apiKeys.webhook;

    let ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
    if (ip.substr(0, 7) == "::ffff:") {
      ip = ip.replace("::ffff:", ""); 
    }

    if (requireValidIP && !stripeIPAddresses.includes(ip)) {
      return res.status(403).send({
        err: {
          message: "Unauthorized IP Address",
          ip: ip
        }
      });
    }

    // validate signature
    const sig = req.headers['stripe-signature'];
    let event;

    try {
      event = Stripe.webhooks.constructEvent(req.body, sig, webhook_secret);
    } catch (err) {
      console.log("Webhook Error", err);
      return res.status(400).send(`Webhook Error: ${err.message}`);
    }

But to answer your question, IPs are available here: https://stripe.com/files/ips/ips_webhooks.json

fair smelt
dim hearth
vocal wagon
# fair smelt Is there a public list of ipaddresses that stripe uses when calling webhooks? An...

As far as what idempotency is for, it's basically a way of tagging a specific instance of a request with some sort of ID or signature. That way, if the same exact instance gets repeated in the future, you know that you've already handled that request. It works both ways, so you can generate an idempotency key in your API requests. That way, lets say your server repeats a request (maybe because of a network issue or a weird handling of a refresh button), Stripe will go "oh hey, I already saw a request with this idempotency key, I will ignore it"

see information about it here -> https://stripe.com/docs/idempotency

vocal wagon
# fair smelt Is there a public list of ipaddresses that stripe uses when calling webhooks? An...

as far as webhooks go, I'm not sure if Stripe itself has its own preferred way for developers to handle it, but what i do is, I locally store the ID of the event in an array, and check every future request to see if that event ID is in the array.

   if (event.request && event.id) {
      if (__KEYCHAIN.keyUsed(event.id)) {
        console.log("Webhook Error", {
          err: {
            message: "Event key already processed",
            webhook: event
          }
        });
        return;
      } else {
        __KEYCHAIN.addIdemKey(event.id);
      }
    }
void crypt
#

I am looking to hire a developer to help me differentiate location meta data on reports for my two locations , can anyone assist?

fair smelt
vocal wagon
#

@fair smelt This is how you pass idem keys to Stripe in your outgoing API requests:

  let idemKey = __KEYCHAIN.GenIdemKey();
      Stripe.plans.create(apiObject, {idempotency_key: idemKey}, (err, apiPlan) => {
        if (err) {
          return res.send({error:err});
        }

      [snip]
vocal wagon
# fair smelt I could generate a random key inside the metadata when creating a paymentintent,...

You could do that, but then you'd be doing a lot of database lookups and such to search against that metadata-random-key you generated. It could work, but consider if it'll be sufficient for your application model when it comes to system resources. Accidental re-sending is rare but it can definitely happen, by that, I think my point is I don't know how necessary it is to indefinitely store those keys for checks after a few days.

#

And additionally, if you have automated objects being created, like through a subscription, you won't have that opportunity to assign your own random key to it

dim hearth
zenith raft
#

i rather create now a new account, i'm don't like hold ups, sorry that how i just work, and be fast lol. but still thx for the help

vocal wagon
# fair smelt Thank you, I will just pull the json as you commented

This IP list doesn't change too-too much, but it can definitely change. So it's probably safe to cache the IP whitelist for a few hours so you're not constantly performing an HTTP request every webhook. Your server needs to respond to a webhook speedy-quick, otherwise Stripe will consider it a fail and will retry it later on

edgy axle
#

would anyone happen to know how I could use the expand key in a StripeResource request? For example:

#

const product_classes = await new resource(stripe).request({})

#

I thought I would be able to pass expand in the request object there

#

but it comes out as a bad request

dim hearth
#

@hearty pilot I don't have specific dates, but yes, the limit used to be 20 subscriptions per customer and has since been raised to 500

lusty geyser
#

Quick question on updating subscription using stripe.subscriptions.update, if i'm trying to manually update the cancel_at property to be after the period_end would i need to set the cancel_at_period_end back to false if by default in settings, i have it set for end of billing cycling month?

vocal wagon
#

@fair smelt But it is also important to check the signature of the webhook itself, to make sure it was signed with your webhook_secret this would also prevent attacks. In my example, I used constructEvent() provided by Stripe's nodejs implementation

fair smelt
vocal wagon
fair smelt
dim hearth
vocal wagon
#

I'm going to head back to work. Y'all in good hands with karbi 🙂

dim hearth
edgy axle
#

I'm testing the Product Catalog API

mighty hill
#

@edgy axle Hello! @dim hearth needed to step away, but I'd be happy to help! Can you give me the request ID showing the error about data.price? Here's how you can find a request ID: https://support.stripe.com/questions/finding-the-id-for-an-api-request

edgy axle
#

@mighty hill req_CBaSE8QW7tK0aI

#

also, hi

mighty hill
#

@edgy axle Taking a look, hang on...

#

@edgy axle That request was made to /v1/product_classes, but Product Classes have no price or data.price properties. Did you mean to hit /v1/products instead?

edgy axle
#

nope, this is actually what has been sent to me as documentation, this means I need to contact the team that made the docs and let them know this doesn't work

mighty hill
#

@edgy axle Are the docs you're using hosted on stripe.com?

edgy axle
#

No, this is private 😐

mighty hill
#

@edgy axle Ah, okay. What are you trying to accomplish with this request?

edgy axle
#

I can successfully list product classes, but the docs tell me I should be using expand to access prices associated with them

#

oh wait a sec, maybe you're right.. I might be hitting the wrong url..product classes are query params of products, lemme try something

mighty hill
#

@edgy axle Yeah, that's not how Product Classes work.

#

@edgy axle Prices belong to Products, and Products belong to Product Classes, not the other way around.

edgy axle
#

gotcha gotcha

mighty hill
#

@edgy axle I think you might want to try listing Products while expanding product_class on those Products?

#

@edgy axle Actually, no, I think you want to list Products and specify product_class and expand price_options maybe?

edgy axle
#

This is the curl command

#

so it looks like product_classes is a query param, but I want to pass the product class id with it and expand price from there

#

I'm not sure the best way to do that with StripeResource

#

could I do that in path?

mighty hill
#

@edgy axle To clarify, does that curl command work as expected?

edgy axle
#

I couldn't get that to work for some reason, don't even remember the errors I was getting

#

it's always auth issues though

#

and I can't copy and paste from the docs anyway lol

mighty hill
#

@edgy axle Can you share the code that led to the request you shared earlier?

edgy axle
#

can I DM you? I'm not even sure if I'm supposed to be sharing this publicly 🙃

mighty hill
#

@edgy axle No, I have DMs disabled. I also forgot this was in beta. 😅

edgy axle
#

brb gonna delete everything

mighty hill
#

@edgy axle Probably best to work with whomever your point of contact is/the one who provided the docs.

#

@edgy axle I don't think you need to delete anything.

lusty geyser
mighty hill
#

@edgy axle We generally don't like to share beta stuff because it's subject to change and whatnot.

edgy axle
#

right, I'm giving feedback on the API, I'm not doing anything production ready

#

ty for your help, though!

mighty hill
#

@lusty geyser Hello! karbi had to step away, but I'd be happy to help!

small ginkgo
#

What am I looking for, if I want to integrate the "other" payment methods in the Stripe-hosted checkout page? (javascript)

mighty hill
#

@lusty geyser What exactly is your question about that Customer Portal setting?

lusty geyser
#

@mighty hill oh thank you, by any chance do you know what the proper steps would be for updating the cancel_at timestamp if i set it past the end of billing period?

hallow siren
#

I keep getting a message stating that our account representative's social security number can't be verified, even though he entered the correct one. How do we fix?

mighty hill
#

@small ginkgo Can you provide more details? What do you mean by "other"?

lusty geyser
#

would i have to manually set the cancel_at_period_end to false? since technically the cancel date is not end of billing cycle

mighty hill
#

@lusty geyser To clarify, what does this have to do with the Customer Portal? Do you have two unrelated questions?

#

@hallow siren 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

small ginkgo
#

Alipay, Przelewy24, etc

mighty hill
#

@lusty geyser If you set cancel_at on a Subscription via the API the Subscription will cancel itself at the exact time you specify. It's not directly related to the current billing period in any way.

lusty geyser
#

@mighty hill I was telling @dim hearth that i have it set that cancelling a subscription via customer portal is set to end of billing period. which means that the subscription object's property: cancel_at_period_end is set to true

mighty hill
lusty geyser
#

what happens and what does stripe do when i manually update cancel_at timestamp to be past the billing period. does stripe automatically set cancel_at_period_end to false?

#

or does stripe use the cancel_at_period_end and ignore an updated cancel_at timestamp

small ginkgo
mighty hill
#

@lusty geyser So the scenario you're asking about is someone using the Customer Portal to set a Subscription to cancel at the end of the period, then you go in with the API and modify the Subscription in question with cancel_at set to a time period past the end of the current billing period?

#

@small ginkgo What do you mean? Are you asking about client-only Checkout?

small ginkgo
#

yes

mighty hill
#

@small ginkgo I'm honestly not sure. Client-only Checkout is deprecated and we don't recommend people use it. Let me see what I can find out...

lusty geyser
#

@mighty hill correct. a bit more context of why i need to do this is... i have an applied coupon but if the customer cancels a subscription the full period of the coupon is lost (the subscription ends end of billing period). So i'd like to manually update the cancel_at period to the full period of the applied coupon

mighty hill
small ginkgo
#

Ok, cool.

mighty hill
#

@lusty geyser Ah, okay. What behavior are you seeing in test mode? Is it different than what you expect?

mossy wren
#

Hello Stripe folks. I'm trying to debug how to send an invoice_payment.failed webhook for testing.
When I am in Developers > Webhooks > Send test webhook of said event, our app was able to pick up the event.
I tried to recreate this via https://dashboard.stripe.com/test/customers/cus_Jm05qQpD0n14Xf; I created an invoice with invoice items and initiated a payment with a card that is designated to fail. I didn't see any failed event come through. Would you have some insights for me?

mighty hill
#

@lusty geyser When I create a Subscription via the API, set cancel_at_period_end to true, then set cancel_at the cancel_at_period_end reverts to false.

#

@mossy wren The easiest way would be using Stripe CLI and the command stripe trigger invoice.payment_failed

#

@mossy wren That should produce output like this:

❯ stripe trigger invoice.payment_failed
Setting up fixture for: customer
Setting up fixture for: invoiceitem
Setting up fixture for: invoice
Setting up fixture for: invoice_pay
Trigger succeeded! Check dashboard for event details.```
And the event will be triggered.
#

@mossy wren To clarify, where are you expecting to receive these events? I'm not seeing any webhook endpoints configured that would have received it, and it doesn't look like you're using Stripe CLI either?

mossy wren
#

@mighty hill Interesting, I thought I had a webhook endpoint configured to receive it. It would've been: https://dashboard.stripe.com/test/webhooks/we_1ImluBEtYN1x6B8hM1X6dzTz
And we're not using Stripe CLI for these specific tests.

#

That webhook is configured to receive invoice.payment_failed webhooks. May you double check for us?

mighty hill
#

@mossy wren That's a Connect webhook endpoint, which means it will receive events from your connected accounts. If you want to receive events from your platform account you need to set up an account (non-Connect) webhook endpoint.

mossy wren
#

That explains everything. I have a couple other webhooks that are not receiving events either. I'll go ahead and make the switch. Thank you!

mighty hill
mossy wren
#

Yes, I have them all setup as Connect endpoints. I'll make the fix now - appreciate you looking into this.

mighty hill
#

Happy to help!

mossy wren
#

@mighty hill is price.updated considered an account webhook endpoint or Connect webhook endpoint?

fast mantle
mighty hill
#

@mossy wren It's both. Most events aren't specific to your account or a connected account, they're simply events that happen on a Stripe account.

mossy wren
#

Does that mean we need to setup a webhook endpoint for both Connect and non-Connect if we want to capture all scenarios?

mighty hill
#

@mossy wren If Prices exist on both your platform account and your connected accounts and updates happen in both places price.updated will fire on your platform and your connected accounts.

#

@mossy wren Yes.

mossy wren
#

Ah, I'm trying to wrap my head around this concept. With price update, it would been our app sending an API call to deactive/activate the Price of an affiliated Product. In that case, that would fire on my platform. Under what circumstance would it fire for my Connected accounts?

mighty hill
#

@mossy wren It depends on your integration. It may or may not fire on your connected accounts!

One key concept to understand is that a Standard Stripe account can be connected to another Standard Stripe account. Imagine the scenario where someone with a Standard connected account goes into their Dashboard and creates/updates a Price. That will fire a price.updated event on that account. If that account has an account webhook endpoint set up to receive that event they'll get it sent there. If the platform they're connected to has a Connect webhook endpoint set up to listen for price.updated events from connected account it'll also get sent there.

Does that help?

#

@mossy wren In your integration it depends where the Prices live. If the Prices exist on your connected accounts you need a Connect webhook endpoint. If the Prices live on your platform you need a regular webhook endpoint. If they live in both places you need both types of webhook endpoints.

mossy wren
mighty hill
#

@mossy wren I can tell you where that Price exists, but at a higher level what are you trying to build?

vocal wagon
#

I need help with updating my bank information for payout

mossy wren
#

@mighty hill In our app, we have user with Connected Accounts who own a Stripe Product. Every Stripe Product has a Price associated with them.
We're building out a Subscription model, regular Customers could subscribe to the different Products and be charged the respective Price that is associated with the Product.

bold basalt
#

@vocal wagon hello, please work with Support at https://support.stripe.com/contact for that, they can help you. This is not the right channel for this.

vocal wagon
#

Sorru

mighty hill
#

@mossy wren Where do your connected accounts define the Products that belong to them? In the Stripe Dashboard (meaning these are Standard connected accounts)?

mossy wren
#

We create the Products for our connect account via Stripe API. When a connected account establishes their credentials on our app, we fire a stripe.products.create call and track that Product ID in our own db; we'll then fire a second stripe.prices.create call referencing the product that was just created.

#

So in a way, the Product isn't directly associated with the Connected Account on Stripe, but we're tracking them on our own via our own DB.

mighty hill
#

@mossy wren What type of connected accounts are you using?

mossy wren
#

Would you be able to tell by looking?

mighty hill
#

@mossy wren Yep, looks like an Express account. So that means you're likely using destination charges, which means the Prices would live on your platform account.

fast kayak
#

Hello everyone
When creating an account (company), I try to create a "person" (1) with the file uploaded before this (2).

when create person sent
...
"additional_document": {
"front": stripe_file_response["id"]
}
...
but nothing happens 😦
steer in the right direction please

https://stripe.com/docs/api/files/create
https://stripe.com/docs/api/persons/object

bold basalt
#

@fast kayak hello, can you explain more, not sure I understand what the issue you're facing is? can you share a request ID for the request you make, so I can look it up?

mossy wren
#

@mighty hill Amazing, thank you again for clearing things up for me.

mighty hill
#

@mossy wren Happy to help!

bold basalt
#

@fast kayak can you explain more what the issue is and what you're expecting to see instead? thanks for sharing the request ID but not sure what issue you are running into

rough spire
#

Hello!
How can i create "card" type payment method from stripe-react-native-sdk?? I'm trying to use "createToken" function with type = card but it doesn't works

bold basalt
#

@rough spire hello, you would use CardField and call createPaymentMethod() (it will automatically grab the right card details off CardField
createToken() creates a Token, not a PaymentMethod, you want to create the latter.

rough spire
#

Perfect

#

Wich event should i trigger on cardField??

bold basalt
#

@rough spire no event on it, you just hook up a button to call createPaymentMethod() and it automatically grabs the CardField params from the view hierarchy

rough spire
#

Ok, will try it

lusty geyser
#

@mighty hill it seems that updating the cancel_at period to later than the billing period date messes up the customer portal view. The Cancel Plan button still shows up even though cancel_at period is set to discount.end period, as if the customer never cancelled (should be showing the "Renew" button instead)

dim hearth
lusty geyser
#

@dim hearth hi welcome back! thanks. like @mighty hill mentioned it seems stripe automatically sets cancel_at_period to false when i set a custom cancel_at period. but now issue is the customer billing portal shows the cancel button instead of renew button as if the initial "cancel" never happened (but in backend cancel_at period is correctly set)

rough spire
#

@bold basalt I'm still trying but it does not work :/ it shows me an error on createPaymentMethod()

#

I had

#
      <view>
        <CardField />
        <button onPress={() => createPaymentMethod()} />
      <view>
dim hearth
dim hearth
# rough spire I had

Hi there! @bold basalt isn't online right now, but give me a minute and then I can take a look. Do you mind sharing what error you're seeing?

lusty geyser
#

@dim hearth okay is there a way to relay that bug report to the customer portal team? Seems like i'll just have to inform my customers about this since i do need to set cancel_at period to be after current billing period when they cancel a subscription

dim hearth
# lusty geyser <@!845165114360856596> okay is there a way to relay that bug report to the custo...

I'm filing the bug report now - if you write in to support at https://support.stripe.com/contact and mentioned that you talked to karbi on Discord I can keep you updated on the state of the bug.

lusty geyser
#

@dim hearth okay. should i send an email support or chat?

dim hearth
rough spire
lusty geyser
heady pagoda
#

Hello Stripe engineers

#

im new to discord

#

how does this work exactly?

#

🙂

dim hearth
#

@lusty geyser I actually have a quick update - a teammate just flagged that this is expected behavior and unlikely to change. The intention is that the customer portal enabled customers to either cancel immediately or at the end of the current period. For a subscription where cancel_at is not in the current billing period, we want the customer to be able to cancel their subscription at their earliest convenience so when they press "cancel" the cancellation date will either be now or at the end of the billing period (depending on your setting)

lusty geyser
#

@dim hearth oh 😦 hmmm... i dont think stripe offers a solution yet for my business case then.... customer cancels a subscription with x free months off applied coupon -> customer should still have active subscription till full x months of the coupon is used

dim hearth
dim hearth
heady pagoda
#

cool

#

as in, is there always a stripe engineer online

dim hearth
vocal wagon
heady pagoda
dim hearth
vocal wagon
# heady pagoda amazing 🙂

the stripe community is amazing. the employees are awesome, intelligent people, the fellow devs look out for each other. it's awesome.

heady pagoda
#

oh my God

#

this is amazing

lusty geyser
#

@dim hearth unfortunately. do you know what properties of the subscription object actually gets changed when clicking the "renew button"? It looks like besides an immediate cancel subscription api endpoint, everything will have to be manually changed

dim hearth
mental cosmos
#

Hi everyone ~ I am new to Stripe and API programming in general. I'm wondering where the best place is to ask questions regarding some code that adds listitems via a collection of products from my database?

mental cosmos
#

ah, ok - I just didn't want to bug people with dumb questions 😄

lusty geyser
#

@dim hearth would i have to set cancel_at, canceled_at to null as well? Or does cancel_at_period_end to false automatically reset the state?

dim hearth
#

Hello! I've deleted your last message because it included your full name (which is PII), and this is a public channel. We can't help with account-specific issues here, but if you contact support at https://support.stripe.com/contact they should be able to help you

jovial meadow
#

Anybody

#

Ok sir

lusty geyser
#

@dim hearth okay ty

jovial meadow
#

No option to contact them

#

Its showed me some articles only

dim hearth
# jovial meadow No option to contact them

There should be a UI that pops up in the bottom right hand corner. If you can't get that to work, you can always go through the email form instead https://support.stripe.com/contact/email

neon bronze
#

@mighty hill is there any way we can test these errors and responses other than the initial card validation? We are trying to replicate these errors like how the customers would receive them in our production environment. (e.g. when they attempt to make the charge after the card has already been added)

mellow totem
#

Hi, we have managed to port the recent releases of the terminal SDKs for Android to Xamarin. Any chance that Stripe ends up owning the codebase for future releases?
Whilst we are in touch with senior management re other topics, we see some strong value and compelling reasons for Stripe to actually own such Xamarin-based SDKs given the obvious commercial reasons in multi-platform development.

dim hearth
dim hearth
mental cosmos
#

is there a code example on how to add list items to checkout programmatically as opposed to the static examples shown on the stripe site?

neon bronze
vocal wagon
vocal wagon
# mental cosmos is there a code example on how to add list items to checkout programmatically as...

Here's how I do it for my client!

    // build the line items array
        const lineItems = [];

        req.cart.orderNumber = await models.order.generateOrderNumber();

        req.cart.items.forEach(item => {
            const lineItem = {price_data: {currency:'usd', product_data: {product_data:{}}}, quantity: item.quantity}
            const stockLine = item.product.stock.find(sL => sL.SKU == item.SKU);

            lineItem.price_data.product_data.name = item.product.name;
            
            if (item.label) {
                lineItem.price_data.product_data.description = item.label;
            }

            lineItem.price_data.unit_amount = item.unitPrice

            if (stockLine && stockLine.image_map && stockLine.image_map.expanded?.length > 0) {
                lineItem.price_data.product_data.images = [stockLine.image_map.expanded];
            }

            lineItems.push(lineItem);
        });

        lineItems.push(shippingItem);

        let apiObject = {
            payment_method_types: ['card'],
            line_items: lineItems,
            mode: 'payment',

            success_url: req.protocol + "://" + req.headers.host + "/shop/order/success/{CHECKOUT_SESSION_ID}",
            cancel_url: req.protocol + "://" + req.headers.host,
        };
mental cosmos
#

I'm currently using a controller to handle the CreateCheckoutSession event (via post from the form), using the Stripe.Checkout library for c#, so I'd want the code to actually reside on the server - unless you think it's easier to handle the whole thing via the front end via javascript?

vocal wagon
mental cosmos
#

gotcha. I guess I'm taking the wrong approach - my current approach looks like this :

vocal wagon
#

In my example, I have a shopping cart that I'm managing throughout the user's session. When they add an item, it gets added on the database. When they hit checkout, it iterates through the items in the cart and then builds an array, and passes that array into the createCheckoutSession call

mental cosmos
#

but I'm getting an error that I can't get to the bottom of. this is kindof why I was hoping there's some code out in the netherworld showing a real life example!

#

gotcha. build an array.

#

I'll give that shot. I would have preferred using the objects's own "add" functions instead of string building, but I'm not picky as I just wanna get this thing running! 😄

vocal wagon
#

Yup. Build the array with the pricing data for each item, and then take that array and include it in the API call

#

I'm not a C# guy, isn't there some JSON parsing thing?

mental cosmos
#

the Stripe.Cart's Session object (at the bottom) handles sending the json to the server (I would imagine!)

#

thanks for the example Knippy - that's very helpful to get me headed in a good direction!

vocal wagon
#

Absolutely!

#

Happy coding 🙂

rare bane
#

Is it possible to split payment 4 ways during a connect transaction? Looking for a fixed fee to be charged payed by the end customer to the platform (us), a % fee from merchant to the platform, % fee paid to Stripe for transaction and remaining balance to the merchant. The end customer would see 2 line items in their bank statement - the fixed platform fee and the price of the product.

dry hatch
rare bane
#

Thanks, does the charge have to be a single charge? In the example given there is a single charge of $100 that would be visible to the customer.

bleak breach
rare bane
#

Thanks!

tranquil nacelle
#

I understand that if my connected account's details_submitted field is false that I should redirect them to the account link URL so they can finish submitting details. However, what should I do with the user if they have submitted details but charges_enabled is false?

bleak breach
# tranquil nacelle I understand that if my connected account's `details_submitted` field is false t...

It could be that the details submitted by your user are still being verified. I'd wait a bit longer for a account.updated event before checking the requirements hash to see if anything's missing: https://stripe.com/docs/api/accounts/object#account_object-requirements

mossy cape
#

Hello 👋🏽 I need some help surrounding Canada’s pre authorized debit and Stripe’s micro-deposits page. If anyone is willing 🤗

bleak breach
#

Hi @mossy cape, what's up?

mossy cape
#

When a user confirms the micro deposits, they are directed to a bank account verified page. The ‘Back to {ConnectedAccountName}’ always redirects to the URL ‘payments.stripe.com/microdeposits/{ConnectedAccountURL}’ which of course is always a broken link. I was wondering if this link is customisable?

scenic lark
#

Hello @young ibex ,
I need a little help please.
I was following your guide on Accepting card payment from your youtube video https://youtu.be/fhgqeeQczOc
at around 6:00 you type payButton.
in my case payButton showing as Red (error) Iam not sure why
could you kindly assist me on what I need to do.
I am very new to coding and trying to make a payment page for my Project. Thank you!

In this episode, you'll learn how to confirm a card payment with the stripe-android client library in an Android application. Thor covers how to use the CardInputWidget drop in component.

This episode builds on the previous episode about setting up an ApiClient for making an HTTP request to the server to create a PaymentIntent: https://youtu.be...

▶ Play video
bleak breach
mossy cape
#

@bleak breach Checkout

bleak breach
scenic lark
#

Hi @bleak breach It says Unresolved reference on Line 53

scenic lark
#

@bleak breach Thank you very much

bleak breach
mossy cape
#

thanks a lot 🙂

vocal wagon
#

On a stripe billing portal, does anyone know where these plans come from?

vocal wagon
#

My products list shows these. Not sure why the premium ones don't show?

bleak breach
vocal wagon
#

This is the extent to which I've setup the billing portal in Node.js (creating the link to see the plans):

    const stripe = new Stripe(stripeSk);
    link = await stripe.billingPortal.sessions.create({
      customer: stripeID,
      return_url: process.env.URL,
    });
#

Aside from that, all products were setup just on Stripe under Products.

bleak breach
# mossy cape

Where exactly do you see this page? Can you give me steps to reproduce?

mossy cape
#

so a user goes through PAD process using stripes checkout, enter details (test email to skip 3 day delay and to receive verification email: {any_prefix}+skip_waiting+test_email@{any_domain} > during checkout they choose manually verify > enter bank details > confirm > email gets sent > click link to verify > enter test micro deposits of 35c and 42c and confirm > redirects to page shown in screen shot

bleak breach
mossy cape
#

a link to my own success page

bleak breach
#

Okay, give me a sec, checking something out

vocal wagon
mossy cape
bleak breach
mossy cape
#

actually there I have no URL set

steel dragon
#

Hi

#

@meager hawk

#

@bleak breach

bleak breach
#

Hi @steel dragon, what's up?

vocal wagon
#

hi i have buyed a server form McsHosting but i did not get the server can i get a refund pls

dry hatch
#

I am afraid we can't help with that :/ Only with questions about integration

stark tide
#

@vocal wagon you'd need to get in touch with mcs hosting

vocal wagon
#

He is not replying so want can I do

stark tide
#

if they're not responding, then the other thing you can do is to get in touch with your bank to issue a chargeback

acoustic shell
#

I need some urgent help, i have connected my stripe to shopify plus and it looks great but when I make a payment it is saying "your payment can not be processes at this time" - how can I fix this so my customers can place orders?

sacred tinsel
#

G'day, I'm just wondering if it is possible to specify which card types to accept? Eg Mastercard and Visa but not Amex. Through dashboard or API would be fine. Thanks 🙂

stark tide
#

@sacred tinsel there usually isn't a good reason to restrict card brands, unless you're on pricing where they don't all cost the same. what are you trying to do?

acoustic shell
stark tide
#

@acoustic shell if you click on one of the failed logs, and look at the response body, what sort of error are you getting?

sacred tinsel
#

@stark tide yes that's it exactly, MC and VISA are at a much better negotiated rate, so don't want to accept AMEX at much higher rate

acoustic shell
sacred tinsel
#

@stark tide or other card types which are not at negotiated rate

acoustic shell
#

402 err

oak haven
#

Hey guys, we are using stipe API for payment. We had a use case where we had to provide a promo code feature. For that, we used stripe coupon feature and then generated the promo code via it. The problem is if the promo code discount exceeds the price of the products, the product price is changed to negative rather than being zero. Is there any way to change the price to zero rather than it changing to negative?

stark tide
#

@sacred tinsel before calling stripe.confirmCardPayment to confirm the payment intent, you'd need to check the brand of the card in the card element to verify it's visa/mastercard, and reject the input if not

#

@acoustic shell is there a more specific error message? there should be a field called message in the response body

unreal meadow
#

hi

stark tide
#

@oak haven is this using checkout sessions with products + coupons, or something else?

#

@unreal meadow 👋

oak haven
#

@stark tide what do you mean by checkout sessions

sacred tinsel
#

@stark tide Thanks, but I'm using Checkout so just setting up the session and redirecting. Is there an option there?

mossy nimbus
#

HI i need help for some guide and help for stripe

stark tide
#

@acoustic shell please delete that; this is a public forum that you shouldn't be posting customer details to

mossy nimbus
#

any can help me

acoustic shell
stark tide
#

@acoustic shell it looks like your account either isn't activated, or was disabled. you'd need to talk to stripe support if you'd previously activated your account

#

@sacred tinsel no, you can't use checkout if you only want to accept specific card brands

#

@oak haven how are you using coupons? is this with an invoice, or with a subscription?

#

@mossy nimbus shoot

oak haven
#

@stark tide with a subscription, a monthly or yearly one depending on the product type

sacred tinsel
#

@stark tide is it possible to not accept international cards with checkout? Again rates are much higher for these. Thanks

oak haven
#

the thing is we want the price to become zero if it exceeds the promo code amount exceeds the product price

stark tide
#

@oak haven I don't think you can get the coupon to not apply to the customer balance like that; I think you'd need to use a negative invoice item instead, so you can apply the capping logic in your code

#

@sacred tinsel same deal, sorry

stark tide
#

an invoice can consist of multiple invoice items; normally, you'd have one invoice item from the subscription, which would be a recurring invoice item that'll be added to every invoice

#

you could add a one-off invoice item for a negative amount to model the discount

quasi flicker
#

Hi everyone! I have succeeded to choose the network for a payment intent but after it i make a subscription for the client and the subscription payement is on "carte bancaire" network.. it's for the dual brand card ( cb & visa || cb & mastercard ) and i want payement only on visa or mastercard! it's possible to choose network on a subscription? thanks a lot!

stark tide
vocal wagon
quasi flicker
upbeat grove
#

@vocal wagon what data you want to pre-fill and maybe show the code. so someone can help you

vocal wagon
#

As documentation says: ID of an existing Customer, if one exists. In payment mode, the customer’s most recent card payment method will be used to prefill the email, name, card details, and billing address on the Checkout page

lucid raft
#

@vocal wagon where do you see that? AFAIK, when you pass the customer id, it will only prefill the email address.

meager hawk
vocal wagon
quasi flicker
#

@meager hawk just can i have a confirmation about that: Hi everyone! I have succeeded to choose the network for a payment intent but after it i make a subscription for the client and the subscription payement is on "carte bancaire" network.. it's for the dual brand card ( cb & visa || cb & mastercard ) and i want payement only on visa or mastercard! it's possible to choose network on a subscription? thanks a lot!

vocal wagon
#

I disagree because it used to prefill everything, just like docs are stating

meager hawk
#

yep it should work, hard to say why it wouldn't really! the main thing is it only prefills payment methods that were actually added via Checkout itself in the past for that customer, that's the main thing I see confusion about

#

@quasi flicker good question — I don't know and we don't have documentation on how that feature works for recurring payments. let me look internally for a bit and get back to you

vocal wagon
#

the question it why it doesn't work, but it used to

lucid raft
#

Hmm, if it is Link with Stripe, you should see this first before Stripe prefill everything

#

So it is either the customer needs to first click Save Inforamtion to pay faster next time first before that auto fill works

vocal wagon
#

it's turned on. This is testing mode and it used to work to be honest

meager hawk
#

do you have a URL of a CheckoutSession where it's not working so I can try to take a look?

quasi flicker
lament pier
#

is there a way to create a connected account from my test stripe dashboard that is auto-approved/confirmed? Creating one and selecting "skip this step" for test mode creates the account but is always restricted

meager hawk
#

@vocal wagon yeah, strange. I don't know! I'd suggest working with https://support.stripe.com/email so we can dig into it with the product team, if you keep seeing the same thing with new Customer objects. Sorry i don't have a better answer

vocal pollen
#

Hi, I'm having trouble with testing webhooks. I have stripe listen running, and it says connected, and on website it says currently connected, but when I send a test webhook it returns with "Test webhook error: 500 Failed to connect to remote host". I am forwarding to a local Rails instance but I don't see anything in the logs of rails or Stripe cli.

feral oxide
#

Hey guys. TIL that you guys can now send emails "from" a custom domain. I was going to implement it for our project, but then I saw that you require bounce.example.com to CNAME to custom-email-domain.stripe.com.. Don't you think that this name is way too generic? Especially given that your business is primarily not about emails. Could it be something like stbounces.example.com instead? What do you Stripe guys think?

kind pulsar
#

Hello, I have a questions about phases, and how this affects the CurrentPeriodEnd on a subscription.

I’m updating a subscription(sub_JbVfYmsK7CC6tC) to include a new schedule, in which I set the current phase to have a new end date (i.e. sub.schedule.current_phase.end_date), however I expected the CurrentPeriodEnd of the Subscription to be updated to this new phase's end date, but it’s isn’t - is this expected or am I doing something wrong?

meager hawk
#

@vocal pollen this is, the "send test webhook" button in the dashboard? That only sends to the URL of the endpoint you're setting up on that page, it doesn't send anything to stripe-cli

feral oxide
meager hawk
#

if you're on that page, what is the ID the endpoint(it's like we_xxx , it's in the URL)

#

@feral oxide you can't change it really and that's just how the feature works, so I don't really have any opinion to give you

vocal pollen
#

@meager hawk Yeah - It has a built in tunneling service, right? Because it was previous reaching api.teachme2.test which is only available on my local machine, but it looks like it can no longer reach it

meager hawk
#

@vocal pollen stripe-cli can tunnel but that 'test webhook' button only sends to the URL of the endpoint you're setting up on that page, it doesn't send anything to stripe-cli

feral oxide
meager hawk
#

so if your URL is not something pubic our servers will reach you'll get an error

kind pulsar
meager hawk
#

@feral oxide I can't since I'm not on that product — if you feel this could be improved I'd suggest contacting https://support.stripe.com/email so the feedback can be reported to that team and they can priotise it. I don't know anything about email DNS best practise myself so my opinion is probably less informed than yours!

#

@kind pulsar looking!

feral oxide
vocal pollen
#

@meager hawk I'm not sure I follow. I'm sure it was reaching my own machine (not publically available) by using stripe listen --forward-to api.teachme2.test/api/callbacks/zebra_webhooks --log-level debug

#

it was working for both the test webhook and by running through checkouts

#

now both are not working

#

it's not receiving anything

meager hawk
#

@kind pulsar I think this is just how it works, I understand what you mean about current_period_end should change, but it doesn't, it's just that when the current phase ends , the schedule will reset the subscription's billing cycle, the subscription object doesn't 'know' that's going to happen right now

#

@vocal pollen do you have an evt_xxx ID of an event you tested with which is not getting delivered?

#

also I'd suggest restarting stripe listen

kind pulsar
#

Ah okay, that's a shame - but thank you for looking into it @meager hawk ! 🙇

vocal pollen
#

@meager hawk Sorry! I've deleted and set up webhook again, and re-authorized stripe cli.. it is working for webhooks after a checkout. I should have checked again. Perhaps a re-auth was required after 90 days.

west pivot
#

Hello, me again 😅 I have a live implementation that works on localhost but not on the development site. I think it might be because the site has a login firewall. I was just wondering if I have to verify the domain somewhere though in case I'm incorrect in my assumption

meager hawk
#

@west pivot is this a screenshot from Checkout after redirecting to it? If so, if you open the devtools console, there's usually an error in there that hints as to the real problem(usually it's about API keys but hard to say)

#

@vocal pollen you don't have to apologise really, but glad to hear it's working

west pivot
#

Thanks, yes it is Stripe Checkout

#

I'll check the devtools now, thanks

meager hawk
#

let me know what it says(or you can link the page here and I can look too)

left orchid
#

Hello everyone. I have a question.

I have a portal and have multiple vendors registered on it. I want to collect payment from the customer, cut my commission from the amount and send the remaining amount to the specific vendor's bank account. Is it possible?

Any help would be appreciable.

meager hawk
west pivot
#

@meager hawk you're amazing! I don't have access to the site's environment file myself but the devtools let me see that the the publishable key was missing one character. Thanks so much

left orchid
#

@meager hawk Actually I am confused about what payout means. As per Stripe support, "Payouts are how money from your customers gets deposited into your bank account". In my case, I want to transfer the remaining amount to different vendors, for example, Customer A paid 10 dollars, I cut my commission 2 dollars and send the remaining 8 dollars to Vendor A.

meager hawk
#

@left orchid the way it works is :

#

so it all just works really

vocal wagon
#

Hi! I have a question regarding webhooks and rails. Currently we have webhooks for Stripe checkout and subscriptions for our platform, and for this we have a webhooks controller with a create method. I am currently wishing to code a checkout for stripe connect (payment intent) and am following the docs where it references creating a webhook for this. Can I simply create a new route/method in the existing controller (such as ‘create_purchase’, as well as our existing ‘create’), or would it be better to make a new webhooks controller for this separate checkout? As I don't want to cause issues with our current webhook for subscriptions. Any advice would be great! 🙂

lament pier
#

@meager hawk thanks - I created an "active" account but attempting to create a payment intent with the extra 'stripe_account' param set to the stripe_user_id obtained from the connected account flow shows me "OAuth key or Stripe-Account header was used but API request was provided with a platform-owned payment method ID. Please ensure that the provided payment method matches the specified account."

frosty coyote
#

What the deal with the --latest param on the cli, we had a developer with issues getting webhooks working and this was the solution, but wondering why its a problem to start with..

meager hawk
#

@vocal wagon well you can do it a few different ways. I don't use Rails myself but I think create is just part of the ApplicationController? Like you can't add a new function just called create_purchase ; you'd have to add like a new class CreatePurchaseWebhooksController for instance

#

you'll have to do that since it's a Connect endpoint so it will be a different URL from your main platform webhook endpoint and it will be using a different signing secret and so on

#

so I would create an entirely separate controller for it

#

@lament pier yes you can only charge PaymentMethods created on the connected account, so there's more to it.

vocal wagon
lyric iris
#

Hi. When integrating an express account. is there anything built in which will allow us to have the user create and use a new password to enter this area, or is this something we will need to custom build. Business logic is that some of our users share their ClassFit account, but wouldn't want the shared users to have access to the Stripe area so we'd want an extra layer of security before viewing that.

meager hawk
#

@lyric iris you own the authentication that decides what acct_xxx Stripe account a given user should have access to

lament pier
#

@meager hawk is this a change from the old charges API method of doing it? inside the frontend JS we used to supply the platforms PK rather than the connected accounts one

meager hawk
#

so like they log into your system's concept of a user account and your user database has stored their Stripe account ID and then you can tell Stripe to create a link for that account to view a dashboard(https://stripe.com/docs/connect/express-dashboard) ; you own that authentication

#

@lament pier hard to say! One thing did change(in the past if you created Tokens tok_xxx on a platform they were usable on connected accounts, but that was a legacy quirk that is not part of the modern PaymentMethod/PaymentIntent APIs) so that's probably what you're getting at

lyric iris
#

OK so if multiple users share the same ClassFit login details (several yoga teachers, with one studio account), but only the owner should have access to the Stripe Express area, we'd just need to custom build our own login barrier to that area? If so that's fine, I just wanted to make sure we don't custom build something that Stripe have readily available for us to just enable?

meager hawk
#

I don't think it makes sense to have multiple people associated with an Express account to be honest

#

like part of it is we collect a phone number and we will SMS that for a second factor of authentication when visiting the Express dashboard, so everyone would need access to that number

lyric iris
# meager hawk I don't think it makes sense to have multiple people associated with an Express ...

Agreed and they're not. We want the Stripe Express account to be limited to one person, the Stripe accountholder. But the ClassFit account is often shared access. So we will need a second barrier between the ClassFit Login and the Stripe Express account to separate access from many to one. That's why I'm asking if Stripe have something we can enable for this, before we start the build process ourselves?

meager hawk
#

but sure, if only the owner should have access to the Stripe part of your "Classfit" account and the other people on that account can see the other parts then that's fine yeah

lyric iris
#

I thought they'd need to (re)login using their stripe credentials to access this dashboard for example.

meager hawk
#

oh actually, they can do that as well, sorry.

#

that's a new feature and I forgot about it.

lyric iris
#

Oh awesome! That may save us some time... is there a tutorial for that option?

meager hawk
lyric iris
#

Ok awesome, and that will just just show the same custom dashboard we're building now?

meager hawk
#

hmm. It shows them the Stripe Express dashboard, if that's what you mean(it doesn't redirect them to any like ClassFit page for example)

#

i.e. it's the page linked here in the RocketRides demo(also there's a gif on the support site link I posted showing this a bit)

alpine depot
#

Hi, y'all! Has anyone been able to add Jest tests using stripe-react-native?

lyric iris
# meager hawk i.e. it's the page linked here in the RocketRides demo(also there's a gif on the...

OK I think this will be great. The only part I'm a little confused on, is when we spoke a while ago, you told me that a lot of the functionality like giving the customer the option to refund payments etc was what we would need to build. And we've build that now (within ClassFit) on our express integration. What I'm trying to understand is if we send people to this external link you're showing, is what we've built internally redundant, or does it all connect up?

#

So if we've build functionality so our clients can fully/partially refund their customers, will they see that on this external dashboard we're discussing now, or are they completely separate - and if separate, does the separate dashboard have refund functionality?

meager hawk
#

@quasi flicker sorry for the delay, but from I can tell internally unfortunately that brand/network choice feature isn't compatible with our Subscriptions API, recurring payments just use the default settings So there's not really any way to do this beyond manually processing the recurring payments yourself and passing the API parameters for network yourself each time, not using the Subscriptions API.

#

@lyric iris that Express dashboard only has the tabs you see in my screenshot there , it just lets you manage payouts and account verification

#

anything related to payments or refunds or disputes or making transfers is all things your platform controls, the Express account holder has no self-serve access to anything like that

lyric iris
#

OK so the external password protected version won't let a customer see his payments, or refund them. So if we need that we must host it all internally and custom build it. And if we want to silo this area from a mutiple user / shared classfit account to a single user stripe account, we'll need to build our own password wall between the two that is completely separate from the Stripe login. Is that all correct?

viral tangle
#

Hello ! I'm trying to make a regular payout to one of my seller's connected account. But it seems like "Ihave insufficient funds in your Stripe account for this transfer." I used the testing card to get funds directly charged, then why would this message appear ?

tranquil bane
#

Hello guys, what are the real possible values of card.brand?
The docs states that "Can be American Express, Diners Club, Discover, JCB, MasterCard, UnionPay, Visa, or Unknown." , but when I use an American Express card, what I got is brand: "amex" in the card object.

https://stripe.com/docs/api/external_account_cards/object#account_card_object-brand

meager hawk
viral tangle
#

Ok thanks ! @meager hawk

meager hawk
#

@lyric iris yes. I think you've looked at the RocketRides example before? Like in this screenshot, that is all a user dashboard you as the platform have built. In your business maybe instead of "rides" you have gym session or so on. You can choose to build a dashboard showing the person payments made on your platform that relate to them , and you can choose to give them the option to issue refunds by adding buttons/UI on this kind of page that tie into API actions.

The Stripe Express dashboard(my earlier screenshot above and what's linked as 'View Stripe account' here) is just for the person to manage the personal details of their Stripe account like what their bank account is and their KYC/identity verification.

pure finch
#

Hey there, I try to run on stripe CLI: stripe trigger account.update --stripe-account acct_*****RZ and I get an error: event account.update is not supported why? Thanks

meager hawk
meager hawk
#

what you linked is a different part of the API(it's for debit cards you pay funds out to in our marketplace product) so you're probably just looking at something else

#

but yeah in the Card object we use Visa/Amex, in PaymentMethods we changed to visa/amex as it makes more sense for an API value as it's easier to programmatically handle

#

@pure finch it's account.updated in any case

viral tangle
#

@meager hawk What kind of source should I set for the charge since I want my own balance to be the source ?

meager hawk
#

@viral tangle you would set to the value of an incoming payment, that's the idea.

lyric iris
viral tangle
#

ok ok 👍 thank you very much

meager hawk
#

like you charged a customer $100 recently, then when making the transfer of $30 tomorrow you specify that you are linking the transfer to the incoming funds form that payment( ch_xxx)

#

you can not use source_transaction but then the money has to come from your available balance

pure finch
#

@meager hawk any case of what?

meager hawk
#

which means you need to put your account on manual payouts so it accumulates funds (otherwise you never have available balance because we just pay it out to you as soon as we can

#

@velvet bridge I mean you should be doing stripe trigger account.updated

#

not account.update, that's not an event, account.updated is

viral tangle
#

Thanks I actually found it before 🙂

pure finch
#

ohh ok I will try

#

@meager hawk same error with account.updated

meager hawk
#

well it's a different error actually

#

Connect platforms cannot create new accounts on behalf of their connected accounts I assume

sharp quartz
#

Hello.

I pass the stripe_user[business_name] parameter in the link for Stripe Connect OAuth. And this value is successfully added to the company name field.

But in the form (almost at the end of the form) there is a field for the statement descriptor. The documentation says that the name of the business will also be added to this field. But now the domain of the business site is being inserted there. It looks like this: MYSITE.COM

Can you please tell me how can I fix this so that the name of the business is inserted?

pure finch
#

@meager hawk Ok, I will explain what I want to do, I want to test on my local the webhook account.updated , how I can do it?

meager hawk
#

@sharp quartz hi! unfortunately I don't think you can do anything about that, it's just how the onboarding form is designed/set up.

sharp quartz
meager hawk
#

@pure finch you can just do stripe trigger account.updated (without --stripe-account). stripe-cli will create a new Standard Connected account attached to your platform and will update it, which creates the event on that account and it would be sent to your Connect endpoints. Does that work for your use case?

pure finch
#

@meager hawk I tried it

sharp quartz
plain rapids
#

Hello, I am trying to collect recurring ACH payments through stripe subscriptions through PLAID

#

I am wondering if this is possible

#

The ACH page on stripe says it is possible but I did not see any documentation for it

meager hawk
#

@pure finch try upgrading as it mentions

#

it does work, I just tried it, so you likely need to update

plain rapids
#

@meager hawk Also we were previously collecting ach payments using dwolla

pure finch
#

@meager hawk I tried on Linux, but without success

plain rapids
#

and we want transfer those over to stripe completely

meager hawk
#

@plain rapids hi! yep unfortunately there's no direct documentation really so it's hard to explain unless you're already familiar with creating subscriptions on Stripe

pure finch
#

@meager hawk I can reinstall the stripe cli?

meager hawk
plain rapids
#

we have the plaid auth access tokens for existing users can we use those to move our recurring payments to stripe without any user interaction?

gentle thicket
gentle thicket
plain rapids
meager hawk
plain rapids
#

okay thanks, anyone else on this group knows about this?

meager hawk
river portal
#

hello guys, i want to top-up my virtual card or physical card in stripe is there a way to do it, i'm unable to find it ?

meager hawk
#

(payout schedule)

viral tangle
#

The things is that I'm automatically redirected to my dashboard like a middleware is activated

meager hawk
#

@river portal I don't really understand, what do you mean by top-up? Do you have a Stripe merchant account?

#

@viral tangle do you have administrator/owner access to the account?

viral tangle
#

I'm just a developer, then I don't think so

meager hawk
#

that's why then

viral tangle
#

Oh god.. that's why i've been kept redirected

#

It looks like it's already in manual

river portal
#

@meager hawk
i have some users and their card no's i want to add some amount into their balance.

like if cardholder have 10 $ in his account and i want to deposit some amount into his card let say i deposit 5$ more that he must have 15 $ in his card
is there a way to do it

meager hawk
#

@river portal what "account" does the cardholder have? Like, their bank account?

#

you can't just send arbitrary money directly to a card using Stripe, except by refunding a previous payment you made on that card for example

#

instead you'd use Stripe Connect for example (https://stripe.com/docs/connect/) to create a Stripe account for them and can send funds to that to be paid out to their payout method(which might be a debit card)

river portal
#

no they are cardholder on my stripe account and virtual cards are issued against them

meager hawk
river portal
#

yes but issuing will add that amount into my stripe account

#

i want to add amount from my stripe account to my users virtual card

meager hawk
#

ok, it really wasn't clear you were talking about Issuing, sorry.
As far as I know you want to use https://stripe.com/docs/issuing/funding/connect if you want to have separate balances per cardholder — you'd have a Connect account for each person and issue cards from those accounts. Without that, funds just all come from your platform's combined balance, it's not split into individual balances for each card.

viral tangle
#

@meager hawk I'm sorry to disturb you once again, but I'd like to know if what I've been trying to do is possible. I actually gather charged money in my account. When a user subscribe to my platform he automatically get a Stripe Connected Account and can sell products on the platforms. 1 time a month. I want to pay out every Stripe Connected Account (through my own application) following a certain amount. (The issue I'm facing is that I can't transfer a certain amount for each of my Stripe Connected Account with Stripe methods (payouts, transfert...)

meager hawk
#

@viral tangle it's possible but you will have to use manual payouts so you accumulate the funds on your platform. Otherwise what's happening probably is the customer pays you for the subscription, and you're on automatic payouts so the money just gets paid out to you as soon as we can do so.

#

if you accumulate funds in your account's available balance instead (by being on manual payouts) then you can use /v1/transfers to send some to connected accounts as needed.

#

it's really complex though! But it is certainly possible.

river portal
#

@meager hawk

thank you
so basically is not possible the way i was saying it.

as per your suggestion i may need to create their connect account for each individual and then deposit amount into their connect account and they will have their separate balances right?

meager hawk
#

@river portal yes

upbeat grove
#

is there a way to delete all the data in my stripe test account?

#

there are lot of customers/account which I don't want

viral tangle
#

@meager hawk Ok ! Then I should try transfers ! Thank you

meager hawk
river portal
#

@meager hawk
thankyou so much

prime basin
#

Hi

meager hawk
#

hello there

prime basin
#

I have face payment failed issue

#

like when credit card details or some other reason

#

Please have a look image

meager hawk
prime basin
#

Thanks

quasi flicker
vocal wagon
#

For this: https://support.stripe.com/questions/recreate-subscriptions-and-plans-after-moving-customer-data-to-a-new-stripe-account

I wonder if I need customer's action to confirm anything when I "recreate" the subscriptions using the API ?

meager hawk
vocal wagon
#

@meager hawk thank you very much! Stripe is brilliant!

oak haven
#

Hey guys, what webhook event is emitted when the subscription status changes to past_due

sick talon
oak haven
#

and also what webhook events are emitted in this case:

incomplete and expired

oak haven
sick talon
sick talon
oak haven
sick talon
oak haven
#

got it. Thanks

flint apex
#

hi guys

#

I need a help to cancel a pending payment, is that possible?

cerulean pineBOT
#

:question: @flint apex Have a non-technical question, account issue, or need one-on-one support?
We wish we could help, but this community is focused on developers and technical discussions. Our support team will be able to assist you better than we can: https://support.stripe.com/contact

flint apex
#

I'm a developer trying to find an API to cancel payment/charge

sick talon
#

@flint apex There isn't any way to cancel a payment that is in process. What are you specifically trying to do?

flint apex
#

Actually we made a duplicate payments which are all in pending state

#

so I want to cancel one

sick talon
#

Do you have the id of one of those? I can take a look

flint apex
#

not sure whether i can share that, could you please suggest some solution to the above stated issue?

sick talon
#

It would begin with either pi_ or ch_

#

There's nothing sensitive about the ids, they are useless without your secret key. You can share the ids here.

flint apex
#

sorry I couldn't share that due to some policies

#

it is starting with py_

sick talon
#

A request id would be fine as well (https://stripe.com/docs/api/request_ids), but if you're unable to share any of those ids here, the support team will be able to identify who you are if you write in via https://support.stripe.com/contact and they can look them up directly to assist.

#

It'll be much faster if you can share a request/payment id here though.

sterile fulcrum
#

hi there, stripe.billingPortal is showing up as undefined, has it been deprecated?

flint apex
sick talon
sterile fulcrum
#

6.36.0

#

node

sick talon
sterile fulcrum
#

great thanks

urban drift
#

Newbie to webdev/payments here. I would like to offer customers on my Shopify webshop where I sell subscriptions products the possibility to pay via IDeal with a digital authorization integrated in it for automatic monthly payments, or, at least SEPA direct debit payment with a digital authorization for automatic monthly payments. Can I do this on Shopify? If yes, how?

#

Does Stripe offer a customization option for this I mean

sick talon
north ether
#

Hi @mellow spear
What is the standard "stripe_fee" while charging the dispute?

sick talon
# north ether Hi <@!755285573043880118> What is the standard "stripe_fee" while charging the ...

any questions about Stripe's fees can be answered by the support team (https://support.stripe.com/contact) if it's not already answered by https://stripe.com/docs/disputes

vocal wagon
#

Good morning.

#

i just installed the Strpe in my store. Iwant to perform a test(with trial mode turnedon) with a payment. Iwould like to know, if such a payment would be deducted from my bank.

#

thank you

sick talon
vocal wagon
#

thank you

prime pendant
#

Hi everybody, I would like to know if any of you have implemented stripe connect with the Django Oscar platform to create an ecommerce. I'm looking to link them.

sick talon
rough spire
#

Hello!
Is there any tutorial or documentation to create a customer's credit card from react native using SDK??

meager hawk
sick talon
mossy wren
#

Hello Stripe folks. I am looking for some help with our webhooks.
I have two events for comparison: #1 evt_1JAc20EtYN1x6B8hV5vwyck1 (failed) and #2 evt_1J8oyPRHcurDxsvDZ6EjicQ1 (successful).
Our failed event is throwing a StripeSignatureVerificationError, although the method we used to obtain the signature is the same as the successful one. We obtain signature via req.headers["stripe-signature"].
Could I pick your brain as to where I could go to debug this?

sick talon
rough spire
#

Without do the payment

sick talon
rough spire
#

Ok let me see

mossy wren
#

@sick talon I just verified the the Webhook secret appears correct. Could you dive in more on what you mean by I have to use a Connect endpoint for a platform they're both connected to?
I initially had the failed event invoice.payment_failed on the Connect endpoint but switched it over from Connect to regular Account because that's where the event belongs.

meager hawk
#

@sick talon I'll explain

#

each of those endpoints has an entirely different signing secret whsec_xxx ,obtainable on those respective pages

#

you'd need to configure whatever software listens at each respective URL to use the respective signing secret for it to be able to verify the payload since the signature is computed based on the respective secret

mossy wren
#

@meager hawk Thank you. Yes, our system is configured to use the respective signing secret for different URL. I'm double checking again to see if that is the case.

meager hawk
#

assuming the secret is correct there's several other things it could be! Often it's that you are not passing the exact raw HTTP body to the signature verification function because some middleware is mutating it or parsing it to JSON before your code sees it; but since you have success elsewhere presumably that's not the issue here

rough spire
arctic fiber
#

Hey all, im developing an app that uses stripe and to avoid a lot of backend code I would like to be able to create a payment link with the api, does this exist? And if so where can I find documentation for it. Thanks ETA: ive looked through the documentation and googles but no luck

meager hawk
#

@arctic fiber I think the easiest way is to use Checkout : https://stripe.com/docs/payments/accept-a-payment?platform=web&ui=checkout it's just a small backend route and you can return a redirect for the customer's web browser to follow.
I feel like I might be missing something though. You could just embed a static payment link somewhere(https://stripe.com/docs/payments/payment-links) and that's totally an option too. But they can't be created in the API, if you need anything that is dynamic you'd use Checkout.

arctic fiber
meager hawk
#

@rough spire did you actually type card details into the CardField in the component in the UI when testing this? That error is what you'd get if you didn't, at least

rough spire
#

Yes i did

#

I used this testing card number value: 4000 0025 0000 3155

meager hawk
rough spire
meager hawk
#

hmm, interesting, I don't know then. Can you share the full code somewhere(like pastebin etc) and link it here so I can have a look?

rough spire
#

[Wed Jul 07 2021 11:40:48.558] LOG cardDetails {"brand": "Visa", "complete": true, "expiryMonth": 10, "expiryYear": 24, "last4": "3155"}

#
const paymentScreen = () => {
  const { confirmSetupIntent, loading } = useConfirmSetupIntent();
  const handlePayPress = async () => {
    post("/wallets/setup-card").then(({ data }: any) => {
      console.log(`client_secret`, data.client_secret);
      confirmSetupIntent(data.client_secret, {
        type: "Card",
      })
        .then((res) => console.log(`res`, res))
        .catch((error) => console.log(`error`, error));
    });
  };

return (
   <View>
        <CardField
          postalCodeEnabled={false}
          placeholder={{
            number: "4242 4242 4242 4242",
          }}
          cardStyle={{
            backgroundColor: "#FFFFFF",
            textColor: "#000000",
          }}
          style={{
            height: 50,
            width: "100%",
            marginVertical: 30,
          }}
          onCardChange={async (_cardDetails) => {
            console.log("cardDetails", _cardDetails);
          }}
          onFocus={(focusedField) => {
            console.log("focusField", focusedField);
          }}
        />

        <Button label="Prueba" onPress={handlePayPress} loading={loading} />
      </View>
  )
}

That's all

frosty coyote
#

When an invoice payment fails due to 3d secure, it seems to send two webhooks, invoice.payment_failed and invoice.payment_action_required. However, unless im blind there doesn't seem to be a charge associated with these. Meaning, when we receive the invoice.payment_failed, we have no way to tell why it failed.

Am i correct or am i missing something?

runic quarry
#

Hey everyone - I have been getting a high rate of "authentication_required" failure response on apple pay payments...Apple Pay is already SCA compliant and doesn't need an additional step for 3DS authentication. Has anyone seen this before or solved this issue? all the help is appreciated.

meager hawk
#

@rough spire could you share more context/the full code? for example you're not using StripeProvider here so that component must be part of something else?

rough spire
#

Yes I use it, as app principal app provider

#
export default function App() {
  return (
    <SafeAreaProvider>
      <StripeProvider
        publishableKey="{{PUBLISHABLE_KEY}}"
        // urlScheme="your-url-scheme" // required for 3D Secure and bank redirects
        // merchantIdentifier="merchant.com.{{YOUR_APP_NAME}}" // required for Apple Pay
      >
        <Provider store={store}>
          <AppNavigation />
        </Provider>
      </StripeProvider>
    </SafeAreaProvider>
  );
}```
meager hawk
#

@frosty coyote yes it sends both(for backwards compatibility because for integrations not handling 3DS they'd treat it as a failure). You would inspect invoice.payment_intent.last_payment_error while handling the event to see exactly why it failed

#

@runic quarry hi! hmm. Do you have an example PaymentIntent ID pi_xxx where that happened? Or are you not using PaymentIntents?

runic quarry
#

@meager hawk i have the PaymentIntent ID - will DM you

meager hawk
#

you're right that yes, Apple Pay should generally count as being compliant, but banks might still force 3D Secure, either by mistake or otherwise, or you have settings on your Stripe account for it.

#

you can just post it here (pi_xxx), it's not sensitive.

runic quarry
#

or how should I send it to you? do I send it here?

#

pi_1IhaLmDlpLzq27jHKUvqzOuH

#

this is different from the video i sent but i have 100s of transactions where this is happening

meager hawk
#

@rough spire hmm I really don't know unfortunately, I am not a React Native developer and this library is still in beta. Unless @bold basalt is around I'm not sure what else to suggest.

rough spire
#

Ok, no problem, thank you very much! I'll wait for @bold basalt

meager hawk
#

@runic quarry looking

runic quarry
meager hawk
#

@runic quarry do you have a more recent example than that one from April?

runic quarry
meager hawk
#

and yes the issuer can request 3DS on the charge attempt even if the card being charged being used was from an Apple Pay wallet. I think the idea is they 'shouldn't' but as I said, they might, either by mistake or otherwise. If you have a more recent example I can try to understand more

cinder torrent
#

I got an error message saying that stripe was not accepting live charges... can anyone tell me where I should start to fix this problem. I've reached out for support but I thought it might be a quick fix if someone had some insight

meager hawk
#

@cinder torrent reaching out to support is the right path

cinder torrent
#

ok....thanks

runic quarry
meager hawk
#

@runic quarry I don't, and this is not an account support channel so I can't get into that level of detail(you want https://support.stripe.com/email) but give me a moment to look into your example so I understand what's happening with it

runic quarry
#

ok apologies - thanks taking a look

meager hawk
#

ok so in that example yes, it was the bank declining the transaction and requesting 3D Secure, and so are the other examples

#

as the merchant you should still be able to handle it though and present 3D Secure

#

(that's why it calls confirmCardPayment twice)

#

so you should definitely at least change your integration to use the approach there so you can handle the 3D Secure step up.

#

for the more general question about how often it happens or so on, you should contact our support team if that's an issue, as I said though it's the banks enforcing this and SCA is ramping up so some of them might have their systems badly configured unfortunately and you happen to be impacted based on the spread of customers your business gets and their particular banks. Really hard to say.

runic quarry
#

ok thanks will take a look at the documentation and see if I need to make changes on my end

acoustic herald
#

How do you attach a payment method of one customer to another customer? (They are duplicate customer objects, have to do this as a workaround for certain reasons)

#

I tried detaching then attaching, but it says "cannot attach detached payment method". If I just try attaching, it says "this payment method is already attached to a customer"

#

"This PaymentMethod was previously used without being attached to a Customer or was detached from a Customer, and may not be used again." Exact error message for case 1

dim hearth
acoustic herald
#

Oh hm okay

#

Can I modify customer's id after it's initially set?

dim hearth
acoustic herald
#

Sure! I have an app with the following workflow: the user opens the app, creates an account with name and email. Then they open a JotForm in the browser and add payment method, specifying email and name. This creates a duplicate customer object in Stripe (because this is how JotForm implements it). My workaround is then to copy the payment method from the duplicate customer object to the original customer object and then delete the duplicate customer object.

dim hearth
vocal wagon
#

Hi there, we are hosting a virtual event. Our registration is being processed through Socio.events and our payment processor is Stripe. however when someone registers and we are in stripe to view the transactions, under payments, the transaction description is an alpha-numeric sequence and not the event name. This is problematic for us becuase we have multiple events/campaigns going on at the same time and need to know which event a payment belongs to. do you know how to edit the description in Stripe to be reflective of the event name from socio?

acoustic herald
#

Well previously it was because I'd have to reassign id in app state, but now this looks like a quicker way indeed. Thanks I'll do that!

heady pagoda
#

Hello Everyone 🙂

dim hearth
heady pagoda
#

Is it possible

#

to use stripe CLI with 2 different webhook secrets

#

as i am trying to simulate webhook events for connected accounts

#

and my platform account

#

?

vocal wagon
dim hearth
dim hearth
heady pagoda
#

ahh i see

#

so i'm testing the event.type balance.available

#

for both connected accounts and the main platform account

#

I'm also printing out the account value from the results of stripe.Webhook.construct_event

vocal wagon
heady pagoda
#

i've noticed (correct my if im wrong) that the account value doesnt appear as part of the result for my platform account

#

but does appear for connected accounts

dim hearth
heady pagoda
#

@dim hearth thank for that

karmic coral
#

Hello, the expert team here. My client is living in Mexico Country. They want to connect the stripe account to his business website. I try to connect stripe account, but there is no option for Mexico country. Request you to please guide me about the same.

dim hearth
karmic coral
#

Please Note: My client website is in WooCommerce.

dim hearth
karmic coral
#

No, this is my first stripe account. Connect it using WordPress WooCommerce website.

heady pagoda
#

another question, when the event type balance.available fires for a connected account. is it possible to relate which previous successful payment has been cleared after the 7 day waiting period (i'm in the UK)?

dim hearth
karmic coral
#

Yes, I want to add my client details by select Mexico country, but there is no option to select Mexico

#

There are only these options available

dim hearth
karmic coral
#

okkk

dim hearth
vocal wagon
heady pagoda
dim hearth
quasi flicker
#

Hi everyone maybe 5% of my daily payment are incomplete because of the 3Ds confirmation is fail.. i don't understand why.. i have this id to help: pi_1JAc42CnH6d31UhhJT23p1v0

#

pi_1JAcJsCnH6d31Uhhpbe7vO3I

#

pi_1JAc2ICnH6d31UhhpUgLzYS7

#

thanks a lot!

#

the pop up never appears and there is an error like 'it miss "client-secret""

crimson needle
#

@quasi flicker seems like an issue with your code if it's missing a client secret. Something in your code is not properly surfacing back the client secret from the server. You'll need to add detailed logs to your code to track what can cause this

quiet hemlock
#

hello guys, Im having a hard time creating a customer with

session = stripe.checkout.Session.create(
                customer_email=customer_email,
                payment_method_types=['card'],
                mode='setup',
                success_url=success_url,
                cancel_url=cancel_url,
            )

the UI shows that the card is saved, but there is no customer or anything on stripe. What am I doing wrong, thank you for nay help

crimson needle
#

@quiet hemlock you should create the customer upfront before the session and then pass customer: 'cus_123' to associate the Setup Session with a customer.

rough spire
quiet hemlock
bold basalt
#

@rough spire 👋 hello! are you using Expo with your app?

rough spire
#

No sir

#

React native cli

bold basalt
#

@rough spire ah gotcha, could you catch me up to speed real quick what the issue was? I missed it in the scroll back. I recall you had CardField set up and you were creating a PaymentMethod? or confirming a SetupIntent?

rough spire
#

I was testing both flows to check wich one should use

bold basalt
#

@rough spire gotcha, what error were you getting

rough spire
#

I was getting:

[Wed Jul 07 2021 12:04:58.141]  LOG      error {"code": "Failed", "declineCode": null, "localizedMessage": "Card details not complete", "message": "Card details not complete", "stripeErrorCode": null, "type": null}```
bold basalt
#

@rough spire ooh let me quickly repro but yeah it might be an issue if a few folks have reported it. Also looking back at how your view was set up (looked fine at first glance but double checking)

#

@rough spire PaymentScreen is a component that you present somewhere within AppNavigation , right?
I think it might be that in that view setup, it isn't able to grab card details from CardField view
on 0.1.4 how were you calling confirm... ? were you passing card details directly? no right?

rough spire
#

Yes PaymentScren is a component presented on my main navigation stack using react navigation.
And no, I'm not passing card details directly cause <CardField> do not give me all card details. So i put it on the same view and still getting the error that i mencioned.

bold basalt
#

@rough spire gotcha, let me repro real quick, back in a bit, thanks for the clear steps!

rough spire
#

Sure, anything i can help just let me know

safe fiber
#

oh hi team! me again 😅

#

if an invoice fails to be be paid via ACH can i somehow programmatically get that invoice to try again?

#

it appears that ACH payments do not go through a normal dunning flow...