更新记录
1.0(2020-11-11)
1、安卓支付集成
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 9.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
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原生插件配置”->”云端插件“列表中删除该插件重新选择
ShanDePay 插件
此为杉德支付插件 对应杉德支付SDK版本:2.0 插件对应杉德支付SDK文档:杉德SDK文档
插件参数说明:
基本参数
参数 | 描述 | 默认值 | 是否必填 |
---|---|---|---|
version | 版本号 | 10 | 否 |
sign_type | 签名类型 | MD5 | 否 |
create_ip | 客户端的真实IP | 127_0_0_1 | 否 |
store_id | 门店号 | 000000 | 否 |
clear_cycle | 清算模式 | 0 | 否 |
accsplit_flag | 分账标识 | NO | 否 |
jump_scheme | 支付宝返回app所配置的域名 | sandcash://scpay | 否 |
return_url | 支付后返回的商户显示页面 | -- | 否 |
expire_time | 过期时间 | -- | 否 |
mer_no | 商户编号 | -- | 是 |
mer_key | 商户密钥 | -- | 是 |
mer_order_no | 商户订单号 | -- | 是 |
create_time | 创建时间 | -- | 是 |
order_amt | 订单金额 | -- | 是 |
notify_url | 回调地址 | -- | 是 |
goods_name | 商品名 | -- | 是 |
product_code | 支付产品编码 | -- | 是 |
wx_app_id | 移动应用AppID(微信开放平台申请) | -- | 是 |
local_sign | 是否启用本地签名模式(0 不使用 1使用) | 0 | 是 |
不启用本地签名模式(通过服务器签名)所需参数
参数 | 描述 | 默认值 | 是否必填 |
---|---|---|---|
pay_extra | 支付扩展,由服务器提供,具体内容参考杉德SDK文档 | -- | 是 |
sign | 签名,由服务器提供 | -- | 是 |
启用本地签名模式(通过插件签名)所需参数
参数 | 描述 | 默认值 | 是否必填 |
---|---|---|---|
local_sign_key | 本地签名密钥,由APP生成,具体操作查看杉德SDK文档 | -- | 是 |
mer_app_id | 微信公众号AppID(依据实际情况填写) | -- | 否 |
openid | 微信公众号Openid(依据实际情况填写) | -- | 否 |
buyer_id | 支付宝生活号(依据实际情况填写) | -- | 否 |
gh_ori_id | 小程序原始ID(依据实际情况填写) | -- | 否 |
miniProgramType | 小程序版本 正式版 0,开发版 1,体验版 2 默认正式版 默认:0(依据实际情况填写) | -- | 否 |
path_url | 小程序路径(依据实际情况填写) | pages/zf/index? | 否 |
IOS 端额外所需参数(预留)
参数 | 描述 | 默认值 | 是否必填 |
---|---|---|---|
是 | |||
--- | 是 |
使用方法
- 在配置清单引入插件
- 在需要调用页面引入插件
// 首先需要通过 uni.requireNativePlugin("ModuleName") 获取 module var payModule = uni.requireNativePlugin("Su-ShanDePay")
- 在支付跳转事件处调用插件支付方法
Android 本地签名
payModule.payActionAsyncFunc({
'wx_app_id':'微信开放平台申请',
"mer_no":"后台提供",
"mer_key":"杉德提供",
"mer_order_no":"订单号(后台提供)",
"create_time":"20201016021440(创建时间)",
"order_amt":"0.01(价格)",
"notify_url":"通知回调地址(后台准备)",
"goods_name":"产品001(产品名)",
"product_code":"02010005,02020002(参考SDK文档,根据实际需求填写)",
"gh_ori_id":"小程序原始ID",
"local_sign":"1(本地签名)",
"local_sign_key":"本地签名Kdy(杉德提供)",
},
(ret) => {
uni.showToast({
title:'回调信息 ' + ret.msg,
icon: "none"
})
})
Android 服务器签名
payModule.payActionAsyncFunc({
'wx_app_id':'微信开放平台申请',
"mer_no":"后台提供",
"mer_key":"杉德提供",
"mer_order_no":"订单号(后台提供)",
"create_time":"20201016021440(创建时间)",
"order_amt":"0.01(价格)",
"notify_url":"通知回调地址(后台准备)",
"goods_name":"产品001(产品名)",
"product_code":"02010005,02020002(参考SDK文档,根据实际需求填写)",
"gh_ori_id":"小程序原始ID",
"local_sign":"0(本地签名)",
"local_sign_key":"本地签名Kdy(杉德提供)",
"pay_extra":"支付信息(服务器提供)",
"sign":"签名(服务器提供)"
},
(ret) => {
uni.showToast({
title:'回调信息 ' + ret.msg,
icon: "none"
})
})