react-native-payfast
Version:
A component to integrate with PayFast via a webview/API calls
49 lines (41 loc) • 2.01 kB
Markdown
with PayFast via a webview/API calls.
Check out the [PayFast documentation](https://developers.payfast.co.za/documentation) for more information on the payload and signature usage.
Currently in BETA, with new features and improvements coming soon
1. Add the package to `composer.json` and run `npm install`
```js
"dependencies" : {
"react-native-payfast" : "^1.0.0"
}
```
1. Import the `PayFastWebView` component.
```js
import {PayFastWebView} from "react-native-payfast";
```
2. Assign a JSON object of payment data to the `data` prop of the component. Note the naming conventions of the fields as per the official [PayFast documentation](https://developers.payfast.co.za/documentation/#checkout-page).
```js
const paymentData = {
merchant_id : 10000100,
merchant_key: '46f0cd694581a',
amount: 60.00,
item_name: 'React Native Purchase'
};
export default function App() {
return (
<View>
<PayFastWebView title='Pay Now' data={paymentData}/>
</View>
);
}
```
| Prop name | Type | Description | Example |
| ------------- |:-------| :-------------| :-------|
| title | String | The title of the payment button | `Pay Now` |
| data | JSON | The payment data as per the [PayFast documentation](https://developers.payfast.co.za/documentation/#checkout-page). | `{merchant_id : 10000100,merchant_key: '46f0cd694581a',amount: 60.00,item_name: 'React Native Purchase'}`
| sandbox | Boolean | Set the component to redirect to the PayFast sandbox environment for test payments | `sandbox={true}` |
| signature | Boolean | An optional security measure to prevent man in the middle attacks. Note - you must have a passphrase set on your PayFast account | `signature={true}` |
| passphrase | String | The passphrase set on your PayFast/Sandbox account for use in conjunction with the signature generation | passphrase={"passphrase"} |
A react native component to integrate