SDK-支付

接入必要条件

  1. 后端接收支付成功的回调 URL

接入步骤

  1. 客户端调用 xgSDK.pay 接口

  2. 发起支付,支付成功给贵方服务器 push 回调

支付参数
属性 类型 默认值 必填 说明
userId string '' Y 用户ID
orderId string "" Y 贵方生成的订单 ID
payMoney number '' Y 充值金额(单位元)
payDesc number '' Y 商品信息,100钻石
buyRate number '' Y 兑换比例
userName string '' Y 用户昵称,会显示在收银台
exValue string '' N 兼容的额外参数 (用于保存贵方需要保存的额外数据),后端通知的时候会带上
success function null Y 支付成功的回调函数,没有返回值
一般用来处理小游戏前端请求服务器判定是否充值已到账
fail function null N 支付成功的失败函数,有返回值
返回数据结构根据系统类型不一样,安卓为米大师原生的失败数据,ios为我方后台的失败数据

示例

//示例,1元购买100钻石
xgSDK.pay({
                userId: "12312312",
                orderId: +new Date(),
                payMoney: 1,
                buyRate: 100, // 后台设置的兑换比例
                exvalue: "xxx",
                payDesc: "100钻石",
                userName: "我是测试",
                success(res) {
                    console.log(res)
                        // 成功回调,客户端可在这里请求游戏服务端检查是否到账发货
                },
                fail(res) {
                    console.log(res)
                        // 失败回调
                }
            })

后端通知到账

为了尽量减少的丢单的情况(支付跳转后小游戏重启,微信重启等等),寻光支付已加入后端通知到账功能,主动给贵方服务器 push 订单信息。

此通知回调链接和微信小游戏是共用的,微信小游戏填过的话,同一appid不用再做接入

通知格式: https://[your payback URL]?platformOrderId=xxxxx&orderId=498812&userId=1a3ec64fbd4c360c9ba61cbab7827333&paymoney=100&value=1&deviceType=1&sign=AAAA

请求类型:POST

参数 说明
platformOrderId 平台订单号
orderId cp方订单号
userId 用户id
paymoney 支付金额
deviceType 设备类型,0为小游戏安卓,1为小游戏iOS,2为安卓微端
exValue 兼容的额外参数 (前端生成订单的时候填写的exValue内容);
sign 签名,见下方签名规则

sign 签名规则

  1. 签名的三个参数分别是:orderId(对方的订单ID),paymoney(支付金额,单位是分),deviceType(设备类型)
  2. 签名规则:STEP 1, 对key进行升序排序;STEP2, 对key=value的键值对用&连接起来,略过空值;STEP3, 在键值对的最后加上key=appId,STEP4, 进行MD5签名并且将所有字符转为大写
  3. 以上的签名规则,就是腾讯支付的签名规则

示例:


// 加密前,拼接好的字符串
deviceType=1&orderId=1&paymoney=100&key=wx41efa19737d03831

//加密后结果
A34BD35D45610AA1A65B3873B6185A8E

加密完成后替换回调URL中的sign字段

通知到账

校验服务器需要收到游戏服务器发送的 "1"(int型的1,不要加引号), 则认为订单被处理,此订单被关闭,否则将会在后期重试调用5次,5次后不再调用。

results matching ""

    No results matching ""