# 微信JSAPI支付集成(mobile web)

此文档适用于在h5网页上集成微信支付,例如电商,公众号网页等,仅支持网页在微信中打开的场景,不支持第三方浏览器发起支付。

# 请求URL

服务地址: https://api.iotpaycloud.com/v1/payForSubmit

请求方式:

  • POST
  • Content-Type: application/x-www-form-urlencoded

# 参数说明

字段名 变量名 必填 类型 示例值 描述
商户ID mchId String(30) 20001222 支付中心分配的商户号
商户订单号 mchOrderNo String(30) 20160427210604000490 商户生成的订单号,请保证唯一性
币种 currency String(3) CAD 三位货币代码,加币:CAD
二维码模式 qrcode_pay int 1 如果不是要返回二维码,该参数不用传
支付渠道 channelId String(24) WX_JSAPI 见支付渠道参数
支付金额 amount int 100 支付金额,单位分
客户端IP clientIp String(32) 210.73.10.148 客户端IP地址
支付成功跳转URL returnUrl String(200) http://xxx.com/success.php 支付成功后跳转URL
支付结果回调URL notifyUrl String(200) http://xxx.com/notify.php 支付结果回调URL
商品主题 subject String(64) 测试商品 商品主题
商品描述信息 body String(255) xxpay测试商品描述 商品描述信息
扩展参数1 param1 String(64) 传入时不要填入备注信息*支付中心回调时会返回mchOrderNo
扩展参数2 param2 String(64) 支付中心回调时会原样返回
附加参数 extra String(512)
子账号 jobNo String(50) 商户登录名
附言 remarks String(200) 商户的附言
签名 sign String(32) C380BEC2BFD727A4B6845133519F3AD6 签名值,详见签名算法

注意

当notify回传时,参数"mchOrderNo"被放入"param1","param1"在发起订单时不要填入参数,否则回传时被覆盖。

支付完成后,商家后台系统仍需根据notify判断是否支付成功或失败

# 返回结果

字段名 变量名 必有 类型 示例值 描述
返回状态码 retCode String SUCCESS
跳转Url url String 如果success=true, 跳转到该url
二维码Url code_url String 只有qrcode_pay=1才会返回

商户端需要根据code_url生成二维码图片,提示用户保存后用微信打开识别

# parameters passed to returnUrl and notifyUrl

name type sample description
payOrderId String order id of IOTPay
mchOrderNo String order id of merchant
channelOrderNo String order id of Alipay/Wechat Pay
status Int success code: 2 or 3
amount Int in cents
param1 String
param2 String

# JSAPI web下单测试

下单测试(请用微信打开此网页)点击这里

源码下载 点击这里

上次更新: 4/12/2021, 11:49:33 AM