react-native-opay
Author
Recky Lam
If you have any feedback, questions, or concerns, please e-mail me via reckylam93@gmail.com
Introduction
This React Native SDK makes it easy to integrate your applications & interact with the OPay.
To complete payment that you will need your Merchant information. Remember to keep it safe.
Please visit OPay's API Introduction for more .
For OPay's Documentation.
Getting started
For the best experience, please use the latest version
$ npm install react-native-opay --save
Mostly automatic installation
$ react-native link react-native-opay
Usage
Make a payment
import RNOpay from 'react-native-opay';
var orderData = {
'reference' : 'Test_reference123456', // A unique id for your payment order
'amount' : '100', // Amount need to pay in kobo, 1N = 100 kobo
'pubKey' : 'OPAYPUB1234567890123',
'merchantUserId' : 'USER_ID',
'merchantUserName' : 'USER_NAME',
}
RNOpay.initTransaction(orderData) {};
Response & Error Code
Response Object
{
'code':'9000';
'message':'success';
'reference':'OPAYPUB1234567890123';
'amount':'100';
}
Error Code
SUCCESS(9000, "success"),
SERVER_ERROR(4000, "server error"),
USER_CANCEL(6001, "user cancel"),
NET_ERROR(6002, "net error"),
PARAM_ERROR(4001, "param error"),
REPEAT_REQUEST(5000, "repeat request"),
PROCESSING(8000, "processing");
Verify
Verify a charge by calling OPay's transaction/status with the reference
mentioned before On SERVER
Side.
Body
{
"orderNo": "20019212912901281821982",
"reference": "test_20191123132233"
}
How to generate signature:
$signature= hash_hmac("sha512", $body_json_string, OP_PRV_KEY, true);
Header
[
'Authorization: Bearer'.$signature,
'MerchantId: 123456789',
'content-type: application/json'
]
Known Issue
For bugs Go Github Repo Issues
- Uses-sdk:minSdkVersion 'xx' cannot be smaller than version 'xx' declared in library [:react-native-opay]
- Follow the 'Suggestions' in console.
- Sync library minsdk version and project minsdk version.
- Or use tools:overrideLibrary="com.reckylam.rnopay" to force usage (not recommend, may lead to runtime failures)
- When run 'yarn android' console output the following words:
- RNOpayPackage.java:26 @Override
- RNOpayManager.java:19
- Please update to the latest version.
- Could not find paysdk-debug
- Add following codes to your project build.gradle -> allprojects -> repositories
allprojects { repositories { ... //your code flatDir { dirs project(':xxx').file('libs') } } }
Contribution
For Technical Support
@huawo
@Li Peng