图片上传API

应用场景

服务商操作员调用 API 接口,上传证件照片。支持 jpeg、jpg、bmp、png 格式,图片大小不超过2M。通过 POST 表单来调用该接口,表单媒体文件 id 为 media,需有 filename、filelength、content-type 等信息。

接口规则

请求Url https://api.mch.weixin.qq.com/secapi/mch/uploadmedia
提交方式 multipart/form-data
是否需要证书 是, 详见证书使用

请求参数

名称

变量名

必填

类型

示例值

描述

商户号

mch_id

String(32)

1200035412

服务商商户号或渠道号

媒体文件

media

String(256)

form-data中媒体文件标识,有filename、filelength、content-type等信息。不参与签名计算
 媒体文件内容hash值 

media_hash

String(32)

根据媒体文件内容进行MD5计算后的值,注意小写

签名

sign

String(32)

 D675A1E471DBF7C0B1AC5883B5BDA9EF 通过签名算法计算得出的签名值,详见签名生成算法

签名方式

sign_type

String(10)

HMAC-SHA256

 HMAC-SHA256加密方式,其他或者不填为MD5方式

返回结果

名称

变量名

必填

类型

示例值

描述

返回状态码

return_code

String(16)

FAIL

SUCCESS/FAIL 此字段是通信标识,非交易标识

返回信息

return_msg

String(128)

签名失败

返回信息,如非空,为错误原因 签名失败 参数格式校验错误

当return_code为SUCCESS的时候,还会包括以下字段:

名称

变量名

必填

类型

示例值

描述

业务结果

result_code

String(32)

FAIL

SUCCESS/FAIL

媒体标识Id

media_id

String(256)

9UYfXi- WMUhgWXvJtEw4_gBl e_EfrD_pIL0bS8GAsK8

微信返回的媒体文件标识Id

签名

sign

String(32)

pIL0bS8GAsKpIL0bS8GAsKpIL0bS8GAs

微信返回的签名,详见签名生成算法 

错误代码 

err_code

String(32)

INVALID_REQUEST

错误代码

错误代码描述 

err_code_de s

String(128)

商户号信息有误,请检查修改后重试 

结果信息描述

请求示例:

curl --cert ./apiclient_cert.pem --key ./apiclient_key.pem -F 'mch_id=1000000000' -F 'media_hash=709d1e858d2ef9d0501cc053668b2872' -F 'sign=D675A1E471DBF7C0B1AC5883B5BDA9EF' -F 'media=@test.jpg' https://api.mch.weixin.qq.com/secapi/mch/uploadmedia

响应示例:

<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<result_code><![CDATA[SUCCESS]]></result_code>
<media_id><![CDATA[9UYfXi- WMUhgWXvJtEw4_gBle_EfrD_pIL0bS8GAsK8]]></media_id>
<sign><![CDATA[D675A1E471DBF7C0B1AC5883B5BDA9EF]]></sign>
</xml>

错误码列表

错误代码

名称

描述

解决方案

NVALID_REQUEST

不支持http get 方法 

请使用post 方法,请检查后重新提交 

检查输入参数 

INVALID_REQUEST

xml格式错误

xml参数格式错误,请检查后重新提交

 

SIGNERROR

验签错误

签名校验失败,请检查后重试

 

INVALID_REQUEST

需要证书 

获取客户端证书序列号失败 
获取客户端证书特征名称(DN)域失败 
证书校验失败,请检查后重试 

检查证书 

PARAM_ERROR

参数错误 

参数填写有误,请检查后重试 

人工检查过滤 

PARAM_ERROR

图片文件错误 

图片格式不正确,请检查后重新提交
图片大小不能超过2M,请检查后重新提交
图片Hash 值有误,请检查后重新提交 

检查图片 

PARAM_ERROR

商户号错误 

商户号mchid 有误,请检查后重试 

检查商户号是否正确 

INVALID_REQUEST

调用权限 

暂无权限,请检查后重试 

检查权限 

FREQUENCY_LIMITED

频率限制 

操作过快,请稍后重试 

放慢上传频率 

SYSTEMERROR

上传图片失败 

上传图片失败,请稍后重试 

联系微信支付客服