上传电子小票
更新时间:2025.01.09商户将支付成功回传的参数填入指定字段,可以给指定微信支付订单上传电子小票。 上传成功后,用户可以在账单详情页看到商户上传的电子小票。
接口说明
支持商户:【普通服务商】 【渠道商】
请求方式:【POST】/v3/marketing/shopping-receipt/shoppingreceipts
请求域名:【主域名】https://api.mch.weixin.qq.com 使用该域名将访问就近的接入点
【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点 ,指引点击查看
请求参数
Header HTTP头参数
Authorization 必填 string
请参考签名认证生成认证信息
Accept 必填 string
请设置为application/json
Content-Type 必填 string
请设置为multipart/form-data
Wechatpay-Serial 必填 string
【微信支付公钥ID】或【微信支付平台证书序列号】请求参数中的敏感字段,需要使用微信支付公钥加密(推荐),请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引,也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号、平台证书加密敏感信息指引
Form 表单
meta 必填 object
【电子小票上传信息】 电子小票上传信息
| 属性 | |||||
transaction_id 必填 string(32) 【微信支付订单号】微信支付订单的交易单号,上传的电子小票会关联到该订单。用户可以在该笔微信支付订单的账单详情页,看到上传的电子小票。 transaction_mchid 选填 string(32) 【商户号】微信支付订单的下单商户号。若该笔微信支付订单存在下单子商户号,则该字段可不填。订单中无下单子商户该字段必填。 transaction_sub_mchid 选填 string(32) 【子商户号】微信支付订单的下单子商户号。若该笔微信支付订单不存在下单子商户号,则该字段不填。订单中有下单商户号该字段必填。 out_trade_no 选填 string(32) 【商户订单号】微信支付订单的商户订单号。 openid 必填 string(128) 【电子小票归属的OpenID】微信支付订单中OpenID。如果微信支付订单中有sub_OpenID,填写sub_OpenID内容。 sha256 必填 string(256) 【电子小票图片文件摘要】图片文件的文件摘要,即对图片文件的二进制内容进行sha256计算得到的值。 merchant_contact_information 选填 object 【联系商家】用户与商家的联系渠道
upload_time 选填 string(32) 【上传时间】上传时间,用于标识请求的先后顺序。遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss.SSS+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,SSS表示毫秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35.100+08:00表示,北京时间2015年5月20日13点29分35秒100毫秒。 |
file 必填 File
图片文件。将图片文件以二进制方式读取后,原样设置到该HTTP文件表单对象的value中。电子小票图片只支持PNG、JPG格式,需在HTTP表单参数content-type中,设置图片类型为image/png或image/jpg。文件大小不能超过200KB。
请求示例
POST /v3/marketing/shopping-receipt/shoppingreceipts
应答参数
200 OK
receipt 必填 object
【电子小票上传信息】
| 属性 | |||||
receipt_id 必填 string(20) 【电子小票ID】电子小票ID state 必填 string 【电子小票图片审核状态】电子小票图片审核状态。微信支付会对商户上传的电子小票图片内容进行安全审核。审核结束后会根据结果修改电子小票图片审核状态。处于审核不通过状态的电子小票,用户查看电子小票时将使用默认图代替,其他状态正常展示。 可选取值::
transaction_id 必填 string(32) 【微信支付订单号】微信支付订单的交易单号,上传的电子小票会关联到该订单。用户可以在该笔微信支付订单的账单详情页,看到上传的电子小票。 transaction_mchid 选填 string(32) 【商户号】微信支付订单的商户号。 transaction_sub_mchid 选填 string(32) 【子商户号】微信支付订单的子商户号。 openid 必填 string(128) 【电子小票归属的OpenID】微信支付订单中OpenID。 brand_id 选填 int 【电子小票归属品牌ID】电子小票归属品牌的ID sha256 必填 string(256) 【电子小票图片文件摘要】图片文件的文件摘要,即对图片文件的二进制内容进行sha256计算得到的值。 image_type 必填 string 【电子小票图片类型】标识电子小票图片类型。 可选取值::
create_time 必填 string(32) 【创建时间】电子小票创建的时间,遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日13点29分35秒。 modify_time 必填 string(32) 【修改时间】电子小票最后一次修改时间,遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日13点29分35秒。 merchant_contact_information 选填 object 【联系商家】用户与商家的联系渠道
upload_time 选填 string(32) 【上传时间】上传时间,用于标识请求的先后顺序,该笔小票上传时填写则返回,没有不返回。遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss.SSS+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,SSS表示毫秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35.100+08:00表示,北京时间2015年5月20日13点29分35秒100毫秒。 |
应答示例
200 OK
错误码
公共错误码
状态码 | 错误码 | 描述 | 解决方案 |
|---|---|---|---|
400 | PARAM_ERROR | 参数错误 | 请根据错误提示正确传入参数 |
400 | INVALID_REQUEST | HTTP 请求不符合微信支付 APIv3 接口规则 | 请参阅 接口规则 |
401 | SIGN_ERROR | 验证不通过 | 请参阅 签名常见问题 |
500 | SYSTEM_ERROR | 系统异常,请稍后重试 | 请稍后重试 |
业务错误码
状态码 | 错误码 | 描述 | 解决方案 |
|---|---|---|---|
500 | SYSTEM_ERROR | 系统错误 | 请使用相同参数稍后重新调用 |
400 | PARAM_ERROR | 参数错误 | 根据错误提示,传入正确参数 |
429 | FREQUENCY_LIMITED | 频率超限 | 调用速度不要超过限制 |
400 | INVALID_REQUEST | 无效请求 | 请根据接口返回的详细信息检查 |

