付款码支付

更新时间:2025.02.17

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

接口说明

支持商户:【普通商户】

请求方式:【POST】/v3/pay/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 包体参数

appid  必填 string(32)

【应用AppID】应用AppID。


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:否

请求示例

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

应答参数
折叠全部参数

200 OK

appid  选填 string(32)

【应用AppID】应用AppID。


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

【支付者】支付者。

属性

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

 

错误码

公共错误码

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

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

400

INVALID_REQUEST

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

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

 

 

元宝AI
反馈
目录
置顶