@budpay/react-native
v0.1.1
Published
This package enables you to integrate and accept payments in your React Native project using BudPay.
Downloads
11
Readme
React Native BudPay
This package enables you to integrate and accept payments in your React Native project using BudPay.
Installation
Add @budpay/react-native to your project by running;
npm install @budpay/react-native
or
yarn add @budpay/react-native
Install required dependency
To streamline the installation process, let's go ahead and install and configure a necessary dependency for this project, react-native-webview.
run
yarn add react-native-webview
for iOS: cd iOS && pod install && cd ..
for expo applications run;
expo install react-native-webview
and that's it, you're all good to go!
Usage 1
For opening the payment modal on autoStart
import React from 'react';
import { BudPay } from '@budpay/react-native';
import { View } from 'react-native';
const Pay = () => {
const handleCancel = (data: any) => {
console.log(data, 'data');
};
const handleComplete = (data: any) => {
console.log(data, 'data complete');
};
return (
<View style={{ flex: 1 }}>
<BudPay
api_key="your budpay api_key" // you can get this in your budpay.com dashboard under API
amount={'amount'} // in number
currency="NGN"
reference={'your trx reference'}
email="your customer email"
first_name="your customer first name"
last_name="your customer last name"
phone="your customer phone"
onCancel={handleCancel}
onComplete={handleComplete}
autoStart={true}
/>
</View>
);
}Usage 2 - Using Refs
Make use of a ref to start transaction. This is useful if you need to use a button to start a transaction. See example below;
import { useRef } from 'react';
import { StyleSheet, View, Text, TouchableOpacity } from 'react-native';
import { BudPay } from '@budpay/react-native';
import type { BudPayRef } from '@budpay/react-native';
const Pay = () => {
// const reference = `BUD_${Date.now()}`;
const handleCancel = (data: any) => {
console.log(data, 'data');
};
const handleComplete = (data: any) => {
console.log(data, 'data complete');
};
const budpayRef = useRef<BudPayRef | null>(null);
return (
<View style={styles.container}>
<BudPay
api_key="your budpay api_key"//you can get this in your budpay.com dashboard under API
amount={'amount'} // in number
currency="NGN"
reference={'your trx reference'}
email="your customer email"
first_name="your customer first name"
last_name="your customer last name"
phone="your customer phone"
onCancel={handleCancel}
onComplete={handleComplete}
ref={budpayRef}
autoStart={false}
/>
<TouchableOpacity
style={styles.payBtn}
onPress={() => budpayRef.current?.startTransaction()}
>
<Text style={styles.txt}>Pay with BudPay</Text>
</TouchableOpacity>
</View>
);
}Props
| Prop | Type | Required | Description |
|----------------|-------------|----------|---------------------------------------------------------------------------------------------------|
| api_key | string | Yes | Your BudPay API Key, e.g., "pk_test_1234567890". You can get this in your budpay.com dashboard under API |
| amount | number | Yes | Amount to charge, e.g., 1000 |
| currency | string | Yes | Currency to charge in, e.g., "NGN" |
| reference | string | No | Unique reference for the transaction, e.g., "BUD_1234567890" |
| email | string | Yes | Customer email. | |
| first_name | string | Yes | Customer first name. | |
| last_name | string | Yes | Customer last name. | |
| phone | string | Yes | Customer Phone. | |
| callback_url | string | No | URL to redirect to after payment, e.g., "https://yourwebsite.com/callback" |
| onComplete | function | No | Callback function to execute after payment is successful, e.g., (response) => { console.log(response) } |
| onCancel | function | No | Callback function to execute after payment is cancelled, e.g., (response) => { console.log(response) } |
| activityIndicatorColor | string | No | Loader color |
| activityIndicatorSize | string | No | Loader size e.g small, large |
| debug | boolean | No | Enables debug mode, e.g., true |
