https://github.com/jimmydaddy/react-native-umpay
联动优势银行卡支付rn封装
https://github.com/jimmydaddy/react-native-umpay
Last synced: about 1 year ago
JSON representation
联动优势银行卡支付rn封装
- Host: GitHub
- URL: https://github.com/jimmydaddy/react-native-umpay
- Owner: JimmyDaddy
- Created: 2017-07-24T13:42:45.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-09-20T08:59:23.000Z (over 8 years ago)
- Last Synced: 2025-04-03T16:31:53.150Z (about 1 year ago)
- Language: Objective-C
- Size: 2.57 MB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## react-native-umpay
*对联动优势提供的sdk进行RN封装*
支持Android、IOS
## 安装配置
* `npm install react-native-umpay`
* `react-native link`
* 根据联动优势给出的文档进行配置
* Android需要的额外配置
> * 在`android\settings.gradle`中添加(如果上述`link`命令没做到的话)
```
include 'react-native-umpay'
project(':react-native-umpay').projectDir = new File(rootProject.projectDir, '../ node_modules/react-native-umpay/android')
```
> * 在`android\app\build.gradle`中添加
`compile project(':react-native-umpay')`
以及
`compile 'org.greenrobot:eventbus:3.0.0’`
> * 在`MainActivity.java`中引入
`import com.jimmydaddy.umpay.UmpayModule;`
以及
`import org.greenrobot.eventbus.EventBus;`
> * 重写`onActivityResult`如下:
```
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == UmpayModule.REQUEST_CODE){
EventBus.getDefault().post(data);
}
super.onActivityResult(requestCode, resultCode, data);
}
```
> * 在`MainApplication.java`中引入`import com.jimmydaddy.umpay.UmpayPackage;`添加如下代码
```
@Override
protected List getPackages() {
return Arrays.asList(
new MainReactPackage(),
new UmpayPackage()//添加这个
);
}
```
* IOS需要的额外配置:右键点击你的项目,选择`Add files to XXX`,找到`node_modules`下的`react-native-umpay`在`ios`文件夹里找到`umpLibraryBundle.bundle`,将之添加到你的项目中(如果不添加,在弹出的联动优势页面中将没有图片icon以及样式)
## 使用
```
//绑定
/**
* data 需包含以下字段 { identityCode, cardHolder, merCustId, merId, signInfo, cardType, shortBankName, editFlag };
* @type {[type]}
*/
UMpay.bindCard(data).then(() => {
Toast.show('绑定成功');
this._getData();
}).catch((err) => {
const errObjStr = JSON.stringify(err);
const errObj = JSON.parse(errObjStr);
if (errObj.code === '1001') {
Toast.show('您取消了操作');
} else {
Toast.show('绑定失败');
}
});
....
/**
* 支付 (支付不建议在客户端操作)
* data 需包含以下字段 { identityCode, tradeNo, cardHolder, merCustId, cardType, shortBankName, editFlag };
* @type {[type]}
*/
UMPay.pay(data).then(() => {
Toast.show('支付成功');
}).catch((err) => {
const errObjStr = JSON.stringify(err);
const errObj = JSON.parse(errObjStr);
if (errObj.code === '1001') {
Toast.show('您取消了操作');
} else {
Toast.show('支付失败');
}
})
```