# wx.requestCommonPayment(Object object)

基础库 2.19.2 开始支持,低版本需做兼容处理

Promise 风格 调用:不支持

小程序插件:不支持

# 功能描述

发起通用支付。目前该接口仅支持 B2b 支付类型。

# 参数

# Object object

属性 类型 默认值 必填 说明
mode string 支付的类型
合法值 说明
retail_pay_goods B2b支付
signData Object 具体支付参数见signData, 该参数需以string形式传递, 例如signData: '{"mchid":"1234567890","out_trade_no":"test1244","description":"测试测试","amount":{"order_amount":1,"currency":"CNY"},"attach":"test_attach","env":1}'
结构属性 类型 默认值 必填 说明
offerId string 在米大师侧申请的应用 id, mp-支付基础配置中的offerid
buyQuantity number 购买数量
env number 环境配置, 0 米大师正式环境, 1 米大师沙箱环境, 默认为 0
合法值 说明
0 生产环境/现网环境
1 沙箱环境/测试环境
currencyType string 币种
合法值 说明
CNY 人民币
platform string 申请接入时的平台, platform 与应用id有关
合法值 说明
android 安卓平台
productId string 道具ID
goodsPrice number 道具单价(分), 用来校验价格与后台道具价格是否一致, 避免用户在业务商城页看到的价格与实际价格不一致导致投诉
outTradeNo string 业务订单号, 每个订单号只能使用一次, 重复使用会失败(极端情况不保证唯一, 不建议业务强依赖唯一性). 要求8-32个字符内, 只能是数字、大小写字母、符号 _-|*@组成, 不能以下划线(_)开头
attach string 透传数据, 发货通知时会透传给开发者
mchid string 由微信支付生成并下发的商户号。示例值:1230000109
out_trade_no string 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,长度限制为[6,32]。示例值:1217752501201407033233368018
description string 商品描述。示例值:Image形象店-深圳腾大-QQ公仔
amount Object 订单金额信息。
结构属性 类型 默认值 必填 说明
product_amount number 订单所有商品的原价总和,单位为分。示例值:1000
freight number 订单运费,单位为分。示例值:200
discount number 订单总计优惠金额,单位为分。示例值:500
other_fee number 订单其他费用总金额,单位为分。示例值:600
order_amount number 订单总需支付金额,也即是真正下单总金额,单位为分。示例值:1300
currency string 货币类型。示例值:CNY
合法值 说明
CNY 人民币
attach string 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用,实际情况下只有支付完成状态才会返回该字段。示例值:test_attach
product_info Object 订单详细商品信息列表。
结构属性 类型 默认值 必填 说明
spu_id string 商户系统内该商品的spuid。示例值:spu123456
sku_id string 商户系统内该商品的skuid。示例值:sku123
title string 商品标题。示例值:QQ长鹅
path string 商户商品详请页小程序路径。示例值:pages/index
head_img string 商品主图的url,大小建议64*64。示例值:https://mp.weixin.qq.com/123
category string 商户侧该商品所属的类目。示例值:玩偶
sku_attr string 商户系统内该商品的sku属性。示例值:50cm
org_price number 该商品原价,单位为分。示例值:5000
sale_price number 该商品售价,单位为分。示例值:4000
quantity number 用户购买该商品的数量。示例值:5
delivery_type number 配送方式。示例值:2
合法值 说明
1 同城配送
2 快递配送
3 门店自提
4 无需配送与提货
env number 下单环境。示例值:0
合法值 说明
0 生产环境/现网环境
1 沙箱环境/测试环境
paySig string 支付签名, 详见《签名详解》
signature string 用户态签名, 详见《签名详解》
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

# object.success 回调函数

# 参数
# Object res
属性 类型 说明
errMsg string 调用成功信息

# object.fail 回调函数

# 参数
# Object err
属性 类型 说明
errMsg string 错误信息
errno number 错误码

# 错误

错误码 错误信息 说明
1000 系统错误
1022 参数json格式非法
702001 参数错误,具体原因见errMsg
702002 用户态签名错误
702003 支付签名错误
702004 mode不合法
702005 out_trade_no重复,请更换新单号重试
702006 二级商户进件未完成
702007 用户未授权给品牌
702008 正式版小程序只能用生产环境下单

# 注意事项:

# 示例代码

  wx.requestCommonPayment({
    signData: JSON.stringify({
      mchid: '1234567890',
      out_trade_no: 'test1244',
    description: '测试测试',
    amount: {
      order_amount: 1,
      currency: 'CNY'
    },
    attach: 'test_attach',
    product_info: {
      product_list: [{
        spu_id: 'spu123456',
        sku_id: 'sku123',
        title: 'QQ长鹅',
        path: 'pages/index',
        head_img: 'https://mp.weixin.qq.com/123',
        category: '玩偶',
        sku_attr: '50cm',
        org_price: 5000,
        sale_price: 4000,
        quantity: 5
      }]
    },
    delivery_type: 2,
      env: 0
    }),
    paySig: 'd0b8bbccbe109b11549bcfd6602b08711f46600965253a949cd6a2b895152f9d',
    signature: 'd0b8bbccbe109b11549bcfd6602b08711f46600965253a949cd6a2b895152f9d',
    mode: 'retail_pay_goods',
    success(res) {
      console.log('requestCommonPayment success', res)
    },
    fail({ errMsg, errno }) {
      console.error(errMsg, errno)
    },
  })