#dev-help

1 messages · Page 120 of 1

dreamy karma
#

Received unknown parameter: application_fee_amount in file

meager hawk
#

@cosmic galleon hmm that's really weird. I think I'd need to see your exact code and a stack trace ideally. This might happen if there's something in the JSON the library can't handle for some reason but it shouldn't really be happening

dreamy karma
meager hawk
#

yep because you're not using Connect in that code.

dreamy karma
meager hawk
meager hawk
dreamy karma
meager hawk
#

so you mean you're using separate charges and transfers?

dreamy karma
meager hawk
#

I think that's a really bad idea to be honest, you should fix whatever reason there is they can't create accounts instead of doing it this way.

#

I highly highly recommend rethinking your approach here.

#

but anyway if you're using https://stripe.com/docs/connect/charges-transfers then you cant' use application_fee_amount or anything like that. Instead, when you do transfer the money, you simply transfer an amount that is less than whatever you charged through Checkout. So effectively you take a commission which is that difference.

cosmic galleon
meager hawk
#

@cosmic galleon it might be easier! I do want to test this myself too to try to replicate but I'm juggling some other things and have to leave soon, so it will take me a while to get my Java server set up

cosmic galleon
#

something else a bit odd. I've never installed anything but v1.6.4 of the CLI via tar download (but I did follow instructions to setup autocomplete)
mark@ubuntuvm:~/Stripe$ stripe -v stripe version 1.5.14 mark@ubuntuvm:~/Stripe$ ./stripe -v stripe version 1.6.4

meager hawk
#

not sure I follow, what's odd about that?

#

ok I just tested this and I don't get the same issue

stripe listen --forward-to localhost:4567/webhook_java
...
stripe trigger subscription_schedule.canceled
#

and for the endpoint :

post("/webhook_java", new Route() {
    @Override
    public Object handle(Request request, Response response) {
        String sigHeader = request.headers("Stripe-Signature");
        String payload = request.body();
        Event event = null;
        try {
            event = Webhook.constructEvent(
                    payload, sigHeader, endpointSecret
            );
        } catch (JsonSyntaxException e) {
            // Invalid payload
            logger.error("invalid payload : " + payload);
            response.status(400);
        } catch (SignatureVerificationException e) {
            // Invalid signature
            logger.error("invalid signature : sigheader:" + sigHeader + " ; payload : " + payload);
             response.status(400);
        }


        logger.info("handling event " + event.getId());

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

        }
        
        response.status(200);
        return "";
    }
});
#

maybe it helps to compare what you have?

#

hmm though you're right, it does enter that branch that calls deserializeUnsafe (though that works and doesn't crash for me) so it seems like there is maybe some issue

#

oh, never mind, I forgot --latest on the stripe listen call. When I do that it's all good. So yeah, I can't replicate what you're seeing unfortunately.

#

👋 I am stepping away for the moment so a Stripe engineer might not see your message here for an hour or so from now — please contact https://support.stripe.com/contact for a guaranteed response!

regal needle
#

Can Stripe payment be used with Amazon Alexa or Google Assistant?

sick talon
polar cradle
#

Hi.

Is there anyway to use Stripe in South Africa

sick talon
polar cradle
#

Thank you! I will check

light nimbus
#

Hi is there a way to only list all paymentintents where payments succeeded? Kinda like the dashboard does

#

and if that is not possible, what is the best way to verify payment? I;m now checking amount_received

sick talon
light nimbus
#

uff, so i tried status but i now that i check it i see that i tried it on a checkout session. Thanks for helping!

#

oh and another small Question. How do you set limit to infinite. ('limit' => ?]

#

because it seems to be set on 10 as a standard

ebon raptor
#

Karlekko mentioned that i didn't need to parse any json to check if x user was subscribed or not, i could just use subscription.getStatus(). I can't find that function anywhere. Do i get that from the SubscriptionService object?

gleaming urchin
#

Hello everyone, I have a slight issue. We have an old school customer that wants to pay by check. So we have scheduled invoices to go out once a year. However, we want to schedule the invoice to go out 30 days before - currently it’s being sent out 7 days. In order to change that, it wants us to update the billing cycle. Is there a way to update the invoice to go out 30 days before it’s due?

sick talon
gleaming urchin
#

@sick talon yes, sorry, that’s what I meant - upcoming notifications.

ebon raptor
gleaming urchin
#

@sick talon we want to send a invoice notification 1 month in advance so their services don’t get cutoff.

sick talon
ebon raptor
sick talon
# ebon raptor The 'status' property only seems to check whether or not the actual product is a...

You'd check the status of the Customer's Subscription(s) as well as which products are associated with the Plans/Prices in the Subscription's items https://stripe.com/docs/api/subscriptions/object?lang=dotnet#subscription_object-items

#

There isn't a way to go from Product to get all of the Subscriptions or Customers that are subscribed to the given Product, you have to go from Customers->Subscriptions->Items and compare

ebon raptor
sick talon
ebon raptor
#

oh lol

west pivot
#

Hello

#

I have a question about the bacs debit payments

#

I am trying to trigger the async payment failed / succeeded events

gleaming urchin
#

@sick talon it looks like the earliest notification that can be sent is 10 days.

atomic leaf
#

Hi, I was wondering if there was a recommended way to set up subscriptions with the new stripe-react-native library?

#

It seems to only handle paymentIntents and setupIntents

gleaming urchin
#

@sick talon do you know if it’s possible to extend this to 30? Possibly via Stripe’s API?

atomic leaf
#

I was hoping for a way to get the customer sourceId so that I could use that and purchase the subscription on our server?

sick talon
west pivot
#

Thanks

sick talon
atomic leaf
#

Yeah, but I want to let the user select which card they want to use

#

using the paymentSheet

west pivot
#

I've tried 90012345 and 92222227 but haven't received the async events :/ (I have waited more than 3 minutes)

sick talon
sick talon
atomic leaf
ebon raptor
#

Turbo, do you think its okay for me to privately message kalekko about the subscription.getStatus(). Perhaps he's got an easier solution to my problem. I just know that some discord communities do not allow private messaging to admins.

sick talon
west pivot
#

Lemme find it thanks. I have the event id right now :
evt_REMOVED_ID
setup intent?:
seti_REMOVED_ID

sick talon
ebon raptor
sick talon
west pivot
#

I'll check the events

#

I dont think there are payment intents

#

Doesn't that happen automatically?

#

Thanks for your help by the way, I really appreciate it

#

ahh, looks like the invoice is scheduled for an hour after the creation of the subscription

safe comet
#

Hey everyone! We're having the following issue:

We have set up our checkout in an electron app using Stripe elements. Everything works fine in test mode, but in live mode we get the following error when performing a payment with 3DS for a specific provider.

electron Refused to display in a frame about:blank:1 because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self' https:"

We're then stuck at the 3DS popup with the only option to cancel and go back...

Anyone have any ideas on how to fix that?

west pivot
bold basalt
#

@safe comet hello, reading one sec

#

@west pivot yeah Invoices finalize and automatically pay in 1 hour (outside of the first Invoice), you can manually finalize and pay them through the Dashboard or the API.

west pivot
#

Awesome thanks

#

charge.failed too

bold basalt
#

@west pivot can you share just the CheckoutSession ID? So I can look up what events it sent and which ones it did

west pivot
#

lemme see

#

@bold basalt cs_test_c17ZsgIZpGmxCd9G0ZnjFfPPcb7OxDCT9lUGvCqQra5CDC52SoVABxk7tL

#

Thanks

gleaming urchin
#

Late to respond, but thanks @sick talon - I believe that was it.

bold basalt
#

@west pivot how did you create the failing Subscription / Invoice ? was it manually or via Stripe Checkout also?

west pivot
#

I get the payment method from stripe checkout but then manually create the subscription as I have a custom subscription schedule

#

I can use invoice.payment_failed though, it's no problem.

cosmic galleon
#

specifically Java

west pivot
bold basalt
#

@west pivot yes so that is expected then that you don't get a checkout.session.async_payment_failed event.
You created a CheckoutSession in setup mode which succeeded and gave you the Customer's bacs_debit PaymentMethod. The payment failure was outside of the scope of Stripe Checkout, therefore no CheckoutSession "payment" failed hence no checkout.session.async_payment_failed event.

west pivot
#

Thanks @bold basalt , though that is rather confusing as that is the only way the bacs_debit can be used with checkout if I recall correctly

#

I could be mistaken, or it may be a recent update to stripe checkout

bold basalt
#

@west pivot not sure why that is confusing. As an integration, you used CheckoutSession in setup mode and that worked to give you a PaymentMethod. Checkout itself didnt try to create an async payment then later failed, your code used Stripe's API to create a payment which failed.

west pivot
#

Oh, my bad. I've just realised why I was confused. Is it correct that bacs_debit can only have recurring prices and not one_time?

bold basalt
west pivot
#

Okay thanks

#

I really appreciate it

#

Ah, I was following this guide and used setup:

#

I can't remember why exactly, but at the time there was I reason why I had to use setup

bold basalt
#

@west pivot since you're using Subscriptions you need to obtain a Bacs Debit PaymentMethod with the right mandates etc and Checkout helps you do that, which is using setup mode for Checkout. So you can continue creating recurring payments on the fully "set up" PaymentMethod later.

west pivot
#

Thanks

safe comet
bold basalt
#

@safe comet ah I see, not super familiar with CSP issues in electron apps, so not sure I know the answer but can ask internally

safe comet
vocal wagon
#

Hi everyone
we have got some issue regarding payments
Steps
user added the payment card and it went fine
user scan QR Code of asset and process the payment and got the message "Payment failed" user tried the same with different cards and message was same but when i check stripe dashboard there were NO declined transaction, how can we trace this issue ?

bold basalt
#

@vocal wagon hello, what is the QR code for? What Stripe product are you using? Checkout? Elements?

vocal wagon
#

This QR code belongs to kayak and project is about kayak rentals

#

we are using checkout

bold basalt
#

@vocal wagon do you have a CheckoutSession ID that is incomplete? Have you traced down to the PaymentIntent that they attempted charges on (which declined)

vocal wagon
#

we have traced down to payment intent and we got response object and this thing is happening only with USA based while other cards from EU ,india and australia are working fine

bold basalt
#

@vocal wagon can you share the PaymentIntent ID (just the ID, not the full object) so I can look it up and maybe try see what the issue was?

vocal wagon
#

hi , i am not my workstation right now, is it ok to email or private message you ?

bold basalt
#

@vocal wagon you can share here in this Discord #dev-help channel when you get a chance

vocal wagon
#

ah thanks : )

#

i will ask my dev team to join this channel and discuss this issue here

viral bane
#

Hey! Short question, because it is missing in the doc: May I assume ,that metadata I write to a subscription schedule object is saved to the subscription (which is created in the future) as well? Thanks!

fluid parrot
#

assumption is the mother of all fuckups

#

so, good you asked ;P

bold basalt
#

@viral bane hello, I don't think it is copied down to the Subscription ? I would try it in test mode and double check if it is or not

viral bane
bold basalt
#

@viral bane you'd have to copy it from the SubSchedule to the Subscription

viral bane
#

Fast support, love it 🥰🥰

bold basalt
#

@viral bane thanks for the feedback! we love supporting users directly here too, so easy to bounce ideas etc

dim hearth
#

@safe comet Do you know what protocol your electron app is using? I'm not the best w/ CSP issues, but from the error it sounds like that specific provider is requiring their content be framed from their own origin, or from a page that is loaded w/ https

unreal moon
#

Hello, i hope all is well, can anyone help me with stripe new check out and getting it integrated into my bigcartel website? I have chargeback protection enabled but it isnt working because its requesting that i have the new stripe checkout, however, no idea how to get this into the site

mighty hill
#

@unreal moon Hello! Unfortunately we can't help with third-party integrations as we don't own or control their integrations. You would need to reach out to BigCartel for help.

stray skiff
#

Hey all, I was wondering if there's a way to list all the payments associated with a connected account? I'm essentially looking to return all this data: https://peepoclap.com/u/FGW3ZIoS1.png to display to my end user on my website. I've been looking myself but other than creating a loop that smacks the stripe API (which is not preferable) there doesn't seem to be an easy way to get all the information I need

balmy yacht
#

Hello! Is there a way to create a subscription but delay the first charge? Would setting the trial be appropriate here or is there another way?

mighty hill
#

@stray skiff You should be able to use the List Charges API to do this: https://stripe.com/docs/api/charges/list

You would call that API on behalf of the connected account: https://stripe.com/docs/connect/authentication

sleek furnace
#

I am trying to figure out abt when am supposed to receive my payout. Customer made a purchase 2 weeks ago via my website, order has been fulfilled and I am still waiting on my payout. it keeps giving me a different pay out day

stray skiff
#

Totally missed that page

mighty hill
#

@balmy yacht Hello! Usually setting a trial is the best option, but you could also schedule the Subscription to start later with Subscription Schedules. Do you have concerns about using a trial?

#

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

balmy yacht
#

@mighty hill trial sounds great, but does subscription schedule allow term limits? for example a monthly recurring product but only charging once a month for 12 months

safe comet
mighty hill
balmy yacht
vocal wagon
#

Hey all! New to Stripe and struggling a little grasping everything. Because it relates to payments, it's not something I want to debug in production 😉

I'm building a solution based on the Subscription with Checkout sample (https://stripe.com/docs/billing/subscriptions/checkout).

My backend is in Golang and I'm less familiar with JavaScript.

Couple of "architecture" questions:
My (required) auth step (always) yields an email address that I correlate with the Stripe Customer ID and persist.
If I have the email address and no Customer (ID), I route to Stripe checkout and it pre-pops the email.
If I have the Stripe Customer ID, I don't pass the email and Stripe Checkout prepops the Customer's details. All good.
But what if the Customer has an active subscription? Is the correct flow to persist the Customer and Subscription IDs, lookup the Customer and, if the customer has a valid ("active") Subscription (!), then just continue (without navigating the Stripe Checkout flow)?

mighty hill
#

@vocal wagon Hello! I'm not sure I fully understand your question around a Customer with an active Subscription. Can you provide more details about the specific flow you're trying to build and what's blocking you?

dim hearth
vocal wagon
# mighty hill <@456226577798135808> Hello! I'm not sure I fully understand your question arou...

Hey @mighty hill thanks! I always have an email address.
First time through, the user needs to create a Stripe subscription. I have an email address, start the Checkout flow and it will either lead to them backing out or creating a subscription ... if they proceed, the session that results includes a Customer ID and a Subscription ID (I persist this)
Next time they visit, if, when I look them up (in my user database), I just have an email, I prepop the Checkout with the email and route them back to it, they may subscribe this time
At some point when they visit, I'll have an email, a Stripe Customer ID and a Subscription ID.... If I have the Subscription ID, should I lookup the subscription on Stripe and, if it's active, just continue assuming they're a paid up user?
The example doesn't include anything beyond the initial flow.

mighty hill
#

@vocal wagon Yeah, that sounds like a good approach. No need to send them to Checkout if they have an active/paid Subscription, right?

stark tide
#

you might want to keep a copy of the subscription state in your own db, though - doing a lookup to stripe to check if the user is active is slow, esp if it's on every page load or something

vocal wagon
# mighty hill <@456226577798135808> Yeah, that sounds like a good approach. No need to send t...

Great, thanks! That was my thought... I'm updating CheckoutSessionParams with the Customer ID and|or Customer Email before session.New(params) and wondered whether, the correct approach was to put the Subscription ID in there too (CheckoutSessionSubscriptionDataParams) but couldn't find an obvious way to do it. Thinking more about it, to your answer, if I have the Subscription ID and I confirm it's active, it seems I just avoid checkout altogther (until the subscription expires). Thanks!

mighty hill
#

@vocal wagon Checkout is only used to start Subscriptions. Are you asking how to use a Stripe-hosted surface to let your Customers modify existing Subscriptions?

cosmic storm
mighty hill
vocal wagon
mighty hill
#

@vocal wagon It sounds like you're on the right track to me. 🙂

vocal wagon
gleaming urchin
#

Hello, it seems the trial period didn’t get activated correctly and a customers was invoiced prematurely… is it possible to change the subscription start/end date?

mighty hill
distant jay
#

Hello! Is there a way to add information to an invoice? I have a customer who asks for specific information to be on their invoice.

wheat wing
#

add it as a metadata

distant jay
#

and that will show up on each new invoice for them?

mighty hill
wheat wing
#

On Connect, how can you transfer an amount to a connected account or what's the best way to ensure the account has balance to be able to transfer to connected accounts?

sage burrow
#

I am having a hard time with invoices. When the trial ends and the customer changes to another plan than the default plan, they are charged for the new plan and the old invoice retries and they get charged for it too. So now what I am doing before changing the plan i am voiding the old invoice. However I noticed that makes the new invoice stay in draft status ... Any insights?

mighty hill
mighty hill
#

@sage burrow Can you provide a Subscription ID showing this behavior so I can take a look?

wheat wing
#

@mighty hill if I switch the Payout schedule to manual, does that apply to the connected accounts?

sage burrow
#

@mighty hill sure I'll get it for you

#

@mighty hill sub_Jp1oX35qEAeeee. Keep in mind that for this one I finalized the invoice thinking that by doing so the client would be charged (to avoid it staying in draft status)

mighty hill
#

@sage burrow Thanks! Taking a look now...

#

@sage burrow Wow, you're on a very old API version. Any chance of upgrading that? 😅

sage burrow
#

@mighty hill I agree. But unfortunately not soon.

mighty hill
wheat wing
#

In my case I cannot to find a way to apply coupons/promo codes successfully. Customer comes, applies coupon and purchase Product from Connected Account. Using the API we setup an intent to charge with "confirm"=true, the amount is the Product price - coupon's "amount_off"

mighty hill
wheat wing
#

if the setupintent is success we do a Stripe\Transfer::create(to the connected account)

mighty hill
sage burrow
#

@mighty hill yes this one is the original one that I voided in_0JBO1AtC5CmKO3CdDC29pPFY and the second one that I had to finalize in_0JBNkrtC5CmKO3CdftUG7l90

wheat wing
#

then we attempt to do a 2nd transfer for the coupon price

#

the coupon cost is on us not on the connected account

dim hearth
mighty hill
#

@sage burrow Sorry, I think I'm missing something. in_0JBNkrtC5CmKO3CdftUG7l90 is a $0 Invoice that covers the trial period. in_0JBNkrtC5CmKO3CdftUG7l90 is the only non-zero Invoice associated with this Subscription that I can see, so I'm not sure what you mean by "they are charged for the new plan and the old invoice retries and they get charged for it too" in your original message. Can you clarify?

wheat wing
#

@mighty hill yes, we do

  1. PaymentIntent::create(['amount' => product price - coupon, 'confirm' => TRUE])
  2. \Stripe\Transfer::create(intent->amount) <<< to the connected account
  3. \Stripe\Transfer::create(coupon amount_off) <<< to the connected account
#

but #3 fails

#

"You have insufficient funds in your Stripe account"

mighty hill
#

@wheat wing Can you give me the request ID showing the failure details for #3? Here's how you can find a request ID: https://support.stripe.com/questions/finding-the-id-for-an-api-request

wheat wing
#

req_AyJ4llS6kttx6N

mighty hill
wheat wing
#

checkout the description on this req_HcMVWi4nVenNHu

sage burrow
#

@mighty hill in_0JBO1AtC5CmKO3CdDC29pPFY has a field amount_due = $588 but I voided it and in_0JBNkrtC5CmKO3CdftUG7l90 has $0. Do you know why it has $0?

mighty hill
#

@wheat wing That transfer succeeded because you specified source_transaction as the source of the funds.

#

@sage burrow Yeah, that Invoice is for the free trial period. Look at the line items, there's a description there.

wheat wing
#

@mighty hill is it possible to have it withdraw or use the bank account connected with my account?

mighty hill
#

@wheat wing Also, be aware that in test mode you can use test card number 4000000000000077 to create payments that will bypass your pending balance and land in your available balance immediately.

wheat wing
#

is it available in canada?

#

adding balance

mighty hill
#

@wheat wing The test card is, but top-ups are not.

sage burrow
#

@mighty hill makes sense. So definitely what I did didn't solve my problem. I am gonna ask the original question that I asked last time. I am looking for the ids to copy them here

wheat wing
#

if I can't do the top-ups in Canada that means I can't use coupons

#

is there anyway you see that I could do this

mighty hill
#

@wheat wing Can you give me an example scenario with actual amounts? As I understand it you want to handle a scenario where you have a $15 price and a $5 coupon, so you create a $10 payment on your platform ($15 - $5) and then you want to transfer all $15 to your connected account. Is that correct?

wheat wing
#

correct

mighty hill
#

@wheat wing You can't transfer more than you have available, so no, that won't work.

wheat wing
#

so the platform cannot hold funds to cover future costs (coupons)

mighty hill
#

@wheat wing I recommend writing in to support to ask about your use case to see what we can do to support you: https://support.stripe.com/contact/email

wheat wing
#

Thank you

mighty hill
#

@wheat wing A platform can switch to manual payouts and hold funds, but it sounds like you would never have enough in there to cover the transfers you're talking about.

#

@wheat wing If you explain your use case to support hopefully they have a solution that will work for you in Canada.

sage burrow
#

@mighty hill this is the original subscription sub_JYtGMRNwoXfC6g where the problem occurred. They were charged for the original default plan and they shouldn't. Basically their trial expired, we locked them, then they entered their credit card info after choosing a different plan $115 a couple of days later stripe charged them for the original default plan $588

#

@mighty hill what do you think I should do to prevent this?

mighty hill
#

@sage burrow You should void the outstanding Invoice when they switch to the new plan.

#

@sage burrow Invoices created by Subscriptions will continue to attempt payment unless you explicitly tell them not to by voiding them, canceling the Subscription, etc.

sage burrow
#

@mighty hill That's what I did. Maybe I didn't do it correctly. I am relying on the latest_invoice field. Is there another way?

#

@mighty hill in other words how do i get all the outstanding invoices right after they change the plan?

mighty hill
#

@sage burrow You would need to look at the latest_invoice on the Subscription before making the change.

#

@sage burrow I have to run, but @sick talon should be able to help you if you have further questions! 🙂

sage burrow
#

@mighty hill sounds good. Thanks!

gleaming urchin
#

I'm trying to understand something... So we have a customer paying manually and their trial end August 21st... We set "Email invoice to the customer to pay manually" 30 days after invoice is sent. Does this mean the invoice will be sent on July 21st and the invoice is due August 21st?

safe comet
sick talon
gleaming urchin
#

@sick talon

sick talon
gleaming urchin
#

Ok, so it will be sent on August 1st, but the account won't go into past_due status until after 30 days. Correct @sick talon ?

sick talon
gleaming urchin
#

Thank you again @sick talon

nimble lichen
#

Steps to go live using CLI

#

??

sick talon
nimble lichen
#

why can't a use the CLI in live mode?

#

So, it traps all of my hooks and forwards to localhost

sick talon
nimble lichen
#

I'm on a webserver

#

My site's live

#

I use Express

#

but I'm listening on a specific port in my code

#

so, my site's port is 443

#

I listen on 8000

#

I have no webhooks in test mode

sick talon
#

OK, let's take a step back. You have the CLI tool listening for webhooks in test mode and forwarding them to a local webhook endpoint?

nimble lichen
#

--forward-to localhost:8000/hooks

#

my Express (node.js) code is listening on port 8000

#

yes, forwarding to local webhook endpoint

#

local = web server since cli is running on web server

sick talon
nimble lichen
#

ok, so how?

#

I'm running express that's listening and acting on the hooks that it receives

#

Express is the web server

sick talon
nimble lichen
sick talon
nimble lichen
#

ok, can you give me an example web hook url, and route to an endpoint. just make up anything

sick talon
viral tangle
#

@sick talon Good evening I was passing by there just to thank the support team because I set up a wonderful marketplace thanks to stripe API. Some hard work left but you helped me a lot Thank you very much every single one (You, Karllekko and the Owl ^^)

meager oasis
#

Stripe is amazing and I will not move from that stance ever

#

Unless they somehow commit some major human rights violation, in which case then that might be tarnished from “amazing” to “still pretty good”

dim hearth
# safe comet Only one that we know of at the moment. It could potentially be happening with o...

Sorry for the long wait - Unfortunately I don't really have a great answer. From my understanding of 3ds v2, providers are required to allow for framing but I don't know the specific of whether they're allowed to have an restrictions/dictate how their content is framed (which they're doing by specifying frame-ancestors 'self' https). There are two things I can suggest from here:

  • Contact Borica and ask whether it's intentional that they have all these restrictions on framing and whether they have any plans to change it
  • Handle this flow in a webview so that the content source is https
frank mountain
#

may I request to add confirmCardSetup() to the @stripe/stripe-react-native sdk? if possible, can we also make it possible to pass the metadata as well? the current JS api is https://stripe.com/docs/js/setup_intents/confirm_card_setup. instead of card: cardElement, we could just pass in our own card details from CardField

meager lintel
#

Hi all, I'm trying to integrate Stripe on my Woocommerce/Wordpress store. I need to access my API keys. All the support links tell me the keys are located on my dashboard. However, my dashboard only shows me me name, store name and payment card details.

slender relic
dim hearth
# frank mountain may I request to add `confirmCardSetup()` to the `@stripe/stripe-react-native` s...

Hello! With the react native SDK instead of confirmCardSetup you would use confirmSetupIntent. You can see an example of it being used here: https://stripe.com/docs/payments/save-and-reuse?platform=react-native#react-native-collect-card-details. I don't believe you can pass in metadata into that call, but you can update the setupintent server-side with that information.

dim hearth
slender relic
#

Quick question: can we have multiple defined Customer Portals, each with their own products so I can redirect the different types of users to their portal with their respective products? I can't seem to find any option to set the plans in the API, only to change settings. Thanks

frank mountain
nocturne canopy
#

Hi all! Had a quick question about the Firebase-Stripe extension, specifically about how to make the association between the customers UID in firestore and the customers ID from stripe

#

I've got 90% of the way there and have even been able to run the portal and checkout correctly, but when I go to make a subscription purchase it doesn't populate in my firestore db

meager lintel
#

This is my entire dashboard. When I click that link, it asks me to login. Then it sends me here.

dim hearth
# slender relic Quick question: can we have multiple defined Customer Portals, each with their o...

I haven't tried this myself (so I'm not 100% confident in it), but I believe you can create multiple portal configurations (https://stripe.com/docs/api/customer_portal/configurations/create) and when you create the portal session for your customer you would pass in whichever configuration you want (https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-configuration)

dim hearth
# meager lintel

It looks like you have an express (or maybe custom) account that is connected/controlled by a different Stripe account (which is why you can't see a full dashboard). Have you already integrated w/ woocommerce through a different plugin? I'm surprised they are asking you for your api key if you are already connected to them

slender relic
# dim hearth I haven't tried this myself (so I'm not 100% confident in it), but I believe you...

I've seen that, but in there I don't see where I can set the products/prices for each configuration. I have some type A users and type B. The type A can subscribe to prices X and Z and the type B can subscribe to J and K.
I can only seem to change products in the portal settings on the dashboard, and that stays the same for all users. Only via API it seems we can update/create more than the default.

meager lintel
dim hearth
# slender relic I've seen that, but in there I don't see where I can set the products/prices for...
dim hearth
slender relic
#

@dim hearth That seems to be it. As it read "update", it mislead me. But yeah, that should be it. Will run some tests with this. Many thanks for the help. You're awesome!

frank mountain
dim hearth
dim hearth
# frank mountain yes you're right i meant that one

Do you mind sharing a request ID or a payment method ID I can take a look at? Calling confirmSetupIntent should still trigger a payment_method.attached event as along as you created the setup intent already has customer specified

nocturne canopy
#

@dim hearth Awesome, thank you so much. I think I found something on github going into the specifics of the functions, so I'm going to explore that as well

dim hearth
frank mountain
nocturne canopy
#

Yup, what I am thinking is happening is that I inadvertently created two paths; I think the issue is I am calling stripe checkout through a js script that I made from the stripe documentation rather than calling it through the firebase functions; the error I see in the firebase functions log is "User not found!"

#

Interestingly enough the payments and everything went through on Stripes side

dim hearth
frank mountain
dim hearth
# nocturne canopy Yup, what I am thinking is happening is that I inadvertently created two paths; ...

That sounds like that's the problem - I assume that your customers are being created during the checkout process which is not calling out to firebase functions and as a result, you don't call the createCustomer cloud function (which is what populates the customer into your database). As a result, the subsequent calls to update the customer fail (because it was never added to the database in the first place)

nocturne canopy
#

@dim hearth I was thinking that as well. Luckily I have the function creating a customer everytime a new user signs up in my web app through firebase, I need to figure out how to call the createCheckoutSession and the createPortalLink functions through my web app to make that connection. Thank you so much!

minor cipherBOT
#

👋 Messages in this channel are unlikely to be seen by Stripe engineers on weekends. If you have urgent questions then you should reach out to Stripe support directly at https://support.stripe.com/contact

meager oasis
#

shoot, it really is friday isn't it

bright hamlet
#

Good night,i bought 30m runescape gold, normaly it would take a few minutes,waiting for over half a hour now,the live chat said i needed to contact you guys

sage burrow
#

I am having an issue with invoices. I void outstanding invoices before changing the plan but no new invoice is generated?

noble igloo
#

@floral zephyr

#

@meager hawk

stark tide
#

@bright hamlet you'd need to reach out to the site that sold you the gold, not stripe. ooc, which site was it?

bright hamlet
#

Its sorted out now, took some pretty Fing long time ,bit its good now

stark tide
#

which site, if you don't mind my asking?

#

@sage burrow: are you changing the plan with proration turned off?

bright hamlet
#

Np,i dont want them to have any probs because of me ,but they got me sweating thats for sure

slate elbow
#

when i create a checkout session and pass a customer, why is the email changeable? can i lock it?

burnt needle
#

Hey, so, I'm creating a checkout session with setup_future_usage: off_session, but for some reason I don't see the payment method attached to the customer after? Do I need to do that via a webhook or something?

burnt needle
#

Ok so it seems adding a card is different than what checkout sessions do, so basically, if I wanna reuse the cards from a checkout, I need to move all my backend stuff to use paymentintents instead of charges?

polar salmon
#

Does anyone knows if Stripe works in India as individual ? (Vs corporation)

stark tide
#

that should be fine, yeah

#

when you're filling out the account profile, there should be an option to set it up as an individual account

halcyon lynx
#

Hi, need to ask that what can be possible reasons if i am not getting entries of failed transactions in stripe dashboard?

stark tide
#

what sorts of errors are you getting when you create the transactions?

halcyon lynx
#

getting error from bank like do-not-serve

stark tide
#

what's the exact error message?

halcyon lynx
#

"failure_message": "Your card was declined.",
"seller_message": "The bank returned the decline code do_not_honor.",

stark tide
#

ok - that should definitely be creating failed payments in the dashboard

#

is it possible you have two stripe accounts, and you're logged into a different one?

halcyon lynx
#

@stark tide sorry, didn't got your question. do you means i am checking for entries in different account?

stark tide
#

that'd be my first guess, yeah

halcyon lynx
#

No, i am checking in the only account which i am supposed to check. there are many entries missing for failed transactions.

stark tide
#

do you have a request ID from one of the failed txns? it should look like req_***

halcyon lynx
#

yes, it is req_kWpOssllCH0fQ0

stark tide
#

that's got a different error

#

You cannot combine currencies on a single customer.

#

that's an invalid request error - it won't even try to run a charge

dreamy karma
#

Hi Team,
can you please help me please read my scenario

i am charging my client 400$ and want to transfer 350$ to my freelancer that is connected with stripe connect and 50$ is platform commission but during charge i want to give 100$ discount to my client so how it's possible i am using express account stripe

minor cipherBOT
#

👋 Messages in this channel are unlikely to be seen by Stripe engineers on weekends. If you have urgent questions then you should reach out to Stripe support directly at https://support.stripe.com/contact

hollow elbow
#

I am trying to figure out what causes the card box widget to execute

#

On the left is my integration

#

Could someone point out in the right hand code what calls the widget, that would help me a lot.

vocal wagon
#

Hello there, I've recently been trying to set up a Stripe checkout website, and it has been going great, until now. It all works locally, but when I try to set it up on a remote linux server via nginx, it just doesn't want to work. When it tries to access the /create-checkout-session it gives me a 404 error. It really feels like a simple fix, but I can't wrap my head around it. I know it can't find the files, but I have no idea how to fix that.

thorny tulip
#

Hi There I am facing a problem on our webiste when my customer from india ry to check usingGPay but evertime it comes with message saying the eslected paymetn mentod is not usable. please select and another any try again. anyone can able to let me know how i can restore this issue

minor cipherBOT
#

👋 Messages in this channel are unlikely to be seen by Stripe engineers on weekends. If you have urgent questions then you should reach out to Stripe support directly at https://support.stripe.com/contact

dense pebble
#

CORS related problem. Getting this error: Access to fetch at 'https://www..com/create-payment-intent.php' from origin 'https://.com' has been blocked by CORS policy:

polar salmon
ionic crystal
#

Olá.

regal orchid
#

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://checkout.stripe.com - Reason: CORS request did not succeed
and same but also with Reason: CORS header ‘Access-Control-Allow-Origin’ missing
frontend:

fetch(`/api/payments/stripe/session`, 
      { 
        method: 'POST', 
        body: JSON.stringify({id: id, amount: amount, name: name}),
        redirect: 'follow',
        headers: {
          'Access-Control-Allow-Origin': '*'
        },
        mode: 'cors'
      }
    ).then(res => {
      console.log(res)
    })
    .catch(err => {
      console.log(err)
    })```
backend:
```js
const session = await stripe.checkout.sessions.create({
            payment_method_types: ["card"],

            line_items: [
            {
                price_data: {
                currency: "usd",

                product_data: {
                    name: name,
                    images: ["https://i.imgur.com/EHyR2nP.png"],
                },

                unit_amount: amount * 100,
                },

                quantity: 1,
            },
            ],
            mode: "payment",

            success_url: `${base_url}/pay?success=true`,

            cancel_url: `${base_url}/pay?canceled=true`,
        });
        res.redirect(303, session.url);```
I'm not sure why. Can someone help?
stark tide
#

Access-Control-Allow-Origin is a response header - specifying it in the request shouldn't do anything

#

I'm confused - that fetch call is what's throwing the error?

dense pebble
#

.htaccess might have had something to do with it. Also I modified requests to ensure both were similar with www specified, i think one was non-www. I'm not sure exactly what was causing it but for now the problem seems to have gone away.

regal orchid
stark tide
#

@regal orchid the path you're fetching is relative. I'm not especially familiar with frontend, but something doesn't smell right to me. how are you getting a CORS error on a query to a relative resource?

regal orchid
#

because

#

in the backend, the stripe API returns a URL which I redirect to, and the redirect URL is different than the local URL so that's why I'm getting a CORS error. Does that make sense?

#

yeah it's not the fetch that's catching the error, just the browser itself is giving the CORS error

#

I think I'll just a response with the URL and redirect in the frontend, maybe that'll work

stark tide
#

ooooh hold on

#

redirecting in the frontend is the right way to do this, yeah

#

if you redirect in the backend, you're doing a redirect on an ajax request, not a page load from the browser

#

the ajax client is trying to follow the redirect which a) is a CORS violation b) even if it could fetch the checkout URL, that would just return the checkout page body to the fetch call, not redirect the user

#

sorry, I didn't fully internalize what the backend was trying to do there

regal orchid
#

Alright great, and no worries thanks for the help!

stark tide
#

np!

icy sonnet
#

hi all, having some trouble setting up woocommerce payments. gone through all the setps and just get this in the overview.

#

and account details - rejected

#

no idea why, have entered all company details etc

cerulean pineBOT
#

:question: Tamadotchi 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

icy sonnet
#

ok great but when i click learn more it just says this

#

nm i wait for support to contact back

#

sorry to bother you lot

stark tide
#

np

ebon raptor
#

I have a cancellation button in C# WPF, and when it is clicked it cancels the subscription. Is there an option not auto-renew the subscription, basically the user will keep the subscription until it runs out.

EDIT: I just found a variable in the JSON. Perhaps cancel_at_period_end can be used? If i just set that to true?

burnt needle
#

When using the new PaymentMethods instead of storing on customers, how do you choose the payment method a subscription should use?

mighty hill
mighty hill
# burnt needle When using the new PaymentMethods instead of storing on customers, how do you ch...
burnt needle
#

@mighty hill but when i tried to use the paymentmethods list and set default with an id from the results, it didn't work

#

hmmm

mighty hill
#

@burnt needle Did you get an error message?

burnt needle
#

lemme look

#

i'm not seeing any error

#

it just looks like it didn't do it

#

@mighty hill yeah i'm getting no such source

#

but its in the list

mighty hill
burnt needle
#

req_2fOciwKgRHGkol

#

the pm_ shows as the only method on that customer

#

so it definitely exists

mighty hill
#

@burnt needle You can't set a Payment Method as a default_source.

burnt needle
#

that's what i was asking

#

in the firstp lace

mighty hill
#

@burnt needle default_source is an older property that only works with our older Tokens/Cards/Sources APIs. The alternatives to that are different properties that I linked above.

burnt needle
#

which is kinda annoying

#

the whole default source thing was great

#

now i have to have sales people select a card when making a charge because a payment intent requires it?

mighty hill
#

@burnt needle Did you look at the two links I sent you?

burnt needle
#

just an extra step for non technical people

#

yes

#

that that makes it easy for the invoices generated by subscriptions

#

which helps for 1 of my companeis

#

but the other company is manual charges

#

which will require a salesperson to select a card each time?

mighty hill
#

@burnt needle Okay, so set the invoice_settings.default_payment_method and write some code to use that by default for Payment Intents.

burnt needle
#

so add an extra api call before a charge?

#

just seems dumb

#

anyway

#

so

#

with invoice_settings.default_payment_method

#

can an old style card be added to that?

mighty hill
#

Yes, that should work fine if you're talking about a card_ object.

burnt needle
#

so both pm_ and card_ can be added fine?

mighty hill
#

Generally speaking card_ can be used as if it was a Payment Method, yeah.

burnt needle
#

and that will override the default_source property?

mighty hill
#

What do you mean by override? default_source is an entirely separate property with a different purpose and functionality.

burnt needle
#

well default_source applies to invoices and charges

#

so if default_source is set

#

and invoice_settings.default_payment_method is set to something different

#

which gets used

#

for a subscription invoice

mighty hill
#

The invoice_settings.default_payment_method should be used for a Subscription if both it and default_source are set on a Customer and no default_payment_method is set on the Subscription itself.

burnt needle
#

ok so that's where i'm confused

#

i'm not going to set it on the subscription

#

i want to set invoice_settings.default_payment_method on the customer

#

which currently has a default_source set

#

both apply to an invoice being collected on

#

so which gets used

mighty hill
#

I just answered that question above. Was my answer unclear?

burnt needle
#

very

mighty hill
#

What part was unclear?

burnt needle
#

lemme re read

#

ok

#

so the new one will override default_source

#

got it

#

i don't have to change anything with subscriptions right?

mighty hill
#

I don't understand your question. Change from what? I don't have context.

burnt needle
#

like

#

existing subscriptions

mighty hill
#

Existing Subscriptions will continue to work as they always have unless you change them, or something external impacts them (like a recurring payment being declined).

burnt needle
#

ok

mighty hill
#

@burnt needle I have to get going in a minute, any other questions before I leave?

tranquil nacelle
#

How can I create a test Standard account with payments enabled to test the final stages of my on-boarding experience? It seems that creating new accounts in the dashboard is very quick but leaves the accounts in a restricted state. Creating with my test key through the app only allows me to prefill the banking data form with test data, the rest requires real live phone numbers and social security numbers, etc

burnt needle
#

@mighty hill i don't believe so, seems like i'm good to go, thanks

#

actually yes

#

if i add metadata to a payment_intent

#

what's the best way of adding that metadata to the charge itself

mighty hill
#

@tranquil nacelle I'm on my way out, but hang on...

#

@burnt needle You would need to set it in your own code. There's no way to tell Stripe to copy it from one to the other.

burnt needle
#

so a webhook?

mighty hill
#

@burnt needle Yep, you could trigger your code using a webhook.

burnt needle
#

or i guess i can just expand the intent on the charge list?

mighty hill
#

@burnt needle That could work too, yeah, depending on what you're using the metadata for.

burnt needle
#

just to track who charged the deal

#

kk i should be good

#

thanks again

tranquil nacelle
#

👍

regal orchid
#

Hey question, so after the user pays and gets redirected to a success page. Where does the payload go? Shouldn't it be in the request body?

burnt needle
#

when you make the checkout session, you can add ?session_id={CHECKOUT_SESSION_ID} to the end of your url

regal orchid
#

ah, and then verify if it was paid with the stripejs API correct?

mighty hill
#

@tranquil nacelle Sorry, I need to go, and I wasn't able to find an answer for you. I recommend you reach out to support for help or return here on a weekday. You can contact support here: https://support.stripe.com/contact

burnt needle
#

that's what i'm doing

#

grabbing that id, then checking for payment_status = paid

#

not 100% sure that's the best way, but it's working for me

regal orchid
burnt needle
#

looks like a webhook for checkout.session.completed

regal orchid
#

yeah they're getting it from request.body but my request.body is empty x))

burnt needle
#

what language?

regal orchid
#

node

burnt needle
#

ah ok, i'm not sure, i use php for my webhook handlers so i don't wanna give you wrong info

regal orchid
#

np

#

I'll just do like you, seems like the only option atm

burnt needle
#

the checkout.session.completed webhook is really just for your backend records

tranquil nacelle
burnt needle
#

to have the front end know it was successful its fine just to verify the session_id

#

i do have a webhook for the checkout.session.completed too though

#

but that's just to notify our discord server and update a tag on our crm

regal orchid
#

I'm actually passing it to the backend

burnt needle
#

yeah so you wanna do the webhook way then

#

maybe someone that uses node for a webhook listener can help you

regal orchid
#

I think I'll use the retrievePaymentIntent method

#

I'll see if that will work

tranquil nacelle
regal orchid
#

yeah but I don't think I need a webhook, I'll just use this way success_url: `${base_url}/api/payments/stripe/capture?success=true&session_id={CHECKOUT_SESSION_ID} and verify and process everything from there

burnt needle
#

ah ok, yeah idk about node

tranquil nacelle
#

The reason webhooks are used is because the payment may not have completed by the time your user is redirected to your success url. You'll have to implement the webhooks for other things anyway (refunds, etc) so that's the recommended place to handle it with the checkout.session.completed event

minor cipherBOT
#

👋 Messages in this channel are unlikely to be seen by Stripe engineers on weekends. If you have urgent questions then you should reach out to Stripe support directly at https://support.stripe.com/contact

regal orchid
tranquil nacelle
#

You’ll need to create a new post endpoint in your api and set that url as your webhook url in your stripe webhook settings in your store dashboard. Then when events hit that endpoint you’ll see the payload populated.

#

You can use the stripe cli to send test events to the endpoint while you’re developing it

regal orchid
#

Ooooh. Now I understand

#

Thank you very much, I'll look into it tomorrow

worldly python
#

Hi there! I'm currently building a platform with React Native and would like to know the best way to let my users create Connect accounts and onboard to my Stripe? Is it possible to do it within the React Native framework (such as using stripe-react-native)?

#

Thanks in advance!

minor cipherBOT
#

👋 Messages in this channel are unlikely to be seen by Stripe engineers on weekends. If you have urgent questions then you should reach out to Stripe support directly at https://support.stripe.com/contact

vocal wagon
#

Can I speak on the phone with an Italian operator? Thanks so much

jaunty scaffold
#

Hello everyone,
is there any way to change CardInputWidget into custom UI for android/ios🍉

fickle stirrup
#

Hi there,
anyone knows why I have this issue ?

#

I'm using react native 0.64 and without expo..
thanks a lot for any help

#

it comes with this one :

ebon raptor
vocal wagon
#

Hello, I'm using webhooks to listen for subscription payments. Based on the period.end value I prolong the subscription. It worked for initial payments, but all dates in the last payment object were dated 1970. I don't know what's causing this. Thanks for the help

main burrow
#

Anyone have any info on Onlybands? They are a discord group with a Stripe account. Turns out to be scamming people and had Stripe account shut down.

minor cipherBOT
#

👋 Messages in this channel are unlikely to be seen by Stripe engineers on weekends. If you have urgent questions then you should reach out to Stripe support directly at https://support.stripe.com/contact

dreamy karma
#

@dense pebble i need help about tax and discount

night kite
#

Hallo, we have trouble with the new official flutter_stripe plugin: https://github.com/flutter-stripe/flutter_stripe

specifically saving a credit card on iOS with .confirmSetupIntent() will return an error, or an empty object.
I see that in the official stripe doc the confirmSetupIntent() is deprecated, but the plugin is out since a couple of months...

can you help me here?

GitHub

Flutter SDK for Stripe. Contribute to flutter-stripe/flutter_stripe development by creating an account on GitHub.

halcyon sequoia
#

Hello thank you for the add, I want / need to change my phone number

stark tide
#

@night kite what error are you getting?

#

@halcyon sequoia for two factor authentication?

halcyon sequoia
#

I can not get the f2a code as I changed my number

stark tide
#

do you have the recovery code from when you set up 2fa?

halcyon sequoia
#

No I’m sorry I do not

stark tide
halcyon sequoia
#

Thank you

stark tide
#

np

dense pebble
#

@dreamy karma I don't know anything about tax or discount. Sorry

wooden cradle
#

Hi there. I am not a marketplace, but my clients give me their Secret keys and I create webhooks for them. Then my app is listening for those events. The matter is that I can't differenciate events by account_id. Have no idea how to do that. Please, help

#

Stripe Connect shouldn't be my use case

stark tide
#

tbc, you can still use connect even if you're not a marketplace - it can be used as a generic way for accounts to delegate access to you

#

it'd definitely be a lot cleaner for the case of receiving webhooks you're describing

#

@wooden cradle if you don't want to use connect, though, you'd need to give each of the webhook endpoints a separate route (eg: /webhook_receiver/acct_123), or add a different URL param to each of them (eg: ?account=acct_123)

#

there are some other disadvantages of doing it this way, though

#

the webhook you get will be rendered according to the API version of your client's stripe account, not your account, so you have to handle any of the API versions your clients are using. this makes the code more brittle (eg: if a client upgrades their API version without telling you, it could break the webhook endpoint)

#

also, depending on your threat model, you can't rely on webhook signatures for verification of the events

#

the client also knows the webhook route and webhook secret (since it belongs to a webhook endpoint in their account), so they could send forged events to you

#

you'd need to fetch the event from stripe before processing to verify that it's a real event on their account

night kite
stark tide
#

that beats me :/

#

I don't really know much about flutter; you might have better luck emailing support, or trying on a weekday when there are more people in discord

night kite
#

ok :S thanks anyways. This flutter plugin seems limited and unstable...

night kite
wooden cradle
wooden cradle
#

This approach disappoints me, because I need to rebuild what I've already done. And it seems to be not that smart, because why do I don't have an option to retrieve account_id from webhook event? I can get customer_id, subscription_id. What is wrong with account_id? I just can't understand, I really got stuck

zinc radish
#

Hello I m new to all of this and I could really use some help lol

stark tide
#

you can connect your platform to pre-existing accounts using oauth

#

the reason you don't get the account ID as part of the webhook event when not using connect is that the webhook is only for a single account

#

it's assumed that you already know which account you're getting events for

#

you can build something like an extension where your clients give you their secret key, but it's discouraged (people shouldn't be giving their secret key to anybody else), so the product isn't designed to support this

#

building it this way is going to be challenging

#

@zinc radish shoot

zinc radish
#

I’m wanting to connect my stride account to a mobile app I’m creating please help 😩

stark tide
#

what are you stuck on?

wooden cradle
stark tide
#

I mentioned some of the reasons above; webhooks are probably the least well supported bit

#

also the onboarding flow is a bit of a drag

#

you have to get the user to navigate to the right part of the stripe dashboard, and mint you an API key

wooden cradle
#

do they need to give me another API key once I set up Connect?

#

Right not the give me secret from "API keys" sectio

stark tide
#

connecting their account to yours allows your key to access their account

#

they don't need to give you their own key

wooden cradle
#

I know that onboarding is not simple, I plan to connect their Stripe account via my app using Stripe Sign In

stark tide
#

wdym stripe sign in?

wooden cradle
stark tide
#

(I mean they wouldn't need to give you an api key if you were using oauth)

wooden cradle
stark tide
#

ie: connect?

meager oasis
#

That's literally what connect is

wooden cradle
#

I don't want to use complex solution, want the easiest one

#

I've already implemented functionality where they have input to write Secret and button "Connect Stripe" then I make POST request to create webhook in their Stripe account

#

but as I realized today I can't differentiate webhook events by account ID

stark tide
#

my recommendation for the simplest solution is to set up your app as an extension

wooden cradle
#

Do I need to pay more with Stripe Connect?

stark tide
#

if you don't want to do that, my next suggestion would be the workaround I suggested above where you create webhook endpoints which embed the account ID somehow

#

no, creating an extension doesn't cost anything

wooden cradle
#

I can't afford dynamically creating endpoints

stark tide
#

wdym can't afford?

wooden cradle
#

I don't code

#

I use no-code platform to build my MVP

#

they have webhooks feature

#

endpoints

stark tide
#

ok, that complicates things for sure

#

what exactly can you do with the endpoint? you must be able to take some action from the HTTP POST body (ie: event itself), otherwise the whole thing would be useless

#

can you extract info out of the URL params?

#

if so, you could add a ?account_id=acct_123 when you create the webhook endpoint

wooden cradle
#
  1. I can't dynamically set parameters to endpoint URL 2) Even if I would have been able to do that, I can't initialize it automatically
stark tide
#

if that's impossible, then I think you're at a dead end

#

:/

wooden cradle
#

but what about connect?

stark tide
#

in principle, it should work? but I'm struggling a bit here to give you suggestions, because I don't have a good mental model for what's possible or impossible to do with the no-code platform you're using

wooden cradle
#

It's just very strange you don't share account ID within event. It seems to be not that complex and it solves use case

#

The only limitation of No-code platform is that I can't dynamically create endpoints

#

and can't dynamically initialize them

#

actually I don't need it. I can get events from any Stripe account

#

just can't differenciate those events from different accounts

stark tide
#

when you say you can't dynamically create endpoints, do you mean the WebhookEndpoint object within stripe, or the route on the no-code platform that events are delivered to?

wooden cradle
#

2nd

mossy cape
#

is it possible to trigger a test payout?

wooden cradle
#

Do I need to dynamically create several endpoints per each accountID if I use Connect?

stark tide
#

@wooden cradle then I don't get why the ?account_id=acct_123 suggestion doesn't work. you'd have a single route that has an account_id URL parameter

#

you need to plumb a different account ID into the URL you pass to stripe when you're creating the endpoint, but you're saying that that's possible, right?

wooden cradle
#

I can sent to Stripe different URLs, but as far as I remember I can't initialize single route that has dynamical parameters, let me check one more time

stark tide
#

@mossy cape an automatic payout, or a manual payout? for an automatic payout, you'd need to create a payment (probably using the pm_card_bypassPending card so you don't have to wait while the payment is pending), then wait for stripe to create an automatic payout (once per day). for a manual payout, you can just trigger a payout as normal once you have a test balance in your account

wooden cradle
#

@stark tide I think you pushed me to rethink my approach setting up my endpoint in no-code platform. I have an idea now that maybe can work for ?account_id . How can I know what value to write in this parameter?

stark tide
#

do you have some sort of identifier for the client?

#

you could fetch their stripe account ID with a slightly silly trick (querying /v1/account with their secret key), but you'll never need it when interacting with stripe

#

because you're using the client's own secret key, stripe thinks that you're the client querying the API for their own account

#

the account ID is only useful if you have >1 account, and stripe won't think that you do

#

which is the crux of your initial problem with the webhook endpoint

wooden cradle
meager oasis
#

If you’re looking for no code with connect, you can create unique 1 time use connect on-boarding links from the dashboard?

#

That’ll give you an account ID to work with for that account

stark tide
#

@wooden cradle what I'm saying is that you need some identifier to put in the webhook URL

wooden cradle
#

I understand

stark tide
#

when you create the webhook endpoint in stripe, you'd pass url=https://yoursite.com/samplepathhere?account_id=<the identifier>

wooden cradle
#

like any random value that I generate on my side?

stark tide
#

it doesn't really matter what the identifier is

#

you could use the account's stripe account ID if you wanted to, but it could be anything

#

it just has to uniquely identify that user

meager oasis
#

Potentially even just use that accounts associated email?

wooden cradle
#

I think it would work, the only problem is my lack of knowledge of how to do that

meager oasis
#

That should be unique as is

wooden cradle
#

I would pass account ID, it's not a problem

#

the problem is to set up endpoint

#

give me 20 minutes and I would come back with the results

stark tide
#

👍

mossy cape
#

@stark tide yes automatic. is there no way to bypass the waiting? i’ve been waiting since last week to test my payouts 😅

stark tide
#

no, unfortunately not

wooden cradle
#

@stark tide why do event doesn't return its webhook URL in response JSON?

stark tide
#

@mossy cape it should only be a <24h wait if you're using the pm_card_bypassPending card, though

#

@wooden cradle because the event is being posted to that URL

#

including the URL in the POST body is duplicative

wooden cradle
stark tide
#

like, can you get the value of the account_id parameter from the URL?

#

you presumably already know the rest of it, because you set that route up

mossy cape
#

@stark tide it’s for acss_debit

meager oasis
mossy cape
#

@meager oasis yep only with test payments

stark tide
#

@mossy cape I don't think there's a way to accelerate those, though the payout should behave the same no matter what the payment method was

#

@meager oasis wait, is there a way to trigger automatic payouts in test mode?

meager oasis
mossy cape
#

@meager oasis still waiting for it to occur in test mode 🙂

meager oasis
#

I’m not in front of my dashboard but give me 10 minutes to check

wooden cradle
meager oasis
#

I recall doing it in the past

stark tide
#

@wooden cradle that's really a question about the no-code framework you're using

wooden cradle
#

why?

stark tide
#

my understanding of the question you're asking is;
after stripe delivers a webhook event to the endpoint you've set up, you want to inspect the value of the account_id URL parameter that you told stripe to use when you created the WebhookEndpoint earlier.

#

in principle, this is "just an http request" - you should be able to inspect the URL params of the request. I don't know whether or not the framework you're using supports that

#

if you were writing this in PHP or whatever, it'd be $_GET['account_id'] - I don't know what the equivalent in your framework is

wooden cradle
stark tide
#

does the framework offer some way to get the URL?

#

the framework internally must have the URL and the URL params; it's just a question of whether there's some way to get at them

wooden cradle
#

it just sounds strange. this use case

stark tide
#

I don't disagree

meager oasis
#

I would go as far as agreeing

meager oasis
mossy cape
#

@meager oasis yes

meager oasis
#

If you use these specific IBAN numbers in test mode, it’ll work

#

By specifying the country code, you can test payouts for each specific country

mossy cape
#

but i still have to wait right?

meager oasis
#

It should trigger instantly if you use

#

US89370400440532013000 in the us

#

Replace “US” with the relevant country code if need be

wooden cradle
mossy cape
#

i’ll try it out but i’m doubting as it doesn’t say instantly

wooden cradle
#

Now I need to do the same for Paypal

mossy cape
#

just that it will succeed

meager oasis
#

That IBAN should trigger a successful payout API response

stark tide
#

@meager oasis but there's still no way afaik to trigger an automatic payout in test mode

#

you have to wait for the daily payout run (as you would in livemode)

mossy cape
#

wouldn’t it be the same for canada’s bank numbers? (i’m doing acss debit

meager oasis
#

Ayyy fellow Canadian

#

It should

stark tide
#

yeah

#

the payment method shouldn't make a difference here

meager oasis
#

But you can use the Canadian account number routing number:11000-000 acct:000123456789 if you want to test using Canadian account numbers

wooden cradle
#

is it a good idea to specify secret in webhook URL?

mossy cape
#

@meager oasis yeah i’ve been using those numbers and i have to wait

#

not canadian sorry just setting up direct debit 😂

meager oasis
#

This is a bad idea

wooden cradle
#

how to retrieve customer if it's data.object.customer?

#

How can I then retrieve Customer Name without Secret?

meager oasis
#

It’s just as secure as me saying “my secret key is ‘sk_jwi73beoBG7395bdne993jeo’ “In this server

smoky ledge
#

Is it though? Kidding

stark tide
#

@wooden cradle I probably wouldn't recommend it. 1) the webhook endpoint isn't meant to be secret, so the value isn't redacted in the client's dashboard 2) you probably would want to use an identifier which doesn't change if the client rolls their keys

mossy cape
#

so we can’t bypass the wait? 🥲

meager oasis
#

ig not sorry :/

mossy cape
#

that’s okay 💜

mossy cape
#

another question to do with acss_debit: when configuring if the mandate transaction_type is business or personal, what are the main differences between these two? is this property super important? with my application this can change frequently between payees

#

i guess it should be correct for a legitimate mandate?

meager oasis
#

I would, yeah

mossy cape
#

🥲 not sure how i’m gonna determine it atm lol fml

meager oasis
#

Give me an example transaction

mossy cape
#

say a tenant paying a property manager their rent invoice. what if this tenant is a business or just an individual

meager oasis
#

A tenant paying rent is a business transaction

#

A personal transaction would be like "I'm paying my friend back for the beers he bought me at the bar last night" or "My friend loaned me $30 for groceries and i'm paying him back"

#

those are personal transactions

mossy cape
#

okay so that makes any transactions to do with that tenancy business, right?

meager oasis
#

Yes, the tenant is making a payment in relation to a service offered by a business

mossy cape
#

perfect makes total sense

meager oasis
#

Property rental is still, at it's core, a service offered by a business

mossy cape
#

true thanks ☺️

livid blade
#

Can I Trigger a Event for webhook in test mode?

#

I tried but didn't get any trigger I'm not sure where I'm wrong

bleak breach
livid blade
#

I meant if the required "task" is finished

#

not triggered manually

bleak breach
#

Yes, webhooks will trigger in test mode too

zinc radish
#

Sorry for the late response

bleak breach
#

@zinc radish Can you be more specific? What part do you need help with?

drowsy raptor
#

Hello all, is it possible to change the refund description?

#

The refund object doesn't have any value that will change this description.

meager oasis
#

I don't think this is customizable, unless yuo send the receipt yourself

livid blade
#

does the system search for the ID or does it assign?

gritty spindle
#

HI, I have a question. Stripe comes up with recurring payment, so is there any option that we can delay payment for specific time frame, i.e 7 days before making the payment and let it recurring onward?

bleak breach
livid blade
#

ty ^^

bleak breach
gritty spindle
bleak breach
gritty spindle
tawny flower
#

Can anyone tell me if allow_promotions_codes is supported in redirectToCheckout?

#

in loadStripe from stripe-js?

livid blade
#

I can't use the webhook events properly, The event that should be triggered is checkout.session.async_payment_succeeded
The Endpoint Type is Connect (I also t tried on account)

I actually want get a webhook to verify the payment and give the download link to the customer but the webhook never trigger, what can be wrong?

lethal meteor
#

Hello ,Admin ,our customers' credit card information can not be updated in the stripe systems, after they have made the payment through other browers. it is a big problem as we need to do the monthly payment on them.

bleak breach
bleak breach
#

@lethal meteor Are you getting an error?

livid blade
tawny flower
lethal meteor
lucid raft
#

@lethal meteor do you mind copy/paste the payment id pi_xxxx here and I can check?
While you are doing that, can you explain a bit how you save the credit card as you mentioned can't save the credit card record. Just to be clear, payment and saving credit card are totally two different things

compact sinew
lucid raft
#

@lethal meteor the issue here is that you are creating subscription with collection_method: send_invoice which will NOT automatically charge the customer's saved card (see your dashboard request https://dashboard.stripe.com/logs/req_6BNoDw6vnkb0py). If you want to immediately charge the customer, you should use collection_method:charge_automatically. If you means that your customer did not see their saved card, then no, when an invoice is sent to the customer, they will not see their existing saved card, it is just not supported for invoice sent to the user.

left valley
#

Hii, i am using paymentSheet in react native for payment, the issue I am facing is when the payment sheet opens in app US as a default country is coming in COUNTRY OR REGION section with another country name,soo I want to set default Australia as a default country or region in paymentSheet

lucid raft
left valley
#

soo can i hide the country or region section from paymentSheet ?

lethal meteor
left valley
#

Soo the point is, Currently We are working on Australia only, soo there is not meant to show all country list on paymentSheet, help me with any alternative if you have or can we hide the country or region section?

lethal meteor
#

but why it can be saved before under same situation?

bleak breach
#

@lethal meteor What exactly is the problem that you're facing?

bleak breach
lethal meteor
fickle stirrup
fickle stirrup
#

I dont use Expo 😩

bleak breach
fickle stirrup
#

I try to upgrade to react native 0.64.2 and come back to you

true mural
#

how to get external Account(bank account / card) of platform account ?

compact sinew
lucid raft
vocal wagon
#

i have some problem with my stripe

lucid raft
#

@vocal wagon hi, can you share more?

fickle stirrup
vocal wagon
teal cobalt
#

Hello. I got a question regarding 3DS. If auth fails payment fails, correct?
So what if the customer doesn't authenticate. Should I be setting a time out period? How long (max) will my code have to wait for a response?

lucid raft
#

@vocal wagon where do you see the message? do you have a payment ID?

lucid raft
#

@teal cobalt If the authentication fail, the PI will be back to require_payment_method status without processing any payment so that you can ask your customer to try again.
There is no really timeout for how long your customer to complete the authentication.
Regarding setting timeout, it is really not necessary if you follow the standard integration path https://stripe.com/docs/payments/accept-a-payment?platform=web&ui=elements

teal cobalt
#

It says PaymentIntent status: requires_action

#

But it already failed. Will the status change if I ask the customer to authenticate? @lucid raft

compact sinew
crimson needle
#

@compact sinew you need to pass the API version 2020-08-27 as indicated in the code

#

@teal cobalt Do you have an example PaymentIntent id (pi_123)?

vocal wagon
#

Hi, anyone familiar with Homebrew ? I've got some difficulties for installation. I receive this message : fatal: '...' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

teal cobalt
crimson needle
#

@vocal wagon what are you trying to install? And do you have the full error message?

#

@teal cobalt that PaymentIntent has status: "requires_payment_method" now

vocal wagon
#

what I sent is the full message

crimson needle
#

What operating system are you on? Does brew usually work for you?

vocal wagon
#

here's the message

#

Iterm on Mac OS

#

It's the first time I'm trying to use this

#

brew*

crimson needle
#

oh wow ... wasn't you "redacting it" lol never seen this. Let me google

vocal wagon
#

Hi, My name is Edina Gyocsi, I'm from Hungary. I have a question! I'm new on stripe. Will I get a contract?

vocal wagon
bleak breach
crimson needle
#

@vocal wagon no contract no, you just sign up with Stripe

#

@vocal wagon what does brew -v return?

vocal wagon
crimson needle
#

ah so you just don't have brew installed at all?

vocal wagon
#

Correct, I'm struggling in installing it ^^'

crimson needle
#

might be a lot easier to at least start. I can't really explain how to install brew beyond following the docs on https://brew.sh/ otherwise

vocal wagon
#

Okay, I'll check this out thank you

crimson needle
#

sure thing! Sorry, brew is super useful as a tool when it works, but I'm not great at installing those third-party tools. And they came pre-installed with my laptop since I work at Stripe 😅

vocal wagon
#

hello we have installed and tested succesfully the test environment on Stripe's vpos

#

what are the next steps to switching to live?

crimson needle
#

@vocal wagon usually you would change your code to use your live API keys and make sure that you configured all products you use in Live mode too. That depends a lot on your integration and what you use

vocal wagon
#

where can I find the live api keys

#

in the dashboard I saw api keys but I am not sure if they aren't just for the test environment

crimson needle
#

There's a Live/Test mode switch on the left bar. And it changes the view. Live keys are sk_live_1111 and pk_live_1111 and Test keys are sk_test_111 and pk_test_1111

vocal wagon
#

thanks a lot @crimson needle

crimson needle
#

sure!

noble sonnet
crimson needle
#

@noble sonnet you would control this entirely yourself, it's your payment form. We don't have a pre-built checkbox for this

noble sonnet
#

Ok got it and lets say I already create a checkbox and have the value of it, how do I tell Stripe to save this card for later use?

#

Is there a flag with stripe.confirmCardPayment that I need to pass?

oak haven
#

Hey guys, is there any way to resend all the failed webhooks in test mode?

#

I have like 350 failed webhooks which I want to resend

crimson needle
oak haven
#

isn't there any way to resend all of them ?

#

or maybe in a batch, like send 20 of them first then next 20 and so on

vocal wagon
#

Hi, can't find a reference in the documentation about this report type: tax_product.transactions.summarized.1

#

I need to know the available columns

#

thank you

crimson needle
loud wren
#

hello

#

Why can't I use USD for settlement when I register?

#

😩

#

Why can't I use US dollars to collect money when I register?

#

wooden cradle
#

Is there a way to create webhook in Stripe, which would have URL that includes DYNAMICAL parameter

#

?

crimson needle
#

@wooden cradle I'm not sure what you call a "dynamical parameter" but yes you control the URL for the endpoint yourself, either in the Dashboard or via the API

wooden cradle
#

now I also need to include in the link Customer ID of the event. Because I can't retrieve it from nested JSON

#

on my side

crimson needle
#

yeah that is impossible. The customer id would change based on the event being sent, so that'll never work

wooden cradle
#

🥲

cobalt moss
#

Hi, is it possible at all to link stripe to kobas?

crimson needle
wooden cradle
#

🥲 🥲 🥲

vocal wagon
# crimson needle <@!400268646112428032> you could use the Stripe CLI to re-send event one by one ...

Hi, I have some difficulties to integrate a payment method on Stripe. I'm traying to integrate OXXO which is a mexican voucher. I am following the stripe guide but I get this message : "error": {
"message": "The payment method type provided: oxxo is invalid. This payment method is available to Stripe accounts in MX and your Stripe account is in CH.",
"param": "payment_method_types",
"type": "invalid_request_error"
}

crimson needle
#

@wooden cradle that's kind of by design, it wouldn't make sense to put URL params when we already send you the entire raw JSON payload of the event

#

@vocal wagon the error message explains the issue here

wooden cradle
#

how can I store Stripe Secret API keys in my database? It sounds unsecure

crimson needle
#

@wooden cradle if you think it's not secure then a better solution is to use environment variables

vocal wagon
crimson needle
#

@vocal wagon you need to open a Stripe account based in Mexico instead and test on that Stripe account

#

@wooden cradle what do you mean by how? It depends a lot on your own server's configuration and the language you use. I'd recommend googling how to handle environment variables in your stack

wooden cradle
#

what are environment variables? Stripe feature like subscriptions?

loud wren
#

How can I add a US dollar payment method? My area is allowed to charge USD.

quasi flicker
#

Hi everyone! I have 5% of my payment which fail because the 3Ds confirmation never opened.. i have this error ' "dict" object has no attribute "client_secret" '

crimson needle
#

@wooden cradle no this has nothing to do with Stripe. Environment variables are something related to computers/servers and how to set up information. Not really sure how to explain this, if you've never heard of this before I'd just ignore and put the keys in your database

vocal wagon
#

Hi!

I bought ransom beatz an instrumental July 7th (Labaja)

https://www.beatstars.com/beat/labaja-4468302

The payment has been accepted but I still haven't receive the receipt and the instrumental in my orders. Please give me a feedback about this problem.

loud wren
#

The usd collection button on my registration page cannot be selected.

quasi flicker
#

i don't understand i have tested which several and usally it's work but not every time..

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

crimson needle
#

@loud wren you can charge in USD on most Stripe accounts/countries. This is unrelated to "adding a payment method", so I'm not sure what your question means

#

@quasi flicker it's hard to say without more details about your code. You need to add logs/before after that line to understand what the object you're using looks like

#

(also would be great to switch names without a curse word if possible)

river portal
#

guys how much time does a payment intent take,
i'm doing some testing and initiated a payment intent against a test users but and api response id 200 but balance is still showing 0

loud wren
#

I am in the HK area, why can't I choose the USD withdrawal method?

jaunty scaffold
#

how to set checkout price on android/ios/web , template checkout with default age does not know where

crimson needle
#

@river portal 1/ You need to confirm the payment intent and make it succeed, have you done that? 2/ even with that, funds are pending for 2+ days in the US

#

@jaunty scaffold not sure what you call "default age". But you set the price/amount server-side. Depends a bit on your integration and which Stripe product(s) you use

jaunty scaffold
#

ok, after the user shopping is done, how to set the total to stripe payment

crimson needle
wooden cradle
#

is it secure to store API key in my database if I just encrypt it with aes-256-gcm encryption

#

?

crimson needle
#

@wooden cradle it's hard to say, I'm sorry. You don't seem familiar with environment variables and a lot of it depends on how familiar you are with code, server maintenance and security
But overall yes it's fine to keep the keys in the database as long as your database is secure

wooden cradle
#

can I use Oauth2 to work with Stripe API, generate temporary access tokens?

crimson needle
#

@wooden cradle no

burnt violet
#

Just trying to get my head around how to handle a member subscription that has a one-off fee, a monthly recurring meeting subscription and a annual recurring subscription. Is it feasible to process this in one transaction/payment initially? Or how would one approach it?

crimson needle
#

@burnt violet So you can add a one-off fee to the first invoice using https://stripe.com/docs/api/subscriptions/create#create_subscription-add_invoice_items so that part is easy
For the second question, it's not directly possible unfortunately as you can't mix billing cycles in one subscription so you can't have a yearly and a monthly plan together.
The best solution is to have 2 separate subscriptions one for the monthly fee and one for the yearly fee. But once a year you'd get to 2invoices and 2 payments when they both renew together

river portal
#

why payment method is so necessary for payment intents i'm using apple pay and google pay nut there is no option for both of them??

crimson needle
#

@river portal Apple Pay and Google Pay work perfectly with PaymentIntents

#

they are just relying on the card PaymentMethod

hollow nebula
#

Hello, we are using Stripe NodeJS SDK, we retrieve a subscription using stripe.subscriptions.retrieve . The response we get is of type Stripe.Subscription. Now when we try to get subscription.default_payment_method , the type of that is string or Stripe.PaymentMethod. How can we know which type we will get? How can we handle each case?

#

In which scenario will we get a string and in which scenario will we get Stripe.PaymentMethod?

crimson needle
#

@hollow nebula by default it's a string. It's only if you expand it (https://stripe.com/docs/expand) that you'll get the full object, in which case your code is asking for it explicitly so you know it would happen

hollow nebula
#

Great, thanks for the quick response 🍻

burnt violet
hollow nebula
#

@crimson needle Can we expand the nested attributes?

river portal
#

i'm trying to transfer amount from my personal stripe account to connected account how can i possibly do that

crimson needle
crimson needle
burnt violet
crimson needle
#

@burnt violet you can't, that's what I explained earlier, you can't have a yearly and monthly Price together on one subscription
The only solutions are
1/ have 2 separate subscriptions where once a year you get 2 invoices and 2 payments when both monthly and yearly renew a the same time
2/ Have a monthly subscription and once a year add an extra line item for the yearly price (but that means no easy proration calculation when they change their pricing plan over time

warped torrent
burnt violet
north ether
#

Hi Team, Is there any way to paginate Stripe charges with Order By concept?

crimson needle
#

@warped torrent hmmm I think you want without the [0] part! Easiest is to try quickly in Test mode

north ether
#

Stripe by defaults give latest changes first. Is there any way to set order by ?

crimson needle
#

@burnt violet yeah that won't work either. I mean you could always put one of the prices as an additional invoice item on the first subscription creation but then it will hurt proration later and metrics too in the Dashboard so I would just have 2 separate subs from day 1

#

@north ether no, the order is always most recently created first

#

@warped torrent Let me know if you have more issues with expand, happy to provide more details

burnt violet
crimson needle
#

glad to hear that!

river portal
#

stripe.error.InvalidRequestError: Request req_fJyM4tsrrd2mLf: You have insufficient funds in your Stripe account. One likely reason you have insufficient funds is that your funds are automatically being paid out; try enabling manual payouts by going to https://dashboard.stripe.com/account/payouts.

any one can help me with this i've amount in my stripe account as well ?

warped torrent
#

@crimson needle it works great , thanks. Here is the working code : this.stripe.subscriptions.retrieve(id, { expand: ['default_payment_method', 'items.data.price.product'] })

crimson needle
#

@warped torrent perfect!

night kite
#

Hello, someone has experience with flutter_stripe plugin?

fossil crystal
#

Hi guys, does anyone know how/where I can extract the "card" type/brand and hopefully last 4 digits from the API (hopefully via a Payment Intent)? where the status is "succeeded" or "requires_capture"? Thank you

hollow prairie
#

@night kite Hey! Not specifically, but I can try to help

fossil crystal
#

Thank you!

tight parcel
#

Hi everyone!

I'm implementing a subscription payment system using dj-stripe and I can't seem to get my stripe webhooks to update the dj-stripe Subscription model after a successful stripe.checkout.Session.create call.

I am creating the customer successfully on both djstripe model and the Stripe database is updating though, using the djstripe Customer.create function.

Could someone help out please?

I'm following the docs (https://dj-stripe.readthedocs.io/en/master/installation/) settings for the webhook but on my server I receive a "Not Found: /stripe" and I get 404 responses for the events when running stripe listen --forward-to localhost:8000/stripe

Thanks in advance!

hollow prairie
#

@tight parcel Hello! Can you please provide me with a specific event ID that is erroring? evt_xxx

tight parcel
#

This is testing mode data only btw, let me see

hollow prairie
#

@tight parcel I'm not really expecting to see any indication of an actual error in our logs, as it generally sounds like an implementation issue rather than a Stripe problem. Your local /stripe endpoint is not found for whatever reason

night kite
hollow prairie
#

@tight parcel Ok, that event is shown as successfully delivered (i.e. your /stripe endpoint returned a 200 response). Which specific part is returning a 404?

tight parcel
hollow prairie
night kite
hollow prairie
#

@tight parcel Are you sure the server is running on port 8000? Does the stripe route/endpoint definitely exist? Can it handle POST requests?

#

@night kite Yep I believe we sponsor the project so it's definitely the best library to use

tight parcel
hollow prairie
night kite
hollow prairie
#

@tight parcel So: stripe listen --forward-to localhost:8000/stripe/webhook

tight parcel
hollow prairie
#

@tight parcel Awesome!

sterile night
#

Hi

hollow prairie
#

@sterile night Hey!

sterile night
#

This is Pradeep Chaturvedi.
I have created one demo for Google/Apple Pay integration but getting an error related to webhook. Can anyone help me here how to create webhook or how to setup webhook
website demo link: https://devdining.wpengine.com/google-pay/

#

Thank you in advance 🙂

hollow prairie
#

@sterile night Can you share a specific error or an event ID (evt_xxx) that's not working as expected?

sterile night
#

Actually, I am new to stripe integration.

outer lion
#

Hey, is there a test card number that allows you to add the card via a setup intent but have that card return "expired" when charges are attempted? Or is this a bit too specific test case? I've tried a few of the test cards listed in Stripe docs but I can't seem to find one for this.

hollow prairie
#

@outer lion Hey! There is not I'm afraid. 4000000000000069 will return an expired_card error. But no test card that will be successfully authorised for off-session charges only to error when actually try to charge via the SetupIntent

outer lion
#

No problem, thanks anyway!

#

Did this Discord server replace the freenode channel by the way? I went in there earlier and it was empty.

hollow prairie
sterile night
#

If you need also I can share my stripe account and javascript/html code

hollow prairie
#

@sterile night What do you mean by 'still not able to create webhooks'? Have you created a webhook in the Dashboard?

sterile night
#

Is it correct webhook

hollow prairie
#

@sterile night Can you share your account ID? acct_xxx

sterile night
#

acct_1J8gTmSG8S31TrJy

#

@hollow prairie acct_1J8gTmSG8S31TrJy

hollow prairie
#

@sterile night Thanks, looking

lucid bloom
#

hi

hollow prairie
#

@sterile night There's no test activity on your account that warrants firing an event to your webhook handler. You need to try processing a test payment in order for the webhook to be invoked

#

@lucid bloom Hey!

lucid bloom
#

we are using stripe connect , many users have connected their stripe account with us,

#

one question from a connected account is :

#

when a customer buys my product only SOMETIMES their IP address is collected in Stripe? I talked to Stripe about this and they said it has to do with Platform account

#

As a platform account do we need to do something to save Ip address in connected accounts?

hollow prairie
#

@lucid bloom Is there any example payment were an IP address is not collected?

lucid bloom
#

We havenot checked, Shall I ask this to them?

hollow prairie
#

@lucid bloom There's nothing specific required by you as a platform to enable IP address data, no. I'd ask them to provide specific examples (ch_xxx or pi_xxx IDs) of where there is no IP data and write in to support: https://support.stripe.com/contact

lucid bloom
#

ok thnxs

hollow prairie
#

@sterile night I can't see any errors or API calls in your account logs relating to that, so there must be something in your code that is throwing that error

#

@sterile night i.e. it's not coming from Stripe as the request never reaches us

sterile night
#

This is my code

fossil crystal
#

Hi again, does anyone know of the API flag to pass in for MOTO credit/debit card capturing? To bypass 3D secure for telephone orders. Thanks

hollow prairie
#

@sterile night It's the call to your /create-payment-intent endpoint that is erroring, in your server/API. There's no handler for that in the code you've share

cinder vale
#

Hi everybody.

Stupid question. We had last night some stupid bot creating 53k accounts using probably stolen emails. We are going to be removing them today, and I saw that I could "reject" accounts or delete them. Rejecting allows me to add "fraud", "other". while delete simply gets rid of them.

We would like to delete them, but I am not sure if you guys (Stripe) will use any additional tag to notify that those accounts were wrongly added. I don't mind updating users in a different way

hollow prairie
sterile night
#

@hollow prairie do we need to write code in "/create-payment-intent" or not

hollow prairie
#

@cinder vale Can I please ask you to write into support? They're better at answering account related questions like this: https://support.stripe.com/contact

cinder vale
#

@hollow prairie no problem! I'll do that thanks!

sterile night
#

@hollow prairie Stripe developer Cary answered this question

hollow prairie
#

@sterile night It's not a webhooks issue I'm afraid. Webhooks handle events on your Stripe account (such as a successful payment). Right now there's no events on your account because your code to create the Payment Intent is failing

exotic rain
#

Hello everyone
I need help
So i have a requirement where in yearly subscription if the user switch or cancel the subscription after 9 months then this will not allow them to cancel or switch for next period subscription, this will take action for their third period.
Basically if there is any action performed after 9 months, this will take action on the third period subscription not on the next year subscription period.

rigid ridge
#

Hi,
if I create a payment method using a set-up intent with off_session usage... how can I charge them without asking them for 2-step auth again? I thought that when payment methods were set-up this way, no more authentication steps would be required after the initial set-up..

meager hawk
#

@rigid ridge you'd follow https://stripe.com/docs/payments/save-during-payment?platform=web#web-create-payment-intent-off-session and make sure you're using the 3155 card (https://stripe.com/docs/testing#regulatory-cards) in the tests as it's the only one that supports this.

no more authentication steps would be required after the initial set-up
That's not true, it just makes it less likely it's required, but there's always a chance. See https://stripe.com/ie/guides/strong-customer-authentication#exemptions-to-strong-customer-authentication. The 3155 simulates successfully getting an exemption, the other cards don't.

fossil crystal
vocal wagon
#

What happens if I don't give this info

meager hawk
#

@exotic rain there isn't really anything in the API itself involved there. The only way to do that is write code on your side so that you don't call the API to update the subscription during that 3 month period for example. If you want to the change to happen later, you can look into using a SubscriptionSchedule (https://stripe.com/docs/billing/subscriptions/subscription-schedules/) to set that up to happen.

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

vocal wagon
#

Live chat couldn't help

meager hawk
#

@vocal wagon you could reply to that email as well

#

but we can't help here either way I'm afraid, sorry.

torn stratus
#

Hello community! I'm trying to test SEPA payments refunds, but I can't create a test that asserts the status of a SEPA refund immediately to 'succeded' as It could take up to 5 days to process. Is there any other way to do it?

hollow prairie
rigid ridge
fossil crystal
#

Thank you - that was over a year ago - only now getting around to migrating to Stripe 😉 But i remember specifying with our account manager the need for MOTO, Thanks

meager hawk
#

@rigid ridge I really don't follow as there's nothing Amex specific here I'm aware of, I'd need to look at a clear example like the sub_xxx subscription ID.

there is no interaction from the user's end when confirming it with Stripe JS
that can happen sometimes, the user still has to go through the 3D Secure challenge, but the issuer might not have implemented it on their side so there's no page to visit, or they authenticate the user 'frictionless' via browser cookies for example

sterile night
#

@hollow prairie Do we have any working script where just I need to change the publishable key?

meager hawk
#

in any case only that 3155 card makes sense for trying to test recurring or off-session payments with 3D Secure at the start and then not on future payments, that's what it's for , the other cards don't really simulate that

#

@torn stratus I don't think we have a specific test IBAN for influencing the refund behaviour unfortunately. I'd suggest mocking the result for a test.

rigid ridge