expo-stripe-checkout-sca
v0.5.0
Published
A React Native Stripe Checkout WebView component compatible with Expo apps and SCA
Downloads
5
Maintainers
Readme
:triangular_flag_on_post: EXPO-STRIPE-CHECKOUT-SCA
A React Native Stripe Checkout WebView component compatible with Expo apps and SCA
Inspired by (https://github.com/briansztamfater/expo-stripe-checkout)
Since currently the only way to implement Stripe Checkout on an Expo app is by ejecting, I've built this lib that adds support for Stripe Checkout using a WebView. This is compatible with Strong Customer Authentication (https://stripe.com/docs/strong-customer-authentication).
:wrench: Developer usage
Set up project
This project is based on:
Then:
- Choose a folder project in your system and switch in
cd [folder path]
- Clone the repo in your folder path
git clone git+https://github.com/christianascone/expo-stripe-checkout-sca.git
Usage
npm install expo-stripe-checkout-sca --save
or
yarn add expo-stripe-checkout-sca
API
| Prop | Type | defaultValue |
| -------------------------------------------------------------------------- | ---------- | --------------------- |
| publicKey (required) | string
| |
| sessionId (required) | string
| |
| onClose (required) | function
| |
| onNavigationStateChange (required) | function
| |
| modalVisible (required) | boolean
| |
| webViewStyle | ViewStyle
| |
| closeButtonContainerStyle | ViewStyle
| |
| closeButtonInnerStyle | TextStyle
| |
/**
* Logs when webview url changes
* @param e
*/
log(e) {
let url: string = e.url;
// Do your stuff
// Check url. It may be the success or cancel url
// Here you can set modal as no more visible
}
render() {
return <StripeCheckoutSca modalVisible={true}
onClose={null}
onNavigationStateChange={(e) => this.log(e)}
publicKey="pk_test_jr2LmM4cWdn3Q5vuFqgo5LMO"
sessionId="cs_test_9pGYF9ZP3OBcOHVlKjDM0Bjw0k0wsqSQLxsagv3L05VImpbV1iZAzcG1"
/>
}
For more information please read their docs
:handshake: Contributing
- Fork it!
- Create your feature branch:
git checkout -b feature/my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin feature/my-new-feature
- Submit a pull request
:heart: Show your support
Please :star: this repository if you like it or this project helped you!
Feel free to open issues or submit pull-requests to help me improving my work.
:scroll: Release history
- 0.5.0
- UPDATE: Webview for compatibility with expo v36 (for latest iOs versions)
- 0.4.1
- FIX: Dependencies
- 0.4.0
- ADD: Compatibility for web platform
- 0.3.1
- UPDATE: Remove useless onPaymentSuccess parameter
- 0.3.0
- UPDATE: Webview style with explicit property name and no more required
- 0.2.0
- ADD: Close button
- 0.1.0
- Work in progress
:robot: Author
Christian Ascone
Copyright © 2019 Christian Ascone.