视频一区二区三区自拍_千金肉奴隷1985未删减版在线观看_国产成人黄色视频在线播放_少女免费播放片高清在线观看_国产精品v欧美精品v

商戶進(jìn)件
特約商戶進(jìn)件
基礎(chǔ)支付
JSAPI支付
APP支付
H5支付
Native支付
小程序支付
合單支付
付款碼支付
經(jīng)營能力
支付即服務(wù)
點(diǎn)金計劃
行業(yè)方案
平臺收付通(商戶進(jìn)件)
平臺收付通(普通支付)
平臺收付通(合單支付)
平臺收付通(分賬)
平臺收付通(補(bǔ)差)
平臺收付通(退款)
平臺收付通(余額查詢)
平臺收付通(商戶提現(xiàn))
平臺收付通(注銷申請)
平臺收付通(注銷后提現(xiàn))
平臺收付通(跨境付款)
平臺收付通(下載賬單)
智慧商圈
微信支付分停車服務(wù)
電子發(fā)票
營銷工具
代金券
商家券
委托營銷
支付有禮
小程序發(fā)券插件
H5發(fā)券
圖片上傳(營銷專用)
現(xiàn)金紅包
資金應(yīng)用
分賬
連鎖品牌分賬
風(fēng)險合規(guī)
商戶開戶意愿確認(rèn)
消費(fèi)者投訴2.0
商戶違規(guī)通知回調(diào)
其他能力
圖片上傳
視頻上傳
微信支付平臺證書

視頻上傳API

最新更新時間:2019.10.23 版本說明

部分微信支付業(yè)務(wù)指定商戶需要使用視頻上傳 API來上報視頻信息,從而獲得必傳參數(shù)的值:視頻MediaID 。

接口說明

適用對象: 服務(wù)商 電商平臺

請求URL:https://api.mch.weixin.qq.com/v3/merchant/media/video_upload

請求主體類型:multipart/form-data

請求方式:POST


path指該參數(shù)為路徑參數(shù)

query 指該參數(shù)需在請求URL傳參

body 指該參數(shù)需在請求JSON傳參


請求參數(shù)

參數(shù)名 變量 類型[長度限制] 必填 描述
視頻文件 file message body 將媒體視頻進(jìn)行二進(jìn)制轉(zhuǎn)換,得到的媒體視頻二進(jìn)制內(nèi)容,在請求body中上傳此二進(jìn)制內(nèi)容。媒體視頻只支持avi、wmv、mpeg、mp4、mov、mkv、flv、f4v、m4v、rmvb格式,文件大小不能超過5M。
示例值:pic1
+媒體文件元信息 meta Object body 媒體文件元信息,使用json表示,包含兩個對象:filename、sha256。
參數(shù)名 變量 類型[長度限制] 必填 描述
文件名稱 filename string[1,128] 商戶上傳的媒體視頻的名稱,商戶自定義,必須以avi、wmv、mpeg、mp4、mov、mkv、flv、f4v、m4v、rmvb為后綴。
示例值:file_test.mp4
文件摘要 sha256 string[1,64] 視頻文件的文件摘要,即對視頻文件的二進(jìn)制內(nèi)容進(jìn)行sha256計算得到的值。
示例值:hjkahkjsjkfsjk78687dhjahdajhk

各語言請求示例

    
String filePath = "/your/home/hellokitty.avi";
URI uri = new URI("https://api.mch.weixin.qq.com/v3/merchant/media/video_upload");
File file = new File(filePath);

try (FileInputStream ins1 = new FileInputStream(file)) { 
  String sha256 = DigestUtils.sha256Hex(ins1);
  try (InputStream ins2 = new FileInputStream(file)) {
    HttpPost request = new WechatPayUploadHttpPost.Builder(uri)
        .withImage(file.getName(), sha256, ins2)
        .build();
    CloseableHttpResponse response1 = httpClient.execute(request);
  }
}
    
    
// 參考上述指引說明,并引入 `MediaUtil` 正常初始化,無額外條件
use WechatPay\GuzzleMiddleware\Util\MediaUtil;
// 實例化一個媒體文件流,注意文件后綴名需符合接口要求
$media = new MediaUtil('/your/file/path/with.extension');

// 正常使用Guzzle發(fā)起API請求
try {
    $resp = $client->request('POST', 'https://api.mch.weixin.qq.com/v3/merchant/media/video_upload', [
        'body'    => $media->getStream(),
        'headers' => [
            'Accept'       => 'application/json',
            'content-type' => $media->getContentType(),
        ]
    ]);
    // POST 語法糖
    $resp = $client->post('v3/merchant/media/video_upload', [
        'body'    => $media->getStream(),
        'headers' => [
            'Accept'       => 'application/json',
            'content-type' => $media->getContentType(),
        ]
    ]);
    echo $resp->getStatusCode().' '.$resp->getReasonPhrase()."\n";
    echo $resp->getBody()."\n";
} catch (Exception $e) {
    echo $e->getMessage()."\n";
    if ($e->hasResponse()) {
        echo $e->getResponse()->getStatusCode().' '.$e->getResponse()->getReasonPhrase()."\n";
        echo $e->getResponse()->getBody();
    }
    return;
}
    

JAVA詳細(xì)請求示例見:wechatpay-apache-httpclient

PHP詳細(xì)請求示例見:wechatpay-guzzle-middleware

返回參數(shù)

參數(shù)名 變量 類型[長度限制] 必填 描述
媒體文件標(biāo)識 Id media_id string[1,512] 微信返回的媒體文件標(biāo)識Id。
示例值:6uqyGjGrCf2GtyXP8bxrbuH9-aAoTjH-rKeSl3Lf4_So6kdkQu4w8BYVP3bzLtvR38lxt4PjtCDXsQpzqge_hQEovHzOhsLleGFQVRF-U_0

返回示例


{
"media_id": "H1ihR9JUtVj-J7CJqBUY5ZOrG_Je75H-rKhTG7FUmg9sxNTbRN54dFiUHnhg
rBQ6EKeHoGcHTJMHn5TAuLVjHUQDBInSWXcIHYXOeRa2OHA"
}
                                

    http://2323weixin.qq.com
                                

請求步驟

視頻上傳步驟:

1.創(chuàng)建一個POST的方法請求/video_upload URI


例如: POST https://api.mch.weixin.qq.com/v3/merchant/media/video_upload HTTP/1.1


2.將文件的數(shù)據(jù)添加到請求主體:


2.1 視頻文件file參數(shù)的獲取方式說明:
媒體視頻二進(jìn)制內(nèi)容,放在請求http的body中。


2.2 媒體文件元信息meta參數(shù)的獲取方式說明:
媒體文件元信息,使用json表示,包含兩個對象:filename、sha256。
● filename參數(shù)獲取方式說明:
商戶上傳的媒體視頻的名稱,商戶自定義,必須以avi、wmv、mpeg、mp4、mov、mkv、flv、f4v、m4v、rmvb為后綴。
● sha256參數(shù)獲取方式說明:
視頻文件的文件摘要,即對視頻文件的二進(jìn)制內(nèi)容進(jìn)行sha256計算得到的值。


2.3 簽名計算說明:
簽名生成
參與簽名計算的請求主體為meta的json串:
{ "filename": "filea.mp4", "sha256": "hjkahkjsjkfsjk78687dhjahdajhk" }


待簽名串示例:

POST
/v3/merchant/media/video_upload
1566987169           //時間戳
12ced2db6f0193dda91ba86224ea1cd8   //隨機(jī)數(shù)
{"filename":"file_test.mp4","sha256":"hjkahkjsjkfsjk78687dhjahdajhk"}

3.添加HTTP頭:


Content-Type:multipart/form-data.設(shè)置為要上載的對象的MIME媒體類型。
Authorization: WECHATPAY2-SHA256-RSA2048 mchid="1900231671",nonce_str="PCHK6HSOEDTACETP6P3AL7DWPHTBKIAT",
timestamp="1567067659",serial_no="1FB89742D19F2BD30B69948D16DECA0FCB4481EB",
signature="PB6M7+3JL7TSCl5zqD1sdWVypOIEQsD4dgOU+vPiVM6GMRo2qYSWKf8u46i9ZJFhyZTBdZ7SFR+BjDZh689hFgN8LZL+QWTvq3cse/FEUFYyOLN7L/2IZX4GA4cWInuJ2MpOhZRMpm+emrcn42gTMKAPNQ7dBLO7ux6MoSuQp69PW+p1ogmkER68exTVUXYqA5P3vITlWNr++RDy2+ExvB7qVISOKW0vBkxUxN9e7hwUbDwGln170ZXomoO1KpQSbw3f1uWUCx/IlWJhJIun7rUMtVT+kfijNUqcILtSfE4hWKKVaZn9j5CX8M7aKbbDOFy3SvbSJ3WQgRnRbgog5w=="
Content-Type: multipart/form-data;boundary=boundary

4.添加body:


// 以下為body的內(nèi)容
--boundary  // boundary為商戶自定義的一個字符串
Content-Disposition: form-data; name="meta";
Content-Type: application/json
//此處必須有一個空行
{ "filename": "file_test.mp4", "sha256": "hjkahkjsjkfsjk78687dhjahdajhk" }
--boundary
Content-Disposition: form-data; name="file"; filename="file_test.mp4";
Content-Type: video/mp4
//此處必須有一個空行
pic1  //pic1即為媒體視頻的二進(jìn)制內(nèi)容
--boundary--

說明:請求包體每行結(jié)尾都需要包含\r\n(空行也需要)


5.發(fā)送請求


POST /v3/merchant/media/video_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+vPiVM6GMRo2qYSWKf8u46i9ZJFhyZTBdZ7SFR+BjDZh689hFgN8LZL+QWTvq3cse/FEUFYyOLN7L/2IZX4GA4cWInuJ2MpOhZRMpm+emrcn42gTMKAPNQ7dBLO7ux6MoSuQp69PW+p1ogmkER68exTVUXYqA5P3vITlWNr++RDy2+ExvB7qVISOKW0vBkxUxN9e7hwUbDwGln170ZXomoO1KpQSbw3f1uWUCx/IlWJhJIun7rUMtVT+kfijNUqcILtSfE4hWKKVaZn9j5CX8M7aKbbDOFy3SvbSJ3WQgRnRbgog5w=="
	Content-Type: multipart/form-data;boundary=boundary

--boundary  
Content-Disposition: form-data; name="meta";
Content-Type: application/json

{ "filename": "file_test.mp4", "sha256": "hjkahkjsjkfsjk78687dhjahdajhk" }
--boundary
Content-Disposition: form-data; name="file"; filename="file_test.mp4";
Content-Type: video/mp4

pic1
--boundary--

錯誤碼公共錯誤碼

狀態(tài)碼 錯誤碼 描述 解決方案
500 SYSTEM_ERROR 系統(tǒng)錯誤 系統(tǒng)異常,請使用相同參數(shù)稍后重新調(diào)用
SYSTEM_ERROR 文件系統(tǒng)錯誤,請稍后重試 文件系統(tǒng)異常,請使用相同參數(shù)稍后重新調(diào)用
400 PARAM_ERROR 視頻文件名稱不正確,請檢查后重新提交 視頻文件名稱不正確,只支持avi、wmv、mpeg、mp4、mov、mkv、flv、f4v、m4v、rmvb,請使用正確視頻文件重新調(diào)用
PARAM_ERROR 文件二進(jìn)制內(nèi)容不是視頻,請檢查后重新提交 上傳文件二進(jìn)制內(nèi)容頭部不正確,只支持avi、wmv、mpeg、mp4、mov、mkv、flv、f4v、m4v、rmvb,請使用正確視頻文件重新調(diào)用
PARAM_ERROR 視頻sha256值有誤,請檢查后重新提交 視頻sha256值計算有誤,請檢查算法,重新計算后提交
PARAM_ERROR 文件大小不能超過5M,請檢查后重新提交 商戶更換文件或者對視頻進(jìn)行壓縮后,重新調(diào)用
PARAM_ERROR 文件為空,請檢查后重新提交 商戶更換文件后,重新調(diào)用
429 FREQUENCY_LIMIT_EXCEED 操作過快,請稍后重試 請商戶降低每秒調(diào)用頻率
FREQUENCY_LIMIT_EXCEED 當(dāng)天上傳文件數(shù)已達(dá)上限 請商戶降低每天調(diào)用頻率
403 NO_AUTH 商戶權(quán)限異常 請確認(rèn)是否已經(jīng)開通相關(guān)權(quán)限


技術(shù)咨詢

文檔反饋