付款码支付

更新时间:2026.05.21

1、场景说明

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

2、接口说明

2.1 请求参数

字段名

变量名

必填

类型

示例值

描述

公众账号ID

appid

String(32)

wx8888888888888888

微信分配的公众账号ID

子商户公众账号ID

sub_appid

String(32)

wx8888888888888888

微信分配的子商户公众账号ID

商户号

mch_id

String(32)

1900000109

微信支付分配的商户号

子商户号

sub_mch_id

String(32)

1900000109

微信支付分配的子商户号

渠道商商户号

channel_id

String(32)

19000001

微信支付分配给收单服务商的ID

渠道商商户名称

channel_name

String(50)

收单服务商名称

微信支付分配给收单服务商的名称

商户名称

merchant_name

String(50)

商户公司名称

该名称是公司主体全称,绑定公众号时会对主体一致性校验

设备号

device_info

String(32)

013467007045764

终端设备号(商户自定义,如门店编号)

随机字符串

nonce_str

String(32)

5K8264ILTKCH16CQ2502SI8ZNMTM67VS

随机字符串,不长于32位。推荐随机数生成算法

签名

sign

String(344)

C380BEC2BFD727A4B6845133519F3AD6

签名

签名算法

sign_type

String(10)

RSA2

生成签名字符串所使用的签名算法类型,目前支持SM2、RSA2,推荐使用SM2

签名证书

cert_id

String(128)

-

签名证书序列号

商品描述

body

String(128)

形象店-深圳腾大-QQ公仔

商品或支付单简要描述,格式要求:门店品牌名-城市分店名-实际商品名称

商品详情

detail

object

-

单品优惠功能字段,详见下文说明

附加数据

attach

String(127)

-

附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据

经营类目

business

String(10)

101

行业类目

商户订单号

out_trade_no

String(32)

1217752501201407033233368018

商户系统内部的订单号,商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*且在同一个商户号下唯一。重新发起一笔支付要使用原订单号,避免重复支付。

总金额

total_fee

Int

888

订单总金额,单位为分,只能为整数

货币类型

fee_type

String(16)

CNY

符合ISO 4217标准的三位字母代码,默认人民币:CNY

终端IP

spbill_create_ip

String(40)

8.8.8.8

调用微信支付API的机器IP

订单优惠标记

goods_tag

String(32)

-

订单优惠标记,代金券或立减优惠功能的参数

指定支付方式

limit_pay

String(256)

no_credit

no_credit--指定不能使用信用卡支付;no_balance--指定不能使用零钱支付;ADULT--限制未成年人交易。支持拼接,例如no_balance|no_credit|ADULT

交易起始时间

time_start

String(14)

20091225091010

订单生成时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010。

交易结束时间

time_expire

String(14)

20091227091010

订单失效时间,格式为yyyyMMddHHmmss,如2009年12月27日9点10分10秒表示为20091227091010。注意:最短失效时间间隔大于1分钟

电子发票功能

need_receipt

boolean

true

需要和公众平台的发票功能联合使用

授权码

auth_code

String(128)

120061098828009406

扫码支付授权码,设备读取用户微信中的条码或者二维码信息;刷脸支付授权码,需配合刷脸设备使用,通过刷脸设备获取到的授权码(注:用户刷卡条形码规则:18位纯数字,以10、11、12、13、14、15开头)

场景信息

scene_info

object

-

该字段用于上报场景信息,目前支持上报实际门店信息。该字段为JSON对象数据,对象格式为{"store_info":{"id": "门店ID","name": "名称","area_code": "编码","address": "地址" }},字段详细说明参考下文。

终端信息

terminal_info

object

-

商户侧受理终端信息,字段详细说明参考下文。

地区信息

area_info

String(6)

510812

商户所在地地区信息,6位定长,精确到区县编码维度,与国家统计局一致。注:取值范围可参考《省市区结构说明》

加密信息

encrypt_info

object

-

加密信息

注意:

  • 终端类型(device_type)填写为02、03、04、05、06、08、09或10时,必须填写终端序列号。

  • 如经、纬度信息未上送,device_ip字段必送。

2.2 响应参数

字段名

变量名

必填

类型

示例值

描述

返回状态码

return_code

String(16)

SUCCESS

SUCCESS/FAIL。此字段是通信标识,非交易标识,交易是否成功需要查看trade_state来判断

返回信息

return_msg

String(128)

签名失败

返回信息,如非空,为错误原因:签名失败;参数格式校验错误

公众账号ID

appid

String(32)

wx8888888888888888

调用接口提交的公众账号ID

商户号

mch_id

String(32)

1900000109

调用接口提交的商户号

设备号

device_info

String(32)

013467007045764

调用接口提交的终端设备号

随机字符串

nonce_str

String(32)

5K8264ILTKCH16CQ2502SI8ZNMTM67VS

银联返回的随机字符串

签名

sign

String(344)

C380BEC2BFD727A4B6845133519F3AD6

银联返回的签名

签名算法

sign_type

String(10)

RSA2

本域不出现时,默认为RSA2算法。银联生成签名字符串所使用的签名算法类型,本域值同收单请求银联上送的sign_type。

业务结果

result_code

String(16)

SUCCESS

SUCCESS/FAIL

错误代码

err_code

String(32)

SYSTEMERROR

-

错误代码描述

err_code_des

String(128)

系统错误

错误返回的信息描述

用户标识

openid

String(128)

-

用户在商户appid下的唯一标识

用户子标识

sub_openid

String(128)

-

子商户appid下用户唯一标识,如需返回则请求时需要传sub_appid

交易类型

trade_type

String(16)

MICROPAY

枚举值:MICROPAY付款码支付;FACEPAY刷脸支付

付款银行

bank_type

String(32)

CMC

银行类型,采用字符串类型的银行标识;值列表详见银行类型

交易状态

trade_state

String(32)

SUCCESS

SUCCESS—支付成功;REFUND—转入退款;NOTPAY—未支付;CLOSED—已关闭;REVOKED—已撤销(付款码支付);USERPAYING—用户支付中;PAYERROR—支付失败(其他原因,如银行返回失败)

交易状态描述

trade_state_desc

String(256)

支付失败,请重新下单支付

对当前查询订单状态的描述和下一步操作的指引

标价币种

fee_type

String(16)

CNY

符合ISO 4217标准的三位字母代码,默认人民币:CNY

标价金额

total_fee

Int

888

订单总金额,单位为分,只能为整数

现金支付币种

cash_fee_type

String(16)

CNY

符合ISO 4217标准的三位字母代码,默认人民币:CNY

现金支付金额

cash_fee

Int

100

订单现金支付金额

应结订单金额

settlement_total_fee

Int

100

当订单使用了免充值型优惠券后返回该参数,应结订单金额=订单金额-免充值优惠券金额。

代金券金额

coupon_fee

Int

100

“代金券”金额<=订单金额,订单金额-“代金券”金额=现金支付金额

优惠功能

promotion_detail

array

-

优惠功能信息,详细说明见下文

银联订单号

transaction_id

String(32)

1217752501201407033233368018

银联订单号

商户订单号

out_trade_no

String(32)

1217752501201407033233368018

商户系统内部的订单号,商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*且在同一个商户号下唯一。重新发起一笔支付要使用原订单号,避免重复支付。

商家数据包

attach

String(128)

123456

商家数据包,原样返回

支付完成时间

time_end

String(14)

20141030133525

订单生成时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010。

风险控制信息

risk_info

object

-

风险控制信息,详细说明见下文

用户唯一编码

user_id

String(128)

-

微信用户唯一标识码

2.3 错误码

名称

描述

支付状态

原因

 

解决方案

SYSTEMERROR

接口返回错误

支付结果未知

系统超时

 

请立即调用被扫订单结果查询API,查询当前订单状态,并根据订单的状态决定下一步的操作。

PARAM_ERROR

参数错误

支付确认失败

请求参数未按指引进行填写

 

请根据接口返回的详细信息检查您的程序

ORDERPAID

订单已支付

支付确认失败

订单号重复

 

请确认该订单号是否重复支付,如果是新单,请使用新订单号提交

NOAUTH

商户无权限

支付确认失败

商户没有开通被扫支付权限

 

请开通商户号权限

AUTHCODEEXPIRE

用户的条码已经过期

支付确认失败

二维码已过期

 

请收银员提示用户,请在微信上刷新条码,然后请收银员重新扫码。

NOTENOUGH

余额不足

支付确认失败

用户的零钱余额不足

 

直接将错误展示给收银员;请收银员提示用户更换当前支付的卡,然后请收银员重新扫码。建议:商户系统返回给收银台的提示为“用户余额不足,提示用户换卡支付”

NOTSUPORTCARD

不支持卡类型

支付确认失败

用户使用卡种不支持当前支付形式

 

请用户重新选择卡种;建议:商户系统返回给收银台的提示为“该卡不支持当前支付,提示用户换卡支付或绑新卡支付”

ORDERCLOSED

订单已关闭

支付确认失败

商户订单号异常,该订单已关闭

 

请重新下单支付

ORDERREVERSED

订单已撤销

支付确认失败

当前订单已经被撤销

 

当前订单状态为“订单已撤销”,请提示用户重新支付

BANKERROR

银行系统异常

支付结果未知

银行端超时

 

请立即调用被扫订单结果查询API,查询当前订单的不同状态,决定下一步的操作。

 

元宝AI
反馈
目录
置顶