# 小程序支付
# 说明
- 该接口适用于微信、支付宝
- 个人的不可用,仅适用于已认证的企业小程序
# 接口地址
https://open.weidoufu.com/pay/miniapp (opens new window)
请求方式:POST
# 接口参数
字段名称 | 字段类型 | 必填参数 | 说明 (AccessKey/SecretKey)应用密钥 |
---|---|---|---|
access_key | string(32) | 是 | 应用密钥的 AK,即是 AccessKey |
body | string(32) | 是 | 商品名称 例如:QQ 会员充值 |
out_order_no | string(32) | 是 | 商户订单号(字母、数字,至少 18 位长度) |
pay_type | int(2) | 是 | 支付类型:1-微信;2-支付宝 |
total_fee | int(9) | 是 | 价格单位:分 |
openid | string(32) | 选 | 微信必传,在小程序内获取 openid |
buyer_id | string(32) | 选 | 支付宝必传,在小程序内获取 buyer_id |
notify_url | string(128) | 是 | 你平台的回调地址 例如:http://www.your.com/notify_url |
attach | string(128) | 否 | 附加信息,回调时原样传回 例如:{test:'test1_params'} |
ledger | string(512) | 否 | 分账接收方,jsonArray 格式 例如:'[{"amount":1,"sub_mch_no":"xxxxxxxx"}]' |
sign | string | 是 | 签名结果(大写),详见 签名算法 (opens new window) |
特殊说明:pay_type 为 1 时,openid
必传;pay_type 为 2 时,buyer_id
必传;
openid(微信) 和 buyer_id(支付宝) 二选一
# 返回参数(微信)
返回为 json 格式
名称 | 字段类型 | 必有 | 说明 |
---|---|---|---|
code | int | 是 | 1:成功 0:失败 |
message | string | 是 | 返回描述信息 |
mch_trade_no | string | 是 | 平台返回的订单号 |
out_order_no | string | 是 | 商户订单号(字母、数字) |
app_id | string | 否 | jsapi 支付参数 |
timestamp | string | 否 | jsapi 支付参数 |
nonce_str | string | 否 | jsapi 支付参数 |
package | string | 否 | jsapi 支付参数 |
sign_type | string | 否 | jsapi 支付参数 |
pay_sign | string | 否 | jsapi 支付参数 |
成功返回:
{
code: 1,
message: "成功",
data: {
mch_trade_no: '202105135513716648486662',
out_order_no: '180901620895069445',
jsapi: {
app_id: 'wx369ab4160391bvbgg',
timestamp: '1620895076',
nonce_str: '82aafec92844bd7b7575e5d642911ac9',
package: 'prepay_id=wx1316375652779615245693f173dedb0000',
sign_type: 'MD5',
pay_sign: 'E1BDB03ECDC44F48CE1D4D353819318A'
}
}
}
# 返回参数(支付宝)
返回为 json 格式
名称 | 字段类型 | 必有 | 说明 |
---|---|---|---|
code | int(1) | 是 | 1:成功 0:失败 |
message | string | 是 | 返回描述信息 |
mch_trade_no | string | 是 | 平台返回的订单号 |
out_order_no | string | 是 | 商户订单号(字母、数字) |
trade_no | string | 否 | jsapi 支付参数 |
成功返回:
{
code: 1,
message: "成功",
data: {
mch_trade_no: '202105135513716648486662',
out_order_no: '180901620895069445',
jsapi: {
trade_no: '20211127220461494775747063371',
}
}
}
失败返回:
{
code: 0,
message: "签名错误",
data: {
mch_trade_no: '202105135513716100622151',
out_order_no: '1809016208199613140',
jsapi: ''
}
}
# 微信 demo
通过接口获取支付包信息调起支付,以 uniapp 为例
此处 wxJsPackage
为通过接口获取的支付包信息,请自行定变量
uni.requestPayment({
provider: "wxpay",
orderInfo: "wx",
timeStamp: this.wxJsPackage.timestamp,
nonceStr: this.wxJsPackage.nonce_str,
package: this.wxJsPackage.package,
signType: this.wxJsPackage.sign_type,
paySign: this.wxJsPackage.pay_sign,
success: (res) => {},
fail: (err) => {},
complete: (err) => {},
});
# 支付宝 demo
参考支付宝生活号调起支付方法
最后更新于: 1/11/2024, 10:57:30 PM