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版本)
  • 代扣

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

统一下单

统一下单

业务通过统一下单接口可以发起任意三方支付(微信支付宝支付系统)渠道的支付订单。业务系统不必关心该如何调用三方支付,统一下单接口会根据业务系统选择的支付渠道ID,选择对应支付渠道的支付产品,发起下单请求,然后响应给业务系统支付请求所需参数。

An image

对于商户APP,商户发送支付请求到支付中心后,支付中心向商户返回加密数据且不向三方支付发送消息。商户利用接收到的加密数据调用三方支付的SDK,向三方支付发起支付请求。当支付中心收到三方支付 的支付消息后,支付中心通知商户支付结果。

An image

关于微信支付宝的更多文档请访问如下链接:

  • 支付宝SDK文档
  • 支付宝官方实例代码
  • 微信支付SDK文档
  • 微信官方实例代码

API 请求

端点

https://api.iotpaycloud.com/v1/create_order

方法

POST

头部

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

参数说明

字段名变量名必填类型示例值描述
商户IDmchId是String(30)10000701支付中心分配的商户号
商户订单号mchOrderNo是String(30)20160427210604000490商户生成的订单号,请保证唯一性
渠道IDchannelId是String(24)WX_JSAPI见支付渠道参数
币种currency是String(3)CAD三位货币代码,加币:CAD
支付金额amount是int100支付金额,单位分
客户端IPclientIp是String(32)210.73.10.148客户端IP地址
设备device否String(50)WEB终端设备号(门店号或收银设备ID),注意:PC网页或公众号内支付请传"WEB"
结果回调URLnotifyUrl是String(200)http://xxx.com/notify.php支付结果回调URL,勿包含?
商品主题subject是String(64)测试商品商品主题
商品描述信息body是String(255)xxpay测试商品描述商品描述信息
扩展参数1param1否String(64)该参数可忽略
扩展参数2param2否String(64)支付中心回调时会原样返回
附加参数extra是String(512)微信小程序,WX_APP,WX_NATIVE需要
结束跳转URLreturnUrl否String(200)WX_JSAPI, ALIPAY_PC, ALIPAY_WAP需要支付结束跳转URL,勿包含?
子账号jobNo是String(50)商户登录名
附言remarks否String(200)商户的附言
签名sign是String(32)C380BEC2BF3519F3AD6签名值,详见签名算法

参数示例

params={"amount":1,"mchId":"10000000","mchOrderNo":"9af01329f1ec4c4694631b077a0e8573","subject":"商品支付主题","sign":"F64C43C1487C7C0DA93DA93DD2961FA2","body":"商品支付内容","param1":"","param2":"","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"}

附加参数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_NATIVE)

productId参数必填,对应业务系统定义的商品ID。

字段名变量名必填类型示例值描述
附加参数extra是JSON{"productId":"120989823"}对应业务系统定义的商品ID。

注意

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

支付完成后仍需根据notify判断是否支付成功或失败

返回结果

字段名变量名必填类型示例值描述
返回状态码retCode是StringSUCCESSSUCCESS/FAIL此字段是通信标识,非交易标识,交易是否成功需要查看resCode来判断
返回信息retMsg否String签名失败返回信息,如非空,为错误原因 签名失败 参数格式校验错误
签名sign是String

channelId=ALIPAY_PC or ALIPAY_WAP or UPI_SEQ

字段名变量名必填类型示例值描述
支付订单IDpayOrderId是String支付订单ID
跳转urlpayUrl是String跳转到此地址,直接echo该参数,或者redirect到扩展参数中的url
扩展参数retParams是Arrayfor ALIPAY_WAP, 跳转至retParams.alipayUrl, for UPI_SEQ, 跳转至retParams.unionpayUrl

channelId=ALIPAY_QR

字段名变量名必填类型示例值描述
支付订单IDpayOrderId是String支付订单ID
二维码codeqr_code是String商家根据qr_code生成二维码,让用户使用支付宝扫码

channelId=WX_NATIVE

字段名变量名必填类型示例值描述
支付订单IDpayOrderId是String支付订单ID
二维码codecodeUrl是String商家根据codeUrl生成二维码,让用户使用微信扫码
预支付标识prepayId是String第三方支付公司返回的预支付标识

channelId=CC_PAX

字段名变量名必填类型示例值描述
附加参数extrayString(json){"cardType": "M", "cardNum": "XXXXXXXX1166", "expireDate": "1022"}credit card transaction info

参数示例

"extra":"{\"cardType\":\"M\",\"cardNum\":\"XXXXXXXX1166\",\"expireDate\":\"1022\",\"emvLabel\":\"MASTERCARD\",\"emvAID\":\"A0000000041010\",\"emvTVR\":\"0000008000\",\"emvTSI\":\"0000\",\"emvTC\":\"ARQC: 3D36ACBD44BE512B\",\"termNum\":\"25957\",\"bankTermNum\":\"40880013\",\"termInvoiceNum\":\"724172\",\"seqNum\":\"000001000061\",\"authNum\":\"01046Z\",\"batchNum\":\"0008\",\"trxMethod\":\"T\",\"accountType\":\"\",\"receiptDisp\":\"000 Approved 00 Thank You\",\"cashbackAmount\":\"\",\"timeStamp\":\"20210120-19402057\",\"surchargeAmount\":\"\",\"langCode\":\"E\",\"trxDate\":\"01202021\",\"trxTime\":\"164033\",\"cvmResults\":\"1F0302\",\"trxCode\":\"00\"}"

下单测试

统一下单测试点击这里 源码下载 下载

扫码(商家扫用户)下单测试点击这里 源码下载 下载

在线签名检查

上次更新: 2025/8/20 17:19
Prev
签名
Next
商户扫码收款