上传电子小票

更新时间: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)

【商户号】微信支付订单的下单商户号。若该笔微信支付订单存在下单子商户号,则该字段可不填。订单中无下单子商户该字段必填。


 out_trade_no  选填   string(32)

【商户订单号】微信支付订单的商户订单号。


 openid  必填   string(128)

【电子小票归属的OpenID】微信支付订单中OpenID。如果微信支付订单中有sub_OpenID,填写sub_OpenID内容。


 sha256  必填   string(256)

【电子小票图片文件摘要】图片文件的文件摘要,即对图片文件的二进制内容进行sha256计算得到的值。


 merchant_contact_information  选填   object

【联系商家】用户与商家的联系渠道

属性

 consultation_phone_number  选填   string(1024)

【商户售后咨询电话】 商户售后咨询电话。
该字段需要使用微信支付公钥加密(推荐),请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引,也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号平台证书加密敏感信息指引


 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  必填   object

图片文件。将图片文件以二进制方式读取后,原样设置到该HTTP文件表单对象的value中。电子小票图片只支持PNG、JPG格式,需在HTTP表单参数content-type中,设置图片类型为image/pngimage/jpg。文件大小不能超过200KB。

属性

 filename  选填   string

【文件名】由表单上传的文件部分的文件名


 content_type  选填   string

【文件类型】表示上传文件的 Content-Type


 content  选填   string

【文件内容】一个二进制串表示上传文件的整体内容

请求示例

1curl -X POST \
2  https://api.mch.weixin.qq.com/v3/marketing/shopping-receipt/shoppingreceipts \
3  -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4  -H "Accept: application/json" \
5  -H "Wechatpay-Serial: 5157F09EFDC096DE15EBE81A47057A7232F1B8E1"  \
6  -H "Content-Type: multipart/form-data" \
7  -F meta="{
8    "transaction_id" : "4200000008202209139188072801",
9    "transaction_mchid" : "1230000109",
10    "out_trade_no" : "1217752501201407033233368018",
11    "openid" : "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",
12    "sha256" : "2969f98ef4763da62670d3aee5d456b56a8f3447c0178da21445206aa400a464",
13    "merchant_contact_information" : {
14      "consultation_phone_number" : "pVd1HJ6v/69bDnuC4EL5Kz4jBHLiCa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg=="
15    },
16    "upload_time" : "2021-05-20T13:29:35.120+08:00"
17  }" \
18  -F file="{
19    "filename" : "example_filename",
20    "content_type" : "example_content_type",
21    "content" : "example_content"
22  }"

应答参数
折叠全部参数

200 OK

 receipt  必填   object

【电子小票】电子小票信息

属性

 receipt_id  必填   string(20)

【电子小票ID】电子小票ID


 state  必填   string

【电子小票图片审核状态】电子小票图片审核状态。微信支付会对商户上传的电子小票图片内容进行安全审核。审核结束后会根据结果修改电子小票图片审核状态。处于审核不通过状态的电子小票,用户查看电子小票时将使用默认图代替,其他状态正常展示。

  • WAIT_REVIEW: 等待审核

  • NOT_PASS_REVIEW: 审核不通过

  • PASS_REVIEW: 审核通过


 transaction_id  必填   string(32)

【微信支付订单号】微信支付订单的交易单号,上传的电子小票会关联到该订单。用户可以在该笔微信支付订单的账单详情页,看到上传的电子小票。


 transaction_mchid  选填   string(32)

【商户号】微信支付订单的商户号。


 openid  必填   string(128)

【电子小票归属的OpenID】微信支付订单中OpenID。


 brand_id  选填   int

【电子小票归属品牌ID】电子小票归属品牌的ID


 sha256  必填   string(256)

【电子小票图片文件摘要】图片文件的文件摘要,即对图片文件的二进制内容进行sha256计算得到的值。


 image_type  必填   string

【电子小票图片类型】标识电子小票图片类型。

  • PNG: 电子小票图片格式为PNG

  • JPG: 电子小票图片格式为JPG


 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

【联系商家】用户与商家的联系渠道

属性

 consultation_phone_number  选填   string(1024)

【商户售后咨询电话】 品牌售后部门的咨询电话。
该字段已做加密处理,具体解密方法详见如何使用API证书解密敏感字段


 upload_time  选填   string

【上传时间】 用于标识请求的先后顺序,该笔小票上传时填写则返回,没有不返回。遵循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

1{
2  "receipt" : {
3    "receipt_id" : "121630001",
4    "state" : "WAIT_REVIEW",
5    "transaction_id" : "1217752501201407033233368018",
6    "transaction_mchid" : "1230000109",
7    "openid" : "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",
8    "brand_id" : 1142,
9    "sha256" : "2969f98ef4763da62670d3aee5d456b56a8f3447c0178da21445206aa400a464",
10    "image_type" : "PNG",
11    "create_time" : "2015-05-20T13:29:35+08:00",
12    "modify_time" : "2015-05-20T13:29:35+08:00",
13    "merchant_contact_information" : {
14      "consultation_phone_number" : "pVd1HJ6v/69bDnuC4EL5Kz4jBHLiCa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg=="
15    },
16    "upload_time" : "2021-05-20T13:29:35.120+08:00"
17  }
18}
19

 

错误码

公共错误码

状态码

错误码

描述

解决方案

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

无效请求

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

 

 

元宝AI
反馈
目录
置顶