微信公众号支付流程图
统一下单
请求URL
post https://api.mch.weixin.qq.com/pay/unifiedorder请求参数示例
{
"appid":"******",
"mch_id":"*******",
"nonce_str":"vh8kxwau4cv4vwka5fxac6yo0geh77l9",
"sign":"26CC820F668E5A2D4E1C8060F48DD570",
"device_info":"",
"sign_type":"MD5",
"body":"麻婆豆腐双拼饭正餐",
"attach":"2306edb2-d336-4087-ab9a-6d81350efe76",
"out_trade_no":"1530759952567148993143",
"fee_type":"CNY",
"total_fee":"1200",
"spbill_create_ip":"49.4.160.199",
"time_start":"",
"time_expire":"",
"notify_url":"https://********.com/api/weixin/payResult",
"trade_type":"JSAPI",
"product_id":"f51c558d-4d80-4661-9b7f-10b7273358d4",
"openid":"oFTYt0l9wQDDhwmx1js_d1T6zZkw"
}
请求参数说明
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
公众账号ID | appid | 是 | String(32) | wxd678efh567hg6787 | 微信支付分配的公众账号ID(企业号corpid即为此appId) |
商户号 | mch_id | 是 | String(32) | 1230000109 | 微信支付分配的商户号 |
设备号 | device_info | 否 | String(32) | 013467007045764 | 自定义参数,可以为终端设备号(门店号或收银设备ID),PC网页或公众号内支付可以传"WEB" |
随机字符串 | nonce_str | 是 | String(32) | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | 随机字符串,长度要求在32位以内。推荐随机数生成算法 |
签名 | sign | 是 | String(32) | C380BEC2BFD727A4B6845133519F3AD6 | 通过签名算法计算得出的签名值,详见签名生成算法 |
签名类型 | sign_type | 否 | String(32) | MD5 | 签名类型,默认为MD5,支持HMAC-SHA256和MD5。 |
商品描述 | body | 是 | String(128) | 腾讯充值中心-QQ会员充值 | 商品简单描述,该字段请按照规范传递,具体请见参数规定 |
商品详情 | detail | 否 | String(6000) | 商品详细描述,对于使用单品优惠的商户,改字段必须按照规范上传,详见“单品优惠参数说明” | |
附加数据 | attach | 否 | String(127) | 深圳分店 | 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用。 |
商户订单号 | out_trade_no | 是 | String(32) | 20150806125346 | 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一。详见商户订单号 |
标价币种 | fee_type | 否 | String(16) | CNY | 符合ISO 4217标准的三位字母代码,默认人民币:CNY,详细列表请参见货币类型 |
标价金额 | total_fee | 是 | Int | 88 | 订单总金额,单位为分,详见支付金额 |
终端IP | spbill_create_ip | 是 | String(16) | 123.12.12.123 |