#dev-help
1 messages · Page 109 of 1
Oh, nice, thanks
Specific payment types (like Klarna) may only support certain currencies/localities too, outlined here: https://stripe.com/docs/sources/klarna
sorry, i means Klarna.
Hello there, I set up an account and don't know how to include extra fields ( for shipping adress for example)
@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?
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
What's the format of the items[index][tax_rates] field in POST /subscriptions/{subscriptionId} ? Thanks
I guess it depends. In most cases card payments like that will succeed as the card will likely support foreign transactions and the issuing bank will handle the FX (i.e. USD -> GBP if for UK)
@languid dew it's an array of strings of object IDs of TaxRates like ["txr_123", "txr_456"]
Thanks !
@hollow prairieThanks.
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
Hello! There's a few! You could use a Gist if you have a GitHub account: https://gist.github.com/
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.
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.
Taking a look!
Thanks!
Anybody can help,Why my account isn't eligible ?
This channel is for questions around developing/integrating with Stripe. For account related queries, please contact support directly: https://support.stripe.com/contact
What exactly is the issue you're having? What are you expecting to see but aren't?
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
You'd likely need some kind of route handler function for your PHP code that wraps your Stripe API call. That way your can pass parameters to it (such as your line items)
I'm not all too familiar with PHP, but there's an example of this here (using Slim): https://stripe.com/docs/payments/accept-a-payment?platform=web&ui=checkout
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
@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" > ?
Yes that's right
But when I did try to submit, it just echoed the checkout session id
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>
then change the create-checkout-session.php to end with a redirect to the Session URL : https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-url
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
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!
So would the header go after line 28 on create-checkout-session.php?
you'd replace line 28 with it yeah
Ohh okay so essentially get rid of the echo statement on line 28
And replace it with the header you suggested?
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
Okay thanks. I'll try do that now!
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
@wraith spade Hello. Are you seeing an explicit error? Can you share details of any API requests?
yes hold on checking
@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!!
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
Really useful! I always found fetch a bit too confusing.
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
no explicit error
@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
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?
@wraith spade Can I please ask you write in to support with as much detail as possible about the issue you're seeing? https://support.stripe.com/contact
to delete the item you have to pass like items:[{id:"si_xxx", deleted:true}]
And, to add, in the same request ?
ok will do so
@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.
Hello, nice to meet you all
Hi!
hello
Hi, is this the correct place to ask a simple question about Stripe Connect?
Before we dive into developing anything.
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)
@languid dew items:[{id:"si_xxx", deleted:true}, {price:"price_xxx"}] for instance, to delete one item and add a new one. Or you could just do items:[{id:"si_xxx", price:"price_xxx"}] if you're just replacing one Price with another, you don't have to explicitly delete the old one. https://stripe.com/docs/billing/subscriptions/upgrade-downgrade#changing
@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.
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?
You don't need approval to use Connect per se, just the standard Stripe account onboarding process for the platform and any subsequent connected accounts.
@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!
@pallid tide I'd suggest replying to that email or reaching out to https://support.stripe.com/email for help with that.
So any c2c marketplace product/business would be able to use Stripe Connect with the classic %-based fee business model? It does not matter how big the marketplace/company is?
When only passing items[0][price] + items[0][quantity], the item got added but the existing one wasn't deleted
@languid dew that would be because you didn't pass the id ! That's really improtant
So I must get the existing ID then pass it with a new price ID ?
yes! as described in https://stripe.com/docs/billing/subscriptions/upgrade-downgrade#changing .
As I said, depends on the specific nature of the business etc. These are questions better suited for support: https://support.stripe.com/contact
@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
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
I’m sorry, I thought you said “You don't need approval to use Connect per se, just the standard Stripe account onboarding process”.
From the Stripe Connect page it seems I can just create an account and start using the platform. Nowhere on the website it specifies if approval is needed. That’s why it’s not clear if we should contact Stripe Sales Department.
Exactly that. But I'm working under assumption that you don't have a pre-existing verified Stripe account. If you do, then you're all set!
@meager hawk oh, I see, thanks
No, your assumption is correct! So are verified Stripe accounts open (can you just sign up and verify your identity/business) or does a business need to be approved depending on their product/business model/size?
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.
@vocal wagon Assuming your account is verified, you can use Connect yes.
is every account belonging to a business on Stripe verified?
Is verifying your account part of the sign-up process?
@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
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
I see, thank you. You were very helpful already, we will try to get in contact with support. Unluckily there is no number and we need to create an account just to get in touch with them.
Again, thank you, have a nice day.
No problem! Generally, all accounts need to be verified before they can begin processing live transactions. You can try out Stripe (including Connect) in a test environment without being verified
Thank you, the only doubt was about if account verification depends on a business revenue size. I assume Stripe verifies small businesses too? I just don’t know if there are exceptions.
all accounts have to be verified yes (https://support.stripe.com/questions/know-your-customer-obligations)
Is the quantity property at root of the GET /subscriptions/{subscriptionId} response object the same as the quantity property at items.data[0] ?
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?
and are all verified accounts the same? Can they all access the same products as @hollow prairie was saying? (Of course custom solutions must exist for bigger/huge companies)
This is the same answer we need
You'd need to use Connect for multi-party payments, yep
The product you are talking about is Stripe Connect, which is a solution that accommodates marketplaces.
The real question is, can a small/indie business use it, or do they need approval/have a good revenue stream.
@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.
So you are telling me that, compared to its competitors, for the classic %-based marketplace commission fee Stripe does not ask the business to have a 10M/year revenue?
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.
@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!
Would it possible to download the entire Stripe documentation as a PDF file ?
You have already been very helpful, thank you.
Have a nice day @meager hawk
You too @hollow prairie
No problem, glad I could help!
It's not I'm afraid
Like this? https://github.com/stripe/openapi
I did managed to generate a PDF of the OpenAPI spec3.json file (https://transfer.sh/1Kcaj8n/Stripe_API.pdf) but it doesn't contain query params :/
No, but the API ref site supports offline caching so you can access the entire API offline
That's nice, although I was asking in hope not to have to open the docs in the browser ^^
mornin' folks
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
@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?
@meager hawk could you send me please instruction how to create token to charge ?
@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!
Thanks, i will try to implement.
Idk if I'm in the right place. But I need my 1099 from 2019 Doordash. Any idea how I would obtain this?
@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.
Okay thank you
you're welcome 🙂
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.
@bold perch Hello! Yes, if you're connected to the accounts you would be able to subscribe to events on their subscriptions via a connect endpoint:
https://stripe.com/docs/connect/webhooks#connect-webhooks
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?
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.
Ok, thank you very much!
you're welcome 🙂
Any ETA on Stripe Tax public release ?
@languid dew You can write in to request access: https://stripe.com/tax#request-access
But more specifically than that, no i don't know sorry
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
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.)
@languid dew I don't know those conditions but if you have an account already you can always reach out directly via support, too
@daring lodge Is this the right place to ask this type of question?
@wild dagger hello! yes, it's a great question, just pulling up some info 🙂
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.
@wild dagger are these standard accounts you're creating as your platform or existing accounts?
@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?
@wild dagger ah, yes, you shouldn't do that. With connect you should always use your platform api key and when you need to authenticate as the connected account for some request you can use the optional stripe-account header: https://stripe.com/docs/connect/authentication#stripe-account-header
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
@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.
@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?
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 ?
You can safely share an account id here
@languid dew without Stripe Tax you need to provide tax rates explicitly
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?
@wild dagger it looks like you may have used a real DOB instead of a test value:
https://stripe.com/docs/connect/testing#test-dobs
And i recommend using address_full_match for line1 of your address:
https://stripe.com/docs/connect/testing#test-verification-addresses
Before going live, test your Connect integration for account creation, identity verification, and payouts.
Oh, what a silly mistake. Okay, I can't change that now can I?
@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
Okay, thanks @daring lodge ! 👍
@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
@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)
hm, the id in the event is sqr_
@safe fiber can you share a full example id?
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 😅
this is an example event https://dashboard.stripe.com/events/evt_1J3LLICx65IjJG4472Jj25UV
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)
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 😄
Is it possible to totally remove the "contact" footer from an invoice and put our own text at this place ? Thanks
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.
@languid dew hello! one sec
Hey 🙂
@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
Problem is it's not my code, it's a wordpress plugin (memberpress)
@languid dew I don't think that is configurable. You can try the default footer option here and see if you're able to modify it: https://dashboard.stripe.com/settings/billing/invoice
@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
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.
hello, ngx-stripe doesn't have support for making oxxo payments?, i can't create payment methods and confirm payments.
Also, does Stripe Billing allows preventing users from selecting a product that does not have features that the user's current subscription includes ?
Thank you @bold basalt . Was hoping there was an easy fix!
@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?
hello @odd plover , does that package not have support for confirmOxxoPayment() function? I'm not very familiar with it but its docs say that you use stripe-js package as a peer dependency which should have all the right functions including oxxo
ah I see, then I imagine it isn't configurable
can you say more about this? Do mean you're using the Billing Portal?
there might be! but it all depends on what the plugin code is doing really, so can't say
i have the title, and even the raw SQL in the event. what i was hoping for was a "hey! this query has results, you should go check it out <link to sigma>" but i guess giving the name of the query to look in on should be enough? a few more clicks... but it will have to do
Yes.
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 🤣
@languid dew you can limit a Billing Portal session to certain products/prices with https://stripe.com/docs/api/customer_portal/configurations/create#create_portal_configuration-features-subscription_update-products
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
@bold basalt no, the stripe service does not have that function
Thanks
@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
@bold basalt the ngx-stripe does not have confirmOxxoPayment() function, and in the stripe-js, does not have a oxxoPaymentData
@odd plover have you included <@&842587580419932161>/stripe-js into your project?
@bold basalt yes, as it says https://www.npmjs.com/package/ngx-stripe
@odd plover so stripe-js is just a wrapper over Stripe.js and that should have confirmOxxoPayment()in it.
@bold basalt yes, stripe-js hasconfirmOxxoPayment()
I NEED HELP
Reason: Capital letters
WTF
i need helpo
any admin
pls
i lost 300 euro worth of balance out of nowhere
@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 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!
bruh fuck off scammers
literally scammers
had 300 euro there out of nowhere 0 balance
@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.
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
@ornate timber hello! what is your integration using, Subscriptions?
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
@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
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?
@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
does that mean a customer needs to create an account then login to his account to be able to change his CC info
@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.
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 ?
@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?
The simplest way to offer subscription and billing management functionality to your customers.
Ok, Thanks
Does the WisePOS E run Android on the device?
yes
Ok, now i'm really excited
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
@meager oasis I think Wifi only
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)
@meager oasis emailing from here would be the way: https://stripe.com/terminal
Thank you thank you!
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?
I'm not familiar with Integromat, but can you provide more details? Are you seeing errors? What have you tried so far to fix it?
No errors because the webhook wont fire...
@bold basalt
All I want to do is setup a way for my account team to get an email notification rather than having to check on recurring payments daily
@bold basalt
Do you see any errors for the webhook endpoint set up in the Stripe Dashboard for this?
@bold basalt had to step away, let me catch up so I can assist...
ok
via Integromat the webhook trigger is setup in Integromat, not stripe. I could setup a webhook in stripe instead I suppose
It sounds like Integromat created a webhook endpoint on your Stripe account for you, but if event delivery is failing the details would be inside your Stripe Dashboard. Have you looked there for issues with the webhook endpoint Integromat created?
Where would I go to see this?
I think ngx-stripe needs to add support for OXXO. I'm not seeing it here for example: https://github.com/richnologies/ngx-stripe/blob/main/projects/ngx-stripe/src/lib/services/stripe.service.ts
We don't own or control ngx-stripe, so I think the best thing to do next would be to file an issue on the project or create a PR to add OXXO support: https://github.com/richnologies/ngx-stripe/issues
You can view your webhook endpoints in the Dashboard here: https://dashboard.stripe.com/webhooks
Boom, got it!
Thank you
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.
I wish I could help, but this channel is for developer/code questions only. Our support team will be able to assist you better than I can: https://support.stripe.com/contact/email
Hi again, how can I do proration if I use this technique?
@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 What's up?
does stripe provide an escrow service?
@nova bolt No. See the info box here: https://stripe.com/docs/connect/manual-payouts
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
@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?
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
@nova bolt https://stripe.com/contact/sales
Hi, for example, if a certain person is using 3 services from start and decides to use another in the middle of month, so ideally I would charge him 3.5x. This is normally done with proration and since I am adding invoice items at the end of billing cycle so what can i do to achieve this behavior. Like what will be the best go-to solution?
@hallow lake why don't you use normal proration in that case?
actually I am adding invoice items to a already generated invoice at the end of billing cycle using https://stripe.com/docs/api/invoiceitems/create. This does not have proration parameter, so that is why i am not sure how to achieve this behaviour
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?
hello quick question (new to all this) does stripe hold customers CC info
@lusty crow Stripe can with Payment intents if that's what you mean
i have a moon bouce rental company and if i need to charge for damages after pick up is that possible?
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)
they sign waivers and liability forms before dropoff stating they are responsible for damges at drop off
You want to read https://stripe.com/docs/payments/save-during-payment
so would just have to provide evidence that they acknowledge that they are responsible for any damages with signed forms
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!
will read up thanks for the info
if I update subscription mid month, it will add in the current month which I dont want to. I want it to work like post paid billing. Looks like I have to calculate proration myself. Is there a standard on how to do that?
@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?
yes, I want something like this. How can it be done? I was using this API https://stripe.com/docs/api/invoiceitems/create but this does not have any option for protate
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
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.
@tight apex Hello! This isn't the best place to ask payout/account-related questions. I'd suggest contacting support by going to https://support.stripe.com/contact
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?
@still bough it depends a bit on your integration here. Do you use a third party to accept payments with Stripe?
yes, we use FG Funnels
@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
ok. Thanks!
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]
@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
@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?
@Paul I have a live endpoint, and I have a local endpoint, why it is sending my customer created trigger to live?
@round path You should reach out to support here: https://support.stripe.com/contact/email
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
Thanks alot brother ... Gonna check
@past yacht If this is for connect webhooks, that's actually expected: https://stripe.com/docs/connect/webhooks#connect-webhooks
Learn how to use webhooks with Connect to be notified of Stripe activity.
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.
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!
Hi @final verge, let me ask around
Thank you so much!
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?
@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.
Hi @final verge thanks for waiting, which docs in particular were you looking at that had the mandate UI in react?
@bleak breach thanks for the help, it's this doc https://stripe.com/docs/payments/acss-debit/set-up-payment?platform=web#web-collect-mandate-and-submit at the collect mandate section (4. Collect payment method details and mandate acknowledgement)
Learn how to save payment method details for future Canadian pre-authorized debit payments.
@final verge unfortunately Acss isn't supported yet on React Native: https://github.com/stripe/stripe-react-native/blob/master/src/types/PaymentMethods.ts#L5-L19
But it's definitely something we're working on, although I can't give you a timeline right now
@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 😃
@final verge If you'd like to kept up to date on when we do implement it in React Native I recommend opening up an issue on github: https://github.com/stripe/stripe-react-native/issues
the React Native SDK is still in public beta so we're adding new features and payment methods all the time
I'll do that 🙂 thank you for all the answers to my questions, it's much appreciated
any time!
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?
@rough pawn I don't think there's a way to set up those settings for those. You ideally shouldn't be using direct subscriptions with Express Accounts; you should be using destination Subscriptions. https://stripe.com/docs/connect/subscriptions#transfer
With Connect, you can create subscriptions for connected accounts, optionally taking fees in the process.
@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
Cool. Unfortunately I don't think there's a way to change those settings for Express.
@mellow spear Gotcha. Is there a way to even know what those settings are? Is there a default?
@rough pawn I'm not actually sure what they are. Maybe Support would know: https://support.stripe.com/contact/email
@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
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
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"
@pure crane When creating the PaymentIntent you'd provide the PaymentMethod ID: https://stripe.com/docs/api/payment_intents/create#create_payment_intent-payment_method
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
@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
With Connect, you can create subscriptions for connected accounts, optionally taking fees in the process.
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?
@carmine saddle We recommend using the prebuilt payment UI for Android which is provided in the stripe-android SDK. Using the prebuilt components gives you the smallest PCI footprint (i.e. you don't have to do anything): https://stripe.com/docs/payments/accept-a-payment?platform=android
Securely accept payments online.
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?
Hey, is there a webhook fired when a customer subscription expires (either by payment failure or cancellation) ?
@pure crane Elements doesn't do that for you, what'd you would probably want to do is:
- First list a customer's PaymentMethods on your backend (https://stripe.com/docs/api/payment_methods/list) and return that to the client
- Let your user select with PaymentMethod they want to use
- 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
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
@languid dew You'll get customer.subscription.deleted if the sub was canceled: https://stripe.com/docs/api/events/types#event_types-customer.subscription.deleted
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Thanks, Paul! An addon q - anything else on the Payment sheet I can customize except the merchant name and buy button?
That's it I'm afraid. If you want to customize further you'd use the custom UI: https://stripe.com/docs/payments/accept-a-payment?platform=android&ui=custom
Securely accept payments online.
Ok it makes more sense now ! So I have to manage myself the display of the payment methods on the frontend. Elements will just help me to input/register a new card. Thanks for clarification
Yup that's right!
Got it!
Thanks!
hi, if i change subscription mid month. It would charge me immediately whereas I want it to charge me at the end of month!
@hallow lake it won't charge you immediately unless you make a specific kind of change : https://stripe.com/docs/billing/subscriptions/upgrade-downgrade#immediate-payment , or if you pass proration_behavior:"always_invoice" . Is that maybe the case?
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?
Hi, let me start from the beginning. I want to do subscription based billing in a post paid manner. So, I was suggested to charge customer $0 dollar initially and later change it to required one by adding invoice items to the upcoming invoice. In this scenario, I would have to calculate proration changes myself which I dont want to. What is the best solution in my case?
@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.
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
unfortunately yes there can be some rough edges on that payment method and returning opaque errors, looking ...
This works the same way with subscription, right?>
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?
@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,
}],
}
}
okay, thank you so much for helping me out here 👍
@lilac turret I would need to look at the event ID (evt_xxx), do you have it?
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 ?
You can pass the invoice_settings.default_payment_method parameter when updating a Customer: https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method
@meager hawkthanks , i try it.
evt_1IvNeFEDZVYElhYgQL9a07fZ
@lilac turret well it's created because your own code called the API to create a new CheckoutSession : https://dashboard.stripe.com/logs/req_oz4IlAlSh3VZei so you'd need to look into why you do that if you're not expecting it
Thanks
ok, will do - thanks for looking at it
Is it possible to add the customer's EU tax ID in the invoice ?
Hello @all Is there any way to customize the stripe invoice "Initial fee" label based on conditionally?
@languid dew yes, if the customer has a collected tax ID(https://stripe.com/docs/billing/customer/tax-ids) then it will appear in the Invoice. You can add an ID in the way described at that page , and as of this week Checkout also can collect it during the initial payment(https://stripe.com/docs/tax/checkout/tax-ids)
@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?
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?
With Connect, you can clone your customers' payment information across multiple connected accounts for reuse.
If the PaymentMethods are on the platform and you want to make direct charge subscriptions, then you'll need to clone them to your connected account yes: https://stripe.com/docs/payments/payment-methods/connect#cloning-payment-methods
Considerations for Stripe Connect platforms adding support for new payment methods using the Payment Methods API.
Hey guys. Could you please check
in_1J3dtNKNSqBi9dJxdikUta3h ? I'm getting a paid subscription event twice and I don't really get why Oo
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?
Here is the id "in_1J29gsIA3sM08B7vwnbtDQzO"
@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.
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
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."
@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.
So once I've cloned the PaymentMethod, like here https://stripe.com/docs/payments/payment-methods/connect#cloning-payment-methods, do I attach it to the original customer, or do I have to make a new customer under the connected account"
Considerations for Stripe Connect platforms adding support for new payment methods using the Payment Methods API.
There's no such thing as a licensees for Stripe accounts, you can have as many team members as you like work on the same Stripe account. You can make it easier on yourself by having multiple roles and team members associated with your account: https://dashboard.stripe.com/settings/team
I'm getting "status": "paid", in both
@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.
ye, they look the same
You'd make a new customer on the connected account. After the PaymentMethod is cloned, the cloned copy "belongs" to the connected account. So if you tried to attach it to the original customer on the platform account you'd get an error
oh one is invoice.payment_succeeded and hte other invoice.paid
@meager hawkthanks, i will try it.
Thanks 👍
@meager hawk listen to only one of those is enough? invoice.paid or invoice.payment_succeeded
I'm listening to both
@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.
you can write to for https://support.stripe.com/email help with Magento to ask if there's a way to configure how it works to use a different description.
The difference between invoice.paid and invoice.payment_succeeded is that the former will also fire if an invoice is marked as paid-out-of-band.
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
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!
Thanks for help 🤠
Thanks, is there a deletion date I can use ?
@meager hawkhello, i tried add address, and no payment_intents_redirect_url also, the requestID is req_7N6Wla0j6PQi1g.thanks.
So that one works for both customer.subscription.deleted and invoice.payment_failed ?
@languid dew I don't know what you mean, can you explain in more detail? Those two events are not really related.
Oops, I was confusing things, nevermind
@pallid gulch maybe try passing klarna[custom_payment_methods]="payin4,installments" ? I think it's required(see the note on https://stripe.com/docs/sources/klarna#create-source ) if you're in the US
What's the proper webhook event when a subscription is paid and starts ?
@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
Alright, thanks
@meager hawk no yet. requestID is req_AkfHU2p8rrEgsf. thank you very much.
@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.
I've gotten this message 2 times now... I can't get an account set up I do not have a business
@pallid tide this isn't something we can help you with here , so please contact https://support.stripe.com/email instead, thanks!
I have been talking to them via email for more than 25 hrs now..... I need a faster way of communicating
??
@meager hawkok, thanks a lot. i will try to contact support email.
how can i use apple pay with flutter?
I want to implement simple accept payment option on flutter apps
@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.
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?
@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
if you explicitly need to connect to an existing account you'd have to use OAuth instad : https://stripe.com/docs/connect/oauth-standard-accounts
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
@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
@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
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
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.
At the very least you also need to set up your project and certificates, so steps 1-3 from https://stripe.com/docs/apple-pay?platform=ios#accept
at that point you can use https://pub.dev/packages/flutter_stripe I believe to have a payment form that accepts cards and Apple Pay, though I don't have direct experience with it myself.
what kind of limitations are you thinking of?
Hmm okay - so in our case when the customer already have an account with another service and they want to sign up for us, they need an account for each of them? When in both cases we provide a payment solution for them in different scenarios?
@fathom light yes, the customer would have a separate Stripe account for each platform(but they're associated with their email address and they can switch between them in the dashboard etc, but otherwise they're separate at the API layer). See https://stripe.com/docs/connect/oauth-changes-for-standard-platforms
Learn about the changes Stripe is making to OAuth for Standard Connect.
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
Hmm I see, and that makes sense, the more i think about it 😅
Is a credit note's PDF file available as soon as the credit_note.created webhook event is fired ?
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
Yes, and I'm only listening to invoice.paid so I have no problem with that
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.
Alright, thanks !
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?
Learn about authentication to reduce fraud and meet regulatory requirements.
@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?
@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
@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.
@meager hawk
yep that looks like a WebView, of a page that's using our stripe.js library.
@meager hawk what I can see here:https://stripe.com/docs/payments/3d-secure is that I can add an parameter backend request_three_d_secure
Learn about authentication to reduce fraud and meet regulatory requirements.
you can but that's really not relevant.
I see
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
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?
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
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.
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
@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.
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.
This is how I understand that the system is built
to enable crossplatform compabillity with less code
yeah ideally you'd use our React Native library for that (https://github.com/stripe/stripe-react-native). But anyway, with that setup, if you change the integration — pass a return_url when creating the PaymentIntent so that instead of using stripe.js to present 3D Secure in a popup(iframe), you set window.location to the 3D Secure page, it would have less compatibility problems, https://stripe.com/docs/payments/3d-secure#manual-redirect
@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.
how I can check it in WooCommerce. I have serached a lot but can't find any thing useful
@livid sequoia I'd try contacting their support team : https://woocommerce.com/contact-us/
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
@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)
Hi Karllekko,
Just had a follow up question regarding the connection of multiple accounts, if you connect to an account through an extension and only get read access, you can't charge and make refunds on that accounts behalf right?
@fathom light correct, you'd need read_write access to do that
@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.
it's not necessarily that the payment failed but rather the customer chooses to use different payment methods. The original source type was sepa_credit_transfer. He then goes to pay via credit card for another order, but then for a third order want to pay via SEPA transfer again and thats when it won't work and he gets refunded.
@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!
Hi! I was wondering why the fees taken out of 2 payouts of the same amount were different?
@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.
sorry meant incoming payments.
ba_1J0f8hKV8PHCVUpB1PssojIK
pm_1IyO0xKV8PHCVUpBsjNA80dX
@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.
Yep, seems like exactly that. See https://stripe.com/us/pricing , for "ACH Direct Debit" on that page, the pricing is different from credit cards. If you have any other questions about that then https://support.stripe.com/email can help(this channel is for technical/API questions)
ahh ok thank you!
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?
@vocal wagon hey there. how are you creating this payment?
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
@vocal wagon sure, but this is your own code creating payments right? are you using the payment request button? checkout?
@vocal wagon i'm not sure what you mean, that's not a feature I'm familiar with. is this from your stripe dashboard?
Yes I've activated the Google Pay payment on the Checkout settings
The payment request button
@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.
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?
I'm using the Woocommerce checkout but the Pay Now button is in the product page, not in the checkout
@heavy glade I think that parameter needs to be default_settings.invoice_settings.days_until_due: https://stripe.com/docs/api/subscription_schedules/create#create_subscription_schedule-default_settings-invoice_settings-days_until_due
Thank you @hollow prairie ! 👍 I should come here sooner. Appreciate the help.
@vocal wagon Ah, so you're not actually managing the payment request creation yourself?
@heavy glade Np! Let me know if I can answer anything else
@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.
Ah ok, thanks for your support
@vocal wagon no problem 🙂
@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?
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
@sour ocean You should follow the link at the top there to the support page and work with our Support team
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
@sour ocean I can't make any account changes for you here, you need to contact support.
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
@sour ocean If you can log into your account you can request a live chat here https://support.stripe.com/contact
Hi! I am dealing with the following scenario:
- a charge is being partially refunded using the associated payment_intent_id like so (node.js):
await stripe.refunds.create({
payment_intent: stripePaymentIntentId,
amount
})
- 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)?
@left crystal hey there -- reviewing now
@daring lodge Thank you so much 😄
@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
no problem 🙂
Are webhook requests retried in case of 5xx HTTP code returned, if yes, how many times at what interval ? Thanks
In live mode, we'll generally attempt retries over a 3 day window. More info: https://stripe.com/docs/webhooks/best-practices#events-and-retries
And, in test mode ?
@languid dew "In test mode, Stripe retries three times over a few hours"
That's not very precise 😅
Are https://pay.stripe.com/invoice/acct_XXX/invst_XXX/pdf URLs permanent ?
@languid dew Yes they are
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?
@humble light hello, one sec
We have updated stripe-php to latest version as well
@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.
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?
Hi there guys! I am recently experiencing some huge loading time during checkouts on my site. have you ever seen something similar? 😰
Hello
@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.
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.
@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?
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?
@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
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
@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
Yep @bold basalt I confirm 😉 The plugin is updated but, on my private dashboard on stripe site, I see a potential update for the API ( 2020-08-27 - I am using the default version 2020-03-02 if it could help ). Never seen that loading time before.. What about it?
@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
Got any further advice on what we should do to resolve the issue?
@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
Alright, thanks!
thank you very much! @bold basalt
Hi, where should be stored/retrieved on the payment method the "firstname on the card"/"lastname on the card"
@pure crane hi! it would go under the billing_details hash on a PaymentMethod: https://stripe.com/docs/api/payment_methods/create#create_payment_method-billing_details-name
it would be the whole name, first and last aren't separate fields
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?
In case an order is billed to a different person than the card owner, does it still makes sense to store it on billing_details of the card?
@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?
Payment Method i believe
Ok that makes sense, thanks for help!
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
@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)
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.
@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
ok thanks will do
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?
@weak linden hello! let me check
thanks @bold basalt
@weak linden
in which javascript sdk method is the cardholder name returned--is it in collectPaymentMethod?
it would be inprocessPayment().collectPaymentMethod()only internally caches card info, doesn't expose any details to your application or integration.
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?
@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
thanks @bold basalt -- will look into it!
is there any documentation on the info returned from processPayment() such as address?
@weak linden https://stripe.com/docs/terminal/js-api-reference#process-payment
it returns you a PaymentIntent object, which will have a successful Charge underchargesfield. That object would have it nested under this field: https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-cardholder_name
perfect thanks @bold basalt !
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
@vocal wagon hello, what is your integration built with, Checkout I think?
Also are you the developer who built your integration?
yes it is stripe checkout
yes i am the developer
but i am helped by another person
@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
ok so what do you advise?
many thanks for your indo
info
the message also says : your session has expired"
@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.
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!
Documentation for @stripe/stripe-react-native
@final verge Hello! Can you share the ID of one of the Setup Intents associated with this issue?
@mighty hill I believe it's this seti_1J3lHgGhawG1pGgAodD4TgSF_secret_Jh9aaPwXpgtfxdLjZRKdpBsEvlZzTxB , let me know if it's not what you're looking for
@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 }?
yes! here's a screenshot of the log. I first logged the client secret and then logged the return value of confirmSetupIntent(...)
Hmmmmmmmm...
@vocal wagon Hello! Is English okay?
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
@vocal wagon Pour obtenir de l'aide en français, veuillez contacter le support : https://support.stripe.com/contact/email
There is a space with french help?
@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
thank you
@vocal wagon dépendemment du pays de ton logiciel, voici la référence https://stripe.com/docs/payments/bank-debits c'est donc par débit bancaire ce que tu recherches je présume
@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?
@mighty hill version '2020-08-27'
@final verge No, sorry, which version of stripe-react-native are you using? https://github.com/stripe/stripe-react-native/blob/master/CHANGELOG.md
@mighty hill oops sorry, it's version ^0.1.4
@final verge Okay, well, I'm honestly not sure. I think it might be a bug in the library. I recommend filing an issue here with the details: https://github.com/stripe/stripe-react-native/issues
Will do then, thank you so much for your time and help! It's really appreciated! I'll open an issue on github
@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. 🙂
Are stripe climate contributions tax deductible?
@meager oasis I'm not sure. That's a great question for support though! https://support.stripe.com/contact/email
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?
@pure crane The Card Element will emit several events as it's interacted with: https://stripe.com/docs/js/element/events
@pure crane See also https://stripe.com/docs/js/element/input_validation
👍 perfect
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"
@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...
I am blocked on using the CLI on .NET. Anyone can help me move forward?
@past yacht What's blocking you?
@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
@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?
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?
@mighty hill Thanks for looking into this. This is the first time I've tried this
@mighty hill stripe listen --forward-to=localhosts:5001/api/St/webhook and then stripe trigger customer.created
@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.
@mighty hill that resulted in [307]
@past yacht That's the exact command? With localhosts with an s?
@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?
@mighty hill typo "localhost:....
@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
@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?
@mighty hill I will need to set that up again, takes a few minutes.
@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?
Yeap that is correct
@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
@lime spade Gotcha. Yeah, unfortunately that just won't work. If you want to use Stripe Promotion Codes you need to use Checkout or Subscriptions. For Checkout the documentation is here: https://stripe.com/docs/payments/checkout/discounts
@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.
@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)?
@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
@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();
}
}
@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?
@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
@mighty hill stripe code gone HTTP /1.1 411 length required, which is same as before
@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?
Alright. Thanks for the help and I appreciate your time in answering my questions!
@lime spade Happy to help!
@mighty hill made another change to port 5000 which is the http port the endpoint is listening on, 5001 is https
@past yacht Okay, can you provide the full output of the curl command after you changed the port?
@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
@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?
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
@mighty hill hey, something else this endpoint is Open API, I can use it with Swagger, which gives me this:
Curl
curl -X 'POST'
'https://localhost:5001/api/St/webhook'
-H 'accept: /'
-d ''
Request URL
https://localhost:5001/api/St/webhook
Server response
Code Details
200
Response headers
content-length: 0
date: Fri,18 Jun 2021 20:27:12 GMT
server: Kestrel
Responses
Code Description Links
200
Success
@past yacht hello! I'm catching up as Rubeus might have to step away
@bold basalt he gets scared this easily?
@past yacht nope, had to step into a meeting
@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
you changed port to 5001? (just checking it isn't a typo)
@mighty hill Hi yes I'm still here
@bold basalt I am trying both, since I don't know if it matters?
@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
Rubeus had to step away but will let them know you're back
@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
@past yacht so 5001 using CLI isn't able to POST but 5000 using CLI is redirecting with a 307, right?
is that Swagger test the same as running a POST via curl locally? Not sure as I haven't used Swagger much
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
have you tried https?
that test in the image is using https
your stripe cli listen is not
@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.
@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.
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
@past yacht ah yeah your stripe-dotnet is on a different version from your CLI endpoint, you might be able to use the --latest flag to send events on 2020-08-27 https://stripe.com/docs/cli/listen#listen-latest
Complete reference documentation for the Stripe CLI.
@bold basalt will check that out
@mighty hill and @bold basalt always grateful! Thanks.
@past yacht Happy to help! Glad you're unblocked!
@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
@rough pawn It's an issue on our end, yep, we're planning to improve this in the future.
@rough pawn fwiw with Express we expect you to manage this at the platform level not the connected account
@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
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
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
ah no worries, just making sure! https://github.com/stripe/stripe-payments-demo has both on the same page and you can see it live on https://stripe-payments-demo.appspot.com/
oh wow was that added quite recently
ah no that demo has existed for multiple years
cheers
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
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
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
I mean stripe.handleCardPayment() and stripe.paymentRequest({})
but both utilise the same intent
ah yeah they have to be separate because PaymentRequest works differently
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?
yes
👍
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?
I think you need a real card, and then we'll replace it as a test card in Test mode
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?
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
@shut frost yes it will just work
@manic agate it's part of onboarding, I'd recommend talking to our support team https://support.stripe.com/contact/email
They haven't been useful and take too long to reply
It should be within the settings right?
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
sounds good
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?
👋 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 🙂
Is generating a payment link programatically a thing yet?
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.
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
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)?
@lusty geyser The easiest way is to update the Subscription with a 1 month trial using trial_end: https://stripe.com/docs/api/subscriptions/update#update_subscription-trial_end
In PHP you could do this, for example:
$subscription = \Stripe\Subscription::update('sub_123', [
'trial_end' => strtotime('+1 month'),
]);
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.
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
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
Yeah I reached out to them numerous times still no response.
Thank you though for responding I appreciate it.
@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?
@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.
@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?)
@lusty geyser Yeah, that would work I think. The stacking limit applies at the Invoice level. See the info box here: https://stripe.com/docs/billing/subscriptions/discounts
Reduce the amount charged to a customer by discounting their subscription with a coupon.
@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?
@lusty geyser Yep, that's exactly what it does!
@mighty hill if it’s a paid subscription does it get prorated?
@lusty geyser That's up to you. See here for details: https://stripe.com/docs/billing/subscriptions/billing-cycle#changing
Subscriptions are billed on a cycle, learn how to set the billing date.
@mighty hill awesome thanks for the help. i'll try testing both options 🙂
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?
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 !
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
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
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"
might help to explain your case
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
I assume you are using interval=week, interval_count=2 right?
so, if "today is tuesday" the next charge of the subscription should be the 10th of July
yeah
i'm sending a price_id with that config
as a Subscription item
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
mm maybe it was confusing, you can read the first stament as "Already created subscriptions" (After the first charge)
mmm honestly, XXX is a UNIX timestamp date, but i assume is the 10th of July i've mentioned
question here is, which is the "natural billing date"?
the one that i'm sending as billing_cycle_anchor
sorry, XXX its 3rd of July
and i realized that it is the "natural billing date"
Yeah so if the subscription starts today, you can't make it bill on the 10th (because that's greater than 2 weeks) But why would you set it to the 10th anyway that is 3 weeks from now?
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
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
"deliveries" is a business concept
then let's ignore it for the sake of the discussion
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
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.
business needs to use FPX.how to do?
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
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
@real crown Hello! I'm on mobile right now, but why do you think this is a security issue?
this sends a secure request through an unsecure ip address
http://34.211.78.247:443/ <-- It literally POSTs to that
which is Stripe
http to 443
I believe that's intentional in this case.
it is not, i saw the message on my console
from that long link
why would it be intentional?
What message?
on mozilla network console
there was a network POST request
like that should not be happening on a stripe mainnet
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.
Okay, but why is that a security issue?
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.
If you have concerns reaching out to support is the appropriate next step.
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
The m.stripe.com subdomain is part of our fraud detection system: https://support.stripe.com/questions/privacy-and-security-of-stripe-js
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
Still not clear on what the scary/concerning aspect of this is. Again, I recommend you reach out to support with details.
is why i clicked on a link from the fuckig network console
that set off that
is what is scary bro
why?
Could you please refrain from swearing here? We want to keep things PG here. 🙂
sorry, this is just ridiculous
So clicking on m.stripe.com takes you to https://stripe.com/privacy-center/legal and that's what's concerning you?
Did you notice that page explains in detail what m.stripe.com is and how it's used?
no
That's why attempting to visit that subdomain takes you to that page.
I don't totally follow why it's concerning that m.stripe.com redirects to stripe.com/privacy-center/legal
also, tbc, 34.211.78.247 doesn't listen to port 80
because i dont want to go to jail for clicking on a random link?
sorry, how do you mean?
You're not going to go to jail by clicking on a Stripe link you find in your browser's dev tools.
then what is the reason for the fraud detection system?
To detect and prevent fraud.
???
it's part of https://stripe.com/radar
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.
so what does this even mean?
Can you ask a more specific question?
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
That's exactly what it is, yep.
yessir
something is wrong with the certs for that site
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
like, whoever set that site up misconfigured their TLS certificate
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
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
You didn't set off anything, and you're not in trouble for visiting m.stripe.com
do you know this?
Yes. We use the system to prevent fraud, not put people in jail for clicking a link. What law do you think you broke?
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
oh okay
well that is good news at least
i thought i accidently wandered into a stripe backend
you're free to load the javascript and see what it does, or click on links, or whatever
the CFAA is whack, but it's not that whack 😛
aha
separately, whalebot.io's TLS setup is extremely busted according to https://www.ssllabs.com/ssltest/analyze.html?d=whalebot.io
it sounds like you've come to the same conclusion, but I would suggest not buying anything with that site until it's fixed
haha i appreciate that, and really thanks for clearing that up. That was really a spook
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.
That is a pretty neat system
That's why I started off by saying this is normal. 🙂
I guess it makes sense now that i know what it is, but the situation was sort of scary at the beginning lmao
i should've listened facepalm
No worries! We're here to help... although not usually on the weekend. 😅
❤️
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.
We the weekend payouts are not made during weekend since banks are closed
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?
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
@thin echo please refer to rule #5 and reach out to support 👍
Hello
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?
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?
Update : Stripe sent me an email about the origin of the issue. It appears I have an issue with my URL of the webhook endpoint.
That's why my payment status are not correct. I have this error below. How can I fix this ? 🙄 Thanks !
Is there a way to style a card element's border color ?
@cloud pasture Here's a full list of CSS properties you can set on the element object: https://stripe.com/docs/js/appendix/style
Complete reference documentation for the Stripe JavaScript SDK.
For border colour, you'd just set the border of the container element rather than pass in a border to the element itself