更新记录

1.0(2020-11-11)

1、安卓支付集成


平台兼容性

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

原生插件通用使用流程:

  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原生插件配置”->”云端插件“列表中删除该插件重新选择


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 端额外所需参数(预留)


参数 描述 默认值 是否必填
meta_option 客户端信息 参考杉德SDK文档
universalLink 苹果UniversalLink(微信支付) ---

使用方法


  • 在配置清单引入插件
  • 在需要调用页面引入插件
    // 首先需要通过 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"
        })
    })

隐私、权限声明

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

和支付宝微信相同权限

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

插件不采集任何数据

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

不包含任何广告

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