Payment
QRIS

QRIS Integration & Testing

14min

 use in   and   originates from ShopeePay. However,  ShopeePay also can receive  from other Partners, such as OVO, DANA, LinkAja, and Mobile Banking that support QR .



Integration Steps and API Used


  1. Perform  Order Registration .
  2. Receive  callback and push .
  3. Perform  Inquiry Status .
  4. Optional: perform  Cancel  to cancel .



Credential for Testing QRIS



QRIS Name

Description

ShopeePay

ShopeePay application for  on Development Environment -> link



Credential on development environment jump app:

  • Username: nicepaytest Password: Nicepay123 OTP: 123456 ShopeePay PIN: 159159



QRIS Testing Guide



QRIS Name

Test Step

Rules and Condition

ShopeePay

  1. Use real iMid or Sandbox with iMid = IONPAYTEST.
  2. Download a specific ShopeePay application for  on  Development Environment or real Shopee application for  on  Staging/Production Environment.
  3. Scan  QR code and perform  authentication.
  4. Collect  and   until  successful.

For QR code:

  • Default time limit rules for paymentExpTm = 5 minutes.
  • Time period setting for paymentExpTm start from 5 minutes to 20 minutes.



For  cancellation conditions, which are:

  • Cancellation before   will show expired or invalid with  5.
  • Off-Us transactions can performs online refund for up to 365 days since the  is created.
  • On-Us  only performs online refund before   reached 1 day. After 1 day,   will turn into a Manual Refund. After 1 week,   will turn into Blocked.



Failed Transaction Possible Reason


  1. Scan wrong QR code on ShopeePay application.
  2. Order doesnot match.
  3. Transaction already expired.



Integration Checklist & Test Case



Implement inquiry  after receiving  callback.

Implement inquiry  after receiving   inside dbProcessUrl.

Review  log.

Review firewall setting (eg. cloudflare for dbprocessUrl setting).

Check merchantToken implementation.

Execute test scenarios in Development Environment.

Execute test scenarios in Production Environment. Get Sample Scenario

Review Error Handling (Timeout, Failed, Negative Case).



Best Practice


  • For  , can use iMid = IONPAYTEST and set shopId = NICEPAY .
  • Support for fully  cancellation can use cancelType link code.
  • When  is received on your dbProcessUrl,  strongly recommend  to verify   using  Inquiry .
  • Notification Handling is helpful to minimalize Fraud actions,  strongly recommends  to verify  Notification Handling.



See also

  QRIS Payment Flow  to find out    during  with  .

  QRIS Type  to find out   type used on .

  QRIS Glossary  to find out  particular term used on  .

  QRIS FAQ  if you want to find out frequently asked questions related to .