上傳文件API
部分微信支付境外業(yè)務(wù)指定商戶需要上傳文件資料,可使用本API來(lái)提交資料,獲取其他業(yè)務(wù)API所需的FileID值。
部分微信支付境外業(yè)務(wù)指定商戶需要上傳文件資料,可使用本API來(lái)提交資料,獲取其他業(yè)務(wù)API所需的FileID值。
適用對(duì)象:直連模式 機(jī)構(gòu)模式
請(qǐng)求URL:https://apihk.mch.weixin.qq.com/v3/global/merchant-storage/file/upload
請(qǐng)求主體類型:multipart/form-data
請(qǐng)求方式:POST
參數(shù)名 | 變量 | 類型[長(zhǎng)度限制] | 必填 | 描述 |
---|---|---|---|---|
文件信息 | file | object | 是 | Body將文件進(jìn)行二進(jìn)制轉(zhuǎn)換,得到的二進(jìn)制內(nèi)容,在請(qǐng)求body中上傳此二進(jìn)制內(nèi)容。文件支持PDF、JPG、BMP、PNG格式,文件大小不能超過(guò)5M。 |
文件元信息 | meta | object | 是 | Body文件元信息,使用json表示,包含兩個(gè)對(duì)象:filename、digest |
---示例代碼待更新---
參數(shù)名 | 變量 | 類型[長(zhǎng)度限制] | 必填 | 描述 |
---|---|---|---|---|
文件標(biāo)識(shí)ID | file_id | string[16, 64] | 是 | 微信返回的文件標(biāo)識(shí)ID 示例值:b6a17e2a-1dc4-4376-8630-e73d06490c0d |
{
"file_id": "b6a17e2a-1dc4-4376-8630-e73d06490c0d"
}
例如:
POST https://apihk.mch.weixin.qq.com/v3/global/merchant-storage/file/upload HTTP/1.1
5.2.1 文件信息file參數(shù)的獲取方式說(shuō)明:
將文件進(jìn)行二進(jìn)制轉(zhuǎn)換,得到的二進(jìn)制內(nèi)容, 放在請(qǐng)求http的body中。
5.2.2 文件元信息meta參數(shù)的獲取方式說(shuō)明:
文件元信息,使用json表示,包含兩個(gè)對(duì)象:filename、digest。
● filename參數(shù)獲取方式說(shuō)明:
商戶上傳文件的名稱,商戶自定義,必須以PDF、JPG、BMP、PNG為后綴。
● digest參數(shù)獲取方式說(shuō)明:
文件摘要,即對(duì)上傳文件的二進(jìn)制內(nèi)容進(jìn)行sha256計(jì)算得到的值。
5.2.3 簽名計(jì)算說(shuō)明:
簽名生成
參與簽名計(jì)算的請(qǐng)求主體為meta的json串:
? {"filename": "file1.pdf", "sha256": "hjkahkjsjkfsjk78687dhjahdajhk"}
Example of a string to be signed:
POST
/v3/global/merchant-storage/file/upload
1566987169 // 時(shí)間戳
12ced2db6f0193dda91ba86224ea1cd8 // 隨機(jī)數(shù)
{"filename": "file1.pdf", "sha256": "hjkahkjsjkfsjk78687dhjahdajhk"}
Content-Type:multipart/form-data.設(shè)置為要上載的對(duì)象的MIME媒體類型。
Authorization: WECHATPAY2-SHA256-RSA2048 mchid="1900231671",
nonce_str="PCHK6HSOEDTACETP6P3AL7DWPHTBKIAT",timestamp="1567067659",
serial_no="1FB89742D19F2BD30B69948D16DECA0FCB4481EB",
signature="PB6M7+3JL7TSCl5zqD1sdWVypOIEQsD4dgOU+vPiVM6GMRo2qYSWKf8u46i9ZJFhyZTBdZ7SFR+BjDZh6
89hFgN8LZL+QWTvq3cse/FEUFYyOLN7L/2IZX4GA4cWInuJ2MpOhZRMpm+emrcn42gTMKAPNQ7dBLO7ux6MoSuQp69
PW+p1ogmkER68exTVUXYqA5P3vITlWNr++RDy2+ExvB7qVISOKW0vBkxUxN9e7hwUbDwGln170ZXomoO1KpQSbw3f1u
WUCx/IlWJhJIun7rUMtVT+kfijNUqcILtSfE4hWKKVaZn9j5CX8M7aKbbDOFy3SvbSJ3WQgRnRbgog5w=="
Content-Type: multipart/form-data;boundary=boundary
// 以下為body的內(nèi)容
--boundary // boundary為商戶自定義的一個(gè)字符串
Content-Disposition: form-data; name="meta";
Content-Type: application/json
//此處必須有一個(gè)空行
{"filename": "file1.pdf", "sha256": "hjkahkjsjkfsjk78687dhjahdajhk"}
--boundary
Content-Disposition: form-data; name="file"; filename="file1.pdf";
Content-Type: application/pdf
//此處必須有一個(gè)空行
context123 //context123即為所要上傳文件的二進(jìn)制內(nèi)容
--boundary--
說(shuō)明:請(qǐng)求包體每行結(jié)尾都需要包含\r\n(空行也需要)。
POST /v3/global/merchant-storage/file/upload HTTP/1.1
Host: api.mch.weixin.qq.com
Authorization: WECHATPAY2-SHA256-RSA2048
mchid="1900231671",nonce_str="PCHK6HSOEDTACETP6P3AL7DWPHTBKIAT",
timestamp="1567067659",
serial_no="1FB89742D19F2BD30B69948D16DECA0FCB4481EB",
signature="PB6M7+3JL7TSCl5zqD1sdWVypOIEQsD4dgOU+vPiVM6GMRo2qYSWKf8u46i9ZJFhyZTBdZ7
SFR+BjDZh689hFgN8LZL+QWTvq3cse/FEUFYyOLN7L/2IZX4GA4cWInuJ2MpOhZRMpm+emrcn42gTMKAPN
Q7dBLO7ux6MoSuQp69PW+p1ogmkER68exTVUXYqA5P3vITlWNr++RDy2+ExvB7qVISOKW0vBkxUxN9e
7hwUbDwGln170ZXomoO1KpQSbw3f1uWUCx/IlWJhJIun7rUMtVT+kfijNUqcILtSfE4hWKKVaZn9j5CX8M
7aKbbDOFy3SvbSJ3WQgRnRbgog5w=="
Content-Type: multipart/form-data;boundary=boundary
--boundary
Content-Disposition: form-data; name="meta";
Content-Type: application/json
{"filename": "file1.pdf", "sha256": "hjkahkjsjkfsjk78687dhjahdajhk"}
--boundary
Content-Disposition: form-data; name="file"; filename="file1.pdf";
Content-Type: application/pdf
context123
--boundary--
狀態(tài)碼 | 錯(cuò)誤碼 | 描述 | 解決方案 |
---|---|---|---|
400 | INVALID_REQUEST | 上傳文件的文件大小不能超過(guò)5M,請(qǐng)檢查所傳字段(content)的大小 | 請(qǐng)更換文件或者對(duì)文件進(jìn)行壓縮后,重新調(diào)用 |
400 | INVALID_REQUEST | 上傳文件的內(nèi)容經(jīng)過(guò)sha256加密算法計(jì)算后的值和所傳字段(digest)的值不一致,請(qǐng)檢查所傳字段(digest)的計(jì)算方式 | 請(qǐng)參考指引,檢查所傳字段(digest)的計(jì)算方式 |
400 | INVALID_REQUEST | 上傳文件的文件類型暫時(shí)不支持 | 請(qǐng)檢查所傳字段(content_type)是否在pdf, jpg, bmp, png中 |
Customer Service Tel
Business Development
9:00-18:00
Monday-Friday GMT+8
Technical Support
WeChat Pay Global
ICP證