react-native-umpay
v0.0.3
Published
umpay for rn
Downloads
5
Maintainers
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<ReactPackage> getPackages() {
return Arrays.<ReactPackage>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('支付失败');
}
})