sabpaisa-react-lib-lite
v0.0.43
Published
React Native wrapper for Sabpaisa
Maintainers
Readme
📦 sabpaisa-react-lib-lite
A lightweight React Native wrapper for integrating SabPaisa payments in your mobile app.
Version:
0.0.43Author: Sabpaisa Developers Repository: GitLab Project
🚀 Features
- Launch SabPaisa payment checkout flow within React Native apps
- Easily configurable with minimal setup
- Supports both Android and iOS (if applicable)
📥 Installation
npm install sabpaisa-react-lib-lite
npm install @types/sabpaisa-react-lite
# or
yarn add sabpaisa-react-lib-lite
yarn add @types/sabpaisa-react-liteEnsure you have the required peer dependencies installed:
npm install react react-native @react-native-community/cli⚙️ Setup (Android)
Link Native Modules (for React Native < 0.60):
react-native link sabpaisa-react-lib-lite
⚙️ Setup (IOS)
- Pod Configuration:
Add this line at top of your pod file in "ios/Podfile"
require_relative '../node_modules/sabpaisa-react-lib-lite/ios/scripts/patch_podfile.rb'And in react-native post install script add below line in "ios/Podfile"
```
SabPaisaPatch.run(installer)
```Example:
```
post_install do |installer|
# https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202
react_native_post_install(
installer,
config[:reactNativePath],
:mac_catalyst_enabled => false,
# :ccache_enabled => true
)
# 👇 ensure our hook runs here
SabPaisaPatch.run(installer) #<------only this line you need to add
end
```Install Pods After Adding Library:
cd ios pod install
🧑💻 Usage
import { SabPaisaCheckout } from 'sabpaisa-react-lib-lite';
// Example function
const initiatePayment = () => {
var options: SabpaisaCheckoutOptions = {
first_name: 'firstnamereact',
last_name: 'lastnamereact',
currency: 'INR',
mobile_number: '9999999999',
email_id: '<email id>',
client_code: 'DJ020',
aes_iv: '<your id>',
aes_key: '<your key>',
user_name: '<your username>',
password: '<your password>',
env: 'staging', // staging/prod
txn_id: '<unique transaction id>',
amount: '1', // Amount in Rupees
callback_url: 'http://localhost:8082',
udf1: '1',
udf2: '2',
udf3: '3',
udf4: '4',
udf5: '5',
udf6: '6',
udf7: '7',
udf8: '8',
udf9: '9',
udf10: '10',
udf11: '11',
udf12: '12',
udf13: '13',
udf14: '14',
udf15: '15',
udf16: '16',
udf17: '17',
udf18: '18',
udf19: '19',
udf20: '20'
};
SabPaisaCheckout.open(options).then(data => {
// handle success
console.log(data)
setStatus('Status: ' + data.status);
setClientCode('ClientCode: ' + data.clientCode);
setAmount('Amount : ' + data.amount);
setTxnId('Txn Id: ' + data.clientTxnId);
})
.catch(error => {
console.log(error)
setStatus('Status: ' + error.status);
setClientCode('ClientCode: ' + error.clientCode);
setAmount('Amount : ' + error.amount);
setTxnId('Txn Id: ' + error.clientTxnId);
});
};✅ Make sure you pass all mandatory fields as per SabPaisa integration specs.
📌 Parameters
| Key | Required | Description |
| ----------------- | -------- | ----------------------------------- |
| payerName | ✅ | Name of the customer |
| payerEmail | ✅ | Customer email |
| payerMobile | ✅ | Customer mobile number |
| clientTxnId | ✅ | Unique transaction ID |
| amount | ✅ | Amount to be paid |
| clientCode | ✅ | Assigned SabPaisa client code |
| aes_iv | ✅ | iv of merchant |
| aes_key | ✅ | key of merchant |
| user_name | ✅ | username of merchant |
| password | ✅ | password of merchant |
| env | ✅ | env |
| callbackUrl | ✅ | Callback URL for transaction status |
| udf1 to udf20 | ❌ | Optional user-defined fields |
🐛 Issues & Contributions
Report issues at: GitLab Issues
📄 License
MIT © Sabpaisa Developers
📄 If You Face Any Issue With Metro / Virtualized lLists
Try below commmand:
npm install metro --save-dev
npm install @react-native/virtualized-lists 