QRIS
QRIS 是印尼国家网关,支持用户使用印尼主流银行应用扫码完成支付。
产品特性
QRIS 的产品特性如下表所示:
支付特性 | 产品特性 | ||
支付方式类别 | 银行转账 | ||
收单机构 | AlipaySG, AlipayUS | 退款 | ❌ |
商户实体位置 | SG, AU, HK, US | 部分退款 | ❌ |
买家所在国家/地区 | 印度尼西亚 | 退款周期 | ❌ |
支付币种 | IDR | 退款结果返回时效 | ❌ |
支付流程 | 扫码 | 支付结果返回时效 | 实时 |
最小支付金额 | 300 IDR | 拒付/争议 | ❌ |
最大支付金额 | 20,000,000 IDR | 默认关单时间 | 5 分钟 |
用户体验
注意:以下不同终端的支付流程代表该支付方式在不同终端类型上的流程,仅供参考。关于支持的商户终端类型,请咨询 Antom 技术支持。
下图展示了 App 终端的用户体验。
- 用户选择 QRIS 进行支付。
- 展示支付加载页面。
- Antom 提供支付信息页面,用户可以截屏保存二维码。
- 用户使用支持 QRIS 的银行应用或数字钱包应用扫描二维码。
- 用户查看支付信息并确认支付。
- 用户跳转至商户结果页。
集成注意事项
以下部分概述了不同支付方式的集成考虑,详细介绍了定制化的集成解决方案和支付方式的特点。
关于 normalUrl
- 在使用 QRIS 支付时,您可以可以选择是否使用 normalUrl:
- 如果您不使用 normalUrl,则可以直接在商户页面上渲染接口响应中的 codeValue 来显示二维码或付款码,这样可以减少页面跳转,提升支付体验。
- 如果您选择使用 normalUrl,买家则会跳转到由 normalUrl 指定的地址,并按照用户体验部分指引的流程进行支付。
- 对于 Web、WAP 和 App 终端,normalUrl 会在 支付 接口的响应中返回。买家会跳转到由 normalUrl 指定的地址,并使用页面上显示的付款码在离线 ATM 设备上进行支付。支付完成后,页面会自动跳转到商户结果页面。
- 不同的终端类型在返回 normalUrl 时有特定的集成特性。
- WAP:返回的 normalUrl 为付款码和支付操作展示页面。买家对二维码进行截图后,手动打开具体的支付方式应用进行识别并支付。
- App:返回的 normalUrl 不会触发支付方式应用。建议您在商户应用内部直接渲染链接页面,并提供支付操作指引来指导买家完成支付。
支付后
- 买家在银行应用中完成支付后,银行应用不会自动跳转到商户结果页面,需买家手动导航到交易发起的应用中(商户应用或浏览器)。
- 此支付方式不支持退款,建议直接与买方线下交流。
- 您可以通过 支付通知 或 支付结果查询 获取支付结果,并及时处理支付结果页面的跳转和显示,避免重复支付。
默认关单时间
- Antom 返回的二维码不会自动刷新。 当二维码展示时,您可以在接口响应中添加 expireTime 参数以显示超时时间。当付款码展示时,您可以启用付款码的复制功能,方便买家将付款码粘贴到支付方式应用中。
- 默认关单时间为 5 分钟,不支持通过 paymentExpiryTime 字段自定义关单时间。如果订单的关单时间设置少于 5 分钟,可能会导致商户侧关闭订单时,买家仍能够完成支付,导致潜在的单边账情况。
响应示例
以下是支付响应中的示例代码:
copy
{
"normalUrl": "https://iexpfront-sea-global.alipay.com/payments/method/checkout/code.html?merchantId=188iwOYLsWM%2B3OM5i43oAN6sL7yTti1YlTOEpSbxNsmiew%3D&paymentRequestId=PqpmsKam%2BLbQyGH1KWYtA82v2t15tYwnk2OE0q4D8OE%3D&clientId=5Y607N2YJU8006726",
"orderCodeForm": {
"codeDetails": [
{
"codeValue": "https://iexpfront-sea.alipay.com/showQrImage.htm?code=lcjR2aefqftIKgIm30du1Ld7GM3W2xEb%252BW8RDmp7cNeNnRE2vIaa5pshMn2Pq4DBP3C8gm8VLPWRVLRQWjGuxUQput0bZdx%252ByXkEZoNCWBZaTG73kgHuPRzt%252FPY9iqMb9YmL6mYLUGvElNj4zblXizT77%252BvjP%252FZ8EMRBRQGTINfOUKwJp%252FtDeNFGhzRMavMrBnUSbqp25DHtaiMppf79zSYT2NtpyjykgiRhuTYy4ul%252BRKoeyWYHI27eey%252FvYlV%252BEeSjV97NW%252BR84tcnIETHYRRXBd4TsRZZSLvX52AGN4hxO5KdqrSBtwSPTFvcjEG5%252BVE4gft67ml2uT5Yi0HhAA%253D%253D&size=M&sid=188",
"displayType": "MIDDLEIMAGE"
}
],
"expireTime": "2024-03-14T19:53:24-07:00"
},
"paymentActionForm": "{\"paymentActionFormType\":\"PaymentCodeForm\",\"paymentCodeExpireTime\":1710471204000,\"paymentCodeInfos\":[{\"paymentCodeDetails\":[{\"codeValue\":\"00020101021226670016COM.NOBUBANK.WWW01189360050300000862130214020900006839930303UBE51440014ID.CO.QRIS.WWW0215ID20221517570460303UBE52045499530336054035005802ID59042C2P6013Jakarta Barat610511410624601140315041299373206091113322490703A010804POSP6304A241\",\"codeValueType\":\"QRCODE\",\"displayType\":\"IMAGE\"}],\"paymentCodeInfoType\":\"PAYMENT_CODE\"}]}",
"paymentAmount": {
"currency": "IDR",
"value": "50000"
},
"paymentCreateTime": "2024-03-14T19:48:21-07:00",
"paymentId": "20240315194010800100188420210868487",
"paymentRequestId": "PAY_20240315104811165",
"redirectActionForm": {
"method": "GET",
"redirectUrl": "https://iexpfront-sea-global.alipay.com/payments/method/checkout/code.html?merchantId=188iwOYLsWM%2B3OM5i43oAN6sL7yTti1YlTOEpSbxNsmiew%3D&paymentRequestId=PqpmsKam%2BLbQyGH1KWYtA82v2t15tYwnk2OE0q4D8OE%3D&clientId=5Y607N2YJU8006726"
},
"result": {
"resultCode": "PAYMENT_IN_PROCESS",
"resultMessage": "payment in process",
"resultStatus": "U"
}
}
FAQ
- 请求参数的值可以使用中文字符吗?
为避免与 QRIS 支付方式的不兼容性,请勿在 orderDescription 参数中使用中文字符。