#dev-help

1 messages · Page 133 of 1

vocal stump
#

Bug or intended behavior?

crimson needle
#

@vocal stump AFAIK you're supposed to pass the stripe account header on the save. We strongly strongly discourage using save :p

vocal stump
#

Okay cool

#

I was confused because $invoice->voidInvoice(); does work and does not lose Connect context

#

I just changed to using Invoice->update('inv_', ['metadata' => ['whatever' => 'goes here']], ['stripe_account' => 'acc']) and that worked

#

But yeah I can see save being a bad idea, i.e. saving the entire state when you only meant to update a particular property

#

However, good news; the balance adjustment from failed subsvription updates now works

#

Take a look at cus_JuKPY7fe7y1JXH

#

Four attempts at updating to a plan that is partially covered by customer balance

#

All works out

vocal wagon
#

Is there an easy way to clear all test data from a Stripe account all at once?

vocal stump
#

Click "delete all test data"

smoky ledge
shadow cobalt
#

Bit confused now and quite late, will come back another day. Thanks for the help.

frail basin
#

help

#

everytime my customer tries to pay via invoice

#

it just declines his card

#

all my customers

crimson needle
#

@shadow cobalt happy to clarify if you have a specific question!

cerulean pineBOT
#

:question: @frail basin Have a non-technical question, account issue, or need one-on-one support?
We wish we could help, but this community is focused on developers and technical discussions. Our support team will be able to assist you better than we can: https://support.stripe.com/contact

kind python
#

Hello I was trying to send an email receipt to a customer in the paymentIntent but id doesn't work here is my code: amount: 9999, currency: 'usd', payment_method: request.body.payment_method_id, receipt_email: 'my email',

crimson needle
#

@kind python I'm assuming you're still in Test mode right now. Email receipts are not sent in Test mode so that's expected. You can preview them in the Dashboard though

kind python
#

Ok

#

@crimson needle yesterday you told me that the issue was the server code wasn't running, if I use VS Code will the server code run?

crimson needle
#

VS Code is just an IDE on your laptop. So not really no. You need to know how to start your server-side code first. Have you built a website end to end before? If not you might want to maybe hire a freelancer to help you with the integration?

drowsy glen
#

Hello again y'all

I'm looking for a way to get the number of lines on an invoice. If the number of lines on the invoice are more/less than I expect when creating it via code, then obviously I have an issue and should throw an error etc.

So, what I'm thinking is I call the API stripe.invoices.create and look at the $.lines.data.length (in Javascript)
However, I see there is a flag in there "has_more": false, and I'm not sure what the intent there is (it's not on this piece of documentation).

How would Stripe recommend getting a count of the lines on an invoice?

vocal stump
#

has_more is used for pagination, @drowsy glen . If it is true it means you can request more lines from the API than you currently have

#

As you can see you can set the limit to 100 which should be enough for any invoice

drowsy glen
#

:) Yea we're trying to avoid hitting the 250 line limit at the moment :)
Is there a more optimal API call that I can do to just get the line count? Looking at the pagination, I'll be fetching a lot of info from Stripe just to count records and throw them away.

Thoughts?

vocal stump
#

Don't know. I have not encountered the use case of "counting invoice lines". I don't think you can do anything but request the lines and count them manually

#

You can of course store them on your end and count them using a database

crimson needle
#

There's nothing more optimal

#

I really suggest again figuring out a way to fully aggregate this on your end

drowsy glen
#

Yea I've counted on my side how many I expect, so on my side, I know exactly what I'm expecting.
I wanted to check on Stripes side that what we expect to have happen, is what happens :)

I can imagine a scenario where a customer has a subscription or a one off credit etc, appearing as a pending line item, I then run my script, and end up with whatever random item was sitting in the pending line items queue before I started my invoice for customer X. Instead of my invoice having the expected 45 items, it's suddenly got 46 or more.

All good, I'll mark it for review on our side.

Might be a nice feature if on a call to stripe.invoices.create({ I could pass in an array of ID's that I got when creating the items I want on this invoice, I imagine I would get the ID's from my calls to await stripe.invoiceItems.create({ or I could have called stripe.invoiceItems.list({ and cherry-picked the items I want on the invoice.

Thanks very kindly for the help again.

EDIT: Just thought, I can call stripe.invoiceItems.list({ before creating the first line item, and make sure it's empty, that way I know I'm starting from a clean base. That's not a bad starting point for me either :)

crimson needle
#

yeah though while you create line items another process could add one anyway

#

Would it be easier for you to look at the invoice amount properties? And if it doesn't match what you expect then you paginate

drowsy glen
crimson needle
#

damn

celest edge
#

Hey is there a way to create promotional codes / coupons for certain products only?

celest edge
#

Oh thank you

rough badger
#

Hello, we have a current production account which is the account that we use for processing live transactions; however we would also like to have a production account which is used for development purposes only. I am aware of the test mode option; however this does not allow us to test the processing of real transactions end to end with all production functionality. Can you please advise the best way to proceed? Thank you

lucid raft
#

@rough badger normally we don't recommend user to do live card testing as it might violate the network policy.

#

Our testing mode should cover majority of the real transaction flows

summer oracle
#

hello, my project need to limit user add a card from country, do we have any way to do that?

lucid raft
#

@summer oracle If you are using Radar, you can create radar rules to block by country

#

another way is to tokenise the card and check the country from the payment method before saving to customer

rough badger
lucid raft
#

If your developers do not have access to the dashboard, you can give them a test mode key sk_test_xxx / pk_test_xxx; these keys will only have access to the test mode

rough badger
#

Apologies, I am referring to the stripe web console. At present with developer access you can switch between Test Mode and Production Mode. I would like to restrict access to test mode only in the Stripe Web Console.

lucid raft
#

I don't think you can do that..

rough badger
#

Yeah that is my understanding also..

errant shadow
#

this isn't a dev question but i was charged by a company using stripe subscription but they don't have any way to cancel their subscription

#

is this even allowed because they wont refund me and pretty much are saying deal with it

lucid raft
errant shadow
#

ik its supported but its not on the billing page for this company so pretty much i cant un subscribe

lucid raft
#

I would say share these with the company and push them to cancel your subscription. Else you can raise chargeback

errant shadow
#

im def gonna charge back but i just dont think its right for a company to decide if they will let u cancel a subscription and i wanted to know if this was allowed with stripe

#

and yes they are using the Stripe Customer Portal

lucid raft
#

It is allowed technically

warped torrent
#

Hi all, I would like to be able to retrieve a subscription by ID (NodeJS API) even when it is cancelled. Any solution ? I know the list api take the status in param, but I'd like to use retrieve instead. Thanks

lucid raft
summer oracle
lucid raft
#

you check the country before calling stripe.confirmSetupIntent

summer oracle
lethal niche
#

Hello Guys, how can e include stripe payment integration in a static website made using HTML, CSS, JavaScript? Is anyone know here? It would be a great help.

lucid raft
#

You will need a server side code too though

lethal niche
#

@lucid raft Thanks for the help!

lucid raft
#

np

sterile sail
#

Hi Guys, how do I go about getting into my account after I was prompted to provide identity docs? They were uploaded which was supposed to give me instant verification and allow me into my account, but that was a couple of hours ago and there is no sign of any email advising they were verified 'instantly'. Pretty frustrating user experience

golden cosmos
#

@sterile sail Hi! Sorry about the frustrating experience you've had. This channel is for technical and development questions. You woud likely want to reach out to Support to about this: https://support.stripe.com/contact/ and they should be able to help you out.

sterile sail
#

No dramas, will do. The contact page did say "If you have technical questions" so 🤷‍♂️

spark venture
#

Hi guys, our clients are organizations that are billed per user (Seated pricing). Is there a Stripe mechanism to associate those seats to a unique identifier (user email) so we can prevent users from being swapped in and out within a billing period?

E.g if joe.blogs@example.com is added by the organization, the seat will be 1. If joe.blogs@example.com gets removed, the seat will remain 1 for the rest of the billing period. If jane.doe@example.com is added, an additional seat is charged, as seat 1 belongs to joe.blogs@example.com for the rest of the billing period if the organization decides to add him back in.

lucid raft
# spark venture Hi guys, our clients are organizations that are billed per user (Seated pricing)...

I don't think Stripe API has such function out of the box. You will have to build the logic yourself where your system need to keep track the email addresses associated with the currently billing cycle. meaning before calling report usage API, you probably want to check your system if the email address already exists. if it exists, skip the usage addition, else report the usage. When user remove the email, you do nothing, the report number will continue. And at each billing cycle, probably you want to reset the list removing the user removed

#

These are all custom logic that you will need to implement within your system

spark venture
lucid raft
tall forum
#

Hi guys! I have 0.37 HUF in my account (which is like 0.001 EUR), and therefore I cannot close my account. It says I must bring me balance to 0, but since HUF is a zero-decimal currency for payouts, I am not able to payout this 0.37 HUF. Actually I don't even need this money (what can you do with 0.001 EUR...), I just want to close my account. What should I do?

distant condor
#

Hey guys, I am new to channel. I have integrated stripe SDK in our app. I am looking for dexguard rule for my app so that i can add my release build.

lucid raft
cerulean pineBOT
#

:question: @tall forum Have a non-technical question, account issue, or need one-on-one support?
We wish we could help, but this community is focused on developers and technical discussions. Our support team will be able to assist you better than we can: https://support.stripe.com/contact

tall forum
#

Thanks guys!

lucid raft
distant condor
#

can you please check with Android team. they must be aware of it.

icy anvil
#

I personally find obfuscation a little silly. emulation is always possible

lucid raft
#

Cool, thanks @icy anvil 👍

maiden meadow
#

Hi anyone can help me with some few questions

#

@dry hatch can you help me with one issue

dry hatch
#

Hi @maiden meadow , what is your issue?

maiden meadow
#

I want write click functions before the payment request button can I to get some info?

junior ivy
#

Hi Team .. Im making an invoice to customer with destination account as connected express account. Will I be able to refund this amount back to customer ? Will this get the amount from helper's account and payback to customer ?

dry hatch
maiden meadow
burnt yoke
#

Hi everyone

I am trying to integrate Google Pay with Stripe into an Android app. I am wondering what types of Payment intent statuses should I handle in application ?

According to this guide – https://stripe.com/docs/payments/accept-a-payment?platform=android&ui=custom#android-submit-payment, it is required to handle only Succeeded status. And any other status indicates the payment error.

But at the same type, this guide – https://stripe.com/docs/payments/intents tells that there are some statuses that could occur during proceed the payment. I'm especially worried about Processing status, that indicates, as for as I understand, the payment could finish at the any time in the future. And also it applies to some statuses indicating an error.

So my question is – should I be worried about any statuses other than Succeeded on client side ?

junior ivy
lucid raft
dry hatch
lucid raft
#

GooglePay in Android

cunning swan
#

Hi, is it possible do payment_intent with confirm=true, off session payment for card with enabled 3ds?

lucid raft
maiden meadow
#

Here I want collect some data before the google form popup on click of payment request button

maiden meadow
#

I have tried to write the click fucction but its not working as expetected

dry hatch
#

Payment Request Button

#

Payment Request Button

distant condor
#

@icy anvil : How can i resolve this issue ?

#

Process: com.jio.media.jiobeats, PID: 10741
java.lang.IllegalStateException: LifecycleOwner com.jio.media.jiobeats.HomeActivity@3f62288 is attempting to register while current state is RESUMED. LifecycleOwners must call register before they are STARTED.

cunning swan
potent kernel
#

hey, i've a problem with some request to stripe, this message is return
stripe.error.APIError: Request req_eqB5UTNMHXu1uT: Error while communicating with one of our backends. Sorry about that! We have been notified of the problem.
what can i do for fix that ?

spice arch
#

is there any chance of getting a number to call from stripe

potent kernel
#

from a certain time the staff responds well here

spice arch
#

yh I don't do well with messaging
I prefer to call and talk to someone

I have looked online and can't find a contact number

lucid raft
lucid raft
#

^ ignore me

spice arch
#

ok I'm having issues with a business account

lucid raft
#

I thought you are talking about API calls lol

#

ok

potent kernel
cerulean pineBOT
#

:question: @spice arch Have a non-technical question, account issue, or need one-on-one support?
We wish we could help, but this community is focused on developers and technical discussions. Our support team will be able to assist you better than we can: https://support.stripe.com/contact

lucid raft
#

thus probably try retrieving smaller number of accounts

potent kernel
lucid raft
#

Yes, you will need to paginate through it. I mean even if you retrieve 100, if you have say 101 accounts, you are missing the last 1 and you will have to paginate anyway

vocal wagon
#

Hi ! Getting this error while trying to finalize SetupIntent (js sdk), which prevents user's to add their bank verification code, any idea how to unlock the situation please ? "Blocked autofocusing on a <input> element in a cross-origin subframe. "

potent kernel
#

how okey the problem comes from my way of doing things I ask him to take 100 into account until the requests have no more 😂

    while (True):
        add_list = stripe.Account.list(limit=100, starting_after=obj_foo)
        if (len(add_list) < 100):
            break
        for id_list in add_list:
            obj_foo = id_list["id"]
        list_all_account += add_list
        nbr_account += len(add_list)
``` sorry for your waiters, good day to you
vocal wagon
spice arch
#

hopefully this is classed as a "technical" problem

my business started using stripe as a payment gateway
we started taking money through a minecraft server
they needed details of what we sell
sent details
and get an email about 3rd party t&Cs
and how we don't comply with them

but we don't have a 3rd party

lucid raft
vocal wagon
lucid raft
vocal wagon
lucid raft
# vocal wagon

Right that looks like the bank specific issues on 3DS.

#

Let me check

#

@vocal wagon hey, do you mind writing into our support as we will reach out to the bank to make their 3DS page working with Stripe

cerulean pineBOT
#

:question: @vocal wagon Have a non-technical question, account issue, or need one-on-one support?
We wish we could help, but this community is focused on developers and technical discussions. Our support team will be able to assist you better than we can: https://support.stripe.com/contact

lucid raft
#

^ this email

#

And can you provide the screenshot and your payment method id so that we can find the bank to reach out to

vocal wagon
vocal wagon
lucid raft
#

Yes, Do you have a payment_intent / payment_method ID? I can escalate this to our team

vocal wagon
lucid raft
#

ok, that will work too

vocal wagon
#

seti_1JIUQqBf97W8vM2GCxXhTo2p

#

Still need to contact support by mail since you escalate ?

lucid raft
#

Yes please, going through support will guarantee you have a follow up from us.

vocal wagon
tight parcel
#

Hi there!
I'm using dj-stripe and letting the user manage their payment methods through the Stripe Customer Portal (stripe.billing_portal).
For some reason, when I delete a payment method here my dj-stripe models are not updated throught the default webhook, i.e., the payment method stays there.
Did this happen to anyone else, and do you have a clue on what might be causing this?
This is the default payment handler from djstripe, which seems to be deleting the payment method.
https://github.com/dj-stripe/dj-stripe/blob/e57ad8da659b6113740b1049f2dee7f6f4053733/djstripe/event_handlers.py#L141
I've built another webhook handler on "payment_method.attached" event only, to make the first payment method inserted as the default.

noble sonnet
#

Hi I am using this JS SDK for Payment Request Button:

const { error: confirmError } = await stripe.confirmCardPayment(
payment.stripe.clientSecret,
{ payment_method: ev.paymentMethod.id },
{ handleActions: false }
);

I noticed that the Paymnet still succeed even if I use a card with wrong CCV, can anyone help me if i am calling wrong function?

dry hatch
noble sonnet
#

nope valid card

#

What i did is i put a valid card in Chrome Browser with a Valid CVC. After that I tried editing the CVC to a wrong one which Chrome Browser allowed.

After that I went to my website and proceed with the payment flow and Stripe allowed the payyment

vocal wagon
dry hatch
noble sonnet
#

Ok so if I am not in test mode, Stripe can detect that a card has a wrong CVC?

#

But to answer your question yes I am using Test Mode with a Valid Card Number with Wrong CVC

noble sonnet
#

ok got it orakaro i will try thanks

south escarp
#

If I update my stripe version from 2016 to current, will all my products that are subscriptions that still use "plans" and have a custom made api key for the price_id still work and still be there?

fossil yarrow
#

Hi sorry to interrupt but i want to ask some question about instant payout: Can instant payout available in Hong Kong, if not, are there any alternative methods for me to shorten the time period to < 2 days?

golden cosmos
dry hatch
wicked smelt
#

Hey, is there any way I can receive updates over the webhook regarding refunds I create for payment intents? I heard about the charge.refund.updated event, but for some reason this does not trigger when I initiate a refund (The payment also shows up as refunded in the dashboard) (created using the refunds api)

golden cosmos
golden cosmos
wicked smelt
golden cosmos
dry hatch
# tight parcel Hi there! I'm using dj-stripe and letting the user manage their payment methods ...

I am not sure about dj-stripe, but that code looks correct when they try to handle the event payment_method.detached https://stripe.com/docs/api/events/types#event_types-payment_method.detached Can you elaborate more with your issue?

cunning swan
#

Hi, i am in test mode and use auto confirm payments with 3ds card, but it failed with "authentication_required". Why your testing card flow this error and how can i avoid this ?
req_X5cIDwNeWIFhXa

golden cosmos
#

@wicked smelt you would want to listen for two kinds of events for refunds, the charge.refunded event and charge.refunded.updated

#

for successful refunds, you would want to listen for charge.refunded event

wicked smelt
#

oooh okay, perfect, thanks and have a great day 🙂

golden cosmos
#

you're welcome!

dry hatch
cunning swan
#

I'm not provide this param because in api i read that:
confirmation_method = automatic (Default)

hollow prairie
#

@cunning swan Hey there. Seems like you're using a test card (4000000000003220) which requires 3DS authentication, but are also marking the payment as off-session

wicked smelt
#

@golden cosmos So if I understand it correctly, charge.refunded gets called when the refund was successful, and charge.refund.updated when the refund failed? and and these are the only two scenarios in which this can get called?

hollow prairie
#

@cunning swan By marking the payment off-session, you're essentially telling us your customer is not present in order to handle the required auth flow and thus the payment fails. You'd need to bring them back on-session to handle this, or setup the card correctly for off-session payments

golden cosmos
#

@wicked smelt actually, let me rephrase

#

@wicked smelt when you create the refund successfully, you would get the charge.refunded event. It's possible that later, the refund fails, you would subsequently get the charge.refunded.updated event. Does that make sense?

wicked smelt
cunning swan
golden cosmos
wicked smelt
#

Sure, no hastle here 😄

hollow prairie
#

@cunning swan Hmm, when was that set? You're actually using Sources which don't really support off-session stuff like this. You should be using PaymentMethods instead

tight parcel
hollow prairie
#

@tight parcel Do you have a specific event ID that you'd expect to be handled by your webhook that we can look at?

dry hatch
cunning swan
tight parcel
hollow prairie
golden cosmos
#

@wicked smelt done testing! What you would want to look at specifically in the charge.refunded event is this field refunds.data.status [0]. For credit card refunds, this can be pending, succeeded, or failed.
Sometimes, it's possible that you receive the refunds.data.status : "succeeded", but later you get a charge.refunded.update that the refund has failed. You can test this scenario using this test card : 4000000000005126
[0] https://stripe.com/docs/api/charges/object#charge_object-refunds-data-status

wicked smelt
golden cosmos
wicked smelt
#

Nice! Thanks for the input 🙂

dry hatch
tight parcel
hollow prairie
#

@tight parcel You should file an issue with dj-stripe for sure!

grand wedge
#

Hi All, On Stripe Checkout I'm now getting an additional option to "Save information to pay faster next time". Is there a way to disable this?

hollow prairie
grand wedge
#

Ah great, thanks!

hollow prairie
vocal wagon
#

Hi folks! I see that one can get an invoice pdf url from stripe API.
But how can I get a url to the receipt pdf?
I know I can download it via the dashboard, but I can't figure out how to do it via the API

dry hatch
vocal wagon
#

Yes, thanks. But I need receipt pdf :/

hollow prairie
vocal wagon
hollow prairie
#

@vocal wagon Yeah there's no field for the PDF file I'm afraid. It can be downloaded from that page

vocal wagon
#

ok, I understand. That is a problem, cause I wanted to do it programatically. But I will have to figure something out

#

thanks for trying to help

hollow prairie
#

@vocal wagon Yeah I guess you'd need to scrape the URL from that page or something

lyric iris
#

Hi. We're about to implement our Express account. One of my devs asked me about clients disconnecting their accounts and I wanted to sense check some logic if that's ok

lyric iris
lyric iris
lyric iris
hollow prairie
#

@lyric iris Hey there. Specifically which data are you concerned about losing?

lyric iris
lyric iris
rocky turret
#

Hello beloved Stripe Devs,

How can we omit 3D Secure Authentication from our IOS app ...?

Looking for your kind response.
Thanks and regards.

golden cosmos
#

@lyric iris their transaction history should not be lost when the Express account reconnects. I'm wondering if the dev has a specific example to share when they say this?

hollow prairie
#

@rocky turret Hello. Why would you want to remove 3DS auth from your integration? This can result in an increase in failed payments

little bone
#

Hey 👋 we're setting up the return_url as part of an account links integration. Is there a preference to have the URL be an API (which returns a URL) or just the URL directly?

golden cosmos
#

@lyric iris the only possibility that i can think of is if you're using Connect Onboarding - which will always create a new account

#

🤔 i guess that's why the Dev mentioned that

lyric iris
hollow prairie
#

@little bone Hello there! There's no preference per se, either will work as long as the URL exists. Just depends on your integration flow. In most cases, people will redirect to a specific page in their application and make any additional API calls from there

golden cosmos
#

for context, for connect onboarding, yes it will always create a new account. If you want to be able to reconnect existing Express accounts (which may have accidentally been disconnected), you would want to implement OAuth : https://stripe.com/docs/connect/oauth-express-accounts

lyric iris
golden cosmos
#

You're welcome!

rocky turret
hollow prairie
rocky turret
#

what if we disable it from dashboard those 3 Stripe Radar rules for 3D s

rocky turret
autumn bridge
#

Hi, i m trying create a component in vue with stripe (customed form for checkout).

I've included on the head (public/index.html):
<script src="https://js.stripe.com/v3/"></script>

and in the component:

mounted() {
this.stripe = Stripe("my pk_test...");

and the Error console on the browser, throws several errors as this:
Feature Policy: Skipping unsupported feature name “payment”.

What means this error?

river bay
#

hello, i have developed a stripe in php. If i try deploy it on heroku, the page doesn't work... wky?

#

why?

autumn bridge
# river bay why?

(I m not stripe support) but in heroku do you have https actived for your domain?

hollow prairie
#

@rocky turret Well, you shouldn't be testing in live mode regardless

#

@autumn bridge Hey! This sounds like a browser warning about an unsupported feature (as opposed to an actual error)

#

@autumn bridge In this case it's safe to ignore. Nothing is broken and everything will still function as needed!

#

@river bay Hello! Can you provide any more details? Any specific errors or perhaps share the page/URL you're using?

autumn bridge
#

hi @hollow prairie. Warnings appear just when I include the script tag for https://js.stripe.com/v3/ the rest of code is empty

wanton bison
#

Hi, does anyone know if there is a call to stripe that allows through the id price to add a link for payment?

hollow prairie
#

@autumn bridge Yep, it's just the browser advising that a certain feature Stripe.js intends to use is not currently supported. Is it Firefox?

autumn bridge
hollow prairie
#

@wanton bison Hey. Hmm, I'm not sure I understand your question. Are you using Payment Links? Checkout?

river bay
#

@hollow prairie of sure.
In local, it works correctly.
This is the page in local:

hollow prairie
#

@autumn bridge Yeah this is a pretty common report and it's safe to ignore!

river bay
#

on heroku @hollow prairie

wanton bison
hollow prairie
#

@river bay You need to check your logs in your Heroku dyno. For some reason something is returning a 500 error in your application

unreal wren
#

How to pay with Grab App,it's not web in iOS.

hollow prairie
wanton bison
hollow prairie
#

@wanton bison I'm not sure I understand unfortunately. If you've created a Product and a Price in the Dashboard, you can create a Payment Link to share from there directly

wanton bison
hollow prairie
#

@wanton bison Ah, got it. Right now there's no API for creating Payment Links

hollow prairie
river bay
hollow prairie
#

@river bay I'm afraid I've no insight into the issue without some logs from your Heroku server

river bay
#

@hollow prairie

hollow prairie
#

@river bay Ok, that's a start! What version of PHP and stripe-php are you using?

river bay
#

@hollow prairie how do i check the versions?

hollow prairie
#

@river bay If you're not using Composer then you'll need to make that mbstring dependency available in your application

river bay
#

i don't know if i'm using composer..

junior badge
#

Hi Stripe Devs, can you tell me how to integrating Bank redirect payment method on Android app? Because I can't find any example of it

hollow prairie
#

@river bay You'll need to add mbstring then!

hollow prairie
lyric iris
# lyric iris Thanks for this. I'll pass this onto them now

@golden cosmos Hi again. So I've just been asked the following. I'm hoping you can help.

Background info:

On test we currently have:

  • account A > connect Stripe its account_id : acct_1J9t0vQYz6Ks4dhJ
  • then disconnect Stripe then connect again it takes new account_id : acct_1JIWxZQaLzzlXEHJ
  • email: Austraia2@mailinator.com (edited)

when we disconnect we use api : https://connect.stripe.com/oauth/deauthorize

Q1 - is there another api to disconnect ?
Q2 - how can i get the same old id when i re-connect with the same email again

hollow prairie
#

@lyric iris 1) https://stripe.com/docs/connect/oauth-reference#post-deauthorize
2) Those 2 account IDs you've shared have different email addresses. In your testing has it not been possible to re-establish the same account ID with the same email address using OAuth to reconnect? https://stripe.com/docs/connect/oauth-express-accounts

sinful heart
#

Hi Stripe Devs.

This is a suggestion regarding the PaymentSheetUI for stripe-ios.
The premise is that the new PaymentSheetUI is a very nice solution.

In PaymentSheetUI, there is a postal code input form for AVS. (This may not be the correct understanding.)
This can be controlled to show or hide by selecting the country.

I am developing in Japan, and Japanese credit card issuer do not generally support AVS.
Therefore, for Japanese credit card users, the postal code input form at the time of payment is not necessary.

However, since Japan is a country with a postal code system, Japan is not defined in countriesWithNoPostalCodes. Therefore, the postal code input form will be displayed.

As mentioned above, even if a country has a postal code system, there are cases where a postal code input form is not necessary, so it would be great if there is an interface that can be customized to not show the form for certain countries, for example.

Please let me know if there are any mistakes or suggestions on this.

Best regards.

https://stripe.com/docs/payments/accept-a-payment?platform=ios&ui=payment-sheet
https://stripe.com/docs/disputes/prevention/verification#avs-check
https://github.com/stripe/stripe-ios/blob/591f54d11f6f60be609e294f7dd7570c0ad32b49/Stripe/STPPostalCodeValidator.swift#L183-L253

GitHub

Stripe iOS SDK . Contribute to stripe/stripe-ios development by creating an account on GitHub.

hollow prairie
#

@sinful heart Hey! Thanks for sharing that great feedback! My recommendation would be to raise an issue on the GitHub repo directly. That way the team that maintain the SDK can evaluate it!

river bay
#

@hollow prairie the mbstring doesnt work .. look it

#

@hollow prairie

hollow prairie
#

@river bay Your Composer file contains invalid JSON. Can you paste it here?

sinful heart
vocal wagon
#

Hello, does anyone know how to enable discount codes on Stripe Checkout (client only)?

river bay
lyric iris
hollow prairie
#

@river bay Is that the entire contents of the file?

river bay
#

@hollow prairie yes, in the composer.json

hollow prairie
#

@river bay Should be something like:

{
  "require": {
    "ext-mbstring": "*"
  }
}
hollow prairie
#

@river bay Sorry, not hugely familiar with PHP/Composer!

hollow prairie
#

@river bay But what I shared is actual valid JSON, so try that!

river bay
river bay
lyric iris
smoky hedge
#

1.Is it possible to release partial amount from hold amount on connect account(from charge)? I mean releasing just $500 out of $2000 hold amount?

2.How many holds we can create on connect account? I mean can we create 20 holds of $100 each instead of 1 hold for amount $2000?

3.Can we payout partial amount and refund rest of the amount back to customer(from charge)? I mean release $500 and refund rest $1500 back to customer?

How much will be charges in above cases?

hollow prairie
#

@river bay This issue isn't Stripe specific. You should look at the Composer docs and figure out what's going on

river bay
hollow prairie
noble epoch
#

Hi guys, not sure whom to address my question: if I use some stripe fake cards for testing, is there any possibility to see my fake transactions somewhere? I need to check which currency was used for transactions

daring lodge
#

mornin folks

cunning swan
hollow prairie
#

@smoky hedge 1) Yep, you can do partial capture. You just need to pass a value to amount_to_capture which is smaller than the initial amount value: https://stripe.com/docs/payments/capture-later#capture-funds
2) There's no specific limit here, it just makes it more awkward for you to then capture an amount on 20x charges
3) I'm not sure I understand, but if you only partially capture an authorised charge then the remaining uncaptured amount will be automatically released

#

@cunning swan There's not, no. Sources are an older API we generally discourage use of now. https://stripe.com/docs/sources

daring lodge
fringe wolf
#

Hi Stripe, we are attempting to integrate our website with our mobile app and for this we are using our test keys. if we try and setup a customer and submit a customer test card to stripe it isn't saving so we cant test the retrieval of payment card tokens? how do we do this?

daring lodge
daring lodge
smoky hedge
fringe wolf
daring lodge
vocal wagon
#

Hi everyone,

I have some trouble enabling payment capabilities for my stripe accounts.
Stripe ask me for additional information like "individual.verification.document" but those information are not required to enable payments (ref. https://stripe.com/docs/connect/required-verification-information#IT-full-individual--card_payments|transfers) and i don't have the 7 days grace before the capabilities are disabled.

The problem started 3 weeks ago, does someone has the same problem?
Thanks

hollow prairie
#

@smoky hedge

  1. The remaining uncaptured funds from the authorised charge will be released, yes. So in the example of a $100 authorisation, if you only capture $10 of that then the remaining $90 will be automatically released
  2. There's no theoretical limit to the number of charges you can create no. There is a limit to the charge amount in some cases: https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts
neat pivot
#

Hi everyone!
I have a question regarding trial period on subscription while using Checkout. Usage of trial period on prices is discouraged as per documentation. And it says you should add 'trial_end' argument when creating Subscription through API. But with Checkout, subscription is created for us - we get it through checkout session. So how can you create subscription with trial period through Checkout?

river bay
#

@hollow prairie to make stripe work online, do I need composer.json, composer.lock and vendor?

daring lodge
#

@vocal wagon What kind of accounts are you using? Do you have an example account ID that i can look at?

daring lodge
# neat pivot Hi everyone! I have a question regarding trial period on subscription while usin...

hey there! When using Checkout, you can provide some parameters for the underlying subscription via the subscription_data parameter. eg:
subscription_data: { trial_end: 1627574833 }
https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-subscription_data-trial_end

hollow prairie
vocal wagon
hollow prairie
#

@river bay If you use Composer, then it takes away the need for you to manage those additional dependencies yourself

smoky hedge
atomic silo
#

im trying to use integrate paysafecard payment gateway with stripe any hints

#

?

vocal wagon
#

Hi there! I'm finding some unexpected (at least for us) behaviour when using the /invoices/upcoming endpoint. I have a sample request on req_Pslk9E9rypKmy8:

This is for a customer that has a coupon that expires in 3 months. However, even if we pass subscription_proration_date set to over 5 months from now, the response for the upcoming invoice endpoint still adds the discount to the line that says Remaining time.... How is that possible? is this intended?

daring lodge
vocal stump
#

Guys, I have a question. I'm getting IntegrationError: handleCardAction: The PaymentIntent supplied does not require manual server-side confirmation. Please use confirmCardPayment instead to complete the payment on our website when we try to call handleCardAction on a PaymentIntent coming from a subscription update. The payment intent has status requires_action when this method is called, but it tells us to use confirmCardPayment which does not make a lot of sense?

daring lodge
vocal wagon
vocal stump
#

The PaymentIntent is pi_1JIZGdLj11Ytqxjbge1kP5xR

daring lodge
vocal wagon
smoky hedge
#

@daring lodge ??

daring lodge
atomic silo
# daring lodge Do you have any example invoices where this actually applied incorrectly, or is ...

thank you for the quick response , here is what i want to do , to collect payment i am planing to use stripe a main payment gateway along side paysafecard https://www.paysafecard.com/en-us/ to collect payments . i want stripe to keep sync with paysafecard payment gateway

smoky hedge
#

1.Is it possible to release partial amount from hold amount on connect account(from charge)? I mean releasing just $500 out of $2000 hold amount? (from charge)

daring lodge
daring lodge
cerulean roost
#

Hello 🙂
I'm looking for some help concerning the online payment. I'm using Odoo and it's addon to connect to Stripe.
Since 1 week, I'm facing some trouble with some of my customers :
They have to pay more than 1 time before Odoo validate the sale order, but, as I look onto the Stripe DashBoard, the payment has been done multiple time.
Is it possible to know why the payment validation is not sent to Odoo from the dashbord ?

smoky hedge
daring lodge
distant pelican
#

General question - Is there anyway to stop manually Stripe Webhook events from refiring? I have a client which had one failed webhook out of 10000+, but it has kept resending a lot making it show a lot more errors then it actually is which is problematic for them

daring lodge
smoky hedge
vocal stump
#

@daring lodge Okay. I'm slightly confused. So handleCardAction would be used when? When the payment intent has requires_confirmation?

#

Or before that step, when it has requires_action and would then transition to requires_confirmation ?

smoky hedge
#

@daring lodge ??

daring lodge
daring lodge
daring lodge
distant pelican
# daring lodge What do you mean manual webhooks? Are you generating events with the CLI? I don'...

No I mean I have checkout sessions. After checkout it hits my Webhook which marks the transaction as complete and sends receipt. We had a hiccup in the email service, so after it had been marked complete it couldnt send mail. Meaning it didnt return 200 to stripe. This is now making Stripe to keep resending this webhook event over and over and we want to stop Stripe from sending this one again.

daring lodge
# vocal stump <@!837053243242446919> Okay. I'm slightly confused. So `handleCardAction` would ...

Handle card action is use for requires_action but only when you're using server confirmation:
https://stripe.com/docs/payments/accept-a-payment-synchronously?platform=web#web-handle-next-actions
if you're not doing server confirmation, you can ignore it (unless i'm forgetting something)

daring lodge
vocal stump
#

Okay. I think I got it, I was just confused because the "when you're using manual vs automatic" is not entirely clear for subscriptions vs. manually creating intents.

#

@daring lodge Thanks

daring lodge
#

NP!

distant pelican
#

Yeah issue is its really badly coded so it doesnt check if its already marked as complete so it just falls over - and we don't have access to the code anymore. Is there no way we can manually stop this event in Stripe?

smoky hedge
vocal stump
#

@daring lodge can you perhaps nudge whoever maintains your iOS SDK? Because I have a situation where server-confirmed updates (that don't require SCA) cause the Apple Pay sheet to hang, and it is preventing us from releasing our app without running a forked version of the SDK: https://github.com/stripe/stripe-ios/pull/1851/files

cerulean roost
daring lodge
# distant pelican Yeah issue is its really badly coded so it doesnt check if its already marked as...

https://stripe.com/docs/webhooks/best-practices#retry-logic

If your endpoint has been disabled or deleted when we attempt a retry, future retries of that event will be prevented. However, if you disable and then re-enable a webhook endpoint before we’re able to retry, you should still expect to see future retry attempts.

distant pelican
#

Will it keep retrying forever unless we patch the webhook?

#

(we cant disable the endpoint)

daring lodge
#

If the event is received you should respond with a 200. It is important to keep in mind that responding to the webhook delivery is only to acknowledge receipt, it has nothing to do with any processing you might do as a result with the data.

daring lodge
distant pelican
#

Okay that should be fine in that case. I know I have written many webhooks and it should be robust and definitely handle scenarios like this. Problem was its an old project before I even started working here and we don't have access to code anymore but old client is asking about this 😛 Thanks for help

vocal wagon
smoky hedge
#

@daring lodge ??

daring lodge
cerulean roost
cerulean roost
daring lodge
daring lodge
vocal stump
#

@daring lodge When you attemp to pay for a subscription update using Apple Pay, and you're using pending updates on your subscription, and the update does not trigger an SCA, you cannot use Apple Pay as it is right now. That seems like a mistake and my PR fixes that problem.

#

Or should I say, you cannot use Apple Pay at all as it never triggers SCA

inner pewter
#

Yes

daring lodge
vocal stump
#

Let me rephrase as this has nothing to do with SCA, I just use the same endpoint for both card and Apple Pay, so my server will return a client secret to the client only if an action is required, otherwise the payment is completed on the server and there is nothing for the client to do. Your Apple Pay implementation does not support this case as it is right now, and I cannot change to using client-confirmation of the payment intent as that is not possible when doing pending updates on subscriptions.

daring lodge
vocal stump
#

I explained it in the PR though

#

And why would you not allow people to pay for subscription updates using Apple Pay?

daring lodge
#

Hmm I think i see the issue, since you can't do the server confirmation with the payment method like you would for a single payment, right?

vocal stump
#

Yes

#

Or, the other way around. Apple Pay normally confirms the payment inent

#

and in this case it does not, which it does not know how to handle

#

and it just stalls and times out

#

I talked to koopajah (I think, or maybe hmunoz) last week, so I just wanted to nudge the PR

#

As it is preventing us from deploying without shipping a forked version

#

@daring lodge

smoky hedge
daring lodge
#

Ok awesome, thanks for walking me through the explanation @vocal stump - I've raised this with the IOS SDK team to take a look. One of them should reach out to you via that PR soon.

vocal stump
#

@daring lodge Thanks

daring lodge
smoky hedge
daring lodge
# smoky hedge Can we make charge and transfer and confirm charge later , this kind of action...

If you want finer control of these things you can use Separate Charges & Transfers and collect payments and make transfers completely separate from each other.
https://stripe.com/docs/connect/charges-transfers

daring lodge
cerulean roost
smoky hedge
atomic silo
#

if my client choose to pay in cash how can i process the payment on stripe

daring lodge
daring lodge
daring lodge
cerulean roost
leaden thorn
#

I need to test my app, I need some testing card which works once, but then it fails in recurring charges for subscription, ie simply works once so that I would need to add another card. How to create such card for testing just like in paypal when we can add dummy balance in testing cards manually ?

torn stratus
#

Hello! I would like to know what is wrong with my attempt to mock Stripe error (this is not being recognized as type *stripe.Error):
err := json.NewEncoder(w).Encode(&stripe.Error{
Msg: "invalid request: " + fmt.Sprintf(msg, params...),
Param: property,
Type: "invalid_request_error",
HTTPStatusCode: 400,
RequestID: "req_GfzpHQ97YIhDyS",
})
I appreciate your help.

smoky hedge
daring lodge
leaden thorn
atomic silo
torn stratus
leaden thorn
torn stratus
leaden thorn
daring lodge
# leaden thorn I need to test my app, I need some testing card which works once, but then it fa...

For getting available balance right away you can use the first two test cards here, 0077 and 0278:
https://stripe.com/docs/testing#cards-responses
For testing failed subscription payments, use the 0341 card there to attach to a customer & subscription with a trial but the payment will fail when the trial ends. Or, you can use the 3184 SCA card to have the renewal require authentication:
https://stripe.com/docs/testing#regulatory-cards

torn stratus
daring lodge
leaden thorn
obsidian vault
#

hii,
i was purchasing a subscrption with the payment gateway stripe,
the amount was deducted from the card but it showed incorrect cvv,
please someone help

daring lodge
leaden thorn
obsidian vault
#

hii,
i was purchasing a subscrption with the payment gateway stripe,
the amount was deducted from the card but it showed incorrect cvv,
please someone help
What should i do?

leaden thorn
#

yeah if she could share the code (only the portion which is causing error) that will be much easier

torn stratus
cerulean roost
daring lodge
vocal wagon
#

Bonjour, je cherche à mettre en place un bon de réduction sur un abonnement annuel. Ce bon doit permettre d'avoir 2 mois gratuits. Je ne vois pas comment faire, une idée ?
Hello, I am looking to set up a discount coupon on an annual subscription. This voucher must allow you to have 2 months free. I do not see how to do, any idea?

daring lodge
# vocal wagon Bonjour, je cherche à mettre en place un bon de réduction sur un abonnement annu...

Hi there - we can only assist developers with integrations in english here. For support in French please contact support: https://support.stripe.com/contact

reef gazelle
#

I'm trying to end a trial that has a balance on an account without a credit card but the UI is not letting me. How can I do this?

#

It's not a specific use case but need it for testing

daring lodge
reef gazelle
#

The CLI also complains about the customer not having a default payment method

daring lodge
bold basalt
#

@reef gazelle hello

daring lodge
reef gazelle
#

Hi @bold basalt! @daring lodge req_2JLiQvuyI4WPJV for a CLI request (stripe subscriptions update sub_JwTurNK5e5IWFu -d "trial_end=now") and req_UMfocqHVDDc5Ie for the UI (end trial now button on subscription update)

reef gazelle
#

I need to simulate someone signing up for a 14 day trial, going through the trial without adding a credit card, and then the trial ending (without my QA's having to wait 14 days 🙂 )

daring lodge
vocal wagon
#

Hello! 🙂 I have two questions about the refund process (they might seem basic, but I’d like to be 100% clear)

  1. does stripe charge a fee to refund customers?
  2. We use express for our connected account onboarding, meaning per transaction with the original purchase there is a charge from stripe too, is this fee also refunded to the customer, or does stripe keep this fee?
daring lodge
bold basalt
#

@vocal wagon 1/ pretty sure there is no fee for refund
2/ the Stripe fee (assuming you're referring to 2.9%+30c fee) is not refunded

vocal wagon
bold basalt
#

@vocal wagon hello, sounds like you're integrating Direct Charges, what questions do you have about it

vocal wagon
#

yes, i have to integrate it with a Travel Booking WordPress Theme, i would know if i can do it without woo commerce

bold basalt
#

@vocal wagon ah I see, will you be writing your own code to integrate? If so, then yes the API is there for you to integrate against.

vocal wagon
#

i've never done this before, so if someone reccomends me a solution i will be happy

bold basalt
#

@vocal wagon are you a developer building an integration? Or interested in an off the shelf type solution?

leaden thorn
#

@torn stratus no idea sorry

vocal wagon
#

@bold basalt yes i'm a developer building an integration

leaden thorn
#

Guys is there anyway to create subscription product for like 5 seconds only ? I want to do some testing like subscription ends and the cards fails to charge automatically, since least subscription period is 1 day, is it possible to set for some seconds for testing purposes or to complete some subscription manually for testing ?

bold basalt
#

@leaden thorn hello, to auto delete a Product/Price? no that isn't possible, you can delete manually after a webhook event

leaden thorn
#

dont want to delete, but to make subscription consumed out, so that it opts to recharge again through invoice and dont want to wait for entire day

bold basalt
#

@vocal wagon ah I don't fully understand your question then

so if someone reccomends me a solution i will be happy
what do you mean by that? to clarify, the doc you linked shows how you would build your code integration to onboard accounts and make Direct Charges on them

#

@leaden thorn "but to make subscription consumed out, so that it opts to recharge again through invoice" -> I don't understand, can you rephrase what expected behavior you want?

leaden thorn
#

I want to add a subscription of 5 seconds, it runs for 5 seconds then it expires and tries to collect new payment through invoice, I want to test this scenario ie paying again after failing to collect invoice through recurring payments of subscription

vocal wagon
#

@bold basalt i'm going to integrate in that way, but if someone knows a specific plugin that do the same

bold basalt
#

@leaden thorn you can manually pay the Subscription's latest Invoice in that case.
Create a Customer, attach a card to them that will fail on Charge (like pm_card_chargeCustomerFail )
Create a Subscription on that Customer with trial for 30s or so, so it creates the Subscription in trial, then attempts to charge the card after 30s.
Then after that fails, you can manually pay the Invoice again.

vocal wagon
#

@bold basalt thank u

vocal stump
#

@reef gazelle Set the trial_end for your subscription to like an hour in the future or something (or less, depending on what you're testing)

atomic silo
#

@daring lodge thank you for your amazing support 💯

leaden thorn
stuck ginkgo
#

Do MOTO params need to be enabled on every account that handles CC information themselves? Or is this something that's only required in certain countries/banks?

bold basalt
#

@stuck ginkgo hello, if you're passing the MOTO parameter, you need it activated on each account, irrespective of the region

#

*each account that is passing that param

stuck ginkgo
#

Ok - I suppose what I mean is the opposite, then - is it ever the case that an account can handle CC information without passing MOTO params?

#

Or are they a prereq

bold basalt
#

@stuck ginkgo it is possible, why do you ask?
basically passing the MOTO parameter in the API requires account to have that feature activated on it, otherwise you cannot pass that parameter.
Accessing card information directly is possible without MOTO too, if you are PCI compliant. Curious what the use-case is

daring lodge
vocal wagon
river ridge
#

Is there a way of seeing a graph of total subscriptions over time? Also is there a way of seeing recently unsubscribed customers?

bold basalt
#

@river ridge hello, do you mean via the API ? or just Dashboard?

river ridge
#

Preferably the dashboard, but either would work

bold basalt
#

@river ridge the API doesn't offer an easy way to do either, for Dashboard, I'd check in with the Support team at https://support.stripe.com/contact , they're more informed on the Dashboard functionality so might be able to help

river ridge
#

Cool thanks, i'll take a look.

daring lodge
vocal wagon
hearty mauve
#

Hi, I am a member of Funding Talent / forextips 101 and I want to do purchase but my card is declined. It said :
"The payment has been declined as Stripe suspects it is fraudulent."

Previously I have been able to use this card many times
Please how do I clear this trouble? thanks

daring lodge
bold basalt
#

@hearty mauve hello, this is somethign you should reach out to the company you're paying on for, they can help you with that. This channel is for developers who are integrating Stripe into their websites

hearty mauve
#

oh I see
thank you

kind pulsar
# daring lodge It would actually be helpful if you could write in to support with the details o...

Hello! @vocal wagon and I are working together on this - just to follow up...

What we'd expect to see is that the discount isn't applied to any of the lines on the upcoming invoice, since the coupon won't be valid on the proration date supplied. What we do in fact see is that the following lines have a discount applied:

Unused time on 12 × REDACTED (with 25.0% off) after 29 Jan 2022
Remaining time on 13 × REDACTED (with 25.0% off) after 29 Jan 2022
13 Contributor × REDACTED (at $99.00 / year)

They're the lines for the request we originally supplied req_Pslk9E9rypKmy8.

If you look up the associated subscription you'll see the coupon is only valid for three months (until 1635500699). However we're calling the upcoming invoice endpoint with the proration date of 1643458248 as you see in the proration lines (Jan 2022). What we're trying to understand is why a discount has been applied to these lines when the coupon won't be valid then?

night kite
#

Hallo, I hope this message is not too long,

I am creating a PaymentIntent on the server with:

               await stripe.paymentIntents.create(
                        {
                            amount: total,
                            currency: "EUR",
                            // confirmation_method: 'manual',
                            // confirm: false,
                            application_fee_amount: appSpecificFinalFee,
                            // payment_method_types: ["card"],
                            customer: stripeCustomerId
                        },
                        {
                            stripeAccount: stripeConnectedCustomerId  /// customer connected to our platform
                        },
                        async function (error: any, paymentIntent: any) {
                    ........

and I am trying to confirm it with apple pay on flutter, using the flutter_stripe library and the function:

  final response = await fetchPaymentIntentClientSecret(orderState);
  final clientSecret = response['client_secret'];
  var resultOfConfirmation = await Stripe.instance.confirmApplePayPayment(clientSecret);

but the operation is always returning:

  flutter: Error: PlatformException(Failed, Payment not completed, null, null)

can someone help?

kind pulsar
bold basalt
#

@night kite hello, looking

reef gazelle
#

Can someone explain to me why a subscription's (sub_JwUWfjNI1eRLNo) upcoming invoice has 2 billing periods worth of charges in it?

Created today with product a, switched to product b. I have line items for remaining time on product b, and unused time on product a; for period of July 29 -> Aug 29 (expected). But also, I have the charge for product b for August 29 -> Sept 29? That last line item seems like it shouldn't be there?

feral haven
#

Hello, can someone help me understand why my stripe-cli is not forwarding events to my localhost server's webhook endpoint?

#

like it works after a few days

#

then I try to keep testing with my same account

#

and I get issus

bold basalt
#

@night kite so the flutter stripe SDK is a third party one that I'm not very familiar with, is it possible to dig into the confirmApplePayPayment function and see where it is returning that error?
also how far does it get on the app? like does it show the Apple Pay sheet? or error's before that

#

@feral haven hello, what issues do you get?

#

@reef gazelle looking

distant sand
#

The debit card option not working, there any email address that i could send to get support?

#

the link doesn't works

bold basalt
#

@distant sand hello, what do you mean "The debit card option not working" -> where does it not work?

distant sand
#

Couple days ago I asked about debit card transaction...

#

Like, My stripe account is from Brazil and the user is from other country, the user would like to pay my service with debit card..

#

I asked, if this kind of transaction is possible,

feral haven
bold basalt
#

@distant sand what were you told a few days back? I'm not familiar with any restrictions on debit cards in brazil

feral haven
#

Also the Stripe Support is unable to help me remove Unnamed Accounts

bold basalt
#

@feral haven any errors? on your cli listen terminal window?

vocal wagon
#

Hi everyone, first time posting here, very new to Stripe. Here's a diagram of what I'm trying to achieve. I think it should be pretty straightforward, but I'm missing that yellow part of the puzzle. I have tried using a PaymentIntent with confirm=true, but this has a hard-coded single amount, and I'd rather it was an object that linked to the Product and TaxRate so everything could be linked for easy interrogation in the Dashboard by the accounts people.

feral haven
#

Like I said... it works

#

then all of a sudden, after more testing, it stops.

#

I think Stripe is api limiting from my ip address due to me constantly making events

#

on a test account

#

however, how else am I supposed to fix my code without these events

distant sand
bold basalt
#

@reef gazelle so for the next Invoice, you're first going to charge for Product B, which is why it is there, for the next month Aug 29 - Sep 29, which it has to
Then the proration is returning the credit for used/unused time on the existing Subscription to account for the current period.

night kite
# bold basalt <@!363065621560295454> so the flutter stripe SDK is a third party one that I'm n...

@bold basalt so the function is described as follows:
/// Confirms the Apple pay payment using the provided [clientSecret].
/// Use this method when the form is being submitted.
///
/// Throws an [StripeError] in confirming the payment fails.
Future<void> confirmApplePayPayment(
String clientSecret,
) async {
await _awaitForSettings();
if (!isApplePaySupported.value) {
//throw StripeError<ApplePayError>
//(ApplePayError.canceled, 'APPLE_PAY_NOT_SUPPORTED_MESSAGE');
}
try {
await _platform.confirmApplePayPayment(clientSecret);
} on StripeError {
rethrow;
}
}

I see the error also in the Apple Pay Sheet.

vocal wagon
exotic nacelle
#

Hi folks, I have a subscription project that charges folks in USD but I am ready to expand it internationally. From what I gather, my only solution is to create a Customer and make sure the Subscription is with a Price object in their target currency, is that correct? That will make the currency of choice for that Customer and it will automatically be settled in the currency of my choice. Secondly, is there a recommended way to display an estimated price for a Subscription in a foreign currency, for a scenario that its Price is in USD? Say my customer is in Australia and I want to present an estimated price they will pay in AUD. It seems possible with immediate charges but I was wondering if it's possible in Subscriptions. Thanks for considering my question!

bold basalt
#

@feral haven I've seen that happen sometimes except I get error on my end, I just have to restart my listen command. I would recommend opening an issue at :https://github.com/stripe/stripe-cli/issues/
Please do include explicit screenshots of how it works, then stops, any errors in the window, etc.

GitHub

A command-line tool for Stripe. Contribute to stripe/stripe-cli development by creating an account on GitHub.

feral haven
#

@bold basalt do you know how to delete an associated account from my "main" stripe account

#

I can't seem to delete them

#

and the support on stripe has no idea either lmao

reef gazelle
# bold basalt <@!226128096070205440> so for the next Invoice, you're first going to charge for...

So you're saying the charge for the next month happens at the beginning of the next month instead of the end? I just don't understand how that upcoming invoice has a period end and period start of:

 "period_end": Sunday, August 29, 2021 3:53:06 PM,
  "period_start": Thursday, July 29, 2021 3:53:06 PM,

And it's also got line items for charges outside that period (ie, aug 29 -> sept 29).

Is Stripe just grouping ALL upcoming charges into one invoice, when there are actually technically 2 invoices there?

bold basalt
#

@feral haven I haven't done that actually, I would ask Stripe Support again, it should be doable.

feral haven
#

They are giving me incorrect information lmao

#

Jesus this sucks

magic kiln
#

hello, i am starting to investigate the reconciliation of our transactions to payouts. Short of myself digging in the reporting api, i assume we can get a back of Stripe transactions by payout ID ?

mighty hill
feral haven
#

Yes It seems like you have created all of them but not all are currently connected to the account, as well please note deleting the accounts will not remove them from the Dashboard, so basically the accounts will still be shown

#

from support

#

you actually cannot delete them lmao

#

I did this... that delete option is not

#

on my accounts

#
Yes, unfrotunately We don't delete data from the Stripe network. Those accounts won't function as Express accounts any more, but we will keep a record of them for our own financial reporting and data protection responsibilities```
#

Dude...

mighty hill
#

@feral haven Sorry, maybe I'm missing some context. Are these Connect accounts? If so what type of accounts are they (Standard, Express, or Custom)? If not, are these accounts showing up in the account switcher in the top left of your Dashboard?

feral haven
#

They do not

#

show up on the top left

#

I made these "accounts" when testing my stripe connect system on my application

#

due to a sql ORM update error, I made like 10+ accounts to test the webhook and sql code

#

now Stripe is saying that this information is now permanently associated with my stripe account FOREVER

#

LOOK AT THIS SHIT

mighty hill
feral haven
#

Already tried

#

it doesn't work

mighty hill
#

@feral haven Please don't swear here, we'd like to keep things PG.

#

@feral haven What happens when you try, do you get an error?

feral haven
#

You must understand how frustrated I am with Stripe here....

#

Yeah

#

I was deleting it

mighty hill
#

@feral haven You just shared your live API key, you should roll that immediately. You should never share your secret API keys, as they can be used to do just about anything on your account. Since you shared your key here I strongly recommend you immediately roll your API key (which will create a new key and block the old one) as explained here: https://stripe.com/docs/keys#rolling-keys

feral haven
#

This an oldAPI bro

#

Dude... stop deleting it

#

It's not an active key

#

🤦

mighty hill
#

@feral haven If it's got a secret key in it I'm going to delete it. I can't tell if it's active or not.

feral haven
#

I replaced the numbers with DERP

mighty hill
#

Redact the key before sharing.

feral haven
#

how is that a active key?

mighty hill
#

Not on the second line!

feral haven
#

I just did

mighty hill
#

The key was in there twice.

#

You only redacted one of them.

feral haven
#
  -u sk_live_DERP \
  -X DELETE
Enter host password for user 'sk_live_DERP':
{
  "error": {
    "code": "account_invalid",
    "doc_url": "https://stripe.com/docs/error-codes/account-invalid",
    "message": "The provided key 'sk_live_*********************************************************************************************DERP' does not have access to account 'acct_1DERP' (or that account does not exist). Application access may have been revoked.",
    "type": "invalid_request_error"
  }```
mighty hill
#

There we go!

feral haven
#

Please don't delete this...

#

I used both the live and test keys

#

It does not work

mighty hill
#

What's the account ID?

reef gazelle
#

Hey @bold basalt sorry to double ping just don't want this to get lost in the channel #dev-help message

feral haven
#

acct_1JG9Z32HsLslw2Nd

#

I want to delete this

mighty hill
#

@feral haven Okay, hang on, let me take a look...

feral haven
#

I've tried both LIve and Test keys

#

The ones used to create the account tooo

#

It doesn't work lmao

#

Like stripe support gave up

#

Yes, I understand and I really wish you could remove them from your data, but this is not currently possible. But I really think you're right and there should be an option as this are test inactive account, I'll definitely check with our dev team and let them know about this feedback

mighty hill
#

@feral haven What's the account ID of the platform account that created this Express account?

#

@feral haven Oh, wait I see it, hang on...

feral haven
#

Look here

#

this is what I see... everytime

mighty hill
#

@feral haven Okay, will you try the delete API again with the secret test API key from account acct_1HTrvyFqJbE6gTuU?

#

@feral haven Looking at the logs it doesn't appear that's been tried yet.

feral haven
#

Look at this

#

Stripe is telling me I cannot delete these accounts....

#

They are obviously fake!

mighty hill
#

@feral haven We understand the problem, and I'm trying to help you. Can you try what I recommended above?

feral haven
#

Same error

mighty hill
#

@feral haven Let me check the logs, one sec...

feral haven
#

oh

#

wait...

mighty hill
#

@feral haven Yeah, I don't see a log for that request under this account? Are you sure you're using the right API key?

feral haven
#

{
"error": {
"message": "You cannot use this method on your own account: you may only use it on connected accounts.",
"type": "invalid_request_error"
}
}

mighty hill
#

@feral haven Why are you trying to delete your own account? I thought you wanted to delete the Express account?

#

@feral haven You're making a request to DELETE /v1/accounts/acct_1HTrvyFqJbE6gTuU instead of DELETE /v1/accounts/acct_1JG9Z32HsLslw2Nd

feral haven
#

Yes

#

SOrry

#

I tried doing that

#

and I get the same INVALID ACCESS error thing

#

with both test key and live key

#

so I'm kind adone

#

This is impossible it seems like

#

wasted almost two hours on this

#

GOnna just make a new Stripe account and burry this one

#

it has my phone number

#

so I can't

#

Awesome

#

😄 STRIPE IS GREAT

mighty hill
#

@feral haven In the Dashboard click on the account switcher in the top left and create a new account from there.

feral haven
#

No... I mean like a whole new stripe account

#

clean slate

mighty hill
#

@feral haven That will create a whole new Stripe account.

feral haven
#

I don't want all this data associated with my account

mighty hill
#

@feral haven It won't be, it will be an entirely new account.

feral haven
#

Ummm

#

all the previous accounts will still show up

#

it's not a clean slate then, isn't it?

mighty hill
#

@feral haven It will be linked to your same Stripe user account, but the Stripe account itself will be completely independent of the existing one.

feral haven
#

Exactly, I don't care about that...

#

I want a clean user account

#

I don't want my stripe looking like this

#

Like seriously?

#

I'm stuck with this...

mighty hill
#

@feral haven You shared that screenshot earlier, we saw it. Again, trying to help you as much as I can.

feral haven
#

Exactly, like Stripe support said... It is impossible to remove

#

This is just fantastic and a complete waste of my time

daring lodge
# kind pulsar Hello! <@456226577798135808> and I are working together on this - just to follow...

@kind pulsar & @vocal wagon This is related to the fact that you made updates to the subscription in question to switch to monthly billing and back:
https://dashboard.stripe.com/test/logs/req_M6re2PYwptG6i2
https://dashboard.stripe.com/test/logs/req_McHy7XlEQ30nz6
This ended up apply the coupon to the annual plan, for the entire renewal period. That's where the discounted 12x and 13x prorated amounts come from (based on your prorate date).
If you want the prorated increased quantity to not carry the discount of the current period, you can include coupon='' (empty string) to clear it. Then You should get a proration line for 13x without a discount, plus the full annual 13x line.

mighty hill
#

@feral haven The account you shared earlier that you tried to delete looks like it was never onboarded and actually connected to your platform account. If you complete the onboarding process and establish that connection, then try to delete after that it may work.

#

@feral haven I think these accounts are stuck because they're only partially through the onboarding process.

feral haven
#

This information is circumspect, why doesn't stripe just provide clear reasoning behind this? It is seriously sketchy I have no control over these data.

#

I cannot delete Joeeyyyy Fartyyy... come on guys...

#

this is insane I have to jump through this many hoops to do this

reef gazelle
#

the guy is trying to help you and you're just whining

feral haven
#

Nah, I have every right to complain this is egregious

#

Anyway I'm done

#

I honestly give up

#

thanks

mighty hill
#

@feral haven Sorry I wasn't able to help, hope you have a good day!

reef gazelle
#

@mighty hill looks like hmunoz is offline, would you mind helping me out with the problem I'm having here? #dev-help message

mighty hill
#

@mighty hill Yeah, let me take a look...

reef gazelle
#

Thanks a lot!

mighty hill
#

@reef gazelle Okay, looking at this upcoming Invoice in the Dashboard I'm seeing what you're describing. This looks normal to me; let me explain why and then if you have questions I'd be happy to discuss further!

  1. You created the Subscription for the $30 plan
  2. You ~immediately switched the Subscription from the $30 plan to a $10 plan

The upcoming Invoice now shows two line items for the current period (JUL 29 - AUG 29, 2021). One is for the unused time spent on the $30 plan (which is all of it, since you switched plans immediately) and the other is for the remaining time spent on the $10 plan (which, again, is all of it since the switch happened immediately).

For the upcoming period (AUG 29 - SEP 29, 2021) there's an additional line item for the $10 for next month. Licensed Subsriptions like this one bill in advance for the upcoming period (i.e., you're paying for the next month, not the previous month, when Invoiced).

You're seeing both periods because this Invoice needs to account for changes made during the current period and the amount that will be charged to pay for the next period.

reef gazelle
mighty hill
#

@reef gazelle Can you tell me more about your desired behavior and use case?

reef gazelle
#

Just typing up right now 🙂

lament robin
#

Hi everyone- new to discord but I have some Stripe API questions that I am super stuck on. Is this the correct channel/way of asking?

reef gazelle
#

@mighty hill

Currently, we have a single product, in a per_seat sort of model. We have a complex usage calculation (it's not as simple as discrete amounts of seats) that we process at EOM and update the stripe invoice with. Basically, we calculate how many "full" users and how many "partial" users we had for the month for each day, and then multiply that by the price.

Now, we're offering 3 products (it's now 3 different tiers), and need to be able to do this usage calculation at the EOM while accounting for the ability for the customer to switch plans mid-month. That's where this immediate product change came in, you start on the highest tier, and can switch to a lower one when your trial ends if you don't need the features (was just trying to set up test data)

What I was hoping was I would have a list of line items
product A for dates July 29 -> July 30
product B for dates July 30 -> Aug 29
...etc...

So that we could chronologically go through our usage calculation, and multiply the "usage" for that day based on the price for that day according to the invoice, but having that next month price in the line items makes it weird

mighty hill
oak dove
#

Hi
I have a question about removing prorate when creating subscription
This is my backend code
subscriptions.create({
customer: cus,
items: plan,
billing_cycle_anchor: billday,
proration_behavior: "none"
})

frontend code
let plan = [];
let data = {
price: planId,
quantity: 1,
tax_rates: [taxid]
};
await plan.push(data);
createSubscription(cus, plan, billday)

PROBLEM

When i proceed with payment, subscription is created but no payment is processed, what am i doing wrong
if i remove proration_behavior from the backend code payment proceed but proration exist, PLEASE HELP

limpid scaffold
#

Hey there

Have a question regarding testing Apple Pay integration
I made an Apple sandbox account, to get access to the test cards numbers, but the paymentRequestButton doesn't shown to that account (for the real account it works as expected)

Do I need to do something special in order to make it work on the test environment?

Thanks

reef gazelle
copper panther
#

We are trying to retrieve the exact Stripe fee charged (hopefully) at the time the card it charged. Here is the scenario: We are the master platform, we are making direct charges using a connected Standard account, we are using the pre-built checkout form with payment intents. For reporting purposes to our client, we need the exact amount of the Stripe fee charged at the time or purchase. The balance transaction object returned with the application_fee.created webhook is empty. How do we get the Stripe fee to insert into our database (hopefully) without having to make another express call to the API? Thanks!

light ferry
#

Hey everyone i have an issue. I closed my google account and therefore changed my email adresse but i can't recall my password and i can't ask for a new one

#

How can i change the adresse on my stripe accound without being able to access it?

open crystal
#

threads are so .... private ish!! weird

mighty hill
#

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

light ferry
#

I know that's why maybe a support email adresse

mighty hill
#

@open crystal Yeah, we're experimenting with them... it's interesting!

#

@light ferry What do you mean?

light ferry
#

Thanks

dreamy karma
#

Hi team
i am using Subscription API when i convert the current_period_start to date format it's showing 1970-01-01
$date=date("Y-m-d",strtotime($invoice->current_period_start));
using php

mighty hill
#

Diagram

#

Hey everyone, things got busy there and we're still getting used to threads. If anyone has an outstanding question that was not addressed yet please ask again so we can help you!

#

Thanks for your patience while we figure this all out! 🙂

upbeat island
#

I tried Stripe CLI on Win10 to create and serve a sample but all I got in the Chrome browser was a directory list.

sick talon
upbeat island
sick talon
upbeat island
#

I would think this is the job of the HTTP server set up by the stripe CLI, No?

sudden idol
#

Hi there, I'm looking at creating direct charges with Connect via invoicing. I'm looking at how I can create a unique list of customers per connected account. I would like to be able to store these customers in both the platform account and the connected account. Is there a way to go about cloning a customer to a connected account without using the tokenized representation of that customer's payment information? These customer objects don't yet have payment information attached to them, so there's no way to use the token to get that customer's information in the connected account's customer list, unless I'm missing something.

sick talon
upbeat island
#

Are you saying the Stripe CLI process is not starting it own HTTP listener? the URL printed by the command is just localhoast with a port number.How would IIS know the mapping to the root of the sample? Where would put config info?

vocal stump
#

Hey guys. Just got an email from Apple telling me to renew my Apple Pay certificate and to contact my "Payment Service Provider" which I assume is Stripe. I can easily generate a new certificate and such, but what else do I need to do? Will this require an update of the appleid-file in the .well-known folder?

#

(We're using Apple Pay via Stripe in production)

sick talon
#

Do you see anything in the logs that would indicate an error when the CLI starts serving?

upbeat island
#

C:\Users\Tim\source\repos\accept-a-payment>stripe serve
Starting static file server at address http://localhost:4242

#

So this command only serves static content? Only meant to display client pictures?

sick talon
upbeat island
#

TTFN then

torn valley
#

I have found in documentation that it says I can locate apikeys at dashboard.stripe.com/apikeys but when I login using my account that has phone verification and then select my woocommerce account it redirects to the woocommerce profile details rather than apikeys. Attempts to change the url just requires logging back in and the same loop occurs. Do I need a different account for api keys?

rose compass
#

👋 Hey there, I have a question regarding Stripe Tax, the "low code" integration and tax behavior, inclusive vs exclusive. I'd like to have one price that I can set the tax behavior on based on the customer, i.e. for US customers vs EU customers, etc. From what I understand, the tax behavior is set on the Price object, so we'd have to assign different prices to different customers, to configure different tax behaviors. Is it true that you cannot change tax behavior per subscription? It must be specified per price?

flint vessel
#

no need.. i just created a test product for 20$ then sent it to myself and paid it.. apparently it is eligible for chargeback protection so it seems i can just create payment links instead of figuring out how to make my own checkout :-)

#

i did have another question though.. so i am eligible for instant payouts.. i set to manual to test it and it worked.. i can have automatic payouts and still indtant transfer as needed right? would just need to increase it from daily to every 2 days or something so the funds are in the available balance long enough for me to instant transfer?

#

if i set to daily usually by time i go to transfer its already scheduled to payout then i have to wait

crimson needle
#

You can basically payout the pending balance for instant payouts

vocal stump
#

Hey. So one of our clients wants to issue a membership where people pay for the first period, but the billing cycle won't start until day x. Can this be done with trials?

#

A prepaid trial so to speak

crimson needle
vocal stump
#

Hmm. But that would mean creating an invoice item that matches the price of the first period, yes?

crimson needle
#

hum now I don't understand your use-case exactly. But if they pay $10 upfront for a 3 months trial on a $10 monthly sub then yes you need a $10 one-off price

vocal stump
#

That is the use-case exactly

#

just upfront price equal to first period

#

But wouldn't this bill them for the first period when the trial ends?

crimson needle
#

ack then yes you need 2 prices today. We're hoping to let you us recurring prices as "one-off"

vocal stump
#

I could combine this with a 100% one-time discount I suppose

#

I think this is going to be "this is not happening in two weeks, sorry"

crimson needle
#

there's no need for any discount

vocal stump
#

But when the trial ends wouldn't it pay for the first period otherwise?

crimson needle
#

Subscription for $10 monthly with a trial that starts today until November 1st. You want to pay $10 upfront
You create a sub with trial_end: <timestamp Nov 1st> and you also attach an extra invoice item for a $10 price (non recurring) in add_invoice_items

#

this charges $10 today and then will charge $10 a month starting November 1st

vocal stump
#

Yeah it shouldn't charge anything on november 1st

#

it should prepay for the first period without moving the billing anchor

#

so ocotober 15th you pay 10 dollars, and 10 dollars again on december 1st

#

nothing on november 1st

#

Elaboration: nightclubs are currently closed in Denmark but will open september 2. We want to issue memberships that people can sign up for at any time but won't actually start cycling before september 2

#

and we need them to pay for the first period whne they sign up

#

practically just extending the first period to however many days are until september 2

cold patrol
#

Hey guys 🙂 how can I combine dynamic tax rates with B2B sales within EU. Because if sb provides his TaxID and he is located in another EU country, then there should be no VAT due to reverse charge. In my tests stripe didn't do that automatically and I dont know how to implement that when I get the billing address only on checkout and not before. My client doesnt want to pay for the automatic tax feature...

vocal stump
#

This is outside the scope of Stripe, I believe, Adrian. Just don't put VAT on the invoice. That's what we do at least for other EU countries.

crimson needle
#

@vocal stump aaaaaah you want "pre-billing" basically. We're working on it but no timeline

vocal stump
#

@crimson needle So you're saying it won't be ready within the next two weeks when the client wants it?

#

Because that's just awful news for me.... 😆

#

sigh of relief

echo pollen
#

So, my webhook controller ran into an issue today.

#

Stripe sent two charge.captured webhooks at the same instant for the same terminal purchase

#

both returned 200, just trying to figure out why I'd get sent the same event twice at the same instant, instead of waiting to see if the webhook failed before resending

cold patrol
vocal stump
#

@cold patrol We report the VAT outside of Stripe in total; how many countries we billed for how much, and the tax will be collected that way. Perfectly legal.

cold patrol
vocal stump
#

I'm not an accountant though, just wanted to say that we don't put VAT on invoices for other countries as we were told not to

crimson needle
echo pollen
#

Yes

#

I even diff'd the two bodies and they were identical as well

#

which is a good thing if the event being sent was identical I guess

crimson needle
#

okay so that can totally happen though it's confusing/uncommon let me find the docs

vocal stump
#

I think from a theoretical perspective it's impossible to guarantee only-once delivery

#

So you should probably just deduplicate based on event id, @echo pollen

crimson needle
echo pollen
#

yeah, I'm just working on dropping an extra level of queuing jobs on top of the jobs that the webhook generates now

#

so if I get the same webhook twice I only process it once

vocal stump
#

You can solve this with SQL, a transaction and unique column

#

We store all webhooks we get for this reason

rapid imp
#

Yep just store the event id after any logic/processing and before you execute any logic/processing check if you already have the event_id stored in the DB it can really be that simple as 1 field/column because you can always pull the full event from stripe with it.

midnight vapor
#

is it possible to apply a coupon when changing a subscriptions item quantity? or when adding an additional price?

muted hill
#

Hey there,
Is anyone familiar with Stripe integration for MERN web apps?
I have been trying to get it working on my web app. But it continually fails, and it seems like this would be a simple task, however it just wont work.

copper panther
#

We are trying to retrieve the exact Stripe fee charged (hopefully) at the time the card is charged.

Here is the scenario: We are the master platform, we are making direct charges using a connected Standard account, we are using the** pre-built checkout** form with payment intents charging the card immediately. For reporting purposes to our client, we need the exact amount of the Stripe fee charged at the time or purchase.

How do we get the exact Stripe fee to insert into our database (hopefully) without having to make another express call to the API?

We were instructed to listen for a webhook from our connect account. We have created a Stripe connect webhook for charge.succeeded and payment_intent.succeeded. We are testing both with Stripe CLI and our application.

There are now two issues. The first being the Stripe fees do not seem to be part of ether webhook response. We have confirmed with using the stripe trigger function in the CLI.

The second issue is that when we do a test purchase creating a direct charge to the connected Standard account, only the application_fee for our master account is returned and no connect webhooks are returned.

The scenario of being able to retrieve the exact Stripe fees from a transaction at the time of charge seems to be something that should be obvious and simple. What are we missing here? Has anyone else run into this issue? Thanks!

glad dust
#

Im not able to run "stripe" on my linux server

#

i have stripe installed and configured

#

i have to go the the dir with stripe and do ./stripe

crimson needle
#

@glad dust that usually means you didn't add it to your path

glad dust
#

how do I add it to path on ubuntu 18

bleak valley
#

I need help back into my account?

crimson needle
#

@glad dust I don't know I'm sorry, it's specific to your own system. I usually update my .bashrc and add export PATH="<new_PATH>:$PATH" for example

cerulean pineBOT
#

:question: @bleak valley Have a non-technical question, account issue, or need one-on-one support?
We wish we could help, but this community is focused on developers and technical discussions. Our support team will be able to assist you better than we can: https://support.stripe.com/contact

glad dust
#

I have 3 of these in my path but when i do "stripe" it still doesnt recognize it

crimson needle
#

I'm sorry I don't know much about linux and PATH resolution. I don't think any of those paths make sense.
Where is the binary installed exactly? Like what's the full path to the stripe binary on your system?

glad dust
#

in /usr/stripe

crimson needle
#

then /usr/stripe should work in your path and make stripe available as a command. Maybe you have the wrong permissions for that tool like you need to use chmod +x or similar? I'm sorry I have no clue I'm wildly guessing

#

how did you install it?

glad dust
#

I downloaded the tar.gz from the Github releases page and executed the command tar -xvf stripe_1.7.0_linux_x86_64.tar.gz

crimson needle
#

so you just copied stripe inside /usr?

#

can you do ls -l /usr/stripe?

glad dust
crimson needle
#

cool okay so you misunderstand how this works mostly

#

try export PATH="/usr:$PATH"

#

and then try again to run stripe

glad dust
#

ok

#

ty it works

crimson needle
#

the PATH variable doesn't want the full path with the command/binary itself

glad dust
#

ah

crimson needle
#

it wants the "path to the binary" so if you had put stripe inside /usr/stripe-tools/ for example you'd do export PATH="/usr/stripe-tools:$PATH"

#

here you put the binary in usr (uncommon I think, it should be inside /usr/bin usually at least) so you needed to add /usr in your path

#

I'd recommend undoing that and moving to binary to /usr/bin where a lot of other commands/tools must live!

vocal stump
#

cus_JuKPY7fe7y1JXH gives me invoice_settings->default_payment_method = null even though it clearly has a default payment method on the dashboard. What am I missing?

vocal stump
#

@crimson needle Do you think you would consider, in an API upgrade that is, to automatically reverse applied balance on invoices when they are voided? It seems like this should happen automatically. I'm just thinking about how I boiled it down to listening to webhooks for invoice.voided and reversing the difference between starting_balance and ending_balance. From the perspective of "this invoice never happened", which essentially is what a void indicates, it seems odd to me that it can still consume actual credit.

crimson needle
#

we already did that 18 months ago!

Customer balances applied to all invoices are now debited or credited back to the customer when voided. Earlier, applied customer balances were not returned back to the customer and were consumed.

vocal stump
#

Sooo why does it not do that when voiding invoices for pending subscription updates?

#

I just spent a whole day working around this problem so i don't really understand this

crimson needle
#

no idea. You always ask questions behind questions :p
Do you have a concrete example I can look at?

#

maybe your account's default API version is older than the one I mentioned

#

or maybe it doesn't work with pending updates (looking into our jira database)

#

If you can provide a concrete example I can have a look in the meantime

#

ah yes I can see a nice jira report from early 2020 with that exact issue and a todo 😦

vocal stump
#

Any ETA on the todo? Because when you "fix" it I might end up in a situation where I reverse the amount twice?

#

As I handle it manually now

crimson needle
#

no ETA for now, it'd likely be another API version I think though it's a bug fix so maybe not. No one is working on it at least but I'm re-raising it

vocal stump
#

It's kind of a dangerous thing to "fix" in this case

crimson needle
#

yep agreed. We'd either do an API version, or we'd find affected users (like you) and warn them (or disable the fix for them)

vocal stump
#

Does the JIRA report mention that this only affects invoices generated for pending updates?

#

Just trying to scope in how much I would need to adjust if it was fixed

crimson needle
#

well the jira is specifically about those yes.

#

other invoices should work per the API version

#

(we shipped pending_updates after that API version if I remember correctly and the behaviour was just missed)

#

pending_updates is not used as much as we originally expected

vocal stump
#

Okay so, if a connected account is on a version from before this void-behavior was modified, and they run a subscription that was created from the platform, and that platform creates an update, which issues an invoice, and this invoice is then voided - which behavior would apply? Normally I'd expect all connected accounts to behave like the platform API version when I send requests, but in this case it's somewhere inbetween

#

And I'm sorry to hear that, being one of the people who pushed for that feature 😄 At least I was told that my "feedback was heavily discussed" prior to it being shipped.

glad dust
crimson needle
#

@vocal stump it depends who voids the invoice basically and if on an old API version if they pass consume_applied_balance_on_void as false or not.

#

and I was super excited about the feature too but it didn't get as much excitement as we hoped and it wasn't that common an issue after all at least for now

glad dust
#

ok

vocal stump
#

but I can't pass consume_applied_balance_on_void to it if the invoice gets voided because pending updates expire?

#

as this happens automagically

crimson needle
#

correct

vocal stump
#

Also, maybe you should disable link previews for chat. I notice people remove it 9/10 times and it is a little annyoing with the big previews coming in and out

#

Maybe this is not a server config though

vocal stump
# crimson needle correct

So in this case I wouldn't be able to tell if I needed to reverse the amount or not, as that would depend on the version of the connected account?

#

I suppose I could just go through all the connected accounts and make sure their version is higher than that

crimson needle
#

yeah link preview is helpful for specific things. FWIW I think I'm the only one removing basically all of the bad ones 😹

vocal stump
#

Don't have that many

crimson needle
#

it relaxes me

vocal stump
#

Cool, it was just a suggestion but it seems you cant turn it off server-wide anyway

#

per-user config

crimson needle
#

yep totally

vocal stump
#

So reading the docs you linked

#

Set invoice_customer_balance_settings[consume_applied_balance_on_void] to false in /v1/subscriptions create or update to force this behavior for Invoices voided by a Subscription.

#

could I set that to true and expect it to work, assuming you did not have that bug?

#

I mean regardless of connected account API version

#

Odd wording though that it says to set it to false to force the behavior

crimson needle
#

yes I think it works and is a setting for the sub overall, though you can just create the sub with a recent API version otherwise I think

vocal stump
#

I always create the subs from the platform using latest API

#

but it's not clear if I should pass that option or not in that case

crimson needle
#

no you shouldn't in that case

vocal stump
#

I'll have to take a closer look at it tomorrow. I'm out. Thanks for your help as usual.

crimson needle
#

have a good night

vocal stump
#

UTC+2 so probably going to have myself some sleeps

glad dust
#

Is it possible to redirect someone after they complete a payment with a payment link?

meager oasis
#

This disables the link preview

mossy cape
#

is it possible to retrieve an (ach) bank account object in stripe without the CustomerId, only the BankAccountId

#

or retrieve the Source object with the BankAccountId?!?

#

I’m just trying to retrieve the .Last4 but currently my integration does not save a customer to my charge object

golden cosmos
#

@mossy cape if i understand your question correctly, you are asking if it is possible to retrieve the Last4 from a charge object?

mossy cape
#

not exactly. I’m just trying to retrieve the last 4 of a bank account in stripe

#

but I’m not sure if it’s possible without a customerId

golden cosmos
#

@mossy cape let me look into this and i'll get back shortly!

mossy cape
#

thanks @golden cosmos ☺️

glad dust
#

What port are Stripe webhooks sent on?

golden cosmos
bleak breach
glad dust
#

ok ty

bleak breach
#

@glad dust It depends on what you set up in your webhook endpoint settings. If you don't specify a port there it'll default to the standard HTTP port

mossy cape
#

thank you, i thought so. i need it when a charge hasn’t occurred yet but i guess that means i should be persisting a customer id

muted hill
#

Can someone please help me out.
I am using Stripe to create a subscription on my Node.js webapp.
However I repeatedly get this error: {"error":{"message":"Missing required param: line_items[0][currency]."}}

I know its from priceId being undefined, but im not sure why it is

muted hill
#

Front end:

<form action={`${API}/create-checkout-session`} method="POST"> <input type="hidden" name="priceId" value="price_1JIQc6Hfb2x6qKH5BfPbu3PV" /> <img src="/img/professional.png" width="120" height="120" /> <div class="name">Professional</div> <div class="price">$18</div> <div class="duration">per month</div> <button id="pro-plan-btn">Select</button> </form>

BackEnd: ```const stripe = require("stripe")(process.env.STRIPE_SECRET_KEY);

exports.pay = async (req, res) => {
const domainURL = process.env.CLIENT_URL;
const { priceId } = req.body;

try {
const session = await stripe.checkout.sessions.create({
mode: "subscription",
payment_method_types: ["card"],
line_items: [
{
price: priceId,
quantity: 1,
},
],
success_url: ${domainURL}/success.html?session_id={CHECKOUT_SESSION_ID},
cancel_url: ${domainURL}/canceled.html,
});

return res.redirect(303, session.url);

} catch (e) {
res.status(400);
return res.send({
error: {
message: e.message,
},
});
}
};

#

I get an error saying, "{"error":{"message":"Missing required param: line_items[0][currency]."}}" in my Node.js web app.
and im not sure how to fix it

#

I am using the basic integration of stripe, and it just doesnt work...

golden cosmos
#

@muted hill taking a look!

muted hill
slow escarp
#

Hello everybody! Is there a way to make a metered billing subscription with checkout and the customer portal? Many thanks!

golden cosmos
#

@muted hill could you print the value of priceid in your backend to see if it is a price id?

muted hill
golden cosmos
#

@muted hill is your frontend passing the priceid as part of the post request to your backend? You may want to check on that first

muted hill
#

Thats the thing, @golden cosmos ive reviewed these links, and other resources, I must be missing something, thats why i resorted to discord

golden cosmos
#

@muted hill maybe lets look at this step by step, can you print out and share what is the req.body?

muted hill
#

sure

muted hill
#

so priceId is undefined
and req.body is {}

#

@golden cosmos so that means the input in the frontend isnt actually being sent then right?

                      type="hidden"
                      name="priceId"
                      value="price_1JIQc6Hfb2x6qKH5BfPbu3PV"
                    />```
#

35 billion dollar company made by two teenagers and i cant even integrate their api lol.

golden cosmos
#

@muted hill since you're using a HTML form, your server would need to parse an urlEncoded response. If you're using Express, can you check if you're using something like app.use(express.urlencoded());

muted hill
golden cosmos
muted hill
#

omg i think it worked

golden cosmos
#

that's great!

muted hill
#

2 entire days i spent doing this.

Thanks so much @golden cosmos really cant thank you enough!!!

golden cosmos
#

@muted hill always happy to help! Hope you have a great day and please don't hesitate to reach out in case you have any other questions!

carmine hazel
#

Hi guys, how are you? i really need help, i'm a bit new to stripe in app development.
My concern is the following, I have my expo react native payment code which must return the amount of an article to the Stripe back-end which is in nodeJS, but it does not work below the react and nodejs code

bleak breach
carmine hazel
#

my code

#

nodejs code

bleak breach
#

Thanks but that's not really helpful without knowing what exactly your issue is

carmine hazel
bleak breach
#

Sounds like you have an error on your server. You should check your server logs

carmine hazel
#

I tried, when I give a fixed value to the backend amount and I validate it has no problem or error,
but when I want it to retrieve the exact value returned from the front-end, it gives me an error, I modified the code several times but still the same

bleak breach
#

Your frontend code passes items: { id: 'Bikees App Reservation' } to your backend. Your backend then tries to calculate the total by looking at items[amount] which doesn't exist. Hence you're probably sending amount: undefined to the Stripe API which is causing your code to break

carmine hazel
#

Before I use another method, but he give me this type error: JSON Parse error unrecognized token <

bleak breach
#

That means that your server is erroring and returning something that isn't valid JSON to your frontend. This usually means that you have a server error and you should look at your server logs

carmine hazel
#

on stripe side I not receive error on logs

bleak breach
#

If you can access a network tab on your client, it should show you the request you made to your backend and the resulting error message

carmine hazel
#

on node side I can't install nodemon, so I run with node server.js

bleak breach
#

Yeah that's fine, since you haven't wrapped your API call in a try/catch block you should still see the error in your terminal

bronze hedge
#

Hi, so for a while now, I've been trying to get an international subscription model on my Connect platform up and running, which would allow users to purchase subscriptions for connected accounts that use a different bank account currency than my own platform. This means that I cannot use the transfer_data parameter in Stripe billing (due to the currency differences). I have been emailing with support, which suggested to use the on_behalf_of parameter to update invoices after they are created from the subscription to map to the connected account's StripeId. However, when doing so, I am now getting this error: {"status":400,"message":"You cannot specify an 'on_behalf_of' parameter when updating an invoice created by a subscription.","request_id":"req_hvdioXMhpojqPP","type":"invalid_request_error"}
Is there something I am still doing wrong?

icy anvil
junior ivy
#

Hi Team ... I have setup a bank account in test mode.. Now when I try to create a customer and added subscription. but the amount is not reflected in the bank account balance

#

kindly help me on understanding on how to check the customers payment to market place ?

lucid raft
#

but in general, the charge will appear in your Stripe balance and takes time to appear in your bank account.
And there will be no actual payout in test mode.

junior ivy
golden cosmos
#

hey @bronze hedge, sorry about the confusion, i believe some time back, we advised that you write in to Stripe Support to get a feature enabled so that you can use on_behalf_of with subscriptions. I just checked and it looks like that feature has not been enabled yet. I'll help mention that this needs to be done to Stripe Support who is currently handling your open ticket.

bronze hedge
lucid raft
#

again, you will not see these balance move to your bank account because it is test mode. There no money movement thus nothing will show to your bank account

drowsy glen
#

Heya People :)

Whats the API call to send the receipt to a customer?
We have invoices for $0, we're able to send the $0 invoice for payment (lol) We would prefer to send the receipt for the $0 invoice.

#

I don't think there is a specific API call to send receipts, like there is for invoice.send( unless using payment intents.

bleak breach
tranquil idol
#

Good Afternoon here and Happy Friday. I'm getting confused about which publishable key should our customer use to generate a token to be processed by our platform (in direct charge and in destination charge). I tend to think direct charge they should use their own publishable key, and destination they should use our platform publishable key, right?

lucid raft
#

the difference here is

  1. direct charge: platform publishable key + stripe-account header
  2. destination charge: platform pk is enough
noble sonnet
#

Hi Stripe Team,

I am using this

const { error: confirmError } = await stripe.confirmCardPayment(
payment.stripe.clientSecret,
{ payment_method: ev.paymentMethod.id },
{ handleActions: false }
);

to perform a Payment Request Button submition.

Yesterday I have reported that after using a WRONG CVC, Stripe doesnt throw me a fail status. The Support ( @dry hatch ) has replied to me that I should try with live keys as I was using the test key yesterday. With live keys, it was mentioned that it will work fine.

Now after trying with live it still managed to go thru. Can I check with you if this is valid issue?

#

Payment Intent Id for this case in our live site is pi_1JIoHkF5utpDAv9TOlb3Sy4g

noble sonnet
#

Also for the issue I posted above it says INCOMPLETE in our Dashboard but I was wondering how come it didnt throw a fail for stripe.confirmCardPayment

#

Should I be doing other calls to ensure our customer has correct card with valid CVC

golden cosmos
noble sonnet
#

sorry not sure if I understand correctly so I need to set my handleActions to true?

golden cosmos
#

@noble sonnet the PI is right now in an incomplete state because it requires 3DS authentication. Typically, the ConfirmCardPayment method will automatically handle the 3DS flow. However, passing in handleActions: false disables the automatic handling.

#

so yes, if you would like Stripe to handle that for you, you can not pass in the handleActions parameter. By default, this parameter is set to true.

noble sonnet
#

Ok got it. So if I pay using a credit card with a wrong CVC and the handleActions is set to TRUE, it should fail right? like stripe will send me a fail state?

tepid obsidian
#

Is it possible to make the right half of the stripe hosted checkout not white?

#

like does it have a dark mode?

lucid raft
tepid obsidian
#

Yeah, that lets me change the left half's background but the right is still eye blidning whtie

lucid raft
#

o.. let me check.

golden cosmos
vocal wagon
#

Hi,

I am building an integration to collector service at this time and I need to hook to invoice.paid webhook. How can I distinguish between invoices paid through Stripe and invoices status change of "Mark invoice paid outside of Stripe" while listening the invoice.paid webhook? Maybe payment_intent is missing while the invoice was marked paid outside of Stripe - is this correct way to identify my scenario or some other?

lucid raft
tepid obsidian
#

Darn, that's what I feared. Thank you for checking though! I couldn't find anything so I thought I'd ask.

lucid raft
#

The team would love to bring the dark mode to checkout. But there is no time line yet

noble sonnet
#

okay thanks @golden cosmos will check this

golden cosmos
#

@vocal wagon taking a look at your question!

quick harbor
#

@golden cosmos Is it possible to create an invoice before creating invoiceitems? I'm getting a "there's nothing to invoice error"

golden cosmos
#

@vocal wagon actually that does seem like the best way.

tepid obsidian
#

Is it bad practice to not open up the same payment intent if the user cancels and goes back in?

vocal wagon
#

@golden cosmos is it guaranateed that the invoice does not contain payment_intent when "Marked paid outside of Stripe" even, when the invoice had been tried to be paid with eg. Stripe Card PM without a success?

tepid obsidian
#

Like, I could setup a DB to store sessions but is it worth doing?

bleak breach
# vocal wagon Hi, I am building an integration to collector service at this time and I need t...

There actually is a way to determine this. invoice.payment_succeeded 0 will trigger whenever a Invoice is paid, unless it was marked paid out-of-band. invoice.paid 1 will trigger when an invoice is paid, regardless of how it was paid

#

However since you're the one paying the invoice out of band via calling the /v1/invoices/:id/pay endpoint, you should know when an invoice was paid out of band, no?

vocal wagon
#

@bleak breach Thank you! This means that when I hook to invoice.payment_succeeded instead of invoice.paid I can trust that the invoice was paid in Stripe instead of "outside of Stripe".

vocal wagon
bleak breach
sullen edge
#

ログインが出来ません。

vocal wagon
#

Hi, is it possible to get some card info into our platform? Like card holder name, exp date, last 4 digits of the card nr? We want to show what card is currently used for payments inside our platform. And we want to show it with our own ui and modals (not with stripe extensions).

bleak breach
vocal wagon
#

ok, thanks. As i understand 4 last digits and exp date is possible. I asked this question because i'm not a developer and can´t undertsand the doc that well 🙂

royal turtle
#

Is there a way to combine the cardNumber, cardExpiry, and cardCvc into a single element for use with the stripe js methods that take a card element? Specifically for the createPaymentMethod function.

tight parcel
#

Hi! Quick question: should different devices listening to events using Stripe CLI get all the events? Or only a random one of them will process the events?

golden cosmos
golden cosmos
tight parcel
#

Another question: I'm using different accounts to have the data for the different development environments. Is there an easy way to just copy the entire account for example from Testing --> Development? Or just duplicating an existing account?

bleak breach
tight parcel
vocal wagon
bleak breach
tight parcel
rapid imp
#

I think it’d be a good feature for stripe to allow an arbitrary number of environments. Test and live mode work well, but I’m thinking of scenario where one environment (development) can be used for all development and dev teams. An integration environment where the data lives separately and might serve a QA team well. Finally maybe a testing environment where this can be used strictly for unit/integration tests.
The naming is subjective but that’s where it could be named by a user. This might be a solved problem by another method but just curious.

Before I get too ahead of myself I think this can be achieved by creating multiple stripe accounts dedicated for specific uses. The setup I’m imagining is that 2 Testmode accounts that never get activated and one livemode account that’s for production. All with different API keys and webhook keys etc. maybe that’s how it would be handled today. Curious as to what stripe internally uses to have multiple environments with isolated data for each environment

bleak breach
# rapid imp I think it’d be a good feature for stripe to allow an arbitrary number of enviro...

Traditionally what we recommend doing is just creating new accounts specifically for testing. If you had multiple environments under one account, (prod, QA and testing for example) you still would want all those environments to have completely separate objects associated with them so messing with something in testing doesn't break anything on QA. At that point it's functionally no different than just having two accounts; one with prod/QA and the other just for testing.

When working with a team I think it would be better to have your own personal test account, like having your own copy of a test database to make sure no one messes with the data you happen to be working with.

#

To answer your question though, we practise what we preach and just have create multiple test accounts. I have something like 20 test accounts at this point

night kite
#

hello, does anyone know what are the possibile causes of "payment not completed" when confirming a payment intent with apple pay on the client side?

rapid imp
bleak breach
night kite
tight parcel
bleak breach
night kite
#

sorry i also have to specify that I am using an iphone 12 real device (i just woke up)

bleak breach
night kite
bleak breach
#

You can check to see if it made it as far as Stripe by looking at your error logs in the Stripe dashboard

#

If there's a payment error there then it might narrow it down as to where the problem is

night kite
#

i will dig deeper in the logs

#

because we also have connected accounts (we are a platform with stripe connect)

#

yes exactly, in both platform and connected account logs there is just a 200 response for the PI creation on the server

bleak breach
#

That would mean that something's going wrong when you're calling either presentApplePay or confirmApplePayPayment. I'd add some logging to see at which point it fails

night kite
#

it's the latter: confirmApplePayPayment is this helpful? the first is showing the sleeve and debugging the error pops only with the second.