react-native-s-alipay -- React Native 支付宝模块,同时支持ios和android,react native 0.60.0+
程序员文章站
2022-07-02 21:49:27
...
react-native-s-alipay
React Native 支付宝模块,同时支持ios和android,react native 0.60.0+ autolink
安装
npm install react-native-s-alipay --save
或者
yarn add react-native-s-alipay
配置
如果你的react native >= 0.60.0,那么你不需要做太多的配置。
Android:
android需要在android -> app -> build.gradle中配置lib包的引用:
...
repositories {
flatDir {
dirs project(':react-native-s-alipay').file('libs')
}
}
...
ios:
第一步:
ios需要在ios项目的Podfile中加入支付宝依赖包的引用:
pod 'AlipaySDK-iOS'
然后运行命令:
cd ios && pod install
第二步:
等待安装成功后,进入ios工程文件夹,会看到一个.xcworkspace 结尾的文件 ,双击打开
第三步:
选中项目,右键添加文件
点击找到本项目node_modules下的react-native-s-alipay -> iosLib -> RNSAlipay, 将整个RNSAlipay文件夹导入。
第四步
在项目中创建bridging header文件,选中项目,右键New File,选择Header File,命名为 你的工程名 + -Bridging-Header,如:example-Bridging-Header,然后在该文件夹中加入以下代码:
#import <React/RCTBridgeModule.h>
#import <AlipaySDK/AlipaySDK.h>
第五步
配置桥接文件:
第六步:
在AppDelegate.m文件中添加以下两个方法,来处理跳转的url:
头部引用:
#import <AlipaySDK/AlipaySDK.h>
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
if ([url.host isEqualToString:@"safepay"]) {
//跳转支付宝钱包进行支付,处理支付结果
[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
NSLog(@"result = %@",resultDic);
}];
}
return YES;
}
// NOTE: 9.0以后使用新API接口
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
{
if ([url.host isEqualToString:@"safepay"]) {
//跳转支付宝钱包进行支付,处理支付结果
[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
NSLog(@"result = %@",resultDic);
}];
}
return YES;
}
第七步:
添加url type:
到此支付宝配置结束。
使用
import Alipay from 'react-native-s-alipay';
//orderInfo由后端返回
Alipay.pay(orderInfo).then(
res => {
console.log('success:', res);
},
res => {
console.log('fail:', res);
},
);
上一篇: 韩国队赢得DARPA机器人挑战赛冠军
下一篇: 如何搭建最优云计算平台基础架构