# 小程序支付

# 说明

  • 该接口适用于微信、支付宝
  • 个人的不可用,仅适用于已认证的企业小程序

# 接口地址

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