#dev-help

1 messages · Page 108 of 1

cursive heronBOT
#

@forest estuary pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
Should invoice preview return invalid request error when request contains `subscription_details.items[x].Price` that is an inactive Price but is the current Price on the subscription

Related Request ID(s)
req_C9XVj6QJSE1N4y

What have you already attempted?
We're able to workaround this by omitting `Price` from the request body but it feels like an unnecessary meander. Stripe should know if the `Price` is effectively changing or not based on the subscription (which we also provide in the request). And if the price is effectively not changing but `Price` included in the request, it should not be an error case I think.

What are you working on?
Building a checkout system that must manage subscriptions with existing customer with inactive prices (haven't been moved to a newer price yet) and active prices.

cursive heronBOT
#

@solemn tusk pressed the ❌ An Error button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Error Message
I have bought a $5 subscription. Not letting me create a video

Question
Why is not letting me create a vide I have 80 credits? It says I only need 72 credits

What have you already attempted?
It’s not working whatever I do

cursive heronBOT
#

@tranquil lynx pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
Creating an Issuing virtual card via POST /v1/issuing/cards fails with an error stating my account has no Issuing card program provisioned. My Issuing application is fully complete and I've already created a card manually in the Dashboard — so a card program clearly exists. Why does API card creation get rejected as if none exists, and how do I enable programmatic Issuing card creation? Account: acct_1TXdjlFvjeRfm7nH.

Related Request ID(s)
[req_... — Dashboard > Developers > Logs, the failed POST /v1/issuing/cards request]

What have you already attempted?
Completed the full Issuing application/profile. Successfully created an Issuing card manually in the Dashboard. Confirmed the API request runs against the correct mode's secret key. Read the virtual card docs (docs.stripe.com/issuing/cards/virtual). The API still returns the no-card-program error despite the program working for Dashboard use.

What are you working on?
An internal tool that bulk-creates Stripe Issuing virtual cards and retrieves card details + spend via the API.

cursive heronBOT
#

@latent seal pressed the 👍 Best Practices button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
I want to create custom promo codes linked to a coupon for a large group of my users, I wish that each user to have their own unique promo code. Is there a hard limit to the number of promo codes I can have active at the same time? Is there a better way to make sure that my user can't share the promo code they got to other user / online for anyone to use?

Doc/Guide Links
https://docs.stripe.com/billing/subscriptions/coupons

What are you working on?
I want to run a marketing campaign with promo code that can't be passed online.

cursive heronBOT
#

@swift shard pressed the 📚 Doc or Guide button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Link to the Doc/Guide in question
https://docs.stripe.com/

Question
Does the m2 reader from stripe support VAS protocol for apple? I want to get a UID from an iPhone to recognize it and authenticate users.

What have you already attempted?
.

What are you working on?
We have a POS solution and we want to authenticate users with NFC or phone tapping.

#

@unreal heath pressed the 🪝 Webhooks button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
I am new to stripe, i dont know how to create webhook secret, i cant find anywhere in the developer menus

Related Event ID(s)
Stripe webhook

What have you already attempted?
Stripe webhook

#

@teal brook pressed the 👍 Best Practices button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
We're implementing a retry system where a cron job retries failed PaymentIntents using `paymentIntents.confirm()'. We're trying to make a webhook the authoritative resolver for payment outcomes by listening for `charge.succeeded` or `charge.failed`

However, after calling `paymentIntents.confirm()`, we noticed the returned PaymentIntent can immediately transition into terminal states like:

* `requires_payment_method`
* `requires_action`
* `canceled`

Question:
Are there certain PaymentIntent terminal states where no 'charge.failed' or 'charge.succeeded' outcomes will be emitted? We just want to handle those cases instead of waiting on the webhook.

Doc/Guide Links
https://docs.stripe.com/api/payment_intents/confirm

What are you working on?
A in-house retry system

cursive heronBOT
#

@dusty vapor pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
Our business model is that users purchase a resource in 1-year commitments. We want each commitment to have its own billing date/cycle. We don't want to hammer the user 30 times for 30 commitments. Can we increase the max number of subscription items on a subscription to support this?

Related Request ID(s)
None

What have you already attempted?
We looked at the separate billing cycles of flexible subscriptions. Our users might have more than 20 resource commitments that need to be managed.

What are you working on?
Real estate advertising. Users subscribe to virtual billboards for advertising regions.

cursive heronBOT
cursive heronBOT
#

@slate harness pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
How do I know that a refund issued is fully confirmed to have succeeded?

Related Request ID(s)
N/A

What have you already attempted?
In your docs I see "In live mode, refunds are asynchronous: a refund can appear to succeed and later fail, or can appear as pending at first and later succeed."

That's uh...not super helpful for me. Using status on the refund object doesn't help me. I want to send a refund succeeded or failed notification, and I'd like to not only send the success one when I have certainty.

My LLM seems to be suggesting refund.destination_details.<payment_method>.reference_status == "available", which works in test mode, but can I rely on that in live?

cursive heronBOT
#

⛔️ Stripe developers aren't currently available on Discord

We're not around on weekends, holidays, and (rarely) other times, but we should be back during regular business hours! In the meantime you can contact Stripe support for help.

We will stay closed on Monday due to a bank holiday in the US. We will reopen on Tuesday May 26 around 9am UTC

cursive heronBOT
#

✅ Stripe developers are currently available on Discord!

cursive heronBOT
#

@worthy umbra pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
Hi! I need a little clarification about setting up V2 Connected accounts. Is it possible to connect already existing business account to my platform?

Related Request ID(s)
none

What have you already attempted?
Right now I am using existing stripe managed onboarding page, completing which simply creates a new account. My goal is to know if it is possible to link an existing account.

What are you working on?
V2 Connected Accounts Integration

cursive heronBOT
#

@mint hill pressed the 📚 Doc or Guide button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Link to the Doc/Guide in question
https://docs.stripe.com/connect/saas/quickstart

Question
I was following stripe connect "Build a SaaS platform integration" guide but that guide uses accounts v2 api and now I'm stuck waiting for approval

How long does it take to get accounts v2 access
Is there a accounts v1 version of this guide?

What have you already attempted?
-

cursive heronBOT
cursive heronBOT
#

@slow fossil pressed the 🤨 Unexpected button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

What did you expect to happen?
I am not getting payment intent secret to confirm the 3d payment

What actually happened?
After trying to getting the payment intent by id, i am not getting payment intent client_secret to confirm

Reproduction Steps
Retrieve the payment intent

Question
There is a subscription with the id sub_1TVKnQBjeyHRleljMHVJLVOk can you please tell me if this was created from dashboard or api and from api then what is the application name

cursive heronBOT
#

@marble stag pressed the ❌ An Error button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Error Message
RPC application error INVALID_REQUEST with message Invalid device_type: must be one of bbpos_wisepad3, stripe_m2,
stripe_s700, bbpos_chipper2x, bbpos_wisepos_e, verifone_P400, simulated_wisepos_e, simulated_stripe_s700,
mobile_phone_reader, stripe_s710, simulated_stripe_s710, verifone_v660p, verifone_ux700, verifone_p630, verifone_m425,
simulated_verifone_v660p,

Question
I am working with the new T600 devkit to make an app on the device and am unable to connect to the stripe SDK because of the error above. I believe the device is sending itself as stripe_t600_devkit

What have you already attempted?
This is a setup issue so not much else I could have tried. I followed the example in the stripe apps on device sample app

#

@polar ibex pressed the 👍 Best Practices button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
Questions for you:

Is checking charges_enabled + payouts_enabled + card_payments active + transfers active + empty requirements the right set of conditions for a direct-charge donation platform?
Should we also listen to person.updated or other events for Connect readiness?
Is it okay to treat eventually_due as a readiness blocker, or should we allow connected status even when future requirements exist?
After OAuth callback, is stripe.accounts.retrieve the right next step, or should we wait for the first account.updated webhook instead?

Doc/Guide Links
https://docs.stripe.com/api/accounts/retrieve

What are you working on?
Context: Our platform lets organizations create campaigns and accept one-time and recurring donations. We're building a Stripe Connect integration using direct charges on connected accounts.-

cursive heronBOT
#

@topaz gust pressed the 👍 Best Practices button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
stripe-react-native 0.57.2, useEmbeddedPaymentElement.

Cart total can change after mount (promo, membership, tip). update(IntentConfiguration) updates the PaymentIntent amount, but the hook exposes no way to refresh EmbeddedPaymentElementConfiguration — and applePay.cartItems lives there. Result: Apple Pay sheet shows the cartItems frozen at mount while the intent charges the new amount.

Recommended pattern? Remount via key={total} works but flickers and resets the selected method. We also have a setup_intent path with no amount.

Doc/Guide Links
https://stripe.dev/stripe-react-native/api-reference/interfaces/UseEmbeddedPaymentElementResult.html
https://docs.stripe.com/payments/mobile/embedded
https://stripe.dev/stripe-react-native/api-reference/interfaces/EmbeddedPaymentElementConfiguration.html

What are you working on?
mobile checkout (React Native / Expo). Migrating from the legacy CardElement flow to Embedded Payment Element

cursive heronBOT
#

@solar hollow pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
I have this test invoice that went through a failed payment flow. the payment was declined due to a failed card/bank account.

we're trying to re-charge the user with a successful payment method

we get the error: `This invoice can no longer be paid. Consider voiding, marking as uncollectible, or marking as paid out of band instead.`

Related Request ID(s)
req_DWtHTjVhUsr9lj

What have you already attempted?
set the default payment method on the invoice and retry the invoice using the "Pay" API endpoint.

What are you working on?
feature that retries failed invoices

cursive heronBOT
#

⛔️ Stripe developers aren't currently available on Discord

We're not around on weekends, holidays, and (rarely) other times, but we should be back during regular business hours! In the meantime you can contact Stripe support for help.

cursive heronBOT
#

✅ Stripe developers are currently available on Discord!

#

@coarse spruce pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
I have platform account using connect. I have a multi layer job system that uses the reporting api and the monthly transaction margin report. Recording new transactions and fees to our local db. On april 3rd the margin report stopped attributing the Radar fee to specific charges in the margin report. It used to show 5 cents The column in question is radar_fees_subtotal_amount

Related Request ID(s)
N/A

What have you already attempted?
some minor search for release notes or documentation regarding why this happened... no luck.

What are you working on?
Reconciliation Reporting

cursive heronBOT
#

@still vigil pressed the 👍 Best Practices button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
I would like to speak with someone from technical integration. Currently integrated with Stripe in test mode via the Stripe React Native SDK and Stripe Connect for seller payouts. No live processing yet but would like an x-check before going live

Doc/Guide Links
https://stripe.com/gb/connect?gad_campaignid=20828138554&gad_source=1&gbraid=0AAAAADKNRO7zooLWqknaelfhsaV43areJ&gclid=EAIaIQobChMIgs_3uK-ilAMVvZtQBh0hGzcGEAAYASAAEgLCifD_BwE&utm_adposition=&utm_campaign=EMEA_UK_en_Google_Search_Brand_Connect_EXA_PHR-20828138554&utm_content=683161897187&utm_device=m&utm_matchtype=e&utm_medium=cpc&utm_source=google&utm_term=stripe+connect+fees

What are you working on?
We collect payment from the buyer via Stripe Payment Sheet, hold funds, and release to the seller via Stripe Connect once the buyer confirms delivery. We handle returns and refunds through Stripe as well.

cursive heronBOT
#

@kind reef pressed the 📚 Doc or Guide button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Link to the Doc/Guide in question
https://docs.stripe.com/payments/payment-methods/pmd-registration

Question
Ok, I added the domain where the stripe elements load. I am able to see that the payment methods I turned do not appear. But Apple Pay doesn’t show up for my connected account even after I enabled on the payment configuration and add the domain (I couldn’t find a connect specific payment domain)

What have you already attempted?
So I waited like half hour and I still don’t see Apple Pay

What are you working on?
Stripe connect payment options

cursive heronBOT
#

@blazing spoke pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
I don't see the "calculated_statement_descriptor" field populated of a payment intent.

Related Request ID(s)
py_3TYRRhAeTljDDHLY1uHs53jS

What have you already attempted?
The payment intent is succeeded so I don't see why that field is not populated.

What are you working on?
An app that integrates with the Payment Intent API through the backend server.

cursive heronBOT
#

@tulip tiger pressed the 🤨 Unexpected button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

What did you expect to happen?
We use the react native terminal SDK and we're trying to submit our app to Pax's App Store (paxstore.us/portal) and we are getting auto rejected for using "RSA Crypto without OAEP padding"

What actually happened?
App was auto rejected due to:
This App uses RSA Crypto without
OAEP padding. The purpose of the
padding scheme is to prevent a
number of attacks on RSA that only
work when the encryption is
performed without padding.

Files:
com/visa/vac/tc/emvconverter/Utility.java
com/visa/vac/tc/emvconverter/ODA.java

Reproduction Steps
"@stripe/stripe-terminal-react-native": "0.0.1-beta.30",
Upload to paxstore.us/developer#/platformService
Rejection

Question
Is there a reason this error would be thrown? Or is there work around?

What are you working on?
Grocery POS

cursive heronBOT
#

@late latch pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
Address type validation not being consistent between customers/ and checkout/sessions

Related Request ID(s)
req_JjG79YluGsede2

What have you already attempted?
I'm calling customers/ to set customer details (200). I'm then calling checkout/sessions with Customer={CustomerId} which fails with 400 - "Automatic tax calculation in Checkout requires a valid address on the Customer."
It would seem a better choice to enforce schema validation when the data is first persisted, i.e. reject the address when it's first submitted to customers/. It seems normal that an object persisted without error won't have validation errors in the future while referenced calling other endpoints.
Am I missing some important aspect explaining this behavior?

What are you working on?
Checkout sessions in sandbox

cursive heronBOT
#

⛔️ Stripe developers aren't currently available on Discord

We're not around on weekends, holidays, and (rarely) other times, but we should be back during regular business hours! In the meantime you can contact Stripe support for help.

Discord is closed during APAC hours this week as our team is attending a team onsite. We'll reopen on Wednesday May 26 around 9am UTC

cursive heronBOT
#

✅ Stripe developers are currently available on Discord!

cursive heronBOT
#

@winter shuttle pressed the 📚 Doc or Guide button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Link to the Doc/Guide in question
https://app.crowdera.com

Question
we can connect strip acc from malaysia . If we are creating a malaysian organization

after connecting malaysian stripe account, the donations will directly deposited there or not?

What have you already attempted?
Doc

What are you working on?
Stripe

cursive heronBOT
#

@fiery sky pressed the 🤨 Unexpected button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

What did you expect to happen?
Unexpected intermediate "failed" states in the payment timeline for fully successful 3DS transactions.

What actually happened?
I expected the timeline to show a clean transition to the 3DS challenge, or at least match the behavior of our partner accounts, where these intermediate "3D Secure attempt failed" and "authentication_required" lines are hidden if the payment eventually succeeds.

Reproduction Steps

  1. Initiate a payment that triggers a 3DS2 challenge flow.2. Successfully complete the bank challenge (SMS/push confirmation) as a customer.3. Check the resulting payment timeline in the Stripe Dashboard.

Question
Is this specific timeline breakdown a recent visual update rolling out to certain accounts (A/B testing)? Can we assure our billing team that this is standard protocol behavior (transitioning from a rejected frictionless flow to a successful challenge flow) and 100% safe to ignore as long as the status is succeeded?
Intent example pi_3TbdWTGuSPnuZ91P0ZIOC4Qo

What are you working on?
stripe api integration

cursive heronBOT
#

@trim sierra pressed the 🪝 Webhooks button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
I have enabled payout events after already payout event was send.

Related Event ID(s)
evt_1TbedI9oX2nXlluMnoCfxoPL

What have you already attempted?
Is there any possible way to resend that event again. In the events window there seems no such a option. In the webhook events this event is obviously missing

#

@brave lava pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
Looking to connect stripe to a mobile app my startup is building for in-app purchases + creator payouts. Would like guidance on how to best integrate stripe based on our unique business needs. Our mobile app will be a live shopping app with live auctions.

Related Request ID(s)
N/A

What have you already attempted?
Nothing yet.

What are you working on?
Please see above

cursive heronBOT
#

@sick hazel pressed the 👍 Best Practices button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
I got an interface working with the "tok_visa" Test Token. Then I went to create a token locally using Stripe.TokenService.Create() but it threw an exception about not sending credit card numbers over the internet, so I guess it isn't creating the token locally like I thought it would

Then I was reminded about using the built-in Store payment mechanisms to not get in trouble by bypassing them.

Can you recommend a low pain, cross-platform, way to use Stripe with Android/iOS Store Applications & C#?

Doc/Guide Links
https://docs.stripe.com/payments/accept-a-payment?payment-ui=mobile&platform=android

What are you working on?
I'm struggling to understand the best approach to integrate Stripe into my cross-platform Avalonia/.NET/C# phone application. This is phone app, designed to run on both Android & iOS, that will be distributed via their stores.

cursive heronBOT
#

@pearl cedar pressed the 🪝 Webhooks button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
payment_intent.succeeded returns code 0/Unreachable

This is a private/one-time case.

I can not provide further information, as this is all I am getting from the issue.

Related Event ID(s)
pi_3TbeZvHBGfFoUZ6O0kDCHXul

What have you already attempted?
Retried sending the event again. Stripe had also automatically done that a couple of times.

What are you working on?
Fixing issues, designing and implementing solutions for an eCommerce application

cursive heronBOT
#

@weary marlin pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
I'm using PHP SDK to call Connect via accounts->create and accountLinks->create, passing 'full' for stripe_dashboard.type.

First connection, the connected acct's dashboard lists the relationship but does not allow disconnection (button greyed out with reason I can't remember). I disconnect using platform acct dashboard via 'Remove account'.

Second connection calling accounts->create() to generate new acct_xxx, accountLinks + URL again. This time I can't even see the relationship on the connected acct's dashboard.

Shouldn't the connected accts have disconnect option in their dashboard?

Related Request ID(s)
Connected accounts: acct_1TZEw1DhrgQ2admX, acct_1TbTHmRbdPhuzTOX

What have you already attempted?
I read through all the documentation under https://docs.stripe.com/api/accounts and even tried to get an answer out of the embedded AI chatbot.

I just need to know how to initiate a disconnection and can't find a clear answer. Do I tell our users to disconnect in their dashboard? Is there an API call to disconnect I can make from the platform side? Must our accounting team log in and remove the connection via platform account dashboard?

What are you working on?
Payment system for marketplace

cursive heronBOT
#

@hallow loom pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
Is it possible to use a manual auth/capture flow with subscriptions? I asked this previously and was told no (link to conversation here #dev-help message), but the customer I am working with is suggesting that is wrong.

More info in "

Related Request ID(s)
N/A

What have you already attempted?
"At checkout, we create and finalize a first-month invoice for the customer (one-time charge, not a subscription yet).
We hand the PaymentIntent's client_secret from that invoice to our frontend so Stripe.js can render the payment form.
The customer enters their card and pays the first-month invoice. As part of paying for it, the payment method is stored with the customer.
Later, when the order is fulfilled, we call Stripe::SubscriptionSchedule.create against that saved customer, and Stripe charges the default payment method on the second invoice (and forward) normally."

What are you working on?
I work for a company called Flex (HSA/FSA payments) and a customer wants to do manual auth/capture for their subscriptions with us (we use stripe under the hood)

cursive heronBOT
#

@heavy hearth pressed the 🤨 Unexpected button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

What did you expect to happen?
State sales tax would be applied to BigCommerce Transactions

What actually happened?
No state sales tax is being applied to our registered states

Reproduction Steps
Check out to a Florida address

Question
How can I be sure my account is setup correctly for tax collection on BigCommerce

cursive heronBOT
#

@thin whale pressed the 📚 Doc or Guide button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Link to the Doc/Guide in question
https://docs.stripe.com/stripe-apps/test-app

Question
How to test the stripe apps without publishing?

I follow the steps in the documentation. But I got some error after I installed the stripe app to my another external test account:
{
"error": {
"message": "No such app_listing: tailorapp*AZ4YN3OHYwAAACA0#EhcKFWFjY3RfMVNlS2o5RkhmMWw1YWRoTQ",
"message_code": "missing_resource",
"type": "invalid_request_error"
}
}

Do we need to publish the app first? even for testing?

What have you already attempted?
What I did: Install my app using the External test settings.
Access: Anyone with the link
Test Oauth: I use the Test mode link.

I'm able to see the Oauth works, and see the app installed in my external test account. But after I open the app, I only see blank white page. When I check the console and network tab, I saw the error:
{
"error": {
"message": "No such app_listing: tailorapp*AZ4YN3OHYwAAACA0#EhcKFWFjY3RfMVNlS2o5RkhmMWw1YWRoTQ",
"message_code": "missing_resource",
"type": "invalid_request_error"
}
}

What are you working on?
I'm working on an app that will help people to enrich their product in Stripe apps, and will also review the AI Readiness of their API. So they know what they need to fix.

cursive heronBOT
#

@void nimbus pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
I am trying to enable support for TWINT as a payment method. I believe everything is configured correctly, but using the clientSecret from the created payment intent (event will be linked), TWINT does not show as a payment option. I would like to know how to enable and test this payment method.

Related Request ID(s)
req_SO46lGdCDZhqpF

What have you already attempted?
i tried setting locale of "de-CH" on the javascript payment element. Wondering if it's IP region locked.

What are you working on?
Business management software

#

@blazing spoke pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
Can bank account sources created with a Plaid Stripe Token be used as a Payout Method with Stripe Global Payouts?

Related Request ID(s)
N/A

What have you already attempted?
N/A

What are you working on?
We have an integration with Plaid and Stripe where we had bank accounts from Plaid in Stripe. We're evaluation the possibility of using Stripe Global Payouts for our integration

#

@idle halo pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
How to enable accounts v2 on my stripe account.

Related Request ID(s)
req_v2fhYUHl2owiJc9XH

What have you already attempted?
I requested access through the UI

What are you working on?
I am working on integrating payments to my suppliers, we just need to have them as doing transactions.

cursive heronBOT
#

@fierce goblet pressed the 📚 Doc or Guide button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Link to the Doc/Guide in question
Https://www.hirevgarage.com

Question
I am new to Building websites and I have stripe integrated into my website which is hirevgarage.com And I'm trying to figure out if customers are able to pay out first subscriptions or parts or whatever and if it's actually going through or how do I figure out if everything is working

What have you already attempted?
I have looked through the dashboards on my website and on stripe and I just don't get it I feel dumb even asking but I need to figure out how to make everything work

What are you working on?
Hirevgarage.com It's a platform for do it yourself auto enthusiasts to watch do yourself videos look at manuals and blueprints but also by subscriptions to the underground service and there's a parts

cursive heronBOT
#

⛔️ Stripe developers aren't currently available on Discord

We're not around on weekends, holidays, and (rarely) other times, but we should be back during regular business hours! In the meantime you can contact Stripe support for help.

Discord is closed during APAC hours this week as our team is attending a team onsite. We'll reopen on Thursday May 27 around 9am UTC

cursive heronBOT
#

✅ Stripe developers are currently available on Discord!

cursive heronBOT
#

@bronze kestrel pressed the 👍 Best Practices button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
two related questions about payments with sepa debit payment method.
1) is there a way to specify a payment date even though the payment could be done before? I mean, given even time to process the payment, not pay it before the date I provide
2) how many days before should I trigger the payment if I want to be sure the payment will be processed "in time" for me?

Doc/Guide Links
https://docs.stripe.com/api/payment_intents/create

What are you working on?
payments with sepa debit

cursive heronBOT
#

@limber compass pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
What is the recommended way to manage BUSINESS accounts with multiple customers. Say I have a customer company A with employees B, C and D. I can give each of them different customer accounts in stripe but then
a) I need to manage 3 customers in stripe which is actually just 1 company
b) Each invoice gets its own IBAN when the customer pays via bank transfer. That is totally not feasible for large customers as they want ONE IBAN from us which they transfer to, no matter who makes the order from their team.

How would I set this up using the stripe API? I am really clueless. We tried so much

Related Request ID(s)
n/A

What have you already attempted?
Everything haha

cursive heronBOT
#

@dull tree pressed the ❌ An Error button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Error Message
{
"message": "Sending credit card numbers directly to the Stripe API is generally unsafe. To continue processing use Stripe.js, the Stripe mobile bindings, or Stripe Elements. For more information, see https://dashboard.stripe.com/account/integration/settings. If you are qualified to handle card data directly, see https://support.stripe.com/questions/enabling-acces

Question
{
"message": "Sending credit card numbers directly to the Stripe API is generally unsafe. To continue processing use Stripe.js, the Stripe mobile bindings, or Stripe Elements. For more information, see https://dashboard.stripe.com/account/integration/settings. If you are qualified to handle card data directly, see https://support.stripe.com/questions/enabling-acces

What have you already attempted?
{
"message": "Sending credit card numbers directly to the Stripe API is generally unsafe. To continue processing use Stripe.js, the Stripe mobile bindings, or Stripe Elements. For more information, see https://dashboard.stripe.com/account/integration/settings. If you are qualified to handle card data directly, see https://support.stripe.com/questions/enabling-acces

cursive heronBOT
#

@polar ibex pressed the 🪝 Webhooks button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
Questions:

Should I handle both V1 and V2 events in the same webhook endpoint, or is it recommended to be consistent with only one version?

Is there a way to configure my webhook/Connect application to receive only V1 events for all account-related changes, including administrative actions?

What determines whether Stripe sends V1 vs V2 events? Is it based on the webhook API version, the Connect application settings, or the source of the account change?

Related Event ID(s)
Dashboard > Events

What have you already attempted?
I'm implementing Stripe Connect functionality for our web application and have a question about webhook event versions.

Current Setup:

Using Stripe Connect with connected accounts
Webhook endpoint currently handles V1 events (account.updated)
Works correctly for onboarding flow webhooks
Issue I'm Experiencing: When I perform administrative actions on connected accounts through the Stripe Dashboard (e.g., pausing payouts, rejecting accounts), the Events tab shows V2 events (v2.core.account.updated) instead of the V1 events (account.updated) that my webhook expects.

What are you working on?
A connect to stripe functionality in our web app for stripe connect standard accounts

cursive heronBOT
#

@oak sentinel pressed the 🧑‍💻 Code button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Code
{canMakePayment && paymentRequest && (
<div className="payment-request-button-wrapper">
<PaymentRequestButtonElement
options={{
paymentRequest,
style: {
paymentRequestButton: {
type: "default",

Question
I wanted to add Google Pay and Apple pay as payment options in my code, however, there are lot of restrictions. My friends in India were not able to work because of restrictions, When I added the above piece of code, I don't see any changes or options for apple pay or google pay on my windows laptop, I know there is an apple pay restriction. However, when I checked on my phone, I can see Google pay option but not on my laptop

What have you already attempted?
I tried to manually mount the buttons, it did not work as expected.

What are you working on?
Working on including Google Pay/Apple Pay as payment options on my website

cursive heronBOT
#

@solemn vale pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
A US customer (we use Stripe Connect) can not use SEPA because their MCC is set to "8699 (Membership organization (other))". They already contacted Stripe support, but were told that we as the platform are responsible for changing this. But we never sent anything to set this, it was set by stripe automatically. I can see in the dashboard the value, but can not change it. Would it even make sense to try to update this via API or would it get rejected anyway?

Related Request ID(s)
none yet

What have you already attempted?
checked dashboard UI, read documentation, chatgpt

cursive heronBOT
#

@mellow glade pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
Does Stripe Express have tax solutions for calculating taxes in the state of colorado?

Related Request ID(s)
N/A

What have you already attempted?
Nothing

What are you working on?
Tax system for Colorado

cursive heronBOT
#

@real tusk pressed the 🪝 Webhooks button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
Actually we are building a public loyalty app for stripe merchant and we are confused with webhooks.there are your account webhooks and from connect account webhooks.so which we should subscribe? Can you suggest

Related Event ID(s)
Customer created, payment intent succeeded

What have you already attempted?
I have already tried your account webhooks but I did not get any stripe related info on that webhooks.i have also tried connected accounts if I tried to create customers under our stripe dashboard I did not get any events if I subscribed to connect level.

What are you working on?
We should sync the customers from stripe to our platform

cursive heronBOT
cursive heronBOT
#

@silver ore pressed the ❌ An Error button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Error Message
Incorrect backup code to the stripe.

Question
The stripe support said 'you can regain access without needing the backup code' through an email. this was not an option. the email is gale.aidan@gmail.com. both his ID and phone were stolen so the email is the best way in

What have you already attempted?
attempted the backup code we saved when we set up the stripe but it isn't working. can't do ID or SMS because of stolen phone and wallet.

What are you working on?
it's a fundraiser for a family in Palestine who urgently need to be sent their money

cursive heronBOT
#

✅ Stripe developers are currently available on Discord!

cursive heronBOT
#

@dusky jasper pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
When creating a subscription with billing_cycle_anchor_config: { day_of_month: X }, how can I preview the exact prorated first charge amount before the user
pays? I need to show the correct amount in the UI, currently users see the full monthly price but get charged a prorated amount, which is causing confusion.
invoices.createPreview with a billing_cycle_anchor timestamp doesn't match because it uses exact seconds rather than calendar days. What is the correct
denominator in Stripe's proration formula for this case, or is there a preview API that replicates billing_cycle_anchor_config

Related Request ID(s)
I don't have one

What have you already attempted?

  1. invoices.createPreview with billing_cycle_anchor as a Unix timestamp, drifts throughout the day, doesn't match the actual charge. 2. Client-side formula
    price × daysRemaining / daysInCycle — can't determine the correct denominator, especially for month-end anchor days like the 31st. 3. proration_date param, requires an existing subscription ID so can't be used pre-purchase.

What are you working on?
A membership purchase flow where users subscribe with a billing cycle anchored to a specific day of the month. I need to show the accurate first payment amount in the checkout UI before they confir

#

@errant mauve pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
Setting up Google Wallet push provisioning for Stripe Issuing cards (Android). Does Stripe generate the Opaque Payment Credential and handle the PGP key exchange with Google, or does the issuer need to complete the Pay Console "Exchange keys" PGP step themselves? Trying to confirm whether Google's public encryption key lives on Stripe's side or ours.

Related Request ID(s)
N/A — this is a setup/architecture question, not tied to a specific API request.

What have you already attempted?
Read the Issuing "Use digital wallets" doc (docs.stripe.com/issuing/cards/digital-wallets) and Google's
push-provisioning PGP requirements page. Our Android app + backend are set up for adding Issuing cards to
Google Wallet. The Google Pay Console is showing an "Exchange keys" step asking us to upload a public
verification key and install Google's public encryption key on our server for generating signed/encrypted
OPCs. I'm trying to confirm whether that PGP/OPC step is something Stripe handles (since the SDK wraps
Google's TapAndPay library) or something we must complete ourselves.

What are you working on?
Adding our Stripe Issuing cards to Google Wallet via push provisioning on Android (Stripe push-provisioning SDK + backend ephemeral key endpoint).

#

@gaunt depot pressed the ❌ An Error button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Error Message
[Warning] [Stripe.js] – "Could not create Apple Pay session. Please make sure you have registered this Stripe account. For more information, se…" (controller-with-preconnect-e-17b685f4f2cd78032768a737821346ca.js, line 1)
"Could not create Apple Pay session. Please make sure you have registered this Stripe account. For more information, see https://stripe.com/docs/app

Question
We are currently testing Apple Pay Web using the Express Checkout, but every time we try to proceed by clicking the Apple Pay button, it keeps on spinning then automatically close and it will not reach the point where it will ask for the fingerprint.

We already configured both the top-level domain and the iframe source domain the dashboard payment method domains.

What have you already attempted?

  1. We tried creating multiple new domains (from ngrok, vercel, cloudfront+s3)
  2. Ensured that the top-level new domains and the iframe source are configured in the stripe dashboard

One thing we noticed is that it is working if we test it with an old existing configured domain in our platform account.

Reproduction Steps

  1. Create a new public domain (ngrok, vercel, cloudfront+s3)
  2. Upload a tester file that will mount an iframe to a div. The iframe source will then load the apple pay button using the Stripe's SDK express checkout
  3. Configure the new domain in Stripe dashboard portal
  4. Click the Apple Pay button
  5. Then error

What are you working on?
Building a JS SDK that will automatically mount an iframe that will load the google/apple pay button using stripe js sdk

cursive heronBOT
#

@south cedar pressed the 🪝 Webhooks button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
Hello I am building a nextjs app where users can connect their stripe accounts and the app should receive webhook requests coming from the users accounts, identify which user it belongs to and use it accordingly.
I am confused on how I should architect it. I am pretty sure I get the user's secret key when they authorize the integration but what about the webhook key? should I use mine or should I get the user to somehow input theirs

Related Event ID(s)
not applicable

What have you already attempted?
I've read the webhook docs but they assume its a single app with a single stripe account.

cursive heronBOT
#

@bronze kestrel pressed the 👍 Best Practices button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
we use setup intents to collect a payment method with sepa debit for future payments. my question is if the setup intent is immediately up and running or if for some reason there are cases which requires time. thank you

Doc/Guide Links
https://docs.stripe.com/payments/sepa-debit/set-up-payment?payment-ui=elements

What are you working on?
sepa debit payments

#

@strange minnow pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
i have payment methods created using token/sources (card_xxx, ba_xxx) saved in our system. now going to use setupintent & payment method to create pm.
Question:
1) if I use setupintent for a payment method already saved in our system - is there anyway to determine if pm_xxx & saved card_xxx are the same payment method.
2) does setupintent used for same card/bank creates different payment method?

Related Request ID(s)
-

What have you already attempted?
-

cursive heronBOT
#

@real tusk pressed the 🪝 Webhooks button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
I want know how to subscribe webhooks once so it should work for any merchant who installs the app

Related Event ID(s)
Customer created

What have you already attempted?
I have tried setting up the webhooks from our platform account dashboard but don't know it works for all merchants not?

cursive heronBOT
#

@ember wigeon pressed the 📚 Doc or Guide button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Link to the Doc/Guide in question
https://docs.stripe.com/terminal/payments/connect-reader?terminal-sdk-platform=react-native&reader-type=tap-to-pay

Question
I use https://github.com/stripe/stripe-terminal-react-native/issues this package to implement tap to pay with react native i need some one to check my initializng code?

What have you already attempted?
check github repo
check stipe main doc

cursive heronBOT
#

@mellow bramble pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
I need to understand why I'm getting a 400 error on a /v1/invoices/upcoming request for a possible plan change (for proration). Event: https://dashboard.stripe.com/acct_16N5wcFJDrKkwzVp/workbench/logs?object=req_QSLPFy8lwCljFh

Related Request ID(s)
req_QSLPFy8lwCljFh

What have you already attempted?
I've tried to replicate the isso in local env, no success. I also assume this is specific to this connected account/product/price since we have thounsands of connected accounts and we are only seeing this error for this one.

What are you working on?
Fixing this issoue basically

cursive heronBOT
#

@proven dove pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
I have a 2-phase subscription schedule where Phase 1 is currently active. I need to update Phase 1 (add a quantity to item), charge the customer immediately for the prorated difference, and get back a payment intent so the customer can confirm the payment.

Is there a native Stripe way to update a schedule phase, immediately invoice the proration with discounts correctly applied, and retrieve the payment intent? Or is the recommended approach to bypass the scheduler and use update api directly?

Related Request ID(s)
no related requests

What have you already attempted?
What I've tried:

always_invoice on schedule update — doesn't generate a new invoice, LatestInvoice on the subscription remains the last paid one

Manually creating an invoice after schedule update via InvoiceService.CreateAsync — the proration amounts don't include discounts that are on the subscription items, so the charge is incorrect

What are you working on?
I'm implementing a subscription downgrade flow using Stripe Subscription Schedules, where Phase 1 is the current (higher) plan. During the Phase 1 window, I need to allow purchases for higher plan

cursive heronBOT
#

@thick surge pressed the ❌ An Error button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Error Message
Das Geburtsdatum im Dokument stimmt nicht mit dem Geburtsdatum überein, das von diesem Konto angegeben wurde. Überprüfen Sie das Geburtsdatum im Konto und reichen Sie ein übereinstimmendes Dokument ein.

Question
I already tryed scanning everything like 5 times, and it always give me this error and yea maybe your system doesnt check at the right place, idk.

What have you already attempted?
I already tryed scanning 5 times

Reproduction Steps
Click on veryfiy then veryfy everything then wait, then the status goes back to "you need to veryfy, and yea "

What are you working on?
Just the setup

cursive heronBOT
#

@blazing spoke pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
Is it possible to confirm if a bank account source is attached to another customer?

Related Request ID(s)
req_6eKsnx5Qo39Qoo

What have you already attempted?
I can't find the bank account object anywhere in Stripe.

What are you working on?
Migrating Bank Sources to use PaymentIntent instead of the Charge API. We're creating SetupIntents to attach mandate data

cursive heronBOT
#

@swift thunder pressed the 📡 API button in https://discord.com/channels/841573134531821608/842637025524842496 to ask a question:

Question
I need to get the API secret and publishable to add to my app to get paid for premium version of my app. I am new to this aspect and need add much help as possible

Related Request ID(s)
Hysteria Dnw

What have you already attempted?
I am on the stripe site but I'm confused on what to do

What are you working on?
Mobile app that has premium version

fathom light
#

Hey guys, thanks a lot for the invitation. 🙂

We're a big fan of stripe and always tries to improve our integration with it to make it as stable as possible, we're facing a little issue regarding connecting accounts to our platform. So just to give a little background we have a standard account, where our customers are connected accounts. There is 2 ways this can happen, either that in the onboarding flow they create a new stripe account, which works good because we have access to their data and can listen to the account.updated event, which tells us when an account has been approved to enable payments. But it seems when they connect with an existing account that we don't have that kind of access to their data in the same way. (At least from what I know)

So the goal would be to secure that we always can update an account in our system based on their stripe data such as chargesEnabled, so we know that they can receive payments. Any ideas, or solutions that comes to mind?

hollow prairie
# fathom light Hey guys, thanks a lot for the invitation. 🙂 We're a big fan of stripe and alw...

Hey! Welcome to the Discord. Some valuable Connect feedback here, thanks for sharing!

When you're onboarding an existing Stripe account, it is likely they're already 'verified' with Stripe and as such have account capabilities, such as charges, already enabled.

In these instances you could retrieve their account and check what capabilities (https://stripe.com/docs/api/accounts/object#account_object-capabilities) are enabled. There's also a charges_enabled flag on the account object: https://stripe.com/docs/api/accounts/object#account_object-charges_enabled

fathom light
hollow prairie
meager oasis
#

Anyone know of any decent Point of Sale apps that integrate with woocommerce?

mighty hill
#

Is this the kind of thing you're looking for? https://stripe.com/partners/stripe-terminal-for-woocommerce

With the Stripe Terminal for WooCommerce plugin, your WooCommerce store with Stripe gateway can accept in-person credit card payments on the Verifone P400 card reader. Reduce your overhead by keeping your online and in-person sales in one consolidated database and sync your customer data directly between WordPress and Stripe.

meager oasis
#

Nah

#

Though I did contribute to that plug-in 😛

#

My client needs a point of sale system that syncs with her WooCommerce inventory

meager oasis
#

I think we're just gonna Sync from her current POS system using a script that her POS Developer has

edgy axle
#

Sup y'all! Stripe's product dashboard doesn't allow for variation data, so I was wondering what the best way is to handle product variations with Stripe? Are there any examples out in the wild we can take a look at?

crimson needle
#

@edgy axle today we don't have a good answer for this unfortunately and you'd likely have separate prices and store this as metadata for example? We're working on a beta feature though that would enable this so I'll flag with the relevant team

edgy axle
#

oh man, that would be amazing. This is something people have been asking for a lot

crimson needle
#

yeah we've heard about it a lot too. We built this years ago with SKUs for our old Orders API but we deprecated it and we're rebuilding it differently on top of Product and Prices. There's a Product "variant" and also multi-currency! It's all in the design phase but it's coming

edgy axle
#

Yeah, I am totally aware of all that. I happened to have started building use-shopping-cart in the middle of the Orders API deprecation 😅 I am so happy it's getting redone

tepid gust
#

Hey folks, last roundtable I believe you mentioned something about your APAC expansion. I have a client with a keen interest in launching more native payment methods in south korea (kakaopay and samsung pay, to name but two). Is this something I should talk to someone about? 🙂

crimson needle
#

Kakaopay is not something I've heard about internally at least. For Samsung Pay no short term plan to release this though we have a small private beta I think (haven't played with it much it's not as recent as most betas). For now I think it's unlikely we'd ship both soon at least

fathom light
#

Is there any events that tells you when a new connected accounts signs up/connect to your platform?

hollow prairie
fathom light
#

Yes we're using standard

hollow prairie
#

@fathom light Let me know if account.application.authorized works for you 🙂

fathom light
#

Yes sure, I'll test it out tomorrow and get back to you! 🙂

#

@hollow prairie I just tried quickly cause a meeting was moved, as far as I can see it don't hit that endpoint in any of the scenarios

#

I tried to both connect a new account with new email + trying to connect with old test account

hollow prairie
#

It could well just be account.updated

fathom light
#

Yep it seems like it's the account.updated that it fires through all the steps

#

I'll just check both scenarios again, and see if i get the data i want - thanks again!

meager oasis
#

How customizable are the stripe issued cards, if anybody’s got one

crimson needle
meager oasis
#

Does stripe just not collect under a certain amount? Because My stripe balance has been like -$0.09 for a solid 2 weeks now

mighty hill
#

Will you debit me for every negative balance, or is there a threshold before you make a debit attempt?
Standard Stripe accounts will only be debited if their negative balance is greater than 10 units of their local currency (e.g. 10 USD, 10 GBP, 10 EUR, etc).

Custom and Express connected accounts will be debited for any negative balance, regardless of the amount.

meager oasis
#

Ahh that answers that

fathom light
#

Hey guys, so I'm a bit confused about MIT (https://support.stripe.com/questions/merchant-initiated-transactions-mits-when-to-categorize-a-transaction-as-mit)

Reason is that it don't seem that secure, or at least what I got told last time was that we should just Auth the card on "payment" and save it on customers and then if case comes we could charge the customer at a later point. But the issue is that it seems that a lot of new cards are pretty secure and won't allow a charge at a later point even tho the customer has approved the charge earlier on?

In our case, we serve restaurants and we use it for no-show guests, so if guest don't show up to their booking we charge them. But often the card just declines it. Are there something here I'm missing? It kinda feels like it ruins the idea about the MIT that the new secure cards can do that... 😅

daring lodge
#

@fathom light hey there! Yes, you're absolutely correct that the MIT exemption is not a guarantee, and it's always possible for a customer bank to require authentication for a given payment. If you previously authenticated the card for off-session use, then this should hopefully happen less often but you do need to make sure you handle it in your payment flow.
For this kind of a scenario, you might want to authorize (but not capture) a payment before the reservation which is only captured in the no-show case.

https://stripe.com/docs/payments/capture-later

This way, if the payment required authentication you can collect that from the cardholder well before the reservation time or, for example, tell them the reservation will be cancelled.

fathom light
#

@daring lodge Thanks for the quick reply 🙂 Yep, that's what we do now, so we just create a checkout session with mode = setup, where we set it to capture later, and then save the card details on the customer.

Not sure i follow the last part of your message, in our case the problem would be that the guest don't show up for their booking, and then we try to charge them and if that fail the restaurant would lose the money + guest.

#

Do you have any numbers on how much % of MIT transations that fails?

#

Mainly it's just our customers (The restaurant) that are afraid it will cost them a lot of money, since if it happens the guests would never respond or pay the amount...

daring lodge
#

@fathom light I don't have any data about that, no

#

@fathom light that's why you would do the authorization ahead of time, well before the reservation. if it required authentication or declined you could get the customer to provide different payment details

#

@fathom light for example if you had a $50 no-show fee, you could authorize that $50 24h before the reservation time. If they arrive as expected you can cancel this hold after they pay for their meal. If they do not show up, you can capture the payment.

fathom light
#

Ah I see, so what your suggest is to

  1. On booking, auth the card for payment later (No amount specific, just card details) through the checkout with mode to setup.
  2. 24 hours before booking, authorize $50 through the capture later you linked above.
  3. Cancel or capture the amount based on booking status
daring lodge
#

@fathom light exactly 🙂 -- and if you cannot get the authorization to succeed ahead of time you have time to get other payment information from your customer or inform them their reservation will be cancelled, with time for the restaurant to fill from a wait list eg

fathom light
#

Yea makes a lot of sense, thanks a lot for the help and ideas! ❤️

daring lodge
#

Happy to help 👍

tepid gust
#

hey folks, until the "master beta account" stuff is ready, is it possible to get the dj-stripe account (acct_1IKVu0Ij6g3bgR0q) added to the stripe tax beta? 🙂

meager hawk
#

@tepid gust this(i.e. https://twitter.com/stripe/status/1402959834203377664) is actually going to be released fully later today so if it's ok I'll hold off on adding you to anything, it will be publicly available later! (I'll ping a link to the docs here when they are unveiled)

tepid gust
#

gotcha, I thought it was still in beta just public beta now

meager hawk
#

nope, it will be fully public/released shortly!

crimson needle
#

@meager hawk no it will stay as a beta / invite-only sadly. So everyone will see the docs, no one can use the product without requesting access

tiny sierra
#

Hey @tepid gust - Sorry about that, I thought you were already gated in! I'll talk with the Tax team and should have an answer for you by next week since many of them are based in Ireland.

tepid gust
#

Thanks!

summer yarrow
#

Hi,I have a small question about fee calculation. Suppose I have European cards, the fees are calculated following 1.4% + 0.25. My question is if the resulting commission is 0.456, does it get to 0.46 and if I have 0.455 does it get to 0.45 ? Is it a round to the second decimal or a ceil ? Thank you for your answer

meager hawk
#

@summer yarrow hi! Not sure we really specify this directly but you can test it in test mode. For example 26.554 (on a payment of 101c) is rounded to 27c so perhaps that answers the question.

glacial schooner
#

Hi there, I have a question about the payment methods API, if I call POST /v1/payment_methods and do not create a PaymentIntent or a SetupIntent (customer is not attached to the payment method as well) afterward, is there any possibility that the payment method gets deleted (or disappear/expire)? I have some cases where I cannot find the payment method on Stripe dashboard by searching them. I contacted Stripe support via email (support@stripe.com) but the reply was not really helpful. Appreciate any help!

meager hawk
#

but in general there's really no reason to integrate that way. Another issue is that while the object won't expire, the CVC will — the CVC the customer entered is only allowed to be stored for a short period of time, so you always should use the PaymentMethod for something soon so we can send it to the bank to check.

#

but yeah you're not really supposed to be able to just look up pm_xxx IDs that weren't involved in a payment/attached to a customer so I'm not surprised you don't find them in the dashboard. Curious about the use case!

glacial schooner
#

didn't know about the CVC @meager hawk , thanks a lot for taking the time to explain it. we're revisiting our integration but the use case is that sometimes some sales consultants go directly to Stripe dashboard and try to charge a customer from there using a payment method previously registered, but in these cases that I mentioned where the customer was not attached or the method was never charged, they cannot find them. we might go with the setup intent creation and later on charge the customer properly via payment intent, once the setup intent exists will I also have issues with CVC expiration?

meager hawk
#

ah, well if you're only creating a PaymentMethod and not attaching it to a Customer object, there's no way to find/charge that independently on the dashboard so that's not really going to be possible.

#

And there's no issue with CVCs or such if you use SetupIntents or any of the standard integrations (https://stripe.com/docs/payments/save-and-reuse) (i.e here a PaymentMethod is created and immediately used with a SetupIntent, which will be able to run checks with the CVC). But yeah just creating a PaymentMethod token and not doing anything with it(like a Payment/Setup Intent or attaching to a Customer) is not really a recommended approach.

stark tide
# summer yarrow Hi,I have a small question about fee calculation. Suppose I have European cards,...

fees are rounded to the nearest minor unit for that currency (eg: cent) - there's some more detail about this here https://support.stripe.com/questions/rounding-rules-for-stripe-fees

stark tide
#

np!

safe fiber
#

this place is fancy and new!

mighty hill
#

Yes! Welcome! 🙂

short shuttle
#

I'm trying to figure how to capture charges differently in WooCommerce, currently we have Stripe set to not capture charge immediately as the store owner needs to check stock, once stock is verified they change the status to processing, which then captures the charge. They now want to sell virtual/downloadable products and need the charge for those particular products to be captured immediately so the customer can then download their product. Any ideas on how to do this? Thanks

crimson needle
#

👋 @safe fiber

safe fiber
#

i was wondering is stripe supports american express issued cards, aka a bank with no issuing bank?

#

@crimson needle 👋

#

oh man... pretty excited about more emojis... lol

mighty hill
safe fiber
#

i ask about amex because even stripe support told me that the customer needs to contact their bank... but there is no bank... and they contacted amex, and amex said they saw no errors so now no one knows where to go 😦

mighty hill
short shuttle
mighty hill
safe fiber
mighty hill
short shuttle
mighty hill
short shuttle
mighty hill
safe fiber
#

there is no fraud detection in stripe's side? we have had that a few times and i recall that was hard to find in the stripe dashboard

mighty hill
mighty hill
safe fiber
#

thanks 👋

meager oasis
#

Actually give me a second to check on my test server

#

Yeah that’s right

edgy axle
#

hey y'all, hope all is well

#

I'm trying to get typescript support worked into use-shopping-cart but idk wtf I'm doing lol

#

I have rollup adding the typedefs into a dist folder, but TS projects can't seem to find the library

#

idk much about TS but was wondering if anyone might be down to take a quick glance at the set up

#

(brb)

bleak breach
#

@edgy axle What does your tsconfig.json file look like?

#

actually since you're using rollup your rollup.config.js is probably more relevant

edgy axle
#

rollup is only copying the ts file

drifting oriole
#

Paul, dayhaysoos -- carry on 🙂 Interjecting a (hopefully quick) one:

We want to grab all the payment_methods in our Stripe account.

Understand that to do that, we could walk through all customers and then make a request to GET /payment_methods?customer_id=cust_123. But we also see that we can expand payment_intents. Can we just walk /payment_intents instead to grab each payment_method? Or might there be payment_methods that do not have an associated payment_intent?

bleak breach
crimson needle
#

@drifting oriole if you go through PaymentIntents you'd only find payment methods that were charged. If you go through customers and then payment methods, you'd only find the one that are attached (and not one-time use)
It really depends what you are trying to answer

drifting oriole
#

Got it, thanks @crimson needle 🙏

short shuttle
# meager oasis WooCommerce doesn’t offer this feature natively, however, there are plugins that...

Thanks, this doesn't work, as stripe overrides the status. So if you have unchecked the option to capture the charge immediately then stripe changes the status to on-hold and there's no option in the UI to select capture charge immediatley for virtual products. I've tried auto complete virtual products. and status control manager and a few other plugins, but none of these are able to override the stripe process

meager oasis
#

It's a weird gray area since the plugin was developed by Automattic

bleak breach
#

@edgy axle Shouldn't your input be index.ts instead of index.js?

edgy axle
#

oh oops I think I linked you the wrong branch

bleak breach
#

yeah I think so, you're not using the TS rollup plugin in that branch

edgy axle
#

sorry about that

#

I couldn't get the TS rollup plugin to work 😦

#

so I'm using copy instead

#

am n00b

bleak breach
#

If it were me I'd try to get the plugin to work, it might also be doing some stuff under the hood that copy doesn't get you

edgy axle
#

Alright, I'll make another attempt with it. I really hope to get through this, once TS is supported I can go for the next release

edgy axle
#

so one issue is that I don't have a main input as a typescript file, I just want to make typedefs only

bleak breach
# edgy axle so one issue is that I don't have a main input as a typescript file, I just want...

You might need to make some changes to package.json and tsconfig.json, did you see this? https://stackoverflow.com/questions/41329876/generate-typescript-definition-files-using-rollup

edgy axle
#

Probably, I've been trying to do this for weeks T_T

bleak breach
#

Okay let's break it down, so use-shopping-cart doesn't use TS in its source right? You just want the TS definitions to be included for others to use

edgy axle
#

This example still have the TS file as an import

#

Right

#

the reason why I used the copy plugin instead is because of this, I made the typedefs and just want them in the dist folder, which is accomplishes

#

I tried setting up USC in a TypeScript project and it was saying that it couldn't find the module definition for use-shopping-cart

bleak breach
#

Ah okay so maybe you don't need the rollup plugin, cause that essentially does the tsc compile step for you

edgy axle
#

Yeah, I was gonna try anyway again but I don't have the set up for it

bleak breach
#

Does your current dist folder have an index.d.ts or is it in a subfolder?

edgy axle
bleak breach
#

I'd stick the TS specific stuff in a types subfolder

edgy axle
#

yeah, I need several ts files for the different implementations

#

oohh good idea

bleak breach
edgy axle
bleak breach
#

That's already much cleaner

edgy axle
#

👔

#

yeah so I already had that types value, hoping it works this time tho

bleak breach
edgy axle
#

yyeaeaahh so about that. I'm treating the react.d.ts as the index, the index has no react specific types, but the react.d.ts will have both react types defs and non-react type defs

#

I'm wondering if I should make an index.ts that has literally everything

bleak breach
#

I would do exactly that, have index.d.ts with everything, and the react bits are just ignored if you don't need them

edgy axle
#

okay, copy/pasta time

topaz storm
#

Hi there,
I'm trying to implement Stripe Express accounts for both companies and individual sellers on my webapp.
But I get an issue with individual account: Stripe onboardinng step #3 always asks for company information!

edgy axle
#

I thought custom was the only one that wouldn't ask for company info?

topaz storm
#

However, the URL of this page includes

topaz storm
edgy axle
#

@bleak breach I guess, if I had another module for serverless functions, I should copy/paste that content into index.d.ts as well?

bleak breach
#

@topaz storm You're using OAuth instead of AccountLinks right?

#

@edgy axle I think it would make sense to have a single TS file for all your plugin configurations

topaz storm
bleak breach
# topaz storm I do think so. I'm developing my app with Bubble, and I'm using a plugin (from Z...

Got it, the canonical way is to use Account Links (https://stripe.com/docs/connect/express-accounts#how-to-use-connect-onboarding-for-express-accounts) but using OAuth should still work. Let me do a little snooping and I'll get back to you

bleak breach
crimson needle
#

@tame nacelle 👋 You want to ask your questions here and not in private messages

tame nacelle
#

thank you.

#

I have a small question, and I would be very grateful if you could answer this question.
Do I have to use the "checkout.session.completed" webhook?

Can I process the subsequent process after checking the duplicate processing using "Session.retrieve" after switching the page to payment completion?

bleak breach
#

@tame nacelleyou can, but it's brittle and not reliable. If your user closes the tab/window before Stripe can redirect them to your success URL, you'd never know the payment completed

#

webhooks mean that you never miss a payment

tame nacelle
#

thank you.
It was helpful.

bleak breach
#

np!

wicked heron
#

hello! hope you're all doing well. I had a quick question regarding placing holds on CCs - is there any workaround for the 7-day limit? for our use case, we need to collect security deposits from customers for up to 30+ days. we currently solve this by placing new holds every 7 days, once the previous funds are released (making for a pretty awful customer experience esp. because most banks don't release the funds instantly so the holds "overlap"). would really appreciate any thoughts on this! 🙂

#

we use the Charges api btw ^

bleak breach
# wicked heron hello! hope you're all doing well. I had a quick question regarding placing hold...

There's no workaround for now, but we're working on it. You can email support and we'll keep you in the loop when we have something to share: https://support.stripe.com/contact

wicked heron
#

gotcha. would you say at the moment the best practice would be to continue doing what we're doing, or to simply charge customers outright and refund when we need to (increasing prices marginally to account for stripe fees)? am wondering if anyone else has had this requirement before...

bleak breach
#

I'd look into using a SetupIntent to collect payment details and charge the user later. If you refund then you eat the Stripe fee costs every time

wicked heron
#

hmm ok, I've heard that one before as well, but in that case the funds are not guaranteed right?

meager oasis
#

I was told that that limit is imposed by EMVCo.?

bleak breach
bleak breach
wicked heron
#

ok gotcha. thanks for all the info! will definitely email to be the first to hear any updates. you have no idea how much we'd love that functionality 🙂

uncut hazel
#

Hey! Need help with onboarding my connected accounts.
I was looking into destination charges, since they fit best in my platform.
https://stripe.com/docs/connect/destination-charges#flow-of-funds-amount
So I create Express accounts for my users and transfer part of the charge amount to them.
My question is - is there a way to enable the connected express accounts receive transfers from my account BEFORE they go through onboarding?
I'm OK if they won't be able to payout funds until they provide their debit card via onboarding. But I would like them to be able to accumulate funds on connected account balance right after the sign-up (express acc created succesfully)

bleak breach
#

Hey @uncut hazel, I believe that there is a minimum amount of onboarding that is required to activate the transfer capability, but let me just test that real quick

#

Just tested, you need to have the transfers capability enabled, which requires onboarding. If you try to make a transfer to a freshly, non-onboarded express account it'll error

uncut hazel
#

@bleak breach Thanks!
Still - can I provide the info required from users (to enable transfers cap) through API instead of having them interact with onboarding?

bleak breach
#

@uncut hazel you can probably get around this by collecting the information yourself and providing that when creating the express account. Here's the list of requirements you need to enable transfers:

'business_profile.url',
'business_type',
'external_account',
'tos_acceptance.date',
'tos_acceptance.ip'
uncut hazel
#

great, thanks a lot! Will give it a try and come back 😉

rigid pike
#

hello is it possible to have help in french?

bleak breach
#

Hi @rigid pike, this is an English language server. If you need help in French you should contact support directly at https://support.stripe.com/contact

exotic spoke
#

Hello! I just got an error in my integration when I tried to update the default payment method of a subscription. The error message says "No such subscription: 'sub_Ip7NL5EcYolIKH'", but that subscription does exist. Can you guy help me understand why I got this error? The log id of this error is logs/req_bMzUhr1Kn6PxJ0

bleak breach
#

Hi @exotic spoke, "No such..." errors are usually caused by either a mismatch in API keys (e.g. using a mixture of your test plus live keys) or by trying to access objects that exist on a different account (e.g. trying to perform an operation from your platform account on an object that was created on a connected account)

#

Although in this case it appears that that subscription was cancelled previously, hence why you can't update it

#

and was actually canceled on the 25th

exotic spoke
#

hhhm it makes sense now xD

#

So we can NOT update subscriptions that are canceled?

bleak breach
#

Correct, you can only update metadata on canceled subscriptions I believe

exotic spoke
#

oh all right
and do you know where I can find more information on what kind of subscriptions can or cannot be updated? I mean updating field "default_payment_method"

bleak breach
exotic spoke
#

Thank you very much for the information!

bleak breach
hollow prairie
#

Hello!

edgy axle
#

omg @bleak breach the type defs work now. I think I made a really silly mistake which got me there to begin with

#

I had a different path for the types value in my package.json T_T

#

hi @hollow prairie nice to see you

last oracle
#

Hi everyone 🙂 I have an design consideration/problem that I would like to see if anybody here has some insights into...

In our web application we have several different connected accounts, previously incoming payments were sent directly to the connected account, but to facilitate orders with several services from different accounts
we now collect all payments in our main account and then transfer the correct sum to the connected account. Now we have a problem issuing refunds - as if the connected account has insufficent funds we can't issue a reverse transfer before the refund from our account.

Has anybody found themself in a similar situation and how did you solve it? Im thinking both about technical considerations and how this effects our connected accounts (our customers). 🙏

meager hawk
#

@last oracle hi! if you're using Separate Charges and Transfers like that, then yes, your platform is liable for refunds. As you say, you can usually reverse a transfer to help add to your platform funds to cover a refund. If the connected account doesn't have sufficient available funds any more(like they're already paid out) though it should still work and we'd put a reserve on your platform to cover the negative amount(https://stripe.com/docs/connect/account-balances#understanding-connected-reserve-balances)

Do you have a request ID req_xxx for a failed attempt to reverse a transfer so I can take a look at things?

frozen sphinx
meager hawk
#

@frozen sphinx hello there — do you mean, how do you call something like confirmCardPayment when you have those split Elements?

#

you can just pass any of them into the parameter, so e.g.

stripe.confirmCardPayment(clientSecret, {
    payment_method: {
      card: cardNumberElement, // will pull expiry/CVC as well from any other Elements on the page
    }
  });
coral torrent
#

Hi all, I'm at my wit's end right now. The stripe CLI was working fine yesterday. Today it isn't doing anything. As in: it is not doing anything when typing any command

daring lodge
#

mornin' folks

#

@coral torrent hey there

#

@coral torrent since it looks like you're on windows, do you have stripe aliased to the stripe.exe executable somehow, or might you have been using a different command line/prompt yesterday?

coral torrent
#

Yes I'm on windows @daring lodge , I have checked my environment vars but I'm not 100% sure if it's set up correctly.
Stripe is installed through scoop. However today I followed these instructions to make sure it's not a path thing

#

I then tried the same commands in powershell

last oracle
daring lodge
#

@coral torrent and what if you run stripe.exe from the command prompt (not power shell)? i'm not super familiar with how PS/scoop manage dependencies and the path for you, so really not sure what's needed for that

coral torrent
daring lodge
#

@coral torrent Progress!

coral torrent
daring lodge
#

@coral torrent are you using scoop for the first time recently?

meager hawk
#

@last oracle hmm, well the destination account here is a Standard account, and as the link above, reserves are only held for Express/Custom. For Standard we can't let you debit the account for money they don't have and create a negative balance on them since you don't control the account, they do. As such there's not really a way you can guarantee the transfer reversal to work. Your charge flow(Separate Charges and Transfers : https://stripe.com/docs/connect/charges-transfers ) is only intended to be used when your connected accounts are Express/Custom. So overall your integration is quite non-standard that way.

If you're going to use Standard accounts this way I can only suggest maybe waiting longer before making the transfers so you hold the funds yourself and can process refunds(like hold the funds for a few days/weeks before making a Transfer to cover the risk of refunds). Or if the reversal fails, then set up your system to make up for that by reducing the amount you transfer in future payments proportionally. It's quite complicated and you have a non-standard set up.

coral torrent
last oracle
# meager hawk <@!141085224044855296> hmm, well the destination account here is a Standard acco...

Haha, I had a suspicion this could be a factor 🙂 But overall this is good news for us, we only a few standard accounts in our platform from when it was very young. So the solution we have in place now should work fine 🙏 I will simply let the older customers know that they payout-schedule will be reduced and then look into converting our connected standard accounts to custom accounts.

bleak breach
daring lodge
meager hawk
#

@last oracle the other thing I'd say is that reversals mostly work if the refund is made during the time the charge is pending(i.e. the window of https://stripe.com/docs/payouts#standard-payout-timing ). The issue is that after that time, the money is probably paid out(if the account is using automatic payouts). At that point, if it's Express/Custom, we let the reversal happen and the account's balance goes negative. If it's Standard though then we don't allow that(since then a platform could make someone's Stripe account go negative, it wouldn't' be good) which is why you see it fail this way

daring lodge
#

(make sure to replace username with you user)

meager hawk
#

@last oracle but yep, sounds good

last oracle
coral torrent
daring lodge
#

i think it expects scoop to already exist in that dir, let me look at your earlier error

#

it looks like that's where you have it so i'm not sure either sorry :/

#

could try reinstalling scoop, but not sure if that will have other consequences for installed packages elsewhere so please be careful

coral torrent
#

Okay, thanks I'll first try reinstalling scoop - hopefully that helps

daring lodge
#

like i said i have no idea how this affects other deps, so if you use it for other work ensure you know what will happen to those dependencies

coral torrent
#

Yes thanks, I think it'll be fine so I won't come back in a mad rage 😉

#

Oh my oh my... I tried reinstalling stripe cli through scoop but I just had to do a reinstall of Scoop itself...

Looks like it's working! Thank you so much

#

@daring lodge Out of curiousity, are you part of Stripe's support team?

daring lodge
#

@coral torrent awesome! glad to hear that helped 😄
Yep, I'm on the team specifically focused on support for developers using Stripe

coral torrent
#

And this is the best channel to reach you and your team? I tried the chat a few times now but 4/5 times it has been extremely shallow and I don't feel like they understand what I'm saying in the slightest

#

(for example asking me to clear my browser cache when I told them about this issue that you fixed for me)

daring lodge
#

if you need help with your API requests or client integration etc, more advanced developer integration type question then we're happy to help here.

coral torrent
#

Great, then one more question: I'm catching the webhook event checkout.session.completed - and I want to catch the lineItems object so I can see what they bought and do certain things in the back-end with that info. However I don't see the lineItems in there, am I missing something or should I do another api request to retrieve the cehckout session?

#

(Maybe there's a better way to achieve what I want to achieve?) Goal is to simply capture succesful purchases and do something with it on our back-end (send email, add the customer to database, create an account for them) (we are developing a SaaS)

daring lodge
coral torrent
#

Okay so flow:

  1. Catch webhook
  2. Retrieve session with expanding
  3. Do what I want
daring lodge
#

exactly

coral torrent
#

Thanks!

spiral crypt
#

Hello, just wanted to see if anyone has any documentation on Stripe's ephemeral keys? I was mainly interested to know the expiry of those.

bold basalt
#

@spiral crypt hi! there's an expires field on the API response, and expiry is 1 hr from creation iirc

spiral crypt
#

that's great, thanks for the info!

safe fiber
#

perhaps odd question, but can i limit a coupon to a price rather than an entire product?

#

like, imagine i only want to discount the green version of the shirt because it isn't selling so great

#

but only witha coupon. lol. such a contrived example

bold basalt
#

@safe fiber hello! Coupon can only be limited to Product right now. The way it was built is that the "Green Shirt" itself would be a unique Product in your integration, so you could create a Coupon to only apply to it. That Green Shirt could have multiple "Prices" on it, like L, M, S, etc

safe fiber
#

make sense 👍

coral torrent
#

When I check the request body when testing the 'checkout.session.completed' webhook I see 2 customer emails, one is 'null'. Why is it null? Can you point me to the right docs or explain please?

bold basalt
#

@safe fiber customer_email is a field you can use to "prefill" email on a CheckoutSession. If you didn't pass that, it would be null on the API response/webhook event body, so I assume you didn't pass it here?
The other customer_details.email field would be for what email address the Customer entered in the CheckoutSession themselves

safe fiber
#

@coral torrent ^that is for you

coral torrent
#

Haha thanks @safe fiber

bold basalt
#

ah sorry my bad, thanks for the correction

coral torrent
#

Hmm I guess not @bold basalt - I'm currently using stripe checkout. Where will this email be? In the customer_details.email or in customer_email ?

bold basalt
#

@coral torrent so since you're not prefilling an email (and the Customer fills it in themselves) -> that email will be on customer_details.email and on the Customer object, if you were to fetch that separately after the webhook event. So leveraging customer_details.email is the easiest in your case

coral torrent
#

Regardless if it's prefilled - customer_details.email will contain te email address? Correct? So it's the safest option to make sure I don't accidently start adding 'null' to our db

bold basalt
#

@coral torrent I think so yes, would recommend testing it out just to double check (pass customer_email on CheckoutSession creation and complete a CheckoutSession, then inspect the webhook body)

coral torrent
#

Thanks! 'pass customer_email on CheckoutSession creation and complete a CheckoutSession' is a bit unclear to me, where do I pass it?

bold basalt
coral torrent
#

Ahhh got it! Thank you so much!

#

Oh and can I do this with stripe CLI so I don't have to go through the actual checkout process?

bold basalt
#

@coral torrent you can create the CheckoutSession via CLI but to complete it, you have to actually fill out a Checkout page

coral torrent
#

Thank you!!

lucid quiver
#

Hello

bold basalt
#

@lucid quiver hello!

lucid quiver
#

So i have a shopify account that i use stripe as a payment method, and after the money has arrived in stripe i cant find where i can spend the money in stripe to pay for the items in they have orderd. So how can i spend money directly from stripe?

#

Earlier i have just transferd the money to my personal bank acount but that takes several days

bold basalt
#

@lucid quiver 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.
However, I can clarify here as I have context, Stripe isn't a wallet where you store funds and use them at other places, rather Stripe holds funds you processed as "Balance", then pays it out to your bank account, this is how it is supposed to work.

lucid quiver
#

Ahh ok, then i understand thank you so much. It makes sense now hehe

versed helm
#

Hello! I'm guessing this will be similar to how the IRC channel worked?
I'm finding that on the Stripe Dashboard for the Customer there is a "Billing Details" section but I'm not sure that the API docs have this option https://stripe.com/docs/api/customers/object - I would like to update the "billing details" via the API, is that possible?

bold basalt
#

@versed helm hello! yes mostly works similar to how IRC did
Do you have an example Customer ID, I can have a look (you can share just the customer ID, not the full object)
Typically billing_details lives on the PaymentMethod and not on the Customer so Dashboard might be grabbing the billing_details field off the attached PaymentMethod on the Customer

versed helm
#

Yes, I noted that the PaymentMethod had billing_details and figured the Dashboard might be using that field to display, though that's a bit confusing since what happens to the Dashboard when different billing_details for multiple PaymentMethods?

bold basalt
#

@versed helm just to clarify, what are you looking to update on billing details? the billing address?

versed helm
#

@bold basalt Yes, we are looking for a place to house some info in regards to the Customer's billing address. The metadata field could work too but I wanted to check about billing_details because that seemed like the correct place but wasn't in the Docs.

#

I do see that their is an address field as well.

bold basalt
#

@versed helm gotcha, let me look one sec, you want the billing address that you update via the API, to show up on the billing details section on the Dashboard?

versed helm
#

Right, the billing_email too. If you click "Edit" on the Dashboard, there is a section for "Billing Information".

bold basalt
versed helm
#

Thanks, for clarifying that. Another piece missing is in the Dash there is an account email and billing email option - but no option for billing email in the API?

dim hearth
#

@versed helm I believe billing email is a dashboard-only parameter, so it's expected that you won't be able to set it through the API

versed helm
#

Thanks for confirming that. I think for our use case using the metadata field might be best since it'll be more clear what the info is exactly in the code and in the Dash.

#

For reference, why would those fields be Dashboard-only parameters?

dim hearth
#

@versed helm There may be a reason, but I don't know the specifics - it's possible that this was just something the dashboard team decided to build, but didn't get ported over to the API (that's just an example, but it could be for any number of reasons)

versed helm
#

Got it. Thanks @dim hearth and @bold basalt !

dense gust
#

Hi, so we refunded a large amount to a customer recently, only to be informed by them that the card on file for them has expired. Any way to redirect the funds somewhere else? The refund was processed directly through Samcart, although all of our processing goes through Stripe at one point or another so thought I'd ask here as well. Thanks.

dim hearth
pastel hemlock
#

Hi, I have some concerns about Stripe webhook signature safety. I'was reading the docs and find out (correct me if I'm wrong, please) that Stripe sends webhook with non-encrypted body and a encrypted signature, which has a time stamp (where the time, in milliseconds, the webhook was sent from Strapi server is registered) and I can use this millisecond-specific date to verify if the webhook is legit and has it's original body

#

My concern is: How can I be sure someone didn't change the body to get an advantage on my server under this 5 minute window?

#

To me it seems a bit vulnerable, am I missing something?

dim hearth
#

@pastel hemlock Both the timestamp and the webhook event body are used to calculate the signature, so if a change was made to the body the signatures wouldn't match

pastel hemlock
#

this is awesome, didn't think on this possibility, thanks

paper rivet
pastel hemlock
#

I'm really impressed, I'm a beginner tho

pastel hemlock
stark tide
#

also, it's probably a good idea to be using https for your webhook endpoint, if you're worried about this sort of vector

#

webhook signatures prevent tampering, but not interception, if you're using plaintext http

pastel hemlock
vocal wagon
#

I'd like to test the recreation of subscriptions after a migration (that Stripe will perform). To test I was thinking of creating some test customers and subscriptions in the source account and the same users (with same ids and payment methods) in the destination account. But apparently I cannot specify a customer ID when I create a customer. What would be the easiest way to recreate (with test data) a situation similar to the one I'll face that is, same list of customers (with matching customer IDs and payment methods) both in the source and destination account?

daring lodge
#

@vocal wagon what exactly are you aiming to test?

vocal wagon
#

@daring lodge that my code, that will read old data and re-create subscriptions accordingly, works as expected.

#

And to create a subscription you need a customer_id 😦

#
Stripe::Subscription.create(
        customer: old_customer_id,
        billing_cycle_anchor: old_billing_cycle_anchor,
        ...
      )

but this requires to have a set of matching customer IDs, which will be true in production, but hard to reproduce with test data AFAICS

daring lodge
#

@vocal wagon gotcha. would it work to create your test customers with metadata: { old_customer_id: 'cus_123'}? and use that?

#

the recreated subscriptions would refer to the new test customer of course

vocal wagon
#

@daring lodge in a sense that'd work, but that would mean adding the same field also in production, if I want to use exactly the same code for the recreation of subscriptions.

safe fiber
#

hello again 👋

#

i had a question about sigma and scheduled query runs

#

can i not get the file directly via the gem?

daring lodge
#

@safe fiber I don't have a lot of experience with those, but let's take a shot

safe fiber
#

the docs are telling me to curl it myself? 😬

#

but i wasn't sure if that was just the docs, and the gem has the power

daring lodge
tranquil nacelle
#

Hi, is there a recommended way to test the onboarding flow for a connect standard account other than manually going through the signup form with fake creds? Is there away to test it from the CLI?

pastel hemlock
#

Hi, I'm new to testing webhooks by the CLI. I have this webhook endpoint on my server that's answering 400 to every webhook, on the cli interface I can clearly see a 400 status response, but on the dashboard it appears as 200 and I can't see my server response, why is that?

#

(I know how to solve my server error, just wanna know why the dashboard show a different statusCode then the cli)

daring lodge
safe fiber
#

kk thanks!

daring lodge
#

@tranquil nacelle there is not, you be using the onboarding flow and any test value shortcut buttons etc

tranquil nacelle
daring lodge
#

@pastel hemlock that looks like an API request log screenshot, not Events. But events I expect to look similar because of the way the CLI handles delivery, its abstracted a bit from you.

#

@tranquil nacelle you can create an additional test account in the dashboard and use that to connect to your platform

pastel hemlock
#

If that's the case, is it possible to access my server response in production, or do you just discard my server answers?

daring lodge
#

@pastel hemlock Well in the screen shot you share the 200 is the result of your API call creating the payment intent, it was successful, which then separately emitted a payment_intent.created event (and other events).

#

@pastel hemlock we do log the status code you respond with and you can view in in your events history in the dashboard

pastel hemlock
#

ok, got it, thanks

#

helped a lot

daring lodge
#

no problem 🙂

safe fiber
#

oh, i got another interesting one for you!

#

imagine i have one webhook endpoint with 3 different stripe instances sending notifications

bold basalt
#

👋

safe fiber
#

i receive the sigma notification... how do i know which of the 3 different stripe instances i should request the sigma report file from 😐

#

hi @bold basalt 👋

bold basalt
#

@safe fiber ah, I don't think there's a good way to do that on the same endpoint. One (not great) approach is, you fetch the event with each of the 3 API keys, two will not succeed as that Event doesn't exist on those accounts, one will work, so you know which Stripe account that Event belongs to.

safe fiber
#

😅

#

we should have set up our webhooks to append their source to the request via the query string 🤔

bold basalt
#

@safe fiber yep that would be the better approach

safe fiber
#

oh, do events include the stripe account id in the info?

bold basalt
#

@safe fiber Events do not

#

unless they are Connect webhook events

safe fiber
#

dang

clever sleet
#

Hello, first off let me start by saying that moving away from the previous chat server to discord is a great step forward. Kudos!

#

quick question, i'm using latest stripe cli on windows to listen to the events and route them to my local dev machine. I'm using the following command:

stripe listen -e charge.succeeded,charge.refunded,charge.pending,charge.failed,charge.expired,charge.captured,charge.updated,transfer.created,balance.available,payout.created,payout.paid,payout.failed,transfer.reversed -f https://localhost:44330/api/v1.0/payment/events

#

problem: i'm not receiving any event when a refund occurs

#

situation: Account 1 creates a charge with a transfer to Connected Account 2. Everything works as expected without a problem

#

When Account 1 issues a refund and checks the "Reverse Associated Transfer" checkbox I don't get any events

#

The transfer/payment show as refunded on all accounts

#

Should I be listening for another event?

dim hearth
#

@clever sleet Do you have an object ID I can take a look at?

clever sleet
#

sure

#

all of this is in test mode, let me do a new one

#

ch_1IyO8nBlyOc336XXfG6szaYh

#

transfer shows reversed

#

Payment on connected account shows Refunded. Payment Id: py_1IyO8nF7xEe6JCtFtXgdeXDT

dim hearth
#

@clever sleet That's strange - I'm seeing what I believe to be the right trasnfer.reversed event (evt_1J2lWzBlyOc336XXsEuYeerG) on your account, so I'm not sure why it wouldn't be going through to your cli

clever sleet
#

i'm listening on Account 2, not 1

#

Account 1 refunds and reverses the transfer. Account 2 shows as refunded, but no event was fired

dim hearth
#

@clever sleet Ahhh gotcha, looking now!

clever sleet
#

thanks

dim hearth
#

@clever sleet I'm seeing the same behavior on my end, and I'm trying to confirm with some other folks whether it's expected or broken that we send no events to the connect account for transfer reversals - thanks for being so patient

dim hearth
#

@clever sleet Chatted with some others on the team - apparently, it's expected that you don't get charge.refunded events for the payment on the connect account. The expectation is that you rely on the events on the platform to handle this

clever sleet
#

@dim hearth Which platform?

meager oasis
#

Question about paymentintents, I know when I don’t complete a PaymentIntent I get charged the fee for the transaction regardless, but if I complete a paymentIntent for a lower value, is my fee assessed based on the whole transaction, or just the amount assessed

dim hearth
#

@clever sleet The platform account (or in your case, Account 1 which triggered the transfer reversal)

clever sleet
#

Ok

dim hearth
#

@meager oasis I'm pretty sure the fee is assessed based on the amount captured (so the lower value).

meager oasis
#

Would it just be cheaper to complete the PaymentIntent for $0.01 rather than voiding it?

dim hearth
#

@meager oasis Hm... you mind if I take a look? Do you have a payment intent ID handy?

meager oasis
#

pi_11YQV6IwBimvCF1fOXv8BXKe

dim hearth
#

@meager oasis I'm not seeing any object with that ID on my end

meager oasis
#

thanks apple

#

They said the whole

#

“Text from image” thing would be revolutionary, but I’m getting serious Apple Newton vibes

#

I think the fee is because I stored the Card

pastel hemlock
#

Hi, I have one last doubt: Is it possible via strapi CLI, to make custom webhooks with fake data? Like, I need that the paymentIntet.succeeded give my server an email (where the registration data goes), can I add it manually to testmy integration?

dim hearth
#

@pastel hemlock Are you asking how to generate a payment_intent.succeeded webhook event with specific fields? You have a couple options if so - you could look into fixtures (https://stripe.com/docs/cli/fixtures) or you can just go ahead and create a successful test payment intent through the API or dashboard which will automatically generate and send the appropriate events

pastel hemlock
#

hmm thought it was not possible, thank you again

dim hearth
#

@pastel hemlock Also want to mention - if you just need something simple to send a one-off payment_intent.succeeded webhook event you can use stripe trigger (https://stripe.com/docs/cli/trigger). You won't be able to customize it, but it's very simple to use!

pastel hemlock
#

ty, the fixtures will be really handy, the trigger was what I was already using

shut blaze
#

If i am using Checkout to create a Subscription, do I need to listen to checkout.session.completed? Or can I just rely on customer.subscription.created?

lucid raft
shut blaze
#

ok, thanks! I've tried using both and they both seem to work. I prefer to use customer.subscription.create since it already has the subscription in the payload. I'm just not sure if there's any downsides to doing so

lucid raft
#

@shut blaze I don't see any downsides. I think probably you can use that too. But if you are using Checkout for onetime payment, you would listen to additional events. checkout.session.completed covers on the one time payment case

shut blaze
#

ok, thank you so much!

wooden tangle
#

Hiya, I'm trying to send the most basic request to the paymentIntents endpoint but I keep getting a 400 bad request error

#

My request body looks like this

#

'amount="2000"&currency="nzd"'

#

I've tried a number of variations such as with single quotes and whatnot, but it feels like im missing something obvious

lucid raft
#

@wooden tangle how did you send the request? can you share the request id like req_xxxx?

violet walrus
#

Hey guys i got a problem with charging the fees to the users directly

#

I dont know why my calculation doesnt do the fees exactly

violet walrus
lucid raft
#

@violet walrus it is a bit tricker than that it think. Your calculation will be approximate number than actual fees. because once your add the fees to the charge amount, you are increasing the fees because the final fee will be calculated using (original+fee)*0.35 + 30 if that makes sense

violet walrus
#

So how do i do that then ?

lucid raft
#

So to put some math, you will need to resolve the function (original + x)*0.35 + 30 = original +x; use the calculated x amount as the fee

violet walrus
#

The thing even if i put 1000$ fees it will always be higher since the fees are calculated in the amount

lucid raft
#

sorry wrong. math (original + x)*0.35 + 30 = x;

#

you can get the fee = (original*0.035 + 30)/0.965

untold silo
#

Hi, may I check if i can register 2 company under 1 stripe account?
And if the payments are able to show which company the customer purchase from?

lucid raft
#

@untold silo you cannot register 2 companies under 1 stripe account. Your stripe account as far as I know will tie to one business entities only

untold silo
#

However, am I able to sign in to 1 stripe account into 2 seperate ecommerce?

lucid raft
#

@untold silo I am not sure what you mean. Do you mean you login to the Stripe dashboard but you could switch between two different accounts?

violet walrus
lucid raft
#

These are still two different stripe account though @untold silo

untold silo
#

I am using wix for the ecommerce, and I have to set up the payment method.

For both the ecommerce site, I signed in using 1 stripe account.

lucid raft
#

I see, you have two sites using the same Stripe account basically but your Stripe account is verified using one entity. By default, what customer see their credit card statement is called statement descriptor, https://stripe.com/docs/statement-descriptors

#

One account will have 1 default statement descriptor

violet walrus
untold silo
#

I see..
Thank you so much for your assistant 🙂

wooden tangle
#

@lucid raft its allgood now. I was sending dollar amounts with decimals

pastel hemlock
#

all the email files are still null, and in my fixtures.json file I have them right there

mellow spear
#

@pastel hemlock What exactly is missing?

pastel hemlock
#

when triggering a paymentIntent.succeeded, all the email values are null

#

It's the same wehbhook from before I've setten up this fixtures.json file. The only difference is that now there are 3 webhooks when I trigger a paymentIntent.succeeded

#

this is my file: ```json
{
"_meta": {
"template_version": 0
},
"fixtures": [
{
"name": "cust_bender",
"path": "http://localhost:1337/api/webhooks/preRegistration",
"method": "post",
"params": {
"name": "Bender Bending Rodriguez",
"email": "pedrotestes231@gmail.com",
"source": "tok_visa",
"amount": 200,
"currency": "usd",
"address": {
"line1": "1 Planet Express St",
"city": "New New York"
}
}
}
]
}

#

I've logged the requests in my server terminal and also inspected it on the stripe events history to be certain

mellow spear
#

@pastel hemlock What's the Payment Intent ID that gets created for this?

pastel hemlock
#

evt_1J2oKfKE62sTLXpb1qp4azuT one of them

mellow spear
#

@pastel hemlock The path needs to be a Stripe path, so /v1/payment_intents in this case.

mellow spear
#

That indicates which API request path this fixture should be for.

#

Stripe CLI currently has no idea what to do with that fixture data.

pastel hemlock
#

I'm really sry, did not see it when I read it

#

where can I find more data about this path config?

mellow spear
#

In the link I just posted.

#

The link I posted takes you right to the path parameter and its description.

pastel hemlock
#

but how do I know which path goes for paymentIntent.succeeded, and which goes to paymentIntent.created?

#

the path you game me was triggering a "Parameter unknown error"

mellow spear
#

The fixture is for making an API call, in this case /v1/payment_intents, not for a specific event related to a payment intent. The reason you're getting errors is because you're providing parameters that aren't compatible with creating a Payment intent: https://stripe.com/docs/api/payment_intents/create

pastel hemlock
#

ty

vocal wagon
#

Hi there! Is there any way to change the billing cycle anchor for a subscription to a specific date without going through a trial? According to https://stripe.com/docs/billing/subscriptions/billing-cycle#changing there isn't (only to now), but going through a trial doesn't quite work for us, because further updates to a subscription during a trial won't trigger a prorated invoice (and we want them to).
Actually further prorated changes will grant them credit! Because they had paid for it when they were not in trial, but now while in trial it costs 0: so the prorated invoice does 0 - 99 for the unused time => $99 in credit for the customer. That definitely is not what we are looking for.

any hint you can give me here? thanks :L:

hollow prairie
#

@vocal wagon Hello!

#

@vocal wagon Hmm, there's no other way to change the billing anchor. What's the use case?

vocal wagon
hollow prairie
vocal wagon
vocal wagon
vocal wagon
hollow prairie
#

@vocal wagon Yeah, certainly need some flexibility in there! I'd say you should look at subscription scheduling going forward

#

You can't configure an existing subscription with a schedule however

vocal wagon
#

that doesn't work for us, right, we need to configure existing subscriptions

hollow prairie
meager hawk
languid dew
#

Hey @hollow prairie! 🙂

#

I'm tiana from IRC xD

#

So some of you work at Stripe from Europe ? Do you have offices there, or are you working from home ?

meager hawk
river hare
#

Hi everyone. I have been working on integrating Standard Connected Accounts into my saas application which was going pretty well, but I am facing some new issues now that wasn't there before.

  1. Following this guide (https://stripe.com/docs/connect/standard-accounts), when a user wants to connect the app to stripe, I create an Account Link which directs them to stripe to connect their account. After completion, they are redirected to the app.

  2. The app then refetches the Account's data upon return and prompts the user with a message to update their details on stripe to enable payout - this is where they upload identification documents.

  3. When a user is ready to update their details, a new Account Link is generated which redirects them to a page on Stripe to upload their IDs. In test mode, stripe provides test documents. Once all documents are uploaded, the user is redirected to the app.

  4. Upon return, the app refetches the Account's data again and payout should be enabled if everything went right.

These steps were all working perfectly before, but with the recent updates to Stripe Connect, Step 3 no longer redirects the user to the ID upload page but to the end of the Account setup page in Step 1. User are again asked to review their details and click on the Done button which redirects them back to the app.

But because their ID have not been uploaded and validated, they are back to Step 2. I have tried Step 3 multiple times, each time with a new Accounk Link, but the user is always redirected to the end of Step 1 (the Details Review page) and never the ID Upload page.

This wasn't an issue before. Am I missing something?

meager hawk
#

@river hare hi! I think I'd suggest writing to https://support.stripe.com/email and including the exact account ID acct_xxxs of the accounts where you see this happen and some screenshots of the flow. I'm not sure I 100% follow you, the account is not enabled for payouts and you think they need to upload an ID document but they're not asked to? That seems unusual but I'd suggest writing to support with specific accounts IDs as it's unlikely to be anything to do with your code/use of the API so not something we can directly help with here

split karma
#

Hello. Is there any limit to duration for which Stripe holds funds on Connect Accounts? E.g. user has payouts set to manual and receives money on his Connect Account, it goes to his pending balance and after 7 days it goes to available balance, but he doesn't want to payout instantly - how long can he wait before payout?

meager hawk
split karma
#

@meager hawk Thank you!

river hare
#

I'll contact them via email, thanks

meager hawk
#

but that does seem strange. What's an acct_xxx where that happened? Maybe I'll see something obvious

river hare
#

It's acct_1J2uMHQYq8vqQaqT. It is a test account

#

Stripe used to display a message to upload IDs in the dashboard, but couldn't see it once this account was setup.

meager hawk
#

well here we don't need a document, we have one, it's just pending

#

that's why it doesn't ask for one, one was provided, but we're still checking it (you can look at requirements on the Account object to see that status)

#

that process is async and can take a while. The testmode process for it might be a little slow today(I'll raise internally) which is why you're seeing this take longer than previously, but in general this is normal enough behaviour, verifying a doc is usually quite fast but it is inherently async.

river hare
#

hmm, maybe some adjustment have been made to the flow in test mode, cos i didn't upload a document. It used to direct me to a page to upload the documents

#

is it the case that documents are not always requested for and they are sometimes automatically added in test mode?

meager hawk
#

no, we wouldn't add them automatically or anything like that.
To be clear(because I explained this wrong, it's a mistake I've made before 😦 ) pending_verification there doesn't actually mean we are verifying the identity.verification.document (I know that's what I said a minute ago, but I was actually completely wrong), it's a slightly confusing field

#

what it means is, we are verifying the account in general(from the other information provided), and if that verification doesn't succeed, then we will ask for the document(i.e. requiring those document is pending the outcome of the current verification)

#

for whatever reason that verification is taking a while, which might be what I said earlier, the testmode process is backed up/slow, but it is async in general. There's nothing really you can do in the meantime. But yeah as I mentioned I'll flag it internally since that seems stuck for a couple of hours, there might be a wider issue

vocal wagon
#

Hello

#

I have a problem with Stripe

#

My clients can’t proceed to payment

#

An error message appears

#

With all the crédit cards

meager hawk
#

@vocal wagon hi there — what's the error message? Is this an integration you've coded/developed yourself?

vocal wagon
#

It dépends bro! Thank you for answer

#

Card not accepted

#

Payment çan’t be used

vocal wagon
meager hawk
frozen warren
#

Hello to all

vocal wagon
#

Hello everybody!

#

How arr you?

frozen warren
#

Does Stripe Gateway acept payments in crypto?

hollow prairie
#

@frozen warren Hey! We do not support cryptocurrencies currently I'm afraid

frozen warren
#

Many thanks for the answer 🙂

#

Im trying to find a gateway to acept Dogecoin payments to implement on several online stores that are starting to ask us 🙂

vocal wagon
#

Thanks for @meager hawk this answer

#

Im working with @vocal wagon to fix this issue

#

Please confirm @vocal wagon

#

Yes @vocal wagon associate

#

Thanks for the link

#

The error is

meager hawk
#

@vocal wagon can you share a request ID req_xxx for one of those errors instead? (per the link above). Ultimately you should probably reach out to instead https://support.stripe.com/email as they would have access to your account and can help, this is not a channel for account-specific support.

vocal wagon
#

Which link brother ?

last oracle
#

Hello Stripe Gurus! I'm back with a follow up question from yesterday. We started our storefront a bit before Custom accounts was an available as a feature (I think), and to facilitate payouts to different sellers we registered a couple of standard accounts and connected these to our main accounts - we manage the stripe accounts but they represent different sellers on our platform, Now these are a huge roadblock, part due to the problem I posted here yesterday - thanks for the help again.

In short we want to move these customers from standard to custom accounts, but I can't find much documentation/guides on the best way to do this ~ I'm thinking its not a very common scenario. So i'm looking for general suggestions. My biggest concern is the seller still being able to manage their old data on our platform. We mostly integrate using stripe charges (ids) stored in our database for orders.

Any insights or pointers in the right direction would be welcome 🙏

vocal wagon
#

@meager hawk should i send the request here or on the mail?

meager hawk
#

@last oracle as far as I know there's no way to migrate them directly. You'd have to just create brand new Custom accounts and have the legal entity(owner of the account etc) onboard to that one through the usual onboarding/identity verification process for Custom, basically creating a new account. There's no way to transfer data like existing charge IDs to a new account though, we don't have any tooling for that kind of migration, so you'd need to keep the old account around so you can look up objects on it when needed. We can copy saved cards (https://support.stripe.com/questions/copy-existing-account-data-to-a-new-stripe-account) but I don't think you'd want/need that since you're using Separate Charges and Transfers which means all the customer payment information is on the platform anyway.

#

@vocal wagon if you paste it here I can have a quick look

vocal wagon
#

Thanks

#

@meager hawk : req_eKVCN5dXMPTXBs

meager hawk
#

@vocal wagon thanks! these are just declines, so I can't help you with this here — it's for technical API/coding questions. Please contact https://support.stripe.com/email instead.

vocal wagon
#

Okay bro thank you

last oracle
meager hawk
#

@last oracle hard to say without looking at the account , but it could have a negative balance for many reasons, like they had a number of disputes recently(in which case they are debited for the amount of the payment plus a fee) or they issued a lot of refunds. We can't really tell you why since it's a Standard account and the account holder has their own relationship with Stripe.

#

but yes if they already have a negative balance then I wouldn't expect your attempt to create a TransferReversal (which would add to that negative balance) to work. If it were a Custom/Express account in the same circumstance it would likely succeed, and then we hold a reserve on your platform to cover negative balances across the connected accounts, but for Standard the user has their own relationship with Stripe so as a platform you can't really add to their negative balance liability.

#

I don't want to get too far into this but that's the idea!

last oracle
meager hawk
#

I'd probably look at the return values from https://stripe.com/docs/api/balance/balance_retrieve as a source of truth since what the dashboard shows can sometimes include other factors like future payouts. It's quite hard to say without looking at the specific example and this isn't really a channel for account-specific support

#

I can take a quick look at the acct_xxx if you have it as it might be something simple

last oracle
pastel hemlock
#

Hi, I'm trying to keep tracking of monthly subscriptions on my server, to grant access and register the users into our system. I've seen your github examples and figured it out that I just need to watch "Invoice.Paid" webhooks. The thing is, how can I test my integration since there is no such event available on the CLI? Is "invoice.payment_succeeded" a similar (or the same) event?
Also, are there any events that trigger a single webhook per subscription? I wanna register a user (by sending an email with login data to the costumer email inputted on the payment) on the first payment, and on the other ones I just wanna update their "renewalDate" attribute.
Thanks in advance

hollow prairie
#

@pastel hemlock Hey there

#

@pastel hemlock Only difference between is that invoice.paid will trigger for out-of-band payments (i.e. if you take payment elsewhere, and manually mark as paid)

#

@pastel hemlock For your initial email, could listen to either customer.created or customer.subscription.created. It would depend mostly n your integration/business (i.e. can customers have multiple simultaneous subscriptions)

pastel hemlock
#

Do the "customer.subscription.created" triggers after or before the payment? I'd like to only register users that already paid and we would only do a single registration for payer user

#

Also, is there any place I can find those webhooks example requests written?

hollow prairie
hollow prairie
pastel hemlock
#

Those webhooks, each of them have a request and response body, right? I'd like to see the request body that comes from your server if possible

hollow prairie
hollow prairie
hollow prairie
pastel hemlock
hollow prairie
pastel hemlock
#

just one last thing, does every subscription is created with "status: unactive" and upade to active at least once?

hollow prairie
vocal wagon
#

Hi, I'm facing some issues using stripe-php when connecting through HTTP 1.1
Even sending all headers/post_params to payment_intent API I'm getting a 400 with missing parameters message.
Does anyone had this issue before?

hollow prairie
#

Hey @vocal wagon

#

Can you share a request ID? req_xxx

vocal wagon
hollow prairie
vocal wagon
#

First I'm setting http_client to use HTTP_1_1

$curl = new \Stripe\HttpClient\CurlClient([CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1]);
$curl->setEnableHttp2(false);
\Stripe\ApiRequestor::setHttpClient($curl);

Then I'm just calling

\Stripe\PaymentIntent::create([
'amount' => 999,
'currency' => 'usd'
]);

#

please note that api_key was already set before that 🙂

hollow prairie
#

@vocal wagon Thanks, checking on this now!

vocal wagon
meager hawk
#

@vocal wagon are you sure that's exactly what you're calling, with those literal integer/strings? Usually this happens when you're doing like amount=>$calculatedAmount and your variable is null.

vocal wagon
meager hawk
#

could you share the exact full code?

languid dew
#

Hey there, how can I replace all items in a subscriptions in POST /subscriptions/{subscriptionId} without specifying existing price IDs or item IDs ? Thanks

meager hawk
#

it should just work really, let me know if the example above runs for you

languid dew
hollow prairie
languid dew
#

In that case, could I use items[0][quantity] = 0 ?

hollow prairie
#

@languid dew Hope that makes sense! Let me know if not

languid dew
#

How can I know how much non-deleted items are there on a subscription and what those indexes are ?
Each time my customer changes subscription in my UI, all previous items must be disabled and a new one must be added.

vocal wagon
# meager hawk

`
\Stripe\Stripe::setApiKey($this->apiKey);
$curl = new \Stripe\HttpClient\CurlClient([CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1]);
$curl->setEnableHttp2(false);
\Stripe\ApiRequestor::setHttpClient($curl);

    try{

        $paymentIntent = \Stripe\PaymentIntent::create([
            'amount' => 999,
            'currency' => 'usd'
        ]);
    } catch(\Exception $e) {
        var_dump($e);
    }

`

Stripe is autloaded via composer

languid dew
#

Hey there turbotime, how are you ? xD

sick talon
languid dew
#

So I must GET the subscription first then disable the non-disabled onces. Okay

vocal wagon
languid dew
#

Use 3 backticks for multiline

meager hawk
#

@vocal wagon hmm, I can't see how that code could give an error like that. Can you run the exact script I posted above and see if it does the same?

vocal wagon
meager hawk
#

@vocal wagon my guess would be that you have two different scripts or functions, one of them is not using the exact code you share here and maybe uses some variables for the parameters instead, and are accidentally running the wrong function in the actual deployed/running code; I've seen that kind of thing fairly often. The other possibility is maybe your installation of stripe-php is somehow corrupted, but I'd start by running the complete script I posted in your environment and see how it behaves

vocal wagon
stoic gyro
#

Hello everyone,
We are implementing Apple Pay in our system and we need to test failure payments like declined_card, insufficient_funds, 3D_secure, anyone can help how we can do it?

sick talon
stoic gyro
#

@sick talon Thank you for your response, but apple pay doen't accept testing cards

#

So, I cannot use these testing cards

sick talon
meager hawk
#

@vocal wagon yeah, that's a really weird one, hmm. I don't have a great sense for what the problem could be either. Maybe try re-creating the Docker images from scratch(sorry ,I don't use Docker so not too familiar with terminology) and re-installing stripe-php from composer? Beyond that I really don't have an idea, that code should just work and there's no known issue I'm aware of

stoic gyro
#

@sick talon I got it thank you very much

vocal wagon
vocal wagon
vocal wagon
meager hawk
#

It's something regarding stripe when receiving specific requests for http 1.1 using stripe client
yeah, but I don't see the same behaviour in my own tests, and it works for you in some environments, so there's likely more nuance there. Is there a specific reason you're using http 1.1?

vocal wagon
pastel hemlock
#

Is it possible to make the "customer.subscription.updated" and "invoice.payment_succeeded": "customer: ['expander']" in the cli webhooks via fixtures api?
If not, is there a way to retrieve my customer email when the event "customer.subscription.updated" happens?

sick talon
pastel hemlock
sick talon
pastel hemlock
#

ty, got it

split karma
#

Hello. I've sent this link ( https://stripe.com/docs/connect/manual-payouts ) to my client since he was concerned about Connect Accounts losing money if some time passes and now he thinks that after those 90 days, the user may lose money that he had on his Connect Account. To me, it seems that Stripe will automatically payout if those 90 days pass, but right now I'm not sure about it. Could you please confirm what happens after those 90 days?

sick talon
# split karma Hello. I've sent this link ( https://stripe.com/docs/connect/manual-payouts ) to...

Different accounts can have different policies here, I'd suggest writing in to the support team via https://support.stripe.com/contact

split karma
hallow lake
#

Hi, I am new to stripe. I want to set up a graduated price for a product that charges one time only. The dashboard is forcing me to make it recurring. What can I do to make it one time/standard? thanks

sick talon
hallow lake
sick talon
hallow lake
sick talon
#

or alternatively, if you want to use a Price, you'd also add a negative amount line item for the discount to the first Invoice (instead of Graduated pricing)

hallow lake
sick talon
hallow lake
#

okay, got it. Thank you so much!

half fog
#

Hey! I'm just implementing Stripe JS in a new site and keep getting a TypeError in the console (It's not actually causing any problems, just cluttering the console logs) - But it looks like this TypeError is appearing everywhere the Stripe JS library is used, even on other sites and even the Stripe Checkout demo is doing it: https://checkout.stripe.com/pay/ppage_1J2zkDFKnpzPB0MXvBn9EZaK#fidkdWxOYHwnPyd1blpxYHZxWm9CPHY2XUhhVm9fQzxOYWgwYjA8f2lcYScpJ2hsYXYnP34nYnBsYSc%2FJzNnYTRkPTQzKGRjNTIoMTc3Nyg8PGNjKDZnZDNnNjU8NzYzMjZkNTM2PCcpJ2hwbGEnPyc3MmQ3YzM8YyhnMzA2KDE0M2QoPTMwMihkMzAyZmE2N2E2PTM3MGE0ND0nKSd2bGEnPyc8NTZkPTI3Zyg3Z2NgKDE8Y2AoPWdkMCgzZDwxMTQyNGdmNWY8MTE9N2cneCknZ2BxZHYnP15YKSdpZHxqcHFRfHVgJz8ndmxrYmlgWmxxYGgnKSd3YGNgd3dgd0p3bGJsayc%2FJ21xcXV2PyoqdnF3bHVgK2ZqaCcpJ2lqZmRpYCc%2Fa3BpaXgl

#

Is there anything I can do to suppress these logs? Thanks! 🙂

sick talon
half fog
vocal wagon
#

I need to be able to manage a booking calendar totally from the Woo Commerce panel. In addition to this I need not to automatically authorize payments but to do it manually at the confirmation of the reservation.

Is it possible to set an event for the webhook to confirm the charge from the Woo Commerce panel?

Thanks

loud saffron
#

Ok so I post my question here: I want to export interesting data that came from payments done with Stripe to a JSON format or another manipulable format is it possible please ? Thanks.

sick talon
# half fog

hmm, not seeing those issues in my Chrome. Shouldn't interfere with anything but as far as not showing them, not sure there's an option since they're not errors by themselves.

sick talon
loud saffron
#

By interesting data I mean data like statistics or data which could be display on a dashboard to have an overview of the business.

sick talon
vocal wagon
vocal wagon
half fog
#

Could it be related to the Incognito mode?

sick talon
half fog
#

Ah, at least I'm not going crazy! - So it must just be Incognito related, ok thanks 🙂

mighty crown
#

Hello, we are using the Stripe Api and one of our customers reported that for the disputes data we were displaying to them the due_by date of the dispute as 1970-01-01, the start of the Unix Epoch.

Looking at the data we were getting back from the API, the evidence_details.due_by field was set to 0. The dispute I kinda doubt was due on 1970-01-01, would displaying instances of this as null be safe or is it possible for a it to have been due on 1970-01-01?

sick talon
mighty crown
sick talon
mighty crown
coral torrent
#

Just getting started with stripe connect:
My client already has a stripe account, can I add it under our account as a connected account?

sick talon
sick talon
pastel hemlock
#

Hi, I need some help on how fixtures work. If I set a fixture as this:

    {
      "name": "cust_bender",
      "path": "/v1/customers",
      "method": "post",
      "params": {
        "name": "Bender Bending Rodriguez",
        "email": "emailtest123@gmail.com",
        "source": "tok_visa",
        "address": {
          "line1": "1 Planet Express St",
          "city": "New New York"
        }
      }
    }
```And after that, I trigger a "customer.subscription.updated" event, shouldn't the costumer associated with this event have the fixture data populated in it?
When I try to retrieve the costumer using the costumerId (from: "event.data.object.customer") the fixture data is not there
dim hearth
#

@pastel hemlock I don't know a ton about fixtures, but let me see what I can find. Did you make sure to execute the fixture after you set it up?

pastel hemlock
#

yes, styill in my terminal:

dim hearth
#

@pastel hemlock Do you also have a fixture for /v1/checkout/sessions to use the customer you created?

pastel hemlock
#

sessions?

#

no I don't

#

do I need to create a costumer in order to use it?

dim hearth
#

@pastel hemlock Ah! Sorry I misread your message (need more coffee)

pastel hemlock
#

np man, me too

rough finch
#

Having trouble with destination subscriptions using connect. They seem to all be using the statement descriptors from our platform. I updated the invoices to come from "on_behalf_of" and now I'm getting this error.

#

You cannot specify an on_behalf_of parameter when updating an invoice created by a subscription.

#

Is there something I'm missing the documentation somewhere on how to make this work?

dim hearth
#

@rough finch Hi there! You need to be creating the subscription with on_behalf_of from the start, not updating each invoice to include it. Right now it's a gated feature, but if you write into support they can get it enabled for you

pastel hemlock
#
undeclared fixture name was referenced: customer```
#

and it's like this json "params": { "customer": "${customer:id}", "items": [ { "plan": "${plan:id}" } ] }

dim hearth
#

@pastel hemlock Your probably seeing that error because you changed the name for the fixture that creates the customer to cust_bender. If you change it back to customer that shold fix it

potent trout
#

Greetings, I have trouble with a payment. 3D-secure gives me net::ERR_BLOCKED_BY_RESPONSE with 1 of 4 debitcards

crimson needle
#

@potent trout hello! Do you have more details than this?

potent trout
#

@crimson needle I have a link from the bank and the details specified in Stripe-Dashboard about the payment.

tranquil nacelle
#

Please confirm my understanding of the user onboarding flow for Connect standard accounts. User gets authenticated on my end. Perhaps receives a session cookie. User gets redirected and fills out onboarding forms with Stripe. I receive a bunch of webhook calls indicating account and capability updates. Since it doesn't appear that anything is passed to the get request for the return URL after a user completes the connect onboarding flow, I presume I would use the users' authenticated session cookie to correlate the user with this particular get request which would allow me to indicate to them where they stand with Stripe?

rough finch
#

@dim hearth Thank you!

crimson needle
#

@potent trout I'm sorry I would need more details, like what is your code doing, what part is returning an error, what do you see, does it happen in Test mode, etc.

#

@tranquil nacelle that's correct, using a session/cookie is what I would do here though you can put a query param in the return url

potent trout
#

@crimson needle It is live, I believe it is the bank who sends the error as 3 out of 4 debitcards works. I'll contact the bank first, you'll hear from me if I don't get an answear from them. Thank you for your time 🙏

crimson needle
#

Ah gotcha, do you have an example payment intent id pi_12345? I could have a quick look, 3 out of 4 feels strange though maybe they are all the same bank

lavish tendon
#

Is it possible to add Bank debit (ACH and PAD) mandate within the Stripe dashboard (similar to how we can add CC payment) or it is only possible through APIs?

meager oasis
#

To confirm before I send an email out to my customer here, once a Payment Intent is closed, it’s permanently unmodifiable right?

crimson needle
#

@lavish tendon ACH can be added manually in the Dashboard yes. ACSS can't for now. It's API only

#

@meager oasis there's no "closed" state. Do you mean "canceled"? And no it's not unmodifiable, you can change metadata and such on a canceled PI (easy to test in Test mode)

meager oasis
#

Well

#

The issue is my client undercharged a user (forgot to pass on Stripe fees)

#

By closed I mean completed

rough finch
#

@dim hearth who do I contact about getting the permissions for updating subscriptions with on_behalf_of? Contacted support and they say it is not an available feature...

crimson needle
#

@meager oasis then yes you need a new PI/Charge in that case

#

@rough finch Can you give me a subscription id? sub_123 I can find the account/ask from it and see if I can unblock

rough finch
#

@crimson needle it's for all our subscriptions moving forward. We have to get our platform statement descriptors off of the destination subscriptions, and i can't seem to find a way of doing it other than on_behalf_of

crimson needle
#

@rough finch I know, I just need one id to find your account.

rough finch
#

oh ok

#

cool

crimson needle
#

I don't want to ask PII here like your email since it's public/searchable

rough finch
#

sub_IsoJH1POeX62zF

crimson needle
#

thanks, give me some time to find more details

rough finch
#

thank you!!

wispy zinc
lavish tendon
crimson needle
#

@wispy zinc no there isn't anything than this

#

@lavish tendon ACH is only available to US merchants

wispy zinc
lavish tendon
past yacht
#

First time using Stripe CLI and surprised to see triggers hit my live code, rather than my local. stripe listen --forward-to=localhosts:5001/EventProcessor, after this a customer created trigger hits the live site.

dim hearth
#

@past yacht Can you clarify a bit? What do you mean when you say "a customer created trigger hits the live site"?

past yacht
#

After my stripe listen --forward (as above):stripe trigger customer.created
Setting up fixture for: customer
Trigger succeeded! Check dashboard for event details.

#

I was understanding things to be that this customer created trigger would land on my localhost and not on live site

dim hearth
#

@past yacht Using stripe trigger will create actual customers/other objects in test mode on your account, so yes they would hit your live site. Is that what you're asking?

past yacht
#

I was under the impression that I could target my localhost:5001 with Stripe CLI and not have to use Ngrok

dim hearth
#

@past yacht Ah, so the question here is why is the event generated from the trigger being sent to the local endpoint (specified by forward-to) and a live endpoint you have configured in your dashboard?

past yacht
#

I need it sent to the local endpoint, but it is hitting and endpoint I have configured in my dashboard.

dim hearth
#

@past yacht Yes, using forward-to won't stop the event from being sent to the endpoints configured in your dashboard - it'll just also send the event to your local endpoint (so it'll send to both)

past yacht
#

@dim hearth is there a way to only send to one?

steel furnace
#

Im having issues creating a coupon? I have a coupon created but when i go to buy my product there is no option to even enter a coupon code ***

#

how do i enable discount code box on the checkout ??

dim hearth
#

@past yacht No I don't believe there is

past yacht
#

@dim hearth thnx for the help

steel furnace
#

@dim hearth is there a buttoon for this

#

im not good at scripts ... if i have to edit the script how do i do so?

#

can i do from dashboard?

dim hearth
#

@steel furnace No, there isn't a button for this - you need to edit your code to enable it

steel furnace
#

how can i edit my code lol

#

@dim hearth

dim hearth
#

@steel furnace How did you integrate with Checkout? You need to find the code you wrote to originally integrate and change it

#

@rough finch I'm looking into it on my end, will be back with an update for you soon!

rough finch
#

@dim hearth thank you!!!!!

dim hearth
#

@rough finch I just want to confirm - you're only using this with non-Standard connect accounts correct?

rough finch
#

yes, we have a few standards left, but almost everyone is converted to custom or will be by the end of the month

dim hearth
#

@rough finch Awesome! Someone should be reaching out through your support ticket and the feature should now be enabled

rough finch
#

@dim hearth thank you, thank you thank you!

upbeat grove
#

can client resume subscription from the customer portal?

past yacht
#

Not having success using CLI, have some questions. First one is when connecting to endpoint do I need to use the http or the https version as they have different ports?

daring lodge
#

@upbeat grove hey there, can you say a bit more? what do you mean by resume in this case?

upbeat grove
#

how can a user pause and resume the subscription using customer portal

daring lodge
#

@past yacht what endpoint do you mean?

upbeat grove
#

I see there is an option in a dashboard which allow you to pause the subscription

daring lodge
upbeat grove
#

neither I have other plans visible and neither option to pause subscription

daring lodge
#

@upbeat grove You shouldnt share those links publicly as they allow access to private information on invoices (though i see this is test data)
But, you need to enable that feature in your dashboard settings since you're using the dashboard to create the portal sessions:
https://dashboard.stripe.com/test/settings/billing/portal

past yacht
#

@daring lodge stripe listen --forward-to=localhost:5000/St/webhook Port 5000 is http, while port 5001 is https

daring lodge
#

@past yacht that's up to you, for local development it shouldnt matter

upbeat grove
#

if I configure through the dashboard, Can I use those settings when creating portal via api

daring lodge
past yacht
#

Ok, second question after stripe listen (as above) I get this: > Ready! Your webhook signing secret is whsec_blahblah (^C to quit) and when I start typing "stripe trigger customer.created" nothing shows up, CTRL C I hope that ^ means CTRL, guess means stop listening. How do I need to do this?

daring lodge
#

@past yacht you need to have another terminal session to run the other command

#

a new tab/window whatever

#

the stripe listen command is long-running with output shown to you, you can't run other commands from there while its still running

upbeat grove
#

features.subscription_update.products

#

how can I make it so that user can select from all the available prices

#

I don't want to pass each price id

mighty hill
past yacht
#

@daring lodge ... thnx will play with it later

upbeat grove
#

via customer portal

mighty hill
upbeat grove
#

and should the config be outside of the view/api or inside?

#
class Portal(APIView):
    authentication_classes = [authentication.JWTAuthentication]
    permission_classes = [permissions.IsAuthenticated]

    def post(self, request):
        try:
            email = request.user.email
            customer = stripe.Customer.list(email=email)

            if not customer['data']:
                return Response({'status': "New User"}, status=status.HTTP_404_NOT_FOUND)

            else:
                customer_id = customer['data'][0]['id']
                session = stripe.billing_portal.Session.create(
                    customer=customer_id,
                    return_url='https://example.com/account', )
                return Response(session.url)

        except stripe.error.StripeError as e:
            return Response({'stripe_error': str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
#

this is my view for creating portal. should I add stripe.billing_portal.Configuration.create inside of it or outside.

#

just like stripe.api_key = 'sk_test' can be outside

mighty hill
#

Hang on, let me check something...

#

Yeah, I don't see any way to specify all Products/Prices/Plans are eligible for switching in the Portal. You need to specify the ones that can be switched between.

However, you can specify a default Portal configuration in the Dashboard: https://dashboard.stripe.com/test/settings/billing/portal

That will let you set the Products/Prices/Plans that can be used/selected by your customers in Portal sessions you create without a configuration: https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-configuration

#

@upbeat grove Will that ^ work for your use case?

upbeat grove
#

yes, if settings from dashboard can be applied to portals which are created via api. then it's awesome

mighty hill
upbeat grove
#

perfect

#

and if I want to add config per user, then I guess I will have to config it each time in the same function instead of setting it globally

mighty hill
#

Correct.

upbeat grove
#

and is it must to implement checkout for billing. I mean can't user just use customer portal?

surreal junco
#

so are webhooks the official way to tell my server that a payment intent was successful? processing the actual charge client-side with stripe js is a little different than I'm used to. I have that all working, but just need to implement something that tells my server-side code that it was successful

upbeat grove
#

webhooks are best in my opinion but I think client also get aware when the payment is successful and you can then inform you server about that. but I believe webhook will be best (not an expert)

mighty hill
mighty hill
upbeat grove
#

so, we want to implement subscription.
according to my understanding we need to implement checkout page + customer portal

#

checkout allows you to charge the client and customer portal to manage the subscription

mighty hill
upbeat grove
#

but that means customer portal cannot be used alone. customer portal only allows you to edit a subscription if you have

#

i mean customer portal

mighty hill
upbeat grove
#

yup got it.

mighty hill
upbeat grove
#

if I use checkout + portal then I guess I will need additional functions which will check for me whether the checkout should be displayed to the user or customer portal based on their subscription status

#

so the user which no subs should be displayed checkout and the one which have a subscription already a customer portal

mighty hill
#

Yep, that sounds correct.

surreal junco
#

so is it acceptable to create a customer record when they signup with my service, for use with all future payments, or should I only do it when they go to make a first payment

mighty hill
surreal junco
#

sweet thanks

#

I built a stripe app around a decade ago and not only has stripe changed but the web in general lol, just trying to verify things

mighty hill
#

No problem, we're here to help! 🙂

surreal junco
#

is there an api to purge stripe testing data? I'm wondering how to handle our automated testing. our testing process tests our app and api and that will inevitably involve stripe stuff, so we either need a clean slate or I need to hook up some kind of mock system to simulate stripe api responses

mighty hill
surreal junco
#

ya I'll have to research this later, it seems like it's not so simple. the only immediate concern is our automated "api" tests. in test mode, we wipe the test database so our data is 100% fresh every time, but if I'm also making a new customer record with stripe when a user account is created, I'll need to mock that response instead

mighty hill
surreal junco
#

our needs are likely very simple so that might work. creating customers, storing card data for them, processing single charges and handling errors.

fickle kindle
#

Is there a feature or function that is similar to lyft cash or starbucks wallet where a user can add cash on demand into their account and only use it in our app or cash out?

#

Or will I need to make something custom where I charge the user to "fill" their account and store the amount in our user database?

bleak breach
fickle kindle
surreal junco
#

so it seems like the paymentIntent system doesn't connect with the products/prices/coupons on the stripe end? seems like the paymentIntent relies on us to calculate the amount, so coupons and such have to be on our end

#

the products/prices seem to be just for subscriptions or the Checkout system

bleak breach
surreal junco
#

ok, I'm probably not going to use checkout but at the same time would have to manage the pricing/discounts on my end so there are pros/cons

grim bison
#

hello, in iOS what is the delegate STPPaymentContext for cancel?

sacred tinsel
#

G'day, I've got a question for you on Payment Links. Is there any way to configure a webhook callback to my server when a payment is made through payment links? And if so, to include a unique id (based on the customer) with the payment link that comes through on the webhook? Thanks

bleak breach
sacred tinsel
bleak breach
#

@sacred tinsel Not at this point unfortunately, although that's something we're working on with a Payment Links API

sacred tinsel
bleak breach
sacred tinsel
sudden epoch
#

I have got a question related to integrating Stripe with Destination accounts

#

what we need to do is use the platform account for fees and transfer the amount directly to another account

#

currently we are using connected accounts for this, but we want to use another platform account for this

#

can this be done using Destinations?

bleak breach
#

@sudden epoch That's what destination charges are for, the actual charge happens on the platform (which pays the fees) and then the remainder of the funds (minus your application fee) is transferred to the connected account

sudden epoch
#

@bleak breach yeah, understand

#

I am using this

#

but when I tried to use a platform account for the destination, it gives me this error

#

No such destination: 'acct_xxxxxxxx'

#

any idea?

bleak breach
#

Why are you setting the platform's account ID as the destination?

sudden epoch
#

We have got two accounts

#

Account 1 - acct_aaaaaa and Account2 - acct_bbbbbb

bleak breach
#

They need to be connected to one another for that to work

sudden epoch
#

ok, is there a guide on how to connect? I tried but could not find any

bleak breach
sudden epoch
#

I mean connect acct_bbbbb to acct_aaaaaa?

meager oasis
#

yep, that's what Connect standard is

#

if you don't need to do it programatically, you can send a link to connect acct_bbbbb to acct_aaaaa from the dashboard

#

that act_bbbbb would have to access

#

ideally, you do it in software though

sudden epoch
#

@meager oasis I don't need to do it programmatically

#

just need to use destinations when sending the payment

#

how would u do that?

bleak breach
sudden epoch
#

@bleak breach, let me try the link

#

yeah, should be one time, right?

meager oasis
#

Click on "create" in the upper right hand corner

#

Select the account type and country in the modal that pops up

#

Then it'll give you a link valid for 7 days to link the account

bleak breach
#

That's a little different as that creates a standard account, @sudden epoch already has an account and just wants to link the two

meager oasis
#

(should clarify that the first screenshot is in test mode as well)

#

If you have an account already, it prompts you to connect one?

bleak breach
#

Oops yep I was wrong, @meager oasis is right

meager oasis
#

There's no point in using anything but standard in this case

#

cause additional fees for whitelabeling a product for yourself 😛

#

When you enter the email, enter the email of the account that you want to connect to the first account. The Connect flow will prompt you for a the password to that account

#

probably shouldn't have dumped my email in that screenshot, but oh well

sudden epoch
#

It seems to work

#

Thanks guys

grim bison
#

hi, how to get card data from paymentOptions?

(lldb) po paymentContext.paymentOptions
<_TtGCs23_ContiguousArrayStorageP6Stripe16STPPaymentOption__$ 0x6000030af870>(
<Stripe.STPPaymentMethod: 0x600000226e00; stripeId = pm_1J3FHGDHWHBJWzY1RQ7ibHiN; alipay = nil; auBECSDebit = nil; bacsDebit = nil; bancontact = nil; billingDetails = Optional(<Stripe.STPPaymentMethodBillingDetails: 0x600001d6e2b0; name = ; phone = ; email = ; address = Optional(<Stripe.STPPaymentMethodAddress: 0x60000100ad00; line1 = ; line2 = ; city = ; state = ; postalCode = 22222; country = >)>); card = Optional(<Stripe.STPPaymentMethodCard: 0x600000c393b0; brand = Visa; checks = <Stripe.STPPaymentMethodCardChecks: 0x6000030a40f0; addressLine1Check: ; addressPostalCodeCheck: ; cvcCheck: >; country = US; expMonth = 2; expYear = 2022; funding = credit; last4 = 4242; fingerprint = ; networks = <Stripe.STPPaymentMethodCardNetworks: 0x6000030a5080; available: ["visa"]; preferred: >; threeDSecureUsage = <Stripe.STPPaymentMethodThreeDSecureUsage: 0x600003eb2160; supported: YES>; wallet = >); cardPresent = nil; created = Optional(2021-06-17 07:04:38 +0000); customerId = ; ideal = nil; eps = nil; fpx = nil; giropay = nil; netBanking = nil; oxxo = nil; grabPay = nil; payPal = nil; przelewy24 = nil; sepaDebit = nil; sofort = nil; upi = nil; afterpay_clearpay = nil; blik = nil; liveMode = NO; type = card>
)
#

doesn't seem to be objectForKey

#

^ for iOS

bleak breach
#

I don't know iOS at all, but the card details appear to be right there in STPPaymentMethodCard

grim bison
#

yes, it looks to be array but can't getObjectAtIndex: and not accessible as hash

#

it was artifact in debugger, all is well can access with duck typing

#

just with brand, is enum STPCardBrand

#

how to get NSString from STPCardBrand?

#

got it, I'll map from int

#

thanks, this helped

pure finch
#

Hey there, I have 2 pages of the form for donating (payment) on my site, the first page the donor selecting amount to donate and then he presses next, the second page the donor add personal details and card details and press 'donate' and this button the charge prosses run. What is the best practice to implement the Stripe payment? when to create what? when to create payment intent?

bleak breach
#

Hi @pure finch, a good place to create the PaymentIntent would be when you know the amount your user wants to donate. A good place would be to create it when your user clicks the 'donate' button, at which point you create the PaymentIntent on the server and pass back the client secret to be confirmed on the client

pure finch
#

Thanks @bleak breach

balmy river
#

Hi, I have an account set up with you but have forgotten my password. When I put in the email address it says it cannot find the email

bleak breach
#

Hi @balmy river, you should get in touch with support directly via https://support.stripe.com/contact/email

vocal wagon
#

Hello, how are you ? 🙂
I have a service where a customer subscribe and pay monthly. He can invite users to join his group. I would like to allow users to participate financially at the subscription : for example a user pay for one month and the customer is not charged the next month (it's a kitty). How can I achieve that please ?

bleak breach
vocal wagon
#

@bleak breach thank you Paul, can you hint me about what you think I can do please ?

bleak breach
#

If you want multiple customers to be charged for a single subscription, that's something you'd have to build yourself. Stripe doesn't have anything out of the box that does that

vocal wagon
#

OK. what would you recommend :

  • apply negative invoice item for next month
  • apply discount on next invoice
    ?
#

Hi Guys, i got a question. I have send a request for the klarna beta versiion, but how long is the wait till you hear from them

bleak breach
vocal wagon
#

The subscription price is 10 €. If I apply two discounts of 10 €, does the customer balance will be -10€ at some time ? and does he will not be charged for two month ?

mellow spear
#

@vocal wagon Yes that's correct.

#

Well, no not discounts - but you could do that with credit balance actually.

vocal wagon
#

@mellow spear that's interesting, but it will not work if the customer has multiple subscriptions : I cannot choose which one should be not charged...

mellow spear
#

That's correct.

#

I'm not sure there's really a mechanism within Stripe that will allow you to do what you're trying to do here, except possibly adding negative invoice items directly to the invoice when you're notified via webhook.

hallow lake
#

Hi, is there any standard method to make subscriptions post-paid instead of pre-paid?

meager hawk
#

@hallow lake hi there! Not really, all types of pricing plan, except for https://stripe.com/docs/billing/subscriptions/metered-billing, are invoiced in advance. What you could do is, use a $0 pricing plan, and then each month when an invoice is generated at the end of the cycle(https://stripe.com/docs/billing/invoices/subscription#subscription-renewal), listen to a webhook and then add an invoice item that represents the cost for the past month(https://stripe.com/docs/billing/invoices/subscription#adding-draft-invoice-items). But really billing an arrears(post-paid) is not really how this part of Stripe natively works so there's no clear way.

vocal wagon
#

Hi, is there any way to contact a real support person? For no reason my account has been blocked and I would just like to have more information other than an automatic response from a bot

hollow prairie
vocal wagon
hollow prairie
vocal wagon
#

@mellow spear OK thank you, I will try something . Have a nice day

hollow prairie
vocal wagon
#

Hello, an amount has been debited from my account and I don't know why

hollow prairie
vocal wagon
#

Stripe user

hollow prairie
vocal wagon
#

hello

hollow prairie
vocal wagon
#

I have an account and the money on the account takes time to be transfered on my bank account

hollow prairie
languid dew
#

How do most of your French clients handle invoicing with mandatory legal mentions ?

vocal wagon
#

the client did the payment 17 days ago, and I received nothing yet

hollow prairie
hollow prairie
pallid gulch
#

hello, am new in this group, sorry for English is not my native language.

hollow prairie
#

@pallid gulch Hello!

pallid gulch
#

I want to know if checkout supports klarna,Is there anyone here who can answer that

#

@hollow prairiehello

hollow prairie
pallid gulch
#

and it's using the PaymentIntents API

languid dew
# hollow prairie Are you referring to a specific Stripe product like Checkout, or hosted Invoice ...

I am referring to PDF invoices, as we only have B2B clients, we always need to invoice them, and include legal fields on the footer.
https://www.frenchbusinessadvice.com/information-on-an-invoice

Company name, followed by Siren or Siret number;
RCS number for a merchant, followed by the name of the city where the registry office is located;
Number in the Trades Directory for an artisan (Siren + RM + number of the registration department);
Address of the registered office (and not of the establishment);
If the enterprise is a company, mention of the legal form (EURL, SARL, SA, SNC, SAS) and the amount of the share capital.

#

Currently, this is handled by Octobat, as well as VAT, but we'd like to stop depending on that company in long-term.

hollow prairie
meager hawk
#

@pallid gulch right now Klarna is only accepted through the Sources API, we haven't brought it to PaymentIntents or to Checkout yet, but we would like to in the future!

hollow prairie
pallid gulch
hollow prairie
hollow prairie
#

Yes, you can use it with Sources today!

languid dew
#

When requesting POST /subscriptions/{subscriptionId}, setting item[index][deleted] = true is allowed, but how can I read that state using GET /subscriptions/{subscriptionId} ? Thanks

pallid gulch
#

so i can test it in test environment?

hollow prairie
pallid gulch
#

@hollow prairie thank you very much. and i want ask a product question. The account of buyer and seller must be in the same country?

hollow prairie