react-native-stripe-payment-intents
This is a bridge intended for the new Stripe API PaymentIntents.
Read before you use
- Only the confirmation process is currently implemented (with 3DS2 support)
- You are expected to have already created a PaymentIntent on your server and passed the client_secret to the client
- There is no plan to expand on what is currently implemented
Getting started
$ npm install react-native-stripe-payment-intents --save
Link it
$ react-native link react-native-stripe-payment-intents
iOS Specifics
You have to support custom url schemes to automatically redirect Ios.
Add this in info.plist
<key>LSApplicationQueriesSchemes</key>
<array>
<string>yourCustomScheme</string>
</array>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.scheme.custom.your</string>
<key>CFBundleURLSchemes</key>
<array>
<string>yourCustomScheme</string>
</array>
</dict>
</array>
Add this in appDelegate.m
#import <Stripe/Stripe.h>
...
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
BOOL stripeHandled = [Stripe handleStripeURLCallbackWithURL:url];
return YES;
}
Usage
import RNStripePaymentIntents from 'react-native-stripe-payment-intents';
const initCallback = (err, result) => {
...
}
const payCallback = (err, result) => {
...
}
RNStripePaymentIntents.init(publishableKey, initCallback);
RNStripePaymentIntents.pay(clientSecret, sourceId, paymentMethodId, returnUrl, payCallback);