更新记录

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
135***@qq.com

2024-04-21

请问一下,sign签名具体算法是怎样的,一直验签失败

我是大神的弟子

2023-11-30

请问一下这个里面的 mer_key 来自哪儿啊?

948***@qq.com

2022-09-29

需要没有测试IOS是否能跳转回APP,不过对于 iOS,使用一键拉起功能,AppID 必须开启 Associated Domains 功能,所以主要还是看证书是否打开这个功能吧。

z.c***@cathybio.com

2022-07-07

这不是,mer_key啥的全暴露了

415***@qq.com

2022-08-29

你好,iOS支付宝 支付完成无法跳转回App。 这个怎么解决啊

小恐龙lv 2022-07-07

抱歉这个我也没找到好的解决办法。

312860

2022-04-29

配置插件 要求勾选微信支护没有appid怎么办

小恐龙lv 2022-04-29

没有微信支付appid也没关系,勾选是为了添加微信相关的原生sdk而已。

312860 2022-06-06

杉德的银联有没有

小恐龙lv 2022-06-17

有的,目前对接过银联云闪付,但是感觉有点不方便,要有相关的银联相关的客户端,比如:云闪付就要先下载云闪付客户端,建设银行的就要先下载建设银行的客户端等以此类推。。

178***@qq.com

2022-04-24

请问下为什么我这边,执行安卓的两个方法回调 都成功 但是回调返回是空,也掉不起来支付。

小恐龙lv 2022-04-25

您好,安卓只有一个【支付方法cashierPay】【一个吊起微信小程序成功回调事件】。
回调失败或者空,需要检查一下几点:
1、微信的话,需要检查一下MiniProgramType参数。
2、微信开放平台是否绑定了微信小程序。
3、orderjson对照一下我提供的示例,是否少了。

这个插件基本都是由后台接口 orderjson 来控制的。

小恐龙lv

2022-04-01