JSAPI支付(公众号支付)

流程:
1.先通过易风商户提供的获取openid接口获取待支付用户的openid
2.将易风商户返回的openid和订单信息组合
3.请求易风商户提供的API接口
4.易风商户将返回jsapi支付相关参数
5.调用微信jsapi支付相关js服务发起支付

请求地址:https://www.efengpay.com/api/v2/wechat/mp

请求方式:POST

请求参数:

字段 字段类型 是否必填 说明
app_key string app_key
sub_mch_id string 您在易风商户申请的小微商户号
openid string openid,可以通过 获取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": "20190402224239134",
        "out_trade_no": "asdnjakj1323cacasasddzzasdXC123dasd",
        "total_fee": 1,
        "jsapi_app_id": "wx25db1b0b82771257",
        "jsapi_timeStamp": "1554216159",
        "jsapi_nonceStr": "tdsIP3OFyiPkXQeK",
        "jsapi_package": "prepay_id=wx022242372507495d4a0a6c5d3539442205",
        "jsapi_signType": "MD5",
        "jsapi_paySign": "7EA921FA770EFCCABCFEE0D294D02117",
        "sign": "C2D1E60D815AE30706DADF86CA8D9A13"
    }
}

响应参数:

字段 类型 必须 说明
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支付参数

具体使用

在您成功创建订单之后,你会获取到一系列jsapi_开头的参数,这些参数是用来在微信端发起支付用的,如下:

注意在易风商户后台配置jsapi支付目录哦。

<script>
    function onBridgeReady(){
    WeixinJSBridge.invoke(
        'getBrandWCPayRequest', {
        "appId":"wx25db1b0b82771257", //公众号名称,由商户传入
        "timeStamp":"1554216889", //时间戳,自1970年以来的秒数
        "nonceStr":"cCtowhreO39YzzAW", //随机串
        "package":"prepay_id=wx022254476291111977dc395f0711456116",
        "signType":"MD5",
        "paySign":"ACD6C908CCBE6FE5CA32B180AE5B6740" //微信签名
    },
    function(res){
        if(res.err_msg == "get_brand_wcpay_request:ok" ){
            alert('支付成功');
        }
    });
    }
    if (typeof WeixinJSBridge == "undefined"){
        if( document.addEventListener ){
            document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
        }else if (document.attachEvent){
            document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
            document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
        }
    }else{
        onBridgeReady();
    }
</script>

上面的代码是jsapi支付的js代码,我们需要做的就是拿我们创建订单后返回的参数替换其中的参数即可。

results matching ""

    No results matching ""