更新记录

1.0.0(2022-03-21)

首次发布,version 1.0.0,加油


平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 11.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 适用版本区间:9 - 15

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


【已解决】插件问题:支付完成无法跳转回App、支付完成无法跳转回App、支付完成无法跳转回App

IOS需要测试、IOS需要测试、IOS需要测试

App模块配置,需要勾选微信支付

Android引用

const sandepay = uni.requireNativePlugin("TangSoft-shandePay");

Android所有方法

showToast():我用来测试uniapp是否和插件关联上了而已
cashierPay():发起支付,支付宝和微信都是这一个方法

Android支付方法

接口返回orderjson
sandepay.cashierPay(orderjson, res => {
    console.log("cashierPay方法调用成功>>>", res);
})

Android拉起微信小程序支付时会回调

var globalEvent = uni.requireNativePlugin('globalEvent');
globalEvent.addEventListener('shandeEvent', function(e) {
    console.log('监听>>>myEvent' + JSON.stringify(e));
});

IOS引用

const iossandepay = uni.requireNativePlugin("TangSoft-shandePay-shandePayUniModule")

IOS所有方法

showSDPTDesktopIn():发起支付,支付宝和微信都是这一个方法

IOS支付方法

接口返回orderjson
var orderjson = JSON.parse(orderjson)
iossandepay.showSDPTDesktopIn(orderjson, (res) => {
    console.log("initNSNotificationCenter>>>>", res);
})

调用支付宝还是微信是根据后台接口字段来定:orderjson.product_code

orderjson数据

{
    "version":"10",
    "mer_no":"123456",
    "mer_order_no":"1598858152976",
    "create_ip":"127_0_0_1",
    "store_id":"100001",
    "goods_name":"测试商品",
    "pay_extra":"{\"mer_app_id\":\"wxdc71db66aerer3a6er\",\"openid\":\"oRn0gfPPOLKM908sfZPzspzi_bEhMM\"}",
    "create_time":"20200831151552",
    "mer_key":"此处为密钥",
    "expire_time":"20200831151557",
    "notify_url":"https://baidu.com.cn/notify_test/sand",
    "product_code":"01010001,01010002,01010003",
    "accsplit_flag":"NO",
    "return_url":"https://baidu.com.cn/notify_test/returnUrl",
    "clear_cycle":"0",
    "order_amt":"0.01",
    "gh_ori_id":"gb_1234678",
    "sign":"B78162FFB43030BC1F8E2BAEB92DFDB2",
    "meta_option":"[{\"sc\":\"wzsc://\",\"s\":\"Android\",\"id\":\"com.tencent.tmgp.sgame\",\"n\":\"测试\"},{\"sc\":\"wzsc://\",\"s\":\"Android\",\"id\":\"com.tencent.tmgp.sgame\",\"n\":\"测试\"}]"
    }

插件问题很大,非常大

1、【已经解决】【请教】支付完成无法跳转回App。
2、为了不冲突,需要使用UniApp里的App模块配置:微信支付。
3、

无法跳转回APP解决

1、sandcash 这个值是自己定义的,插件没有任何配置 2、接口拼接的参数

sParaTemp.Add("jump_scheme", "sandcash://");
sParaTemp.Add("meta_option", "[{\"sc\":\"sandcash://\",\"s\":\"Android\",\"id\":\"com.sdzf.demo\",\"n\":\"杉德支付\"},{\"sc\":\"\",\"s\":\"IOS\",\"id\":\"\",\"n\":\"\"}]");

3、manifest.json源代码配置

app-plus ——> distribute ——> android ——> "schemes" : "sandcash"
app-plus ——> distribute ——> ios ——> "urltypes" : "sandcash"

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

作者未提供license.md

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问