#dev-help
1 messages · Page 113 of 1
@slate turtle hello, can you share an event ID for an event that didn't hit your endpoint? (just the evt_123 type ID, nothing else)
evt_1J6I2gDOwYADn7R8iwEoa6zi is the most recent one
@bold basalt oh great! thanks a lot!
@slate turtle can you tell me more about what the TLS error says and at what point do you get it, after you're getting the webhook event to your endpoint?
All it says is TLS Error. We were told, by support, that our cert had a chain anchor, which we fixed resolved. But everything was working before. We dont get the message at our servers... it fails to send from Stripe
our API endpoint has not been hit by Stripe since 2021-06-23 12:52:55.167
@slate turtle checking some things ... back in a bit
@slate turtle and you're sure nothing changed before 2021-06-22 UTC on your server? like changing some networking or openssl library etc?
Positive
@mighty hill do you know whether https://github.com/stripe/stripe-react-native has payouts integrated into it? Using the library, can I fetch bank account details from merchants and then later pay them via Stripe with a standard account?
@patent turtle The operations you're talking about are typically performed server-side with a secret API key, but it's possible I'm misunderstanding what you mean by "fetch bank account details from merchants". Can you provide more details about what you're trying to do?
I'm working on an app that lets customers buy food from local restaurants. I will use the library to onboard the clients - get their card details and collect money. Then I need to send this money to restaurant owners. For now I just ask them to fill out their bank account details with the manager app and manually send them money once a month. I'm thinking that if the money is already on Stripe, it could make sense to have Stripe collect the bank account details and then we will directly send money with Stripe.
@slate turtle I'm going to also take a look at the webhook for you
@patent turtle And you're planning to use Connect for this? https://stripe.com/docs/connect
Learn how to route payments between multiple parties.
I looked into Stripe Connect and if I can use the standard account that has no fees, it could be useful, especially until and if the app grows and payouts need to be automated
@patent turtle welcome 🙂
But the question is whether Connect is part of the react native library
@patent turtle Yeah, Connect is supported in the library.
Nice 🙂 So just to be clear, I plan to ask for bank account details and pay out with stripe - can I use the standard account for this?
@patent turtle Well, as the platform with Standard connected accounts, no, not really. With Standard accounts the connected account holders have full access to the Stripe Dashboard and would manage their own bank account info in there. You can point them to a hosted onboarding experience that includes setting up their account and providing those details, but the flow itself isn't something you would manage.
I see. So for me to collect bank accounts from merchants and pay them with my own Stripe account would require a non standard account.
@patent turtle Have a look here for details about how it works: https://stripe.com/docs/connect/standard-accounts
Integrating with Standard accounts is the fastest and easiest way to get started using Connect, since Stripe will handle the majority of the user experience and user communication.
@patent turtle If you wanted to keep full control over the entire experience you'd need to use Custom connected accounts, yeah. See here for a comparison of the different Connect account types: https://stripe.com/docs/connect/accounts
Learn more about the different types of Stripe accounts you can use with Connect.
Perfect. Thanks!
Stripe is refusing my account and not giving any sort of explanation and when asked why they refuse to elaborate. Terrible customer service. Is that the customer service the creators set out to achieve????
@fluid shadow 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
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
do they have an actual human i can speak with?
@fluid shadow That's all they have. We don't have bots or anything like that. When you're talking to support you're always talking to a person.
Why do they not have a customer service number????
why do they not have a customer service number?
@fluid shadow Depending on several factors you may be able to request a call here: https://support.stripe.com/contact
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
@patent turtle With Standard, if you create the account via the API you can provide bank details up until you create the first account link for the Standard account. So you can collect and save bank details up until the account starts to onboard and claim the account you created.
The same is true for Express, as well
So you're saying I use the API to collect bank account details from restaurant owners, then claim those bank accounts, which will let me send money to them with Standard, and therefore avoid charges?
Yes, so you can create Standard connect accounts with https://stripe.com/docs/api/accounts/create, passing type=standard and passing a value for external_account (https://stripe.com/docs/api/accounts/create#create_account-external_account).
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
@patent turtle To clarify, the Standard account holder will have the ability to edit or replace the bank account details. I'm not sure what you mean by "claim those bank accounts" but it might not work the way you expect.
You are skirting the answer just as much as they do. Why is there no physical or auditory way to get in touch with this company that is holding my money???
OK that's interesting. I will need to look at the example app the Expo team created and see if I can create a similar interface to collect bank accounts.
@fluid shadow I don't know the reasons there isn't a number you can call. I just know there are various ways to contact support, including the option to request they call you.
@slate turtle The error we're seeing on the back-end for your webhook does look suspicious and I'm filing a ticket with our API services team to take a closer look.
I'm not the one who used "claim those bank accounts". @fast mantle did. I suppose from the Stripe team?
I have completed this steps multiple times and they have only reached out once and did not give a actual answer. Basically, you're saying there is nothing you know about the subject I'm asking you on?
@patent turtle You said exactly that in this message 🙂 #dev-help message
My case is very clear. I need to be able to pay out restaurant owners and I prefer to avoid charges, certainly at the beginning, therefore the standard account is what I'm after (I guess?)
@fluid shadow That's correct. This is not Stripe support, this is a community for Stripe developers.
Yes, I know, in response to @fast mantle. I was affirming.
Clarifying so I don't go spending hours developing only to learn I cannot do what I need to do
Well something needs to develop a better customer service for them.
@patent turtle Yeah, as long as you're okay not having direct control of the payout account associated with the Standard accounts, that will work.
Is there a method of submitting credit card details directly in the Stripe API that doesn't require the use of client side/ iframe implementation?
We have an API that is completely headless and we don't have the option to submit HTML to the end user.
I've seen the 'Send raw PANs' option but I'm curious if this is my only option.
(We're already PCI compliant and certified and are only looking to process standard CCs)
Could you clarify what "direct control" would mean? I only need to send money to those accounts.
@wary spade Yep, it's possible, but strongly discouraged. We do have a code snippet that shows how to do this here though: https://stripe.com/docs/api/payment_methods/create
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Can we provide the cc numbers directly in the payment intent
@patent turtle You can send money to the Standard account, but from there the payout account is controlled by the account holder.
@patent turtle to clarify what I mean about "claim": when you create an account through the API, you'll use the Account Links API to get the user to actually set an email+password and provide any missing details. https://stripe.com/docs/api/account_links/create
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Ok, I'll review that thank you
Oh I see. So you're saying I can onboard the restaurant owners and have accounts created for them with Stripe which they can control and THEN I can send money to those accounts. Yeah, that's not what I'm after. I'm looking for extreme simplicity - ask the owners for their account number and routing, and then send money to them once a month
Are you US-based?
yeah
@patent turtle Yeah, for that you would need Custom accounts to have full control of the entire experience.
You can use cross-border payouts: https://stripe.com/docs/connect/cross-border-payouts
There's essentially no solution where you don't need to collect anything other than bank details: government regulations and financial partner rules require some information about their identity to be collected (name, DOB, etc.). Cross-border payouts ("recipient TOS"; it's simpler even in the domestic use case) is going to give you the simplest onboarding, and it'll let you send transfers to those accounts and get them paid. My recommendation is to use Express for this, since you don't need to worry about building the forms and collecting information correctly (we take care of localization, making the inputs validate/format correctly, reaching out for new details if their bank fails a transfer, etc.). You can still provide bank details when you create the account
Transfer and pay out funds around the world
Custom will let you do this entirely without sending the user to a Stripe page, but you'll need to build all of the UI for collecting the necessary information yourself, and if it changes (it likely will), you'll be on the hook for updating your UIs.
We do offer Connect Onboarding for Custom, which will collect KYC information. But currently the Connect version (unlike Express/Standard) doesn't collect bank details. So you'd have to manage that yourself, separately
I'm guessing Express will be, or already is integrated into https://github.com/stripe/stripe-react-native ?
If this whole ordeal is integrated into the react library, there's no doubt I will use it
Perhaps in the very beginning not because it would mean more dev time and more delay, but as soon as possible yes
@patent turtle What do you mean by "integrated"? You can write a React Native app that onboards people onto Standard, Express, or Custom accounts but doing so it's like a few lines of code.
@patent turtle For example, for Express, these are the steps you need to take: https://stripe.com/docs/connect/express-accounts#create-account
@patent turtle Some steps happen on your server, some happen on the client (your app).
@patent turtle How you implement the specific process is up to you and requires you to code what you want.
Got it. I will need to explore the react native library and the Expo example and see how I need to handle it. tbh I haven't had the time to look into it yet.
Hello, have a quick question. I am creating a customer invoice using with collection_method: "send_invoice".
- Will Stripe send this invoice on customer's email address along with a way to enter card details and make a payment? Currently when I am creating such an invoice. I don't receive any email.
- If customers chooses to pay using that invoice email, will Stripe store the payment method for future use?
@twin flame
- Will Stripe send this invoice on customer's email address along with a way to enter card details and make a payment? Currently when I am creating such an invoice. I don't receive any email.
Yep, they'll get an email pointing them to a Stripe-hosted Invoice page where they can pay. You can see this page by visiting the hosted_invoice_url on the Invoice: https://stripe.com/docs/api/invoices/object#invoice_object-hosted_invoice_url
- If customers chooses to pay using that invoice email, will Stripe store the payment method for future use?
Depends on the payment method. See here for details: https://stripe.com/docs/invoicing/hosted#payment-method-persistence
And I am assuming if customer payment go through successfully that invoice will be marked as paid by Stripe automatically. Is that correct?
@twin flame Yep!
Alright thanks @mighty hill . How can I test all of this? I am currently sending the create and finalize invoice but get no emails as such. How do I make sure integration will work as expected in production?
@twin flame I think you can manually trigger an email in the Dashboard, hang on...
@twin flame Yeah, if you pull up the Invoice in your Dashboard you can click on the Send invoice button to send an email in test mode.
awesome!! yeah I am able to complete the entire workflow. Thanks you!!
Hello Stripe team. For our customers who are getting trying to establish a connect stripe account routed to https://connect.stripe.com/, we are trying to find out how to enable the dropdown option for users to pick their country code. We are able to see that dropdown option in other platforms utilizing Stripe, but that option doesn't seem to be there for us. Insights?
@mossy wren Hello! Can you provide more details? What country is your platform account in? Are you specifying a country when creating the connected account via the API?
@mighty hill Our platform is currently in America, but we have a client who is trying to connect their bank account from Mexico and seem to have problem doing so.
We're trying to figure out the issue and one of the discrepancy we see is that the user wasn't able to select his country. Not sure if that is the root of the issue, however.
@mossy wren Can you address my question about providing the country when you create the account via the API?
@mossy wren I'm specifically asking about this property: https://stripe.com/docs/api/accounts/create#create_account-country
Or are you not creating the account via the API?
We are creating the account via the API. Currently, we're setting the country as "US".
@mossy wren So the account holder is in the US but they have an MX bank account?
I have a curious question. Say I have Elements on the one page (from Stripe Account A's keys) that generates a payment token, can charge that token on say Stripe Account B? I ask because the client I'm working on is switching Stripe accounts but I have to support both for the time being (for refunds primarily and webhooks)
@worldly knoll No, you can't do that.
Thought so, just wanted to confirm 🙂
@mighty hill The account holder is in MX with an MX bank account. I was wondering if we are able to have the user select their own country via connect.stripe.com/express? Is there a place where I can configure that?
@worldly knoll If those two accounts are connected with Connect you can clone Payment Methods from the platform to the connected account though: https://stripe.com/docs/payments/payment-methods/connect#cloning-payment-methods
@mossy wren If you don't specify a country when creating the account Express onboarding should prompt for one.
@mossy wren At least I thought that's how it worked, let me confirm...
Interesting, good to know. Unfortunately they are not connected. I was thinking about what to do with existing users on Stripe Account A when they want to upgrade/renew. It's probably best to just create t hem as a new Customer on Account B and then process the charge.
Awesome, thank you!
@mossy wren Ah, no, I was mistaken! For Express it depends on the settings in your Dashboard here: https://dashboard.stripe.com/settings/connect/express
@mossy wren Do you have Mexico enabled there for onboarding and for Transfers and Payments?
Ah, we just enabled Transferes for Mexico
But after enabling Mexico, we're still not seeing the drop down for the country list for new users trying to connect to Stripe Account
@mossy wren Did you enable Mexico for Payments as well as Transfers?
Hey!! I’m trying to access my stripe account however it’s with my old phone number and I’ve got rid of my SIM card😩 it’s texting codes to my old number to access my account, can somebody please help me😥 thank you
@mossy wren Or, alternatively, are you only requesting transfers during onboarding?
@fossil pilot Hello! You'll need to reach out to support for help: https://support.stripe.com/contact/email
We're only requesting transfer function for our Stripe Connect Accounts
Looking to get the default currency symbol included on the invoices - do you guys know how to do that? e.g. I have USD$ as default but it only shows '$' and no 'US$'
They will have Subscriptions connected to their Product/Price and the idea is to have the payouts be paid to their Stripe Connect account at every payout interval.
Hey! I have done this but it’s still asking me for this and not letting me any further for account recovery
@mossy wren Right, but is &suggested_capabilities[]=card_payments anywhere in the Express onboarding URL you're using?
@hushed charm Can you provide more details? Looking to get it from where?
@fossil pilot You need to contact support about that issue. There's nothing we can do here to help you log in to your account.
@mighty hill No, I don't see that param in the express onboarindg URL
hey Rubeus, thanks for replying - so it shows on the template
i.e. t he 'US' shows but when I actually send the invoice to pay to customer the 'US' is removed
@mossy wren Can you send me the link to your Express onboarding flow? I can have a look
(or are you using account links?)
@mossy wren Mexico should be showing up then; it's working when I test it here. You're 100% certain Mexico is enabled in your Dashboard both at the top and inside Transfers, and that those settings have been saved with the Save button at the bottom?
Hey guys I have a question about Idempotent keys.
Idempotent keys for refunds seem to have different behaviors than when they're used for charges?
A duplicate charge with the same idempotent key as a previous charge raises the expected exception. However, a duplicate refund with the same idempotent key as a previous refund just passes through.
Is this behavior by design or is there something I'm not passing?
@hushed charm I don't think there's a way to change that behavior, but I'm honestly not sure. I recommend you reach out to support and see what they say: https://support.stripe.com/contact/email
thanks, will do!
@mighty hill Yes, we checked off the country MX in both the top and inside transfer
@fast mantle thank you! Here's a link: https://connect.stripe.com/express/OuQVS9GrXsdN#/account
So that's the Express dashboard, which means that the account is already onboarded. After onboarding, the country cannot be changed
When you say a Charge raises the expected exception, what specifically do you mean? Do you have the ids of two requests that show what you're talking about and what you'd expect to see instead?
I'm not saving the ids at the moment just rolling though some debugging but I get an exception when I pass in two identical charges with the same idempotent key.
When running a similar test with the refunds, two identical refunds with the same idempotent key I don't get a similar exception.
If you go to your Logs in the Dashboard you can retrieve the request ids https://stripe.com/docs/api/request_ids
happy to take a look at those and see what's up
Got them 1 second
req_IFQFr2Y0pdJgDt and req_pDZwAmn1aN0Kpc
I was expecting to see an exception when we passed the same idem key, it looks like it recognizes that this is a duplicate but I didn't get an exception. Is there a way I can trigger an exception?
OK, that's expected. The successful response is identical on the idempotent retry. Do you have the requests where you see an error on the Charge retry?
Anyone else ever experiencing issues with getting TAX % displayed on your invoices?
not really related to dev but I can't find the answer anywhere
What's the specific issue you're seeing?
well In my stripe settings I turned on that I want 21% tax on my invoices
on my templates
I enabled it
but when I take a payment there is no tax on the invoices
Where specifically did you enable that? In the Dashboard, somewhere else?
yeah wait here,
@sick talon
Here are my transactions that resulted in the exception:
req_N41C5VuPV1E3nA
req_OuQEUo82vrHw4n
Here i made a tax rate
and its active
so I am not understanding what exactly is going wrong
You changed the payment_method parameter on the idempotent request so it errored. If you'd used the same original payment_method you would have gotten the original response again.
Ok, thank you
@sick talon
Is there anything we can look at that will show us that this is they type of success? A success that is simply a replay of the previous call based on the idempotent key?
Something in the original two ids I sent that shows a "hey this is actually a duplicate"?
OK after creating the Tax Rate, you also need to specifically apply that rate to the Subscription (https://stripe.com/docs/billing/subscriptions/taxes) or individual Invoice (https://stripe.com/docs/invoicing/additional-features/taxes/tax-rates)
@slate turtle You still around?
I need some help, i have connected accounts, who take in payments, all that works great. what i am trying to do is get a list of transactions for a connected account, so i can display their overall net, fee, and total. but i cannot find a way to pass in an account_id and get a transaction list? anyone have any suggestions?
If you make an idempotent request with exactly the same request parameters, the object you get back in the response will be the exact same object (created time, id, etc.)
is there a possibility to add it through the dashboard or is this more code related?
You'd pass the Stripe-Account header (https://stripe.com/docs/connect/authentication) and then make whatever API request you need, e.g. listing Charges (https://stripe.com/docs/api/charges/list)
That takes a customer, not a connected account id?
When you create or update a Subscription in the Dashboard, there's an option to "Add default tax"
The Stripe-Account header takes the account id
@mighty hill I work with @slate turtle . Would you have an update?
thanks got it!
There's a team internally that's actively working on a solution 👍
dang it, thank you @sick talon, i only saw the chargeListOptions, and didn't add the requestOptions to the calls.
Sorry for the late reply. Thank you, it does seem like we're setting "US" as the country code when we first create a stripe account. Under what circumstance may we allow users to select their own country during the onboarding process? We've seen it on other processes but not sure how to populate that on our own.
Thank you. Look forward to a resolution
@static vortex Ah, hello! We think the issue is being caused by a new default security setting in newer versions of OpenSSL. It looks like your server isn't technically following the TLS spec (older versions of OpenSSL itself didn't follow the spec correctly) which is leading to the issue. Upgrading OpenSSL to the latest on your end should fix the issue immediately, or you can wait for us to revert the change (after which we'll send comms to impacted merchants, including you, and give you time to update before we enable the setting again).
@mighty hill Since we have been unable to process Webhooks for more than 2 days, I think it is better to revert and give us time to implement the change. Would you have an ETA for this?
@static vortex Likely a few hours from now, give or take.
Thank you very much
@static vortex Happy to help! Sorry about the trouble!
@sick talon I'm signing off for the day but before I report back my progress on the success' I've seen today can you check over the transactions on that account and let me know if you see anything that would be stopping those transactions from being used with a live account after that live account went thought the set-up process with Stripe?
(Sorry for the run on sentence)
Is there anything specifically you're curious about and wanted confirmed? Test mode is ~identical to live mode so if things are working in test, they should work in live the same.
Nope, that's pretty much what I was hoping to hear. Thank you very much for your help.
Are you using Express OAuth or are you using account links to onboard the accounts?
Tomorrow is my birthday and this is gonna make for a great weekend 😛
@fast mantle we're using account links to onboard the account
stripe.accountLinks.create
Our goal is to let the users from other countries select their own country
Well then, happy birthday!
@mossy wren Can you share a snippet of what your stripe.accounts.create call looks like?
account: stripeAccount.id,
refresh_url: stripeConfig?.refresh_url,
return_url: stripeConfig?.return_url,
type: "account_onboarding",
});```
Let me know if you need to see how we create the stripe account prior to the accountLinks.create
@mossy wren Sorry, I should clarify: the account links should be fine; what I'm looking for is the accounts create calls
i.e., where you're actually creating the account itself
Oh that was my fault!
Yes, let me send that to you. 1s
business_type: "individual",
email: params.email,
individual: {
email: params.email,
first_name: params.realName?.first,
last_name: params.realName?.last,
},
type: "express",
metadata: {
id: params.id,
},
settings: {
payouts: {
schedule: {
interval: "monthly",
monthly_anchor: 31,
delay_days: "minimum",
},
},
},
});```
@fast mantle We initially had country: "US" as the param, but later removed it, thinking it would work but it's still defaulted to "US".
Got it, that should be fine. The country can't be nil; it'll default to the country of your platform. When you create that initial account link, after we collect+verify the user's email and phone, it should ask for their address (including country) and business type.
I'd suggest leaving the business_type parameter off of the account, though. It can actually simplify things depending on your express configuration
@fast mantle TY. Is there a place you'd suggest us looking into as to why people out of US are not able to connect to Stripe Connect Account?
Can you send me the livemode client ID for your account? You'll find it on the Connect Settings page in your dashboard
@fast mantle Great, I'll try to obtain it and will circle back once I have it. I appreciate all your help.
Is there a way to set the invoice item period parameter when creating invoices from the dashboard instead of via API?
can i get the total amount i've transfered to a certain account within a certain period? i'd like to show my stripe connect users how much i've paid them this month so far and how much i paid them last month.
@finite dock hello, not sure, I'm not super familiar on all the functionalities of the Dashboard, I would say look around for it, and if it isn't in any obvious places, it might not be supported via the Dashboard
@red zealot hello, you'll have to list Transfers to that Connect account using https://stripe.com/docs/api/transfers/list and specifying filters to narrow down
awesome, thanks! it looks like there's a 100-transfer limit on the response. what if i've done more than 100 transfers to an account in that timeframe?
@red zealot you paginate or use autopagination from the Stripe built API libraries, to loop over the next 100 results, and so on: https://stripe.com/docs/api/pagination
oh of course. thank you!
thanks @bold basalt ! it's a little more roundabout in the dashboard but I finally found it. It looks like they need to create a product with the proper billing term -> create a subscription -> schedule the subscription and choose a custom start date + end after 1 billing cycle
@static vortex @slate turtle We believe we've fixed the tls_error webhook delivery issue on our end, can you confirm things look good on your end?
account_links = stripe.AccountLink.create(
account=business.stripe_account_id,
refresh_url='https://example.com/reauth',
return_url='https://example.com/return',
type='account_onboarding',
)
this function create an onboarding page for express account
How can I pre-provide the email, I don't want the page to collect emails because I want to use the same email which they have in our system
@upbeat grove You can pre-populate the email by adding it to the Account object when you create it (prior to creating the Account Link).
Yep!
I did and it created an account with the email but still asking
account = stripe.Account.create(
type='express',
email=request.user.email
)
@upbeat grove Those links are one-time-use only, so I can't see what you're seeing.
@upbeat grove The email property is not what you want though, as that's internal to you: https://stripe.com/docs/api/accounts/create#create_account-email
The email address of the account holder. This is only to make the account easier to identify to you. Stripe will never directly email Custom accounts.
@upbeat grove You probably want individual.email: https://stripe.com/docs/api/accounts/create#create_account-individual-email
account = stripe.Account.create(
type='express',
business_type="individual",
individual={
"email": request.user.email
}
)
@upbeat grove Yeah, that looks right I think.
try:
business = Business.objects.get(id=1)
if not business.stripe_account_id:
# Check if the user already has stripe account before creating a stripe account
account = stripe.Account.create(
type='express',
business_type="individual",
individual={
"email": request.user.email
}
)
serializer = BusinessSerializer(instance=business, data={"stripe_account_id": account["id"]},
partial=True)
if serializer.is_valid():
serializer.save()
# Create and return a link to an onBoarding page
account_links = stripe.AccountLink.create(
account=business.stripe_account_id,
refresh_url='https://example.com/reauth',
return_url='https://example.com/return',
type='account_onboarding',
)
return Response(account_links)
except stripe.error.StripeError as e:
return Response({'stripe_error': str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
@upbeat grove That link didn't work, took me immediately to https://example.com/reauth
Same for that link as well. Can you show me a screenshot instead?
the email id in the dashboard was not changed. it only changes with email field i think
Can you paste the account ID here for me?
acct_1J6OEa2XqAECqLwz
Thanks! Let me take a look, hang on...
@upbeat grove The email is showing up as expected in the Account creation response: https://dashboard.stripe.com/test/logs/req_7q5Qmm0fpbVVV6
Hm, let's see here...
@upbeat grove Will you create another Account Link for this account but don't share the link here? Just tell me when you've created it and I'll get the link directly from our logs.
business_profile.support_email maybe
sure 1 sec
new acccount created acct_1J6OTI2YyNzlouHX
oh the same account?
New account is fine as long as it has the email set. 🙂
yup, everything is same
@upbeat grove We did have a bug where this wasn't working, but it was fixed about a month ago. Trying to track down the details now, hang on...
take your time
@upbeat grove Okay, I was mistaken, it is just the email property. I'll see about getting that API documentation updated. 😅
@upbeat grove But you said that didn't work either?
lemme retry
Hi guys, does anyone here know if there is a way around this
message: "You can't make any changes on a subscription that was not created by your application."
message_code: "unowned_subscription_general"
type: "invalid_request_error"
@dry venture Hello! I don't think so, but let me check...
Thank you!
@dry venture I'm not finding anything about a way around it, but I would contact support with details about your use case to make sure: https://support.stripe.com/contact/email
@upbeat grove This is wild; it works on my test account but doesn't seem to on yours. Trying to figure out why.
could you share your code?
Thanks @mighty hill , pretty much want to be able to offer migrations to connect users from a competitor app to our app, but seems like this is not as easy as it should be
Hey, does this replace IRC? What happened to freenode?
We are seeing Webhooks. Thanks again! Will you be reaching out to us on the next steps regarding the SSL fixes? Or is there a deadline we need to get it done by?
@static vortex Glad to hear they're working again! You should receive an email soon with details, yep.
Anyway, question: What is the correct way to cancel a subscription for a connected account with the Ruby client? Stripe::Subscription.delete does not accept at stripe_account parameter
@topaz root We're giving Discord a try to see how it works.
@mighty hill how is this even possible?
Your IP address has been logged having 18 unique card holder names on the Stripe network. (within 7 days)

@topaz root It should accept that parameter just fine. Can you share the code and the error you're seeing?
legit cant use stripe cuz of this -_-
@high hinge 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
Stripe::Subscription.delete(s.stripe_id, {stripe_account: account_id}
@upbeat grove Just to make sure I'm not missing anything, here's the code I'm using (PHP):
$account = \Stripe\Account::create([
'type' => 'express',
'email' => 'test@example.com',
]);
echo $account . PHP_EOL . PHP_EOL;
$link = \Stripe\AccountLink::create([
"account" => $account->id,
"failure_url" => "https://example.com/failure",
"success_url" => "https://example.com/success",
"type" => "account_onboarding",
]);
echo $link->url;
That produces a link that leads to this:
Stripe::InvalidRequestError ((Status 400) (Request req_HzbfOzzDTNEVwK) Received unknown parameter: stripe_account)
@topaz root I think you need to have the stripe_account specified in the third argument, not the second.
@topaz root If you put an empty argument in there for the second argument does it work as expected?
oh, I think we misunderstood each other
k well i sent an email hopefully they can tell me why there was 18 cardholders on my IP.... im So confused thanks @mighty hill
I want the page to not take email from the customer and use the one I provide
@mighty hill yup, that was it
@high hinge I mean, just speculation, but maybe that's in reference to an IP used by a cellular network that a bunch of people on the same carrier are also using?
It would probably save a lot of pain if that param could be added to the standard options argument.
I can see that there "test@example.com" but the user will have the ability to change it again
which i don't want 😦
@upbeat grove Oh, yeah, there's no way to prevent that from being changed. You can prefill it, but you can't prevent people from changing it.
i mean ye i use a hotspot jetpack.. legit the only internet i can get where i live.
@topaz root It's not part of the body of the request though, which is why it goes in a separate argument.
Fair, but the stripe client could detect it and act accordingly. The problem being that you have to build a whole abstraction around that parameter if you wish to do different kinds of operations on connected accounts.
Now I am writing a MyStripe module which mirrors Stripe in order to do that. Perhaps you know a better way.
@topaz root I don't think I have enough context about your use case to advise you. Can you provide more details about what you're looking for?
@mighty hill Say you have 100 connected accounts in a multi-tenant app. You want to be able to cancel or create accounts on them all. Ideally you can just set the target account once somewhere then make calls. That would be easier if it could be done in the options hash instead of as a separate argument, that's all I'm saying.
Any situation where you might be passing a blank argument, like above, is smelly to me in Ruby.
Can we use the same onboarding link if the customer want to update/add missing details?
or that link has to be generated by different function?
@upbeat grove For Express accounts, if they're already onboarded, you would send them to the Express dashboard for updates.
@topaz root We document how the Stripe Ruby library's method signatures work here (see the bullets under the code snippet): https://github.com/stripe/stripe-ruby#per-request-configuration
@upbeat grove Oh, yeah, if onboarding isn't complete you would generate another Account Link for them.
got it
https://help.sharetribe.com/en/articles/1224180-delay-payments-and-hold-funds-with-stripe I was reading this link about withholding funds for the seller until the buyer manually selects that the order was completed, so I have a few questions. Where does the buyer indicate that the order was completed, and how do I implement this?
@stable ice It sounds like that article is talking about manual payouts in Connect: https://stripe.com/docs/connect/manual-payouts
@sullen flint Hello! What's up?
Thank you for quick reply.
Is it possible to get the payment on stripe from China credit card?
@mighty hill
@sullen flint Yep! You can see the payment methods Stripe supports here, which includes China Union Pay for example: https://stripe.com/docs/payments/payment-methods/overview
@mighty hill What about others china card?
e.g China Visa or China Master card, etc..
@sullen flint I believe if it's a Visa or MasterCard it will work just fine regardless of country. See here: https://stripe.com/docs/payments/cards/supported-card-brands#card-brand-capabilities
My customer has tried using China Visa card, but it was failed.
@sullen flint For specifics about payment failures you should contact support for help: https://support.stripe.com/contact/email
Happy to help!
Ah I see, thanks! I clicked on the link and I read that under settings.payouts.schedule.interval I can set that to manual. I also saw another stripe docs that pointed me to go to this link: https://dashboard.stripe.com/test/payouts However, this is all that I see on the page:
Where can I set it to manual on this page?
@stable ice Those are your own account's payouts (unless you're viewing the Dashboard as a connected account). If you want to adjust how those payouts work you would go here: https://dashboard.stripe.com/settings/payouts
Thank you! That worked
Once we select the manual option, however, how is the buyer able to manually select that the ordered item has been received so that the payout to the seller can be made?
@stable ice You would have to build that part on your end.
Hi, I have two other accounts on Stripe. I am not sure how to close them. I am confused with the Stripe dashboard
Got it, thanks
I am deaf and I am not sure how to chat with Stripe customer support.
@frail karma No problem, I can help you out!
awesome
@frail karma In the top right of the Dashboard you should be able to click on the account name there to switch between accounts.
@frail karma Once you're in the account you want to close you can go to Settings > Account details and there's a Close account button at the bottom of that page.
@frail karma What's different behavior?
I clicked on Teachable and it took me to different site. But i got two tabs "payout" and "Accounts"
i clicked on teachable from top left corner where i can switch between accounts
@frail karma Oh, okay, that's an Express account where you don't have full Dashboard access.
ah ok
so yes
i have two express accounts
that i would like to close
since im not using them
I am not familiar with what express account means but how can I close them?
@frail karma I'm not sure, actually, but let me find out! Hang on...
sure
stripe support emailed me the other but i dont understand API call
``After careful checking, I see that an Express account holders cannot delete their Express Connect account, however, this account type can be deleted by your platform making an API call with the account ID.
Having said that, it is therefore recommended that you reach out to them directly as they'll be best able to handle your request.
You can find related information about how they will proceed here:
@frail karma Okay, looks like you can't close those accounts yourself. The Express accounts were created by third-party platforms and would need to be deleted by those platforms. You mentioned one was Teachable; they're the ones who would need to make an API call to Stripe on their end to close the account (that's what the support email was talking about).
oh ok
So you'll need to reach out to Teachable and the other third-party that created the other account to close them.
Happy to help!
Here's my proposed solution: in the order confirmation summary, I'll send a link to the buyer that allows the buyer to confirm that their product has been received and is in the correct condition. Once the buyer clicks on the button in that link, the payout will automatically be sent to the seller. I see that I have to implement the link and button part, but how exactly can I get the payout to be sent to a specific seller once this button is clicked?
@stable ice You would create a Payout using the API: https://stripe.com/docs/api/payouts/create
Ah got it, so that would be based on the stripe seller id
@stable ice There are some specific examples of doing this here: https://stripe.com/docs/connect/manual-payouts#regular-payouts
@stable ice Yeah, in those examples the {{CONNECTED_STRIPE_ACCOUNT_ID}} would be replaced with the account ID that gets the Payout.
Thank you
I was also planning out how to handle returns through Stripe, and I'll be providing the seller with a return shipping label that the buyer can just return the item with. If the item is shipped from the buyer to the seller, how can I make sure that the seller pays the buyer the payout that he or she received? I don't believe there's any way to go about it other than delaying the seller's payout until the return policy cycle is over. Can you please help me out with that? Another question I have is does stripe return the fee that they collect back to the buyer if a return is made?
@stable ice In that flow you would need to hold the funds on either your platform account or connected account before paying them out. If you needed to issue a refund you would do so with those funds. If you didn't you would transfer + payout on the connected account so the seller gets the funds.
@stable ice I don't believe the Stripe fees would be returned if you refunded, but I'm not an expert on pricing. For that info you should contact support: https://support.stripe.com/contact/email
@stable ice ^I agree with Rubeus the fees won't be returned unfortunately
Thank you!
Got it, in that case I'll delay the funds from being transferred until the return period has passed
@tawdry spire Hey, just out of curiosity, why did you react with thumbs down on those messages above?
Oh my bad, I'm actually his partner and we are both developing the platform haha. Was just messing with him!
^ yeah he was just messing with me
Hello everyone :)! i have a question for people who already have used stripe, some folks want to connect booking.com reservations and payments but pass the payment through stripe the workflow will be something like this :
1.- user make a reservation hotel on my website and proceeded to pay
2.- My website open a stripe modal or page where the user add the credit card data
3.- the stripe modal pass the credit card data to booking.com api
4.- booking.com returns the result to stripe
5.- stripe returns the result to my website
is that possible through stripe? their are telling me that is viable but i dont find any documentation related to connect 3rd party apis to payment systems on stripe :/ !
any suggestions documentation related will be really helpful, thanks everyone!
||rubeus I just wanna say sorry you have to deal with people like this||
@keen wren I deleted your message because it was inappropriate, but here's a cleaned up version:
NICE MEETING U GUYS.I WANT TO KNOW A NUMBER OR A SITE I CAN ACTUALLY TALK TO SOMEONE WHO CAN TELL ME Y *** I WORKED N CANT SPEND MY MONEY CAUSE THEY WONT KET ME CHANGE MY PAYMENT TO ME TO ANOTHER DEBIT CARD
And the answer to your question is that we can't help you with that issue here, but support should be able to assist: https://support.stripe.com/contact/email
if you're simply collecting credit card info to send to an external API, why use stripe at all? just collect the credit card info and then once the user submits it just get your server to send it off to booking.com
stripe itself is a payment processor, not a bridge between your site and a 3rd party payment processor
Stripe doesn't have any way to pass credit card info to anybody else. Once stripe has it, it's locked away so nobody can see it. Booking.com should have a payment element with their API though.
contact support
@keen wren Once again deleted your message as it violates the rules. Here's a version that doesn't:
I WANT YALL TO TAKE ME OFF THIS STRIPE **** N LET QWICK PAY ME THUR THEIR PAYMENT.I WANT TO CLOSE MY ACCOUNT WITH YALL.ALL YALL GOT TO DO IS TELL QWICK IM NOT INTERESTED N USING YALL SYSTEM NOMORE XAUSE OF THESE REASONS
And, once again, we cannot help you with your Stripe account here. This is not Stripe support. Please contact Stripe support here: https://support.stripe.com/contact/email
If you ignore the rules again we may be forced to remove you from this server.
hi, is there any subscription support for the magento 1 module? i see some code regarding "recurring profiles" in magento 1 module, but stripe payment method is not available in checkout
Hey guys,
we have integrated the webhook locally and it works fine, but now we deployed our backend and we dont recieve a singel message...any idea what could be wrong here?!
When we send a test message we get it on the backend, but we recieve nothing when we are doing test purchases...
Hello
Hey I am having a problem with apple pay - stripe. When I click to checkout and proceed to pay it just gets stuck on processing. Google pay is working though.
Any idea what I should check here?
I have a problem with my stripe account I've been waiting for more than 3/4 months because my account is blocked and I see it even more in my balance and it's not repaying please help me
Hello, about a week ago I reported a bug with the refunds api not returning the refunds… can someone help me with a status on that issue? Is it being worked on, fixed, backlog, deployed, testing? Anything? Thanks for your help
@fast mantle and @bold basalt thanks for your help... it seems to be working now. Brill!!
Hello... i need to inquire about payments processed on my website from customers.. the transactions show successful but they haven't been deposited in my bank account
These are my first transactions
@empty summit A payment made by a customer gets accumulated in Payouts which is paid on the schedule you select in your options. However, I believe that the first Payout to your bank requires a little longer to complete than all subsequent ones
@empty summit Please see https://stripe.com/docs/payouts for more information
Has anybody any experience with SEPA payments here. Im just looking to see how they handle updating and/or failed SEPA payments.
I use stripe checkout to update the SEPA payment details in the above case and can recreate the subscription and get them to use that but not entirely sure how to handle the failed subscription payment. Do I have to manually invoice them a singular payment?
Alternatively if I just update the customers default payment method once they've updated, will the subscription charge get paid some days later?
As a dev I don't want my phone number listed on receipts.
Is there a way to keep my phone number supplied and not showing up on receipts? We can see why people would legitimately want that right?
Harassment guaranteed.
Hey everyone, just a heads up we're not usually here on the weekend, but support is! You can contact them here (even if you can't log in): https://support.stripe.com/contact/email
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
I backed out of peachpay and stripe because of the enforced phone number. That's actually dangerous. Otherwise cheers everyone!
It’s a compliance thing
PayPal gives it out too
The pro gamer move is to get a cheap voip number for $3 a month for tech support
anyone here? 👀
I need Someone Help me .. If somebody Here
I can t call Stripe ? I néed help
Hi, is there a generic way of confirming a payment intent using Stripe JS without having to call a specific method depending on the payment method?
Hello someone know how to unlock instant payout by transfer in my stripe ?
they don't answer anywhere WHAT THE SUPPORT !!!!????
Here is not support for stripe problem bro look the rules
Contact stripe on chat on stripe.com
Bro I contact them But They Don't Answer . WHY !? I Hope If they see That . TY
They will respond dont worry just wait
I agree with you stripe support is vera bad
Very*
But they respond
5 days it's So A good Support 👍
hey, small question. If i use prebuilt checkout and my site is built with react, how can I render a component after the redirect (POST) from the stripe checkout page? Thanks in advance
Where can i see how refunds are done ?
Also can i relay on webhooks ?
what i mean is - if 1 webhook for some reason failed, will you guys send another ?
@manic harbor
I have bug with my stripe account i have disabled the 3d secure for more fully conversion but i have teste my website and the 3d secure are not disabled
Yes thanks you
You cannot disable 3DSecure, as this is a feature triggered by banks, at their discretion.
There's no way to disable 3DSecure, because that's not a feature set by stripe, but by the Cardholder's Issuing Bank
Yes but that the website who decide to activate or not ?
Hi, I am developing iOS with BBPOS bluetooth device. I got the code to work with simulator with no issues I can connect but when I test on real device I keep getting an error when trying to connect. I am using the SDK 2.0.0 latest. Not sure what is going on . When I test on Android it is able to connect and process payments just not able to connect to iOS (on iPad 14.6 and iPhone 12.4.1) "Could not connect to the Bluetooth device. Make sure the device is powered on, in range, and not connected to another app or device. If this error continues to occur, you may need to charge the device."
Nope. The bank does.
Is the device connected in bluetooth settings?
Do you have the proper Entitlements in your bundle for Bluetooth LE devices?
Hey thanks for the response. Yes, I am connected in my bluetooth and info.plist has correct settings. I am able to discover the reader from iOS. Just when running connect function it returns that error. The device is charged and powered on. When I connect to it in on first time app install on iOS 14.6 I get asked to allow location usage (Stripe handles that) this tell me that the setup is correct I believe
hmmmm
Are you willing to share the app bundle so i can take a look on my end?
i've got a BBPOS WisePad 3, and a full iOS test suite
I have a feeling that it's probably just a bad setting somewhere
I am not quite sure on how to send it to you? I am developing a cordova wrapper for the stripe terminal to use in cordova App.
hm
yeah I know it is makes things a little more complicated.
But I will review my settings again and see what is going and will follow up to see if I can send you something to look into. I appreciate it!
Hi there, I'm trying to verify my business for stripe, and I've uploaded my certificate of incorporation, but it says my business is still not verified. I'm in New Zealand, what other documentation do i need?
Anyone know how the dashboard gets a preview of the upcoming invoice for a scheduled update?
They Don't answer Dude 
Hey I found out it was a setting. I was using SCPDiscoveryMethodBluetoothScan in the configuration. I changed it to use SCPDiscoveryMethodBluetoothProximity and it connected !
Ah yeah that'd do it
Well, if it's a scheduled update, then the next invoice will be the new total.
Can you help me with my problem ?
I cannot, because this discord server is specifically for development related issues
Account related issues have to be directed to support, as there's no way to 100% certify you are the holder of an account
@meager oasis but the schedule hasn't been created at that point, right?
so how is the dashboard previewing the invoice for a schedule that hasn't yet been created
Because it's an estimate! It's basically going "Okay, with these settings on april 7th, once you click the schedule button the next invoice will be this amount"
@meager oasis is that estimation functionality exposed through the api?
the public api?
I'm trying to build the same feature for our product
I don't think so, I believe that preview is rendered locally though, so with a bit of inspect element, you can probably figure out how stripe does it
i.e. tell the customer, this update to your subscription will cost you X on Y date
but I need Stripe to calculate the discounts, etc.
@meager oasis inspect element seems to indicate it's using the upcoming invoices endpoint somehow
Oh HM
for some reason my browser isn't letting me see the request 🤔
(should clarify, don't work here.)
haha
well I appreciate the advice anyways 🙂
@meager oasis good call on using inspect element though! looks like it's just the upcoming invoices API with a subscription_proration_date set to the future
I tried that param before and it didn't seem to work, but I'll try it again since it seems to work for Stripe's dashboard
Hey @fluid beacon, can I dm you about a use-case question?
Hi, sorry Stripe folks here are not typically available to chat directly on weekends. Our support team is around if you need help: https://support.stripe.com
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
Hi there I’m trying to get into my account but it won’t let me in
:question: Have a question about your account @tribal kite?
While we're sorry to disappoint, this Discord is intended for technical questions and developer chat—we're not able to help with account specific questions. For help with your account please reach out to Stripe support directly at https://support.stripe.com/contact
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
Hi there, I am seeing Stripe took over Cryozonic's module for Magento 1.9 (OpenMage 1.9.4.13)
They use to have a patch to integrate Stripe and Olegnax One Step Checkout for M1. This is discussed
on this link on page 26: https://stripe.dev/cryozonic-docs/cryozonic-m1-stripe.pdf
And the patch is on Github on this link: https://gist.github.com/snez/ad9b91c0049f96f78fb6d409c396ba2c
I tried to apply to, but it did not work since it was intented to work with Cryozonic's module, not the official one.
Any way to addapt this patch to the official module?
@crystal sinew I don't really know much about Magento, so I'd suggest writing into Support I think: https://support.stripe.com/contact/email
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
The support page is useless
@tribal kite They're the only ones that can help you to access your account; there's nothing we can do from here.
Hello - By any chance does anyone have a flow diagram for subscriptions on Stripe?
I'm doing some scope and documentation for our integration we're about to start doing. The API docs are fine for guessing what needs to happen in what order, but if there's a flow diagram floating around with anyone, can I beg a copy :)
(Create, Read, Update and Delete)
Hi @drowsy glen, there's a diagram up on https://stripe.com/docs/billing/subscriptions/overview which might be helpful
Learn how subscriptions work within Stripe.
Cool thank you very kindly, there's a bunch there. I had hoped for something more low lever, but I can figure it from there :) taa
Hello,
I am having troubles when getting payments on clickfunnels
my account is connected to my stripe account
@compact pebble That's something you'll have to reach out to clickfunnels for
How do I change my card number?
@swift hound What do you mean? Where do you have your card?
On the Stripe website. I lost my card and have a new one
If you're talking about your bank card, then you should be fine
The problem is that it is not letting me enter my new one. It asks me for my previous one but I (obviously) do not have that anymore
Is this for instant payouts?
yes
Hmm, then you should probably reach out to https://support.stripe.com
They'll be more help than us here
I tried that. They sent me here
try sending an email to support@stripe.com
They're the only one's who can actually access any account details
nobody here can access anybody's account info
Hi is the card number 4000000000000341 still an invalid card? I make a payment but it goes through. I expect it is the failure.
that card works if you're attaching it to a customer object, but not if you attempt to charge it. This sounds like a bug in your integration.
I don't understand it much. It used to work as failure.
It should act as payment failure
but you should still be able to attach it to a customer
try 4000000000000119
How can I attach it to the Customer object. It sometimes works, sometime not. Inconsistency.
for the card ending in 0341?
Yes please
https://stripe.com/docs/api/customers/create, Reference the ID of the payment method when creating a customer object
Or https://stripe.com/docs/api/payment_methods/attach And it definitely shouldn't be inconsistent.
It should definitely work 100% of the time.
Invoice 9B05183F-0004 paid using 0341 card. I don't know why. It was failure earlier
@gritty spindle What's the Stripe Invoice ID for that one?
in_1J7DNlKscTKNxsxlKgIBRHl8
@gritty spindle That Invoice is for less than the minimum charge amount so it was 'paid' by adding to the Customer Balance.
Gotcha
But it used to work with under minimum amount. Let me try with above minimum.
The only way it would block under minimum amount is if you'd done it enough times to accrue a balance that was more than the minimum amount, and then since the total to charge is greater than the minimum amount it would try to charge that and fail.
Hey guys
I'm reading this Tax docs https://stripe.com/docs/tax/checkout
It seems to me like Taxes can be collect only if using Checkout Session. Company I work for requires authorize/capture flow, can tax be collected using authorize/capture flow?
Learn how to automatically calculate taxes in Checkout.
@vocal wagon Let me test something real quick
hi, is there any subscription support for the magento 1 module? i see some code regarding "recurring profiles" in magento 1 official module, but stripe payment method is not available in checkout when having products with subscription (recurring profiles) in cart. Cryozonic modules supported this as it says on some old docs, but no longer maintained.
@opal leaf I'd suggest writing into Support for this one: https://support.stripe.com/contact/email
@mellow spear thank you. do you know average response times?
also, what kind of support is provided here, because i see a lot of chat traffic for all kinds of subjects, that i guess devs should not be the ones to solve..
well it says what "isn't" the purpose.. it doesnt say what it "is"
🙂
nvm this Discord is intended for technical questions and developer chat
sorry
🙂
ok so, in case of the support giving me no ways to implement subscriptions via magento 1 module, can i get help here with the api/generic guidelines/best practices, in case i want to code it myself?
Of course you can
is magento 1 module outsourced or are there in-house devs with magento 1 knowledge?
@vocal wagon Sorry that took a while to set up
If you're using the new Stripe Tax, you can still place holds on cards by setting payment_intent_data.capture_method to manual: https://stripe.com/docs/api/checkout/sessions/create?lang=dotnet#create_checkout_session-payment_intent_data-capture_method
I'll check it out 🙂
Hi guys. How can I add a 19 digit cup card with Stripe? A “add new card” window allows to enter only a 16 digit one
I tried Basic integration example from https://github.com/stripe/stripe-ios
Hello Developers
I need a help
I have a requirement where if a user switches to another subscription then I want to charge immediately for the subscription and the subscription will be active after the current subscription period ends.
So i have written some of the code below to update the subscription below, please correct me as per my requirement
That doesn't look like the Stripe UI but rather iOS. With the Stripe UI components you should be able to add 19 digit CUP cards: https://stripe.com/docs/payments/accept-a-payment?platform=ios&ui=custom
Securely accept payments online.
When you up or downgrade a subscription the switch in Price happens immediately, you can't schedule it for a future timestamp. This means that if you don't allow for any prorations the user will be charged the full amount for the billing cycle at the new price point. If you want to charge for the new price now but only start the next billing cycle when the original cycle was meant to end, you can update the subscription to the new price, specify no prorations and set a trial period for the time between when the next billing cycle was supposed to start and now
hello
Hi @safe fern !
my name is mays and i have online website
im looking for the best payment for my clients in my website
so if i want to enjoy that company what i have to do
?
@safe fern You're in the wrong place I'm afraid. This Discord is for code and developer questions. I suggest you contact Stripe sales instead: https://stripe.com/contact/sales
No problem!
thank you for your help guys
HI @paul but it doesn't charge the user immediately if set trialEnd parameter. So here is my code please correct me
@exotic rain A new invoice is only immediately created under these circumstances: https://stripe.com/docs/billing/subscriptions/upgrade-downgrade#immediate-payment
Hey, any idea why an implementation works for ios but not for android. So the same code on the FE + backend is run, but on ios we can confirm a paymentintent and on android it never sends out the confirmation. we see nothing in the logs of stripe.
We are using flutter in the FE with flutter_stripe package
Hello everyone, how are you?
I would like to retrieve the user's email after the Stripe payment to recognise them in my database and record information such as their login, the subscription they have taken, etc. The problem is that I don't want to retrieve the email from Stripe but the email recorded when the user logs in to my site. At first I thought of using $_SESSION but since I'm redirecting to the Stripe payment link I can't use a session can I? Anyone know how I can do this?
@barren rivet Hi! Can you maybe write into Support with the details so we can help you look into it? https://support.stripe.com/contact/email
Hi!
I'm looking into a way to bypass Smart Retries for a particular use case ie. for most subscriptions I'd like the retries to be triggered, but for a particular subscription I would like it to fail instantly when the payment fails. Can't seem to find anything useful regarding that in the API docs. Could someone maybe point me in the right direction?
@upper bolt You can add a Client Reference ID when you create the Session, which you could do based on your own database ID or similiar: https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-client_reference_id
In fact the users connect to my site, I get their email, pseudonym, etc. Then they are redirected to the Stripe link to proceed to payment. And finally the Stripe webhook sends me the payment information and I would like to enter it in the database for the right user
Oh right, thanks @mellow spear
@dapper prawn Hi! You could mark it as uncollectible using the invoice.payment_failed event for that specific subscription: https://stripe.com/docs/api/invoices/mark_uncollectible
Thank you! I'll try that and see if that works for my particular case 🙇♂️
Hi there, I am trying to add an invoice item in Laravel cashier subscription. Stripe doesn't show how to add the parameters for cashier. So i'm trying something like this, which does not add the specified amount in the stripe payments, the specified subscription amount is drawn. How can I get this working?
@bleak quartz You probably have to look at the Cashier source code and see how it's working with Stripe's API; it's possible that it doesn't support that feature.
Hi guys, is anyone online?
Nobody here but us chickens.
I am making a marketplace and my sellers will be all over the world ( also Asia...China, vietnam, japan). I know I can't use stripe connect custom because is not available in China for example. but Can I use stripe connect standard?
@compact path As I understand it, the country restrictions apply no matter the Connected Account type.
Every processor has country restrictions; each might be different but every one has restrictions.
Thank you so much 😉
I have gone through the link and as new invoice is created immediately as per below
@exotic rain what's blocking you?
As i also switched to different billing period but invoice is not created immediately
Below is my code
Hi
Am i doing anything wrong, please correct me?
@exotic rain why do you expect an invoice? You are disabling proration and just switching the price
@vocal wagon hello
Hi @crimson needle
I have a requirement where if a user switches to another subscription then I want to charge immediately for the subscription and the subscription will be active after the current subscription period ends.
Im working on creating connect account with c#
var options = new AccountCreateOptions
{
Type = "standard",
};
The new account is restricted
he account owner needs to provide more information to Stripe to enable payments and payouts on this account.
INFORMATION NEEDED - DUE NOW
Bank account or debit card
Product description
Business support phone
Business website
Terms of service acceptance
Additional missing data
@exotic rain you want to set billing_cycle_anchor: 'now' then so that the period resets to "now"
@vocal wagon if you do this it'll format your code nicely:
\`\`\`c#
code here
\`\`\`
without the \
How can I update it programmatically?
Gotcha
@vocal wagon with Standard accounts, you need to send them to onboarding to provide all the information using Connect Onboarding and AccountLinks
And whats the other options?
I want to create account fully without onboarding process
There isn't, it you use a Standard account, your customer has control over it and they need to "sign up" with Stripe, enter an email, choose a password, provide all their information.
If you don't want this then you don't want Standard: https://stripe.com/docs/connect/accounts
Honestly, even the larger platforms use hosted onboarding. It is so much work to properly collect all the information as needed and handle it securely.I strongly recommend using it
What about the current subscription time period(unused days left) is it still available?
And what is the flow?
@vocal wagon https://stripe.com/docs/connect/standard-accounts covers all of this in details with all the steps
Cheers mate
@vocal wagon let me know if you have questions after reading
@exotic rain no it resets immediately and starts charging for the new price, which is what you seemed to want. There are many ways to upgrade a subscription and many flows overall for businesses. It's important to understand exactly what you are trying to do
okay so basically what i want is, i am updating the existing subscription with new price and
second is i want to charge user immediately for the new price,
Third is i want that the subscription with new price will start after the current subscription period ends.
@exotic rain that isn't possible and something we discourage overall. The easiest is to prorate instead. If the price was $10 and the new one is say $80 a month, when you upgrade mid month you owe them $5 of credit (half month on previous price) and they owe you $40 (half month on new price). When you upgrade you can charge them $35 ($40 - $5) immediately for the remaining time and at the end of the current month you charge them $80 for the new price automatically.
This seems to be exactly what you need and that works with always_invoice + proration enabled
Hi, I am trying out coupons in Stripe. I have a scenario, where I allow the user to add the coupon code on one of my screens for a subscription. Now when I create the checkout session, I want the checkout session to have that coupon code prefilled.
The reason is, I have the quantity, tax and every other detail which contributes to the total amount the user pays on one of my screens. I would like to have coupons on this very screen.
How can I achieve this?
@hollow nebula https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-discounts-coupon lets you pass a coupon code that will apply to the entire Session. Docs for subscriptions are https://stripe.com/docs/billing/subscriptions/discounts#using-coupons-in-checkout
@crimson needle Thank you very much for your quick answer. I will try this 🎉
let me know if you're stuck
It worked like a charm. Thank you so much. I asked the same thing from Stripe support but, the support engineer told me it was not possible. I am lucky to ask that question here
@hollow nebula my team is here to help all day (except week ends for now) so don't hesitate to come and ask more questions, we're happy to help!
Let me ask another question just to make sure that I got the correct answer. Stripe has a configuration for generating an event for upcoming subscription renewals. This is under "Prevent failed payments" in https://dashboard.stripe.com/settings/billing/automatic. Is there a way, I can generate this event "7" days prior to a monthly subscription, and "30" days prior to an annual subscription?
No, it's not something we support today unfortunately. We've talked about this for a while and I hope we add this in the future but it's not being scoped/considered for now at least
I want to differntiate the event generation time, based on the type of the subscription
Cool, thank you for the answer
Hello guys,
please help me with the testing apple pay with stripe.
I want to test the 3d-secure, invalid cards, ...,etc.
As you know, apple pays does not accept testing cards, how can I test it?
Hi All
Can we integrate Stripe Connect on Squarespace website ?
I change my phone number and I can't log in to Stripe anymore ?
I seem to have a bug where I have connected account test data, but when trying to clear test data receive the message "It looks like you don't have any test data, so there is nothing to delete." ? known bug? any ideas how to resolve?
@stoic gyro you can add a real card in Apple Pay, as long as you test in Test mode, it won't charge. We don't do 3DS for Apple Pay
@rocky turret Usually when you use Squarespace, you don't write code yourself, you don't have a server, so in that case it's not really possible
:question: Have a question about your account @storm owl?
While we're sorry to disappoint, this Discord is intended for technical questions and developer chat—we're not able to help with account specific questions. For help with your account please reach out to Stripe support directly at https://support.stripe.com/contact
@fierce sigil hmmm I'd recommend contacting our support team https://support.stripe.com/contact/email for this and they can look at the data in your account. Until then you can just ignore those extra accounts
Ok will do thanks 🙂
@crimson needle Thank you for your response
what about the insufficient funds, declined cards, zip code errors, etc?
@stoic gyro you don't really need to test Apple Pay for this, it works the same for a "normal card payment" so you can use https://stripe.com/docs/testing#cards for this without Apple Pay
Ok Thank you very much
Got it, Thanks mate
@rocky turret if you want to integrate a marketplace you'll need your own server and you can't use Squarespace for the code / accepting payments
Hey, I'm a bit lost right now:
- My client has a stripe account (I have developer access)
- We have a stripe connected account
Goal now: connect the client's account to our stripe connected account by myself.
Goal later: Let clients do it themselves by entering their stripe api? or through onboarding pages from stripe?
I'm following https://stripe.com/docs/connect/standard-accounts. Do I start with step 2 (create an account link) and set up some dev pages for myself for now?
@coral torrent you start at Step 1 and create the account and then redirect yes
But this won't really work the way you want to honestly and you're mixing up the words a bit
1/ You have a platform which means you act as a platform and they can connect their account to your platform
2/ If they already have an account to connect then you need to use OAuth instead of the flow I mentioned: https://stripe.com/docs/connect/oauth-standard-accounts
Hi I want to ask about account isn't eligible, it state that my business isn't eligible to use Stripe becuz didn't meet terms of service.
I tried to send email to customer support
then provide the information they need, but they just say cnt help and didn't provide further details
Thank you!! So if the user doesn't have a stripe account yet we follow the docs I linked. If they do have an account already we follow the doc you linked?
(however in your link I'm reading that they also get the option to create or connect their account, then what is the difference?)
:question: Have a question about your account @digital egret?
While we're sorry to disappoint, this Discord is intended for technical questions and developer chat—we're not able to help with account specific questions. For help with your account please reach out to Stripe support directly at https://support.stripe.com/contact
@coral torrent the flow I linked (https://stripe.com/docs/connect/oauth-standard-accounts) is the old way, it's more complex. But it also is needed to connect an existing account to your platform. Otherwise you use the new flow: https://stripe.com/docs/connect/standard-accounts
is there any possibility can i get a live chat help, as i sent an email one week before, but not yet received any replies until now
@digital egret we can't help here, this channel is for developers with questions about their code. Unfortunately we can not help with account specific questions. You want to talk to our support team instead: https://support.stripe.com/contact
Ok thanks anyway
I see... so https://stripe.com/docs/connect/standard-accounts is only going to work if the user doesn't have a stripe account already?
yes
I feel like I'm missing something still: is it a possibility to also just let the user create a new connected account - even if they already have an account? My exception (where the user already has an account) seems to not be described in the docs https://stripe.com/docs/connect/enable-payment-acceptance-guide, which makes me feel like I'm worring about something that is not relevant?
well the best option is to always have a new account yes
Oh why?
That's just what we recommend. You want a Stripe account for the client that will work specifically for your platform without mixing all transactions
Ahh, okay. I was assuming that you would recommend to not let clients make multiple stripe accounts through our platform. In that case I'll follow the new docs 🙂
I'm using Stripe Checkout Session and I have customer with all fields filled, when I include customer id while creating session and when I visit Checkout URL, fields are not filled out, why is that?
@vocal wagon we don't pre-fill the billing details in that case, the existing customer is used to associate the payment with it and/or save the card.
I'm reading docs about Customer and there is
payment_method
The ID of the PaymentMethod to attach to the customer.
Do I need to create payment method with card details and attach it to the customer? Because I didn't do that and credit card details are not prefilled
@vocal wagon no, Checkout does that for you. That's one of the core features of Checkout to collect card details for you safely
I guess card is not saved because I'm in test mode?
no Test mode saves cards to
I'm getting a CORS error when trying to redirect to the accountlink URL. Is this because I can't work from localhost?
it's just a redirect that you need to do full page
Sorry I don't understand what you mean with 'full page'
I don't really understand how you could get that error. What code are you using the redirect?
I'm using a lowcode tool (Wappler) so I'm not 100% sure right now. They pre-code things and give us .json files to input settings basically.
However thanks anyway, you gave me the idea to first send a 200 response to the page and then initiate the redirect
Will try that 🙂
yeah you want to do a redirect like with a 301 server-side or using window.locationor similar client-side
Thanks it worked to redirect from the client side!
woot!
Hmm so with this flow it will ask for all the business info again for the connected account. So that's only bypassable with the older oAuth method? And anyway Stripe recommends to let the user create a new connected account?
Yes, you want to collect this information and have a dedicated account just for your platform integration/payments
I had to set "payment_intent_data.setup_future_usage": "off_session" while creating a session and now it works
One more thing and then I'm good, I enabled taxes in dashbaord and added tax for my country and enabled in in a code "automatic_tax.enabled": true
But taxes are not being calculated
@vocal wagon I'm going to need a bit more than "not calculated"
What do you see? Which information are you providing? Do you have an example Checkout Session where you completed a payment?
Can you share a specific Session id or PaymentIntent id for me to look?
Hi
Here is payment intent id pi_1J7JNIE46IqDzspgagoLX4rx
Could you please help me?
I am stuck on one problem
I have integrated stripe connect custom accounts.
We want to add external account for Switzerland.
But when we pass the bank account detail and routing number it gives us error that "invalid bic"
@potent elbow https://stripe.com/docs/connect/testing#account-numbers explains how to format bank account details for all countries
Thanks for response.
Yes. How can I pass iban number in external account?
If you can help me , It would be very helpful for me.
@vocal wagon I'm looking into it with a colleague
@potent elbow you pass the IBAN in account_number
Oh let me check .thanks
@vocal wagon can you try a different customer with a different country?
@vocal wagon can you try EUR now, I think it's the issue based on the logs we found
To change currency in EURO?
Can I move a stripe connecteda ccount from dev to production? I'll ask my client to create an account but first want to keep on testing. Don't want to ask him twice to create a stripe account through our platform
@vocal wagon yes
@coral torrent no, you should create an account in production and then it works in Test mode
Thanks!
Hi. We're setting up express accounts and during testing we've hit some errors in Mexico, Brazil and Malaysia. Can someone advise what we do from here please?
Hi guys, I used global paymetns in the past and linked them with security metrics. I've tried to cancel security metrics but they say i still need them even when using Stripe -is this true?
@vocal wagon can you share the id for the Session each time?
@crimson needle this is not working mate.
@lyric iris for some countries you are not allowed to take an application fee.
Latest session with euro pi_1J7JoHE46IqDzspgaYd67CE5
@wanton ivy https://stripe.com/docs/security/guide#validating-pci-compliance shouldbe what you're after. It depends a lot on your integration
We don't charge any fees outside of our application fee, so in this scenario we'd not be able to charge them for our services, and we'd be paying their Stripe fees. Is there a workaround here, otherwise we'll simply have to pull our services from these countries which isn't ideal...
thank you
Do we just need to exclude these countries from the Express integration then and have them use Connect as previously?
And, when you say they can't take an application fee, is that the same on Connect too, or just Express?
@lyric iris it's just a forbidden funds flow so you can't take an application fee at all. You'd have to charge separately by collecting their card details for example
@potent elbow I can't do anything with a picture of your screen unfortunately. Please share an exact request id (req_123) and the exact error message that you see
So rather than take our commission at source, charge them on a monthly basis with a bill...?
@lyric iris "Express" Is the same as Connect, they are related. And yes that's how it'd work. Otherwise you would just block those countries
The kicker here is we are still responsible for all of their Stripe fees, so if they don't pay the bill, we need to - is that correct?
So we're still better leaving them as a connect account, to mitigate this risk, and then just charging them our fees at the end of the month?
yes but there's no guarantee you can get the money at the end of the month
Singapore and Brazil too I think. We don't have a firm list unfortunately publicly 😦
OK thanks
@crimson needle Latest session with euro pi_1J7JoHE46IqDzspgaYd67CE5
@vocal wagon thanks! I'm looking into this with a colleague and we'll circle back in a bit
@crimson needle Thank you very much. It's working now
@potent elbow awesome
Hello. I have Wordpress website with woocommerce. Were must i activate 3d secure ? Thank you for your help.
WooCommerce's support team has an article with steps at https://docs.woocommerce.com/document/payments/faq/3d-secure/
Thank you. Do I have to do something in the stripe website ?
If you do, WooCommerce's support team would advise you (they control their integration's code and requirements)
We have issue in displaying apple pay button. does anyone can guide us?
What's the issue?
Apple pay button is not displayed on checkout screen
We have wordpress website and memberhip plugin name memberpress which accept payment via stripe
google pay button working fine
Does anyone have any idea?
Thanks in advance
Have you followed all of the steps on https://support.stripe.com/questions/enable-apple-pay-on-your-stripe-account ?
Yes, have added our domain and upload file on given location on website
@sick talon
What's your Stripe account id (acct_xxxxxxx) from https://dashboard.stripe.com/settings/account ? I can confirm if your domain is entered correctly
Is the page where the Apple Pay button doesn't show publicly accessible? I can see if we can find the account from that.
Hello
I have a question ..for testing I created plan for daily subscription ..in stripe dashboard many invoice is scheduled and it is in draft mode ...but everywhere I am getting the same message "This draft invoice was generated by a subscription. It can be edited until your integration responds or in 3 days." when it will get charge to customer
@sick talon any thoughts?
There's no need to keep pinging as I look up things, we're working on it 🙂
Quick Q. When we transition customers from Connect to Express, I understand they will need to create a new Express account via our platform ( I saw the Turbo demo ). But are they expected to manually disconnect their existing connect account separately, or can we automate this so when they setup their Express account their old Connect account disconnects automatically?
Can you verify that both the subdomain staging.ganbarumethod.com and the domain ganbarumethod.com are added and verified with apple pay?
What's the id of the invoice?
There's no logical connection between two different accounts when connecting them to a platform. Nothing automated about disconnecting another account if you connect a new one.
So from a process flow perspective how do this work, if we get our customers to sign up to an express account, do we just make it so on our system if they have both a connect and an express account we prioritize, or disconnect the connect account our side?
You'd have to match them up manually in some manner and disconnect the original
OK got it thanks
Wait, if you have Dashboard access, what did you mean by you couldn't get the account id from https://dashboard.stripe.com/settings/account
I have asked client to check
They sent me that screenshot
They are just online now
ah ok, well if they can copy-paste the account id (in text, not a screenshot) I can do a much faster look at what's going on
Okay I have ask to send account id to my client
@sick talon I have account id from client
do I have to DM you?
nope, you can post it here
1CfLJyD4mgh57IAm
@mossy tundra You're redirecting to Stripe Checkout, not hosting the Apple Pay button on your own domain, so the issue is likely with the browser or there's not an Apple Pay card saved
Okay let me check
If you look in the browser console in Safari you may also see any related errors (the common one is that you don't have an Apple Pay card saved or the domain is not registered, but that would mean there's not a card saved since you're redirecting)
Are they able to use them on Apple's test page https://applepaydemo.apple.com
@crimson needle any news?
koopajah had to run but we're still actively looking into it, one sec
@sick talon Its working now thanks for the help
Hi I am finding the wording in the last section of the docs at https://stripe.com/docs/connect/express-accounts a little confusing, does details_submitted signify onboarding was completed or charges_enabled at which stage should we generate login links and not account links?
Express enables your platform to manage payout schedules, customize the flow of funds, and control branding. Stripe will handle onboarding, account management, and identity verification for your platform.
You want to check for charges_enabled being true
Looks like a bug in tax calculation at the moment that we're working on a fix for. The origin address in Luxembourg, account not registered in Luxembourg (registered only in Croatia), and we treated the tax location as Luxembourg. No registration there => tax is zero. (again, that's a bug, not expected behavior)
Got it. What do you mean by: account is registered only in Croatia
Hello! I'm thinking on incorporating Stripe with Coinbase exchange through the use of digitally-issued cards (used for withdrawals of funds). However, I saw the requirements of Coinbase that the cards must support either Visa Fast Funds or Mastercard Send. Does the digitally-issued cards support those features?
Thanks!
in_1J6wpEHiJqyEPSdXey2I1X6B
:question: Have a question about your account @pearl solar?
While we're sorry to disappoint, this Discord is intended for technical questions and developer chat—we're not able to help with account specific questions. For help with your account please reach out to Stripe support directly at https://support.stripe.com/contact
@pearl solar The support team will be able to answer that as it's not API related
I believe that's just a part of the bug, we're just not handling registrations correctly
As you can see on https://dashboard.stripe.com/test/events/evt_1J6wpEHiJqyEPSdXIX6CCmyH your webhook endpoints haven't responded successfully to the event so the Invoice won't finalize until either the endpoint(s) respond with a 200 or the maximum time has passed
HI, i set up a upgrade.chat in my discord server! and i have 6 paid members through stripe! i added stripe to my paying method so people could pay with credit card instead of paypal! i got the first proccessing email about the payment and how it was succesfull but it says its going to take a week for it to go into bank! Im curious if all customer payments take 7 days or whats goin on there????
:question: Have a question about your account @low solar?
While we're sorry to disappoint, this Discord is intended for technical questions and developer chat—we're not able to help with account specific questions. For help with your account please reach out to Stripe support directly at https://support.stripe.com/contact
@low solar that is normal in any case, see https://stripe.com/docs/payouts which describes this in detail.
okay but also when i go onto STRIPE itself it shows no customers, but when i log into my upgrade.chat, it shows i have 6 members subscirbed? just curious if thats an issue??
I'm not sure, I don't know what upgrade.chat is or how it interacts with your Stripe account. But could be completely normal, but you'd need to ask the support for that plugin.
I'd assume you'd want the Support link on https://upgrade.chat/ (seems like it's a different Discord server) This channel is for technical help with Stripe's API directly, we don't know anything about that plugin you're using or how it works or interacts with your Stripe account.
alright sorry thank you
Hi friends! I'm trying to set up a subscription with 3 different schedules, here's a crude example:
- Monthly for $99
- Every 3 months for $250
- Lifetime for $2000
What is the best way of doing this? I was considering doing it this way:
- I create a subscription using:
stripe.Subscription.create() - Depending on what a customer chooses, I create a subscription schedule using:
stripe.SubscriptionSchedule.create()
But this feels wrong, because according to the docs I can only specify a customer ID, not a specific subscription ID. How would I implement this?
@tropic timber hi! well first thing's first, that has to be three separate Subscription objects, since you can't mix billing cycles on a single subscription https://stripe.com/docs/billing/subscriptions/multiple
I don't think Schedules would really come into this. Can you describe the customer flow a little more to help me understand? I visit your site today and want to sign up as a new customer. What should I pay now, and then what do I pay and when, in future?
So as a visitor you're presented with 3 options where you get to pick 1: every month, every 3 months, or just once. The service is the same so in theory 1 customer would only have 1 subscription, but the cadence and amount is different based on the choice the customer makes.
So if you select monthly you pay the first month now, and then every month in the future for a set amount of months. If you select 3 months you pay the first 3 months now, and if you select lifetime you only pay now
@tropic timber ok, in that case, you just handle that as business logic on your site I would think. When they pick one of those options you call stripe.Subscription.create() passing the Price you created which has the appropriate amount and cadence (https://stripe.com/docs/billing/prices-guide)
there's nothing else really involved on the Stripe API side. It's just a webform, and based on what the user picks, you create one Subscription passing the appropriate arguments. It's not too different from our example application that lets the user pick between two Prices. https://github.com/stripe-samples/subscription-use-cases/tree/master/fixed-price-subscriptions
Gotcha, and hypothetically speaking if the subscriptions should automatically stop after say 6 months, would that be something we have to manually keep track of on our end, or can we preprogram the end date?
Never mind, I now see a cancel_at field on the Subscription.create endpoint. 🙂
Thanks so much, will give this a try! 🙂
You can use cancel_at yep, though sometimes it's easier to use a Schedule since you can specify an exact number of iterations (https://stripe.com/docs/billing/subscriptions/subscription-schedules/use-cases#installment-plans) which can be more expressive than having to manually calculate the unix timestamp for cancel_at
to answer your other question, you can use from_subscription to create a Schedule for an existing Sub https://stripe.com/docs/billing/subscriptions/subscription-schedules/use-cases#existing-subscription
Thanks so much!
Another maybe odd question that just came in from my colleague; is it possible to give people a trial period at the end of their subscription? I think essentially what they're trying to do is give people a free month but at the end rather than at the start.
@tropic timber hmm. So to be clear, subscriptions are generally paid in advance. So .e.g, on Jun 28 I pay $100 and that is paying for access to the service until July 28
then I pay again on Jul 28 and if the service cancels on Aug 28, that's it, my last payment was Jul 28
(assuming a monthly billing schedule)
so to give someone their last month free, the easiest way is probably to add a 100% off coupon to the invoice for the last billing period
you can potentially use Schedules to automate that, or just add one manually at any point after the second-to-last invoice
Cool, cheers will forward this information 🙂
is #stripe on libera.chat inactive now and should I ask questions here instead?
Thanks
@light hawk I'd suggest asking here, what's up? But we try to answer both places
actually I see your message over there. I'm not sure I can really answer those questions, they're very in-depth
would you like me to move it to here? 🙂
reading now(I'll reply here) so don't feel the need to have to repost them , reading..
however, in the second request, the invoice bills immediately (and same for the line item period)
that's because you're changing from a yearly to a monthly billing cycle, and that always invoices immediately
that was your message a few hours ago at least
your other thing about the Dashboard.. reading
@meager hawk thanks! I realized that a bit later 🙂
ok, I'm trying to parse it a little.
however, if the update does change the billing period (e.g. going from a yearly price to a monthly price), then the invoice preview that gets returned is for an immediate invoice
Seems normal and expected, given the above context, yep.
one example is: a yearly subscription with a six month coupon, when scheduling an update to change the price to monthly at the end of the current period, will give a preview with the discount applied while in reality the discount will end before the price changes to monthly
Are you sure? I'd be surprised if the upcoming invoice endpoint is wrong, it seems more likely that there's some misunderstanding of how coupons apply.
To be clear, a coupon with duration_in_months=6 means, any Invoice generated within 6 months of applying it will have the discount applied to that Invoice.
I should I test it I suppose, so let me do that.
ultimately if the upcoming invoice endpoint is wrong I'm not sure what you can do about it unfortunately though I can report the bug
@meager hawk I'm not sure the upcoming invoice endpoint is wrong here
however, the dashboard makes the same wrong assumption that I did
Good morning Stripe. Question about the Product & Price in regard to Subscriptions. If we want to deactivate a Product (meaning, no one could subscribe to it any longer), would I need only need to toggle product.active to false, or would I need to do it for its respective price.active as well?
that it can be reliably used to get the invoice for a scheduled update
in my screenshot above, the amount due on the next invoice should be the full price, not the discounted $1.50
since the next invoice won't be billed until after the six month coupon on that subscription ends
@light hawk well, it should, but as you say maybe there's a bug in the endpoint! Let me try to reproduce. The screenshot helps a little but I need to sit down and a look at real data so give me a little bit to run some code and test it out.
Hey - I've got a question around invoices. Is there a way to create an invoice that only captures a few specific invoice items? It seems like when you create an invoice via the Stripe dashboard you can create invoices that only capture the items you define on the form (ignoring any other pending invoice items) but when I use the API to create an invoice I'm forced to pull in any pending invoice items.
@meager hawk also take a look at the billing dates and period start and end in the invoice the dashboard gets back from invoices/upcoming
when scheduling a change from yearly to monthly, the dates are for an immediate invoice; when scheduling a change that doesn't change the billing period the dates are correctly for the next cycle
@mossy wren Hello! I believe Prices belong to a deactivated Product cannot be used, but let me confirm...
@mighty hill TY!
@deft ruin That's how the API is designed to work, see here: https://stripe.com/docs/api/invoices/create
I'm honestly not sure if you can make the Dashboard behave the same way, let me see if I can find out...
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
@mighty hill I am looking to be able to use the API the same way the dashboard works (not the other way around)
@deft ruin Oh, gotcha. That's not possible, but what's your use case? Maybe I can suggest an alternative.
my use-case is that I want to charge a customer a specific amount, and have that generate an invoice they can download (and i don't want to confuse them with pending invoice items)
basically i want to do exactly what you can do with the dashboard, only with the API
@mossy wren Confirmed Prices belonging to an Archived Product cannot be used. The API returns this error when you try:
Price `price_123` is not available to be purchased because its product is not active.
@mighty hill amazing, thank you so much for confirming 💯 I have a follow up question: for the existing subscribers subscribed to that Price, what happens to their subscriptions if the product is toggled to active: false?
@deft ruin Unfortunately there's no way to have the API behave the same way today. This is something we're working on improving, but there's no timeline for those changes at this time.
@spiral anchor 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
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
@mossy wren Nothing should happen to them.
@mighty hill Great, thank you.
Thanks for looking into it!
@mighty hill Does this mean the existing subscribers will continue to be charged for deactivated products?
@mossy wren I believe that's the way it works, yeah, but I don't think I've tested that specifically. Are you seeing different behavior?
@mighty hill We're still coding out the subscriber functions so I haven't gotten to the testing bit yet. If that's the way it works, then it's perfect.
Hi @mighty hill @meager hawk , we are building a mobile app using flutter, is there any document or methods for us to integrate stripe into flutter to enable checkout using credit card / fpx ?
Or anyone knows the answer
@mossy wren I just did a quick test and it appears to work that way, yep. Archiving the product had no impact on a Subscription using one of its Prices.
Amazing, thanks again for testing it and confirming. This really helps.
@summer wyvern Hello! I don't know of any documentation off the top of my head. We generally point people to this third-party Flutter library https://github.com/flutter-stripe/flutter_stripe as a starting point.
Thanks, this method is using the custom checkout flow? Means we can customise the UI and text?
@summer wyvern I believe so, but I'm not familiar with the specifics of that library or Flutter in general.
ok , another question. if there a way we can just redirect the user to any existing web page prebuild stripe hosted checkout page?
instead of building the checkout natively in the app , we redirect the user to stripe checkout web page for easier implementation
@summer wyvern I'm not sure I understand your question. Are you asking if you can redirect to Stripe Checkout inside your app or are you asking something else?
yes , if we can redirect to stripe checkout inside the app
@summer wyvern Yes, you can do that.
may i know which documentation to follow?
@summer wyvern When you create a Checkout Session it will have a url property. That's where you send your customer in your app.
@summer wyvern Are you looking for specific documentation beyond that?
yes, any implementation technical documentation for us to follow
The quickest way to build conversion-optimized payment forms, hosted on Stripe.
is it this one?
@summer wyvern Yes, although that doesn't cover Flutter specifically.
yea, since flutter is quite new and not much of community support , im thinking if we can just use the stripe checkout hosted page instead? in the native app , we redirect the user to a web view page in the app.
it is technically just a web page.. i guess?
@summer wyvern Yep, that should work fine. Checkout is a web page, yes.
@summer wyvern Just to clarify, the steps would be:
- Create a Checkout Session on your server
- Pass the
urlto your app - Load the
urlfor your customer to interact with
@summer wyvern The only issue you might run in to is the success_url and cancel_url on the Checkout Session. They need to be valid, internet-routable URLs, so you should set them to pages on your server that would then send your customer back to your app/trigger next steps in your app.
i see, let me try , thanks!
Find a guide to integrate Stripe's payments APIs.
what is the different between this and the stripe checkout? both has web option
Who can help for atripe account verification
@steady gyro https://support.stripe.com/contact/email
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
@summer wyvern That page is about all of Stripe's payment integration options, including Checkout and other options.
Hi,
when I activate the test mode everything works on my e-commerce site. But once I decide to switch to production mode, the bank data entry part disappears. And my formula on my stripe is automatically put in test mode.
@summer wyvern If you go here, for example, you can see several options at the top including Web, iOS, etc.: https://stripe.com/docs/payments/accept-a-payment
Securely accept payments online.
I have the only option to contact by email
@viscid ridge Hello! I wish I could help, but this chat is focused on developers and technical questions. Our support team will be able to assist you better than I can: https://support.stripe.com/contact/email
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
@steady gyro Right, that's the email form to contact support; we can't help with Stripe account issues here.
@light hawk ok so to be clear, that preview in the Dashboard uses subscription_proration_date which basically is to say "act as if I am directly calling the Update Subscription API at this given time" for the purposes of calculating proration, but it still creates/calculates the invoice as if it was created at the current time in other ways. You seem to be right anyway, it applies the coupon even though it should have expired by the time the invoice would be created. It's a limitation of that endpoint.
what I'd probably suggest is working around it manually by explicitly removing the coupon from the preview based on the period. One sec while I do something, it's easier to explain in code.
Hi, is there a generic way of confirming a payment intent using Stripe JS without having to call a specific method depending on the payment method?
@rigid ridge Hello! No, there isn't.
Okay, thanks!
what should i do .
@light hawk this is what I mean, basically, add some extra logic to avoid applying the discount if it will have expired. With this code the preview invoice is just the cost of the monthly price, which is expected value you want I think. Ultimately yes, the dashboard should do something similar most likely, it's an edge case bug.
let subscription = await stripe.subscriptions.create({
customer: customer.id,
default_payment_method : pm.id,
coupon:"1LxJxhvx", // duration_in_months:6
items: [
{
price: "price_1J7N6UJoUivz182DvvT9SRde", // yearly
},
],
expand : ["latest_invoice"]
});
let timeToApplyUpdate = subscription.current_period_end;
// conditionally apply coupon to the previewed invoice
let couponVal = subscription.discount.end < timeToApplyUpdate ? "" : subscription.coupon
const invoice = await stripe.invoices.retrieveUpcoming({
customer: customer.id,
subscription:subscription.id,
subscription_proration_date:timeToApplyUpdate,
subscription_items: [
{
id:subscription.items.data[0].id,
price:"price_1J7NTYJoUivz182DYOECb8kX" // monthly
}
],
coupon:couponVal
});
Unfortunately I can't read what that says, but if you contact support they should be able to help you in your language: https://support.stripe.com/contact/email
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
@viscid ridge Sorry, I still can't read that, as I do not speak that language. If you want to ask for help here can you provide a transalation?
Hi everyone,
I would appreciate if someone help me with updating payment method for recurring payments.
Thanks 🙏🏻
Nodejs
@desert moat Hello! I'd be happy to help, what do you need exactly?
I have set the subscription but in case the user would like to change his card in the future, i get the payment method id and then attach it with user and subscription but in case 3D secure it doesn’t work
@viscid ridge Okay, I can read that now, but I'm not seeing any error message. Are you seeing anything in the web browser's console that might indicate a problem?
I have to confirm Card payment first I guess
@desert moat When updating someone's payment info without taking payment at that time you should be using a Setup Intent to set it up for future use: https://stripe.com/docs/payments/save-and-reuse
Learn how to save card details and charge your customers later.
no form in live mode
@viscid ridge Yes, I see the problem, but I need your help to solve it. Are you seeing errors in the browser's console?
@viscid ridge Alternatively, can you provide a link to that page so I can look at it myself?
Thank you Rubeus 🙏🏻 that was exactly what I’m looking for.
Appreciate it
ok let me send you the link inbox
@viscid ridge I'm unable to accept DMs here, sorry. Are you a developer? Were you able to take a look at the console?
Uncaught ReferenceError: disposeWindowBubble is not defined
at <anonymous>:1:1
@viscid ridge Is that the only error or are there others?
@viscid ridge Yes that's the only error or yes there are others?
yes it's the only error my console
@viscid ridge Gotcha. It sounds like the issue might be that an error somewhere in your JavaScript might be stopping code execution before the Stripe.js code that mounts Stripe Elements runs. Are you able to find the source of that error and correct it?
hello I am having this problem! Can you help me ?
I can't can you help me?
Hi there! Let me take a look
thanks
@viscid ridge I can't help further without seeing the page. If you're not willing to share the URL here you should contact support for one-on-one assistance: https://support.stripe.com/contact/email
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
@vocal wagon From the error message it sounds like you passed in GP as the country, but that isn't a valid country value you can use with payment requests. Was GP a typo, or are you trying to use it for an unsupported country?
Yes I live in Guadeloupe. But I know that stripe works in Guadeloupe because I have already used it on another website!
@vocal wagon I can't speak to how the other website is using Stripe, but to my knowledge it's not a country we support at this time - if you have further questions you can talk to support (https://support.stripe.com/contact). They'll know more about the country-specific capabilities of stripe
@meager hawk thanks for looking into this 🙂
Is it possible to bring an existing Stripe account into a Companies umbrella of accounts. The idea is to preserve the customers, charges, etc but move the entire Stripe account into a Companies umbrella of accounts?
what do you want us to change?
@viscid ridge I don't understand your question. Change what?
Hello! Are you trying to link accounts (that are already using Connect) or are you talking about something else?
@mighty hill If I want to migrate to a different payment provider I read here : https://stripe.com/docs/security/data-migrations/exports that stripe does not provide facility to export payment, subscription information. Does this include invoice data?
Securely export sensitive payment data out of your Stripe account to another payment processor.
I want to know where I have to go to fix the error? you told me that it comes from my javascript and stripe.js file. So I'm asking you what should I change in the file?
@dim hearth Larger company acquired a smaller one. I'm not entirely sure if the larger company is using Connect but they manage multiple Accounts under their larger Org account? The smaller company has a general Stripe account (no connect), I wanted to know if it's possible to merge the Smaller company (no connect) into the larger Organization's (presumably Connect)'s account.
@viscid ridge I can't tell you what change to make without seeing the code that's throwing the error.
@viscid ridge To clarify, this is a public place where Stripe developers hang out to get help with questions and issues. I'm happy to help you here, but you would need to share the URL to your page publicly. If you're not comfortable with that I totally understand; in that case you would need to reach out to Stripe Support for private help.
Ahhh gotcha - yes it's definitely possible! The folks over at support should be able to get that started for you (contact them at https://support.stripe.com/contact)
That's correct - we don't export invoice data.
@dim hearth Fantastic, thank you! Saves me from having to update existing code that has to guess which account the Stripe customer is on every time we want to process a Charge, update a Customer, etfc.
When talking to support, I would definitely suggest asking for details on how org accounts work. It's not something we handle in this channel, so I don't know a ton of how those accounts are organized
@dim hearth I understand, thank you.
my stripe.js code
@viscid ridge Do you have the code that involves disposeWindowBubble (referenced in the error you shared earlier)?
@viscid ridge Actually, is this your code? This looks like WooCommerce's code to me?
i don't know where to find disposeWindowBubble on my code
@viscid ridge I think it's probably best if you write in to support so you can get private support and share the page: https://support.stripe.com/contact/email
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
ok
From what I can tell, there's no webhooks that can be sent when a new BalanceTransaction object is created, correct?
That's correct. There isn't a specific webhook event that is sent for balance transaction creation, but there is balance.available which is triggered whenever your Stripe balance has been updated
Right. Thank you. Our integration was done years ago and we have multiple items being purchased through a single Charge, so while Stripe says our balance went up by, say, $100, it's actually three different items that were purchased, and we're finally looking to break it up. I can just call the BalanceTransaction endpoint and go from there.
Appreciate your help!
Hi! How could I retrieve all invoice objects related to a subscription/subscriptionschedule?
You can pass in the subscription parameter when calling list all invoices (see https://stripe.com/docs/api/invoices/list#list_invoices-subscription)
Hi! I'm having bank account problems, it says hat the quantidity of digits is not available, but it is all right, and i can not have payouts
I'm from Brazil
I need a personal Support pleases for account verifications
Unfortunately we don't provide personal support here - if you contact support at https://support.stripe.com/contact they should be able to help with your account-specific issues
thank you
Hi! I have two separate Stripe platforms on my site. When creating a standard account for a client, is it possible to add their account to both platforms at once, or does the client have to go through onboarding once per platform?
They would have to go through onboarding once per platform
Figured as much, just wanted to check that I wasn't missing a shortcut. Thanks!
Hey! Looking for some advice regarding the best way to implement a free plan. We're currently using a "free" price ($0/month) on the same Stripe Product as our paid plans.
When a user changes plans we just update the price id in their current subscription, and let Stripe handle the rest. This makes things a bit awkward for unpaid/pastdue customers, because when they downgrade to free, their account is still marked as unpaid/past due and our app stays locked to them.
Our best idea for a workaround is to forgive/void outstanding invoices when downgrading to a free plan, but just wanted to check whether we're missing a simpler option altogether.
Hello! Do you happen to have a subscription ID that I can take a look at that was on a non-free price and was updated to your free price? It'll just make it faster for me to look into all the options
Just created one as an example: sub_JkwAdnY4p6Qbm5
Hi Stripe team! Quick question: how can I automatically create a subscription based on a contract signed in either a PandaDocs envelope or a HubSpot quote?
That would be a better question for PandaDocs and Hubspot, since they're the ones in control of their integration on top of Stripe
Ok thanks! Unrelated question: when using Stripe React, I'd like to have Elements present the local currency based on where the consumer is accessing my website from, i.e. USD if they are US-based and EUR if they are Spain-based. Can this be done? Do you have documentation?
Can you be more specific? Which element is displaying the currency for you?
We haven't started developing yet. Thinking about using the PaymentsIntent API and wondering if it would display local presentment currencies before starting work on it
Well if you're accepting card payments and using elements, the only thing we're displaying is the card information inputs - not the actually currency of the payment intent or anything. Currency of a payment intent is something you need to pass in server-side when it's created, which is certainly something you can control if you pass the customer's country to your backend and add logic to use the appropriate currency when creating the PaymentIntent. Does that make sense?
Yes, that does. Do you have addtional documentation on this that I can fwd to team?
Thanks for sending that over! So really, your best option is the one you already described (voiding the unpaid non-zero invoice). This is because the subscription status is determined by the most recent invoice, and so you'll be stuck with the past_due status until the subscription renews w/ the $0 price. You could try passing in proration_behavior: none and billing_cycle_anchor: now to immediately invoice at the new price, but that will change the renewal date of your subscription.
There isn't really documentation specific to this - I'd suggest starting with our general docs on accepting payment that should how to use payment intents (see https://stripe.com/docs/payments/accept-a-payment?platform=web&ui=elements) and also checking out the api ref for creating a payment intent (https://stripe.com/docs/api/payment_intents/create#create_payment_intent-currency)
Hmm, but that would only work with subscriptions, right? not with subscription schedules
Thanks! If I disable proration and re-anchor, I assume I would need to undo those options on the subscription if switching back from free to paid again in the future?
Thanks @dim hearth !
Once a subscription schedule has started, an associated subscription is generated which you can then use to check for all invoices. I believe you'd find there here: https://stripe.com/docs/api/subscription_schedules/object#subscription_schedule_object-subscription
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
okay, thanks!
There shouldn't be a need to un-do them - they are set on a per-request basis and aren't persisted across multiple requests (so your next update request would need to set them again if you wanted to use them)
Ah gotcha. Not permanently disabling proration for that subscription, just for that change. Cool, I think that works, given that we don't mind changing the billing cycle when customers downgrade to free.
Thanks for the help @dim hearth!
Just want to add one more thing - if that non-zero invoice is one that you don't expect your customer to pay for, I would still recommend voiding it or marking as uncollectible at some point so it isn't accidentally retried/paid for at a later date
Any rationale on whether to void or mark as uncollectible?
Hmmm I think void is the way to go here - I forgot that uncollectible invoices can still actually be paid, whereas void ones cannot
Perfect. Thanks!
Super helpful
When adding a bank account to a Custom Connect account, does it need to be verified like a Customer bank account source is verified? ie with microdeposit verification? I can't find a clear answer in the docs.
@ripe spindle I thought we had a doc about this, let me check...
The connect docs mention it's automatically verified, but I'm having trouble visualizing what that means when it can't be verified. If I'm operating on behalf of our connect accounts, how can I get their bank back in good standing?
@ripe spindle What does "operating on behalf of our connect accounts" mean?
Our users don't access their own connect accounts, we facilitate payments on their behalf
The only interaction they have with Stripe is via the onboarding flow you guys provide
@ripe spindle Ah, gotcha. As far as I know the only validation we perform when you add a bank account to a Custom account is to ensure things like the account number is valid and whatnot. There's no microdeposit verification required because you're putting money in, not taking money out.
What about in the case of refunds?
@ripe spindle For Custom accounts the platform is responsible for refunds.
the platform, meaning my company?
@ripe spindle Yeah. When using Custom accounts fraud, disputes, refunds, etc. are the responsibility of the platform, not the connected accounts. We have documentation about managing this kind of thing here: https://stripe.com/docs/connect/account-balances#accounting-for-negative-balances
Learn how Stripe account balances work when using Connect.
Okay I'll take a look at that, going back to my first question. What exactly happens when a bank account can't automatically be verified? Can we create an account link to have the user fix it in Stripe similar to how we have them make updates in Stripe for KYC changes?
@ripe spindle You'll get an error from the API and the operation you're trying to perform will fail.
At that point can they fix it or do they have to try to add a new bank account?
@ripe spindle That's entirely up to you and how your system handles the error.
There's no Stripe-hosted flow (e.g., Connect Onboarding) for collecting bank details for Custom accounts currently
You'll need to use the API to collect the new bank details yourself.
(or the dashboard)