# React-Native-DDPaySDK **Repository Path**: kkrn/React-Native-DDPaySDK ## Basic Information - **Project Name**: React-Native-DDPaySDK - **Description**: 基于react native支持:支付宝、微信支付 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-25 - **Last Updated**: 2025-06-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # react-native-ddpaysdk ## Getting started `$ npm install react-native-ddpaysdk --save` `cd ios` `pod install` ## Usage ### 微信配置 在androidManifest.xml 中添加一下代码,并设置你的应用`WXAPPID` #### android ```xml ``` #### iOS 配置
1. 在ios 开发者平台配置`universalLink`,并获取`scheme`
2. 在微信开放平台关联这个`universalLink`,并设置`scheme`
注:微信的`scheme`和`universalLink`是有规定格式,因此请参照微信文档 3. 在调用支付方法之前调用WXApi的`registerApp:universalLink:`方法初始化 <<<<<<< HEAD ======= >>>>>>> 2c3581e7cc2744294f623b79b7a109a09189cc86 ``` //wx的运行日志log,发布时需要关闭。调试时在register之前打开log, 后续可以根据log排查问题 [WXApi startLogByLevel:WXLogLevelDetail logBlock:^(NSString *log) { NSLog(@"WeChatSDK: %@", log); }]; //向微信注册 如果集成了umshare的微信分享配置,则这里可以忽略 registerApp: [WXApi registerApp:@"wxe7cc1f9268c34605" universalLink:WX_UNIVERSAL_LINK]; //微信api集成环境自建测,在调试期可以帮助我们排查那里没有集成完善, 务必在调用自检函数前注册。 [WXApi checkUniversalLinkReady:^(WXULCheckStep step, WXCheckULStepResult* result) { NSLog(@"%@, %u, %@, %@", @(step), result.success, result.errorInfo, result.suggestion); }]; ``` ### js端使用 ``` javaScript import { Pay } from "react-native-ddpaysdk"; Pay.isSupported((status)=>{ console.log(status) if (status) { console.log("data",data) Pay.wxPay(data,(status)=>{ console.log("回调",status) }) } }) ``` ### 支付宝 配置:主要是注意是否utdid 依赖冲突
如果同时也继承了umSDK或者是其他雅莱了utdid的SDK,则需要排除这些SDK对utdid的依赖,因为utdid是Alipay官方自带的就有的。 #### android ``` dependencies { . . . // api 'com.umeng.umsdk:push:6.4.5' //接入aliPay 同时再接入umsdk:push 则会导致utdid重复,因此删除push的utdid api('com.umeng.umsdk:push:6.4.5') { exclude group: 'com.umeng.umsdk', module: 'utdid' } } ``` #### ios 1. 删除重复的utdid依赖 ```` #下载但未安装前,由于继承了UMSDK与alipay的UITID冲突,因此删除UMSDK中的UTDID.framework pre_install do |installer| puts "有AlipaySDK-iOS 且有 RNUmsdk, 即将删除RNUmsdk中的UTDID" delete_alipay(installer) end # 删除重复的依赖 def delete_alipay(installer = nil) if installer != nil #需要删除的库名 exclude_files = ['UTDID'] #File拼接UMSDK路径, Dir.glob(File.join(installer.sandbox.pod_dir('RNUmsdk'), 'libs/**', '*.framework')).each do |bundle| # puts "#{bundle}" # 判断是否有exclude_files数组内的值。 if (exclude_files.include?(File.basename(bundle, ".framework"))) puts "Removing #{bundle}" #删除重复的依赖 FileUtils.rm_rf(bundle) end end end end ```` 2. 设置scheme `scheme`是与`universalLink`作用类似,都是用于APP之间通讯,alipay目前用的还是`scheme`
支付宝的这个`scheme`没有统一格式,单`scheme`不能与其他app的相同,因此这个`scheme`要唯一性,因此建议使用类似微信的`scheme`,应用alipay+支付宝开放平台注册的应用id的组合方式。 ### js 使用 ```js // scheme 只有ios才有,android穿null /** * orderInfoString 订单信息 * scheme 只有ios才有,android穿null * status 9000 为成功,否则失败 **/ aliPay("orderInfoString", "scheme", (error, status)=>{ }) ```