#remrem_error
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/1351229682283974659
📝 Have more to share? Add more details, code, screenshots, videos, etc. below.
Hi :wave
I'm sorry but that isn't much to go on. Do you have more details about the error? What SDK are you using?
"@stripe/stripe-identity-react-native": "0.2.13"
Interesting that sometimes it works. Like one in working and 5 are not
Sorry but could you explain that a bit more?
When you say "sometimes it works" what are the exact scenarios?
Hardware devices? Emulators? Stripe RD SKD versions?
Sure. After users are asked to provide a selfie, the are getting this error(but not always). It happened on production app(iOS)
This is a technical help forum. In order to help I need technical details
What devices exacly are being used?
Is the failure consistent for each device or does it sometimes work on the same device?
What is the exact code you are using and what is the exact error message you receive?
It doest work sometime on the same decive. Our QA tested it recently and after 5 atemps he managed to complete it. He has iphone 15
What version of iOS?
And if it is not consistent even on the same device, that suggests some transient error is not being handled correctly.
Do you have debugging logs of the error?
The ios version is 18.3.1
I do not have, but i can try to reproduce it on dev version
Based on our support, many people are facing the same error
What code are you using to trigger the verification flow controller?
present from the useStripeIdentity
Please share the exact code, similar wo what we document here
Do you have server logs of when you are creating the verification sessions? can you share example session IDs for requests that do and do not succeeed?
import { useStripeIdentity } from "@stripe/stripe-identity-react-native";
export const VerificationStatusContainer: React.FC<
VerificationStatusContainerProps
> = ({ status }) => {
const { t } = useLocalization();
const { mutate: createSession } =
useCreateStripeIdentityVerificationSession();
const fetchOptions = async () => {
try {
const { data } = await createSession();
const session = data?.createStripeIdentityVerificationSession;
return {
sessionId: session.sessionId,
ephemeralKeySecret: session.ephemeralKeySecret,
brandLogo: RNImage.resolveAssetSource(logo),
};
} catch (error) {
handleError(t, error);
}
};
const {
status: identityStatus,
present,
loading: identityLoading,
} = useStripeIdentity(fetchOptions);
const handleStartVerification = React.useCallback(() => {
present();
}, [present]);
const handleNavigateTermsAndConditions = () => {
openStripeUrlTerms();
};
const shouldRentedStartVerificationButton =
status === "not_started" ||
status === "canceled" ||
status === "requires_input";
return (
<View style={styles.container}>
<Image style={styles.image} imageUrl={images[status]} />
<Text mt={4} align="center" variant="title1">
{t(`container.stripe_identity.${status}.title`)}
</Text>
<Text mt={1.5} align="center" color="secondary">
{t(`container.stripe_identity.${status}.description`)}
</Text>
<Text
mt={2}
mb={4}
align="center"
color="brand"
onPress={handleNavigateTermsAndConditions}
>
{shouldRentedStartVerificationButton ? (
<Button
size="large"
bottomPosition
onPress={handleStartVerification}
loading={identityLoading}
type="primary"
>
{t(`container.stripe_identity.${status}.buttonText`)}
</Button>
) : null}
</View>
);
};
this is the example of verification that failed
https://dashboard.stripe.com/identity/verification-sessions/vs_1R1mv4JCb8GR4OWr8wlet53S
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
Hmmm... I see files associated with the ID document properties on that session.
I can see that the status of this verification session is Abandoned
Unfortunately that is a dashboard specific status. The status of the underlying Stripe object is requires_action
So you trigger the verification sheet in handleStartVerification when the user presses the bottom button. At what point is the error thrown?
On the selfie step
And you have taken the actions we recommend here:
If your integration isn’t working:
- Put a breakpoint where you fetch the VerificationSession ID and ephemeral key secret.
- Verify that no network errors exist and that the endpoint is returning a VerificationSession ID and ephemeral key secret.
There are no issues with creating the session. It fails after user uploaded the front and back side of the document, and go to the selfie screen
I can share a screen record with you, but I am not sure that it's safe to do that on discord
All discord threads are public so I wouldn't share anything you don't want the whole world to see
Agreed
I'm checking our internal docs to see if this is a known bug. From what you described, it's part of the flow that is entirely controlled by the Stripe SDK (since the sheet has launched but has not completed).
Yes, the issue is on stripe SDK. This flow is not covered by our code in any way
One way you can approach this is to file a clear issue about this here. That will get this raised to the package maintainers.
I will do, but we need to have a resolution asap. Otherwise we will have to replace the stripe identity with something else
There is a way we can have someone from your team how I can help to investivate the issue? We used to have a slack channel with the dev team, but it's currency archived
Unfortunately I don't see enough information here to provide immediate fixes. Do you have a stack trace of the error?
I will try to collect as much information as I can tomorrow morning