# 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}'
结构属性 类型 默认值 必填 说明
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)
    },
  })