聚合支付之小程序支付

流程:

1.客户使用自己的小程序获取用户的openid

2.请求易商户提供的API接口

3.易商户将返回小程序支付相关参数

4.调用微信小程序支付

请求地址:https://api.1shanghu.com/api/v1/channel/wechat/mini

请求方式:POST

请求参数:

字段 字段类型 是否必填 说明
app_key string app_key
app_id string 您在易商户申请的商户应用id
openid string 客户自己小程序下的用户openid,具体参考微信小程序文档
total_fee int 订单总支付金额,单位:分
out_trade_no string 用户自定义订单编号
subject string 用户自定义商品名
notify_url string 支付成功之后的异步回调地址
sign string 签名,具体请看 签名规则
extra string 用户自定义参数,在回调的时候原样返回,不超过200和字符

响应(失败)

{
    "code": 500,
    "message": "订单已存在"
}

响应(成功)

{
    "code": 200,
    "message": "success",
    "data": {
        "order_sn": "2019122710490011511052",
        "out_trade_no": "CASH2019121915535732858111223344789123",
        "total_fee": "1",
        "jsapi_app_id": "wxee93b6e90f4c4f8f",
        "jsapi_timeStamp": "1577414941",
        "jsapi_nonceStr": "CuhGE2TyqeZ4i4SRBtTrd3vUKnWWPJGU",
        "jsapi_package": "prepay_id=wx271049014419357755655cc41479117400",
        "jsapi_signType": "RSA",
        "jsapi_paySign": "1K/0bvrz7Wek0w8KQfAgQDGrdz3/Qe5RTDxh8NDoSVisGYqihNuIswfsUBUFaFjErKrHF0iP/BXtfcXNAROlqON33lQtFY/06xmgGopuZo522Ls2dc8/wKKK1Il5lBXuduBRg7YR/GlMov5TMbWogWSJNvt0G9J4j9IeKkj0K0R7uFoThGuFEtaj/XDoAyRUtKVSkWVfZOSOHFq/ZBmFp0U0a4BizOf7MEl0q4CNeg0RA/AGwgeg+gzIWH7mzECOcOLoYvcNcBMCxCalc1oIY0HgvTIwxJspESgVv6uJ0HzUQGtvdVN7eoIhwMZnI4sxLBPDwklLqA5jzvQfF+yHVg==",
        "sign": "B61E1189A0F7F184E570BF0F31D3E99A"
    }
}

响应参数:

字段 类型 必须 说明
code int 状态码,200为成功,其它为失败
message string 状态文本

下面参数是请求成功之后返回的:

字段 类型 必须 说明
data.order_sn string 易商户平台订单号
data.out_trade_no string 客户自定义订单号
data.total_fee int 订单金额,单位:分
data.sign string 签名
data.jsapi_app_id string jsapi支付参数
data.jsapi_timeStamp string jsapi支付参数
data.jsapi_nonceStr string jsapi支付参数
data.jsapi_package string jsapi支付参数
data.jsapi_signType string jsapi支付参数
data.jsapi_paySign string jsapi支付参数

具体使用

下面是发起微信小程序支付的demo

wx.request({
    url: 'http://127.0.0.1:8000/api/v1/channel/wechat/mini',
    method: 'POST',
    data: {
        'app_key': 'gVbMznSAKGGCKcGgRNPUgiTKMDAwMU9F',
        'app_id': 'wx335189dd8ff06cb9',
        'openid': 'openid',
        'total_fee': 1,
        'out_trade_no': '123asd123zxczxc121233zzxa13',
        'notify_url': '123',
        'subject': '小程序测试支付'
        'sign': 'C1709AAC02B62ED220583DEBC7451B62',
    },
    success: function (res) {
        let data = res.data.data;
        wx.requestPayment({
            timeStamp: data.jsapi_timeStamp,
            nonceStr: data.jsapi_nonceStr,
            package: data.jsapi_package,
            signType: data.jsapi_signType,
            paySign: data.jsapi_paySign,
            success(res) {
                console.log(res);
            },
            fail(res) {
                console.log(res);
            }
        })
    }
})

results matching ""

    No results matching ""