#dev-help

1 messages · Page 109 of 1

hollow prairie
languid dew
#

Oh, nice, thanks

hollow prairie
pallid gulch
#

sorry, i means Klarna.

vocal wagon
#

Hello there, I set up an account and don't know how to include extra fields ( for shipping adress for example)

meager hawk
#

@vocal wagon hello there — can you clarify a little, how do you take payments(Elements or Checkout or something else?) You're trying to accept a shipping address from customers when they enter payment information?

pallid gulch
#

if the merchant register on US, and some body register on UK, and the currency is USD, the buyer's account support USD yet. so the transaction will success or not ? thanks. @hollow prairie

languid dew
#

What's the format of the items[index][tax_rates] field in POST /subscriptions/{subscriptionId} ? Thanks

hollow prairie
meager hawk
#

@languid dew it's an array of strings of object IDs of TaxRates like ["txr_123", "txr_456"]

languid dew
#

Thanks !

pallid gulch
#

@hollow prairieThanks.

grim socket
#

Hi Stripe helpers! What is that website called where you can share your code through a url link?

#

I've forgot what it is called as I need to share my code with you

hollow prairie
grim socket
#

Oh great I remember that one. Thanks

#

what's the other one for those who don't have a github

#

Oh its fine now I have it sorted.

grim socket
#

So here is my create-checkout-session.php file: https://pastebin.pl/view/5fcd8342, and here is my index.php file: https://pastebin.pl/view/9bce7fc3. So the problem I am having is passing the total price which is on line 101 of index.php to the create-checkout-session.php file. Could you please help me on this as I have been struggling on this for quite a while now! Thanks.

grim socket
#

Thanks!

vocal wagon
#

Anybody can help,Why my account isn't eligible ?

hollow prairie
hollow prairie
grim socket
#

The total price on the stripe checkout

#

On line 101 of index.php I have the total price but I don't know how to pass that to the create-checkout-session.php file

#

At the moment it is just £10 but not the cart total which is stated on line 101 of index.php

hollow prairie
grim socket
#

Okay I'm still a bit confused.

#

Because when I do try to pass it as a form it just echo the checkout session id and doesn't load stripe checkout

meager hawk
#

@grim socket well I see you have a hidden input there. So presumably what you did at some point was have a <form action="create-checkout-session.php" > ?

grim socket
#

Yes that's right

#

But when I did try to submit, it just echoed the checkout session id

meager hawk
#

ok, then the reason it just "echos the checkout session id" is that's all that create-checkout-session script does, it's not designed to be a form action since it doesn't contain any HTML to echo back, it's intended to be used in an AJAX-y way , which is why there's Javascript to call it via fetch

#

luckily though there's an easier way. So for now, go with what you had there, with the <form>

#

like

header("Location: ".$checkout_session->url);
die();

I think

#

(that url property is new and the docs aren't updated yet, but I think you'll find this is a much easier/more natural way to do it)

#

then you can simply read your $_POST["price"] hidden input in the script too!

grim socket
#

So would the header go after line 28 on create-checkout-session.php?

meager hawk
#

you'd replace line 28 with it yeah

grim socket
#

Ohh okay so essentially get rid of the echo statement on line 28

#

And replace it with the header you suggested?

meager hawk
#

yep

#

if you use url like this you don't need the Javascript that's calling fetch and stripe.redirectToCheckout(..) etc either since you're just doing a simple redirect now

#

as I said url is quite new but it's a much easier way to use Checkout, the docs will be updated soon

grim socket
#

Okay thanks. I'll try do that now!

wraith spade
#

we are trying to integrate stripe split payment on a wordpress website which is actually hosted on a shared server

#

but some error is coming that is not able to connect stripe and payout, can anybody help

hollow prairie
#

@wraith spade Hello. Are you seeing an explicit error? Can you share details of any API requests?

wraith spade
#

yes hold on checking

grim socket
#

@meager hawk Thanks so much I have it working now. I have been pulling my hair out this past week trying to get this working!!

meager hawk
#

great! But no worries, it was a bit trickier before url existed(it was only added yesterday) so I'm glad it's a useful shortcut here

grim socket
#

Really useful! I always found fetch a bit too confusing.

languid dew
#

Hello, I got an HTTP 400 on POST /subscriptions/{subscriptionId} while trying to delete a subscription item and add a new one, request ID is req_Y8SwiJYbXJWGSv, message is No subscription item with this ID (nil) on the subscription., thanks

wraith spade
#

no explicit error

meager hawk
#

@languid dew as you can see, you're not passing the ID of a SubscriptionItem (si_xxx ) so you must have a bug in your code. To be clear the index is irrelevant here

uncut hazel
#

Hey @meager hawk @hollow prairie
I was wondering, if I create an express connected account with API and share the onboarding link with my users, how long would it take to enable the connected accounts after they pass the onboarding? Is there some time for verification on the stripe side, or is it instant, like with test mode users?

hollow prairie
meager hawk
#

to delete the item you have to pass like items:[{id:"si_xxx", deleted:true}]

languid dew
#

And, to add, in the same request ?

wraith spade
#

ok will do so

meager hawk
#

@uncut hazel there isn't really a specific time frame we can give since it really depends! It's async and that's all we can say really, sometimes there might need to be some manual intervention to check a blurry ID document or so on, sometimes everything can be handled programmatically quickly. It should be fairly fast in the general case.

vocal wagon
#

Hello, nice to meet you all

hollow prairie
wraith spade
#

hello

vocal wagon
#

Before we dive into developing anything.

hollow prairie
vocal wagon
# hollow prairie Sure is! How can I help?

Thank you! All we need to know is if Stripe Connect is a “limited” product.
Does the sales team has to approve your product/business for you to use it? (Just a few details on the product/business: It is a c2c marketplace, company is incorporated in the US)

meager hawk
uncut hazel
#

@meager hawk please note that I use express account and there's no ID verification, as I see in the onboarding. Only email, phone, business type and bank account details

As per documentation - it says
With Express accounts, you can quickly onboard users so they can be paid immediately.

pallid tide
#

So what do I do if the acct I was transferring money to gets closed by yall and I didn't get my money first?

hollow prairie
meager hawk
#

@uncut hazel well that's not exactly true, there can be ID verification sometimes — if we can't verify the user based on the information provided we will reach out for an ID document, it depends!

vocal wagon
languid dew
meager hawk
#

@languid dew that would be because you didn't pass the id ! That's really improtant

languid dew
#

So I must get the existing ID then pass it with a new price ID ?

meager hawk
hollow prairie
wraith spade
#

@hollow prairie in stripe split payment to be integrated to wordpress, does normal stripe work or need to use stripe marketplace or such? can you advise

languid dew
#

I read it but there's no comment in the code so it's not exactly explicit on what parameter is needed for which purpose xD

vocal wagon
hollow prairie
uncut hazel
#

@meager hawk oh, I see, thanks

vocal wagon
#

As you probably know, this kind of products are usually limited behind approval-walls. So our question is if Stripe Connect is available to startups/very small businesses or not.

Thank you again.

hollow prairie
#

@vocal wagon Assuming your account is verified, you can use Connect yes.

vocal wagon
#

is every account belonging to a business on Stripe verified?

#

Is verifying your account part of the sign-up process?

hollow prairie
#

@vocal wagon As I said, these questions are best suited for support. This channel is more focussed on developer integration questions. https://support.stripe.com/contact

vocal wagon
hollow prairie
vocal wagon
meager hawk
languid dew
#

Is the quantity property at root of the GET /subscriptions/{subscriptionId} response object the same as the quantity property at items.data[0] ?

wraith spade
#

hey @hollow prairie can you atleast let me know this whether for stripe split payment which will split the payment from the customer between seller, admin and stripe fee do we need to use stripe marketplace or normal stripe platform would suffice?

vocal wagon
vocal wagon
hollow prairie
vocal wagon
meager hawk
#

@languid dew yes, at least if you only have one item in the list, but please just ignore that one at the root, it's deprecated and legacy :p it's from before you _could _ have more than one item

#

@vocal wagon anyone can use it, as you say, you just sign up and start integrating, you don't need some pre-approval beyond just having an account and activating Connect in your settings.

vocal wagon
#

very important question👆🏻

#

I can create my business an account and verify it with documents in a few minutes, and just start developing?

BTW, Stripe documentation is amazing.

meager hawk
#

@vocal wagon Your understanding seems correct! I'm not going to comment on other companies or such, this is all off-topic I'm afraid, I'm a developer and this is a channel for technical coding questions!

languid dew
#

Would it possible to download the entire Stripe documentation as a PDF file ?

vocal wagon
#

Have a nice day @meager hawk

#

You too @hollow prairie

hollow prairie
languid dew
#

Okay

#

Is it planned to have an OpenAPI version of the documentation ?

languid dew
bleak breach
languid dew
#

That's nice, although I was asking in hope not to have to open the docs in the browser ^^

daring lodge
#

mornin' folks

sturdy flower
#

Hi guys, need help, I am having issue with payments, I have integrated corrrectly and on logs i am receiving 200ok but anyways transactions is not appearing on the list of transactions

meager hawk
#

@sturdy flower hi! That looks like you've only created Tokens, which are not payments, it's just the first step of collecting the information from the customer. You have to next use the Token to create a Charge on your backend server, typically, so you may be missing that part? What guide are you following?

sturdy flower
#

@meager hawk could you send me please instruction how to create token to charge ?

meager hawk
#

@sturdy flower well, you actually shouldn't be creating Tokens at all, it's a legacy integration path and would for example not support 3D Secure payments which is quite important. I'd suggest starting with one of the options at https://stripe.com/docs/payments/accept-a-payment instead!

sturdy flower
#

Thanks, i will try to implement.

flat verge
#

Idk if I'm in the right place. But I need my 1099 from 2019 Doordash. Any idea how I would obtain this?

daring lodge
#

@flat verge For help with this you should contact Doordash or Stripe support if they already directed you to Stripe.
https://support.stripe.com/contact
This channel is for developers to get help with their Stripe integrations.

flat verge
#

Okay thank you

daring lodge
#

you're welcome 🙂

bold perch
#

Hi, I am checking on the Stripe Connect feature for allowing subscription management for clients in our platform

#

My question is , if we use Standard accounts, will we receive web hook notifications in our server?

#

For example if any subscription canceled or something like that happens.

daring lodge
bold perch
#

Ok, thanks. let me check your link.

#

I can see, there are 6 events mentioned in the doc.

#

But as you said, I can assume, any events should work with connect webhooks?

daring lodge
#

Those are the events that are about changes to the account itself, onboarding and identity verification etc. All the other payment related events are available, too.

bold perch
#

Ok, thank you very much!

daring lodge
#

you're welcome 🙂

languid dew
#

Any ETA on Stripe Tax public release ?

daring lodge
#

But more specifically than that, no i don't know sorry

languid dew
#

Yes but, what are the requirements to get accepted ?

#

I guess it's invite-only for a reason, so I'd suppose not knowing the reason means not getting access

wild dagger
#

Hello, I have a very specific question about onboarding with Standard accounts. Currently we query an account using the API to find out if there are any outstanding requirements that need to be addressed. We have noticed that for a fairly long period of time after a new Standard account is connected and onboarding begins, that the account object that is returned from the https://api.stripe.com/v1/accounts endpoint has all of the relevant information referenced in the API documentation but is specifically missing the requirements property. Any idea why this would be? When we log into our dashboard and look at the newly onboarded account, we see that it has a pending identity document status. (we'd expect that that would be in the requirements object form our API request previously but is not.)

daring lodge
#

@languid dew I don't know those conditions but if you have an account already you can always reach out directly via support, too

wild dagger
#

@daring lodge Is this the right place to ask this type of question?

daring lodge
#

@wild dagger hello! yes, it's a great question, just pulling up some info 🙂

wild dagger
#

Awesome, thank you! 🙂 It's a strange one, based on the documentation that I've read, the requirements property should always be there even if empty....very odd.

daring lodge
#

@wild dagger are these standard accounts you're creating as your platform or existing accounts?

wild dagger
#

@daring lodge They are standard accounts being managed by us (our application).

#

@daring lodge It appears that we might be calling the API to get the account information with the connected accounts API key, not our API key. Could this be why there is no requirements property?

daring lodge
#

Try the request using your platform secret key and compare - in my test i was getting the requirements after creating & starting onboarding for a new account

wild dagger
#

@daring lodge Whoops! 😦

#

Thanks for your help! I have one simple (I hope) followup question.

#

Using test data, how long should we have to wait for identity verification?

#

This one is pending, and has been for about an hour.

daring lodge
#

@wild dagger hmm it should not take that long for test mode. Are you sure you provided all the test values?

#

Do you have an example account i can inspect?

languid dew
#

Without using Stripe Tax, and while selling only from France but to the entire world, can I make Stripe automatically add VAT to French customers, remove it if those are B2B clients providing a VAT ID, and not adding it for international customers ?

wild dagger
#

@daring lodge I'll PM you it.

#

ah, I can't

daring lodge
#

You can safely share an account id here

wild dagger
#

ok

#

acct_1J3LWE2EkWEhdIRc

daring lodge
#

@languid dew without Stripe Tax you need to provide tax rates explicitly

safe fiber
#

morning 👋 i had a question about "sigma.scheduled_query_run.created" events

#

is there no way to direct someone to sigma when i receive this webhook?

#

so they can just run the query themselves again?

daring lodge
wild dagger
#

Oh, what a silly mistake. Okay, I can't change that now can I?

daring lodge
#

@safe fiber hey there 👋 what do you mean by "direct them to sigma" here?

#

@wild dagger If you can log into the account you may be able to repalce the data, but it might be easier to create a new test account

wild dagger
#

Okay, thanks @daring lodge ! 👍

safe fiber
#

@daring lodge like give them a link back to sigma

#

we are setting up some code so that when we get a sigma scheduled run notification from stripe, we first check if there are actual results, and only if there are results we ping someone in slack to go look into it

#

it is our way to monitor for subscriptions in a weird state

daring lodge
#

@safe fiber i see. honestly i don't use sigma much, but assuming your users have dashboard access to the relevant places you should be able to construct a URL using the ID in the event

#

@safe fiber (the dashboard may change path structures in future)

safe fiber
#

hm, the id in the event is sqr_

daring lodge
#

@safe fiber can you share a full example id?

safe fiber
#

but in sigma when i navigate around they are scq_

#

i suspect scheduled_query_run vs scheduled_query ?

#

i.e. the i'm getting a result for an actual "run" and not the query that triggered the run... 🤔

#

well that is nifty 😅

daring lodge
#

Based on what i see that doesn't look to be possible then -- I think you'd need to build access to the file result in your app (or download and put in slack programmatically, eg)

safe fiber
#

hmm... that is sub optimal...

#

i will try to figure something out

#

@daring lodge can i put in a feature request 🤣

#

would be rl rl nice to include the query id with the query run 😄

languid dew
#

Is it possible to totally remove the "contact" footer from an invoice and put our own text at this place ? Thanks

vocal wagon
#

Hey there! Any idea how to fix this? ERROR: Unrecognized request URL (POST: /v1/customers//subscriptions). If you are trying to list objects, remove the trailing slash. If you are trying to retrieve an object, make sure you passed a valid (non-empty) identifier in your code.

bold basalt
#

@languid dew hello! one sec

languid dew
#

Hey 🙂

bold basalt
#

@vocal wagon hello, a valid URL would be of shape /v1/customers/cus_123/subscriptions
It looks like your code is supposed to pass a Customer ID in there but due to some bug in your code, it is nil or empty string so the ID isn't getting passed on, I would add logs to your code to help you troubleshoot

vocal wagon
#

Problem is it's not my code, it's a wordpress plugin (memberpress)

bold basalt
#

@vocal wagon then that means it is originating from the plugin, where their code should be passing a customer ID but isn't, I would reach out to the plugin's support team for help on that

languid dew
#

Checking the option to hide phone number displays the email address instead, and there seem to be no way to remove that.
The "footer" text feature isn't a real footer as it is located just below the invoice items and not at the bottom of the document.

odd plover
#

hello, ngx-stripe doesn't have support for making oxxo payments?, i can't create payment methods and confirm payments.

languid dew
#

Also, does Stripe Billing allows preventing users from selecting a product that does not have features that the user's current subscription includes ?

vocal wagon
#

Thank you @bold basalt . Was hoping there was an easy fix!

daring lodge
#

@safe fiber ah sorry, i'd stepped away. yea. this would be a feature request, but beyond the anchor URL I don't even see how you access the results that way (vs downloading the result file). What's the flow you follow here for an example case?

bold basalt
bold basalt
bold basalt
bold basalt
safe fiber
safe fiber
#

i mean it kinda makes sense since a run is a snapshot of that time when the query was run... if you went back to the query itself and ran it, it might show different results 🤷‍♀️

#

ah well, i'll figure it out. thanks @daring lodge chat with you all in probably in a little bit 🤣

bold basalt
odd plover
#

@bold basalt no, the stripe service does not have that function

daring lodge
#

@safe fiber Gotcha - yea it's not clear what the behaviour would be exactly, but given an expectation we'd be happy to share your feedback. I would say that maybe you want to look at building a small page accessible internally that can download the result file linked in the event

#

and skip the dashboard flow entirely

odd plover
bold basalt
#

@odd plover have you included <@&842587580419932161>/stripe-js into your project?

odd plover
bold basalt
#

@odd plover so stripe-js is just a wrapper over Stripe.js and that should have confirmOxxoPayment()in it.

odd plover
vocal wagon
#

I NEED HELP

cerulean pineBOT
#
STOP#0402 has been warned

Reason: Capital letters

vocal wagon
#

WTF

#

i need helpo

#

any admin

#

pls

#

i lost 300 euro worth of balance out of nowhere

bold basalt
#

@vocal wagon hello! account/balance related questions are 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.

vocal wagon
#

how can i contact

#

stripe?

#

any number

bold basalt
#

@vocal wagon I linked you the Support link above ( https://support.stripe.com/contact) , it will have email or chat options (depending on availability).
This question can't be handled in this channel, this is a public forum for developer/API based questions, hope that helps!

vocal wagon
#

bruh fuck off scammers

#

literally scammers

#

had 300 euro there out of nowhere 0 balance

bold basalt
#

@vocal wagon please don't share screenshots of your account here, as I mentioned, this is a public forum! Second, this is a developer forum, I can't help you here as that is the Support team's purview on account related questions. Lastly, let's please stay civil, I'm trying to help you and route you to the right team here.

ornate timber
#

Good morning.

#

How would I let my customer update his CC when the existing CC get declined? Now Stripe sends an email to my client informing him the CC is declined you and you need to update the CC info but when he clinks on that like thats in that email it takes the client to my website home page

bold basalt
#

@ornate timber hello! what is your integration using, Subscriptions?

ornate timber
#

I don't have integration. yes I have subscriptions

#

can you tell me what do I need to do in steps and in an easy way please? I am not a programmer

bold basalt
#

@ornate timber ah I see what you mean, so the link in that email is configurable. You would have to work with your developer to get the Customer linked to a page where you can authenticate them and have them update their credit card and set that as the default card on their Subscription.

The email button's link is configured at the 👁️ button on "Send emails when card payments fail" toggle on https://dashboard.stripe.com/settings/billing/automatic

ornate timber
#

I don't have a developer, Is there a code needs to be added? if yes where is the code and where to add it?

bold basalt
#

@ornate timber you'll have to work with or hire a developer to do that, it involves multiple steps, all that mostly pertain to how your website + backend authenticate a customer and interact with the Stripe API, this won't be something quick or copy-paste ready that I can share

ornate timber
#

does that mean a customer needs to create an account then login to his account to be able to change his CC info

bold basalt
#

@ornate timber you could implement that ideally, yes. You want to have some way to correlate who the customer coming to your page is, what Subscription belongs to them, etc.

ornate timber
#

I don't need that. I don't want customers creating account and all that. what I need is just a simple link where a customer can click on update my card and he can update it

#

Is there any tutorial showing how this could be done ?

bold basalt
#

@ornate timber this would still involve some code but you could integrate with Customer Portal, it allows showing a Customer a Stripe hosted page that allows them to change their card: https://stripe.com/docs/billing/subscriptions/customer-portal
But really there's no one-click-link approach to doing this. How are you currently creating Subscriptions btw? PaymentLinks?

ornate timber
#

Ok, Thanks

meager oasis
#

Does the WisePOS E run Android on the device?

meager oasis
#

I mean, I was already excited, but now I'm REALLY excited

#

Does it support Mobile network connections?

#

Or only Wifi

#

and how can i get access to one early, I am too excited for this now

bold basalt
#

@meager oasis I think Wifi only

meager oasis
#

That makes sense, mobile networks are a pain to deal with

#

But is there any way I can be approved to order it early? I've already got the WisePad (and I absolutely adore it)

bold basalt
meager oasis
#

Thank you thank you!

valid raven
#

Been trying to setup an automation via Integromat to send me an email when a recurring payment declines so I can reach out to the client, but the webhook I've setup to trigger on 'Payment Intent - Payment Failed' does not trigger the automation and I cant figure out why...? Anyone done this successfully?

mighty hill
valid raven
odd plover
#

@bold basalt

valid raven
odd plover
#

@bold basalt

mighty hill
odd plover
#

Any ideas?

mighty hill
# odd plover

@bold basalt had to step away, let me catch up so I can assist...

odd plover
#

ok

valid raven
mighty hill
mighty hill
mighty hill
obsidian birch
#

I have money in my Stripe account that I’m trying to transfer to my bank account. However can’t login with email/password nor SSO.

mighty hill
hallow lake
#

Hi again, how can I do proration if I use this technique?

mighty hill
#

@hallow lake Hello! @meager hawk had to step away, but I'd be happy to help! Let me get caught up...

#

@hallow lake So you're trying to create post-paid Subscriptions that allow for proration? Can you provide more details, like an example scenario, of what you want to do exactly?

nova bolt
#

Hello there

#

I have a quick concern related to stripe

#

can anyone please help

mighty hill
#

@nova bolt What's up?

nova bolt
#

does stripe provide an escrow service?

mighty hill
nova bolt
#

i have a platform where we connect the customer and a service provider. if the customer books for a service...then at the time of booking the service system should charge the customer but the service provider will receive the money deducted from the customer only after the service is successfully conducted

mighty hill
#

@nova bolt That sounds like something that may be supported on Stripe. Do you have questions about the info box on the page I linked to?

nova bolt
#

i checked that but i still couldnt get a clear answer to that

#

how can i get connected to a sales representative

#

whoc could help me understand stripe the most in detail

mighty hill
hallow lake
crimson needle
#

@hallow lake why don't you use normal proration in that case?

hallow lake
crimson needle
#

yeah I'm just trying to figure out the way. Why not upgrade the subscription's quantity mid month?

#

I'm also unclear what you are trying to achieve. Are you blocked on how to calculate the proration amount yourself?

lusty crow
#

hello quick question (new to all this) does stripe hold customers CC info

edgy axle
#

@lusty crow Stripe can with Payment intents if that's what you mean

lusty crow
#

i have a moon bouce rental company and if i need to charge for damages after pick up is that possible?

crimson needle
#

yes it is, you can save card details as part of a payment and later attempt to charge them again (though the bank could decline, and the cardholder can dispute the charge so you'll need a clear policy on your website that they agree to and such)

lusty crow
#

they sign waivers and liability forms before dropoff stating they are responsible for damges at drop off

crimson needle
lusty crow
#

so would just have to provide evidence that they acknowledge that they are responsible for any damages with signed forms

crimson needle
#

I think so. That's more a "what happens if I get a dispute and then try to contest it" so you'd want to read some of the advice on https://stripe.com/docs/disputes but in terms of the API integration this is really easy yes!

lusty crow
#

will read up thanks for the info

hallow lake
crimson needle
#

@hallow lake I'm sorry for being cryptic, but I don't get it. You can prorate right now, it creates a pending invoice item and it will be added to the next invoice automatically. Which is the same as you waiting for the next invoice and then calculating the proration that should have happened and adding the invoice item yourself no?

hallow lake
crimson needle
#

But why not just update the subscription mid month. It will prorate automatically. All calculations are done for you (tax, discounts, etc.) and the invoice item stays pending and isn't invoiced until next month which matches what you want

tight apex
#

hey guys i have a question. for some reason im not able to payout. i don't see the automatic payout button when i look at my balance, and i clearly have money in there. Please help, its kinda urgent.

dim hearth
still bough
#

Hello, I am not sure if I'm in the right place. I am not a developer - just a small business owner. Can you help me with something...? I have a customer whose payments failed on two different subscription products. Where do I send him to update the default payment info for future subscription payments?

crimson needle
#

@still bough it depends a bit on your integration here. Do you use a third party to accept payments with Stripe?

still bough
#

yes, we use FG Funnels

crimson needle
#

@still bough so you'd likely want to ask them. Most our products require writing code. We do have an easy way to let customers update their card details but you need to write the code for it and it won't be compatible with that app. I'd recommend contacting them for help

still bough
#

ok. Thanks!

past yacht
#

Stripe.net CLI what does this mean in the context of Stripe (HTTP 307 error:

#

stripe listen --forward-to localhost:5000/api/St/Webhook
A newer version of the Stripe CLI is available, please update to: v1.6.4

Ready! Your webhook signing secret is whsec_blahblahy (^C to quit)
2021-06-17 21:17:55 --> customer.created [evt_1J3WLEC3TMb6uelZMXgZBSbY]
2021-06-17 21:17:55 <-- [307] POST http://localhost:5000/api/St/Webhook [evt_1J3WLEC3TMb6uelZMXgZBSbY]

bleak breach
#

@past yacht That 307 is a temporary redirect, and it appears to be coming from your server when the Stripe CLI forwards the webhook event to your localhost

round path
#

@everyone
I got scammed by one of person . I dont have stripe account but i made a transaction through stripe . How can i talk with support i couldn't .please help

#

How can i talk to them on call or any email so i can talk to them?

past yacht
#

@Paul I have a live endpoint, and I have a local endpoint, why it is sending my customer created trigger to live?

bleak breach
#

@round path You should reach out to support here: https://support.stripe.com/contact/email

round path
bleak breach
#

For Connect webhooks, it’s important to note that while only test webhooks will be sent to your development webhook URLs, both live and test webhooks will be sent to your production webhook URLs. This is due to the fact that you can perform both live and test transactions under a production application. For this reason, we recommend you check the livemode value when receiving an event webhook to know what action, if any, should be taken.

final verge
#

Hi everyone, react/react native dev here.

I'm dealing with pre-authorized debits for Canada and I would like to display Stripe's mandate UI on React Native. I was wondering if the React Native stripe SDK has the built in screen for React Native, I took a look at the source code, but it doesn't seem to have it. The one for web works fine, the docs are pretty clear for React, but for React native it's a bit more confusing. Any help would be much appreciated!

bleak breach
final verge
#

Thank you so much!

past yacht
#

I am not concerned about my live endpoint at this point, it is handling these customer.created triggers as expected, but how about my local endpoint? Seems like it is not hitting my breakpoint inside the controller action method.

#

@Paul my action method looks pretty much like what you have linked to.

#

@Paul this is not a Connect webhook

#

@bleak breach are we done for today?

mellow spear
#

@past yacht It looks like your server is returning a redirect, which Stripe's webhooks won't follow - so you wouldn't ever see the request on your server.

bleak breach
#

Hi @final verge thanks for waiting, which docs in particular were you looking at that had the mandate UI in react?

final verge
bleak breach
#

But it's definitely something we're working on, although I can't give you a timeline right now

final verge
#

@bleak breach no problem, I'm glad to at least know that it's not out yet. Thanks a lot for the help, I'm looking forward to Acss support on React Native whenever it comes out 😃

bleak breach
#

the React Native SDK is still in public beta so we're adding new features and payment methods all the time

final verge
#

I'll do that 🙂 thank you for all the answers to my questions, it's much appreciated

bleak breach
#

any time!

rough pawn
#

Hello, we are using connect to create subscriptions on connected accounts using direct charges. Is there a way to set up Subscription & Email settings for an express account?

mellow spear
rough pawn
#

@mellow spear Yes I'm aware of those recommendations. The reason we wanted to go with direct subscriptions here is because products & prices are customized by the account, and we wanted to keep those separate. We also have separate products & prices on the platform and didn't want to pollute those with user defined products

mellow spear
#

Cool. Unfortunately I don't think there's a way to change those settings for Express.

rough pawn
#

@mellow spear Gotcha. Is there a way to even know what those settings are? Is there a default?

mellow spear
bleak breach
#

@carmine hedge As long as you use a different key it won't be deleted. For instance if you initially set metadata to name: 'test' and then later update the metadata with city: 'london' you'll get {name: 'test', city: 'london'} back

#

For your second question, yes you can update the metadata of canceled PaymentIntents

pure crane
#

Hi, once a payment method has been successfully attached to a customer (in my case a credit cart), how can I let the customer reuse this card for another payment ? I'm using stripe card element. Thanks for help

bronze hedge
#

Hello, I'm trying to set up subscriptions with Stripe Connect, but the connected accounts are all in different countries. I'm using the Go SDK, but when I attempt to make a purchase, I get this error: "Cannot create a destination charge for connected accounts in FR because funds would be settled on the platform and the connected account is outside the platform's region". But if I try to specify OnBehalfOf, which exists as a field for SubscriptionParams in the Go SDK definition, I get the error :"Received unknown parameter: on_behalf_of","param":"on_behalf_of"

bleak breach
#

@bronze hedge on_behalf_of isn't supported when creating subscriptions, plus destination subscriptions aren't supported if the country of the connected account is "outside" your region. Instead you should look at creating subscriptions via direct charges: https://stripe.com/docs/connect/subscriptions#direct

carmine saddle
#

Hi, wondering if anyone has built Stripe payment&subscription in native Android app. Seems like my business need to pass the PCI verification if we do this native way instead of the sandbox way?

bleak breach
pure crane
# bleak breach <@!835908386025111582> When creating the PaymentIntent you'd provide the Payment...

Ok thanks, I see now what to do for the right configuration when I create the intent on the server. What I do currently on the client is: instanciate a <CardElement> element (currently it instanciate empty), on submit - retrieve from the server the client secret and confirm the payment using it. What is not clear for me is how I configure this CardElement so it bootstraps with a given payment methodId?

languid dew
#

Hey, is there a webhook fired when a customer subscription expires (either by payment failure or cancellation) ?

bleak breach
#

@pure crane Elements doesn't do that for you, what'd you would probably want to do is:

  1. First list a customer's PaymentMethods on your backend (https://stripe.com/docs/api/payment_methods/list) and return that to the client
  2. Let your user select with PaymentMethod they want to use
  3. Either confirm the PaymentIntent on the client with that ID (if you created a PaymentIntent earlier) or create a new PaymentIntent on your backend with the selected PaymentMethod and then do the rest of the confirmation flow
carmine saddle
bleak breach
pure crane
bleak breach
#

Yup that's right!

hallow lake
meager hawk
#

you mentioned "if a certain person is using 3 services from start and decides to use another in the middle of month" , and adding more quantity of a SubscriptionItem is not an update that would cause an immediate invoice for proration in most circumstances

#

did you test this and see an immediate proration being charged? If so, what's the sub_xxx subscription ID so I can take a look?

hallow lake
meager hawk
#

@hallow lake ok! so yep as I said(I think I suggested that), you can kind of sort of simulate post-paid billing that way. But it's really not at all how the product works so it's going to be a hack and messy to try to layer it on top.

Ok, in that case, I don't see an alternative to calculating the proration yourself really. So when they update in the middle of the month, you could calculate some prorated amount and add that as an invoice item(it will get pulled into the invoice at the end of the month and be charged). Sorry, but post-paid licensed plans just are not something the product natively supports so there's not a clean solution here.

pallid gulch
#

hello, i have tried test klarna in test environment , and made a createSource request, got the response as "invalid_request_error", no more debug message. i tried find the logs via dashbord, and no more also.

#

can you help to find the exact reason, thanks .the requestID is req_XNrZXyCh9mjnFS

meager hawk
#

unfortunately yes there can be some rough edges on that payment method and returning opaque errors, looking ...

carmine saddle
lilac turret
#

Hi, we've recently set up an account to allow for submission of customer card details under paymentintents, with no initial charge and an agreement that the card may be used in future as part of a cancellation policy. We've noticed some behaviour that 24-48 hrs after submitting details (and with events showing successful submission) a new setup intent event is created that then shows the status as 'requires payment method' - can anyone advise why these later events are occuring?

meager hawk
#

@pallid gulchI believe the problem is you are not passing the source_order parameter, and it's required.

#

if it helps these parameters work for me

{
  owner: {
    email: "test@example.com"
  },
  amount: "816",
  klarna: {
    product: "payment",
    purchase_country: "US",
  },
  currency: "usd",
  type: "klarna",
  source_order: {
      items: [{
        type: 'sku',
        parent: 'AB479202',
        description: 'Grey cotton T-shirt',
        quantity: 2,
        currency: 'eur',
        amount: 816,
     }],
  }
}
hallow lake
meager hawk
#

@lilac turret I would need to look at the event ID (evt_xxx), do you have it?

pure crane
#

Is there any api or metadata we can attach to the payment method to know if it is the "default"/"prefered" one for a given customer ?

hollow prairie
pallid gulch
#

@meager hawkthanks , i try it.

meager hawk
lilac turret
languid dew
#

Is it possible to add the customer's EU tax ID in the invoice ?

inner flame
#

Hello @all Is there any way to customize the stripe invoice "Initial fee" label based on conditionally?

meager hawk
#

@inner flame hi! most likely you can, it's most likely something you set in your code at some point. Do you have the in_xxx Invoice ID so I can have a look at how you created it?

bronze hedge
# bleak breach <@!728758198164783124> `on_behalf_of` isn't supported when creating subscription...

Makes sense. So from what I understand in the documentation, do I need to clone my customers? https://stripe.com/docs/connect/cloning-customers-across-accounts And if so, is this compatible with PaymentMethods, which I am using to currently process payments?

bleak breach
mortal nymph
#

Hey guys. Could you please check
in_1J3dtNKNSqBi9dJxdikUta3h ? I'm getting a paid subscription event twice and I don't really get why Oo

lofty harbor
#

Hello, we are planning to move to Stripe for our payments/subscriptions managements. We have an application available on multiple platforms(iOS/Mac/Windows/Android) and we would like to be able to manage different scenarios (Individual license, team/ corporate licenses). We are wondering about the best practices to integrate Stripe with a (non existing yet) solution managing user accounts management (for team) and licenses management. IS this the right place to discuss this and if not, what is the recommenced way?

inner flame
pallid gulch
#

@meager hawk hello, i add the source_order parameter, and request succeed. but there is no pay_later_redirect_url in response , the requestID is req_CYSc2VsZS6DCNN.

inner flame
#

WE used stripe Magento 2 extension

#

We have set auth and capture event on order place action

#

so that time stripe send invoice to the customer

pallid gulch
#

when i request the payment_intents_redirect_url, it's return message "Unfortunately we can't offer you 4 interest-free payments at this moment. Please choose a different payment method to complete your purchase."

meager hawk
#

@mortal nymph hi! can you click into those events and see if they're actually the same? For example, when an invoice is paid it does create a few types of event(invoice.paid but also charge.suceeded ) which is normal. Maybe the translation of those strings(I think it's Portuguese?) uses the same text for both.

bronze hedge
bleak breach
mortal nymph
meager hawk
#

@pallid gulch I believe that's expected for a customer based in the US, Klarna doesn't extend credit that way. You could try passing owner[address] with an address in a European country and I think you'd get the other categories.

mortal nymph
#

ye, they look the same

bleak breach
mortal nymph
#

oh one is invoice.payment_succeeded and hte other invoice.paid

meager hawk
#

@mortal nymph what are the event IDs of each one evt_xxx ?

#

@inner flame looking ..

pallid gulch
#

@meager hawkthanks, i will try it.

inner flame
mortal nymph
#

@meager hawk listen to only one of those is enough? invoice.paid or invoice.payment_succeeded

#

I'm listening to both

meager hawk
#

@inner flame ultimately that is controlled by the API call made : https://dashboard.stripe.com/test/logs/req_DjwMd2aBzidJsz so it can be changed. But you're using Magento, so you don't control that code/API call yourself right? So I can't really help you to change that, it's part of the plugin's own logic.

bleak breach
#

So if you don't anticipate doing that you can just listen to invoice.payment_succeeded, although invoice.paid is the more "complete" of the two

meager hawk
#

you only need to listen to invoice.paid. The other one is an older one that still gets created for legacy compatibility reasons

#

but yeah, it's confusing to have both, I agree!

languid dew
pallid gulch
#

@meager hawkhello, i tried add address, and no payment_intents_redirect_url also, the requestID is req_7N6Wla0j6PQi1g.thanks.

languid dew
meager hawk
#

@languid dew I don't know what you mean, can you explain in more detail? Those two events are not really related.

languid dew
#

Oops, I was confusing things, nevermind

meager hawk
languid dew
#

What's the proper webhook event when a subscription is paid and starts ?

meager hawk
#

@languid dew I'd personally listen to invoice.paid and inspect the billing_reason on the Invoice object in the payload and use that as my trigger for activating the subscription on my side

languid dew
#

Alright, thanks

pallid gulch
#

@meager hawk no yet. requestID is req_AkfHU2p8rrEgsf. thank you very much.

pallid tide
meager hawk
#

@pallid gulch I'd suggest writing to https://support.stripe.com/email , I don't have much other insight and there's likely something specific about using Klarna in the US. Looking at some other information internally I think also this works differently in test mode than in live mode unfortunately. Either way really, this shouldn't block you in building the integration, the payment categories the customer gets are variable and depend on Klarna's assessment of the customer so you' just programmatically handle the categories that are there.

pallid tide
#

I've gotten this message 2 times now... I can't get an account set up I do not have a business

meager hawk
pallid tide
#

I have been talking to them via email for more than 25 hrs now..... I need a faster way of communicating

#

??

pallid gulch
#

@meager hawkok, thanks a lot. i will try to contact support email.

upbeat grove
#

how can i use apple pay with flutter?

#

I want to implement simple accept payment option on flutter apps

meager hawk
#

@upbeat grove hi! I'm not sure I can give you a good answer, we don't have any official support for Flutter. I would start by investigating how to integrate with the native Apple Pay APIs perhaps. If you have a PKPayment object(which is final output of that integration) https://developer.apple.com/documentation/passkit/pkpayment there are ways to use that with Stripe.
But I don't really have a good answer for you, we don't have any experience with Flutter or official support.

fathom light
#

Hey stripe,

A little question regarding creating/connecting accounts to our platform, we use connected accounts. In our app, we use the stripe.accounts.create for new users, and then from that use the stripe.accountlinks.create to redirect user into your sign up flow, it seems to be working fine for users who don't have an stripe account, but when a user already have a stripe account and they log in with that, they get the option to choose between accounts that are connected to their mail and when they choose a specific account it's like next step ask them for business info and other stuff which should already be in the account and even when they finish that setup it seems that it just added a new account to their email.

Do you need some other endpoint when connection old accounts? or is there something I'm missing here?

meager hawk
#

@upbeat grove actually we do have a recommended Flutter SDK (https://pub.dev/packages/flutter_stripe) , but I actually have no experience with it myself so I can't really answer anything about it, but hopefully it helps a little

#

@fathom light hi! yes, if you use account.create and AccountLinks, it always creates a new Stripe account, just associated with the same user profile, like you say

#

but note that's only really intended for 'read-only' use cases like extensions(like you connect to an account to be able to provide some service like analysing their payments or generating reports etc), for actual payment processing the intention is it works like you say, a separate account is created for the user to use with your platform

upbeat grove
#

@meager hawk and what changes do i need to make on server side? do i need to add additional payment method while creating a checkout session?

#

to accept apple pay

meager hawk
#

@upbeat grove hmm. Well no, if you're using Checkout specifically, there's nothing you need to configure. Like payment_method_types:["card"] on the CheckoutSession includes Apple Pay, customers will have the option on the Checkout page if they're in a browser that supports it and has an Apple Pay wallet available.

#

it just works

#

but you mentioned using Flutter, which would be a native app, and not Checkout at all, so now I'm confused :p

upbeat grove
#

oh sorry my bad

#

so it will be payment intent instead of checkout session

#

and do you know if there are any limitations with apple pay

meager hawk
#

yes if you're building a native app you'd create a PaymentIntent on your backend (payment_method_types:["card"] again) and then on the frontend in the app, you can collect payment information(which can also be, using the native Apple Pay SDK on the device to get an Apple Pay token) and complete the payment there.

#

what kind of limitations are you thinking of?

fathom light
meager hawk
#

When connecting a second platform to a Standard account, the user will create a new account to use with your platform instead. The Connect Onboarding flow will automatically direct users to create the new account. Your platform will then be automatically connected to the new account that the user has created.

which I think is what you described seeing above

fathom light
#

Hmm I see, and that makes sense, the more i think about it 😅

languid dew
#

Is a credit note's PDF file available as soon as the credit_note.created webhook event is fired ?

meager hawk
#

hmm, good question 😅 I'd have to test it, one sec

#

For Invoices at least the PDF is not available until after the Invoice is finalized , but I don't think CreditNotes have that step

languid dew
#

Yes, and I'm only listening to invoice.paid so I have no problem with that

meager hawk
#

yeah, as you say, pdf should be available at the point of credit_note.created, I don't see any reason that would not be the case , there's no state machine for this object, it's just a field of the CreditNote when it gets created.

languid dew
#

Alright, thanks !

potent trout
#

Greetings, I have an application that needs 3d-verification for payment in iOS and Android. 3 out of 4 debitcards works as expected. the 4th creates a link that takes me out of the application to verify with 3d-secure in a webbrowser. I've talked with my bank who reffered to Stripe. Talked with the chatsupport and they reffered me to this documentation: https://stripe.com/docs/payments/3d-secure

My code for this is $paymentIntent = \Stripe\PaymentIntent::create([ 'amount' => $price, 'currency' => 'sek', 'payment_method_types' = ['card'], 'capture_method' => 'manual', 'customer' => $customer[0]->stripe_id ]);

Any ideas?

meager hawk
#

@potent trout hi! so to clarify, you are a developer writing native iOS and Android apps that take payments using our official stripe-ios/stripe-android SDKs? And you've seen a case where there's some issue for the end-customers completing 3D Secure because of getting redirected on some way?

potent trout
#

@meager hawk indeed, using the framework React Ionic, I have not made the frontend of the application only backend.

#

@meager hawk my guess is we do the 3d-secure through an iframe

meager hawk
#

@potent trout I'm not sure I can help much if you're not familiar with your frontend application and how it handles presenting 3D Secure to the user, since that seems to be where the problem is. It would have almost nothing to do with your backend code.

potent trout
#

@meager hawk

meager hawk
#

yep that looks like a WebView, of a page that's using our stripe.js library.

potent trout
meager hawk
#

you can but that's really not relevant.

potent trout
#

I see

meager hawk
#

3D Secure is something the customer's bank can choose to enforce

#

your issue is there's some problem with displaying it in your app

#

It's really hard to say more with specific details – the PaymentIntent pi_xxx and the exact code your app and webpage uses

#

there's also an issue where some banks have problems allowing their 3D Secure pages to be shown in an iframe. That's what your screenshot looks to me

potent trout
#

Regarding trouble with the iframe, what I have read up on is that the bank in question do not allow iframes. But when talking with them they reffered me to Stripe who could add that so it would be allowed

#

Could I send you an pi_XXX in a private DM?

meager hawk
#

yep, that is a thing we can do, if the bank has issues allowing their page to be framed (which is common for some Scandinavian banks unfortunately)there is a fallback we can enable, but it's not foolproof. https://support.stripe.com/email can help with it if you have the ID of the PaymentIntent pi_xxx where you had this problem so we can see the details of the card used.

Ultimately though what I'd suggest is changing your integration. If you manually redirect to 3D Secure yourself : https://stripe.com/docs/payments/3d-secure#manual-redirect instead of using stripe.js and confirmCardPayment I believe you'd have more compatibility here and it would unblock you.

#

you can just post the ID here if you like(the pi_xxx ID is not sensitive) and I can have a look, but I can't do anything beyond that really

potent trout
#

pi_1J3fk7ALfhnGkkrlUgogr9XE

#

All information given is usefull

meager hawk
#

interesting, that used 3D Secure v2, so you might have the wrong PaymentIntent there(this kind of issue should only really happen with 3D Secure v1). In any case this is well beyond the scope of what I can help with here — you should write to https://support.stripe.com/email with as much context as possible, PaymentIntent IDs, the frontend code you're using, the communication you had with this bank and we can look into it.

#

to save you some time though, as I said , the best solution here would be to manage 3D Secure yourself through manually redirecting on the frontend, or not using React Ionic and having native apps that use our native SDKs, but the latter is probably not really an option for you.

livid sequoia
#

I am using WooCommerce Stripe Payment Gateway
I need to accept the shipping fee First from the customer on checkout after 7 Day I need to take full amount of product
is this feature available in stripe

potent trout
#

@meager hawk Much obliged, I'll reffer to our chat and give them as much information as possible.

Yes, the latter is not an option at this time. I'll follow your advice.

meager hawk
#

right now you seem to like, have an app, with a WebView that opens a web page and the webpage uses stripe.js? It does kind of work, but can have a lot of incompatibilities when you get into this kind of world where that page then needs to show a page from some other third party(the bank) you don't control.

potent trout
#

This is how I understand that the system is built

#

to enable crossplatform compabillity with less code

meager hawk
#

@livid sequoia sure, you can take a payment now , save the card, and then charge it later, it's definitely supported(https://stripe.com/docs/payments/save-during-payment) . But you'd need to look at WooCommerce's docs/support for how that's accomplished through their platform as you're not using the Stripe API directly.

livid sequoia
meager hawk
echo fulcrum
#

what is the difference between the createSource and updateSource functions? Right now I have this bug where if a customer makes a payment for an order via credit card, and then later makes a payment for another order via a different payment method (wire transfers) the the 2nd payment won't go through and gets returned to the customers bank. My current implementation uses the updateSource function when the customer changes their payment method but for some reason source transactions are being created for the old source?

In the test-environment I changed the updateSource function to createSource instead and now it seems to work perfectly, customers can add/remove and change payment methods as they wish and the we always receive it. My question, what are the greater implications of using createSource instead of updateSource when a customer wants to use a new payment method

meager hawk
#

@echo fulcrum hi there! well at a high level one is creating a new payment method, while the other is updating an existing one. For the majority of Source types though you can't update the 'meaningful' details I believe, like you can't update things like the actual card number, or bank account number, the updateSource call is for changing stuff like the billing address/metadata. If you have a failed payment and want the customer to try a new payment method it makes sense to me you'd want to be using createSource.

#

it's hard to say more without a bit more detail/context(like you say "wire transfer" but what type of Source is that; do you have any src_xxx or other such things I can look at)

fathom light
meager hawk
#

@fathom light correct, you'd need read_write access to do that

fathom light
#

@meager hawk Ok - and there is no other way to give 2 platforms read_write access to an account? If the account approves it or write to stripe support?

Case is our customer has 4 hotels with an account for each of them already, and then should make 4 more accounts to handle our integration would be a lot of work for their team.

echo fulcrum
meager hawk
#

@fathom light it's not possible going forward no, it's a change we're in the middle or rolling out , it goes hand-in-hand with giving platforms more control over their Standard accounts(https://stripe.com/docs/connect/platform-controls-for-standard-accounts). So I'd stick with what you mentioned originally, using accounts.create and AccountLinks, but yes, it does result in some extra accounts, but that's the model for Connect going forward.

#

@echo fulcrum ah, well sepa_credit_transfer is a private beta and I don't know much about it. You seem to be talking about a specific customer/payment attempt so you should contact https://support.stripe.com/email with the specific IDs involved. I'm not really following ("it won't work" is quite vague) so I think it's easiest to write in for this kind of account-specific support.

It sounds to me like maybe you call charges.create and pass the customer ID? That would charge the customer's default source. The default source gets set when you call Customer.update(source=<ID>) , and is not set if you just call createSource or updateSource, so maybe the issue is something like that, it charges the card instead of the SEPA CT source or vice versa as there's confusion about managing the default payment source for the customer, that whole area can be tricky. It's impossible to say without looking at the specific example but support can help!

bronze laurel
#

Hi! I was wondering why the fees taken out of 2 payouts of the same amount were different?

meager hawk
#

@bronze laurel hi! that's really a better question for https://support.stripe.com/email , but if you have the IDs of the objects you're looking at , I can take a look! As far as I know though there aren't fees on payouts, the fee is taken on the incoming payment itself.

bronze laurel
#

sorry meant incoming payments.
ba_1J0f8hKV8PHCVUpB1PssojIK

pm_1IyO0xKV8PHCVUpBsjNA80dX

meager hawk
#

@bronze laurel will take a look, but I'm assuming one of those is ACH and the other is credit cards? They're priced differently.

bronze laurel
#

ahh ok thank you!

vocal wagon
#

Hello I found a problem with one customer related to Google Pay Now button: he's resident outside EU and on the website he sees the price of the item without EU VAT but when he clicks on the Pay Now button he sees the price With VAT. How can I solve this problem?

daring lodge
#

@vocal wagon hey there. how are you creating this payment?

vocal wagon
#

No it's already active

#

When a customers that has not to pay the VAT click on the button he sees the price with VAT

daring lodge
#

@vocal wagon sure, but this is your own code creating payments right? are you using the payment request button? checkout?

vocal wagon
#

I'm using the Pay Now feature of Stripe

#

On the product page, not checkout

daring lodge
#

@vocal wagon i'm not sure what you mean, that's not a feature I'm familiar with. is this from your stripe dashboard?

vocal wagon
#

Yes I've activated the Google Pay payment on the Checkout settings

#

The payment request button

daring lodge
#

@vocal wagon Are you using Stripe Checkout though? You're creating Checkout sessions? This is different than using the Payment Request Button via Stripe.js/Elements in your own checkout page.

heavy glade
#

Hi there! I'm trying to set a subscription to start in the future and go for 3 months then cancel using the schedules API. This works great when a customer has a payment method on file alreay. For a customer with no payment method on file, I'd like the behavior to be identical except that the subscription collection method be set to "send_invoice". This is my code: const schedule = cardOnFile
? await Stripe.subscriptionSchedules.create({
customer: finalCustomerId,
end_behavior: "cancel",
phases: [phase],
start_date: thisPaymentMethod.startDate,
})
: await Stripe.subscriptionSchedules.create({
customer: finalCustomerId,
end_behavior: "cancel",
phases: [phase],
start_date: thisPaymentMethod.startDate,
default_settings: {
collection_method: "send_invoice",
days_until_due: 30,
},
})

#

In the no card case I get an error "Received unknown parameter: default_settings[days_until_due]"

#

IF I remove the days_until_due parameter I get "Error: If invoice collection method is 'send_invoice', you must specify 'days_until_due'"

#

What is the best approach to use schedules and have the future subscription send an invoice?

vocal wagon
#

I'm using the Woocommerce checkout but the Pay Now button is in the product page, not in the checkout

hollow prairie
heavy glade
#

Thank you @hollow prairie ! 👍 I should come here sooner. Appreciate the help.

daring lodge
#

@vocal wagon Ah, so you're not actually managing the payment request creation yourself?

hollow prairie
#

@heavy glade Np! Let me know if I can answer anything else

vocal wagon
#

No

#

It's automatically "created" by Stripe

daring lodge
#

@vocal wagon The way this payment behaves is managed by the Woocommerce plugin, so you'll need to contact them for support to make sure your payment is working like you need it.

vocal wagon
#

Ah ok, thanks for your support

daring lodge
#

@vocal wagon no problem 🙂

sour ocean
#

hi

#

need help for update

#

the bank

daring lodge
#

@sour ocean hey there. can you say more about what you're trying to do? is there a request that is failing or not working like you expect?

sour ocean
#

ask for the old card .. and I no longer have it. @daring lodge

#

today I do not charge for having that problem, I need to accommodate it but I do not have direct assistance

#

That is what he asks of me and I no longer have the card

daring lodge
#

@sour ocean You should follow the link at the top there to the support page and work with our Support team

sour ocean
#

I already tried that, the problem is that those accesses that they claim to have on the page when changing or editing the data, do not appear, only that only way to change the payment method appears

daring lodge
#

@sour ocean I can't make any account changes for you here, you need to contact support.

sour ocean
#

Can you pass me the page already ready to speak with support? is that the ones I place only tell me to send an email, and I need urgent help

daring lodge
left crystal
#

Hi! I am dealing with the following scenario:

  1. a charge is being partially refunded using the associated payment_intent_id like so (node.js):
await stripe.refunds.create({
    payment_intent: stripePaymentIntentId,
    amount
})
  1. now I want to fully refund this charge. My question is, if I now call the same method again without the amount:
await stripe.refunds.create({payment_intent: stripePaymentIntentId})

Will this result in the remaining funds from the charge to be refunded as well? In other words, will the total charge have been refunded at this point? Or will this result in more than the original charge to be refunded (first partial refund + full refund)?

daring lodge
#

@left crystal hey there -- reviewing now

left crystal
#

@daring lodge Thank you so much 😄

daring lodge
#

@left crystal have you tried in test mode? You should find that it does the sensible thing: refund the remaining amount of the payment

#

@left crystal you cannot over-refund more than the original payment

left crystal
#

Ok that's what I thought. I just wanted to double check

#

Thank you for your help!!

daring lodge
#

no problem 🙂

languid dew
#

Are webhook requests retried in case of 5xx HTTP code returned, if yes, how many times at what interval ? Thanks

hollow prairie
languid dew
#

And, in test mode ?

hollow prairie
#

@languid dew "In test mode, Stripe retries three times over a few hours"

languid dew
#

That's not very precise 😅
Are https://pay.stripe.com/invoice/acct_XXX/invst_XXX/pdf URLs permanent ?

hollow prairie
#

@languid dew Yes they are

humble light
#

Hi,

Running M2 2.4.2 with Stripe 2.5.8 (up until today we have used 2.5.7 with the same problem).

MariaDB 10.5.9

Customers sometimes receive this error during order placement:

The provided PaymentMethod is already attached to another object. You cannot reuse PaymentMethods without attaching them to a Customer object first.

Anyone got any knowledge regarding this issue?

bold basalt
#

@humble light hello, one sec

humble light
#

We have updated stripe-php to latest version as well

bold basalt
#

@humble light so it isn't something to do with the library version but rather what your integration is doing with the Stripe API. You have a standalone, unattached PaymentMethod that you already used on a payment, that you are trying to use again. PaymentMethods can only be reused if attached to a Customer.

vocal wagon
#

Hi I've just installed the WooCommerce Stripe Plugin, and setup Stripe API, setup endpoints, in test mode the 3d auth pops up then vanishes and in WordPress the payment is showing as pending, Stripe is saying "requires you to take action in order to complete the payment" ; the webhook shows success. Any idea what might be wrong here?

serene nebula
#

Hi there guys! I am recently experiencing some huge loading time during checkouts on my site. have you ever seen something similar? 😰

vocal wagon
#

Hello

bold basalt
#

@vocal wagon hello! I think this would be something you talk to the plugin support about, as their integration controls the code. Typically, I would expect the 3DS authentication view to stay up until you have authenticated it.

vocal wagon
#

Hello. I have a problem to get payment on line with my website. I tried with a payment directly on Stripe and it works. but when I want to do the payment on Stripe through my website, it does not work. It works in Test mode, but I have the following message when I try to do a real payment. If you can answer in French , this would be very appreciated, otherwise with simple English vocabulary? Thank you.

bold basalt
#

@serene nebula hello, are you using a woocommerce plugin for this? I think so, based on the network calls, can you confirm?

#

@vocal wagon hello, reading ...

#

@vocal wagon the right way to debug this would be to look at your Stripe Dashboard logs, and your browser console logs, for what error your integration is running into. And did you build your whole integration yourself? Or using a plugin of sorts?

vocal wagon
#

I am going to ask this to the person who created the website and will come back to you.

#

@bold basalt ok thanks, is that through Stripe support?

bold basalt
#

@vocal wagon yes you should work with your developer to look into the browser console logs and your Stripe Developer Logs to help you debug what the issue is.

#

@vocal wagon no this would be the support for the plugin you are using, as they built the code that your integration uses

vocal wagon
#

ok. Can he get in direct communication with you? I am not trained in computing, I just write to you as he thought that he can't communicate directly with him

#

@bold basalt ah ok, the plugin is made by woocommerce i was following Stripes WooCommerce integration guide - https://docs.woocommerce.com/document/stripe/ ; i'll try to contact them through the wordpress plugin repo, thanks for suggestion!

#

with you

bold basalt
#

@vocal wagon yes if your developer built this integration, they can come to this Discord channel and we can help them out. Alternatively, they can also email Stripe Support at https://support.stripe.com/contact and we can help that way too

serene nebula
bold basalt
#

@serene nebula to clarify, the latency you're seeing in network requests is not to Stripe. Specifically, those are requests from the webpage to the plugin backend, which is taking upwards of 10s. So this isn't necessarily related to Stripe but the plugin's frontend and backend talking together and taking long

#

@serene nebula Stripe API versions would also be irrelevant here.
So really, you need to work with the plugin developer support and let them know that certain requests to the plugin backend like we_stripe_get_cart_details and update_order_review network calls are taking way too long. Those aren't Stripe endpoints but the plugin's own backend

humble light
bold basalt
#

@humble light it depends, it looks like it is expected that your integration wants to reuse existing PaymentMethods to create multiple payments, is that right?
If so, you need to make sure the first time a PaymentMethod is created, it is attached to a Customer object. That way it would be reusable on multiple payments. Unattached PaymentMethods are single use only, which is what your integration is running into

humble light
#

Alright, thanks!

serene nebula
#

thank you very much! @bold basalt

pure crane
#

Hi, where should be stored/retrieved on the payment method the "firstname on the card"/"lastname on the card"

bold basalt
tired compass
#

Hey. I had a quick question about running a report. I'm trying to get addresses of people who have paid for products with me, or at the very least the address of their credit card. When I download the report with all 42 columns everything to do with shipping addresses or any addresses are left blank. Any suggestsions?

pure crane
bold basalt
#

@pure crane no in that case you should store it under the shipping hash on a PaymentIntent (https://stripe.com/docs/api/payment_intents/create#create_payment_intent-shipping).
You can think about it like: A new payment is made to "A" but using card that belongs to "B".
So "A" lives on the PaymentIntent as it is payment specific, "B" is related to the card so it lives on billing_details on the PaymentMethod

#

@tired compass hello, I'm not the most familiar with Dashboard reports, I can look a bit, one sec. Where are you storing "shipping address or other addresses" , like what API params are you storing address details on? on the PaymentIntent? the PaymentMethod? metadata?

tired compass
#

Payment Method i believe

pure crane
tired compass
#

I'm downloading my balance summary now with all 42 points of data checked off. For some reason just the address data is left blank in the excel sheet when dowloaded

bold basalt
#

@tired compass looking

#

@tired compass which part of the Dashboard do you get that balance summary report? (not super familiar with all the Dashboard reports functionality)

tired compass
#

On the left I go to Reports. Then Balance. Then on that screen I'm clicking the download button on Balance Change from Activity. Year to date.

#

I have done this before, as well. First time no address data will show up.

bold basalt
#

@tired compass ah I see, yeah I would say write in to Support about this [0], with redacted examples of how you were seeing address columns before and not now, they should be able to help with this, Dashboard capabilities isn't an area I'm super familiar with
[0] https://support.stripe.com/contact

tired compass
#

ok thanks will do

weak linden
#

HI All! I am currently working on a credit card terminal reader implementation for stripe and have a question about contactless payments--in which javascript sdk method is the cardholder name returned--is it in collectPaymentMethod? Also I have a test Stripe credit card--is there a way for the test card to register a cardholder name?

bold basalt
#

@weak linden hello! let me check

weak linden
#

thanks @bold basalt

bold basalt
#

@weak linden

in which javascript sdk method is the cardholder name returned--is it in collectPaymentMethod?
it would be in processPayment() . collectPaymentMethod() only internally caches card info, doesn't expose any details to your application or integration.

weak linden
#

ok roger that @bold basalt

#

is there any documentation on the info returned from processPayment() such as address? Also can I add a cardholder name to the test Stripe credit card?

bold basalt
#

@weak linden

is there a way for the test card to register a cardholder name?
I think the test card should have a name already? If it doesn't, maybe you can request Stripe to send you one that does have a card holder name hardcoded on it

weak linden
#

thanks @bold basalt -- will look into it!

bold basalt
weak linden
#

perfect thanks @bold basalt !

vocal wagon
#

hello, i have a problem on my website. when I pay for a second program I have a message saying "the page has expired. Your payment has already been accepted"

#

In fact I can buy one program but when I want to buy a second program I cannot

#

and I have a message saying that I have already paid for that

bold basalt
#

@vocal wagon hello, what is your integration built with, Checkout I think?
Also are you the developer who built your integration?

vocal wagon
#

yes it is stripe checkout

#

yes i am the developer

#

but i am helped by another person

bold basalt
#

@vocal wagon ok so it looks like your code is presenting a Checkout page for the first payment. Then when you try to pay the second time, what it should do is create a brand new CheckoutSession and redirect to that. Right now, I think your code is trying to redirect to the already paid CheckoutSession ID, which is why it is failing. That is what I think is happening

vocal wagon
#

ok so what do you advise?

#

many thanks for your indo

#

info

#

the message also says : your session has expired"

bold basalt
#

@vocal wagon you have to debug your code and see what your code is doing. That is what I guessed and is most likely happening. To fix this, create a new CheckoutSession on every new payment. Right now your code seems to be reusing the already paid CheckoutSession.

vocal wagon
#

ok

#

many thanks

final verge
#

Hi React Native question here.

I’m trying to save a card payment method using Stripe’s React Native SDK.

Here’s the flow I got:

Create a setup intent on the server with the customer id in the param

   stripe.setupIntents.create({
      customer: stripeCustomerId,
    });

On the mobile client, using Stripe’s React Native SDK, use the client secret to confirm the setup intent

import { CardField, useStripe } from '@stripe/stripe-react-native';

// ...

function Screen() {
   const { confirmSetupIntent } = useStripe();

   const foo = async () => {
      const clientSecret = // fetch client secret

      const result = await confirmSetupIntent(clientSecret, {
        type: 'Card',
        billingDetails,
      });

    console.log(result) // { setupIntent: undefined }
   }

   return <View>
      <CardField {...props} />
      <Button onPress={foo}>
   </View>
}

Now here’s the issue I am facing. This flow allows me to successfully save the payment method on the customer in stripe (I see it in the stripe dashboard). However, the confirmSetupIntent returns { setupIntent: undefined } . As per the docs, the returned value should be { error?: undefined; setupIntent: SetupIntent } on success. While the returned value should be { error: StripeError<ConfirmSetupIntentError>; setupIntent?: undefined } on error only. Here is the reference to the docs: https://stripe.dev/stripe-react-native/api-reference/modules.html#confirmsetupintentresult

I need the setupIntent resulting from the confirmSetupIntent to manipulate its paymentMethodId .

Please let me know if it is a bug, or if something is wrong with my integration. Thanks a lot for your time and consideration!

mighty hill
#

@final verge Hello! Can you share the ID of one of the Setup Intents associated with this issue?

final verge
#

@mighty hill I believe it's this seti_1J3lHgGhawG1pGgAodD4TgSF_secret_Jh9aaPwXpgtfxdLjZRKdpBsEvlZzTxB , let me know if it's not what you're looking for

mighty hill
#

@final verge That's the client secret, but it contains the Setup Intent ID (seti_1J3lHgGhawG1pGgAodD4TgSF) and will do just fine! Let me take a look...

#

@final verge That Setup Intent was confirmed successfully by your code running on iOS, and nothing in the code you shared is jumping out at me as incorrect.

What's the exact output of console.log(result)? Is it literally { setupIntent: undefined }?

final verge
#

yes! here's a screenshot of the log. I first logged the client secret and then logged the return value of confirmSetupIntent(...)

mighty hill
#

Hmmmmmmmm...

vocal wagon
#

Bonjour,

#

Puis je faire un prlèvement s

mighty hill
#

@vocal wagon Hello! Is English okay?

vocal wagon
#

puis je entrer des numéros de cartes bancaires de clients et faire un prélèvement pour la caution ou pour payer des articles consommés dans mon hôtel? Merci pour votre aide

#

Oh ... i am not fluent in english

mighty hill
vocal wagon
#

There is a space with french help?

final verge
#

@vocal wagon tu peux faire des prélèvements bancaires mais ça prend une intégration bancaire où tes utilisateurs doivent entrer leur numéro de compte

vocal wagon
#

thank you

final verge
mighty hill
#

@final verge I'm looking through the React Native Stripe library now but I'm a bit at a loss honestly; this should be working. What version of the library are you using?

final verge
#

@mighty hill version '2020-08-27'

mighty hill
final verge
#

@mighty hill oops sorry, it's version ^0.1.4

mighty hill
final verge
#

Will do then, thank you so much for your time and help! It's really appreciated! I'll open an issue on github

mighty hill
#

@final verge Happy to help! Sorry I wasn't able to do more. I think it might be an obscure issue with TypeScript in the library, but the people who maintain that library should be able to find and fix the issue. 🙂

meager oasis
#

Are stripe climate contributions tax deductible?

mighty hill
pure crane
#

Using react-stripe-js library, is there an official way to check validity of the CardElement ? Otherwise what is recommended to check to prevent calling the server with a CardElement in an error state?

mighty hill
rough pawn
#

Hi there. I am trying to create & update a default billing portal configuration on a connected account. I was able to create a portal configuration using the api (req_O3JsyetpM25P85). However, when I try to update that same configuration (req_rbfAAwqhEwoz9U), I get the following error: "invalid_request_error You cannot make any changes to a PortalConfiguration that was not created by your application"

mighty hill
#

@rough pawn Hello! Let me take a look, hang on...

#

@rough pawn I think this may be a bug on our end. I'll flag internally. I'm not sure if there's anything you can do to work around the issue, but let me try and reproduce...

past yacht
#

I am blocked on using the CLI on .NET. Anyone can help me move forward?

mighty hill
#

@past yacht What's blocking you?

past yacht
#

@mighty hill Confusion (mine) over the interaction between an endpoint on the Internet that is targeted by a Stripe webhook, and a localhost endpoint I am targetting for development with customer.created triggers. @mellow spear said yesterday evening " It looks like your server is returning a redirect, which Stripe's webhooks won't follow - so you wouldn't ever see the request on your server."

#

@mighty hill My live endpoint has these few lines at the very end:

#

Response.ContentType = "text/html; charset=UTF-8";
Response.Clear();
Response.Write(responseMsg);
Response.BufferOutput = true;
//Response.Flush();
Response.End();

#

@mighty hill at this point the live endpoint is not doing anything, I want to Stripe CLI triggers to go to my localhost endpoint

mighty hill
#

@rough pawn I'm unable to reproduce but I'll flag the behavior you're seeing internally. Since I can't reproduce I'm not sure what to suggest as far as workarounds. Has this worked as expected for you in the past?

#

@past yacht What Stripe CLI command are you using to forward requests locally?

lime spade
#

I hope someone can help me on this as the Stripe docs are not very clear. I am setting up a custom checkout page which allows users to apply a discount prior to payment. However, it seems like I can't directly apply a coupon or promotion code to the PaymentIntent in order to track its number of times_redeemed. So my question is, how do I update this value via the API?

rough pawn
#

@mighty hill Thanks for looking into this. This is the first time I've tried this

past yacht
#

@mighty hill stripe listen --forward-to=localhosts:5001/api/St/webhook and then stripe trigger customer.created

mighty hill
#

@lime spade Hello! Coupons and Promotion Codes are designed to be used with either Checkout or Subscriptions/Invoices. They cannot be used with Payment Intents directly.

past yacht
#

@mighty hill that resulted in [307]

mighty hill
#

@past yacht That's the exact command? With localhosts with an s?

lime spade
#

@mighty hill I see. Is there a workaround or do I just have to track redemption count in our DB if I want to use the max_redemptions limit?

past yacht
#

@mighty hill typo "localhost:....

mighty hill
#

@lime spade If you're not using Checkout, Subscriptions, or Invoices you shouldn't be using Stripe Coupons or Promotion Codes at all and would instead handle discounts like that in your own system.

#

@past yacht What do you get when you try this command?

curl -v -X POST http://localhost:5001/api/St/webhook
lime spade
#

@mighty hill Dang. That wasn't really made clear in the docs and now we are too far gone with our custom implementation. So the only suggestion is to switch to Checkout if we want to use Stripe's coupon system?

past yacht
#

@mighty hill I will need to set that up again, takes a few minutes.

mighty hill
#

@lime spade Just to make sure I understand the situation fully, you're building a custom payment page that creates Payment Intents directly and you want to use user-facing Promotion Codes with it?

lime spade
#

Yeap that is correct

past yacht
#

@mighty hill C:\Users\wvmstr\Downloads\stripe_1.6.3_windows_x86_64>curl -v -X POST http://localhost:5001/api/St/webhook

  • Trying ::1...
  • TCP_NODELAY set
  • Connected to localhost (::1) port 5001 (#0)

POST /api/St/webhook HTTP/1.1
Host: localhost:5001
User-Agent: curl/7.55.1
Accept: /

  • Empty reply from server
  • Connection #0 to host localhost left intact
    curl: (52) Empty reply from server
mighty hill
#

@past yacht That indicates your server didn't acknowledge the request correctly. You should see a line like < HTTP/1.1 200 OK that indicates your server responded with an HTTP status code of some kind.

#

@past yacht For a redirect it would be something like < HTTP/1.1 302 Found. In your output it doesn't look like you got any HTTP response at all, so I think your server is mis-configured.

lime spade
#

@mighty hill Alright. Guess I gotta go figure out how to tell the client that 😅 I guess that brings me to another question. Our application has a "wallet" system where users get "currency" to redeem on their next purchase. I was wondering, is that something I can support with Stripe Checkout so that if I pass a price_id to the Session API, I can still discount the unit_amount (but not through a user facing promotion code)?

mighty hill
#

@past yacht Can you confirm your code is listening for POST requests, not just GET requests?

#

@lime spade That use case isn't allowed on Stripe: https://stripe.com/restricted-businesses#financial-and-professional-services

Virtual currency that can be monetized, resold, or converted to physical or digital products and services or otherwise exit the virtual world (e.g., Bitcoin); cryptocurrency mining equipment; initial coin offerings; digital wallets, sale of stored value or credits maintained, accepted and issued by anyone other than the seller

past yacht
#

@mighty hill [ApiController]
[Route("api/[controller]")]

public class StController : ControllerBase
{
    
    private readonly BTContext context;

    public object ProviderServices { get; private set; }

    public StController(BTContext context)
    {
        this.context = context;
    }

    
    [HttpPost("webhook")]
    public async Task<IActionResult> Webhook()
    {
        var json = await new StreamReader(HttpContext.Request.Body).ReadToEndAsync();
        try
        {
            var stripeEvent = EventUtility.ParseEvent(json);


            return Ok();
        }
        catch (StripeException e)
        {
            return BadRequest();
        }

       
    }
mighty hill
#

@past yacht Can you comment out the Stripe code there and replace it with a basic response, then try the curl command again just to make sure the URL/route itself is working?

lime spade
#

@mighty hill No no, we are not doing anything like crypto/digital currencies. It is more like a referral system. You make a referral and accrue redemption value in to this wallet that you can then use to offset the price of a product during payment. The reason I use the word wallet is just that it is a row in the DB with how much "referral discount" you have accumulated so far. I hope that makes sense

past yacht
#

@mighty hill stripe code gone HTTP /1.1 411 length required, which is same as before

mighty hill
#

@lime spade I encourage you to write in to support to confirm your use case is allowed before you proceed further; I don't want you to spend time on something we have to restrict: https://support.stripe.com/contact/email

#

@past yacht Same as before? What do you mean? I didn't see anything like that in your earlier message?

lime spade
#

Alright. Thanks for the help and I appreciate your time in answering my questions!

mighty hill
#

@lime spade Happy to help!

past yacht
#

@mighty hill made another change to port 5000 which is the http port the endpoint is listening on, 5001 is https

mighty hill
#

@past yacht Okay, can you provide the full output of the curl command after you changed the port?

past yacht
#

@mighty hill curl -v -X POST http://localhost:5000/api/St/webhook

  • Trying ::1...
  • TCP_NODELAY set
  • Connected to localhost (::1) port 5000 (#0)

POST /api/St/webhook HTTP/1.1
Host: localhost:5000
User-Agent: curl/7.55.1
Accept: /

< HTTP/1.1 411 Length Required
< Connection: close
< Date: Fri, 18 Jun 2021 20:25:49 GMT
< Server: Kestrel
< Content-Length: 0
<

  • Closing connection 0
mighty hill
#

@past yacht Gotcha, okay, that helps. So if you put the Stripe code back in place and try stripe listen --forward-to=localhost:5000/api/St/webhook does that work? If not, what output do you see? (Edited to remove extra s)

#

@rough pawn You still around?

crimson needle
#

you can also try curl -v -X POST http://localhost:5000/api/St/webhook -d aaaaa=bbbbb to force a post body to be sent

past yacht
#

@mighty hill hey, something else this endpoint is Open API, I can use it with Swagger, which gives me this:

bold basalt
#

@past yacht hello! I'm catching up as Rubeus might have to step away

past yacht
#

@bold basalt he gets scared this easily?

bold basalt
#

@past yacht nope, had to step into a meeting

past yacht
#

@bold basalt just being a sa

#

@bold basalt >stripe listen --forward-to=localhost:5001/api/St/webhook
A newer version of the Stripe CLI is available, please update to: v1.6.4

Ready! Your webhook signing secret is whsec_blahblah (^C to quit)
2021-06-18 16:34:37 --> customer.created [evt_1J3oOfC3TMb6uelZO4y7NglY]
2021-06-18 16:34:37 [ERROR] Failed to POST: Post "http://localhost:5001/api/St/webhook": EOF

bold basalt
#

you changed port to 5001? (just checking it isn't a typo)

rough pawn
#

@mighty hill Hi yes I'm still here

past yacht
#

@bold basalt I am trying both, since I don't know if it matters?

bold basalt
#

@past yacht not sure I understand, whichever port you're locally running on is what you'd tunnel your stripe listen to. So idk if you're still running on 5000 or 5001 now

bold basalt
past yacht
#

@bold basalt stripe listen --forward-to=localhost:5000/api/St/webhook
A newer version of the Stripe CLI is available, please update to: v1.6.4

Ready! Your webhook signing secret is whsec_blahblah (^C to quit)
2021-06-18 16:38:22 --> customer.created [evt_1J3oSIC3TMb6uelZuesOvmfq]
2021-06-18 16:38:22 <-- [307] POST http://localhost:5000/api/St/webhook [evt_1J3oSIC3TMb6uelZuesOvmfq]

#

it runs on 5001

bold basalt
past yacht
#

@bold basalt yes. Us the Swagger output any help?

#

Is not Us

bold basalt
#

is that Swagger test the same as running a POST via curl locally? Not sure as I haven't used Swagger much

past yacht
#

Swagger output

#

It is basically a UI around the Open ApI., note it has the CURL script as well, but that is generated by Swagger

#

@bold basalt note that I have the correct Url, and may breakpoint is hit inside the controller

daring lodge
#

have you tried https?

#

that test in the image is using https

#

your stripe cli listen is not

past yacht
#

@bold basalt tadaa! breakpoint hit

#

@bold basalt Received event with API version 2019-08-14, but Stripe.net 39.53.0 expects API version 2020-08-27. We recommend that you create a WebhookEndpoint with this API version.

mighty hill
#

@rough pawn Sorry about that, had to jump into a meeting. After flagging internally it looks like there's no way for a Connect platform to modify the default Customer Portal Configuration on a connected account. Once the default configuration is created its ownership immediately changes to the account itself, which is why you're getting that error.

#

@rough pawn To work around the issue you would need to create an initial default configuration, then create a second configuration that is not the default. The second configuration would be owned by your platform and can be changed by your platform.

past yacht
#

I will play with it from here, there is an API conflict. The CLI sends the API version from my dev configuration, and my local endpoint has the newer version

bold basalt
past yacht
#

@bold basalt will check that out

#

@mighty hill and @bold basalt always grateful! Thanks.

mighty hill
#

@past yacht Happy to help! Glad you're unblocked!

rough pawn
#

@mighty hill Ah gotcha, thanks for your help. This does seem odd needing to do this for express accounts. As the account owner doesn't even have access to the full dashboard, I would think that the platform should have full control over those settings

mighty hill
#

@rough pawn It's an issue on our end, yep, we're planning to improve this in the future.

crimson needle
#

@rough pawn fwiw with Express we expect you to manage this at the platform level not the connected account

rough pawn
#

@crimson needle Yup I know that the recommendation with express & subscriptions is to use destination. However our business model is b2b2c, and we have products & prices at the platform level, along with user-defined products & prices on the account level. We did not want to pollute our platform products with user defined products

crimson needle
#

yeah that's fair but that's also why the problem you hit isn't something that should happen. Direct charges + Express causes a lot of pain over time

shadow cobalt
#

Hi I was looking for a demo with elements and pay now button all integrated together is there such a demo?

#

I wanted to see the JS logic

crimson needle
#

what do you call "the pay now button" exactly?

shadow cobalt
#

Yes sorry

#

😆

crimson needle
shadow cobalt
#

oh wow was that added quite recently

crimson needle
#

ah no that demo has existed for multiple years

shadow cobalt
#

cheers

crimson needle
#

Let me know if you have questions, not sure how fully up to date the implementation is

#

but it's 2 separate integrations really and 2 buttons/UIs

shadow cobalt
#

will do

#

I have the elements installed with a flow in place already, I need to add the logic into the same place it'll be a separate one been pondering on this for a while

#

Is there an implementation (code example) all in one? Without 2 different flows

crimson needle
#

ah gotcha. It's fairly self contained, you would have a separate element for the payment request button with its own callback

#

there isn't really different flows, I'm not sure I follow waht you mean

shadow cobalt
#

I mean stripe.handleCardPayment() and stripe.paymentRequest({})

#

but both utilise the same intent

crimson needle
#

ah yeah they have to be separate because PaymentRequest works differently

shadow cobalt
#

Fair enough, I take it the intent creation on the server can have on_behalf_of and transfer_data[] for connect accounts with payment request button?

crimson needle
#

yes

shadow cobalt
#

👍

#

In the payment request docs there's a section to add a payment card on edge, but edge does not accept any test cards because it requires a valid address/zip anyway to get around this?

crimson needle
#

I think you need a real card, and then we'll replace it as a test card in Test mode

shut frost
#

Hello.
We are planning to prepare four payment plans on the membership site.
$ 10 / month plan, $ 30 / month plan, $ 100 / year plan and $ 300 / year plan.
All plans will be settled by subscription.
Are these requirements feasible with stripe checkout?

manic agate
#

Does anyone know how to edit the company name under the Bancontact payment gateway? I can't find where to edit it and it doesn't refer to the company name in the account settings

crimson needle
#

@shut frost yes it will just work

manic agate
#

They haven't been useful and take too long to reply

#

It should be within the settings right?

crimson needle
#

I'm sorry to hear that, but it's not something I can help with here, it's about your account's configuration. And not it's not, it's something that is set at the time you onboard with Bancontact and can't be updated directly so you need to talk to our support team

shadow cobalt
#

When using Google Pay or Apple pay, is it possible to obtain shipping address and submit it to my server without the user filling up the fields manually?

crimson needle
#

👋 everyone! Just flagging that my team is going offline for the week-end so we won't be able to answer questions for now. We'll be back on Sunday night US time as we have people based in Asia.
You're totally welcome and encouraged to help each other though 🙂

meager oasis
#

Is generating a payment link programatically a thing yet?

mighty hill
#

Not exactly, but it's being worked on. You can create a Checkout Session server-side and send people directly to the url property you get back though.

meager oasis
#

THANK YOU

#

i'm asking because I want to be able to make Payment Requests via email, use an app to generate the payment link, send the link

#

Avoid the eventual additional Invoicing charges

lusty geyser
#

anyone know how i'd go about adding a 1 month extension to a subscription (i.e giving a subscriber an additional month free of charge)?

mighty hill
#

In PHP you could do this, for example:

$subscription = \Stripe\Subscription::update('sub_123', [
    'trial_end' => strtotime('+1 month'),
]);
heady halo
#

Hello everyone hope someone here can help or guide me in the right direction.

I have a stripe account that I made almost 4 months ago. Stripe asked me to verify my info and the charges we made; sent them the invoices, and the contract agreements from my client.

They never responded back to me for account verification. I’ve emailed them 9 times in the last 6 weeks with no response from anyone.

The bad part is they’re holding $5100 of my money.

I’ve looked online everywhere for a phone number or at least guidance and can’t seem to find it.

I’m on the verge of having my attorney send them a letter for non-compliance.

Any help I’d appreciate it. Thanks.

bleak breach
#

Hi @heady halo I'm afraid we can't help you here, this is a discord for developer and code questions. If you reached out to support via https://support.stripe.com/contact then they should get back to you in due time

heady halo
#

Yeah I reached out to them numerous times still no response.

Thank you though for responding I appreciate it.

lusty geyser
# mighty hill <@!517205118085627905> The easiest way is to update the Subscription with a 1 mo...

@mighty hill

is this a better method than applying a coupon that’s 100% off for 1 month? and is it possible to apply multiple coupons via api (it seems i can only apply 1 coupon via dashboard)?

Also based on doc, Unix timestamp representing the end of the trial period the customer will get before being charged for the first time.. What happens if the subscription is actually a paid subscription?

mighty hill
#

@lusty geyser Coupons don't stack, only one at a time.

You can apply a trial to an existing paid Subscription.

#

The lack of discount stacking is one reason a trial might be a better fit.

lusty geyser
#

@mighty hill hmm interesting... so in this scenario: if a paid subscription that started Jun 1st has a 1 month off coupon applied today. Would i be able to apply another coupon on July 19th and/or Aug 19th (basically does the stack limit reset on a new cycle?)

mighty hill
lusty geyser
#

@mighty hill Okay guess i'll have to see if that is a viable solution. But in regards to your solution with changing trial_end does updating that value automatically change the subscription to a trial until the trial_end timestamp is reached?

mighty hill
#

@lusty geyser Yep, that's exactly what it does!

lusty geyser
#

@mighty hill if it’s a paid subscription does it get prorated?

mighty hill
lusty geyser
#

@mighty hill awesome thanks for the help. i'll try testing both options 🙂

smoky palm
#

My client had paid me via stripe. After a couple of days my stripe account was suspended for unknown reasons. The payment was never reached to my bank never reverted back to my client's account. What should I do now?

gaunt lark
#

Hello, I've a problem with my Stripe module on PrestaShop since 3 days.
I've reached the module developer but he doesn't answer me anymore.

The fact is everything worked on test mode but since we put the website online, we encounter status error due to API's webhooks.

It's strange because the live key and secret key are correctly configured.

For exemple by default, the status should be on "Awaiting capture stripe" but for reasons I don't understand, it's on "Partial refund stripe".

And now, I have a new error since yesterday when I make a payment in production mode.

I didn't know who to reech so I came here. I'm French but I can answer in English. Thanks !

near jetty
#

Hello
I have a problem with my stipe charge from bank account module
Now I get bank account token from bellow api
https://stripe.com/docs/api/tokens/create_bank_account
And then I call charge api as bellow
https://stripe.com/docs/api/charges/create
But when I call charge api, I can see bellow response message

You must accept the Terms of Service for ACH at stripe.com/docs/guides/ach before using US bank accounts as sources.

My stripe account is JP one and test account is also JP test bank account
But I don't know why they says about US bank accounts

Please help me

vast wolf
#

Hi!

I'm having a problem trying to set the billing_cycle_anchor for a subscription. I have a little bit complex use case that i don't think i can cover it with the Subscription documentation

#

the error i'm getting is "billing_cycle_anchor cannot be later than next natural billing date XXX for plan"

woeful mauve
vast wolf
#

sure, as i was writing it down, i was wondering if it has something to do with my code and not stripe, but here are the rules of my case

#
  • Subscriptions must be charged on Saturdays
  • Every new Subscription is first charged the day it is created, no matter what day it is
  • Subscriptions are bi-weekly
  • A subscription must be charged (The day it is created or a Saturday) before the next delivery
  • Wednesdays are the delivery days
  • If a subscription is created after a Monday (Exclude it), the next delivery goes to the wedensday of the next week
#

I'm handling a subscription for receiving a certain product, so the deliveries have the same frequency as the subscriptions

#

i was testing it by simulating that today it's the tuesday of the next week, so first charge should be the tuesday but as i'm creating the Subscription today, stripe wants to charge it today

woeful mauve
vast wolf
#

so, if "today is tuesday" the next charge of the subscription should be the 10th of July

vast wolf
#

i'm sending a price_id with that config

#

as a Subscription item

woeful mauve
# vast wolf yeah

I wouldn't expect that error then:

billing_cycle_anchor cannot be later than next natural billing date XXX for plan
Are you setting the billing_cycle_anchor before XXX? or after as the error says?

#

These two statements contradict:

  • Subscriptions must be charged on Saturdays
  • Every new Subscription is first charged the day it is created, no matter what day it is
vast wolf
#

mm maybe it was confusing, you can read the first stament as "Already created subscriptions" (After the first charge)

vast wolf
#

question here is, which is the "natural billing date"?

vast wolf
#

sorry, XXX its 3rd of July

#

and i realized that it is the "natural billing date"

woeful mauve
vast wolf
#

well, because the deliveries are also every 2 weeks

#

and if i'm creating the subscription next tuesday, the first delivery would be the 30th of Jun and the second delivery would be the 14th of July

#

so if we follow the rules mentioned above, the first charge of the subscription should be the next tuesday and i should skip the saturday of that week (as the first delivery would be charged by creating the subscription)

#

and in order to charge the 2nd delivery on the previous Saturday, the subscription must be set on 10th of July

#

I hope I didn't confuse you

woeful mauve
# vast wolf I hope I didn't confuse you

You did, because I assume deliveries are a product concept you have, but that doesn't have anything to do with stripe, so I would suggest keeping that out of the conversation. If you need to move the first billing date you can do that, but calculate the requirement outside of stripe and then say "I want to set the billing date to be X" it doesn't really matter how you calculated.

The first charge of the subscription should be tuesday
You can set the anchor to be tuesday the July 6th, right? What's the problem there? You can start the subscription on the same day. Or you can start the subscription on the 22nd

vast wolf
#

"deliveries" is a business concept

woeful mauve
#

then let's ignore it for the sake of the discussion

vast wolf
#

Ok, sorry for that, i was trying to give you more context

#

The thing is that i have to bill on Saturdays, except at the subscription creation date

#

It is a business rule

#

And because of that, i end up needing to set an anchor date greater than the subscription interval

#

I saw this behavior on ecommerces before but, its useless to mention it as i don't know what is behind them

lone cliff
#

Hi Guys, I have a question about auto payment in Stripe.
We have a WooCommerce website and the payments are integrated through Sumo Subscriptions > Stripe.

#

We want to turn on charge automatically as subscription is sending them an invoice weekly but the client has to pay it manually but they are keep forgetting it.

ionic grove
#

business needs to use FPX.how to do?

molten bolt
#

hey hey

#

im using Blazor WASM client only (no server) and im using Azure functions as my Server. i do not think its possible to

#

use the prebuild layouts

real crown
#

howdy

#

uhh I think i found a backdoor

#

is stripe

#

i was able to post a request on that network

#

and it sent me through to stripe

#

like this should not be happening

#

I got there following a request on manhatten network

#

idk how the hell this happened, it was accidental

#

but this is serious

#

it came from here:

#

a network request for stripe

#

like why is that there

#

<@&841573134531821609>

#

this is serious

#

my request came back pingMirador

#

if that means something

mighty hill
#

@real crown Hello! I'm on mobile right now, but why do you think this is a security issue?

real crown
#

this sends a secure request through an unsecure ip address

#

which is Stripe

#

http to 443

mighty hill
#

I believe that's intentional in this case.

real crown
#

it is not, i saw the message on my console

#

from that long link

#

why would it be intentional?

mighty hill
#

What message?

real crown
#

on mozilla network console

#

there was a network POST request

#

like that should not be happening on a stripe mainnet

mighty hill
#

I believe it's normal, but as I said I'm on mobile and can't investigate deeply. In any case I recommend you reach out to support with details. Check the #help channel for links to contact our support team.

real crown
#

bro it links back to the stripe legal page

#

when you go to that ip on port 80

mighty hill
#

Okay, but why is that a security issue?

real crown
#

Why would this not be a security issue? I am literally staring at a POST request through the stripe mainnet that came from an unsecure port

#

I can send request payloads through if i were to try, but I have not.

mighty hill
#

If you have concerns reaching out to support is the appropriate next step.

real crown
#

i'm just trying to figure out why this would be happening

#

and if its even necessary to contact them about it

#

this is a scary thing they have

mighty hill
#

Still not clear on what the scary/concerning aspect of this is. Again, I recommend you reach out to support with details.

real crown
#

is why i clicked on a link from the fuckig network console

#

that set off that

#

is what is scary bro

#

why?

mighty hill
#

Could you please refrain from swearing here? We want to keep things PG here. 🙂

real crown
#

sorry, this is just ridiculous

mighty hill
real crown
#

yes

#

because i dont know if i set that off

mighty hill
#

Did you notice that page explains in detail what m.stripe.com is and how it's used?

real crown
#

no

mighty hill
#

That's why attempting to visit that subdomain takes you to that page.

stark tide
#

also, tbc, 34.211.78.247 doesn't listen to port 80

real crown
#

because i dont want to go to jail for clicking on a random link?

stark tide
#

sorry, how do you mean?

mighty hill
#

You're not going to go to jail by clicking on a Stripe link you find in your browser's dev tools.

real crown
#

then what is the reason for the fraud detection system?

mighty hill
#

To detect and prevent fraud.

real crown
#

???

stark tide
real crown
#

when i went to the site

#

the payload in the headers had

mighty hill
#

Stripe’s advanced fraud detection looks at signals from a customer’s device characteristics and user activity indicators, such as quickly copy and pasting—things that bots or fraudsters would do, not legitimate customers. These signals are highly indicative of fraud and power Stripe’s fraud prevention systems, such as Radar. The signals are securely transmitted to Stripe’s backend by periodically making requests to the m.stripe.com endpoint.

real crown
#

so what does this even mean?

mighty hill
#

Can you ask a more specific question?

real crown
#

i legit see a "unsecure network" thing on this website for crypto bot

i wanna know where my data is going

i look at network and click a sketchy link because its the unsecure thing

it redirects to that page?

#

that is the fraud detection?

#

lmao

mighty hill
#

That's exactly what it is, yep.

stark tide
#

what's the unsecure network thing you're seeing?

real crown
#

yessir

stark tide
#

something is wrong with the certs for that site

real crown
#

i know it was concerning

#

i was thinking about paying for it through stripe

#

then i look at network and behold

#

so thankfully i did not

stark tide
#

like, whoever set that site up misconfigured their TLS certificate

real crown
#

i am just concerned i am going to jail for literally setting off a fraud system by accidentally clicking on something for my own security

stark tide
#

it's responding with a certificate which attests to be for ip-172-31-86-210.ec2.internal, which doesn't match the domain name of the site

#

sorry tbc

mighty hill
#

You didn't set off anything, and you're not in trouble for visiting m.stripe.com

real crown
#

do you know this?

mighty hill
#

Yes. We use the system to prevent fraud, not put people in jail for clicking a link. What law do you think you broke?

real crown
#

that the fraud system would think i was attempting to hack

#

sorry

stark tide
#

to be clear - that site includes some javascript loaded from m.stripe.com

#

the purpose of the javascript is to collect data during the checkout flow to try to figure out if the purchase is being made with a stolen card

#

everybody is loading the javascript - it's not just you

real crown
#

oh okay

#

well that is good news at least

#

i thought i accidently wandered into a stripe backend

stark tide
#

you're free to load the javascript and see what it does, or click on links, or whatever

real crown
#

very weird

#

well thanks for clearing that up

stark tide
#

the CFAA is whack, but it's not that whack 😛

real crown
#

aha

stark tide
#

it sounds like you've come to the same conclusion, but I would suggest not buying anything with that site until it's fixed

real crown
#

haha i appreciate that, and really thanks for clearing that up. That was really a spook

mighty hill
#

Yep. Lots of sites on the web use Stripe.js to take payments, and the Stripe.js code contains the fraud prevention code that makes requests to m.stripe.com. It's not just this one site.

real crown
#

That is a pretty neat system

mighty hill
#

That's why I started off by saying this is normal. 🙂

real crown
#

I guess it makes sense now that i know what it is, but the situation was sort of scary at the beginning lmao

real crown
mighty hill
#

No worries! We're here to help... although not usually on the weekend. 😅

real crown
#

❤️

raw arrow
#

Hello, I have not received my payout, I had a transaction happen on Friday for $90 and I have not received my payout. My payout settings are set on everyday.

violet walrus
vast wolf
#

Hello, i have a question about subscriptions, is it possible to create a Subscription with 2 Subscription items, the first one with a weekly/biweekly/monthly charge interval and the 2nd item with a one-time price?

thin echo
#

Do you guys still process for Sneaker Con??

#

Been waiting on a payout of 276$$…I ha e not received anything or heard anything yet and it’s been over 11 days

vagrant fern
#

@thin echo please refer to rule #5 and reach out to support 👍

finite granite
#

Hello

clever sleet
#

hello, does the starting_after parameter of the List Refunds api the ID of the refund? If so, is it guaranteed to be sequential? If I list all refunds and store the id of the last one, would I be guaranteed that if on the next call I pass it in I will be receiving all new refunds since the one I passed in?

clever sleet
#

while testing my question above (I still need an answer) I think I found a bug. I am using the .NET SDK. RefundService.ListAsync is not returning anything, yet RefundService.GetAsync with a specific refund id is returning the Refund object. Is this a bug or am I missing something?

gaunt lark
cloud pasture
#

Is there a way to style a card element's border color ?

bleak breach
#

For border colour, you'd just set the border of the container element rather than pass in a border to the element itself