#dev-help
1 messages · Page 134 of 1
there should be, i doubt that the plugin is gonna tell me more anyways 😛
Presumably confirmApplePayPayment gets the token from Apple Pay and then confirms it via the underlying native Stripe SDK, we'd want to know at what step that fails
If anything hopefully the flutter devs can surface a better error message, flutter: Error: PlatformException(Failed, Payment not completed, null, null) isn't super helpful 😉
Hi yall, when i create a checkout session i attach metadata to my items obj but these metadata are not visible when i call /v1/checkout/sessions/%s/line_items, any idea how i can retrieve these info later on?
~~line_items aren't available by default, you need to expand them to get them in your request: https://stripe.com/docs/api/expanding_objects~~
Oh wait sorry you're retrieving the line items directly
@vocal wagon line_items can't have metadata attached to them, are you sure you aren't attaching metadata to the root Session object instead?
"0": {
"price_data": {
"currency": "usd",
"product_data": {
"name": "Product name",
"metadata": {
"city": "Covington, Kenton County, Kentucky, United States",
"latitude": "39.0836224",
"longitude": "-84.508371",
"url": "my_url",
"framed": "false"
}
},
"unit_amount_decimal": "499"
},
"quantity": "1"
}
},
"mode": "payment",```
Yes i think, here is what i send
I was able to get a verbose stack of the error in xcode instead of android studio, its a lame for the chat, how should I post this?
it's the session creation obj
Ah you're attaching metadata to a Product: https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-line_items-price_data-product_data-metadata
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Hello guys, I have a question regarding why Stripe NodeSDK (or Stripe API itself) gives a sessionID when it comes to checkout session, and a URL when it comes to the billing portal session. Why two different behaviors?
@vocal wagon in which case you'd need to expand data.price.product to get that metadata: https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-line_items-data-price-product
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
They aren't different behaviours. Creating a portal session gets you back a portal session object: https://stripe.com/docs/api/customer_portal/session
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Very cool, i'm gonna try that, thank you Paul
flutte_stripe
Thanks Paul, it worked like a charm 👌
The element of type card is a single input that collects card number, expiry, and cvc. There are individual elements for these fields, but i cannot figure out how to use confirmCardSetup or confirmPaymentIntent with the individual elements. The examples use the card number element, but when I do that I get a "Missing required param: payment_method_data[card][exp_month]" which makes sense.
Stripe.js should automatically find the expiry and cvc field even if you only use the card element.
do you have a code sample on how you call confirmCardSetup etc.?
When creating a checkout session for my subscription, I used payment_method_types: ['card'], . In the URL, I can see Google Pay as well. Is it normal. If a user pays using Google Pay, or Apple Pay, will we still see the linked card?
You can turn off GooglePay or Apple Pay in your dashboard https://dashboard.stripe.com/settings/checkout
And GooglePay and Apple Pay will appear as card payment with wallet parameter https://stripe.com/docs/api/payment_methods/object#payment_method_object-card-wallet
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
// stripe-service.ts
async createPaymentMethod(cardElement: stripe.elements.Element) {
this.http.post(
`${environment.firebase.function_url}/createPaymentMethod`,
{ uid: this.auth.uid }
)
.subscribe((secret: any) => {
this._stripe.confirmCardSetup(secret, {
payment_method: { card: cardElement },
});
});
}
Hi everyone, I'm creating a price for a product through api service ... The only thing is that I can't set it as a one-time price. Could you help me?
Hi! Are you getting an error?
I solved it but now it gives me this error, could you help me? The Checkout Session's total amount due cannot be zero in payment mode.
@wanton bison Do you have request ID I can look at? Looks like req_123
how this? {
"description":"teststripe",
"cancelPage":"https://www.google.it/",
"ammount":350.00,
"priceid": "price_1JIrbhGjwmKtvXEy9uYrmTmc",
"orderID":"prod_JwOulla9ayMsCd"
}
Id=req_ThjYHK2jJ7fZoD
hmm, that looks correct. How is createPaymentMethod used? or stripe-services.ts is used.
stripe-service.ts is an angular service being injected into a component. It holds the stripe reference, and provides functions to interact with the stripe reference.The component uses the service to create / mount / destroy the stripe elements.
It works fine with the singular card element.
You passed in a unit_amount of 0, so it failed because you can't create a Checkout Session for 0 money
Yeah, Stripe.js will try to find all the elements created on the same page, I wonder if Stripe.js failed to locate the other elements. I am not too familiar with Angular service but let me check
Could you explain to me why creating a price through api does not save the right one?
{
"product_id":"prod_JwOulla9ayMsCd",
"ammount":3000.00,
"currency":""
}
this is the call but on stripe it saves as 30.00 eur
amount not ammount, and the number is in the smallest denomination, so it should be 300000 for 3000 eur.
Hello Stripe somone tried to pay on my website today but the payment failed I think the problem came from Stripe I think my e-mail adress was not right so I changed How can I check on Stripe that everything is ok now and be sure that thé problem was this one ? I hope I nom pretty clear it is hard in english 🙂
Yes that's expected, Stripe works in the currency's lowest unit. In the case of EUR 3000 would be 3000 eurocents, which works out to 30 euros
Okay, thanks a lot!
:question: @vocal wagon Have a non-technical question, account issue, or need one-on-one support?
We wish we could help, but this community is focused on developers and technical discussions. Our support team will be able to assist you better than we can: https://support.stripe.com/contact
@lucid raft My singleton service was returning a new instance of stripe.elements.Elements from it's createElement method, so in the component, the elements had no idea about each other. Thanks for the rubber ducking. 😄
I see, that explains it. Thanks for sharing
While trying to follow https://github.com/stripe-samples/subscription-use-cases#option-2-installing-manually the section on .env variables doesn't suggests how to get STRIPE_WEBHOOK_SECRET key - can someone please help?
@regal sage Hey there. You'd find this on your Dashboard on the page for the configured webhook
@regal sage Or if you're developing locally, you could try our CLI which is great for webhooks: https://stripe.com/docs/stripe-cli
Build, test, and manage your Stripe integration from the terminal.
Yes. I am trying to run locally. But I don't want to use stripe cli.
While following the README in the project, it assumes the end user knows about a few things, and we can possibly add it. If I don't want to use the first suggested option via the stripe cli and am trying to clone the project (option-2-installing-manually) the section to fill in environment variable states that we need to fill in the options - how to get them is missing
@regal sage You'll need to create a webhook for your account via the Dashboard (or API). That webhook will then come with a unique signing secret for you to use. There's a great doc on webhooks here: https://stripe.com/docs/webhooks
Listen for events on your Stripe account so your integration can automatically trigger reactions.
@hollow prairie please confirm if this is a webhook which is already part of the sample ? https://github.com/stripe-samples/subscription-use-cases/blob/master/fixed-price-subscriptions/server/node/server.js
hey 🙂 is there a way to skip credit card collection in Stripe Checkout? either when using a trial_period_days, or when applying 100% off coupon for a few months when redirecting to the checkout?
@normal rampart Hey! That's not possible with Checkout, no. You'd need to build your own integration if you wanted to bypass payment collection I'm afraid
thank you 🙂
Hey devs, I have a question. User connect to our platform as standard or express account so we get his stripe account id and store it in DB, then he disconnect and reconnect again so we get a new stripe account id and store it but the problem is in his payments history become empty as we display the payments for the last/new stripe account id not the old one ,, is there this any solution for that? Thanks in advance
@tacit ibex Hey there. If the connection was with a standard account, you'd not receiving a new account ID when re-connecting unless it was a completely different account
So what about express accounts?
@tacit ibex With Express then yes you'd receiving a new account ID after a disconnection and a 'new' connection
@tacit ibex They're not a standard Stripe account, so they don't exist/function outside of the realm of your platform
Thanks so much, this is what I said
@tacit ibex Does that clear things for you? Anything else I can help with?
Yes clear, thanks for help
Hi all! I am trying to process a successful payment for goods. however, the webhook does not receive information from which product was purchased. How can I identify the purchased item?
@gilded sentinel Hey there. Can you share the ID of an event you're receiving in your webhook handler?
e.g. pi_3JItrMLf2egvIlEt26pC6hFu ?
@gilded sentinel That should work, let me check!
u can try it evt_1JItBFLf2egvIlEtdtxAV6vu
@gilded sentinel You're currently using the charge.succeeded events, right?
i tried different events but it seems i need to use payment_intent.succeeded
but the result is always about the same: it is impossible to accurately identify the product. I can show what comes from the server to the webhook
I am setting up connect account in different country, i have facing this error=
"Cannot create a destination charge for connected accounts in JP because funds
would be settled on the platform and the connected account is outside the platform's region.
You may use the on_behalf_of parameter to have the charge settle in the connected account's country.
For more information on on_behalf_of, see https://stripe.com/docs/connect/charges-transfers#on-behalf-of.
If using capabilities (e.g. card_payments, transfers), note that they affect settlement as well. For more
information on capabilities, see https://stripe.com/docs/connect/account-capabilities. If you still need assistance,
please contact us via https://support.stripe.com/contact."
@hollow prairie Whats i need to do in this case ??
With Connect, you can make charges on your platform account on behalf of connected accounts, perform transfers separately, and retain funds in the process.
@hollow prairie Hi, I am creating a subscription via schedule (to set at a later date). Is there an event type which will notify my webhook when schedule phase is about to begin, meaning the subscription is about to begin?
Guys is there a limit for stripe webhooks ? I received few webhooks but in the last one I set lots of events in it for calling webhook, any possible reason there is some quota and I consumed it all ?
@leaden thorn Hello. Do you mean a limit of the number of webhooks your account can have?
@leaden thorn If there's a specific event you're having issues with, please share the ID and I can take a look
Hey all, i am trying to create a webhook in node.js through the API /v1/webhook_endpoints and keep getting an unknown parameter error when trying to set the url and enabled_events anyone have this problem or know of a fix?
@placid flame Hey! Can you share the ID of the request that's causing an issue? https://support.stripe.com/questions/finding-the-id-for-an-api-request
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.
Yeah! req_niDS5cBd57MAxk
@placid flame Checking
@placid flame Can you share the code you're using to make that API call? Please omit any API keys etc
const request = new HttpRequest(
new URL(https://api.stripe.com/v1/webhook_endpoints),
"POST",
new HttpHeaders({
...this.getAuthHeaders(apiKey).toObject(),
"Content-Type": "application/x-www-form-urlencoded",
}),
JSON.stringify({
url: url.toString(),
enabled_events: events,
connect: true,
})
);
Hi, why card 4000000000003220 not work with off_session = true ? (4000002500003155 - work good)
@cunning swan 4000000000003220 requires auth for every payment, regardless of whether it has been setup for off-session payments
@cunning swan So when you pass off_session: true, it'll just fail as it requires auth and you've marked your customer is not present to do the auth
Hi guys, Is it possible to delete prices that are assigned to the product (via API) ? I wanted to add some cleanup steps to my application which, among others, would remove products in Stripe, but according to doc, there's no way to remove a product if it has related prices assigned (but I don't see any delete api for prices)
what ID do you want ? my email or publishable keys ?
Hello there,
I am building a short term rental platform. We have a few constraints:
- I must place a hold on the customer card for the payment and the bail.
- The payment must be captured right after the order was validated by the renter
- The bail can be captured when the objects are returned if they suffered any damages.
I encounter some issues integrating stripe:
- I wish I could place a single hold on a card and capture multiple times but this is not allowed by stripe (unlike other payment providers). I know the doc says that we could “save the customer’s card details for later” but this wouldn’t ensure that the customer has sufficient funds to pay the bail if needed.
- I must wait for the bail and the payment to be authorized before I create the order but it creates some race conditions on my web hooks. I could send the events to a queue to make sure to process them sequentially but I would like to avoid it if possible.
I think most of my problems come from the fact that I have to create 2 payment intents. Do you guys have any idea on how to solve this?
Greetings! Looking for advice to deal with the asynchronicity of payments. I have the following process:
- start a payment intent from my front-end app (here: iOS) to my back-end
- user validates the payment on the front-end
- Stripe executes the payment and responds with the status to the front-end app
- front-end asks back-end for post-payment data
Problem: at the last step, the back-end may not yet have received the payment hook call from Stripe, and hence, responds to the front-end as if the payment did not occur.
Is there an out-of-the-box system to make the whole process synchronous? Or should I do some form of polling at the last step?
can we passs descrition of the subscription dynamically ? like I want to pass the Month when they pay
description*
Hey again, but using URLSearchParams doesnt let me set the value as an array for enabled_events and the api wont accept a string
Do you have the request id for where you got an error about accepting strings?
req_Gk2Z8hQUkZXc0u , its just an "Invalid array" message
Yep, you're passing "subscription_schedule.created,subscription_schedule.canceled,subscription_schedule.updated" (a string) for the enabled_events, as you mentioned. You need to pass it as an array.
Have you considered using stripe-node instead of making the request manually?
could be an option, is there no way to do it with URLSearchParams?
Possibly, but we have the official library which sets it all up for you. Plus it's a POST request and you generally wouldn't use URL params with a POST.
With stripe-node you just call the example code from https://stripe.com/docs/api/webhook_endpoints/create?lang=node
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
url: 'https://example.com/my/webhook/endpoint',
enabled_events: [
'charge.failed',
'charge.succeeded',
],
});```
Thanks for the help, ill see if we need to use the package
Hey there, we're trying to create a flow similar to SubStack with a connected account that will be able to receive payments from customers and payout to their banks.
• We manage to use the express api however this requires terms acceptance which we're unsure how to do and if it's possible to do it via the api in test mode for standard or express accounts.
• We then tried to mirror SubStack standard connect form, the form seems identical however every connected account comes up with restrict required id verification which doesn't seem to be the case on SubStack. Is this a limitation on Test Mode or are we missing something.
Thanks for the help in advance,
Adrian.
Hello, I'm a bit of a noob dev, and there's something I don't understand. Let's say a user wants to buy something in my website, that user is logged in, they press the purchase button and get redirected to the stripe checkout, they pay and everything goes fine. Assume I have a webhook set up where I receive that event. How can I 'connect' or link that purchase to the corresponding 'User' object in my backend? only by using the stripe.Customer.email? What happens if they use a different e-mail when completing the checkout form?
Thank you, and I'm sorry if this is a dumb question.
@pine hare hello, catching up
Hello, Team, I'm working on Stripe woocommerce and the payment is on hold. Following on this document. https://docs.woocommerce.com/document/stripe/ It said need to capture funds manually. I'm not quite sure about what it means. Do we need to ask the client to pay us manually or continue the payment process on the site by setting something more?
Grateful and Sorry for the dumb question. I'm kind of new with this.
Hello, does anybody know if there is a way to update a paymentIntent without its client secret?
Hello, Looking for information on failed refunds! If a failed refund occurs 20 days later, does it show up in the current days Balance Transactions? Thank you.
I am not sure if this is the correct channel, but I have a question about coupon durations: https://stripe.com/docs/api/coupons/object#coupon_object-duration
If a coupon is applied to a customer with duration set to once, will the value of this coupon roll over from invoice to invoice if it is not fully used? Or will it expire after one invoice?
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Hello, I run a subscription business and collect payment through Stripe. Is there a way to quickly see total active subscriptions and also the growth over time?
Hey guys, how do you recommend implementing metered billing if you have thousands of different 'services' each with its own unit price?
For example, let's say I'm trying to build a replica of AWS EC2. EC2 has 30+ regions (us-east, tokyo etc.), and 100~ instance types (flash, gpu, high memory, 1 cpu, 2 cpu, ..), and each instance type has a different per hour cost in a different region. So there's potentially 2,000+ different 'services' with different unit prices.
A subscription (https://stripe.com/docs/billing/subscriptions/multiple-products) only handles 20 products.
Create subscriptions with multiple products, all billed in a single invoice.
Hi guys, I m developing a checkout process with nodejs. But i don't have the domain yet and i'm workin with localhost:3000
When I try to create the checkout session, the browser console says:
OPTIONShttps://checkout.stripe.com/pay/cs_test_a1e50BIBq6A6rJ3gPLPuM4frwXf9oTMy8GMLbEj7FeizINqBDQi#fidkdWxOYHwnPyd1blpxYHZxWjA0T01wQ3NEb3NNZlRdNzJLYUc9V0Mya2FIcUIzNH9gU2JxQjxzdUZWY0BtN2FpcVxMQGRANkB9aTN9Q2h2ME5oSFVXaW5Cf1NLdFI3dEw1RGJIcFFtdTVzNTVVa3BsMXdPdScpJ2N3amhWYHdzYHcnP3F3cGApJ2lkfGpwcVF8dWAnPyd2bGtiaWBabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic/cXdwYHgl
CORS Missing Allow Origin
Is possible create the session writing here domainURL=http://localhost:3000?
success_url: `${domainURL}/success.html?session_id={CHECKOUT_SESSION_ID}`,
cancel_url: `${domainURL}/canceled.html`,
Hi, how do i edit this customer field using the api?
I'm probably missing something but, what I'm trying to do is associate an external ID with a checkout session and then to fulfill the payment I need that external ID. Is using the success URL and then seeing that it's paid an okay solution? When I listen for the webhook it doesn't include the client_reference_id so I'm kinda stumped on how to proceed.
Hi, I am very new to stripe, and I am using nodejs, I like to add customer cards into a virtual wallet, so that we can use that to charge later when customer want to buy something in the future. Basically I do not want customer entering the credit card details every time during a purchase ? do you have any sample code or references please? Thanks in advance.
if there a way to have a free subscription tier that doesn't require a credit card?
Hey lovely people! I came up with a simple question: is there any limit on the web hook endpoints at Stripe? I wasn't able to find any public resource on this
I'm not sure if I missed something, but how does one get the products purchased from a PaymentIntent or CheckoutSession?
If I create a subscription with multiple items, can those items later be cancelled individually? Or does cancellation work on the subscription as a whole?
When does a payout.paid event get triggered?
Also why can't we use automatic payouts and use instant payouts?
Is there is a way to retrieve customer using email ?
Why Stripe told that my account will be closed
Hi I am a new user of Stripe. How do I send an invoice reminder to my customer?
Hi My website is allows clients to take payments from their customers using Stripe Connect. Recently I gota client in India who is using Stripe. I thought it would work for him without any issues as it has always worked in USA. He was able to connect his account but payments fail when his clients submit the credit card. Is there a different API or process to allow payments using stripe connect in India?
Let me check what information I have on my server on the failed payment, I will get back soon.
Hi, to capture future payments, is there is a way to use "StripeCardElement" (reactjs) to capture the card, instead of redirecting to stripe page ?
Hi There, we wanted to get started with Strip to take in mobile payments, however our security team has some questions on PCI Compliance and SAQ questionnaire. Is there anyonwe who they can reach out to for more information.
:question: @pearl bridge Have a non-technical question, account issue, or need one-on-one support?
We wish we could help, but this community is focused on developers and technical discussions. Our support team will be able to assist you better than we can: https://support.stripe.com/contact
Hey there!
Not sure if I am in the right place or
anyhow, I have an issue with my stripe. I have received 2 payments but after some days, my stripe said that there are some issues with my bank details
Not sure if you can help me with this
:question: @quasi talon Have a non-technical question, account issue, or need one-on-one support?
We wish we could help, but this community is focused on developers and technical discussions. Our support team will be able to assist you better than we can: https://support.stripe.com/contact
can I at least send you an email or something?
The forms you have on help and support and confusing
That link is for the form where you can email the support team. We can't help with that type of issue in Discord.
I'm using stripe checkout and storing the checkout.session.id in a table along with my user's user_id. For ease of logic, I would like to have a webhook for "payment_intent.succeeded" and backtrack to the session that generated that PaymentIntent. Is this possible to do cleanly?
Anyone know if it is possible to set up a webhook to trigger a week BEFORE a payment is due?
so that we can email our users letting them know a week before they will be charged again for their annual membership?
Hey guys. I talked to koop about problems with auto-voided invoices with applied balance (i.e. used credit) not automatically moving the balance back to the customer object when a pending update expires (or is replaced by a new pending update) for a subscription. He told me you guys had a JIRA tracking this issue specifically, but I can't reproduce it on my platform account. I coded around it for connected accounts that are on API versions previous to the one where the balance was reapplied to the customer automatically, so now I'm a bit confused about what I need to do going forward. See cus_JwwPpioY3q0t9F
It seems to happen automatically now, at least in this test case.
(as you'd expect)
Hello! I'm looking at the "Upgrade and downgrade subscriptions" doc, and I'm curious if changing the discount from 100% off to some partial amount qualifies for the proration behavior.
For my use case, our subscriptions can apply a discount if a customer doesn't have access to a certain feature, and we'd like to charge them for the remainder of the current billing cycle when they decide to upgrade. Ideally, this wouldn't influence the billing cycle anchor, but if that's the best way to handle this then it shouldn't matter too much.
Hi, I need some help with my Stripe connect account. How can issue strip cards to my customers for them to purchase?
I will then use those funds to complete their travel bookings
How do I chat with someone from Stripe?
Type your message in here 🙂
Stripe has not paid out my money since May....WHY?
There are not messages stating an issue.
This channel is focused on technical/developer issues and we don't have the tools here to investigate account-specific issues with payouts. The folks over at support (https://support.stripe.com/contact) should be able to look at your account and help!
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.
@vivid stream With that said, have you checked your payouts are not set to manual? Because then you would have to manually pay them out from the dashboard or the API. If they are not set to manual and the reason is something else, then you must contact support as @dim hearth says.
Thank you
@vocal stump They are not....It is set to weekly
Yeah then this is not the place for help unfortunately
Hi, i need help. A page called analisisdeportivo.com sent a payment using your sistem and they make a swindle
I need to talk with some person because of that
We can't help with issues like that here (this is a technical/developer channel) but someone at support https://support.stripe.com/contact should be able to help you! Also want to mention, you can always dispute any charges through your bank/card issuer if needed.
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.
thank you
👋 Messages in this channel are unlikely to be seen by Stripe engineers on weekends. If you have urgent questions then you should 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.
is there any way I can hide this from the checkout page
Just launched my website using bigcartel/stripe. First payment says itll deposit in 1 week?? Is that just the first payment? How do I get it to I get payouts everyday
Hello 👋. I am getting error: Error Domain=com.stripe.lib Code=50 "There was an unexpected error -- try again in a few seconds" UserInfo={com.stripe.lib:ErrorMessageKey=No valid API key provided. Set STPAPIClient.shared().publishableKey to your publishable key. … i have set up the pk in AppDelegate of iOS aap .
👋 Messages in this channel are unlikely to be seen by Stripe engineers on weekends. If you have urgent questions then you should 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.
Can you downgrade (or revert back) to an older version of stripe?
(I'm about to upgrade from 2016 to the current version and if something goes wrong it'd be nice to revert back temporarily while I fix it)
i'm trying to do some testing but i constantly get this error: Expired API Key provided: sk_test_*********************************************************************************************jA556h
any thoughts on what the issue might be? the API key is valid
tried a rk_test key too, same error
Guys whats the event in webhook that happens when a charge for a subscription is successful ? I need to mock acceptance of card by charge getting unsuccessful, which is the event which only happens when a charge happens successfully ?
I have a couple of questions wrt to which Intent to use:
- we have customers in both India and outside of India but regulations state that for Indian customers we have to charge in Indian currency while for the rest we can charge in USD. While we have different currencies listed in our product/pricing, we are unable to use a Checkout Session because Stripe does not automatically pick the right currency to charge based on customer's address. Is there a way to make Checkout Session do this for us?
- because of the above, we are using a SetupIntent. The problem here is that we're unable to execute proper 3D secure workflows. Example: we allow customers to add their payment details before their trial expires. They do this via the SetupIntent hosted page. We create default payment method and subscription for the customers. But after this, when their trial expires and Stripe tries to charge their card, it fails because there's a
requires_actionthing happening due to 3D secure.
Has anyone got any ideas on how best to solve for these two cases?
i want to setup stripe one time payment, need support in this
You can roll back for 72 hours I believe
why I can’t make a subscription with no customer?
Hello folks. Need your advise. I I'm creating a payment via Payment intent with "setup_future_usage":"off_session" and "confirm":"true". I'm testing a card with 3d secure. I'm getting a confirmation promt and payment is succeded.
The payment method is also created as well and I want to use it for future payments for this customer, but every new payment requires 3D secure confirm again, event if I pass Payment method Id.
How can I perform next payments for this customer with this payment method, without 3D secure confirmation?
Hi, I wanted to find someone who can help me understand my stripe usage according to my needs... can I DM someone?
Cool, well I will write here"
- I can have many users
- I have a wallet where money can be stored on my server
- Transfers happen from one user to another, the transfer may happen just with email and bank details
- I charge a subscription which needs to be refundable in partial amounts
- I want to maintain a log of transactions per user
- And refund without cutting any charge if possible
Can all this be done?
Are u here to promote
👋 Messages in this channel are unlikely to be seen by Stripe engineers on weekends. If you have urgent questions then you should 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.
Did it sound like that? I am sorry, but no
How can we get the original receipt of a charge, once it was refunded. Currently if i refund a charge, then I can see the receipt of the refunded receipt.
hey guys, does devs have the right to have aa stripe acc or it's only focused on start-ups not solo devs/freelancers in the domain plus do we have the right / can we ask for a visa card (physical card) or it's mainly a solution for a certain business
thank you in advance!
hi huys . could you help me please
I recently opened my stripe account on my shopify site. My stripe account is already activated, integration as a third party payment provider seems to work. However, when checking out, the card payment module is not displayed.
Hey I was wondering who I can reach out to to get my issuing approved a little quicker.
If you put in an application; it’s being processed. Give them time.
Do you know what the usual time to hear a response is?
Sorry I’m just really antsy
I got a response within a week; it just takes a bit. This also isn’t the best place to ask questions like this.
O okay noted
I've used the Stripe Checkout snippet generator to get the JavaScript I need to embed on my page. But Stripe Checkout is not calculating sales tax. I have added code to require billing address collection (billingAddressCollection: 'required',), but I can't figure out how to enable Automatic Tax calculation based on the billing address.
Hello, i have some troubles with stripe installation on my react-native project for ios on macbook m1.
So, after installation, and success pods installation, building for ios 11, xCode gives that errors
Showing Recent Issues
Undefined symbol: type metadata accessor for (extension in Foundation):__C.NSOperationQueue.SchedulerTimeType and more
Can someone help please?
Is there a way I can know charges paid out in a payout (auto generated, I know it can't be done for manual)?
Like when a payout is generated, I want to know what all charges were paid out in it
I can see it on dashboard but I need it in api/function (python sdk)
Hi - Price unit_amount accepts a positive integer in cents (or 0 for a free price)
however a payment_intent does not allow 0
What are the steps to complete a $0 'Free' purchase?
Thanks
You don't process the payment if the amount is 0, @rapid tide. You'd just mark the invoice paid (or not create one, depending on what you're doing)
Am I allowed to use stripe sessions creator to create a transfer payment to a connect account?
Hello, Is there a way to receive payments with installments on brazil ?
I have tables called stripe_subscriptions and stripe_invoices in my database - stripe invoices has the subscription id (for each invoices subscription) as a foreign key - I get this data from stripe events. The problem is that since events are sent in no particular order, sometimes my application receives invoice created event before the subscription created, even though in my db the subscription needs to be created first as it is used as a foreign key on the invoice. Does anyone know how to deal with this?
Yes, you can rollback an upgrade for 72h after changing it: https://stripe.com/docs/upgrades#rolling-back-your-api-version
Keep track of changes and upgrades to the Stripe API.
Currently waiting on live support to get back to me but found this discord in the meantime
Is it not possible to automatically charge a customer one time with a price object?
Answer was getting the paymentIntent ID from the finalized invoice object and confirming it, sad there isn't any explicit doc describing that behavior, but glad it got sorted.
Hi, I am currently using Stripes Subscription feature, as found here: https://stripe.com/docs/billing/subscriptions/checkout
However Once the user completes their payment,
I want to be able to follow it with another function (a callback function) that will change the user's role inthe database.
Given that this is a MERN web app, does anyone know how i might do this?
Learn how to offer and manage subscriptions with different pricing options.
No API endpoint to remove prices?
But you can do it from the dashboard and it just sends a DELETE request to /prices/:id
Use a webhook via an endpoint on your express api
Id est, set up stripe to send the customer.subscription.created webhook to your API
👋 Messages in this channel are unlikely to be seen by Stripe engineers on weekends. If you have urgent questions then you should 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.
The PCI-DSS (Section 12.8.4-12.7.5) states that we're required to "Maintain a program to monitor (payment) service providers’ PCI DSS compliance status at least annually."
is there a way I can get access to stripe's PCI compliance documentation, in order to do so?
Otherwise, how could i go about ensuring Stripe's PCI Compliance annually?
Hi all, I am following this guide: https://stripe.com/docs/billing/subscriptions/checkout but cannot figure out how to save the customer ID. Does anybody know how to do this?
Learn how to offer and manage subscriptions with different pricing options.
Step 4 seems to be where you'd get that info, what are you confused about?
Not sure what language you're doing this in either but you'd just need to listen to the checkout.session.completed
Python
once I recieve the checkout.session.completed, what is the code for the customer id
Ooh, yeah sorry - I haven't used JSON with Python, do you know JSON?
yes
Well, then the checkout.session.completed gives you an object that has a field called customer
which is the customer ID
It looks like in that example it's the data object
I wish I could provide you with the code but, the only python I've done was with ML and robot vision.
Well, so these lines:
if event_type == 'checkout.session.completed':
# Payment is successful and the subscription is created.
# You should provision the subscription and save the customer ID to your database.
print(data)```
You're printing the data object.
Yeah, I'm not sure what the syntax is for json with Python so I can't help you there
Most programming languages it'd be data["customer"] or data.customer
thank you!
Did that work? Glad to hear it!
Kinda
This is against stripe's Restricted Business List, disallowing the use of stripe for Virtual Wallet type systems
yes!
Hi! What's the best way to test the invoice.payment_failed webhook event for subscriptions that charge customers every billing period automatically?
i can set installments on subscription?
So like freelancer has a virtual wallet?
Let's break it down a bit more, what's your actual use case
There are users who will do X and pay for it, sometimes that needs to be reversed - so the payment goes to our wallet - from which user can do a modified X again when he/she wants
Oh! that's permissible, and doable with Stripe Connect
By virtual wallet, I thought you were implying something like PayPal/Cashapp
What you're looking for is Stripe Connect, the docs for your exact use case are found here: https://stripe.com/docs/connect/collect-then-transfer-guide
Collect payments from customers and pay them out to sellers or service providers.
What country are you located in?
India
Take note of these additional restrictions then: https://support.stripe.com/questions/stripe-india-support-for-marketplaces
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.
Wow, Thanks there again 🙂
Hi All, I'm facing an issue when payment is completed at stripe checkout page and stripe send back success url , the session data is expired . This is working well in development and UAT but in production I'm facing the issue.
platform is mvc asp.net
https://stripe.com/docs/security/guide
Which points to: https://www.visa.com/splisting/searchGrsp.do?companyNameCriteria=stripe, inc
Ensure PCI compliance and secure communications between your customer and your server.
Found it, but what it didn't have was their Attestation of Compliance, which is what i needed
What are these terms? I don't want to guess wrong
I thought you were stripe mod
I wish
I'm using stripe-react-native, when i presentPaymentSheet, and click add card, it collects the payment information with "Country or region" starting with Afghanistan, we only accept US payments how can i get rid of country dropdown or default it to USA?
This is how I present the sheet: const { error, paymentOption } = await initPaymentSheet({
paymentIntentClientSecret: _paymentIntent?.client_secret,
customFlow: true,
applePay: true,
merchantCountryCode: 'US',
googlePay: true,
testEnv: true,
});
Stripe said my account was unverified and blocked my account . After clarify, stripe reopen the account for me. But they refund my money to the customer , what can i do now? I sent email to support team but no respond !!
Any one faced this problem also? Any one know where should i contact ? Apart from the support team,any other email address ??
Hey, is there anyone who can help me integrating strip apple pay on my php website?
👋 Messages in this channel are unlikely to be seen by Stripe engineers on weekends. If you have urgent questions then you should 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.
Has anyone here used Stripe's hosted checkout form feature? If so, how did you connect a successful sale to your own data? We are hoping to use hosted checkouts to sell subscriptions to our service but there does not appear to be any way to connect the sale to our existing userId (or any of our data for that matter). There is a client_reference_id in the stripe session object https://stripe.com/docs/api/checkout/sessions/object but this is not returned in the success callback or any of the four webhooks that are fired when the user completes the sale successfully.
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Not yet, but am in the process of setting it up. Currently focussed on invoices then will be moving to checkout. Happy to share the solution if I find it as I guess I will hit the same problem. Certainly for invoices I store the Stripe ID internally and then pass it as part of the object creation if I want it to be associated with that customer.
Hello there devs! I'm using Stripe pre-built checkout (for a while now) but for some reason, a lot of users are reporting that they can't pay.
If I look in Stripe dashboard, it indeed says that payment is not complete and that the payment intent requires a next action (to authorize user) . It gives an url for the next action , but it is in the prebuilt checkout so how can I send them to next action? I thought stripe checkout was meant to handle all this
Hi devs, is there any webhook for the refunded direct charges that occur from standard connected account dashboard not platform dashboard? Thanks in advance
@drifting gorge I will be curious to see if you run into the same issue. We are (hoping to) using Stripe as a low-friction way of selling subscriptions and the hosted form is supposed to be the only Stripe touchpoint for our app. We're not using invoices nor are we setting up customers ahead of time. The hosted form purports to abstract all of that. We are stashing our existing userId in the client_reference_field that is sent in the request to create the hosted checkout form. Our expectation is that when Stripe calls back to our success page and/or fires the various webhooks upon success, that the client_reference_id field would be included. It is not. I have been on with Stripe support for the last four days and they finally came back with a solution this morning. We have to make more API calls to get the list of sessions, then parse the list looking for our client_reference_id. This means I have to extend the runtime of our Lambda functions which is going to increase the running cost of our API.
can some1 help me plz
👋 Messages in this channel are unlikely to be seen by Stripe engineers on weekends. If you have urgent questions then you should 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.
Hello, what happens if I update the amount of a charge after that charge has been applied?
need help
@stark tide thank you, I just realized.
I need help with withdrawing money from my Stripe account.
I have sold products and located the funds on my Stripe account, although it is going to be automated and only like 25% of the funds at a time. I would like to withdraw 100% of the funds at once.
Thanks in advance.
@stark tide @fluid beacon
@mossy brook wdym 25%?
I would like to withdraw the full amount. How do I adjust the amount being transferred.
what does it say in the balance section?
it sounds like the payouts are just scheduled for later than aug 8
Can you move into a voice chat? @stark tide
no - if you want to get phone support, you should go to support.stripe.com/contact
I just want to pull all the funds out at once.
you'd need to look at https://dashboard.stripe.com/balance to understand when they're available
if the funds are available after aug 8, you can't pull them out earlier
Oh, that makes sense! I was not aware of that.
How can I pull the funds out in bulk once they become available?
So say, August 9th when the $1294.87 is available.
Can I withdraw $1294.87 at once?
it sounds like you're on automatic payouts, so the funds get automatically paid out from your stripe balance to your bank account as soon as they're available
if you specifically wanted to pay all the funds in one shot, you could switch to manual payouts, wait until after the full balance is available, then make a manual payout for the full amount
but fundamentally, you can only delay payouts, not advance them
generally, there isn't a compelling reason to intentionally slow down your payout schedule like that
The reason I don't want it direct deposited is because the funds need to be split 50% into different bank accounts. So I want to pull out a specific amount at once so I know what to split instead of constantly having to check transactions.
Can I pass a value (such as the name of the customer) into the checkout session and then pass that value back to me on the webhook?
@slow escarp yes, you can use metadata to pass around additional data
will this then be directed back to me with the webhook?
yes
for customer name in particular, you could also create a customer with that name, and use that when creating the checkout session
but if you want to fish arbitrary data through, you can use metadata for that
thank you!
np!
i'm getting a build error when buidling for release on android -> * What went wrong:
Execution failed for task ':app:mergeDexRelease'.
A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
only when BundleRelease not when running on the debug
To setup stripe webhooks on my server do I need nginx or something like it?
not sure if you're still having issues but, you can obtain the client_reference_id from the checkout.session.completed
Could someone explain the fee's to me please. Website displays 2.9% + $0.30 per successful charge. I am getting charged upwards of 9% currently?
@fast mantle @fluid beacon
I'm following this documentation to clone users from a Platform account to a Connected account. I can't seem to find how to clone the user's payment info as well. Is there a simple way to do this? https://stripe.com/docs/connect/cloning-customers-across-accounts
With Connect, you can clone your customers' payment information across multiple connected accounts for reuse.
@glad dust you don't need nginx necessarily (though you could use nginx as part of your setup), you just need some code to run an http server to handle the webhooks. what are you trying to do?
Maybe a NEXT js serverless function could handle the webhooks instead
@mossy brook do you have a sample charge where you're getting charged 9%? I don't think stripe ever charges 9% on anything, though if you're integrating with stripe through a connect platform that charges its own fees, they might be charging their own fees on top of what stripe would charge
I have 1 server with a nginx website setup and another server which currently does not have anything on it. Is it possible to run the webhooks on the first server instead of the second one?
@half steeple could you elaborate? the link you posted above describes how to clone the user's payment info, so I'm confused what you're looking for if not that
Yes. This link doesn't explain how to clone credit cards from Platform to Connected accounts. It just explains how to clone the user account... right?
@half steeple the link explains how to clone credit cards, not the user account
the feature is sorta confusingly named
it doesn't copy the customer itself, it allows you to share payment information from a customer on the platform to be used on the connected accoun
so if I have credit cards for some customer on my Platform, is there a code snippet to copy that customers' credit cards to a new account on the Connect side?
yes, there are snippets on https://stripe.com/docs/connect/cloning-customers-across-accounts
With Connect, you can clone your customers' payment information across multiple connected accounts for reuse.
I don't really see how these are useful. In the first example, where does "tok_mastercard" come from? There's very little explanation.
What exact snippet demonstrates how to copy a credit card from one account to another? Forgive my ignorance, but I don't see that.
in step 2, there's a snippet demonstrating how to create a card token from a customer stored on the platform's account
that token then exists on the connected account
so you can use it to create a charge, or a stored payment method on a customer on the connected account
that's a card token? it looks like we're making a token of the user's account. this makes very little sense. I actually ran that same command on one of my customers, and I got this error, even though the customer has multiple credit cards on file:
tok_mastercard is just a standin for the token created in step 2
just tbc
the docs you're looking at are legacy, and only apply if you're using tokens to begin with
if you're using PaymentMethods, you have to use https://stripe.com/docs/payments/payment-methods/connect#cloning-payment-methods
Considerations for Stripe Connect platforms adding support for new payment methods using the Payment Methods API.
let me try that. thank you
HTTP/1.1 404 Not Found
Date: Sun, 01 Aug 2021 20:47:06 GMT
Content-Type: text/html;charset=utf-8
Transfer-Encoding: chunked
Server: Jetty(9.4.31.v20200723)
<html><body><h2>404 Not found</h2></body></html>
Im getting this error and im using the Java webhook guide at https://stripe.com/docs/webhooks/integration-builder
Learn how to set up and deploy a webhook to listen to events from Stripe.
@glad dust can we move this back to the separate thread?
ya sure
@stark tide cloning the customer's payment method worked. is there a way to clone a customer account, and then add this cloned payment method to the cloned account on the Connect side?
How does that show up on the connect account?
@half steeple you can't clone the customer account itself, just the payment method
(but you can then create a new customer on the connected account, and attach the cloned payment method to that)
is there a way to copy over customer details though? not "cloning" I guess, but copying all the details over
@rapid imp it's just a new payment method - it's not conceptually different from a payment method you directly created on the connected account
@stark tide lmk if it's possible to copy over important details/metadata from the original account to the new account
not besides plumbing them through one at a time as part of creating a new customer on the connected account
for webhooks, why is stripe.Subscription.retrieve(data_object["subscription"]['items']['data']['id']) not giving me the subscription id?
ok got it. is there a reference for creating the customer "on" the connected account? I don't see how to do it on a specific account
Gotcha. Gotcha. I do have a usecase related to sharing payment methods across multiple connected accounts potentially but I’ll lay out the exact use case and wonder if my approach to handling it is feasible
@half steeple in general, you can make any api request acting as a specific connected account: https://stripe.com/docs/connect/authentication
Learn how to add the right information to your API calls so you can make calls for your connected accounts.
ooo ok ty
when creating the customer, you'd specify the Stripe-Account header to indicate that you want to create the customer on that connected account
final question - once the customer is created, what calls do I make to add the payment method to this new account? Thank you so much for your help
@slow escarp I think you want data_object["subscription"]['items']['data'][0]['id']
@half steeple you'd use https://stripe.com/docs/api/payment_methods/attach
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Hey! I have just linked my stripe account to WHMCS, when I try to pay via the SEPA payment method I get this message. What can I do about this?
Hmm just tried to add the payment method to the new customer i created, it said "message: "No such customer: 'cus_JxhN2kb4MzhobK". Odd. The customer definitely exists.
@edgy zealot that's just a decline afaict
What can I do about this?
Tr12 I tried it to with my own banking card and had the same error…
@half steeple make sure you're running the PM attach call as the connected account as well
@edgy zealot if you give support a specific charge, they might be able to dig into some specifics, but it might also be something with the bank
👍
@stark tide how do I run it as the connected account? Don't see that in this doc: https://stripe.com/docs/api/payment_methods/attach
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
it's the same as with creating the customer (or with any other api request) https://stripe.com/docs/connect/authentication
Learn how to add the right information to your API calls so you can make calls for your connected accounts.
cool thanks!
is there a way to charge a subscription for this connected account and bring the customer to a checkout portal of some kind?
@stark tide So I have the platform connect account and customers/clients who want to book beauty services with service providers (users who create connect accounts to accept payments etc.) they have the option to add card details or payment methods to be able to pay for down payments and the actual amount of the service as well.
So a client when they create a payment method, it’s created on my platform’s account because a client could potentially book services with n number of service providers, so rather than starting off with the potential connect account I think it’s easier to make it on the platform and clone the PM when needed because service providers could come and go.
Now let’s say a client/customer has booked with 3 different service providers but their original payment method was created on the platform account (along with a stripe customer object at creation time) and this client wants to re-book with an existing service provider they’ve previously booked with and I don’t need to clone the payment method again.
What’s a good way of tracking wether or not the connected account being re-booked already has the client’s existing payment method to avoid a clone API call?
@half steeple if you already have payment information for the customer, you don't really need a checkout portal (or at least not checkout in the sense of "Stripe Checkout")
checkout is primarily there to collect billing information
if you want to start a subscription from existing billing info, you can create a subscription directly with https://stripe.com/docs/api/subscriptions/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.
stripe also offers a customer portal (https://stripe.com/docs/billing/subscriptions/customer-portal), but that's for managing subscriptions / billing info after the subscription has started
If I don't want to do this programmatically, and I want to launch a stripe provided user interface based on a specific subscription, is that possible?
Not a subscription that exists yet, but a subscription that could be paid for
not to create a new subscription from existing payment details, no
Ah
That would be awesome to have
That works for platform recurring prices, but it doesn't appear to work for connected account recurring prices
Or maybe I'm mistaken, is there a way to go to a checkout for a recurring price item from a connected account?
sharing payment methods
no, prices are per account
you'd need to re-create prices on the connected account
But if I do that, I can make a checkout link for those recurring prices, right? That might be easier. I should probably just do that
though - if all of the connected accounts are selling a single set of products defined by the platform, this might be a hint that destination charges / subscriptions are a better fit
actually, sorry - I'me getting mixed up
Meaning, don't use the connected account as a hub for prices/customers, but just send the owner of that product money when a platform product is purchased?
destination charges aren't compatible with subscriptions
My company is effectively OnlyFans for sports. Each vendor (connected account) only has one product, with different recurring prices. Given this, would you suggest something else?
are the prices different per vendor?
Yes. They can charge whatever they want
Somebody might cost $20 a month, someone else might cost $50 a month
then they should have their own price (and that price should be on the connected account level)
And the product is also defined at the connect account level? Or at the platform level
connected account level
Got it. So my products and prices will be defined per connected account, and when a user wants to begin a checkout session, they can begin a checkout session for a specific subscription price?
I like the user interface that I saw for the checkout sessions for subscriptions, the only difficulty is that I wasn't able to add an application fee to those check out sessions. Is there a way to still leverage the user interface for checkout sessions for subscriptions, while also being able to add a custom application fee to every subscription?
separately, I'm not sure what you mean by "onlyfans for sports" - if it's just in the sense that you're paying content creators, that's fine. if it's in the sense of adult content, be aware that adult content is a restricted business on https://stripe.com/restricted-businesses
I mean just the subscription model haha!
gotcha
@half steeple re: checkout - if you're storing payment methods on the platform, you cannot use checkout to directly create the subscription, with application fees or otherwise
Ok, so there's no way to have a checkout UI for recurring prices from connected accounts?
not if you want to store the payment method on the platform
the only way to create a subscription with checkout is if you're collecting the payment method information at the same time
if you're storing the payment method on the platform, you have to collect the payment method before creating the subscription
which means that you can't use checkout for creating the subscription
Collecting it at time of checkout is fine by me. As long as I can add an application fee percent to the recurring price
Crux of the question. Is it possible to use the checkout UI while also charging an application fee percent so that the platform can take a small slice of the payment
I don't believe that's supported, no
checkout doesn't support taking an application fee, afaik
Ooof. What's the best way to do this then? Kinda tough to make seamless user experience while also paying the platform
you shouldn't be using checkout to do this, imo
if you're already collecting the payment information ahead of time to store on the platform, the only thing you actually need is a button that says "start a subscription to x product from y connected account"
you could call the subscription create api in response to that button click
and that should just work
If I'm not collecting payment info ahead of time, that's the tricky part. The optimal user experience is to collect payment info at time of purchase, that way people can really easily get started
you can use setup intents to collect the payment info immediately before, but there's no way to use checkout to directly create the subscription in the way you're describing
Rip. Ok. I'll just use webhooks to listen to successful invoice payments and manually send payouts to the connected accounts. The ideal scenario is to be able to use the stripe check out user interface because it is significantly better than what I could come up with. And it automatically allows people to switch their subscription, cancel, pause, etc
you can still use the customer portal to let users manage their subscription, as I said before
you just can't use checkout to create the subscription in the way that you want
I'm going to be looking at implementing checkout for what we need this Thursday. We definitely need to integrate with own data as well so it'll be interesting to see how I get on. Will let you know. If you find a solution in the meantime please share, and sorry I won't be trying this any sooner. Just have other project work on as well.
I'm planning on creating a subscription that connects to your Discord account. To do this, you'll run a linking command to link your Stripe purchase key to your account. Will customers easily be able to find their subscription ID that I'll fetch using the API? If not, what's the best way to implement this?
Hi, I'm just trying to do some testing for subscriptions. Is there a way to set up a product with a billing cycle less than a day?
@stark tide Sorry I left for work. Here is an example:
https://gyazo.com/178e049eba027fd92e0f0b14eaccc877
not really. One way to simulate that is really create a subscription with a trial and update the subscription with trial_end=now. Or you can take a look at the subscription schedule to update the subscriptions
alright, I'll give that a whirl
bumping this for visibility.
@stark tide what about this? seems like it does what I wanted: https://stripe.com/docs/connect/creating-a-payments-page#subscriptions
Learn how to create a page to accept payments for your users.
- There's no way for Checkout to automatically pick a currency. You provide this either in the Checkout Sessions's line items or in the Price you use for the Session.
- Whether 3DS is required or not is ultimately always up to the issuing bank. Using SetupIntents will enable Stripe to ask the issuing bank for a pre-authentication for the next non-zero charge amount, but Stripe can't guarantee that the next charge (when the trial ends in this case) won't require 3DS. As such you have to always be ready to get your user back on-session to complete the 3DS flow if needed
thanks, Paul.
It does! You just have to enable the feature in your account settings.
hi, is there any way to use confirmCardSetup in BE, user will input their card on FE and call confirmCardSetup in BE
You can confirm a SetupIntent from the backend, yes: https://stripe.com/docs/api/setup_intents/confirm
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Specifically, Here: https://dashboard.stripe.com/settings/payments
@summer oracle The flow is very similar to this guide, except you'd use SetupIntents instead of PaymentIntents: https://stripe.com/docs/api/setup_intents/confirm
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Thank you so much!
Not a problem at all!
@summer oracle Oops sorry I linked to the wrong thing, this is the correct guide: https://stripe.com/docs/payments/accept-a-payment-synchronously?platform=web
Learn how to confirm a payment on your server and handle card authentication requests.
thanks @bleak breach
how can I catch the CC details from client-side to backend using this API? https://stripe.com/docs/api/payment_methods/create
this is how I create the stripe instance in front-end card.mount('#card-element');
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
hello @silk tapir! which CC details are you referring to? Are you referring to the PaymentMethod ID?
hi @golden cosmos these details
@silk tapir you would be able to retrieve the last4[0], exp_month [1], and exp_year [2] using https://stripe.com/docs/api/payment_methods/retrieve
[0] https://stripe.com/docs/api/payment_methods/object#payment_method_object-card-last4
[1] https://stripe.com/docs/api/payment_methods/object#payment_method_object-card-exp_month
[2] https://stripe.com/docs/api/payment_methods/object#payment_method_object-card-exp_year
you won't be able to retrieve the full card number
you can't retrieve the CVC either
@golden cosmos I see, then how am I able to create a payment method like the one showed in the create payment method document?
to put in context, Im trying to setup multiple payments after a card is saved
@silk tapir ah, i think i misunderstood your question previously, sorry about that. If you want to use the same card for multiple payments, you would want to attach the card to a customer. After which, you would be able to reuse the payment method for subsequent payments.
This document would probably be helpful : https://stripe.com/docs/payments/save-and-reuse
@golden cosmos no worries. sorry but I already checked that. My problem with that is after I used the paymentMethodId for PaymentIntent, the paymentMethodId will expire so I wont be able to charge again.
@silk tapir was the payment method attached to a customer and the customer included as a parameter when creating a PaymentIntent?
if you don't attach the PaymentMethod to a Customer, you won't be able to reuse the PaymentMethod
I see. how can I attach the payment Method to a customer? Because when I initialize stripe on front-end, using this stripe.createToken(card).then it doesn't create a customer and how do you create a customer then create a payment method on backend. I tried attach it using https://stripe.com/docs/api/payment_methods/attach but it gives an error that payment method had already a customer
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
@silk tapir If you're using PaymentIntents, you would want to use PaymentMethods, and not the stripe.createToken(card) method.
This page covers how to create a customer, and create a payment method and attach a payment method to the customer : https://stripe.com/docs/payments/save-and-reuse
Is there any specific section on this page that you're getting an error when you're following the steps?
@golden cosmos I see. I'm getting the error when I use this https://stripe.com/docs/api/payment_methods/attach after stripe.createToken(card). I kind of modified this https://stripe.com/docs/payments/save-and-reuse. But no worries, I think I'm getting a good understanding what I did wrong.
I just have a last question, for https://stripe.com/docs/payments/save-and-reuse. When I need to charge the card a 3rd time or 4th time, do I just need to call this again?
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
@silk tapir Yes, when you need to charge the card again, you would create a PaymentIntent specifying the customer. It would be this section in that page :
Node example
const paymentIntent = await stripe.paymentIntents.create({
amount: 1099,
currency: 'usd',
customer: '{{CUSTOMER_ID}}',
payment_method: '{{PAYMENT_METHOD_ID}}',
off_session: true,
confirm: true,
});
Does Stripe generate emails for failed off session payment intents (with the reason for failure)? Or do I need to reach out to these customers manually?
@golden cosmos then every time I call \Stripe\PaymentMethod::all, it will give me a new paymentMethodID after I used it in PaymentInten:create? Is that correct?
@silk tapir \Stripe\PaymentMethod::all retrieves all the payment methods currently attached to that customer.
There is more than one way to attach a payment method to your customer.
If you are attaching the payment method to the customer at the same time you are creating a payment intent [0] using the setup_future_usage parameter, then yes, when you call \Stripe\PaymentMethod::all, it should show that new PaymentMethod id
[0] https://stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage
@golden cosmos I see. thank you very much
you're welcome! Hope you have a great day and please don't hesitate to reach out in case you have any other questions!
No afaik. You will need to reach out to them: https://stripe.com/docs/declines#off-session-declines
Learn why some payments fail and what you can do to decrease your decline rate.
I stand corrected - that looks like it should work
np
Okay thank you. I was going to reach out to them anyways as they owe us money, just wanted to see if they would have already gotten an email
@stark tide I'm getting errors like this, using the Firebase Subscriptions <--> Stripe Cloud Function Extension (built into Firebase). I'm able to successfully make a checkout session using the Connect Account + Application Fee. serverside function. But when I go to add the returned Checkout Session to firebase, the webhook kicks in and sends that checkout session to stripe. Stripe ends up erroring on the CS in this way:
It does this for every single field
@half steeple do you have a request id that I can help to check? req_xxxx ?
I have a CS Id: cs_live_a1xr28o0sivcSMkGD3EGZoe4M6ZL32eDemLEcf9r6BtdGYHmIwJC2bvjOM
Don't see req_xxxx
Just to clarify, do you write any code creating the checkout session or you are purely using the plugin?
I wrote serverside code in a serverless function which successfully created a checkout session for a subscription to a Connect account's product: https://stripe.com/docs/connect/creating-a-payments-page#subscriptions
Learn how to create a page to accept payments for your users.
but my app is also integrated with the firebase extension for stripe subscriptions. whenever I send a checkout session to my database, it automatically integrates that with stripe so the result of the checkout session (ideally a successful payment) is instantly reflected in my database for the user record
Are you using this https://github.com/stripe/stripe-firebase-extensions/tree/master ?
this: https://github.com/stripe/stripe-firebase-extensions/tree/master/firestore-stripe-subscriptions
I think if you are using the extension, there is no need for you to manually create the the subscription https://stripe.com/docs/connect/creating-a-payments-page#subscriptions
Learn how to create a page to accept payments for your users.
The extension does that for you
no, i need to manually create it because the extension does not support application fee percents
or Connect account purchases
all you need to do is to follow the plguin configurations https://firebase.google.com/products/extensions/firestore-stripe-subscriptions
it only works for Platform purchases
I do not believe that will work. I've tried and asked the team. I need to create a custom checkout session for a custom subscription, because of the need to have the application_fee_percent. I'm using Stripe connect with Express accounts. It's a bit beyond the capabilities of this plugin
Yeah, then you will need to remove the extension I guess as it does not support connect yet, you will have to replicate the functions listed https://github.com/stripe/stripe-firebase-extensions/blob/master/firestore-stripe-subscriptions/functions/src/index.ts#L93 to support connect
coming back to your ask, the checkout session looks correct @half steeple , where do you see the error?
which step throws this error?
Learn how to create a page to accept payments for your users.
the error comes in firebase, after I send the CS object to my firebase collection, then when the webhook kicks in on the Stripe end it returns an error
what is your webhook code?
Yeah, I don't think that will work. as the plugin does not support your user case right?
You will have to replicate the webhook logics in your own firebase function
well it seems the only thing the plugin is missing is the ability to parse the checkout session correctly... because nothing else is different
So the error must be thrown here https://github.com/stripe/stripe-firebase-extensions/blob/master/firestore-stripe-subscriptions/functions/src/index.ts#L616
@half steeple no, every thing is different now because it does not support connect. It is dangerous to assume it will just work in webhook handling
I would suggest you do the same thing as you would do for the creation, that is to build your own webhook handling logic replicating https://github.com/stripe/stripe-firebase-extensions/blob/master/firestore-stripe-subscriptions/functions/src/index.ts#L616 so that you can test and log those errors
@half steeple FYI, there is an existing open issue on adding this support https://github.com/stripe/stripe-firebase-extensions/issues/184
lol i wrote that issue
lol, i see. yeah. Using your custom code will be the only way now
yeah.... how likely is it that the team could support this? I'd be much more confident in an official solution than my own patchwork
it seems incredibly valuable
Hello,
how to create invoice and send customer. can you suggest .net code
I can bump this to the team about the issue you raised @half steeple
Thanks @lucid raft . You guys could probably figure this out in a week. But it would take me a month!
in the mean time, is there info on how to self-host this function's code in my own firebase instance? not sure how to use the code in this extension
Have a look here: https://stripe.com/docs/invoicing/integration
@half steeple My suggestion is to understand two things probably
- Learn how to create API endpoint using Firebase function. This API endpoint will be the webhook URL you register on your dashboard to receive the webhook. https://betterprogramming.pub/building-an-api-with-firebase-109041721f77
- Learn how to create a Stripe webhook see https://stripe.com/docs/webhooks/build#example-code in node.
After this, you will know how to copy the code logic https://github.com/stripe/stripe-firebase-extensions/blob/master/firestore-stripe-subscriptions/functions/src/index.ts#L540 to your function created at 1.
thanks for this. I'll try it out
Hi team.. How to get charge object from paid invoice ? it shows null everytime.
@junior ivy hello! are you retrieving the invoice object via an API call or are you listening to an event?
In both the cases im getting only null .
Now im listening to event
@junior ivy if you manually marked the invoice as paid, you probably wouldn't have a charge object. Could you share the invoice id so that I can take a look? it'd look like in_xyz
What is mean price and where i can get price id for create invoice, Please see the code below.
StripeConfiguration.ApiKey = "sk_xxx";
var options = new InvoiceItemCreateOptions
{
Customer = "cus_xxxx",
Price = "price_CBbxxxxxx",
};
var service = new InvoiceItemService();
var invoiceItem = service.Create(options);
var invoiceOptions = new InvoiceCreateOptions
{
Customer = "cus_xxxxxx",
AutoAdvance = true,
};
var invoiceService = new InvoiceService();
var invoice = invoiceService.Create(invoiceOptions);
You either create Prices on the dashboard: https://dashboard.stripe.com/test/products?active=true or via the API: https://stripe.com/docs/api/prices/create
Is there a way I can know charges paid out in a payout (auto generated, I know it can't be done for manual)?
Like when a payout is generated, I want to know what all charges were paid out in it
I can see it on dashboard but I need it in api/function (python sdk)
You can list Balance Transactions (objects that log when funds were moved) by the Payout ID: https://stripe.com/docs/api/balance_transactions/list#balance_transaction_list-payout
ok so if I register a webhook for payout.paid event, and get a BT list by that payout id, it would give me the transactions it paid out and I can mark them as settled in my db. Makes sense?
Also, I have my bank account connected to my internal ERP systems, so do you know any API that would refer the banking transaction reference number that is generated by the banking system when a payout is paid so I can reconcile automatically with the transactions in my bank account?
@earnest merlin yep, that's right.
regarding your question about the banking transaction reference number - I'm afraid not.
Beware that returned data is a list of Balance Transaction, and it can be one of many type. As you said you may want to filter 'charge': https://stripe.com/docs/api/balance_transactions/object#balance_transaction_object-type
@dry hatch Yes got that, thanks
It would be cool if you could, in future, add banking reference numbers in payouts. Saves people the entire cost of accounting departments and reconciliation. Please accept as a suggestion.
@earnest merlin we have a statement_descriptor [0] parameter but this isn't a unique id. I'm not sure if this will work for your implementation.
[0] https://stripe.com/docs/api/payouts/object#payout_object-statement_descriptor
it would work in manual payout since we can add unique reference to it when we generate payout manually (which we don't). automatic it won't unless you have a setting somewhere I can modify to automatically add statement descriptors to payouts when they are generated
@earnest merlin if your Stripe account is based in the US, for automatic payouts, the value of this parameter will automatically be populated with "STRIPE PAYOUT"
otherwise, yeah, you can't modify it for automatic payouts
In Indian payment gateways, when a payout is generated, they show a CRN & UTR (Unique transaction reference) on their dashboard along with payout id which is electronically syncable. This reference number is unique across all transactions happening in India (UTR) and unique across all transactions happening in the receipient bank (CRN), irrespective of who's doing or or why. That helps in automatic reconciliation. Might be a great addition to your suite of integration as well.
i'll pass that on to our product team 🙂
how to send invoice on email
You can configure this on the Stripe dashboard: https://dashboard.stripe.com/settings/billing/automatic
using API in .net
There's no way to send an email from Stripe via the API, it's all based on your dashboard settings
okay
No, a Product can only have one name
@kindred frigate I deleted your message because you left your secret API key in there
please don't do that, even if it's a test key it's still dangerous to expose
my mean purpose is i can show product and price details on receipt page
You should roll your key immediately at https://dashboard.stripe.com/test/apikeys
I was wrong earlier btw, it looks like you can programmatically send the invoice which triggers an email: https://stripe.com/docs/invoicing/sending#sending
can help me how can i add product and price details in receipt page
You add invoice items to the customer: https://stripe.com/docs/invoicing/sending#sending
without creating invoice is it possible only i can show product details in summery portion
What exactly are you trying to do?
Just collect one-off payments? If so you should look at using Checkout Sessions instead: https://stripe.com/docs/payments/checkout
I want to show only product name and price in receipt summary page
so customer can know which product they paid money
The product name should show up on that page. The Price just indicates the amount that you wish to charge
If you add multiple invoice items with different products they will all show up on that page
But really what are you trying to do? If it's just one-off payments then you should look into using Checkout Sessions or Payment Links. Invoices are traditionally used with subscriptions, if you just want one-off payments then you are probably looking at the wrong product
look like I cant call confirmCardSetup on BE, the err say 'confirmCardSetup is not a function'
That's correct, confirmCardSetup is a Stripe.js method. You'd want to call this endpoint in your backend language of choice: https://stripe.com/docs/api/setup_intents/confirm
how come I can pass card info from FE to this on BE
Not sure what you mean by that
Hello @young ibex
I'm back and always looking for the issue I have on Odoo and Stripe. I check my logs, and the only thing I can see is that I don't receive the Stripe respons.
So, I check the logs and I need to know why on the payment which succeed I have 2 log lines, and on the failed payments, I only have 1 log line :
What exactly is the issue you're having?
Hello Paul,
I use the Odoo stripe payment acquire on my website (Odoo CE), and, sometimes sales orders are well invoiced cause Odoo recieve Stripe's response, somtimes it's not, cause Stripe doesn't seems to send the payment validation.
That's going to be really difficult to debug if you don't own the Odoo integration. I suggest you reach out to Odoo directly for help with this
The server is not overloaded (not at all in fact : average 20% CPU), and the code doesn't change between each order
If this is your integration, have you looked at the webhooks section on your dashboard to see if there are any failures?
I own the Odoo integration
Do you have any examples of webhooks that weren't delivered?
What's the exact issue? That you didn't get a webhook notification about the successful payment?
Webhook and not set from Stripe Dashboard, do you talk about those WH ?
Can you give me an example of an event that wasn't sent?
pi_3JJumiJAeeo5aupa0UTpK6NZ
No events relating to that payment were sent because the account has no webhook endpoints configured
Is there a way to run a test purchase via wix that will not charge my credit card through Stripe?
Sorry if this question is more wix based.
ok, and for this one ? pi_1JJw3CJAeeo5aupaZPnCS0bJ
Possibly, if Wix lets you use test API keys
That's from the same account, which doesn't have any webhook endpoints configured
Hi guys, just need a clarification.
I have some subscriptions and will like to update the upcoming invoice by adding a lineItem that is not recuring.
@bleak breach API key is a sample run for a purchase?
You'd want to create an Invoice Item with a non-recurring Price: https://stripe.com/docs/api/invoiceitems/create
I don't really understand your question, can you elaborate?
Ok, but this one was ok, I recieved the Stripe response
API keys are what you use to make Stripe API requests: https://stripe.com/docs/keys
I believe my question is for elsewhere. Won't tie up this support chat. Thanks.
Which event did you receive for this payment?
The account doesn't have any webhook endpoints configured, so likely your integration was polling the API for updates instead of using webhook events
Thanks so much!
All the informations that confirm the payment. I have to send it to you privatly
@cerulean roost I'm confused about what you're trying to do here. You aren't using webhooks, so you won't receive events notifying you about changes on your Stripe account. The JSON you sent me describes a Charge but I don't know what you think is missing about this
🤔 I'm confused too, cause, I'm looking for the difference between payment that are sent to my server and those which aren't sent to my server... I said that sometime the payment is confirmed to Odoo, sometime not. My settings aren't changed from a payment to another, so, I guess that something is missing from Stripe side.
What the webhooks is necessary, regarding the payment that are well retrieved ?
What do you mean by "sent to my server"? Are you talking about webhook events? https://stripe.com/docs/webhooks
They use Checkout, I'm assuming they ignore webhook and rely on the redirect after Checkout
Most of my sales orders get the information of the succeeded payment, so, Odoo can process to the confirmation and the invoicing/delivery process. But, since 10 days, I have issues on several orders that are not confirmed even if Stripe get the payment.
Are you relying on the success_url that Stripe redirects your user to after the payment has completed on the Checkout page?
That's it
In that case this is somewhat expected. If your customer closes the tab or browser after the payment has completed but before Stripe can redirect them to your success page, you'd never know that the payment completed. That's why we recommend you use webhooks to make sure that you never miss out on important payment events: https://stripe.com/docs/payments/checkout/fulfill-orders
We are using the Stripe payment page that should lead the user to the succes page. So, ok, I just read your answer. I'll use the integrated payment method to be sure they don't close the tab
can we get customer all receipts. example- we can pass customerid and get all receipts
Ok Paul, Thank you for help, I'll use the other payment method
If you're using invoices, you can list all invoices by customer 0 and then retrieve the PDF from those invoices
Hi Stripe folks, I'm starting the process of a Stripe to Stripe migration, from an existing NL based account to a new Irish based account. As per https://support.stripe.com/questions/copy-existing-account-data-to-a-new-stripe-account#copying-data, I'm going to reach out to Stripe to migrate my customer data. From what I've read, I then need to migrate my subscriptions, invoices etc myself.
Does anyone here know of an existing script that automates this? I don’t think it would be too hard to create myself, but I don’t want to waste time reinventing the wheel.
I'm not familiar with any open source script to do this, it's probably going to be difficult to find a one-size-fits-all solution since subscription integrations can vary wildly in how they're implemented. You're probably going to be better off writing the script yourself
Hi there, Is there any way to override the calculation of subscription amount? It seems Stripe calculate milliseconds for proration. I need to just calculate days for proration.
I don't believe there is unfortunately
Hi All!
I'm having issues with Stripe elements in shadow dom. Do you have any suggestions how to solve this issue? We thought about using an iframe for wrapping our checkout form or creating hidden components in the root dom.
Do you have any better suggestions ?
thnx
!
@naive warren you can always use https://stripe.com/docs/api/subscriptions/update#update_subscription-proration_date to prorate to the specific time you care about. It's a bit annoying to find the right day boundary but it should work
How can I find out the accurate formula of Stripe for calculating the proration?
This is what I suspected, looks like I'll just need to get my hands dirty and code something up. Thanks for the info @bleak breach.
I actually have an example of using the shadow DOM with elements, give me a few minutes to put it somewhere public
I use proration_date, but this is for setting the date not about how accurate should the amount be calculated.
Yeah but we prorate up to the second. So if you want to prorate per day, you'd find the timestamp of the previous/next start of the day and use that for proration
Would you please give me an example?
@bleak breach Hi Paul, we successfully implemented the "subscription" API (thanks to your help!). We now want to send an email confirmation to our users after we charge them every month. To do that, we'll need stripe to send us a confirmation every month after the billing happnes. Wasn't able to find the documentation on this. Can you advise?
@naive warren I don't have a specific example. I'm sorry I'm not following what part is confusing exactly? I'm happy to help with @bleak breach but what is blocking you?
Let me give an example, First of all, I want to charge users if they want to add quantity of subscription immediately, but the recurrent payments always are at the end of the month. Imagine user change the quantity in 27th of august at 12:00 pm, I want to charge the user for 5 days 27,28,29,30 and 31 of august not for 4.5 days.
@worthy kite Okay here we go: https://slender-super-breakfast.glitch.me/ source is here: https://glitch.com/edit/#!/slender-super-breakfast?path=index.html%3A57%3A0
If you try and confirm you'll get an error since I hard coded a SetupIntent client secret in there, but it should show you how to get Elements working in the shadow DOM
Yes that's doable but will require a bit of code/math here.
If you subscription starts on the 1st of the month at 9am UTC for example you want to pass proration_date: <timestamp('2021-07-27 09:00:00')> so that we calculate the proration as if it happened at the start of the currency day in the billing cycle.
Thank you @crimson needle, I'll try it 🙂
Let us know if you're stuck and share some sample code and one of us will be able to help
the real trick part in most programming languages will be the timestamp calculation with the right timezone 😅
thnx I'll check it out!
Sorry missed this, you'd use webhooks for this: https://stripe.com/docs/webhooks specifically you'd want to listen to invoice.paid: https://stripe.com/docs/api/events/types#event_types-invoice.paid
Hello there devs! I'm using Stripe pre-built checkout (for a while now) but for some reason, a lot of users are reporting that they can't pay.
If I look in Stripe dashboard, it indeed says that payment is not complete and that the payment intent requires a next action (to authorize user) . It gives an url for the next action , but it is in the prebuilt checkout so how can I send them to next action? I thought stripe checkout was meant to handle all this
Hello, how are you ? 🙂 I have a question about "stripe.confirmCardPayment" from JavaScript, is their another method to bypass the bank validation but keeping the card validation porcess ? It is in order to avoid the "timeout response" to not break the application, if user close browser quickly and bank has not still validate paiement transaction....then if its payment has been done, I will validate the order after with webhook, because, of course I will use the webhook through 'paiement.succeed' response to validate the effective transaction ? 🙂
@timber echo Hello! Can you share a specific PaymentIntent ID for one of the incomplete payments? Checkout does indeed handle any additional auth steps, but that's likely not the issue here
Hello Devs ! I think i have wally's problem too. I can see on my dashboard a lot of incomplete paiments. My clients call me to tell me they can't pay and i don't know why 😞 Please, can you help me/us ?
@vocal wagon Hello. As above, can you please share the ID (pi_xxx) from one of the incomplete payments and I can take a look!
Got it! Thanks so much!
pi_3JJIROBAtdhNyQAF1L4TOJkG @hollow prairie
its now failed, but in history you can see it required a next_step
Thank you very much @hollow prairie ! Here the ID : pi_3JJx2gFHLGf882Pp1LT38AX1
Hello Devs ! We have an app and we provide a platform to sellers to sell their products. Now we want to provide some payment function to sellers and the payment plan is the seller bind their credit card and pay the bill through stripe. Is the payment plan valid?
@timber echo Seems the payment method failed authentication: https://dashboard.stripe.com/events/evt_3JJIROBAtdhNyQAF1f8cQzhw
You can see this detail toward the bottom of the payment page under the Events and logs section
yes, lots of payments get stuck at next_step, and they call the company to tell payments are not working (and then company calls me... )
@timber echo Bank requested authentication for the payment, your customer failed to provide the required authentication and so it was rejected
but is there a possibility that they don't get the popup / next_step redirect ?
@vocal wagon Additional authentication was requested for this particular payment by the bank/card issuer, and has just never been attempted by your customer. Seems you're using Shopify?
Hi All. Is it possible that seller binds credit card and auto pay with stripe?
@timber echo Not in this specific case, as the customer was redirected and explicitly failed authentication
Yes @hollow prairie , i'm using Shopify !
@hearty garnet Hello there. You should look at Stripe Connect to facilitate multi-party payments: https://stripe.com/docs/connect
Learn how to route payments between multiple parties.
@vocal wagon You should instead speak to Shopify as they will manage your Stripe integration
@hearty garnet What do you mean by 'binds credit card'?
Ok. Thanks a lot.
Ok thank you very much fr your help ! Have a good day !
We have an app and provide a platform to sellers to sell products. Now we plan to provide some payment functions and we want to let the seller to auto pay. So we come up a solution that seller bind the credit card and we use the stripe to auto pay from the seller credit card. But we are not sure about the stripe support the plan or not.
@hearty garnet Who is 'sellers' in this case and what are they 'auto pay'ing for?
Sorry for my poor English. The sellers are our app registered users, just like the shop owner in Shopify. Auto pay is that we want to let the sellers bind their credit cards in order to pay for our payment function monthly or yearly.
@hearty garnet Ah, so it's more like a subscription service?
Yeah~ Does the subscription service support the auto pay monthly or yearly?
@hearty garnet Yep! You would determine the billing period via a product/price, which is then tied to a subscription on creation
@hearty garnet Customer would be automatically billed if integrated correctly as the payment details are saved against their details. More info on Billing here: https://stripe.com/docs/billing
With the Stripe Billing APIs, you can create and manage invoices and recurring payments.
@hollow prairie That's great! Customer just provide the credit card info and then stripe subscription can deduction automatically from card by a specific period, right?
@hearty garnet Exactly!
@hollow prairie Are there receipts or e-invoice that provided by stripe for the automatically deduction?
@hearty garnet Yep, we handle receipts and invoices for subscriptions too: https://stripe.com/docs/receipts#receipts-with-billing
Send payment or refund receipts automatically.
@hollow prairie Great! Thank you so much 👍
Hello
Is there any way to get billing address / zip code from PaymentRequestButton / GooglePay?
Doing some testing right now in a live environment, with a valid GPay card / valid billind address & zip code, but when I getting PaymentMethod from PaymentRequestButton - all address fields are empty
Hi, how are you?
Im trying to integrate apple-pay into my website.
Unfortunately its not working on Safari IOS, but Mac Safari woking perfectly
i'm getting the following log from stripe:
[Warning] Either you do not have a card saved to your Wallet or the current domain (my-domain.diagnosticrobotics.com) is not registered for Apple Pay. Visit https://dashboard.stripe.com/account/apple_pay to register this domain. (v3, line 1)
@hidden ridge Hello. Can you share your account ID? acct_xxx
Do you have some cards available in your iOS wallet?
@hidden ridge Which is the domain in question?
@limpid scaffold Checking on this for you!
@limpid scaffold Do you have the ID of the created PaymentMethod?
@hollow prairie I already found the issue
Just needed to create PaymentRequest with requestPayerName
I doesn't needed it, and it's not really clear in documentation that we need that field in prior to get billing info (There's description for it, but doesn't expect to found it there)
@limpid scaffold Glad it's resolved!
hey
is there a way to mass change all of my issuing cards address card details?
@hollow prairie
@vocal wagon Hello. Any billing details belong to the Cardholder object associated with the card, not directly on the Card object: https://stripe.com/docs/api/issuing/cardholders/object#issuing_cardholder_object-billing
@vocal wagon So you could update the Cardholder in question: https://stripe.com/docs/api/issuing/cardholders/update
how do i access the code
to change it
i have 100 issued cards
and i want them all to change address
@vocal wagon You can either do that manually via the Dashboard, or write some code in your application to handle that using the APIs I've shared
it doesnt let me manually change
via dashboard
no option to edit
where do i get the application?
@vocal wagon You should be able to edit the cardholders in the Dashboard. As I said, the address data doesn't exist on the card directly
@vocal wagon Here: https://dashboard.stripe.com/test/issuing/cardholders
Hi Guys
I have another question, How can I set the current start period when I'm creating new subscription?
I want to change the Current period start time to 00:00
I set backdate_start_date but it doesn't work for start period
@naive warren Hello. You'd want to look at the billing_cycle_anchor param: https://stripe.com/docs/api/subscriptions/create#create_subscription-billing_cycle_anchor
I set it but it change the end date not start date
@naive warren You likely want to use a schedule: https://stripe.com/docs/billing/subscriptions/subscription-schedules/use-cases#start-subscription-future
I set billing_cycle_anchor and it change the end of period correctly
I don't want to schedule the subscription, I just want to change the start date to 00:00 today
Imagine user start now(02/08/2021 13:07) but I want to set the start date to this => (02/08/2021 00:00:00)
@naive warren So you're actually backdating a subscription? https://stripe.com/docs/billing/subscriptions/subscription-schedules/use-cases#backdating-subscription
@naive warren Scheduling is the only way to do this
I set the backdate_start_date but it doesn't affect on current period start date
My main goal is that when a user subscribe in the middle of day I charge him for the whole day
@naive warren That's for the start date of the subscription, it doesn't influence the billing period dates
hi, i have one account with you, but i have problem with the payment, i need to talk in spanish pleases, i lost the money
:question: @light sleet Have a non-technical question, account issue, or need one-on-one support?
We wish we could help, but this community is focused on developers and technical discussions. Our support team will be able to assist you better than we can: https://support.stripe.com/contact
i have tried for this page
@light sleet I'm afraid we can't help with account specific issues here. We're a channel for developer questions
ok thanks
i can sell subscriptions in 12 installments on credit card?
@jade marten Hello! You can: https://stripe.com/docs/billing/subscriptions/subscription-schedules/use-cases#installment-plans
Guys. I'm back.
drumroll
I've read up on the plans vs prices thing, and I can't really see why I should migrate my code currently running on plans. It seems that even when using Prices, plan objects and IDs get sent along everywhere possible and you can even pass plan IDs interchangeably as price arguments. So what's the point?
Also, there's no API endpoint to delete a price, but you can pass a price ID to the Plan delete method and it works?
I guess what I'm asking is if there are any plans to deprecate plans in the near future
or, take them out of action
Suppose they're already somewhat deprecated
Hi. I'm doing some work on customising the Checkout through the API but I have some questions. Firstly, what's the difference between business_icon and business_logo please? Are both of these shown in the checkout?
@vocal stump you don't have to migrate, but over time we'll de-emphasize the Plan API more and more, and we'll remove it in an API version at some point and from client libraries. We'll also add more features over time to Price that won't always be compatible with Plans. So a migration is a good thing to plan. But it's not urgent
@crimson needle We're on the cusp of releasing a whole new subscription system, and it's currently built on plans. I am uncertain if I should prioritize migrating the code before we release it or if I can rest easy knowing the migration will be just as seamless in a year or whenever it gets removed.
I know you can't answer that confidently because you don't know what I built
It would seem that migrating before is always the better option
Is the missing delete Price endpoint by design? I noticed the dashboard does send DELETE /prices/:id, so it must exist
migrating before is best yes especially as we worked on ~maximal compat between the two at launch
I made a branch where I migrated the code, and the only thing that's actually directly incompatible is the previous_attributes of customer.subscription.updated currently relying on inspecting if the property plan exists on that object. In the Prices-approach I would have to loop through the items array for much more convoluted logic in order to determine if the update was due to a change of plan/price (because our webhook does different stuff depending on things like this). Is there a clearer way to distinguish this that I haven't thought about.
and yes it's by default, we absolutely want to discourage deletion in general. We just couldn't ban it since all you have to do is delete via the plan API
Yeah I'm leaning towards that also
currently relying on inspecting if the property plan exists on that object
yeah that has been deprecated since 2017 though and is unrelated to plan/price. It simply was incompatible the day we added support for multiple plans per subscription
if you ever get a user with Dashboard access do this to one of their subscription your code would break I assume
You are right. What would I do to most easily determine if a subscription update was change in plan?
We only allow one plan per subscription using this logic though
Loop and compare is the easiest?
yeah I know, like most users, but if there's ever one person with Dashboard access, even someone on your support team, adding more than one plan you're in trouble
and yes looping + tracking the si_123 and its corresponding price id
I know, I know, but if they do access their dashboard and start clicking stuff we're totally screwed for so many other reasons anyway
It's connected standard accounts
so we very strongly tell customers not to ever touch anything on there
I can save some of it by webhooks currently, but not everything
😅 that is not re-assuring lol
Btw, @crimson needle I talked to hmunoz about the whole invoice-void thing. I ran some tests and determined that the cause of the inconsistency was due to the API version of the connected accounts and that there was no other option to have consistent void-refund-balance behavior than to upgrade all connected accounts
I don't know if he told you so just wanted to bring you up to speed
As long as you don't provide custom/express accounts with ultimate chargeback responsibility we have no other option
Also, I could not find any problems with the refund-void-behavior, so the JIRA task you mentioned may not be relevant anymore?
Hello! Somewhere on the dashboard can I see how many transactions have taken place from which operating system in total?
It worked, consistently inconsistent between API versinos
possible, the eng team was investigating
okay cool
Thanks. I guess I'll complete my prices migration. My plan is this: Rename my plans table to prices, add a Stripe ID column (to contain price_xxx values) which we did not need before as I gave the Plans custom API names. Can I assume that I can just add that column, populate it in the future with the price_xxx values returned from Stripe and input my own custom API names in that column for objects that were originally plans, and they will be applicable anywhere a newer, actual Price object would also be?
yup
Good, that makes things a whole lot easier.
And you would recommend I change my delete Price behavior to archive? Right now I just pass the price_xx id into new Plan('price_xx') and call delete() on that object, which works. This is mainly used in cases where something goes wrong on our end and we remove our equivalent object entirely, to avoid lingering, orphaned objects on Stripe that were never used.
It would be a problem if, for instance, Stripe does not allow two prices for the same product with identical amount, interval, currency and interal_count, because then re-creating that plan on our system would give an error. Or something similar to that kind of situation.
Yeah I would. The main reason for delete at the time was to re-create an object with the same id. It's super powerful in theory, and it's a footgun in practice. I spent the past few years explaining developers why their subscription was on plan GOLD but not the $10/month one, but the $8/month one, because it had the same id but it was the old version of the plan, the one they deleted to change their pricing, but where we don't mutate every existing subscription when you do (because omg that risk if we did)
So we're trying to move away from deletion in the API and recommending active/inactive (though we do get a lot of pushback so we're still on the fence)
I would like to add my voice to that pushback. I think you should explain and discourage deletion for X and Y reasons but still let it be up to the developer. In my case, when we run transactions on our end, then an SQL error would trigger a rollback which then "cleans up" any objects that were created on Stripe, because them lingering forever would be confusing.
But since you can't set IDs yourself on Prices, haven't you circumvented that problem?
I see the case clearly for plans. I used auto-increment based values though so I would never run into this problem.
But that's not a given at all for everyone to think of that, evident from your explanation.
but still let it be up to the developer
that's fair. But developers don't read docs. And then they shoot themselves in the foot and it can be extremely costly to remediate months later.
we definitely should explain this a lot more explicitly though, totally agreed on that
I wrote thorough docs for our entire API and my devs still ask me stuff that's right in front of them, so I feel you
We have a running joke that they won't see if it's in the docs
So I better leave it out
yeah it's a tricky balance. We also only see the people who don't see it, since the one who do never need to ask. So it's biased.
Makes sense
But good to know my Price-Plan-plan will work
Off to the trenches
Cheers
good luck!
Hi,
Is there a way to fetch all payment intents for a customer ordered by date?
Or maybe it's the default behavior ?
Thanks
Hey!
Does anyone know that if you are using "Creating separate charges and transfers" to split an amount between multiple connected accounts. Does stripe still charge for every "transfer" that is created?
I want to make it possible for a user to set a specific amount and the split that between different vendors. But I don't want stripe to charge the % and set fee for every transfer :S
Hello everyone, is there a way to upload custom filetypes and retrieve them? My filetype isn't listed as one of the supported types in the purpose documentation
i have integrate checkout session, after payment success i want receipt_url. can you suggest api
Hi there, could one of you drop me a private message. Afraid I can't go into too much detail publicly given the nature of the issue, but it is something that warrants immediate attention. Thanks, J.
@fathom frigate you can DM me though it will depend what your question is about
Hello there
Have a question about Google Pay on Payment Request Button
During the testing found one weird thing on Android + Chrome
Even if Android phone haven't Google Account / GPay account added and authorized on the phone - PaymentRequestButton still offers Google Pay as a main source of payment
By clicking on it and trying to proceed - it simply returns an error that you haven't google account added yet
It there any possibility to prevent such cases, and don't show GPay for them?
If I create two separate subscriptions server-side, is it possible to combine the confirmCardPayment call with multiple secrets on the client? Or alternatively to combine the subscription creations so there's only one secret?
Hello Stripe Devs, I am working on using place a hold on a card (https://stripe.com/docs/payments/capture-later )
capture_method: 'manual'
After capture an amount, Is this possible to create an another hold on payment with released amount. (In my case I have to capture an amount after completed the services like stage1 and stage2)
Looking for your kind response.
hi there team 👋
So here's my issue. Any guidance is much appreciated.
I have a checkout session in setup mode that ask the user for sepa_debit details. But it looks like this does not enable the admin to create a direct payment via Stripe dashboard.
Creating the payment in dashboard becomes available once I create a source and attach it to customer which is fine but the issue with that is I have to provide the IBAN number and I cannot retrieve that from the checkout session. This is a semi-sensitive information so I would like to avoid getting that from the client.
Am I missing something or is this just a limitation when it comes to sepa_debit payment method?
but I can't sell an annual subscription in 12 installments?
Hi all, I have a script that runs transfers and one of the transfers failed with an insufficient funds error in the logs, even though there was plenty of funds in the stripe account. Request id: req_jcRJ7YfrwFgCV7 Any idea why this transfer failed?
Hi, I'm trying to understand subscription schedule and phases. I have a subscription's schedule and a subscription link together in the current phase. If I need to update something in the subscription (taxes, coupon, etc.), do I need to update the subscription or the phase? If I update the subscription, does it have an effect on the phase?
Hello - I am getting a Your card was declined. error message when using the Stripe test credit card in test mode. Any idea what could be causing this?
I have integrate checkout session. this integration when we click on payment button it will redirect to payment page and once payment is success it will come return to our application (success URL). success page we get session id.
but case is - Unfortunately user network connection lost after payment success. for this reason we don't get session id. so how can we know who person make payment or not.
Hi, I'm trying to find docs or pointers for an implementation of subscription billing that charges per 5 users instead of one. It would be "fixed-pricing" in the sense that the charge is at the start of the month not the end. I can see a per-seat usage docs, but I'm unsure if I'm missing something with how to approach subscriptions on a per 5 user basis (e.g. it costs the same to have 3 users, or 5, 7 and 9 users would cost the same, etc...)
Hello,
I have a problem with my stripe, it is blocked but I can not refund my customers, it annoys me a lot...
When I'm creating an InvoiceItem, where I don't use a price object ID, how would I apply automatic_tax? Do I have to point to a price object with a tax type defined for it?
Hi devs, I need your input on the following subscriptions related situation:
- I want to collect all the payments on the same date (1st or 2nd of the month) and also have a per-subscription bank statement description (atm all of the payments are collected via sepa direct debit), I've seen that dynamic statement descriptors are only allowed for cards but I've also seen that the Payment Intent entity has the statement_description, I was wondering whether is it possible access the subscription's payment intent and update it with the desired statement description and if it'd be shown as the description in the customer's bank account
Subscription SD
Hello beloved Stripe Devs.
how can we use Stripe Connect / separate_ Charges and Transfer feature on our Squarespace website ??
Direct integration is not possible, can we go for custom integration ? like if we receive the order information on a webhook and make a transfer to a connect account from there, is it possible ? if so, how ?
will be looking for your kind response,
any help in this direction will be much apprecited.
Gratitude.
Good afternoon.
I'm from Brazil and I need to know if the platform supports installment payments using credit card, and if it does, how does it work?
Hi, I was wondering if someone can help me understand why this returned a 400 https://dashboard.stripe.com/logs/req_x1dwSBZUhC2plj
Hi, Im new to stripe and am trying tu understand how it works in terms of flow. When you create a charge do you not need a token? that is a tokenized payment method from the customer? Im trying to follow this but I am pretty lost: https://stripe.com/docs/api/charges/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.
Hello I'm running into an error for the last week or so. Our local and CI testing is failing on checkouts communicating with Stripe sandbox environment and I'm getting the following error:
stripe.error.APIError: Request {req_id}: Error while communicating with one of our backends. Sorry about that! We have been notified of the problem. If you have any questions, we can help at https://support.stripe.com/.
Is there a reason why plan was removed from the Subscription type in the Node SDK, even though plan is still returned by Stripe as of the latest version?
I just got a new card reading terminal and need to get it activated and connected to my account. I have an account with stripe through my firefly reservation system, but need to get a card reader going in the office for cards. can someone help me?
:question: @stark bear Have a non-technical question, account issue, or need one-on-one support?
We wish we could help, but this community is focused on developers and technical discussions. Our support team will be able to assist you better than we can: https://support.stripe.com/contact
@stark bear That link above will get you to the support team if you need help activating the reader, assuming you have a Stripe account and it's a Stripe Terminal reader. I'm not sure what Firefly's role in that is, but the support team can help.
This address was sent to me from the support team. It says development help
It is a stripe terminal and I do have a stripe account.
Is there a way to trigger a payment successfull webhook manually ?
Nope
Not like that
i want to trigger a specific event webhook
I can't get in into my account
I don't receive the code and I don't have the other one don't know what to do
To reset my password
Hello folks. Need your advise. I I'm creating a payment via Payment intent with "setup_future_usage":"off_session" and "confirm":"true". I'm testing a card with 3d secure. I'm getting a confirmation promt and payment is succeded.
The payment method is also created as well and I want to use it for future payments for this customer, but every new payment requires 3D secure confirm again, event if I pass Payment method Id.
How can I perform next payments for this customer with this payment method, without 3D secure confirmation?
Hey, I am getting the following error from Stripe API while adding a external Card to connected account. Can someone please suggest me a solution.
"Requests made on behalf of a connected account must use card tokens from Stripe.js, but card details were directly provided."
What webhook event is triggered when someone subscribes to a plan?
Hi, I need help in the formula if I need to calculate the product price after adding the stripe fees + commission
How to charge stripe processing fee to the end user? 2.9% + 30 cents. I am adding it to final amount but stripe again charges 2.9% on processing fee if i add that amount.
Hi!
We've run into an issue with the recent changes made to Connect (https://stripe.com/docs/connect/oauth-changes-for-standard-platforms) which makes it so we are unable to connect to an existing Stripe account that has connected to a different application. Instead it creates a brand-new Stripe account with no existing customer data (meaning these customers are unable to use our product)
We are unsure how to proceed here because the other option, switching to an extension-type connect application is unavailable to us due to our need for read-write privileges. Any help in this matter would be appreciated!
Hello, I have a subscription plan that runs for a maximum of 9 months after which the subscription will be cancelled. I wanted to ask, is there a way to know when an invoice is sent, it pertains to which cycle? So for example, if the customer is on their 5th month, that would be the 5th billing cycle and I would like to know if it is possible to see that somewhere via the API or do I have to guess it based on the period_start and period_end timestamps of the invoice itself.
Hello Stripe folks. For our Stripe test data environment, is there a way to add a working test bank account to our test account acct_1Ir538D2AfqkY9Hk?
I attempted to add a test bank account info to that account but received the following error message:
Test bank accounts are not supported at this time. Please use a valid bank account instead.
Our goal is to be able to test the automated payout cycle. Right now, our test balance is blocked from payout due to the lack of a proper bank account connection.
^ rsponding in a thread above
@crimson needle Is there any way for us to test the full cycle of a Stripe Payout in the test environment?
Specifically, we're looking to test the automated payout feature, not manual.
Hey everyone, Is there a way to make a valid email recognized as valid on stripe?
I've been struggling with a proration issue and I asked for help here previously. Wondering if anybody can help and wondering if you have a way to escalate issues?
guys, what happens if the trial period of a product ends and the customer doesn't have a payment method attached?
I have another question regarding stripe fees, how to calculate stripe fees based on the customer country to show it to the customer before paying?
Follow this calculation
So, for example, if the transaction total before fees is 2340GBP, on a Non-EU card, this would look like this
(assuming you're in the UK
@subtle comet It'll follow the subscription lifecycle here : https://stripe.com/docs/billing/subscriptions/overview#subscription-lifecycle.
If you're automatically charging the customer, the payment will fail.
Otherwise,
Customers have about 23 hours to make a successful payment. The subscriptions remains in status incomplete and the invoice is open during this time. If payment is made, the subscription is updated to active and the invoice is paid. If no payment is made, the subscription is updated to incomplete_expired and the invoice becomes void.
@bleak breachDoes stripe support BCA bank card payment in Indonesia
The full list of supported cards can be found here: https://stripe.com/docs/payments/payment-methods/overview
Accepting more payment methods helps your business expand its global reach and improve checkout conversion.
thanks @golden cosmos. I am still with some open questions...
I'd like to know if I am on the right track on setting up my Stripe plans with my Rails application.
- I offer a premium product that has trial of 15 days. When a customer signs up for this plan, I create a subscription with
trial_period_days=15. At this point, I don't collect any payment info; - I listen for
customer.subscription.trial_will_endevent and near the trial period ends, my application notifies the customer that he may have its subscription cancelled; - At this point, the application will show him up a payment form (with Stripe JS
Elementcomponent) in order to collect the payment method. So once he fills this up, I attach a payment method to his customer record; - Meanwhile, I listen for
invoice.payment_succeededto update my internal billing records and let him continue using the premium plan.
am I missing something?
@subtle comet let me look into this quickly and get back to you
@golden cosmos thanks!
@subtle comet your logic looks alright!
great
I am looking for some edge cases like my previous question (when the user doesn't attach a PM)...
hey on the react native pre-built 1 step can you have saved payment options there?
hello @ashen verge, could you share which page were you referring to?
Securely accept payments online.
i can't think of any edge cases at this stage. Maybe one thing you would want to take note of is if you manually mark the invoice as paid -> you would want to listen to the invoice.paid event instead
@ashen verge the react native pre-built step 1 refers to setting up Stripe. I don't really quite understand the question, perhaps you can let me know why you're looking for saved payment options?
@ashen verge if you're asking if the Payment Sheet can show a customer’s existing PaymentMethods. It can’t and won’t, if you want that functionality you would have to build it yourself
yes that what i was wondering can you lead me to the right place for help with that?
Securely accept payments online.
this one shows payment options though?
I see the const choosePaymentOption = async () => { // see below }; is empty
@ashen verge give me a while to look at this, i'll get back to you soon!
the guide shows you how to display it but not the logic to set payment method and get the methods
@ashen verge the choosePaymentOption [0] is the payment method that you want to allow the user to pay by. For instance, if you want your user to be able to use Apple Pay.
If you want to display the list of payment methods that a customer has, you would want to use this API : https://stripe.com/docs/api/payment_methods/list
[0] https://github.com/stripe/stripe-react-native/blob/master/src/types/PaymentSheet.ts
gotcha what is the customerEphemeralKeySecret do?
will i need that to use the get payment methods?
@ashen verge it's a short lived "secret key" that expires by itself. You don't need it to get payment methods
Okay good and last thing for now, what params are needed to send a payment method with the payment intent?
@ashen verge you can provide the payment_method when creating PaymentIntent https://stripe.com/docs/api/payment_intents/create#create_payment_intent-payment_method
is it possible to get upcoming invoices (at least the last one) after subscription cancel (cancel_at_period_end = true)? Documentation mentioning some setting for this, but couldn't find how to do this from the dashboard...
@serene timber Are you referring to this API call - https://stripe.com/docs/api/invoices/upcoming? It isn't possible to do this via the Dashboard
@golden cosmos yes this one. ofter subscription cancel it is returning 404 - No upcoming invoices... But with cancel_at_period_end = true I thought will be good to see what is the last invoice and maybe user will cancel the cancelation, if he know what he need to pay... -> cancel_at_period_end = false...
@serene timber there wouldn't be an upcoming invoice if cancel_at_period_end=true
@golden cosmos hm. example - payment period 08/01 - 09/01. he will pay on 09/01. what happend if he cancel on 08/10? he still need to pay for the 10 days (08/01 - 08/10) right? or the billing on 09/01 will be for the period 09/01 - 10/01, so there is no upcoming invoice ... confused...
Hi, is there a way to prevent invoices from staying in pending status and charge always immediately?
@serene timber Unless you're using metered billing, the customer pays upfront for a subscription. So if you use cancel_at_period_end and the customer has already paid upfront, there isn't anything to prorate or pay.
If you're cancelling in the middle of a subscription, the behaviour would depend on the two parameters prorate and invoice_now [0].
@golden cosmos thanks for the help. will read some docs
@sage burrow can you share the invoice id which is in pending status now? let me take a look
@golden cosmos yes sure
how can i pass an upcoming date for subscription enrolment? I want them to subscribe but they won't be charged until this enrolled day
@golden cosmos I am using dashboard and I can't copy the invoice ids. I'll use the api. Give me a minute.
@oak dove i think subscription schedules would fit your needs, you can pass in the start_date [0] . You can read more about it here : https://stripe.com/docs/billing/subscriptions/subscription-schedules
[0] https://stripe.com/docs/api/subscription_schedules/create#create_subscription_schedule-start_date
@golden cosmos ii_0JKDsftC5CmKO3CdhdtnCSvr and ii_0JKDsftC5CmKO3CdjPugLisU
@golden cosmos , I changed plans multiple times and ended up with 2 invoices pending until next year
what if this start date is added to database by admin after the user subscribe
@oak dove could you elaborate a bit more what you mean by after the user subscribes? Do you mean the user has already started the subscription?
user will add their card details details and subscribe then their details will be stores in a databse, they won't be charged until the enrolled day which will be updated by admin in the database
@sage burrow onesec, looking into your question
@golden cosmos yes sure take your time. You are helping more than one person here so it is normal ...
@oak dove , are you asking if there is a way to store customer's credit card info without subscribing to any plan and wait until the admin adds the start date and then subscribe them?
@golden cosmos yeah that sounds right
@sage burrow if you are changing plans/prices and want to always invoice immediately, you would want to follow this: https://stripe.com/docs/billing/subscriptions/upgrade-downgrade#immediate-payment
@oak dove since you would have a payment_method for the customer stored, your admin can always create the subscription schedule later by passing in the customer [0] and start_date.
[0]https://stripe.com/docs/api/subscription_schedules/create#create_subscription_schedule-customer
is there something about this logic flow that doesn't work for you?
@golden cosmos I'll check that out to see what I missed. Thanks!
oh so I have to create a ui for the admin to schedule the start date right for each customer right?
pretty much yeah, since your admin is deciding the start date at a later point in time
can stripe be used for accepting fiat currency payments for NFT marketplace?
This is something you should reach out to Stripe support for: 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.
okay thanks for your help!!
@oak dove wanted to add on, you can create subscription schedules via the Stripe Dashboard too
oh thats helpful can you send me a guide where to do this
@oak dove this is one guide : https://support.stripe.com/questions/create-update-and-schedule-subscriptions.
You can also navigate to the create a subscription from the particular customer's page if you click on the Actions button, then select Create subscription
I am trying to get started listing 4-5 products on a page and allowing a user to buy more than one at a time but the docs guild is not helping me set it up in php. I want to select the items and amounts, then go to the checkout with the selected items, complete payment then make a note of the payment in my database. But cannot figure out how to setup the checkout to then populate the checkout page
@ionic radish These two pages provide examples in PHP :
https://stripe.com/docs/checkout/integration-builder
https://github.com/stripe-samples/checkout-one-time-payments
Generally, you would create a Checkout Session with the line items [0] and redirect the user to the URL returned in the response [1]
[0] https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-line_items
[1] https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-url
Ok... Thanks.
Thanks Paul.
Just fyi my "autobilling" went off without a hitch, outside of a few declined cards. Thanks Stripe!!!
does stripe send the receipt automatically once they make a deposit? or should we integrate this
@oak dove you're referring to a successfully paid subscription invoice?
yeah
yeah
checking on this
I’ll look into this tomorrow thanks. May just list a load of items and check the id of the item and limit what they can buy.
It’s just to buy verification so they can then use the identify that I have set up to verify themselves through a discord bot.
However I wanted to like add more options to the verify like verify + access to another product etc.
@oak dove this has the details you'd need for receipts with subscription payment : https://stripe.com/docs/receipts#receipts-with-billing
@oak dove heads up that automatically emailing receipts won't work in test though
Looking for a way to make all subscriptions auto renew on the 1st of the month regardless of start date.
Have you tried to create a Subscription with trial?
Not what I’m looking to do. So you sign up 8/14 and get billed at sign up. And then now your billing cycle is 1st of the month so 9/1 you pay again and so on.
Ah I see, let me look around if there is a solution
I am getting this error while generating archives. But the simulator build works fine. Any idea what am I doing wrong?
How are you planning to charge your customer in Aug on this case? portion based on days?
I am trying to do the following:
- When a customer's credit card is charged successfully then
- Look up the product that they bought
- Within the product details, retrieve a custom metadata called successURL
I want to use this with a tool like automate.io or Zapier to send an email to the customer with the URL.
What I actually want: a no-code or low-code way to send customers a product-specific URL in their receipt or as a separate email after they make a payment. I was able to add unique URLs to the custom metadata of each product on Stripe but I don't see a way to customize product receipts anywhere.
(I'm not a coder and only even learned what APIs are two days ago, thank you for the help!)
Are you using react-native or the ios SDK?
There is a parameter billing_cycle_anchor for this purpose https://stripe.com/docs/billing/subscriptions/billing-cycle#new-subscriptions
Subscriptions are billed on a cycle, learn how to set the billing date.
I am not quite familiar with automate.io/zapier but it sounds hard to achieve what you want without writing some actual code. What are you connecting automate.io/zapier with?
With outlook
Thanks for the reply. automate.io seems to have some kind of API integrator that can do what I want. I don't know what the actual API request looks like
Hey, this looks complex. I am seeing YogaKit build is falling as well. Are you sure that it runs correctly in simulator? Tried removing Pod files and pod install again? Also I have found a similar report in React Native repo: https://github.com/facebook/react-native/issues/29605
I see, so their Stripe integrator sort of calling Stripe API under the hood. This image looks promising, what is your issue from this setup?
It costs $10/month to use it 🙂 I am trying to get some kind of low-code alternative to this. Yes, my understanding is that automate.io abstracts API calls and sets it up visually. That's why I was wondering if there was a way to translate that sequence into a bunch of API calls.
I see. There is no no-code solution I am afraid. What you would want to do for actually coding this out, is to listen to a webhook payment_intent.succeeded then retrieve the corresponding Product and find your Metadata.
Thanks, is there anything in the order or receipt that references the actual product? I have a product ID but I don't see that in the order details.
How are you charging your customer? Are you using Checkout?
Stripe checkout no-code payment link
Hey, sorry I am finding the easier solution, please bear with me.
Thank you
Yes. After stripe integration, the normal build was failing. I had to follow the steps mentioned in the stripe-react-native docs to remove some library search paths. Post that the build succeeded. The only problem is while generating the archive.
I am sorry if this sounds complex, but what you would need to do is
- Listen to
checkout.session.completedto get payment_intent ID - Retrieve that session again, expanding line_items https://stripe.com/docs/api/checkout/sessions/retrieve
- Finally from that expanded response you will have the price id (https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-line_items-data-price)
- Retrieve the ProductID using that price ID (https://stripe.com/docs/api/prices/retrieve)
- Retrieve the Product and finally find your Metadata
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
how can i get all invoices of a particular customer
Did you change that Library Search Path for both Debug and Release build? It looks like an issue with build setting
You can list all invoices filtering by that customer ID: https://stripe.com/docs/api/invoices/list
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
how can i pass customer id here
What language are you using? You can reference the sample on the right of that page
hi there ,how can we know when amount is available for payout in custom manual connect account ?
You'd retrieve the account's balance: https://stripe.com/docs/connect/account-balances
Learn how Stripe account balances work when using Connect.
no, this is showing all balance, Let suppose if i paid 2 payments from customer to connect 10$(2 August),20$(3 August), how can i know according to charge or transfer when that particular payment is available for payout.. ?
Ah I see, you'd want to use the Balance Transaction object, which gives you a rough estimate on when the funds are expected to be available in the Stripe balance: https://stripe.com/docs/api/balance_transactions/object#balance_transaction_object-available_on
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Alright, in which object get this balance transaction id , from charge or transfer object..?
Either on a Transfer object: https://stripe.com/docs/api/transfers/object#transfer_object-balance_transaction
Or a Charge object: https://stripe.com/docs/api/charges/object#charge_object-balance_transaction
ok Thanks for this,
Hello! Just a quick question. If I use "Stripe Checkout" can Stripe then use a webhook to activate a product in Kajabi? (Course platform).
They offer web hook activation URL's so I need to know if Stripe accepts them after a payment is made?
I have one more question, when or where stripe get fee..? i mean from charge or get money from platform account..? because when i see balance transaction it will show stripe some fee, but actually not deducted from charge..?
That's a question for Kajabi
Stripe charges a fee whenever funds are processed, so in this case you'd see a fee associated with the Charge, not when funds are moved from one account to another
Right! I just wanted to make sure you do accept the webhook url's they create.
yes, because when i see balance_transaction of charge object it will show stripe get some fee, but actually not deducted from charge(when i see in stripe/dashboard payments), it will transfer same amount as charged to connect account?
what that mean..? stripe get fee from where..? i am using stripe test account
Stripe doesn't, you'd probably have to build a bridge of some sorts between the two systems
Stripe doesn't charge a fee when you transfer funds from one account to another (e.g. from a platform account to a connected account). You wouldn't see fees on a Balance Transaction with the type transfer, but you would with the type charge: https://stripe.com/docs/api/balance_transactions/object#balance_transaction_object-fee_details
yes it is right , when charge is make stripe get fee, but amount is there showing full amount, example, charge is 10$ and stripe fee is 1$, so this way rest $9 will transfer to connect account, but they transfer exact $10..? this is my question.
This depends on whether you're using destination charge: https://stripe.com/docs/connect/destination-charges#flow-of-funds-app-fee
or direct charges: https://stripe.com/docs/connect/direct-charges#flow-of-funds-with-fees
i think we are using direct charge.
my code is
var createOptions = new PaymentIntentCreateOptions
{
PaymentMethod = savedCardId,
Amount = amount,
Currency = ISOCurrencyCode,
Confirm = true,
Customer = customerId,
OffSession = true,
OnBehalfOf= destinationAccountId,
ApplicationFeeAmount = serviceFeeAmount,
TransferData = new PaymentIntentTransferDataOptions
{
Destination = destinationAccountId
},
Metadata = new Dictionary<string, string>
{
{ "InvoiceId", invoiceId.ToString() },
}
};
var service = new PaymentIntentService();
var response = service.Create(createOptions);
That's a destination charge
Which would mean that the platform pays the Stripe fees
hi
need help with payout that didn't go thru due to tech error
can someone help
or do i need to take my business elsewhere? need to pay my rent + bills
:question: @odd cloak Have a non-technical question, account issue, or need one-on-one support?
We wish we could help, but this community is focused on developers and technical discussions. Our support team will be able to assist you better than we can: https://support.stripe.com/contact
Alright, that mean in direct charge it happen on platform account, but we are creating charge from customer and make transfer that mean it is direct charge. Also stripe fee or any currency conversion fee is paid by platform account on each transaction, am i right..?
Not quite. Direct charges mean you create the charge on the connected account itself and then transfer an application fee back to the platform. The Stripe fee is taken from the charge amount minus your application fee that's left on the connected account, meaning it's paid by the connected account.
With destination charges (which is what your code is doing) the charge is processed on the Platform and then the amount minus your application fee and Stripe fee is transferred to the connected account. The Stripe fee is taken from the platform balance, meaning it is paid by the platform.
Alright, i have charge id :pi_1JK1umGOBPjZ1Bk2OzEeoIxj , on my test account with $1600, i have pass some application fee to this charge you can see : fee_1JK1un5F3VaC1oscNE19afJB , but that application fee is also not deducted , the whole amount $1600 is transfered to connect account..? please have look .
Hello I try to create invoice, where money should go straight to stipe connected account.
So I use create invoice method $stripe->invoices->create([])
I specify required customer ID
and
'application_fee_amount' => 3000,
'transfer_data' => [
'destination' => {{stripe connected account}},
],
But I always received 500 error
"message": "Nothing to invoice for customer",
What am I doing wrong?
the platform fees are deducted, you can see this from your connected account's dashboard; see the net value
Is there an ID for that request so we can look into it?
You will have to create some invoice items before you create invoices. use this API https://stripe.com/docs/api/invoiceitems/create#create_invoiceitem-customer to create an invoice item
i am using a manual payout, so in that when i get that transfer amount it gives $1600, how can i know $1440 is payout amount for charge id , i mean :pi_1JK1umGOBPjZ1Bk2OzEeoIxj , i mean i need to deduct manually that application fee manually from transfer amount ., so then i can payout that amount.? @lucid raft @bleak breach
Why would invoiceline.price_id and invoiceline.plan_id be different? My understanding was that each plan has an equivalent price with the same id. Did I get that wrong?
You can either do the manual calculation using the payment_intent amount - application fee. Or you should really use
- https://stripe.com/docs/api/balance
- https://stripe.com/docs/api/balance_transactions
to get what you need to payout to the customer
e.g. You can always get your connected account available balance using https://stripe.com/docs/api/balance, that the max amount you can payout to your connected account
or you can get the balance transaction of the payment on the connected account which contains the net amount on https://stripe.com/docs/api/balance_transactions/object#balance_transaction_object-net
Hi devs, I have a quick question regarding the react stripe package on github. We have stripe integrated with our app and I am trying to cancel a setup intent as per the documentation here
https://stripe.com/docs/api/setup_intents/cancel
however I am receiving the below error
"Property 'setupIntents' does not exist on type 'Stripe'"
I have upgraded to the latest stripe versions below so not sure why I'm getting this
"@stripe/react-stripe-js": "^1.4.1",
"@stripe/stripe-js": "^1.16.0",
Can you confirm whether or not this is possible through react stripe?
Thanks
They will be the same as price_xxxx
@lucid raft that's what I expected but it's not always the case. Example:
All the available functions are listed https://stripe.com/docs/js, You can not cancel setupIntent on the frontend. you will have do it in your server side using Secret Key sk_xxxx
I see, so you have a custom plan ID when you created the plan https://stripe.com/docs/api/plans/create#create_plan-id
@lucid raft yes, but even so, most of the time, the price object gets assigned the same ID as the price, even if it was a custom name.
Example:
- In manually deduct amount of application fee from transfer amount is ok for if both charge and connect have same currency both in USD, but if i charge in different currency and connect is different , in that case it is failed, A screen shot is attached, please have a look.
2.If i use via balance transaction, to retrieve which object and how can use with while creating payout..?
I am surprised you can even do that because in our public doc, it is not allowed set the price id unlike plan id.