#dev-help

1 messages Β· Page 119 of 1

normal coyote
#

Hey! I need help with a specific question about Stripe checkout, can someone help me?

crimson needle
#

@normal coyote sure what's the question?

normal coyote
#

Is there a way to share cart details and customers' emails from stripe checkout?

#

card*

safe fiber
crimson needle
#

hmmm yeah we don't have a way to tweak settings per payment method types. But you can always retry yourself after the failed debit

slow oyster
#

Hi, we want to create a product and use in clickfunnels where we can charge monthly for 3 months

crimson needle
#

@normal coyote what do you mean "share" here? Checkout can save card details for you during a payment

slow oyster
normal coyote
slow oyster
crimson needle
#

@normal coyote I'm sorry, I am not really following what you are trying to get as an answer

bold basalt
#

@rough spire so I just tried v0.1.4 on my mini Expo sample app and the SetupIntent was confirmed just fine there. Caveat is that my view hierarchy is relateively straightforward, that my StripeProvider is wrapping SetupIntentComponent which contains CardField.
so I have:

<StripeProvider>
  < SetupIntentComponent>

Where <SetupIntentComponent> has <CardField>
So I think there's something odd here where CardField isn't being picked up from the view hierarchy for certain non-straightforward view hierarchies.

#

@rough spire so can you say more about how your AppNavigation wraps CardField?

crimson needle
bold basalt
#

@rough spire oh wait I think I might be close to repro'ing it ... checking ...

rough spire
#

I’ll be back in 30 minutes, taking lunch πŸ˜„

flint spoke
#

Hi ! How can I change the name whitch appears in the bank account when a custumers pay ? I don't find on stripe

bold basalt
#

@rough spire spoke too soon, yeah not able to reproduce it (when I did, it was probably a weird state issue due to me making code changes and reloading the simulator).
I basically have more or less the same code as this person https://github.com/stripe/stripe-react-native/issues/350#issuecomment-864341354
and I'm not able to reproduce, confirmSetupIntent() works every time.
That said, I do think the issue here is that the SDK isn't able to get the CardField from the view hierarchy, hence instance?.cardParams is null If possible, can you try to set up a minimal repo where you set up a simple AppNavigation, (no need to hook up any backend endpoints), just paste in a SetupIntent client_secret and call confirmSetupIntent and reproduce this?
That would help the RN SDK engineers reproduce this and fix this issue of finding the CardField correctly.

crimson needle
#

@flint spoke which name / appear where?

vocal wagon
#

Ciao

flint spoke
crimson needle
#

ahhhh you mean the bank statement?

flint spoke
#

I want to change it but i don't find how

#

yes

crimson needle
#

It's associated with your own business name and the way you signed up with Stripe. You can set it on a per payment basis otherwise via statement_descriptor but you can set the global/default here: https://dashboard.stripe.com/settings/account

flint spoke
#

The problem is that it appear "levoyagefacile" witch was the name of a tentative of business months ago

#

but voyagefacile doesn't appear nowhere in the page you give me

#

but appear in the bank statement ..

teal phoenix
#

Hi ! I'm new member here. I'am developing beginner and i'm French. Very happy to be here among a lot of dev seniorsπŸ€—

crimson needle
teal phoenix
#

I need some help regarding how to accept stripe payments with Przelewy24 from shopify store. Please, i realy need help.

flint spoke
#

thanks πŸ™‚

dim hearth
teal phoenix
dim hearth
teal phoenix
#

a direct integration with Stripe : that's what i want to do

safe fiber
#

are there pre authorized bank tokens for testing?

teal phoenix
#

How can i do then to enable Przelewy24 on my store ?

dim hearth
teal phoenix
dim hearth
safe fiber
teal phoenix
#

I'm traying de allow people to pay with Przelewy24 on my store. I want to enable Przelewy24 payment on my store

dim hearth
#

@teal phoenix Just to clarify - are you trying to get Przelewy24 to appear on the checkout page generated by Shopify? If so, that's not something you would code up yourself. As I said earlier, that's something you would have to check with Shopify to figure out how to enable

hardy laurel
#

Hello

dim hearth
hardy laurel
#

is the a way that we can export ithems?

dim hearth
safe fiber
dim hearth
safe fiber
hardy laurel
dim hearth
# safe fiber so i do need to set up a plaid account to test this then?

Well what exactly are you trying to test? If you want to exactly emulate what plaid is doing (verification is handled by them) then yes, you would need to set up a plaid account to test it. If you're just trying to get to a state where you can save a bank account to a customer and charge it, then I think that's doable

dim hearth
rough spire
bold basalt
#

@rough spire thanks! I did still flag to the RN SDK team to have a look, maybe something jumps out to them (as I couldn't repro) but if you're able to repro on a fresh project, that'd help them quickly understand if they're not handling a case properly in internally grabbing CardField from the UI.

safe fiber
# dim hearth Well what exactly are you trying to test? If you want to exactly emulate what pl...

i kinda don't care about exactly emulating plaid's verification etc. i basically want to follow step 4 https://stripe.com/docs/ach#using-plaid "The response will contain a verified Stripe bank account token ID. You can attach this token to a Stripe Customer object, or create a charge directly on it." i would like to know if this token can be fed through the ActiveMerchant code... i suspect i can just try with any ol bank token πŸ€·β€β™€οΈ

safe fiber
dim hearth
# safe fiber mostly want to test (1) create a customer (2) attach a verified bank account tok...

Gotcha - you won't be able to exactly those set of steps, but you can get close. From what I just tested it out you can attach any old bank account token to the customer, but there's no way to get a bank account token that's immediately ready to charge w/o using plaid. Without plaid, this is what your testing flow would need to look like:

  1. Create a customer
  2. Create a bank token w/ the testing numbers
  3. Attach the token to the customer
  4. Verify the bank account <- This will be the main difference between what you want test vs. what is accomplishable w/o using plaid
  5. You can start using it for payments
hardy laurel
safe fiber
dim hearth
twin flame
dim hearth
#

@hardy laurel I went ahead and deleted your most recent message since the screenshot included an email address (this is a public channel, so it's not a good idea to share PII). Give me a few minutes and I'll try and dig into what you're asking

dim hearth
#

@hardy laurel Are you possibly referring to invoice items?

neon surge
#

I've got a website that will sell monthly subscriptions to an automated trading program involving stocks., as well as a place where people can pay to view the details of promising option trades. I'm running into the error message "testmode_charges_only
Your account cannot currently make live charges." . However this IS set up for live mode. Reading on Stripe it suggests that this may be because this is a regulated industry. But I would imagine if I were rejected because of that someone from Stripe would at least send me an email. Any help would be appreciated.

dim hearth
neon surge
#

Isure let me look it up

#

400 ERR
ID
req_2yIqYFL8ZqhO7t
Time
7/7/21, 1:24:33 PM
IP address
184.88.202.181
API version
2019-10-08
Source
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.64

twin flame
#

If I am not wrong there is no way, we can delete a payment method for a customer in Stripe. The only allowable thing is to detach a PaymentMethod from a Customer. Is this understanding correct?

dim hearth
# neon surge Isure let me look it up

Thanks for sending that over! I can see that live charges are currently disable on your account, and I'd suggest contacting support at https://support.stripe.com/contact for instructions on how to get this fixedc

dim hearth
neon surge
#

hi karbi. I 've read through all the faq's on the support forum. Cannot seem to find where I can submit a query for an answer. None of the existing responses seem to cover it, unless it's because I'm in a "regulated industry" (financial services).

dim hearth
dim hearth
# hardy laurel yes

I don't believe we have an easy way of exporting this information other than through sigma (https://stripe.com/docs/sigma/billing#invoices). You can export more general invoice information (w/o the line items) through the dashboard, but if you need the information on the line items the best way to do it would be by retrieving it through the API https://stripe.com/docs/api/invoices/invoice_lines

neon surge
#

Karbi, thanks I'll try the chat room on support .. thanks for your help.

mortal tinsel
#

Hi,

Looking into wait times for transactions

After creating a connect account and setting of various vendors, I am curious what would be the quickest wait times to do the following:

1 - add a top-up from owners external bank account to stripe account?
(shortest wait time / average wait time...)

2 - make a transfer to a vendor's express or standard account?
(shortest wait time / average wait time...)

3 - after vendor receives payment - they transfer funds to their own external bank
(shortest wait time / average wait time...)

Also is there a way to transfer payment from the connect account directly into the vendors external bank account (to speed things up and save steps)?

languid bolt
#

Hello πŸ‘‹ hope you are doing well

I have a question regarding the Customer API:

I noticed that when updating a customer's address, all the omitted (nested) attributes are nullified. I.E: If I have a city set and then update only the country, the country is set to the new value but the rest of the attributes are wiped. Why is that the case? I would have expected it to only update the provided keys. The API reference also states: "Any parameters not provided will be left unchanged".

Thanks for your time!

dim hearth
# mortal tinsel Hi, Looking into wait times for transactions After creating a connect account...

I don't have answers on specific wait times, but let me try and help:

1 - add a top up from an owner's external bank account to stripe balance
The time it takes for the funds to settle into your stripe account depends on how the funds were added (see https://stripe.com/docs/add-funds#settlement-timing)

2 - make a transfer to a vendor's express or standard account?
The funds will transfer immediately, but if you used source_transaction when creating the transfer the funds may not be available until the original charge is also available (see https://stripe.com/docs/api/transfers/create#create_transfer-source_transaction)

3 - after vendor receives payment - they transfer funds to their own external bank
Payout timing depends on a number of factors - country, whether this is the first payout, etc. You can see some information on payout timing depending on country here https://stripe.com/docs/payouts#standard-payout-timing

#

@mortal tinsel "Also is there a way to transfer payment from the connect account directly into the vendors external bank account (to speed things up and save steps)?" -> Do you mean transfer funds from the platform directly to the external bank account of a connected account?

dim hearth
languid bolt
#

@dim hearth Sure, just a sec

#

@dim hearth this came first: req_5P2GxrzoYMb7iF, then this: req_Kp7mdda1fZdbPV

mortal tinsel
#

Hi - Do you mean transfer funds from the platform directly to the external bank account of a connected account? YES That is what I would like to know

dim hearth
mortal tinsel
#

hi karbi thanks again for all your help - BTW: this is all in US banks and would use the quickest method like ach or whatever is least expensive

dim hearth
mortal tinsel
#

thanks karbi - good idea - will do

mighty hill
#

@languid bolt Hello! The behavior you're describing is expected. The API considers the Customer's address to be a single unit of information. Changes to it overwrite the entire property, so issuing an update that specifies only the country would null out everything else.

somber sundial
#

Hi there! Hope you're well Stripe team. QQ: If I'm building out an Express Connect environment (both pay ins for mktplace and pay outs to sellers), is it required to have "powered by Stripe" during any part of that flow?

I'm anticipating during the Express Connected Account onboarding, but wanted to check if that can be removed.

mighty hill
#

@somber sundial I believe Stripe branding exists during Express onboarding and in the Express dashboard, and that branding cannot be removed as far as I'm aware.

languid bolt
#

@mighty hill Good to know, thanks πŸ‘

mortal tinsel
#

Also Is there a way that the vendors express/standard account can be setup to automatically transfer payments - as soon as they are received - right from their own stripe account to their own external bank account without manual actions?

mighty hill
fast mantle
#

daily automatic payouts are the default.

lapis bough
#

Suggestion Request :: Hi there, Greetings from Brazil! I am working on a real-time KPIs Dashboard, using Stripe Data from API, almost completed right now, I just wanna get some opinions about calculations logics, if I may.

mighty hill
#

@lapis bough Hello! Happy to help if we can!

lapis bough
#

Cool! For ex. MRR Calculation - I am getting that from Subscriptions (status = active or past_due AND pause_collection_behavior = null)

#

(removing paused acc. from calculation is a request from customer) Thx @mighty hill !

mortal tinsel
#

THANKS much Rubeus and basta!

mighty hill
#

@lapis bough Did you have a question about that?

small ginkgo
#

Just turned on Radar. Is it any good?

mighty hill
#

@small ginkgo I mean, I'm biased, but I think it's pretty good, yeah.

lapis bough
mighty hill
#

@small ginkgo If you're looking for general opinions on Radar you might want to ask in #841573134531821615 instead, but if you have a specific technical question asking here is good.

#

@lapis bough I don't have any particular suggestions. MRR calculations often vary depending on business needs, integration specifics, etc. so there's no one "correct" approach.

small ginkgo
#

none really - i just don't want to be randomly closed like all those blokes complaining on fb, google reviews, etc.

mighty hill
#

@small ginkgo For what it's worth we never "randomly" close accounts, we always have a good reason. πŸ™‚

rough spire
#

Hello!
Is there any way to create a subscription from a connected account to other??

mossy wren
#

Hello again! I have a question regarding the flow of collecting application fee on Subscriptions (https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions). We have a handful of users with Connect Accounts who Customers may Subscribe to them. We are assigning an application_fee to every new Subscription as well as transfer_data.destination that points to the respective Connect Accounts.

It seems like we're unable to set an application_fee on Subscriptions without a valid transfer_data.destination. We have some use cases where we want to take an application fee for Subscriptions, but the Connected Account user who is getting paid out for the Subscription may not have transfer_capability yet. Is there a way to get around this?

mighty hill
#

@mossy wren Setting an application fee without a transfer destination makes no sense. Application fees are what your platform keeps before transferring the rest to a connected account. If no destination is specified no transfer will happen and your platform will keep everything, so what would the application fee represent in that scenario?

vocal wagon
#

Hello! I'm trying to integrate Stripe in React Native (RN Cli) app and I've got one issue with the other integration react-native-document-picker. So - when trying to use the camera on Android app is crashing with the following error:

Caused by: java.lang.NullPointerException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter data
        at com.reactnativestripesdk.StripeSdkModule$mActivityEventListener$1.onActivityResult

Of course, I'm trying to use the camera using react-native-document-picker. Stripe is configured as it is in the documentation. Any thoughts what's going on?

rough spire
#

No I mean, I have in my platform account some products with recurrent monthly prices. And have a lot of connect accounts (one for each user on my application), these products belongs to some connect accounts. I want to know the right flow to collect money and then transfer it to corresponding account.

Or by the other way want to know if is possible to create a subscription between connect accounts, I mean not using customer objects.

rich kindle
#

Hi, Is it possible to connect an existing Stripe account to a connect platform?

thin jewel
#

Hi! My when using my stripe payment terminal, as of around 5pm ET, the API is consistently outputting "Reusable card payment methods can only be created via insert or swipe, not via contactless. Please try again."... even when the card is inserted via chip. Anyone else have this problem?

mighty hill
bold basalt
#

@vocal wagon hello! not sure I've seen this before myself but reading, be a sec!

mossy wren
#

@mighty hill I see what you mean. What our client is asking for is to enable the Connected Account to allow Subscriptions before that Connected Account is fully setup for transfer. What are our options/limitations?
If a Connected Account doesn't have transfer capability yet, I'm wondering if we should disable the Subscribe feature to Connected Accounts, and/or before Connectedto allow the creation of Subscription to Connected Account without application fee, then manually create an application fee amount when Subscription invoice are created. Not sure how we'd execute the latter, tbh.

mighty hill
#

@rich kindle That depends on several factors. Why do you ask?

zenith dagger
#

qq: is it possible to simulate "Partially Won" dispute scenario in Stripe Test Mode?

mighty hill
#

@thin jewel I've never encountered that issue. Have you tried cutting power to the reader and restarting it?

thin jewel
bold basalt
#

@vocal wagon at what point do you hit this crash? can you tell me more about what you're doing with the camera?

mighty hill
#

@zenith dagger Not that I know of, but let me look...

rich kindle
#

Tried, and Stripe server said account does not exist on platform.

rich kindle
mighty hill
bold basalt
mighty hill
zenith dagger
#

@mighty hill status is "lost", but part of the disputed amount is returned. As a result, it's "Partially Won" in the UI.

rich kindle
vocal wagon
bold basalt
#

@vocal wagon are you on v0.1.3 of the SDK?

vocal wagon
mighty hill
#

@rich kindle As far as I can tell there's no way to test that scenario in test mode.

rich kindle
mighty hill
#

@rich kindle I believe it answers your question, but if there's anything else I can help you with just let me know!

vocal wagon
#

i sent an invoive but they did not get it

mighty hill
#

@vocal wagon Hello! Can you provide more details?

vocal wagon
#

@mighty hill

#

they never got it

mighty hill
#

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

mossy wren
#

Hi @mighty hill! I want to circle back on a question: #dev-help message
Wondering what your thoughts are

mighty hill
#

@mossy wren Oh, I'm so sorry I missed this earlier!

#

@mossy wren Disabling Subscriptions prior to the connected account being ready to receive funds would be my recommendation.

mossy wren
#

@mighty hill Thanks, appreciate it!

heady pagoda
#

Hello

mighty hill
#

@heady pagoda Hello!

heady pagoda
#

Is this valid for retrieving all balance transactions for a connected account

#

balance = stripe.BalanceTransaction.retrieve(
stripe_account='{{CONNECTED_STRIPE_ACCOUNT_ID}}'
)

#

?

#

@mighty hill hello πŸ™‚

#

its python by the way

mighty hill
#

@heady pagoda I'm not very good with Python syntax, but generally speaking that's the correct approach. That won't get you everything though, just the default limit of 10.

heady pagoda
#

oh ok

#

how about if i want to achieve the exact same thing but with Stripe CLI?

#

what does that syntax look like

mighty hill
#

@heady pagoda We have some documentation relevant to your question:

Making Connect requests: https://stripe.com/docs/api/connected_accounts

Retrieving Balance Transactions: https://stripe.com/docs/api/balance_transactions/retrieve

Pagination: https://stripe.com/docs/api/pagination

Auto-pagination: https://stripe.com/docs/api/pagination/auto

I strongly recommend reading all of those, especially the first and last ones.

#

@heady pagoda There are Stripe CLI examples available for all of those I believe.

heady pagoda
#

@mighty hill thanks for this

lament raptor
#

Hey everyone πŸ‘‹
I'm looking for some advice on how to handle a specific scenario in my app. Would really appreciate your help. πŸ™

We have a subscription-based app. If a charge fails, we pause users' subscriptions until they pay for that. This means whenever the users update their credit card, we don't only update it on Stripe but also reset their billing date (billing_cycle_anchor: now), so the next charge occurs 30 days later.

This is what's happening with some of our users:

A user has a subscription billed every month on day 12th. The last charge failed 'cause the credit card wasn't valid anymore. So, two days later, on 14th, he updates his credit card and a new charge is attempted by Stripe automatically, which now succeeds. However, there's still one open invoice for those 2 days, but we can't charge the user as his subscription was paused during that period.

What's the best way to ensure the user is not charged for those 2 days?

I'm not sure if disabling proration is the solution for this case, as I'm not sure if proration would void an open invoice in this case.

Any ideas?

Thanks in advance everyone πŸ‘Š

heady pagoda
heady pagoda
#

here the example

#

stripe balance_transactions retrieve txn_1032HU2eZvKYlo2CEPtcnUvl

mighty hill
#

@lament raptor To clarify, when you update the card the changes you make at that point result in a new Invoice in addition to the Invoice created two days before? If that's the case you should void the Invoice from two days ago if you don't want them to pay it.

heady pagoda
#

have i misunderstood the documentation?

mighty hill
lament raptor
#

That's exactly the case @mighty hill . Since we reset the billing date, Stripe creates a fresh new invoice that starts today, but leaves the previous one as open, charging for those two days.

So voiding that invoice is the only way? Set prorations opts on stripe.customers.update() wouldn't void that, right?

#

Manually fetching last invoices and voiding the open ones is the solution I went for, but I wanted to make sure there's no easier way πŸ˜‚

mighty hill
#

@lament raptor To my knowledge nothing you do at the Subscription level will retroactively void an already-created Invoice. Once an Invoice is created and finalized it's an independent entity, and if you want to make changes to it you need to make those changes to that Invoice explicitly. Even canceling a Subscription won't void outstanding Invoices (although doing so will pause automatic collection of them by default).

blazing raft
#

[❓] I added metadata fields to my invoice, but I don't see them in the available fields in the financial report. I can see the metadata on the PaymentIntents I created directly through. So

  1. Are invoice metadata expected to show up in the financial report?
  2. If not, is there a way for making the invoice to pass the metadata onto the paymentIntent?
mental cosmos
#

So I just got off a phone call with stripe support inquiring about itemizing items on the checkout - they said you cannot itemize items - am I understanding that correctly?

the line :
LineItems = new List<SessionLineItemOptinos>
{

#

makes me think otherwise?

mighty hill
#

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

mental cosmos
#

thanks, I'll look into that.

unique escarp
#

Hi team, When I try to pay an invoice through code, Im facing error "cannot charge customer that has no active card" . But at the time of creation of invoice I have set the customer. The same invoice Im able to pay through dashboard. Kindly help

mighty hill
mental cosmos
#

so I should be able to do something like the following?

foreach(item in cart)
{
LineItems.Add( new SessionLineItemOptions{Price=item.Price, Quantity = item.Qty)
}

mighty hill
#

@mental cosmos More or less, yep!

mental cosmos
#

I tried something similar and was getting an error.

#

lemme dig up that error

lament raptor
#

Really appreciate your help @mighty hill! Thanks for the clarifications!

mental cosmos
#

aha, it was something dumb I was doing - I think I fixed the error? thanks for the reference to that API article.

unique escarp
mighty hill
#

@unique escarp Taking a look, hang on...

#

@unique escarp There's no payment information associated with the Customer this Invoice belongs to, so when you call the /pay API on this Invoice there's nothing to pay the Invoice with.

unique escarp
#

Its attached already ,, that customer already did subscription also that time the payment information actually stored

mighty hill
#

@unique escarp Sorry, I should have been clearer. There is a single Payment Method attached to that Customer, but it's not set as the default for Invoices. You didn't specify which Payment Method to use when you called /pay, and there's no default set, so none was found to use. You can use the one that's attached by specifying it when calling /pay: https://stripe.com/docs/api/invoices/pay#pay_invoice-payment_method

Or you can set the Payment Method to be that Customer's default for Invoices: https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method

mental cosmos
#

quicky question - after getting my cart to itemize items, I did a quick checkout using card num 424-... - my webhook received the Session information in the Checkout.Session.Completed event - if I want to gather the itemized items, are those available via an API call, or should I be saving my own cart session id and querying my database for the itemized list? if the latter, where do I store my own ID to be returned back to me via the hook? I need to generate a csv file to send to a fulfillment house.

mighty hill
mental cosmos
#

you make RTFM sound so easy πŸ˜‰ thanks.

#

πŸ˜„

unique escarp
mighty hill
#

@unique escarp I'm not seeing the default payment method on the Invoice... can you give me the request ID of that call?

unique escarp
#

this is the req id req_AahwejDAUadcLY

#

I have set to the object .. may b it requires update

#

let me check

vast anchor
#

My account is locked due to fraudsters trying to get in and change my account info. Is there a telephone number that I can call to speak with someone to get this resolved?

mighty hill
#

@vast anchor There's no phone number you can call. You can contact support here: https://support.stripe.com/contact/email

#

@unique escarp I'm looking for the request ID where you set the default Payment Method on the Invoice.

vast anchor
#

I have sent over 10 emails and they are terribly slow. I need my payouts as this is my income. I will be discontinuing the use of Stripe after this is resolved.

#

I sent an email at 6 am and I just got a reply back and still no help.

unique escarp
#

Updating the invoice was missing .. It worked .. Thank you..

mighty hill
#

@vast anchor Unfortunately that's your only option. We can't do anything to help here as this is a public server and we cannot verify your identity.

unique escarp
#

I have another doubt like, Actually, Im creating invoice for customer where the destination charge is to a connected account. And the default payout is daily. But everytime for the same account, the payout happens after 7 days. I want the payout to happen on the same day to my connected account. Kindly help

mighty hill
unique escarp
#

I have created as US account still I see its taking 7 days

mighty hill
#

@unique escarp The top of that page explains what's going on: https://stripe.com/docs/payouts

When you start processing live payments from your customers with Stripe, you won’t receive your first payout until 7–14 days after receiving your first successful payment. The first payout usually takes a little longer in order to establish the Stripe account.

unique escarp
#

ya I have checked that ... even the subsequent payout taking the same duration..

#

I have created as US account , but working in India

#

is that the reason >?

mighty hill
#

@unique escarp It might be, I honestly don't know. I recommend contacting support for help without payout timing questions: https://support.stripe.com/contact/email

unique escarp
#

Thank you.. Dropped mail to support team.

south ice
#

Hello, I'm having a weird issue with my stripe JS. For some reason, after trying a first time with a problematic card (and getting an error - this is expected) my users are having problems during the second attempt even though they are using a valid card. I investigated a little more on my dashboard and checked what happened on the second attempt and it seems stripe didn't use the second card at all, they retried with the first problematic card. Is there anything I can do about it?

mighty hill
#

@south ice Hello! Hard to tell for sure, but it sounds like an error in the frontend code. Is the page in question online somewhere where I can take a look?

south ice
#

you need to have an account to access that, I can send you an invite tho, do you mind if I send you an invite for that? just need or email @mighty hill

mighty hill
#

@south ice Ah, that won't work as we can't provide private support here and my DMs are disabled. Can you share the frontend code in question?

ebon raptor
bleak breach
ebon raptor
#

I've added functionality to manage payment methods (add, edit and remove), but they won't show up when im requesting to list them.

ebon raptor
#

Though if i add manually through the dashboard they do show, but as card id's

bleak breach
ebon raptor
burnt needle
#

Just to be 100% sure, if I want to make a code that a customer can enter, I first make a coupon, and then create a promo code with the id of the coupon?

#

Also, if that's the case, should I create 1 coupon and then multiple single use promo codes then that all point to the same coupon?

bleak breach
bleak breach
burnt needle
#

Well, I'm planning on giving everyone the same discount, but I want to generate 1 time use codes to send out in an email.

bleak breach
#

If you want to be able to track who redeemed which promo code, then that'd be how you do it

burnt needle
#

Well, the goal is just that each person could only redeem it once.

leaden lynx
#

Hello

bleak breach
#

Hi @leaden lynx!

leaden lynx
#

Question - I have two different websites that both accept payments. Anyone know if it is required I have two separate Stripe accounts (one for each) - possible to merge?

#

If not, I can email support... I can't seem to get my connections into one account however.

bleak breach
#

It's not required, but recommended for your record's sake

stark tide
#

iirc, it is required if they're materially different businesses

burnt needle
#

@leaden lynx You can have 2 stripe accounts with 1 login btw

#

Very easy to switch between them

stark tide
leaden lynx
#

Yes. I just ended up with two (i think by accident) ... I wanted one. Same business - income from two different sources.

#

Two websites

#

Same Tax id... same social (me) ...

ebon raptor
#

I had a mess in my codes Paul, i just wanted to let you know i was being a dumbass. I had old variables from when i was playing around with the cards object, so i used that instead of paymentmethods smh ;-;

Edit: Gonna go cry myself to sleep now

bleak breach
#

@leaden lynx I'd contact support and tell them your business case, they'll be able to advise you better on whether you need two accounts or not: https://support.stripe.com/contact

ebon raptor
#

yah, thanks for helping out. It helped!

leaden lynx
#

@bleak breach thanks. I'll head that way

ebon raptor
#

When retrieving the price for a subscriptionItem, it doesn't return as a decimal or a double. Is there a quick way to get around this?

#

The price for this subscription item is normally $4.99, not $499.

echo pollen
#

are all values in Stripe set at the lowest unit in that currency ? So for USD, its cents?

ebon raptor
echo pollen
#

I haven't done anything in subscriptions, but all the PaymentIntents and Charges I've created are that way

bleak breach
#

Yup it's always in the currency's lowest unit

#

across all of Stripe

ebon raptor
#

ow

#

is there a function within the stripe library to quickly make a conversion?

bleak breach
#

Nope, but in most cases it should just be a simple divide by 100

#

Depends on the currency though

ebon raptor
#

dang

stark tide
#

bear in mind that you should avoid storing prices as floats internally

#

getting bit by floating point rounding for monetary amounts is like a rite of passage

bleak breach
#

Also what @stark tide said, floating point math is never a good idea

ebon raptor
#

LOL i didnt know i could divide by 100. That makes things a bit easier, thanks.

bleak breach
#

Again it depends on the currency, for instance if you are selling something in yen you wouldn't divide at all

heavy forge
#

Hello, after looking for answers online, I still have a few questions/uncertainties I would appreciate some insight on.

Do checkout sessions support "Placing a hold on a card"?
If so, the bank guarantees the funds on the card for up to 7 days correct? And lastly, if the authorized charge is never captured do Stripe fees still apply in this scenario?

bleak breach
# heavy forge Hello, after looking for answers online, I still have a few questions/uncertaint...
  1. Sure do: https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-payment_intent_data-capture_method
  2. Yep, 7 days is the maximum time before the funds are automatically released uncaptured
  3. Fees only apply when funds actually move. In this case there'd be no fee associated with an uncaptured charge
heavy forge
#

Ahh It's right there. Thanks for answering all the questions @bleak breach!

sudden idol
#

Hi All,
Is there a video or article explain the stripe components and the flow of stripe checkout .. ( customer, payment intent, charge .. . ) ?
Of course, stripe form on custom sites ( like the Stripe form of WooCommerce )

golden cosmos
sweet fjord
#

Hi @golden cosmos , when creating subscription schedules (via java library) I have observed that, if schedule (having a single phase) has start date of phase -

  1. Any day before month back from current day it errors with
    You can not create a subscription schedule with phasesthat already ended. You can back-date a subscription schedule by settingstart_dateto be in the past, butphases must end in the future
    For ex: one month back from today (June/8) so any day before June/8 throws error.
  2. Between June/8 and today creates subscription even though I called create schedule API
  3. After today creates schedule.

Is this consistent behavior? Can I make separate calls to subscription and schedule APIs based on above rules?

I don't see this documented anywhere

#

Hi @golden cosmos FYI I had asked a question to @vocal wagonl . can you please check

bleak breach
#

@sweet fjord What exactly are you trying to do? Why are you creating a single phase subscription schedule? Why backdate it by exactly a month?

sweet fjord
#

@bleak breach I need to create subscriptions that starts in the future. So I am using schedules. Are you saying I cannot backdate a subscription?
I was playing around with the dates and observed this behavior

#

@bleak breach I guess there are multiple ways to create subscriptions that start in the future (adding trials). But that creates an invoice. I don't want invoice to be generated until subscription starts. Hence went with schedule with a single phase, which starts subscription at a latter point in time.

bleak breach
#

I think you're overcomplicating this. If you want to have a subscription that doesn't create the first invoice till a certain date, you'd use trial periods.

sweet fjord
#

what is schedules used for then?

bleak breach
#

Schedules is for if you want to automate changes to a subscription over a period of time

#

Your use case is different, you want to create a subscription now but not start charging till a specific date. You'd use trial periods for that.

sweet fjord
#

I don't want to create a subscription now

#

Sorry, maybe I was not clear

#

Subscription should start in a future date

bleak breach
#

There's no way to delay creating a subscription. You can't send a request that says "create this subscription X days in the future". A subscription is always created immediately whether you use subscription schedules or regular subscriptions. You either need to use trial periods to start the subscription now but not charge till a later date, or use something like a cron job on your end to send the creation request on the date you want

sweet fjord
#

But I see that when I create schedule, it does not show subscription in the dashboard, only shows up in the schedules tab

bleak breach
sweet fjord
#

if you check the sample response, the last field in the response is subscription = null

#

You can see that subscription = null

#

Only thing that changed in the request body to produce the two responses is the start date

#

@bleak breach are you sure that subscription cannot be started at a future date using schedules?

bleak breach
#

I'm sure. Like I said before there's no way to delay creating a subscription. You can't send a request that says "create this subscription X days in the future". A subscription is always created immediately whether you use subscription schedules or regular subscriptions. You either need to use trial periods to start the subscription now but not charge till a later date, or use something like a cron job on your end to send the creation request on the date you want

sweet fjord
#

does create a subscription and start a subscription mean different things?

#

@bleak breach can you point me to documentation that states "you cannot create subscription X days in the future"

bleak breach
sweet fjord
#

@bleak breach thank you for clarifying

vocal wagon
#

Hi, i have a question related to stripe-connect and destination charges.

#

how i can automaticelx take the meta over to all follwing transactions? at the moment i could only see the meta in my connect account, but not in the connected accounts.

#

*metadata

bleak breach
#

@vocal wagon Metadata doesn't copy over automatically, you'd have to update the objects in question to have the metadata you want

vocal wagon
#

i have to update any transaction object manually? there are many transactions

#

or it is possible add metadata on destination payment together with the destination account_id ?

bleak breach
#

You can definitely add metadata to a destination PaymentIntent, but that metadata won't automatically copy over to the Transfer

vocal wagon
#

that would be a great feature πŸ™‚

#

at the moment its really hard to allocate the payments, transaction ids change in the balance i cant see the root payment intent and no meta data

#

only soluction i have to call your api with my metadata, get related transactions and update

languid dew
#

Hello, would there be any way I could make Stripe Checkout work in Cypress ? Thanks

sudden idol
bleak breach
bleak breach
# languid dew Hello, would there be any way I could make Stripe Checkout work in Cypress ? Tha...

You probably can, but it's quite difficult and quite brittle. By using Cypress you're guessing where the buttons on the UI will be at any point to automate the flow. Stripe could at any point change the Checkout UI which would cause your tests to break. You should focus on testing your own code and mocking responses from Stripe instead. For instance with Checkout you should mock a checkout.session.completed event and test the code that reacts to that rather than testing Stripe's UI.

vocal wagon
#

thanks @bleak breach i check it

languid dew
bleak breach
#

Yeah I was afraid of something like that. I suspect that you can't use Cypress for Checkout at all. You need some sort of headless browser. However my earlier point still stands, you shouldn't be testing Stripe's Checkout UI as that can change at any time and break your tests

fringe gyro
#

Hi, I have a question about Stripe issuing. Is there some webview or SDK capability for us to show issued card number/cvv directly from Stripe without having to touch that information for ourselves?

neon wind
#

Hi, I tried to use Stripe Connect within a React Native App with the stripe-react-native library. This works fine except for one thing: We use Stripe Connect for a marketplace and tried to split a single PaymentIntent into several charges/transfers for different connected accounts. Althoug the transfer works, I don't know how to set up the application_fee in transfers.
So the result should be: 1 PaymentIntent that includes items of 3 connected accounts each with different application fee settings.
Furthermore the connected accounts should get charged the additional stripe fee.
Is that even possible to achieve?

bleak breach
bleak breach
neon wind
bleak breach
fringe gyro
# bleak breach Yes, but only for virtual cards: https://stripe.com/docs/api/issuing/cards/objec...

As far as I understand, it just means it does not return it by default. But is there any possibility to have Stripe show that data to our user directly. Like with Stripe Checkout you have a page which handles credit card information, so we don't have to touch it ourselves. Is there something like that for Stripe Issuing? A page which shows card number/cvv directly from Stripe without having us to query that information.

bleak breach
fringe gyro
meager hawk
frosty coyote
#

I know this is on your radar but this is a very big problem for me today. Debugging an issue in webhooks and I have to restart the forwarding every few minutes else it just won't receive any events. https://github.com/stripe/stripe-cli/issues/600

GitHub

Issue I have noticed that some webhooks fail to forward to my localhost. It seems that all the failures occur because of a proxy filter within Stripe CLI saying Received event with non-default API ...

meager hawk
#

@frosty coyote yep I'm aware of that issue and I do raise it internally often! nothing else I can say right now unfortunately

languid dew
meager hawk
#

@languid dew sounds like a feature request for , https://support.stripe.com/email , but in practise it's unlikely we'd disable this, Checkout is not in any way designed to be used inside an iframe from a UI or other standpoints. Also other technologies don't always work in iframes, like Apple/Google Pay, and redirects to other services like banks/iDEAL/etc might not support iframes which is why we intentionally designed Checkout to be a full page redirect, and as such it wouldn't really be an accurate test if you it did allow framing in test mdoe

#

as Paul says we just don't really intend for you to so this kind of automated testing of our UIs.

fringe gyro
rigid ridge
#

Hi! After finalising an invoice linked to a subscriptionschedule, I don't get a payment intent... how am I supposed to get it?

#

I did expand by setting expand=["payment_intent"] but all I get is a null payment intent

meager hawk
#

@fringe gyro well you can access it via the API as well, so the idea I believe would be more that if you want the cardholder to self-serve, you call the API from your user dashboard page of your own system and show them that information programmatically

#

@rigid ridge was the Invoice amount $0? There's no PaymentIntent in that case.

rigid ridge
#

Nope, it's 254.3€... but checking on the dashboard it says "applied balance 254.3€" and then total "0"

#

I don't follow what's happening there 😦

meager hawk
#

it means the customer had a debit balance from overpaying a previous invoice for example

rigid ridge
#

Huh... and how does that happen? Because all I've done is issue refunds, not adding credit to an account

meager hawk
#

what's the cus_xxx customer ID?

rigid ridge
#

cus_JkVEidEVjoUsgU

meager hawk
#

mainly it comes from this invoice : https://dashboard.stripe.com/test/invoices/in_1J88OZJ1CItnDVH6TeCQKDvi which was a negative amount(which can happen when due to proration the customer is owed a large credit, like if the subscription is cancelled soon after they paid and proration wasn't disabled; or if they switch from a really expensive plan to an cheaper one early in a billing cycle).

rigid ridge
#

Ohh, alright, that makes sense

#

And how can I explicitly disable proration when cencelling a plan? Do I have to set it when making the call to the API or can I set it as default on the account?

meager hawk
#

it has to be specified on each update or cancel call, it can't be set as a default setting

rigid ridge
#

ok, thanks

meager hawk
#

I know it's tricky unfortunately, so this is why it requires lot of testing of your exact flows in test mode to get a good handle on the integration!

#

but that does basically provide a Stripe dashboard for the cardholder to view their details including PAN of the issued card etc

fringe gyro
#

ok, great, will take a look at that

meager hawk
#

we definitely would like to build something more like you describes as well(more hosted experiences for the cardholder, like you simply generate a link and they get a stripped-down dashboard) but I don't think it exists yet, everything is a work in progress ultimately!

rigid ridge
#

is there any way of checking when a subscription schedule ends? Or should I calculate that on my own based on the phases I pass to the api?

meager hawk
#

@rigid ridge I think the most straightforward way is to inspect the phases yeah. I was going to say look at the end_date of the last phase on the Schedule object , but actually if you use iterations then I'm not 100% sure that works. It depends on if we populate end_date automatically on the API response based on the iterations, I'm not sure

rigid ridge
#

okay, thanks!

fast kayak
#

Hello everyone
I am trying to create a test case of an verification error when creating a company account. With the requirement to upload IRS Letter 147c, IRS SS-4 confimation letter(https://paste.pics/1c090ea12b318bcc560f03b95a303b17).

Point in the right direction, please.

meager hawk
#

you can pass those when creating a Custom account for instance to simulate a verification problem.

grave magnet
#

Hello everyone, I have a problem with the integration of new PI API , I used to run my website on Charges. I'm have a small business renting dresses . If a user rents a dress in the next 72h , the amount of the dress should be charged and deposit should be captured - so that later on it could be charged or not(depends on a state of the dress after return) . I used Setup Intent for this implementation , but I have a problem with authentication. If I use 424242424242 card, The amount of dress is charged and deposit is captured but if I used the card that requires auth - the 3D window prompt, I authenticate, but in my panel , both of the PI's are marked as failed and that they require authentication... I can send snippets of my code if needed , thanks for the help in advantage πŸ™‚

fast kayak
meager hawk
#

@grave magnet hi! are you aware of https://stripe.com/docs/payments/capture-later ? I would use that (run a single PaymentIntent at the start and then optionally capture/refund those funds); instead of doing a SetupIntent -> then doing a PaymentIntent I think. You'd only use a SetupIntent if you intend to save the card now without charging it and then charge it a few days later for instance, which doesn't quite seem like what you're looking for.

grave magnet
#

also, I should mention that if the dress is rented for a later date, I have a cron job that is releasing captured funds, or charging it , depending of the for example : state of the dress, if it has any damages or not

#

Hi @meager hawk , I currently have a live code with a PI on init where the amount is total amount , and later on 2 different pi's , one with amount of dress and the second one for deposit ... The problem is that the first PI is confirmed and that should not happen , now I have double charges

meager hawk
#

if you create 3 separate PaymentIntents that means you intended to charge the customer 3 separate times, so I'm a little confused(you control creating these PaymentIntents).

#

could you maybe share some specific pi_xxx PaymentIntent IDs connected with some specific customer journey so I can try to understand your integration?

grave magnet
#

I have created 3 so I could authorize full payment (dress+deposit)

#

but that one is the one that gets confirmed

#

Of course, I can send you snippets of my current setupIntent code

meager hawk
#

I don't understand why that's three and not two. Sorry, I'm quite lost without looking at your logs a little bit!
If I understand your business what I would do is https://stripe.com/docs/payments/save-during-payment β€” charge a $50 deposit and save the customers card. PaymentIntent 1.
A few days later when the dress is ready, charge the saved card (https://stripe.com/docs/payments/save-during-payment?platform=web#web-create-payment-intent-off-session) for $600 or however much the dress is. PaymentIntent 2.
That's it, no SetupIntents or 3 PaymentIntents.

grave magnet
meager hawk
#

@grave magnet yeah this is a really bad way to do this, you should never try to charge the customer's card immediately twice like that as , like you say, it's a double charge, and thus has a high chance of being declined or disputed.

grave magnet
#

If I use the 4242 card, first one is success , 2nd one is uncaptured

meager hawk
#

it seems expected that you would get incomplete PaymentIntents like that, because your code doesn't handle the case where the off-session payments require authentication.

#

it seems to assume they never do, which is not something you can assume

grave magnet
#

Yeah , my state is usually a requires_action on a 1st PI

meager hawk
#

again see https://stripe.com/docs/payments/save-during-payment?platform=web#web-create-payment-intent-off-session

When a payment attempt fails, the request also fails with a 402 HTTP status code and the status of the PaymentIntent is requires_payment_method. You need to notify your customer to return to your application (e.g., by sending an email or in-app notification) to complete the payment. Check the code of the Error raised by the Stripe API library or check the last_payment_error.decline_code on the PaymentIntent to inspect why the card issuer declined the payment.

If the payment failed due to an authentication_required decline code, use the declined PaymentIntent’s client

north ether
#

Hi Team, Facing this issue while retrieving the charges with limit 100
First error: 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/.

#

There are about 2000 charges but facing this issue. does anyone have idea ?

meager hawk
#

as I said your way of integrating seems quite unusual and you should never really have a flow where you create two PaymentIntents one after another like that

#

I'd suggest taking a step back and reading through the docs a bit and consider what I said at #dev-help message

#

@north ether hi! two questions β€” if you reduce the limit do you get the error still? (you will still get all the charges, just takes more requests to paginate) ; and do you have a request ID req_xx for the error you are seeing?

#

@north ether I saw you the first time so I'm going to delete that message to avoid clutter

north ether
#

How to get request id?

grave magnet
#

Thank you @meager hawk , I'll take a look again and ask later again if I have more questions πŸ™‚

north ether
#

@meager hawk Request Id: req_dRmTsa30XrmTan

meager hawk
#

@north ether thanks! So I think you should do what I hinted at in my first question β€” reduce the limit (or remove it entirely). It doesn't change the results you get since you'll paginate through the response anyway(https://stripe.com/docs/api/pagination) , but the problem is unfortunately if you use the maximum limit (100) and expand some deep nested fields as you do, sometimes the API/database layer times out unfortunately

#

the easiest solution is to just reduce the limit

north ether
#

Let me check by reducing the limit

#

With limit 10 we are getting
First error: Exceeded maximum time allotted for callout (120000 ms)

#

Is server is down?

#

Its working with limit 1

meager hawk
#

the server's not down, looking at our logs a bit I don't see you making a request on that account just now. Maybe that one is a networking issue instead and your request just never reached us?

north ether
#

Let me try

sterile fulcrum
#

I want to send a failed payment email to users. Within that email, the 'Update billing information' link should return a url with the user's email attached as a query parameter. Is there a way to edit the email link (preferably the ui as well) through your platform or do i need to go through the apis? If through the apis, can you point me in the right direction please? Thanks, Tom

meager hawk
#

but you can't have it be dynamic and have the customer's email address as far as I know, no.

#

what I'd suggest instead is set it to a page on your site that authenticates the user in whatever way you normally authenticate them(maybe it checks for cookies or lets them log in to their account).

sand oracle
#

on Mobile. after adding the card number the Card Number slides left but not completely so it overlays on MM/YY filed. is there any solution for that?

meager hawk
#

@sand oracle change the layout to give the Element more horizontal space, or reduce the font size

sand oracle
#

@meager hawk Ok let me try that.

#

thanks for Quick Answer

sterile fulcrum
#

ok thanks for above, makes sense. Is there a way to edit these emails with apis?

meager hawk
#

@sterile fulcrum can you clarify what exactly you want to edit?

sterile fulcrum
#

want to edit the link to include a query parameter

#

the email address of the affected user

meager hawk
#

You can't, as I said that's not supported unfortunately.

sterile fulcrum
#

ok no worries, thank you

void vapor
#

has any one use firebase stripe extension in app before

#

need to clarify few things

quasi flicker
#

hi everyone i have few payment which failed due to 3Ds authentification ( less than 5% )

meager hawk
#

@void vapor hi! I haven't. But if you have a question I can at least try to answer!

quasi flicker
#

pi_1JAqifCnH6d31UhhWkFJhAvW

void vapor
#

so what kind of server do i need to use for payment or just firebase i saw one using js

quasi flicker
void vapor
#

???

quasi flicker
#

maybe there is a case which is not taken in concideration

meager hawk
#

@quasi flicker what's the question? In that case, the customer tried to authenticate and they couldn't(maybe they entered the wrong OTP with their bank or something). It happens, you're not doing anything wrong as the merchant.

quasi flicker
#

the pop up in this case doesn't open

#

3ds pop up

meager hawk
#

@void vapor I don't really follow. You need a backend server yes. You can use Firebase for that or host one yourself on a VPS etc and use whatever backend language you're most comfortable with.

quasi flicker
#

i confirm PaymentCardPayment only if the status is "required_action"

#

maybe add "required_action || required_payment_method"

meager hawk
#

no it's nothing to do with that.

#

if the customer wasn't able to authenticate they should maybe ask their bank what happened, it's not really related to you or Stripe.

quasi flicker
#

there is an error which is display 'it miss 'client_secret''

#

of payement_method but i don't think it's the real problem

fierce sigil
#

We have a subscriptions implementation with 3 fixed price tiers on a monthly interval.

When downgrading a subscription/plan, generating preview with proration displays amount due: 0 does stripe automatically keep them on the current plan until the next cycle or does it immediately downgrade them to the lower priced plan?

meager hawk
#

@fierce sigil hi! the change takes place immediately at the time you make the API request.

fierce sigil
#

Is there an option to delay the change till the next cycle on a downgrade otherwise they would have downgraded but still paid the higher tier price

meager hawk
#

as for why you might see a 0 amount due ,hard to say without looking at the exact example but for example if switching from a very expensive plan to a much cheaper one early in the cycle the proration can be negative so the customer gets a credit and doesn't owe anthing

fierce sigil
#

ah ok I see the 0 is just what is due I was expecting to see a negative figure that signified what would be returned to them

meager hawk
#

otherwise they would have downgraded but still paid the higher tier price
that's what the proration is for, they get a discount back for the time they paid for but didn't use.

fierce sigil
#

is there somehwere on the preview response that shows the discount?

meager hawk
#

well the negative amount should be there, maybe the amount field rather than amount_due

#

yep it's all in the lines array

fierce sigil
#

Ok thanks will take a closer look πŸ™‚

meager hawk
#

there would be an item like "unused time on X" which is the discount they get , and "remaining time on Y" which is the prorated amount for the new plan they changed to

#

otherwise the change just happens at the time you make the API call

fierce sigil
#

this is just automatically refunded back to their default payment method (in our case credit card) without us having to do anything?

meager hawk
#

I think you can refund it to their card by issuing a credit note but by default, it's more of a virtual balance to be offset on future payments if that makes sense

fierce sigil
#

Ah ok, great that clears a lot up for me, thanks for the help πŸ™‚

pure horizon
#

#dev-help Hi! I have a wordpress connected with Stripe but, when I did the initial configuration, I made the mistake of not adding the event "ppayment_intent.succeeded" so the payments come out as "Pending". I have added in the webhook said event, is there a way to force its call so that I update the orders?

meager hawk
#

@pure horizon hi! as in, you want to send previously-generated events to the endpoint? I don't that's possible unfortunately β€” but check if there's a 'Retry' button on the events you're interested in that are linked from https://dashboard.stripe.com/events . I think it won't be there though unless there was a listening endpoint at the time the event was generated though.

pure horizon
#

Ok! Thanks! πŸ™‚

north ether
#

@meager hawk Still facing time limit exceeded issue but its working fine when I put limit 1

#

My connected Account have more than 1500 payments that's why I am facing issue. If connected Account have around 500 payments its working fine even with limit 100.Is there any best workaround to resolve that issue?

sick talon
north ether
#

@sick talon 10 and some time with even 5

sick talon
north ether
#

Request Id is not generated

#

with 100 : requestId ==> req_dRmTsa30XrmTan

sick talon
# north ether Request Id is not generated

If you're not getting a request id in the response, then it's not a timeout on our end as it's not getting to Stripe's servers. Setting the limit to 100 makes sense that it would time out, but those lower numbers sound like a network issue between you and us.

north ether
#

request Id : req_cXimav8WXyC3WT

north ether
sick talon
sage iron
#

Hi there - first post on Discord! I have a Woocommerce store, running the Stripe plugin and connected to my clients Stripe account. We have two types of products on the store - one needs the card payment captured immediately to go through to a therapy chat window, but the other type is a woo subscription for woo membership which we need the payment not to be captured until we can check the application data that is part of the order and then we want to manually authorise the payment. The Stripe plugin only allows all products to either be captured immediately or not. Can anyone help at all?

north ether
sick talon
sage iron
sick talon
sick talon
#

but with WooCommerce you likely need to ask their support team and see how they recommend it (they may just expect you to do it manually via the Dashboard)

sage iron
sick talon
north ether
#

Its failed at time of callout

sick talon
#

I see it in your logs on the Stripe side with limit: 50

frosty coyote
#

Do the test card numbers only work in test mode? Is there any way to test a failure in production / live mode?

sick talon
frosty coyote
sick talon
frosty coyote
#

Well yes but we cannot deploy out test keys to production environments else all our customers would suddenly not work

sick talon
frosty coyote
#

Failed payments on subscriptions

#

but realistically after any production deployment we would want to check basic functionality hasn't gone wrong.

sick talon
frosty coyote
#

Which we can do up until we deploy to production. Beyond that we just have to hope?

sick talon
frosty coyote
#

Well it isn't as we havent tested our production environment, we've tested our stage, test and dev environments

#

and while you would hope they are the same, we are still deploying a brand new pod to the kubernetes cluster

sick talon
#

If your code works in test, it will work in live mode.

frosty coyote
#

I mean if you are a developer you will know that isnt always the case

still patio
#

I am using Stripe terminal for payment in iOS, Now I updated ios verion to 14.6 and stripe terminal is not discovring.
Do anyone have solution for this?

sick talon
#

All of the Stripe folks supporting here are engineers. We understand your concern but we also have put years into our test mode to make sure it works the same as live.

sick talon
frosty coyote
#

Make them the same is all well and good but that doesnt actually accomplish the same scenario

#

ill speak to the business and see but this may be a big problem for us

still patio
#

I am not getting error, Just show a alert that reader is not connected to internet

#

Also I have confimred that ipad and terminal have same wifi network.

sick talon
polar cradle
#

Hi there.

sterile fulcrum
#

If the user's payment fails, when they visit their customer portal, will it prompt them to update their payment method? Also, if a user automatically updates their payment method from their customer portal, will Stripe try to take payment from this payment option?

empty yarrow
#

Hello guys, I have a question regarding Stripe client-side API. As I understand, Stripe recommends the usage of PaymentMethods instead of Sources now. I want to set the default payment method for a customer for usage in future subscriptions, that is fine, I can use invoice_settings.default_payment_method from the server-side to do just this.

The issue is that the client-side API for the customer doesn't give me any indication of what the current payment method is the default one for the customer (but it gives the default source). And also the client-side API for getting all payment methods doesn't tell me which one is the customer default either.

What is the correct way to retrieve this information from the client-side?

still patio
#

Earlier It was working fine, It was connecting to my network before, but it is getting problem after ios version update.

sick talon
sick talon
sick talon
dire quarry
#

Is there a way to stop the subscription being created after a failed payment?

empty yarrow
# sick talon There is no default PaymentMethod for Customers (other than the Subscriptions on...

Thanks for the reply @sick talon , I know that, but the client-side doesn't have access (as far as I know) to an API that retrieves invoice_settings.default_payment_method, and the customer's payment methods list doesn't show me that either.

Note that I'm talking about client-side here, from server-side I can retrieve this information no problem, but what I want to do is to retrieve information about the customer and its payment methods and show the current default one, all on the client-side of the app talking directly to Stripe instead of going through my backend..

If the client-side API returns the default source, why don't it returns the invoice_settings.default_payment_method too?

sick talon
empty yarrow
#

that seems like an oversight from Stripe.. but ok, if that is not an option I will retrieve it from the backend unfortunately. Thanks for the help.

sick talon
sterile fulcrum
sick talon
north ether
sick talon
sick talon
# north ether Yes, Its succeeded ?

From the error you see on your side, I'd guess that your code is taking too long (on your own side) to loop through all the results before it times out.

sterile fulcrum
north ether
dreamy karma
#

Hi Team

sick talon
north ether
#

Ok

modest finch
#

Can I use stripe to have users in my app pay eachother (like venmo)

north ether
#

So there is no way to check count right?

sick talon
sick talon
north ether
#

Ok

modest finch
north ether
#

Thanks for the help @sick talon

sick talon
# sterile fulcrum

Once the subscription is cancelled you would have to create a new one. You can set it to do something else instead of cancel which lets you restart it after successful payments, though.

dreamy karma
#

hope so everyone is fine
I have some question about subscription
I want to subscribe a user but not immediately like Client want to hire freelancer on monthly bases but in future so we are charging a client today but want to start subscription next month so it's possible in subscription API

sick talon
modest finch
#

thanks for your help

sterile fulcrum
sterile fulcrum
# sick talon exactly

Ok thanks. If we have users whose subscription has therefore been cancelled, how do we restart their subscription or just have to force them to start a completely new one?

sick talon
dreamy karma
still patio
sick talon
dreamy karma
# sick talon SubscriptionSchedules will create and manage Subscriptions.

$session = \Stripe\Checkout\Session::create([
'payment_method_types' => ['card'],
'line_items' => [[
'price' => $price->id,
// For metered billing, do not pass quantity
'quantity' => 1,
]],

                    'mode' => 'subscription',
                    "expand" => ["latest_invoice.payment_intent"],
                ]);

currently i am using this method and you are saying i will use this method and both are same ?
\Stripe\SubscriptionSchedule::create([
'customer' => 'cus_GBXVvM3Lyqlb92',
'start_date' => 'now',
'end_behavior' => 'release',
'phases' => [
[
'items' => [
[
'price' => 'price_1GqNdGAJVYItwOKqEHb',
'quantity' => 1,
],
],
'iterations' => 12,
],
],
])

sick talon
sick talon
dreamy karma
sick talon
dreamy karma
ebon raptor
#

How do i select a default payment method?

sick talon
bold basalt
#

@ebon raptor hello, what context is this in ? Subscriptions? one time payments?

dire quarry
#

Sorry @sick talon where do I set payment_behavior im using .net

ebon raptor
bold basalt
#

@ebon raptor you'd pass it under default_payment_method parameter on Subscription creation, to specify which PaymentMethod you want to be the default on that Subscription

#

@ebon raptor oh sorry just saw turbotime's answer, so yeah that

somber sundial
#

hi team! quick question: can I accept ACH payments with Stripe in an iOS app?

bold basalt
#

@somber sundial hello! yes you can, you create an ACH debit token via Plaid (or verify via microdeposits) and then charge it on your backend.

somber sundial
#

@bold basalt huge! thank you!

#

If we're a .net system (which Plaid doesn't accept), what would you recommend @bold basalt ?

bold basalt
#

@somber sundial what do you mean by ".net system that Plaid doesn't accept"?

somber sundial
#

no .net libraries from Plaid 😦

bold basalt
#

@somber sundial you can manually construct the requests to make to Plaid's API

somber sundial
#

cool, thank you so much!

noble wyvern
#

Hello! I want know better practice.
I'm creating an application that user can host their events, and they can sell tickets for events.
Should I create a Stripe Product for each event, or it's okay to create a Checkout Session for each event?

bold basalt
#

@noble wyvern hello, yes you would create a new Product representing an event, then a Price for that event. The Product (aka event) could also have multiple Prices, say a "silver pass", a "gold pass" as two diff Prices.
Then you'd create a CheckoutSession on the Price, for the customer to pay on.

noble wyvern
#

Thanks for reply!
Yes, I've confirmed I can create a CheckoutSession from StripeProduct from API.
Can I ask one more question? What is the benefits of using StripeProduct.
I think I can create CheckoutSession instead of using Product.

bold basalt
#

@noble wyvern Products help you better model your use-case, they're also required for using Stripe Checkout.
To create a CheckoutSession, you need to pass a Price under its line_items and Prices are created off Products.

noble wyvern
#

@bold basalt
Thank you so much, I understand.

dry shale
#

Hi

#

I processed a rfund, the funds were taken from my account and yet the notification tells me that I have insufficient funds

#

can I refund a lesser amount?

bold basalt
#

@dry shale hello, that question would be better answered by Stripe Support at https://support.stripe.com/contact.
For context, this channel can help if you have a coding/technical integration related question with Stripe's API.

dry shale
#

oh ok thanks'

nocturne cobalt
#

hii guys
i am trying to integrate google pay with stripe
but getting error that "This merchant is not enabled for Google Pay"
any help

bold basalt
#

@nocturne cobalt hello! this is on an Android app right?

bold basalt
#

@nocturne cobalt and you're testing with your live mode API keys, with your production app?

dry shale
#

thank you so much

bold basalt
nocturne cobalt
#

my integration is approved

#

should i have to send live app for test with live stripe key ?

bold basalt
#

@nocturne cobalt the steps say to send your app to Google with both the livemode and testmode API keys. So I would go through those steps again and make sure they're all done.

lyric hemlock
#

Hello all, I was wondering if the URL for cancel and success pages needed to be specific or if we could use any url we create for cancel and success pages

bold basalt
#

@lyric hemlock hello, you determine what those urls would be

lyric hemlock
#

Awesome just wanted to make sure.

#

Ty

bold basalt
#

@nocturne cobalt I would say take a step back and make sure each of those steps is done correctly in that checklist, there's a few steps where you have to work with the Play Store support

empty yarrow
#

Hello, how should one handle trial limitations by customers with stripe? For example, Stripe doesn't seem to give any option to limit the number of trials a customer or card/payment method can have, meaning that, as far as I know, if I enable trial for my application, the user can simply get the trial, cancel when the trial is ending and simply resubscribe to a new trial again never effectively paying for the subscription.

nocturne cobalt
#

like i have done with submitting all screenshot and it's approved
what next ?

brazen igloo
#

Hi all, we are using Stripe Connect integrated within our new apps (p2p) for auto payout but have noticed that there are a fair few duplicate successfully connected accounts on the Stripe dashboard. How will this affect the payouts and the token on the app?

bold basalt
#

@nocturne cobalt sorry we're talking in circles, have you seen the steps I linked out to you? Those are not the same as submitting your app to the Play Store.

nocturne cobalt
#

ohh,so where can i send app for test ?

#

any link

bold basalt
#

@empty yarrow hello! that is something you'd have to track on your end. Like you probably want to require a login flow to correlate an email to a Customer ID, and use a cards fingerprint to determine if a Customer is a return customer who already had a trial.

empty yarrow
bold basalt
fading sparrow
#

Have folks attempted to implement (physical goods) payments in mobile apps via Stripe Checkout embedded in the mobile platforms respective WebView implementations instead of using the SDK?

Advisable? Pain in the rear? Seems like it's much easier to integrate Subscriptions via Checkout than the SDK.

bold basalt
#

@brazen igloo hello, can you explain what duplicates you're referring to? Like what is duplicated, a Customer? a payment? not clear to me

#

@fading sparrow hello! Stripe Checkout in a mobile webview works. are you doing this on an iOS app? Android? Both?

brazen igloo
bold basalt
#

@brazen igloo ah ok just to clarify a bit more, a "Customer" object is duplicated? like "cus_123"? and "cus_456" and both have the same cards, bank accts, email, etc?
Or multiple duplicate Connect accounts like "acct_123"

bold basalt
#

@nocturne cobalt all of those steps? like sending over your build to the Google Pay team (not for Play Store) and they checked it against the Google Pay integration checklist and ran test transactions etc and notified you its all good to go?

wary spade
#

My team and I are trying to develop to your standard connect OAuth-like flow. Is there a test account or test credentials we can use or do we need to create our own account with our own data?

mighty hill
#

@wary spade You would create as many test accounts as you need on your end.

#

@wary spade There is no existing shared test account or anything like that.

nocturne cobalt
bold basalt
#

@nocturne cobalt from what I understand, that is a different process, no?

#

@nocturne cobalt like that is the process to upload your screenshots to prep the Play Store app page, right?

#

@nocturne cobalt and these steps are different as these are for requesting production access specifically for Google Pay

nocturne cobalt
bold basalt
#

@nocturne cobalt ah ok .. then I'm not sure, but what I know is that those steps have to be done. So maybe they didn't approve you properly?
I would write to Google Developer support and have them those steps for you, that we linked before

#

@nocturne cobalt that error (from what I know) is basically your production app not being enabled for Google Pay. So not much I can suggest beyond working with Google to get enabled for it correctly

nocturne cobalt
#

there is no option for submitting build

wary spade
#

Ok, just verifying I'm talking about the main processing account. In our case we're accepting payment from multiple different clients and trying to use the Platform / Marketplace account (If I'm understanding the distinction between the Platform / marketplace and Extension integrations).

What your saying is we should create one test Platform / Marketplace and then create a bunch of test accounts when faking authentications?

mighty hill
#

@wary spade Yep.

bold basalt
#

@nocturne cobalt yeah sorry not fully sure as I haven't used this process myself, is there a way to get help from Google developer support via your developer console?
Like https://developers.google.com/pay/api/android/support/how-to-get-help
Basically I would point them to the doc I linked and explain that you need to go through that process to be enabled for Google Pay in production

wary spade
#

Really in the end we're just trying to fetch API keys so we can process our users payments with their account keys automatically and not have to ask them to manually go grab them from their Stripe portal

#

Can you help me make the distinction between market place and extenstion based on that?

mighty hill
#

@wary spade Not sure what you mean by distinction? Can you provide more details?

wary spade
#

Side question: Can we authenticate already existing Stripe users with this standard connect API flow or do we need to ask them to start new accounts?

wary spade
#

I see a choice when creating a new business in the Stripe portal. I'm attempting to create a new test business that would be handling the processing of payments. (I'm assuming this will be my business' real main account when we launch this functionality) I see a choice between platform / marketplace and extension

mighty hill
ionic agate
#

Hi Eveyone, I have added an external account (bank) to a connected account. When i try to create a Payout to this external account it gives me an error no such external account exists. Can anyone help me with this.

wary spade
#

I have not let me look at that now

mighty hill
#

@wary spade If you're processing payments/moving money it's likely you would be a platform.

#

@wary spade In that scenario you would not connect to existing Standard accounts but instead create new ones.

rigid ridge
#

Hi, so I am testing SEPA debits, and I would like to be able to get a test e-mail of the notification sent to the user before being charged... how can I do this in the testing environment? Also, does the user receive the notification e-mail always that a charge is issued or only on future charges in subscriptions?

mighty hill
#

@fading sparrow Hello! @bold basalt had to step away, but I'd be happy to help. What's your question?

wary spade
#

I think I should rephrase that.

We're not actually going to be handling any money in our account. We're just opening up the functionality to our users and our software is going to be triggering the sale/credit/void calls.

#

Now that I'm saying that it sounds like I should be going for an extension?

mighty hill
#

@rigid ridge Hello! We typically don't send emails in test mode. You may be able to trigger an email from the Dashboard to your own email address, but I'm not sure about the SEPA part (I'm not very familiar with SEPA). Let me see what I can find out.

fading sparrow
mighty hill
ionic agate
#

@mighty hill Surprisingly, The log is not being created for this request.

mighty hill
#

@wary spade That does not sound like an extension to me. If your code is triggering money movement (even if it's on another account) you are likely not an extension. An extension would be something that, for example, ingests data from an existing account and produces reports.

#

@fading sparrow Ah, okay, what's your question about doing that?

wary spade
#

Man you guys are busy today. Thank you for this BTW this immediate response stuff is great to work with.

mighty hill
#

@ionic agate There's no request associated with the error? Where are you seeing the error exactly?

fading sparrow
mighty hill
#

@wary spade Happy to help!

#

@fading sparrow It depends on your use case, really. I can't say if it's a good or bad idea without knowing your business/use case/etc. It's certainly possible, and people do it. The biggest limitation would be Apple Pay and Google Pay not working on mobile when embedded in certain types of web views.

ionic agate
#

@mighty hill, I am using node js. I am seeing the error in the terminal as: UnhandledPromiseRejectionWarning: Error: No such external account: 'account_id'

mighty hill
#

@ionic agate Can you share the code that produces that error?

fading sparrow
ionic agate
#

@mighty hill, Here is the code that is producing that error:

      amount: amountInCents,
      currency: "usd",
      destination: external_account_id,
    });
mighty hill
#

@fading sparrow On iOS you would need to open Checkout in Safari or a Safari View Controller. I think on newer versions of iOS WKWebView also works, but you should test to make sure. For Android I'm honestly not sure of the specifics.

#

@ionic agate What is external_account_id set to?

ionic agate
west herald
#

I’m not really sure how this works.. but I need to get ahold of someone to help me verify my checking account to get paid.

#

I entered my information and it’s correct.. but it keeps popping up an error

mighty hill
#

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

west herald
#

There’s nobody to talk to directly on there. There’s no phone number

#

It’s just me sending an email

mighty hill
#

@ionic agate Taking a look, hang on...

#

@west herald But there is no phone number you can call.

west herald
#

Ok thank you

wary spade
#

Question: If we create an account with the .Net AccountService class and redirect the user to Stripe to fill out new account info; and the user abandons that flow. Does that newly created account hang in limbo or does it have a TTL that kills the account after some time?

mighty hill
#

@ionic agate It looks like that account exists on a Custom connected account, but it doesn't look like you're making the request on that account. You need to specify stripeAccount to create the payout on the connected account instead of on your platform. See here: https://stripe.com/docs/api/connected_accounts?lang=node

#

@wary spade I'm not aware of any time limits or expirations on accounts like that.

ionic agate
#

@mighty hill, But there is no such parameter in the create payout API to specify stripeAccount. How can i do that?

mighty hill
#

@ionic agate Did you have a look at the link I shared above?

ionic agate
#

@mighty hill, Yes. I believe i need to pass that in the header. Right?

mighty hill
#

@ionic agate Yeah, but did you look at the code snippet there? It shows that you specify the stripeAccount value in a new object separate from the one where you're specifying your existing parameters.

#

@ionic agate You need to add a second argument to the method you're calling. That second argument is an object containing the stripeAccount property.

wary spade
#

@mighty hill So its possible if a user repeatedly fails at following through and our host account could have many bad unfilled in accounts. I guess the fix to this would be to capture the account ids and kill them if they're not in a good status?

mighty hill
wary spade
#

We weren't considering saving the account ID until we knew it was a success but ti sound like this will need to be done all the time.

#

I'll read that now

ionic agate
#

@mighty hill, Big Thanks. You saved my day. πŸ™‚

rigid ridge
#

When a payment_intent.processing event associated to a sepa_debit payment method is emited, how can I get the mandate reference? and if that payment_intent is associated to a subscription, how can I retrieve it?

#

Because metadata associated with the original subscription is not passed onto the intent, right?

valid escarp
#

Hello, I try to solve a paymentintent when the satus of require_action returns me, I created an input for the user to enter his authentication code but I cannot find the function that I have to call to send the authentication code

mighty hill
#

@rigid ridge To clarify, the Payment Intent in question is associated with a Subscription? Why do you need the mandate?

#

@rigid ridge Metadata on one object is not generally copied to another unless you do that yourself, correct.

wary spade
#

Question: If a user follows though and sets up an account and 'charges_enabled' is true they're good right? But if two months down the line they change their account settings and their account is invalid, will this be reflect in error/exception messages we get attempting to process payments?

Or should we be running checks for 'charges_enabled' before we do any processing?

mighty hill
#

@valid escarp Hello! That process is not handled by your integration, it would typically be handled by Stripe.js. Can you tell me more about what you're trying to do?

rigid ridge
mighty hill
#

@rigid ridge You want to get back to that from just the payment_intent.processing event, right?

rigid ridge
#

yes

#

is there is no way to expand the payment method to get the mandate? because from the docs it seems the payment method object sepa_debit doesn't have any expandable attributes

mighty hill
valid escarp
mighty hill
valid escarp
mighty hill
#

@valid escarp No problem! To clarify, Stripe.js handles the actual authentication process for you (the part where the card holder gets the code from their bank); that's not something you build.

wary spade
#

Are the users API keys returned in the account object returned from the account get?

mighty hill
#

@wary spade During the OAuth flow we generate a secret and publishable key pair unique to your connection to the account, but we strongly recommend against using them. You should use the account's ID with the Stripe-Account header instead: https://stripe.com/docs/connect/authentication

rigid ridge
wary spade
#

Ok, thank you

mighty hill
#

@rigid ridge Payment Intents have an invoice property, and Invoices have a subscription property, so you can get back to the Subscription that way (or determine that no Subscription exists).

wary spade
#

Using .Net the account id should be parked in the 'request options' payment intent, customer, and ect?

rigid ridge
#

okay, so as I am also using schedules, could I expand the invoice by subscription.schedule or would I get an error if the subscription doesn't belong to a schedule?

mighty hill
#

@wary spade I'm honestly not that familiar with .NET, but if you share the code you're trying to write I can usually figure it out. πŸ™‚

rigid ridge
#

yes, I did see that, but what I am wondering is if when expanding by any attribute if it doesn't exist, what does the API do, does it throw an error or just returns a null on such attribute?

mighty hill
#

@rigid ridge It would return null.

rigid ridge
#

Ok, thanks a lot!

wary spade
#

When specifying PaymentMethodOptions we're currently testing with a type = "card" which simulates a credit card nicely, how can we simulate an ACH / E-check?

wary spade
#

The Charge API? Sorry I forgot the exact name, this is the API exposed in the NuGet package for .Net, Where the payment is actually being sent with a payment intent object.

#

I think it's actually the Payment Intents API*

sick talon
wary spade
#

Ok

cursive vessel
#

Hi

wary spade
#

It looks like this avenue is going to bring us to a similar issue we had to find a way around before. We're consuming the Stripe API headlessly and cannot submit any javascript to the user. We're currently using a PaymentMethodCreateOptions object that take a type "card". We'd need something similar like that. I think it was actually you, @sick talon , that was able to point us to that option. You can't think of a similar approach for ACH, can you?

#

We see an AsccDebit, and a BacsDebit object where I would expect to see something able to ship ACH data over to Stripe.

sick talon
wary spade
#

Thank you. Sorry for the redundant question. I'll follow up there.

sick talon
warm ocean
#

Hi all. I want to avoid to do my payment with the Blue card network. I only want to use Visa and Mastercard network. I have no problem to manage it with the payment intent and by checking the network. But, I would like to do the same for the subscription. Is it possible?

crimson needle
#

What is a blue card network? Never heard of it.
But otherwise it depends a bit on your integration and how you create subscriptions and how you collect cad details

warm ocean
#

I don't know how to say that. It's a french translation. Maybe it' better to say that I want only use the Visa and Mastercard network. I can do it for payment. But I would like to do it for subscription created on Stripe

crimson needle
#

The easiest is to use a Radar rule to block cards of a specific brand.
And yeah okay you mean a CB, why would you want to block those cards? They are co-branded Visa/Mastercard and "just work"

ebon raptor
#

Hi. I'm trying to understand the PaymentMethodUpdateOptions (im trying to update a payment method). There's a variable there called order_id that has a value of 6735. What does order_id do? Does 6735 change or can i keep it like that forever?

crimson needle
ebon raptor
unkempt vortex
#

Hi there! I'm looking for an answer to a question I haven't been able to find online regarding future payments with the Payment Request Button. I was wondering if it's possible to instead of creating a payment intent, to setup a payment intent, and associate the payment_method_id of the card returned from Google Pay to that customer record to be charged in the future. Does anyone know if this is possible?

dim hearth
# unkempt vortex Hi there! I'm looking for an answer to a question I haven't been able to find on...

Hello! Yes, you can definitely use the payment request button to save the payment method for future usage. If you don't want to accept any payment upfront, you would use a SetupIntent instead of a Payment Intent at this step (https://stripe.com/docs/stripe-js/elements/payment-request-button?html-or-react=html#html-js-create-payment) and use stripe.confirmCardSetup instead of stripe.confirmCardPayment. If you want to accept payment when the card at the same time, you would still use a PaymentIntent but make sure to set setup_future_usage (see https://stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage) so it can be attached to a customer for future use

unkempt vortex
lusty zealot
#

Hi, is it possible to set up a test user with a default payment method that uses an invalid card or expired card? The CLI won't allow me to attach an invalid card payments_method to a user. I'm trying to test a subscription plan where the default_payment_method is expired or insufficient funds

ebon raptor
dim hearth
ebon raptor
#

I'm trying to update a payment method, essentially modifying it and saving the changes. I have this code, but i keep getting the error message:
Received unknown parameters: cvc, number. This code should work, right?

                    // Update card details
                    var options = new PaymentMethodUpdateOptions
                    {
                        Card = new PaymentMethodCardOptions
                        {
                            Number = txtCardNumber.Text,
                            ExpMonth = Convert.ToInt32(txtExpMonth.Text),
                            ExpYear = Convert.ToInt32(txtExpYear.Text),
                            Cvc = txtCVC.Text
                        },
                    };
                    var service = new PaymentMethodService();
                    var cardCreated = service.Update(Properties.Settings.Default.stripeSelectedCard, options);
lusty zealot
#

Ah thanks, perfect

dim hearth
# ebon raptor I'm trying to update a payment method, essentially modifying it and saving the c...

No, that won't work. You can't update the cvc and number after creation, only the expiration month/year. If you look at our API ref (https://stripe.com/docs/api/payment_methods/update#update_payment_method-card) you can see that expiration month and year are the only two parameters nested under card

ebon raptor
#

aah, so they're basically not ever gonna get modified after creation?

dim hearth
ebon raptor
dense locust
#

Is it possible to add a note on receipts saying "Total includes GST"?

dim hearth
dense locust
#

Yes the receipts sent via email upon successful payments, I just want to include a note saying it is tax inclusive

vocal wagon
#

Man

#

I heard that

#

All the buyers

#

Get refunded

keen badge
#

@vocal wagon yessir

#

w/l

vocal wagon
#

If u get banned

#

If this true

#

@keen badge hey sexy

#

🐡

keen badge
#

W/L

vocal wagon
#

W

keen badge
#

w

#

w

#

i got a question though

#

on stripe do people in the UK

#

have to wait 7 days after their first payment?

#

Or is it like instantly or 1 - 2 days ?

ebon raptor
#

what is this spam lol

dim hearth
keen badge
#

or 1-2 days

vocal wagon
#

Ape.

dim hearth
# keen badge or 1-2 days

I believe the UK has a 7 calendar day payout timing - but it also depends on what industry you're in.

vocal wagon
#

Ur very helpful @dim hearth

#

😁

keen badge
#

Fr .

vocal wagon
#

How much rev do u think u should have to get faster payouts @dim hearth

#

Im new to stripe

limpid valve
#

In my integration with Stripe I plan to have two accounts (US and Mexico); I intend to have the
deliveries of the product in each of the countries associated with the account.

My Doubt is:

It means that in my integration with Stripe, I must make sure that my clients and their bank details are corresponding
to the country associated with the account.

dim hearth
vocal wagon
#

Oh

#

Ok thanks

keen badge
#

Yeah, @vocal wagon I was thinking and I figured It is better for support, you should DM them right away.

#

I was thinking around 100K$ Revenue.

vocal wagon
#

Is there another stripe discord server @dim hearth

#

Where u can get support for any topic

dim hearth
# vocal wagon Is there another stripe discord server <@845165114360856596>

The link I sent you (https://support.stripe.com/contact) has all the ways you can contact them (chat, phone callback, email). If you want to skip straight to an email form you can go to https://support.stripe.com/contact/email

vocal wagon
#

Oh so theres no server

#

Rip

#

Alright thanks man

limpid valve
#

In my integration with Stripe I plan to have two accounts (US and Mexico); I intend to have the
deliveries of the product in each of the countries associated with the account.

My Doubt is:

It means that in my integration with Stripe, I must make sure that my clients and their bank details are corresponding
to the country associated with the account.

dim hearth
limpid valve
#

@dim hearth This week my US account was canceled because a customer from Mexico processed a payment to my US account, should I create a rule in my account to only accept US payments?

dim hearth
limpid valve
#

@dim hearth that's how it is,

this was his answer.

We are very sorry to inform you of this, but as indicated above, although the business data is related to a company in the United States, it is best to have the account in the country from which the purchases of your product are made, in this case Mexico. For which, you should register for an account in that country with a business address in Mexico.

That is why I was commenting if I should validate the rule, I will speak by phone to see if I can reestablish that account since the payment processed was from the development area in Mexico.

#

@dim hearth thanks

dim hearth
icy bramble
#

Hey, how do you speak with stripe support?

dim hearth
# icy bramble Hey, how do you speak with stripe support?

Hello! If you have a developer/integration question you can ask here. If you have a non-technical question or need account support you should go to https://support.stripe.com/contact/email

icy bramble
#

I wanted to know if my account is set up correctly to receive event payments from my humanitix event

dim hearth
icy bramble
#

its connected on their end. I am unsure if i put in bank details with stripe when setting up the account?

ebon raptor
#

I'm getting an error saying Cannot convert type 'string' to 'stripe.PaymentMethod' when trying to update a customer and change their default payment method. How can i set this up properly?

var optionss = new CustomerUpdateOptions
                {
                    InvoiceSettings = new CustomerInvoiceSettings
                    {
                        DefaultPaymentMethod = Properties.Settings.Default.stripeSelectedCard
                    }
                };
                var services = new CustomerService();
                services.Update(Properties.Settings.Default.stripeUserID, optionss);

dim hearth
dim hearth
ebon raptor
dim hearth
ebon raptor
#

ah man, are u kidding me lmao

#

The error went away atleast, well lesson learn i suppose. Thank you.

dim hearth
#

no worries! Happy to help πŸ™‚

shrewd spindle
#

Does anyone know how to change the API ID of a Price? I used to be able to do this (green arrow) and now I don't see a way to change it (red arrow)

bleak breach
quasi comet
#

Hi, I have a question regarding the fixed-price subscription example from https://github.com/stripe-samples/subscription-use-cases. I got everything to work but I noticed that my billing details from https://github.com/stripe-samples/subscription-use-cases/blob/master/fixed-price-subscriptions/client/react/src/Subscribe.js#L53 are not showing up in my Stripe invoices. Is this expected?

GitHub

Create subscriptions with fixed prices or usage based billing. - stripe-samples/subscription-use-cases

bleak breach
# quasi comet Hi, I have a question regarding the fixed-price subscription example from https:...

It is because those billing details are on the PaymentMethod level instead of the Customer level. You'd want to set the Customer's address for it to show up on the invoice: https://stripe.com/docs/api/customers/update#update_customer-address

quasi comet
bleak breach
#

Yup, should be able to

quasi comet
fiery epoch
#

Hello, Is there anyway we can create shipping id programatically?

bleak breach
fiery epoch
#

Sorry, shipping rate πŸ˜„ something like shr_1Ia7XTKi4uKc5BBeDA1234

#

I could not find to create it with SDK

bleak breach
#

I believe it's a dashboard only feature

fiery epoch
#

I see

sacred tinsel
#

Hi! Question for you on the Checkout API and exporting transactions from the Dashboard. Is there a way to get the client_reference_id or any other identifier assigned by the merchant (eg, invoice number) in the transaction export to CSV? There seems to be a description column in the export, but not sure how to write to it from the Checkout session. There doesn't seem to be a description property on the session object. Thanks!

mellow spear
mellow spear
teal phoenix
#

Hello, please i would like someone to explain me what they are calling VERSION and how Can i get it.

hollow elbow
bleak breach
bleak breach
teal phoenix
#

@grim bison Please could you help me to setup the P24 payement Option on my Shopify Store ?

bleak breach
#

@teal phoenix If you're using Shopify then you should reach out to Shopify support directly for help with getting P24 on your store

hidden ridge
#

Hi there. Need some help in integrating proration in my application
https://stripe.com/docs/billing/subscriptions/prorations I undertstand to get the new total after proration I should be looking at "subtotal" in the response
However in my test it seems to be giving a different value
it returns the sum of the current plan + new plan
Am I missing anything?

teal phoenix
bleak breach
# hidden ridge Hi there. Need some help in integrating proration in my application https://stri...

Are you looking at a previously created Invoice after updated prorations? If so prorations won't be retroactively applied, only for new invoices. You can preview what that would look like by using the upcoming invoice API: https://stripe.com/docs/api/invoices/upcoming#upcoming_invoice-subscription_proration_behavior

hollow elbow
#

On the left is my application on the right is the demo site

inland coral
#

hi, sorry and please, help if you know
cant find how I can integrate Stripe with SendGrid or, if cant, how I can send Welcome email to subscribe users ?

hollow elbow
#

I am looking for what is causing this error message

bleak breach
bleak breach
hollow elbow
#

@bleak breach There is nothing in the server error log

bleak breach
bleak breach
hollow elbow
#

@bleak breach I think I have found the issue being a call to the config file and the json is not coming back correctly

#

@bleak breach Something is not right about the config

#

@bleak breach the config file starts with if (PHP_SAPI == 'cli-server') {. It is not configured to return anything

bleak breach
#

Okay, perhaps you should change that?

hollow elbow
#

@bleak breach ok, I will change it so that it gets the publishable key

#

that is the ultimate information that line 578 of the script.js is suppose to return

#

Thanks @bleak breach

lethal mantle
#

Hi guys, Iam just struggling little bit with serving apple-developer-merchantid-domain-association file in react app. What is the best way to do it for local development? I was trying to add this to index.html, but it doesnt seems to work.
<link rel="apple-developer-merchantid-domain-association.txt file" href="%PUBLIC_URL%/.well-known/apple-developer-merchantid-domain-association.txt" />
Thanks!

bleak breach
lethal mantle
#

Great idea, I will try this. Thanks!

regal needle
#

Watched Josh Ackerman appear as guest on Automate All The Things https://www.youtube.com/watch?v=beE5w45N4Vs&t=2795s and he mentioned if we needed help with Payment Links and Api calls to contact Support. The help I need is to send the customer's Airtable record id to Stripe and when the Airtable webhook checkout session completed is received back to Airtable the data includes the customer Airtable recordid along with the pennies product price and customer email address. I've got the latter two functioning correctly, however not sure how to supply Stripe the customer recordid and receive it during the checkout session completed webhook.

In this stream, Josh Ackerman, PM @ Stripe is showing us how to use Stripe payment links. Stripe Payment Links lets you sell a product or subscription by sharing a link to a payment pageβ€”no code required: https://stripe.com/payments/payment-links

Get the base: https://airtable.com/shrJ1nzfaRWVQsRf7

Agenda:

  • Intro with Joshua Ackerman of Strip...
β–Ά Play video
lethal mantle
bleak breach
#

To be super duper safe you could just host the same file on both domains. The file is the same for all Stripe accounts 🀫

bleak breach
# regal needle Watched Josh Ackerman appear as guest on Automate All The Things https://www.you...

So this might not work right now if you're using just Payment Links. If you want extra data to be included with your Checkout Session you'd have to create it yourself and provide metadata: https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-metadata. Payment Links will eventually be supported via the API where you'll be able to add metadata, but for now you'd have to create the Session yourself

lethal mantle
bleak breach
#

Once you have ngrok set up it'll create a domain like <id>.ngrok.io. You then add that URL to your Apple Pay settings in the Stripe dashboard as <id-goes-here>.ngrok.io. Apple will then be able to "see" the file and the Apple Pay button will be able to be rendered

#

You'd test this yourself by making sure that <id>.ngrok.io/.well-known/apple-developer-merchantid-domain-association prompts you to download the file

lethal mantle
#

or is there any way how to run server and client at same port?

bleak breach
#

You could configure your apple pay settings to for instance look at https://c8d33c3b94d.ngrok.io:4242/.well-known/apple-developer-merchantid-domain-association , assuming that port 4242 is where your server is

lethal mantle
grave magnet
#

Hello everyone ! @meager hawk Yesterday , I asked for help regarding my payment and transitioning from Charges to PI APIs . Your advice helped me , now I have a PI (in init) that's charging the dress, on the front part I have confirmCardPayment ,and later on I have a PI for the deposit of the dress , that needs to be captured . So far , so good, but the only problem I have left is that my deposit payment ends up incomplete... so, so far it was failed, so I guess this is a progress haha . I can share my snippets of the code if needed .

meager hawk
#

@grave magnet do you handle 3D Secure on the second payment (what you call the deposit) if it's required? You do still need that part, as I said yesterday, you can't assume the payment doesn't require it, and you need a way to contact the customer to authenticate it.
https://stripe.com/docs/payments/save-during-payment?platform=web#web-create-payment-intent-off-session

You need to notify your customer to return to your application (e.g., by sending an email or in-app notification) to complete the payment. Check the code of the Error raised by the Stripe API library or check the last_payment_error.decline_code on the PaymentIntent to inspect why the card issuer declined the payment.
If the payment failed due to an authentication_required decline code, use the declined PaymentIntent’s client secret and payment method with confirmCardPayment to allow the customer to authenticate the payment

vocal wagon
#

Hey! A quick question πŸ™‚ 
 I am creating a webhook for the connected accounts feature I am coding, should I create the endpoint under β€˜endpoints receiving events from your account’ or β€˜endpoints receiving events from Connect applications’. I’m not sure if the β€˜Connect’ in the second option is a reference to stripe connect πŸ™‚

meager hawk
#

@vocal wagon it does refer to Connect , see https://stripe.com/docs/connect/webhooks#connect-webhooks . As for which section the endpoint you add should be, it depends a little. For example if you use Direct Charges then events like charge.succeeded and such, happen on the connected account so you need a Connect endpoint to listen to events created there if that's the goal.

grave magnet
#

Which is basically impossible, cause after successful or failed payment, coresponding URL's show

meager hawk
#

ok! are you sure you need a second off-session PI then?

#

it depends really!

#

but if you charge the customer's card twice, that 's two separate payments, and any payment attempt can require 3D Secure at any time, regardless of past activity.

grave magnet
#

I've tried capturing but the deposit is much more amount than the dress

#

I can try again to tweak my code

meager hawk
#

then you either : a) authorise a larger amount on the first payment upfront

#

or b) charge the customer again for the excess amount(so the amount of the deposit needed) off-session

#

if you do b) then you need to implement a recovery flow for declines and 3D Secure as I quoted above.

grave magnet
#

The problem with a) case is that after form submit it does a confirmCardPayment and I can't capture the amount anymore ....

meager hawk
#

you can, confirmCardPayment is not related

#

if you did, then all confirmCardPayment does is handle 3D Secure, and authorise(hold) the funds on the customer's card. Then you can capture them later at your leisure.

grave magnet
#

Okay, let me try tweak a code a bit then

dire quarry
#

Hey guys when I am putting a payment through for installments, the invoice is being created but when the payment fails it is still creating a subscription and attempting the payment again for the 2nd installment, any ideas?

#

On the test it creates the customer then shows the payment failed and nothing else is created.

meager hawk
#

@dire quarry hi! not sure I entirely follow, is there a specific guide you're following about creating installments on Stripe? Can you share the sub_xxx subscription ID so I can have a look?

dire quarry
#

Ofcourse the ID is sub_Jlmiyd0n1PXzbE thank you

meager hawk
#

ok, I'm looking but I'm have a really hard time understanding the issue, could you explain it another way or what you expected to see versus what you actually see?

dire quarry
#

For that transaction the card was declined due to insufficient funds but it has still created the subscription for the remaining payments

#

When I use the same code in test mode it creates customer and that's it

meager hawk
#

yep! That's intended when using subscription schedules

#

does your test maybe directly call SubscriptionService.create instead?

#

when you use Schedules it works a bit different, it always creates the Subscription and the first invoice works like a "recurring" one so it goes through the process of trying to recover a failed payment

grave magnet
dire quarry
meager hawk
#

@grave magnet not sure I follow, can you elaborate? It's a partial refund because you charged(authorised) CHF 280 and captured 200, so the remaining 80 is returned to the customer. And your second image looks like a different payment entirely(different amounts)

#

@dire quarry I think the easiest way is to listen for the invoice.payment_failed webhook event and if it's this case of the first payment failing, you can call the AP to cancel the subscription

#

are you sure you want to though? Does it not make sense to let the payment retry a few times and then have the subscription get automatically cancelled?

dire quarry
#

The only issue I seen was that even if I cancel the subscription it says that pending invoices will still be charged unless manually deleted?

meager hawk
#

makes sense! Unfortunately yeah, SubscriptionSchedules are a little weird here, since they process the first payment as a recurring payment and thus are meant to work that way, where the first payment gets retried automatically and follows your settings.

The pending invoices shouldn't get charged : https://stripe.com/docs/api/subscriptions/cancel "By default, upon subscription cancellation, Stripe will stop automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription."

dire quarry
#

Thank you very much for your help Karl, I'll go back and show them the smart retries settings hopefully they understand it better and go with that lol again thanks for the help mate, have a great weekend!

atomic leaf
#

Morning, I was hoping to get some advice on fixing a problem I am having with the @idle cloud/stripe-react-native library

#

I am running in to this issue:

#

But I am not using expo

#

so I was wondering if there was any recommendation for those with the same issue in a bare react native app?

meager hawk
#

@atomic leaf I'm not sure unfortunately, I'd suggest opening an issue on the Github repo with the full context and we can try to help!

atomic leaf
#

ok, thanks

#

I'll continue looking into it for a bit

#

I'll come back if I find anything

grave magnet
meager hawk
#

hmm

#

then I think you want to capture the full 110 in your example(so not a partial capture), and then if you need to later, you can issue a partial refund.
But that's really awkward and it's a poor customer experience because doing a separate refund might take a while to land back in their account.

grave magnet
#

It takes 5 to 10 days which is a terrible customer experience..

meager hawk
#

I'm a little lost unfortunately. Usually what you would do is authorise the 110. That guarantees you those funds, and you can authorise a little more than you need(like say it's $30 with a $80 refundable deposit, so you authorise $110). When you can fulfill the customer's order, you capture as much as you need from it($30) and the customer gets back the rest.

#

yep but releasing an authorisation/held funds is usually much faster which is why you usually do it the way I'm describing above, you capture what you need and rest gets released back to them, you don't capture the full amount and then refund later.

grave magnet
#

So, I want to autorize a total amount (30 - dress + 80-deposit) and I want to take 30 from them, they are paying the dress, so I need to take money, and I need to capture so I could take OR refund later (if fe - order is canceled after I already sent out a dress)

#

So far, I am authorizing everything but it's refundind the dress, I want to charge it

#

Thats why I was creating 2 PI's ...One for the dress and second one for the deposit

meager hawk
#

I see. So sure, you can absolutely do that too(the b) option I mentioned), it works too since it seems like maybe the "one auth, one capture" model doesn't fit here.

#

like all payments attempts you need a recovery flow for if charging the second payment fails(it could be declined for any reason or require 3D Secure) so you e.g. would email the customer to get them to come back and enter a new card or retry the payment.

#

the reason I'm suggesting the "one auth, one capture" model is because it's a little easier, since the capture can never fail or be declined so it's more simple if things can be modelled that way, but it won't work for all business needs of course, which is fine and you'd do two authorisations/charges instead.

grave magnet
#

But I don't have that kind of a flow, I don't have pages, I don't have design for returning urls ... That's a lot of work and money for such a simple business flow.. I don't understand , I can't find examples of a similar code like mine, I mean , hotels work in a similar way also ...

#

I've been strugling with this since the June 30

#

First I had no response from support, than I had to come here and ask for a help from developers, like myself

meager hawk
cosmic galleon
meager hawk
#

to be clear each release of stripe-java makes API requests using a specific, pinned API version(because it's the only way to consistently be able to parse responses with a typed language) and the pinned version can change in major(https://semver.org/) X.y.y releases of the library, for context(not sure what your higher-level question here is about but happy to try to help!)

cosmic galleon
#

I've been using 20.41.0 and getting empty optional in event.getDataObjectDeserializer().getObject(). Somewhere in an example in stripe docs It mentions that this could be because of API version mismatch.

meager hawk
#

yep!

vocal wagon
#

Hello, me again πŸ˜… I have been setting up a test connect endpoint on the dashboard (www.our_company_website.com/connect_webhooks) and have being trying to listen to this in the terminal, forwarding to the above endpoint, however the signing in secret is the original /webhooks one that we already have for something else, and I can’t seem to get it to be the new connect signing in secret, code snippet from the ConnectWebhooksController:
event = Stripe::Webhook.construct_event(
payload, sig_header, Rails.application.credentials.stripe[:connect_webhook_secret] )
routes:
resources :connect_webhooks
get '/connect_webhooks/create'
Any advice on where I might of gone wrong would be great πŸ™‚

meager hawk
#

@cosmic galleon if you use that version it can only deserialise events that use that 2020-08-27 API version(because of the consistency in a typed language thing I referred to). The version that events are sent in is usually your account's default version : (as seen on https://dashboard.stripe.com/test/developers )

#

the easiest fix here usually is to delete your endpoint and create a new one pinned to the latest version when you update to the latest stripe-java release

cosmic galleon
#

Ok I'll try that. Note im also using the CLI to forward webhooks to local machine

meager hawk
#

but to be clear the secret that CLI uses is unique to CLI

#

it won't be the one for the endpoints on the dashboard, it's always the one it prints in the terminal and that's what you'd configure your test endpoint's application code to use

#

so I think that's the confusion there

vocal wagon
cosmic galleon
#

Still getting an empty optional. I was using existing webhook flag ( -a ) but removed that and forwarded with stripe listen --forward-to localhost:8080/api/PSPListener --latest
That still give me the empty optional on Stripe java API version 20.41.0

meager hawk
#

@vocal wagon no worries. Basically when stripe listen forwards the event to your local server, it signs the contents using that secret it prints specifically.

#

@cosmic galleon could you share the evt_xxx event where that's happening?

cosmic galleon
#

evt_1JBHMtBB4DVfNPpt5OR6meak

meager hawk
#

hmm. That feels like it should be working, all looks normal enough . Which I know is not very helpful so let me dig a little bit
for now maybe just try unsafely deserializing it and see if any downstream code complains?

Optional<StripeObject> obj = event.getDataObjectDeserializer().getObject();
if(!obj.isPresent()){
    try {
        // this might fail if the the event is sufficiently different
        // in this API version from the model used in stripe-java for that object.
        // see https://github.com/stripe/stripe-java/wiki/Migration-guide-for-v9#event-deserialization
        session = (Session) event.getDataObjectDeserializer().deserializeUnsafe();
    } catch (EventDataObjectDeserializationException e) {
        logger.error("failed to unsafely deserialise event : " +e.getMessage());
        response.status(400);
        return "";
    }
#

in your case you want to cast to SubscriptionSchedule instead(and I'm assuming you have like SubscriptionSchedule sched = null; just above that snippet, sorry, should be clearer

dreamy karma
#

Hi everyone,
is it possible we can charge commission without on_behalf

meager hawk
#

@dreamy karma hmm, yes, you can always collect a fee in all models of Connect, the docs for the specific funds flow you're integrating will describe how.

cosmic galleon
#

@meager hawk deserializeUnsafe(0 throws a java.lang.NullPointerException
at com.stripe.model.EventDataDeserializer.deserializeStripeObject(EventDataDeserializer.java:55)
at com.stripe.model.EventDataObjectDeserializer.deserializeUnsafe(EventDataObjectDeserializer.java:142)

dreamy karma
# meager hawk <@!861871673069404170> hmm, yes, you can always collect a fee in all models of C...

$session = \Stripe\Checkout\Session::create([
'payment_method_types' => ['card'],
'payment_intent_data'=>[

                            'transfer_group'=>mt_rand(000000000,999999999),
                        ],
                        'application_fee_amount' => 31200,
                        
                        'line_items' => [[
                            'price_data' => [
                                'currency' => 'gbp',
                                'product_data' => [
                                    'name' => $brief->title,
                                ],
                                'unit_amount' => $invite->budget*100,
                            ],
                            
                            'quantity' => 1,
                            'tax_rates' => [$user->tax_id_stripe],
                            
                            ]],
                            'mode' => 'payment',
                            'success_url' => 'http://127.0.0.1:8000/order/success?session_id={CHECKOUT_SESSION_ID}&invite_id='.$value.'&brief_id='.$invite->brief_id.'&pr_id='.$invite->pr_id.'&title='.$brief->title,
                            'cancel_url' => 'https://example.com/cancel',
                        ]);