#thamoddya-rashmitha_code
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/1437616113323348099
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
Backend Code
if (!connectedAccountId) {
const account = await this.stripePayGate.stripe.accounts.create({
type: 'custom',
country: 'AU', // or user.country
email: user.email,
business_type: 'individual', // or "company"
capabilities: {
card_payments: { requested: true },
transfers: { requested: true },
},
default_currency: 'AUD',
individual: {
email: user.email,
},
business_profile: {
mcc: '7399', // Miscellaneous Business Services
url: 'https://taskbear.com.au',
},
tos_acceptance: {
date: Math.floor(Date.now() / 1000),
ip: user.ip || '0.0.0.0',
},
metadata: { app_user_id: user.id },
});
connectedAccountId = account.id;
}
Hi, looking into your question!
Get Keys for Frontend SKD ID Verification - React Native SDK
private async createStripeIdentityVerificationSession(
user: any,
badge: any,
submissionId: number
) {
const verificationSession =
await this.stripePayGate.stripe.identity.verificationSessions.create({
// verification_flow: 'vf_1S2shAK7Wv3rEitIL9iEGkvj',
type: 'document',
options: {
document: {
require_id_number: true,
require_live_capture: true,
require_matching_selfie: true,
allowed_types: ['driving_license', 'passport', 'id_card'],
},
},
metadata: {
user_id: user.id.toString(),
badge_id: badge.id.toString(),
submission_id: submissionId.toString(),
email: user.email,
},
});
const ephemeralKeySecret = await this.stripePayGate.createEphemeralKey({
verificationSessionId: verificationSession.id,
});
return {
client_secret: verificationSession.client_secret,
ephemeral_key_secret: ephemeralKeySecret,
id: verificationSession.id,
url: verificationSession.url,
};
}
The Customer Account is Created As Australia but, It required SSN
Here
Can I get the connected account's account ID please?
Are you there ?
I am looking into the account. I will need some time.
In React Native
const [options, setOptions] = useState<VerificationSessionOptions>({
verificationType: VerificationType.DOCUMENT,
requireMatchingSelfie: true,
requireIdNumber: true,
allowedTypes: {
[AllowedTypes.DRIVING_LICENSE]: true,
[AllowedTypes.ID_CARD]: true,
[AllowedTypes.PASSPORT]: true,
},
requireLiveCapture: true,
requireAddress: false,
phoneFallbackToDocument: false,
phoneOtpCheckType: PhoneOtpCheckTypes.ATTEMPT,
});
const fetchOptions = useCallback(async () => {
const credentials = await getTestCredentials(options);
console.log('====================================');
console.log('Credentials: ', credentials);
console.log('====================================');
return {
sessionId: credentials.id,
ephemeralKeySecret: credentials.ephemeral_key_secret,
brandLogo: Image.resolveAssetSource(logo),
};
}, [options, setOptions]);
fetchOptions();
present();
Sure
In your screenshot is that the first step that you see? Did you attempt to upload any document before that?
After this Step
And what document did you scan?
Driving License - AU
The SSN reaquire in the Last Step, We have give the Selfy Also.
Can I have the verification session object ID please?
We have tried different times , But I will send the last 2 ok
Thanks!
A VerificationSession with ID vs_1SS6y1GUycOy8ruICZeYySnL was created
A VerificationSession with ID vs_1SRywVGUycOy8ruIYvqVNq4v was created
Give me a moment to look at them.
I am still investigating. Will come back to your shortly.
ok. Thanks
Can I check if you are using the stripeIdentity hook: https://docs.stripe.com/identity/verify-identity-documents?platform=react-native&type=new-integraion#import-the-stripe-identity-sdk ?
Yes
const [options, setOptions] = useState<VerificationSessionOptions>({
verificationType: VerificationType.DOCUMENT,
requireMatchingSelfie: true,
requireIdNumber: true,
allowedTypes: {
[AllowedTypes.DRIVING_LICENSE]: true,
[AllowedTypes.ID_CARD]: true,
[AllowedTypes.PASSPORT]: true,
},
requireLiveCapture: true,
requireAddress: false,
phoneFallbackToDocument: false,
phoneOtpCheckType: PhoneOtpCheckTypes.ATTEMPT,
});
Fetching
const fetchOptions = useCallback(async () => {
const credentials = await getTestCredentials(options);
console.log('====================================');
console.log('Credentials: ', credentials);
console.log('====================================');
return {
sessionId: credentials.id,
ephemeralKeySecret: credentials.ephemeral_key_secret,
brandLogo: Image.resolveAssetSource(logo),
};
}, [options, setOptions]);
const handleVerificationPress = useCallback(async () => {
if (Platform.OS === 'ios') {
console.log('๐ Starting iOS verification with Stripe Identity');
fetchOptions();
present();
} else {
setVerificationLoading(true);
try {
// Generate fresh access token for Android web verification
const freshToken = await generateFreshAccessToken();
if (!freshToken) {
Alert.alert('Error', 'Failed to generate access token. Please try again.');
return;
}
const verificationUrl = ${AppSettings.WebUrl}/stripe-verification?token=${freshToken.accessToken};
console.log('Opening verification URL:', verificationUrl);
// Open in Swan browser
try {
await openBrowser(verificationUrl, {
barTintColor: theme.colors.primary,
controlTintColor: 'white',
});
// The useFocusEffect will handle refreshing when user returns to the screen
console.log('๐ Browser closed - badges will refresh when screen regains focus');
} catch (browserError) {
console.error('Swan browser error:', browserError);
await Linking.openURL(verificationUrl);
}
} catch (error) {
console.error('Error opening verification:', error);
Alert.alert('Error', 'Failed to start verification process. Please try again.');
} finally {
setVerificationLoading(false);
}
}
}, [present, generateFreshAccessToken]);
In android, app crashing in latest stripe versions so i decide to use my web implementation to here for android
Do you have the code for how you present the verification sheet to the user? Like what is show here: https://docs.stripe.com/identity/verify-identity-documents?platform=react-native&type=new-integraion#add-an-event-handler-to-the-verify-button
This is the code.
Do you need ful file ?
THis is i see in the log, when i click on Submit Verification
{
"client_secret": "vs_1SS7cWGUycOy8ruIzuQK2lbL_secret_live_YWNjdF8xUU91VVdHVXljT3k4cnVJLF9UT3ZUU2J3NUtnWk43TjRCZG5CQ0NQSEFHRVJjODd40100784DG50H",
"ephemeral_key_secret": "ek_live_YWNjdF8xUU91VVdHVXljT3k4cnVJLFJqbXdYbE1laFlTYTVlRHc1MWxPV2l3RlhDdXdoM2s_00luD8Ul9L",
"id": "vs_1SS7cWGUycOy8ruIzuQK2lbL",
"url": "https://verify.stripe.com/start/live_YWNjdF8xUU91VVdHVXljT3k4cnVJLF9UT3ZUU2J3NUtnWk43TjRCZG5CQ0NQSEFHRVJjODd40100784DG50H"
}
Stripe helps you securely verify your identity online
We will likely need to move this conversation to a ticket to investigate this further. I will be dropping a note to you on how you can create the ticket. Please remove the video from here and add it to the ticket when you create it.
Hello @indigo narwhal, we have sent you a direct message, please check it at https://discord.com/channels/@me/1437635677612146842
- ๐The message has instructions on how to open a direct support case with our Developer Support team, in order to help you more effectively.
What happens when you clicked on the link in the DM?
It navigate to this page shoiwn in the image
You can click on Contact support. You will need to mention you want to create a ticket and on the form you will need to indicate you are a developer.
From Email or DIscord ?
โ๏ธ Stripe developers have stepped away for a short while
Please leave your questions here, and weโll respond as soon as we're back! If you need help urgently, you can contact Stripe support for help.