所有的API請求必須使用HTTPS。
所有的API請求必須使用HTTPS。
Content-Type: application/json
Accept: application/json
圖片上傳API除外。
微信支付API v3僅支持UTF-8字符編碼的一個子集:使用一至三個字節(jié)編碼的字符。也就是說,不支持Unicode輔助平面中的四至六字節(jié)編碼的字符。
所有的日期對象,使用 ISO 8601 所定義的格式。示例:
yyyy-MM-DDTHH:mm:ss.SSSZ
yyyy-MM-DDTHH:mm:ssZ
yyyy-MM-DDTHH:mm:ss.SSS+08:00
yyyy-MM-DDTHH:mm:ss+08:00
微信支付給每個接收到的請求分配了一個唯一標識。請求的唯一標識包含在應答的HTTP頭Request-ID
中。當需要微信支付幫助時,請?zhí)峁┱埱蟮奈ㄒ粯俗R,以便我們更快的定位到具體的請求。
微信支付API v3使用HTTP狀態(tài)碼來表示請求處理的結果。
當請求處理失敗時,除了HTTP狀態(tài)碼表示錯誤之外,API將在消息體返回錯誤相應說明具體的錯誤原因。
code
:詳細錯誤碼
message
:錯誤描述,使用易理解的文字表示錯誤的原因。
field
:
指示錯誤參數(shù)的位置。當錯誤參數(shù)位于請求body的JSON時,填寫指向參數(shù)的JSON Pointer 。當錯誤參數(shù)位于請求的url或者querystring時,填寫參數(shù)的變量名。
value
:錯誤的值
issue
:具體錯誤原因
{
"code": "PARAM_ERROR",
"message": "參數(shù)錯誤",
"detail": {
"field": "/amount/currency",
"value": "XYZ",
"issue": "Currency code is invalid",
"location" :"body"
}
}
HTTP協(xié)議要求發(fā)起請求的客戶端在每一次請求中都使用HTTP頭 User-Agent
來標識自己。微信支付建議調用方選用以下兩種方式的一種:
1.使用HTTP客戶端默認的 User-Agent。
2.遵循HTTP協(xié)議,使用自身系統(tǒng)和應用的名稱和版本等信息,組成自己獨有的User-Agent
。
微信支付API v3很可能會拒絕處理無User-Agent
的請求。
微信支付API v3允許調用方聲明應答中的錯誤描述使用的自然語言語種。如果有需要,設置請求的HTTP頭Accept-Language
。目前支持:
當不設置或者值不支持時,將使用簡體中文(zh-CN)。