重定向集成
让客户使用 IOT Pay 托管的安全支付链接付款。
工作原理
端点
https://ccapi.iotpaycloud.com/v3/cc_purchase
方法
POST
头部
Content-Type: application/json;charset=UTF-8
重定向购买指南
! Tip
收到访问凭证(商户ID、登录名、商户密钥)后,您可以按照重定向购买指南演示进行操作,这可能在阅读文档时对您有所帮助。
1. 使用以下格式向 端点发出请求
请求
名称 | 必需 | 类型 | 示例 | 描述 |
---|---|---|---|---|
mchId | y | String(30) | 10000701 | 由 IOTPay 分配 |
mchOrderNo | y | String(30) | 1234567890abc | 由商户分配的订单号(不可重复) |
amount | y | Int | 1500 | 以分为单位 |
currency | y | String(3) | CAD | 目前仅支持 CAD |
loginName | y | String(12) | jack123 | 商户登录名 |
subject | n | String(64) | ||
body | n | String(250) | ||
channel | y | String | PF_CC | PF_CC 或 UPI_EX |
notifyUrl | y | String(200) | 成功后获取通知 | |
returnUrl | y | String(200) | https://example.com | 付款后重定向到此 URL |
sign | y | String(32) | C380BEC2BFD727A4B6845133519F3AD6 | 签名算法 |
2. 用响应中的 `redirectUrl` 重定向到 IOTPay 付款页面
响应
名称 | 必需 | 类型 | 示例 | 描述 |
---|---|---|---|---|
retCode | y | String | ||
retMsg | y | String | ||
retData.redirectUrl | y | String | 如果 retCode=SUCCESS,则商户可重定向到此 URL | |
retData.secureId | y | String | 仅适用于嵌入式 SDK 集成 |
示例重定向 URL:
https://ccapi.iotpaycloud.com/cc/purchase?key={{secureId}}
3. 客户提交 IOTPay 表单后,付款页面将自动重定向到商户提供的 `returnUrl`,并带有以下参数
示例返回 URL:https://example.com/?retCode=SUCCESS&status=2
名称 | 必需 | 类型 | 示例 | 描述 |
---|---|---|---|---|
retCode | y | String | SUCCESS 或 FAIL | |
retMsg | n | String | ||
status | y | Int | 2 | 2 或 3 都表示交易成功 |
NotifyUrl 消息(以 JSON 格式发布的 POST 请求)
与此同时,IOTPay 将使用以下主体向商户提供的 notifyUrl 发布:
名称 | 必需 | 类型 | 示例 | 描述 |
---|---|---|---|---|
payOrderId | y | String | PC20240101005605740403580191 | IOTPay 生成的 |
mchId | y | String | 10000701 | 由 IOTPay 分配 |
mchOrderNo | y | String | 1234567890abc | 由商户分配的订单号(不可重复) |
originalOrderId | y | String | 如果 payType=refund,则为原始支付订单 ID | |
amount | y | Int | 1500 | 以分为单位 |
currency | y | String | CAD | 仅支持 'CAD' |
payType | y | String | pay or refund | |
refundable | y | Int | 1500 | 以分为单位 |
status | y | Int | 2 | 2 或 3 都表示交易成功 |
paySuccTime | y | String | 2021-04-07 19:44:51 | 支付成功时的时间戳 |
cardNum | y | String | 432567******2266 | 用于购买的卡的卡号 |
expiryDate | y | String | 0725 | 用于购买的卡的有效期 |
invoiceNum | y | String | ||
authNum | y | String | ||
transNum | y | String | ||
channel | y | String | PF_CC | PF_CC 或 UPI_EX |
sign | y | String(32) | C380BEC2BFD727A4B6845133519F3AD6 | 签名算法 |
4. (建议) 使用返回的 `payOrderId` 查询交易并相应处理
详细信息请参阅查询交易
信用卡令牌化指南
IOTPay 提供加密和令牌化服务,具有安全的数据保险库,通常用于以PCI-DSS合规方式存储付款卡的主帐户号。 IOTPay 生成一个唯一且随机的令牌值,供您的应用程序使用,而不是清晰或加密的 PAN。
! 提示
收到访问凭证(商户 ID、登录名、商户密钥)后,您可以按照演示进行操作信用卡令牌化,这可能在阅读文档时对您有所帮助。
端点 - 添加信用卡
https://ccapi.iotpaycloud.com/v3/cc_addCard
方法
POST
头部
Content-Type: application/json;charset=UTF-8
1. 使用以下格式向[Endpoint](#端点 - 添加信用卡)发出请求
请求
名称 | 必需 | 类型 | 示例 | 描述 |
---|---|---|---|---|
mchId | y | String(30) | 0000701 | 由 IOTPay 分配 |
cardId | y | String(30) | 604567999 | 由商户分配的订单号(不可重复),必须是唯一的 |
loginName | y | String(12) | jack123 | 商户登录名 |
channel | y | String | PF_CC | PF_CC 或 UPI_EX |
returnUrl | y | String(200) | 添加卡后重定向到此 URL | |
sign | y | String(32) | C380BEC2BFD727A4B6845133519F3AD6 | 签名算法 |
请注意
每个 cardId
只能绑定一张信用卡,如果一个用户需要绑定更多的卡,请使用不同的 cardId
2. 用响应中的 `redirectUrl` 重定向到 IOTPay 付款页面
响应
名称 | 必需 | 类型 | 示例 | 描述 |
---|---|---|---|---|
retCode | y | String | SUCCESS or FAIL | |
retMsg | y | String | ||
retData.redirectUrl | y | String | 如果 retCode=SUCCESS,则商户重定向到此 URL | |
retData.secureId | y | String | 仅适用于嵌入式 SDK 集成 | |
retData.channel | y | String | PF_CC | PF_CC 或 UPI_EX |
示例重定向 URL:https://ccapi.iotpaycloud.com/cc/addcard?key={{secureId}}
3. 客户提交 IOTPay 表单后,付款页面将自动重定向到商户提供的 returnUrl
,并带有以下参数
示例返回 URL:https://example.com/?retCode=SUCCESS
名称 | 必需 | 类型 | 示例 | 描述 |
---|---|---|---|---|
retMsg | y | String | cardId already exist | 显示请求失败原因的消息 |
retCode | y | String | SUCCESS / FAIL |
4. 您现在可以使用 cardId
进行购买
如果需要查看卡信息,可以调用查询卡端点。
要使用令牌化的卡进行购买,请使用令牌购买端点.