QRIS

QRIS 是印尼国家网关,支持用户使用印尼主流银行应用扫码完成支付。

产品特性

QRIS 的产品特性如下表所示:
[1] 请注意,BNI、BCA 和 BRI 的银行应用程序不支持退款和部分退款。

用户体验

注意:以下不同终端的支付流程代表该支付方式在不同终端类型上的流程,仅供参考。关于支持的商户终端类型,请咨询 Antom 技术支持。
下图展示了 App 终端的用户体验。
image.png
  1. 买家选择 QRIS 进行支付。
  2. 展示支付加载页面。
  3. Antom 提供支付信息页面,买家可以截屏保存二维码。
  4. 买家使用支持 QRIS 的银行应用或电子钱包应用扫描二维码。
  5. 买家查看支付信息并确认支付。
  6. 买家跳转至商户结果页。

支持的线上支付集成

Antom 提供了一系列针对每种支付方式量身定制的集成选项。每种支付方式可能支持不同的线上支付集成选项,可根据您的业务需求进行灵活配置。下表提供了有关每种支付方式可用的特定集成的详细信息:

集成注意事项

以下部分概述了不同支付方式的集成考虑,详细介绍了定制化的集成解决方案和支付方式的特点。

关于 normalUrl

  • 在使用 QRIS 支付时,您可以可以选择是否使用 normalUrl
    • 如果您不使用 normalUrl,则可以直接在商户页面上渲染接口响应中的 codeValue 来显示二维码或付款码,这样可以减少页面跳转,提升支付体验。
    • 如果您选择使用 normalUrl,买家则会跳转到由 normalUrl 指定的地址,并按照用户体验部分指引的流程进行支付。
  • 对于 Web、WAP 和 App 终端,normalUrl 会在 pay (单笔支付) 接口的响应中返回。买家会跳转到由 normalUrl 指定的地址,并使用页面上显示的付款码在离线 ATM 设备上进行支付。支付完成后,页面会自动跳转到商户结果页面。
  • 不同的终端类型在返回 normalUrl 时有特定的集成特性。
    • WAP:返回的 normalUrl 为付款码和支付操作展示页面。买家对二维码进行截图后,手动打开具体的支付方式应用进行识别并支付。
    • App:返回的 normalUrl 不会触发支付方式应用。建议您在商户应用内部直接渲染链接页面,并提供支付操作指引来指导买家完成支付。

支付后

  • 买家在银行应用中完成支付后,银行应用不会自动跳转到商户结果页面,需买家手动导航到交易发起的应用中(商户应用或浏览器)。
  • 此支付方式不支持退款,建议直接与买家线下交流。
  • 您可以通过 notifyPayment inquiryPayment 获取支付结果,并及时处理支付结果页面的跳转和显示,避免重复支付。

默认关单时间

  • Antom 返回的二维码不会自动刷新。 当二维码展示时,您可以使用在 pay (单笔支付) 接口响应中返回的 expireTime 参数值来显示支付超时时间。当付款码展示时,您可以启用付款码的复制功能,方便买家将付款码粘贴到支付方式应用中。
  • 默认关单时间为 14 分钟,不支持通过 paymentExpiryTime 字段自定义关单时间。如果订单的关单时间设置少于 14 分钟,可能会导致商户侧关闭订单时,买家仍能够完成支付,导致潜在的单边账情况。

响应示例

以下是支付响应中的示例代码:
{
  "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"
  }
}
常见问题
问:请求参数的值可以使用中文字符吗?
答:为避免与 QRIS 支付方式的不兼容性,请勿在 orderDescription 参数中使用中文字符。