IOTPay 技术接入文档IOTPay 技术接入文档
  • 介绍
  • 签名
  • 统一下单
  • 商户扫码收款
  • 顾客扫描二维码
  • 微信JSAPI支付集成(mobile web)
  • 微信JSAPI支付集成(微信小程序)
  • 线上安全支付
  • 商户App集成IOTPay
  • 查询订单接口
  • 异步支付结果通知
  • 获取clientIP
  • 退款接口
  • 退款查询接口
  • POS 半集成
  • WordPress WooCommerce 插件
  • V3

    • 介绍
    • 重定向集成
    • 重定向集成(支持3DS与AVS)
    • 嵌入式集成
    • 直接支付
    • 查询卡信息
    • 使用令牌进行购买
    • 数字钱包支付
    • 撤销交易
    • 退款交易
    • 查询交易
    • 银联 ExpressPay API
  • V2

    • Credit Card API V2(不建议使用,请对接V3版本)
  • 介绍
  • 签约
  • 支付
  • 查询订单接口
  • 回调
  • English
  • 简体中文
  • 介绍
  • 签名
  • 统一下单
  • 商户扫码收款
  • 顾客扫描二维码
  • 微信JSAPI支付集成(mobile web)
  • 微信JSAPI支付集成(微信小程序)
  • 线上安全支付
  • 商户App集成IOTPay
  • 查询订单接口
  • 异步支付结果通知
  • 获取clientIP
  • 退款接口
  • 退款查询接口
  • POS 半集成
  • WordPress WooCommerce 插件
  • V3

    • 介绍
    • 重定向集成
    • 重定向集成(支持3DS与AVS)
    • 嵌入式集成
    • 直接支付
    • 查询卡信息
    • 使用令牌进行购买
    • 数字钱包支付
    • 撤销交易
    • 退款交易
    • 查询交易
    • 银联 ExpressPay API
  • V2

    • Credit Card API V2(不建议使用,请对接V3版本)
  • 介绍
  • 签约
  • 支付
  • 查询订单接口
  • 回调
  • English
  • 简体中文
  • 指南

    • 介绍
    • 签名
    • 统一下单
    • 商户扫码收款
    • 顾客扫描二维码
    • 微信JSAPI支付集成(mobile web)
    • 微信JSAPI支付集成(微信小程序)
    • 线上安全支付
    • 商户App集成IOTPay
    • 查询订单接口
    • 异步支付结果通知
    • 获取clientIP
    • 退款接口
    • 退款查询接口
    • POS 半集成
    • WordPress WooCommerce 插件
  • 信用卡

    • V3

      • 介绍
      • 重定向集成
      • 重定向集成(支持3DS与AVS)
      • 嵌入式集成
      • 直接支付
      • 查询卡信息
      • 使用令牌进行购买
      • 数字钱包支付
      • 撤销交易
      • 退款交易
      • 查询交易
      • 银联 ExpressPay API
    • Credit Card API V2(不建议使用,请对接V3版本)
  • 代扣

    • 介绍
    • 签约
    • 支付
    • 查询订单接口
    • 回调

签约

请求签约

端点

POST https://apiv3.iotpaycloud.com/contract/

请求参数说明

字段名变量名必填类型示例值描述
商户IDmchId是String(30)10000701支付中心分配的商户号
商户合约号mchContractId是String(128)2177aac8-1c3e-4291-97e0-f63f69b34cb6商户生成的订单号,请保证唯一性
渠道IDchannelId是String(24)WX_JSAPI,WX_APP, WX_MWEB见支付渠道参数
币种currency是String(3)CAD , CNY , USD三位货币代码,加币:CAD
客户端IPclientIp否String(32)210.73.10.148客户端IP地址
设备device否String(50)可选值 IOS,ANDROID终端设备号(门店号或收银设备ID),注意:PC网页或公众号内支付请传"WEB"
签约结果回调URLnotifyUrl是String(1000)https://xxx.com/notify.php签约结果回调URL,勿包含?
签约人名称payerName是String(32)张三签约用户的名称,用于页面展示,不需要对值进行URL编码,参数值不支持UTF8非3字节编码的字符
设备类型terminalType否String(3)可选值 WEB, APP, WAP支付者的设备类型
附加参数extra是String(512)微信小程序,WX_APP
签约结束跳转URLreturnUrl否String(1000)签约结束跳转URL,勿包含? , 需要于签约协议中domain相同
子账号jobNo是String(50)商户登录名
签名sign是String(32)C380BEC2BF3519F3AD6签名值,详见签名算法

参数示例

"params={
  "mchId": "10000000",
  "mchContractId": "2177aac8-1c3e-4291-97e0-f63f69b34cb6",
  "payerName": "张三",
  "sign": "F64C43C1487C7C0DA93DA93DD2961FA2",
  "returnUrl": "http://ngrok.4jicao.com/goods/returnUrl",
  "clientIp": "127.0.0.1",
  "extra": "{\"openId\":\"o2RvowBf7sOVJf8kJksUEMceaDqo\", \"type\":\"minipay\",\"appId\":\"xxxxxxxxx\"}",
  "notifyUrl": "http://ngrok.4jicao.com/goods/payNotify",
  "currency": "CAD",
  "device": "WEB",
  "channelId": "WX_JSAPI"
}"

WX_JSAPI区分微信小程序/H5/公众号

不传extra视为H5/公众号

附加参数extra说明

小程序支付(WX_JSAPI)

字段名变量名必填类型示例值描述
附加参数extra是JSON{"openId":"o2RvowBf7sOVJf8kJksUEMceaDqo", "type":"minipay","appId":"xxxxxxxxx"}openid,type,appId为必填。

微信App支付(WX_APP)

字段名变量名必填类型示例值描述
附加参数extra是JSON{"type":"apppay","appId":"xxxxxxxxx"}type,appId为必填。

返回结果

WX_JSAPI(微信小程序)|WX_APP

使用 sessionId 作为SDK发起授权的参数值

{
  "resCode": "SUCCESS",
  "retCode": "SUCCESS",
  "retParams": "20250820078349254214",
  "retDetail": {
    "sessionId": "20250820078349254214"
  }
}

WX_JSAPI H5/公众号

{
  "resCode": "SUCCESS",
  "retCode": "SUCCESS",
  "retParams": "https://api.mch.weixin.qq.com/global/papay/contracts/login?os_session_id=20250820071335058284#wechat_pay",
  "retDetail": {
    "authUrl": "https://api.mch.weixin.qq.com/global/papay/contracts/login?os_session_id=20250820071335058284#wechat_pay"
  }
}

WX_MWEB

返回的URL是一个链接而非二维码

{
  "resCode": "SUCCESS",
  "retCode": "SUCCESS",
  "retParams": "https://osapp.pay.weixin.qq.com/global/papay/contracts/sessions/show_code?os_session_id=20250820072523252067",
  "retDetail": {
    "qrcodeUrl": "https://osapp.pay.weixin.qq.com/global/papay/contracts/sessions/show_code?os_session_id=20250820072523252067"
  }
}

签约状态回调

回调方式

POST https://商户回调URL

回调参数

字段名变量名必填类型示例值描述
Iotpay合约号iotpayContractId是String10000701支付中心分配的商户号
商户合约号mchContractId是String2177aac8-1c3e-4291-97e0-f63f69b34cb6商户生成的订单号,请保证唯一性
签约状态status是String只有2视为已签约签约状态: 1:等待签约, 2:签约成功 9: 已解约
签约时间signedAt是String1755558434000签约时间,毫秒时间戳
取消时间cancelledAt是String0取消时间,毫秒时间戳
合约IDcontractId否String202508190766771823708667160266合约ID
openIdopenId否Stringosirq1BQeEV3-用户的openId
签名sign是StringB6A8F46537B4B5C888A9签名值,详见签名算法

代扣解约

端点

POST https://apiv3.iotpaycloud.com/contract/revoke_token

请求参数说明

字段名变量名必填类型示例值描述
商户IDmchId是String(30)10000701支付中心分配的商户号
商户合约号mchContractId是String(128)2177aac8-1c3e-4291-97e0-f63f69b34cb6商户生成的订单号,请保证唯一性
子账号jobNo是String(50)商户登录名
币种currency是String(3)CAD , CNY三位货币代码,加币:CAD
签名sign是String(32)C380BEC2BF3519F3AD6签名值,详见签名算法

返回结果

  • 该接口为同步接口
{
  "resCode": "SUCCESS",
  "retCode": "SUCCESS",
  "retParams": "",
  "retDetail": "SUCCESS"
}
{
  "resCode": "FAIL",
  "retCode": "FAIL",
  "retDetail": "",
  "retMsg": "contract is not signed yet "
}
上次更新: 2025/8/25 19:28
Prev
介绍
Next
支付