#richfcl_api
1 messages ยท Page 1 of 1 (latest)
๐ Welcome to your new thread!
โฒ๏ธ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.
โฑ๏ธ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.
๐ This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1356623554614923438
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
Apologies, I meant to attache the code sample from the docs:
.setStripeVersion("2025-02-24.acacia")
.setCustomer(customer.getId())
.build();
Hey there, this is to set the Stripe version for the requests coming from your client app so that the shape of parameters/responses matches what you expect.
Thanks. So for the second question - when I upgrade the client app sdk in future, will it not be able to read the old ephemeral keys made for the old sdk version?
This should be set based on the pinned API version of the mobile SDK versions you use (in your case the underlying stripe-ios and stripe-android versions for your version of stripe-react-native)
You can find this in the changelog of the respective SDKs, but it might be easier/more practical to check recent request logs from the mobile SDK(s) in your Dashboard logs: https://dashboard.stripe.com/test/logs/
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
This should be mostly irrelevant, as the ephemeral keys are only short lived, and if someone updated your app to a new version i would expect you would retrieve a new ephemeral key
But if you were to have an existing key, it should only maybe have a problem if
a) your update change the pinned version being used by the SDK
b) your code tried to access something that had a shape-change across that version change
ok - are the customer ephemeral key basically a protection layer so that the app doesn't get sensitive customer info. ie I would create a new ephemeral key each time i need to send some customer info to the client side?
Kind of -- its a temporary key to let your app make customer-scoped requests as a client that are not normally allowed with a publishable key, it accessing and updating saved payment methods for that customer
That's not possible with a PK alone, for security/privacy
The ephemeral key enables these flows by you creating a short-lived key that you share only with that one device/app instance
Thanks. So it would be fine for me to create a new key each time the app needs to do something customer related? I'm trying to understand how they behave. If keys are stored or attached somehow to a customer on the stripe servers then I don't want to make potentially hundreds of them for each customer
If I need to track the keys / store them on the client device and make sure they're deleted when a version upgrade happens then that's a lot of overhead
So it would be fine for me to create a new key each time the app needs to do something customer related?
Yep! Probably for each customer "session" like a single checkout/payment flow is the right scope.
If keys are stored or attached somehow to a customer on the stripe servers then I don't want to make potentially hundreds of them for each customer
No these are ephemeral in the API sense too, they basically don't exist and arent accessible anywhere after you create them, don't worry about that.
If I need to track the keys / store them on the client device and make sure they're deleted when a version upgrade happens then that's a lot of overhead
Don't store them beyond keeping in memory for the current session. Future app loads should probably get a new ephkey
Fantastic. I have a much better understanding now thanks ๐
NP!
Sorry to be a pain with another question. I've not made any calls from the client app yet, so I'm looking in the changelog file:
# CHANGELOG
## Unreleased
## 0.42.0 - 2025-02-25
**Features**
- Added ability to pass an `onEvent` listener to Financial Connections methods via a `params` argument. This includes the following methods, both when used directly or via `useStripe` or `useFinancialConnectionsSheet`:
- `collectBankAccountForPayment`
- `collectBankAccountForSetup`
- `collectBankAccountToken`
- `collectFinancialConnectionsAccounts`
- Added ability to pass `metadata` to `PaymentMethod.ConfirmParams` and `PaymentMethod.CreateParams`
## 0.41.0 - 2024-12-19
**Fixes**
- Updated `stripe-ios` to 24.2.\*
## 0.40.0 - 2024-11-19
**Breaking changes**
- Removed support for FPX payments via the bank picker UI. If you'd like to accept FPX payments, we recommend using [Mobile Payment Element](https://docs.stripe.com/payments/accept-a-payment?platform=react-native). Also see the [FPX Payment guide](https://docs.stripe.com/payments/fpx/accept-a-payment?web-or-mobile=mobile) for more info on how to integrate FPX specifically.
**Features**
- `CustomerSheet` is now generally available!
- If you were using `CustomerSheetBeta`, change that to `CustomerSheet`.
- If you were using `CustomerSheetBeta.CustomerSheet`, change that to `CustomerSheet.Component`
- Enabled vertical mode
## 0.39.0 - 2024-10-15
**Features**
- Adds support for CustomerSession in private beta [1744](https://github.com/stripe/stripe-react-native/pull/1744)
- Added `onBehalfOf` prop to CardField
**Fixes**
- Updated `stripe-ios` to 23.30.\*
- Updated `stripe-android` to 20.52.\*
I can see lots of different types of version numbers here. Would it be 2025-02-25? Or 24.2. (iOS) or 0.42.0?
So those dates are actually the releases of the RN SDK. I am not seeing a mention of the Stripe API version in that changelog, and I am not immediately seeing it in the stripe-ios changelog either. I will keep looking, but as synthrider mentioned, an easy way to find out is to run the app with an SDK version of your choice, do something that makes a call, and check your request log
The last mentions that I see are these updates in the changelogs, that seems a bit far back to me so I am still checking if there have been updates since
https://github.com/stripe/stripe-android/blob/master/CHANGELOG.md#1420---2020-03-18
https://github.com/stripe/stripe-ios/blob/master/CHANGELOG.md#1700-2019-09-04