LightSDK.native.tradePay

功能描述

通过js传入经服务器加签后的订单信息(orderInfo)并调用相应支付渠道SDK的支付接口

支持格式

Json

请求参数:

字段 可选 类型及范围 说明
channel_id string 021:支付宝钱包 022:微信钱包
orderInfo json 具体内容见下方的”其他(当支付渠道为微信钱包时/当支付渠道为微信钱包时)”项
isSandBox bool 是否进入沙箱环境(只对支付宝有效)

请求调用示例

//支付渠道为支付宝钱包
params={
"channel_id":"021", "orderInfo":"app_id=2015052600090779&biz_content=%7B%22timeout_express%22%3A%2230m%22%2C%22seller_id%22%3A%22%22%2C%22product_code%22%3A%22QUICK_MSECURITY_PAY%22%2C%22total_amount%22%3A%220.01%22%2C%22subject%22%3A%221%22%2C%22body%22%3A%22%E6%88%91%E6%98%AF%E6%B5%8B%E8%AF%95%E6%95%B0%E6%8D%AE%22%2C%22out_trade_no%22%3A%22IQJZSRC1YMQB5HU%22%7D&charset=utf-8&format=json&method=alipay.trade.app.pay&notify_url=http%3A%2F%2Fdomain.merchant.com%2Fpayment_notify&sign_type=RSA2&timestamp=2016-08-25%2020%3A26%3A31&version=1.0&sign=cYmuUnKi5QdBsoZEAbMXVMmRWjsuUj%2By48A2DvWAVVBuYkiBj13CFDHu2vZQvmOfkjE0YqCUQE04kqm9Xg3tIX8tPeIGIFtsIyp%2FM45w1ZsDOiduBbduGfRo1XRsvAyVAv2hCrBLLrDI5Vi7uZZ77Lo5J0PpUUWwyQGt0M4cj8g%3D"

};
LightSDK.native.tradePay(params,cb);

//支付渠道为微信钱包
params={
"channel_id":"022",
"orderInfo":{
"appid":"wx8888888888888888",
"partnerid":"1900000109",
"prepayid":"WX1217752501201407033233368018",
"package":"Sign=WXPay",
"noncestr":"5K8264ILTKCH16CQ2502SI8ZNMTM67VS",
"timestamp":"1412000000",
"sign":"C380BEC2BFD727A4B6845133519F3AD6"
}
};
LightSDK.native.tradePay(params,cb);

返回值说明

字段名 字段类型 字段值 说明
resultStatus string 1001 支付完成
resultStatus string 1003 支付取消
resultStatus string 1005 支付异常

返回字段示例

{
"info": {
"error_code": "0",
"error_message": "success"
},
"data":
{"resultStatus":"1001"}
}

注意事项

需要在config.js中配置:

module.exports = {
plugins:{
“pay”: {}
}
};

其他

1.当支付渠道为支付宝钱包时:
orderInfo字段:app支付请求参数字符串由2部分组成(两部分的链接以&连接,需要encode):
第1部分:主要包含商户的订单信息,key=value形式,以&连接,需要用到图1和图2中的参数,具体内容参考图例说明。
第2部分:服务器通过第1部分的参数加签后所生成的签名。

未经过encode的orderInfo参数形式如下:

app_id=2015052600090779&biz_content={"timeout_express":"30m","seller_id":"","product_code":"QUICK_MSECURITY_PAY","total_amount":"0.01","subject":"1","body":"我是测试数据","out_trade_no":"IQJZSRC1YMQB5HU"}&charset=utf-8&format=json&method=alipay.trade.app.pay&notify_url=http://domain.merchant.com/payment_notify&sign_type=RSA2&timestamp=2016-08-25 20:26:31&version=1.0&sign=cYmuUnKi5QdBsoZEAbMXVMmRWjsuUj+y48A2DvWAVVBuYkiBj13CFDHu2vZQvmOfkjE0YqCUQE04kqm9Xg3tIX8tPeIGIFtsIyp/M45w1ZsDOiduBbduGfRo1XRsvAyVAv2hCrBLLrDI5Vi7uZZ77Lo5J0PpUUWwyQGt0M4cj8g=

encode规则:对请求字符串的所有一级value(biz_content作为一个value)进行encode,编码格式按请求串中的charset为准,没传charset按UTF-8处理。
请求参数的具体组装可以参考:https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.4oWsGk&treeId=193&articleId=105465&docType=1

2.当支付渠道为微信钱包时:

orderInfo字段:app支付请求参数字符串,具体内容字段描述见下图。请求参数的具体组装可以参考:点我进入 (涉及一些算法要求)。

支付宝钱包支付的公共参数:

支付宝钱包支付的业务参数: