付款码支付

更新时间:2025.02.17

收银员使用扫码设备读取微信用户付款码以后,二维码或条码信息会传送至商户收银台,由商户收银台或者商户后台调用该接口发起支付。

接口说明

支持商户:【普通服务商】

请求方式:【POST】/v3/pay/partner/transactions/codepay

请求域名:【主域名】https://api.mch.weixin.qq.com 使用该域名将访问就近的接入点

     【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点 ,指引点击查看

请求参数
折叠全部参数

Header HTTP头参数

Authorization  必填 string

请参考签名认证生成认证信息


Accept  必填 string

请设置为application/json


Content-Type  必填 string

请设置为application/json


body 包体参数

sp_appid  必填 string(32)

【合作伙伴应用AppID】合作伙伴应用AppID。


sp_mchid  必填 string(32)

【合作伙伴商户号】合作伙伴商户号。


sub_appid  选填 string(32)

【特约商户应用AppID】特约商户应用AppID。


sub_mchid  必填 string(32)

【特约商户商户号】特约商户商户号。


description  必填 string(127)

【商品描述】商品描述。


out_trade_no  必填 string(32)

【商户订单号】商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一。


attach  选填 string(128)

【附加数据】附加数据,在返回消息和查单API中原样返回,可作为自定义参数使用,实际情况下只有支付完成状态才会返回该字段。


goods_tag  选填 string(32)

【订单优惠标记】订单优惠标记。


support_fapiao  选填 boolean

【电子发票入口开放标识】传入true时,支付成功消息和支付详情页将出现开票入口。需要在微信支付商户平台或微信公众平台开通电子发票功能,传此字段才可生效。
true:是
false:否


payer  必填 object

【支付者】支付者。

属性

auth_code  必填 string(32)

【授权码】付款码支付授权码,即用户打开微信钱包显示的码。


amount  必填 object

【订单金额】订单金额信息。

属性

total  必填 integer

【总金额】订单总金额,单位为分,只能为整数,详见交易金额


currency  选填 string(16)

【货币类型】符合 ISO 4217 标准的三位字母代码,目前只支持人民币:CNY。


scene_info  必填 object

【场景信息】场景信息。

属性

device_id  选填 string(32)

【商户端设备号】商户端设备号(门店号或收银设备ID)。


device_ip  选填 string(45)

【商户端设备 IP】商户端设备 IP。


store_info  必填 object

【商户门店信息】商户门店信息。

属性

id  选填 string(32)

【门店编号】此参数与商家自定义编码(out_id)二选一必填。
微信支付线下场所ID,格式为纯数字。
基于合规要求与风险管理目的,线下条码支付时需传入用户实际付款的场景信息。
指引参见:微信支付门店编号查询


out_id  选填 string(64)

【商家自定义编码】此参数与门店(id)二选一必填。
商户系统的门店编码,支持大小写英文字母、数字,仅支持utf-8格式。
基于合规要求与风险管理目的,线下条码支付时需传入用户实际付款的场景信息。


detail  选填 object

【优惠功能】优惠功能。

属性

cost_price  选填 integer

【订单原价】1、商户侧一张小票订单可能被分多次支付,订单原价用于记录整张小票的交易金额。
2、当订单原价与支付金额不相等,则不享受优惠。
3、该字段主要用于防止同一张小票分多次支付,以享受多次优惠的情况,正常支付订单不必上传此参数。


invoice_id  选填 string(32)

【商品小票ID】商品小票ID。


goods_detail  必填 array[object]

【单品列表】单品列表。

属性

merchant_goods_id  必填 string(32)

【商品编码】由半角的大小写字母、数字、中划线、下划线中的一种或几种组成。


wxpay_goods_id  选填 string(32)

【微信支付商品编码】微信支付定义的统一商品编号(没有可不传)。


goods_name  选填 string(256)

【商品名称】商品的实际名称。


quantity  必填 integer

【商品数量】用户购买的数量。


unit_price  必填 integer

【商品单价】单位为:分。如果商户有优惠,需传输商户优惠后的单价(例如:用户对一笔 100 元的订单使用了商场发的优惠券 100-50,则活动商品的单价应为原单价 -50)。


settle_info  选填 object

【结算信息】结算信息。

属性

profit_sharing  选填 boolean

【是否指定分账】是否指定分账,枚举值:
true:是;false:否

请求示例

POST

1curl -X POST \
2  https://api.mch.weixin.qq.com/v3/pay/partner/transactions/codepay \
3  -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4  -H "Accept: application/json" \
5  -H "Content-Type: application/json" \
6  -d '{
7    "sp_appid" : "wxd678efh567hg6787",
8    "sp_mchid" : "1230000109",
9    "sub_appid" : "wxd678efh567hg6787",
10    "sub_mchid" : "1230000109",
11    "description" : "Image形象店-深圳腾大-QQ公仔",
12    "out_trade_no" : "1217752501201407033233368018",
13    "attach" : "自定义数据说明",
14    "goods_tag" : "WXG",
15    "support_fapiao" : false,
16    "payer" : {
17      "auth_code" : "130061098828009406"
18    },
19    "amount" : {
20      "total" : 100,
21      "currency" : "CNY"
22    },
23    "scene_info" : {
24      "device_id" : "013467007045764",
25      "device_ip" : "128.0.0.1",
26      "store_info" : {
27        "id" : "0001",
28        "out_id" : "A1111"
29      }
30    },
31    "detail" : {
32      "cost_price" : 608800,
33      "invoice_id" : "微信123",
34      "goods_detail" : [
35        {
36          "merchant_goods_id" : "1246464644",
37          "wxpay_goods_id" : "1001",
38          "goods_name" : "iPhoneX 256G",
39          "quantity" : 1,
40          "unit_price" : 528800
41        }
42      ]
43    },
44    "settle_info" : {
45      "profit_sharing" : false
46    }
47  }'
48

应答参数
折叠全部参数

200 OK

sp_appid  选填 string(32)

【合作伙伴应用AppID】合作伙伴应用AppID。


sp_mchid  必填 string(32)

【合作伙伴商户号】合作伙伴商户号。


sub_appid  选填 string(32)

【特约商户应用AppID】特约商户应用AppID。


sub_mchid  必填 string(32)

【特约商户商户号】特约商户商户号。


out_trade_no  必填 string(32)

【商户订单号】商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一。


transaction_id  选填 string(32)

【微信支付订单号】微信支付系统生成的订单号。


trade_type  选填 string(16)

【交易类型】交易类型,如下:

  • MICROPAY:付款码支付

  • FACEPAY:刷脸支付


bank_type  选填 string(32)

【银行类型】银行类型,采用字符串类型的银行标识。 银行标识请参考《银行类型对照表》。


success_time  选填 string(64)

【支付完成时间】支付完成时间。


trade_state  必填 string(16)

【交易状态】交易状态,枚举值:

  • SUCCESS:支付成功

  • REFUND:转入退款

  • NOTPAY:未支付

  • REVOKED:已撤销

  • USERPAYING:用户支付中

  • PAYERROR:支付失败


trade_state_desc  选填 string(256)

【交易状态描述】交易状态描述。


attach  选填 string(127)

【附加数据】附加数据,在返回消息和查单API中原样返回,可作为自定义参数使用,实际情况下只有支付完成状态才会返回该字段。


payer  选填 object

【支付者】支付者。

属性

sp_openid  选填 string(128)

【合作伙伴用户标识】用户在合作伙伴应用AppID下的唯一标识。


sub_openid  选填 string(128)

【特约商户用户标识】用户在特约商户应用AppID下的唯一标识。


amount  选填 object

【订单金额】订单金额信息。

属性

total  必填 integer

【订单金额】订单总金额,单位为分。


payer_total  选填 integer

【用户支付金额】用户支付金额,单位为分。(指使用优惠券的情况下,这里等于总金额-优惠券金额)


currency  选填 string(16)

【订单金额货币类型】CNY:人民币,境内商户号仅支持人民币。


payer_currency  选填 string(16)

【用户支付货币类型】用户支付货币类型。


promotion_detail  选填 array[object]

【优惠信息】优惠信息。

属性

coupon_id  必填 string(32)

【券ID】券ID。


name  选填 string(64)

【优惠名称】优惠名称。


scope  选填 string(32)

【优惠范围】优惠范围,枚举值:
GLOBAL:全场代金券
SINGLE:单品优惠


type  选填 string(32)

【优惠类型】优惠类型,枚举值:
CASH:充值型代金券
NOCASH:免充值型代金券


amount  必填 integer

【优惠券面额】优惠券面额。


stock_id  选填 string(32)

【活动ID】活动ID,批次ID。


wechatpay_contribute  选填 integer

【微信出资】微信出资,单位为分。


merchant_contribute  选填 integer

【商户出资】商户出资,单位为分。


other_contribute  选填 integer

【其他出资】其他出资,单位为分。


currency  选填 string(16)

【优惠货币类型】CNY:人民币,境内商户号仅支持人民币。


goods_detail  选填 array[object]

【单品列表】单品列表。

属性

goods_id  必填 string(32)

【商品编码】商品编码。


quantity  必填 integer

【商品数量】商品数量。


unit_price  必填 integer

【商品单价】商品单价,单位为分。


discount_amount  必填 integer

【商品优惠金额】商品优惠金额。


goods_remark  选填 string(128)

【商品备注】商品备注。

应答示例

200 OK

1{
2  "sp_appid" : "wxd678efh567hg6787",
3  "sp_mchid" : "1230000109",
4  "sub_appid" : "wxd678efh567hg6787",
5  "sub_mchid" : "1230000109",
6  "out_trade_no" : "1217752501201407033233368018",
7  "transaction_id" : "1217752501201407033233368018",
8  "trade_type" : "MICROPAY",
9  "bank_type" : "CCB_DEBIT",
10  "success_time" : "2018-06-08T10:34:56+08:00",
11  "trade_state" : "SUCCESS",
12  "trade_state_desc" : "支付成功",
13  "attach" : "自定义数据说明",
14  "payer" : {
15    "sp_openid" : "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",
16    "sub_openid" : "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"
17  },
18  "amount" : {
19    "total" : 100,
20    "payer_total" : 100,
21    "currency" : "CNY",
22    "payer_currency" : "CNY"
23  },
24  "promotion_detail" : [
25    {
26      "coupon_id" : "109519",
27      "name" : "单品惠-6",
28      "scope" : "GLOBAL",
29      "type" : "CASH",
30      "amount" : 100,
31      "stock_id" : "931386",
32      "wechatpay_contribute" : 0,
33      "merchant_contribute" : 0,
34      "other_contribute" : 0,
35      "currency" : "CNY",
36      "goods_detail" : [
37        {
38          "goods_id" : "M1006",
39          "quantity" : 1,
40          "unit_price" : 100,
41          "discount_amount" : 1,
42          "goods_remark" : "商品备注信息"
43        }
44      ]
45    }
46  ]
47}
48

 

错误码

公共错误码

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

请根据错误提示正确传入参数

400

INVALID_REQUEST

HTTP 请求不符合微信支付 APIv3 接口规则

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

 

 

元宝AI
反馈
目录
置顶