Permata
Permata Bank is a BUKU IV bank in Indonesia, serving nearly four million customers across 62 cities, which has 304 branch offices and two mobile branches. Permata Bank offers a complete suite of banking products and services including current and savings accounts, time deposits, mutual funds, bonds, personal loans, credit card and mortgage for retail customers. It also offers digital innovation in the form of Permata QR Merchant, QR Pay, and Internet banking via Permata Net and Permata API.
Properties
The properties of the Permata payment method are shown in the following table:
Payment property | Product property | ||
Payment type | Bank transfer | ||
Acquirer | AlipaySG, AlipayUS | Refund | ❌ |
Merchant entity location | SG, AU, HK, US | Partial refund | ❌ |
Buyer country/region | Indonesia | Refund period | ❌ |
Processing currency | IDR | Time to return refund result | ❌ |
Payment flow | Redirect | Time to return payment result | Real-time |
Minimum payment amount | 10,000 IDR | Chargeback/Dispute | ❌ |
Maximum payment amount | 100 million IDR | Customize the timeout | ✔️ |
User experience
Note: The following payment flows on different terminals are reference only, and represent this payment method's flow on different terminal types. For supported merchants' terminal types, consult Antom Technical Support.
The following graphics show the user experience for the App terminal.
- The user selects Permata to pay.
- The user is redirected to the payment code page and copies the payment code.
- The user opens the Permata Mobile app manually.
- The user selects Pay Bills.
- The user chooses the virtual account.
- The user pastes the payment code.
- The user confirms the payment recipient information.
- The user chooses the payment account.
- The user confirms the payment.
- The user enters the PIN.
- The bank page displays the payment result.
- The user manually switches back to the merchant result page.
Integration considerations
The following section outlines integration considerations for various payment types, detailing customized integration solutions and payment method features.
About normalUrl
- When accepting payments from Permata, you can choose whether to use normalUrl:
- If choosing not to use normalUrl, you can directly render the codeValue in the API response on the merchant page to display the QR code or payment code, reducing page redirections and improving the payment experience.
- If choosing to use normalUrl, redirect your buyer to the address specified by normalUrl and proceed the payment process as indicated in User experience.
- For Web, WAP, and App terminals, normalUrl is returned in the response of the pay API. The buyer is redirected to the address specified by normalUrl and uses the payment code displayed on the page to proceed with the payment within the mobile banking app or on the offline ATM device. After the payment is completed, the middle page automatically redirects to the merchant result page.
- Different terminal types have specific integration features when returning normalUrl.
- WAP: The returned normalUrl is the payment code and payment operation display page. The buyer copies the payment code and proceeds to the bank app or the ATM based on the payment operation or the screenshot to complete the payment.
- App: The returned normalUrl does not trigger the payment method app. It is recommended that you render the URL page directly within the merchant app and provide payment operation steps to guide buyers to complete the payment.
After payments
- After the buyer completes the payment in the bank app, the banking app will not automatically redirect to the merchant's results page. The buyer needs to manually navigate to the transaction initiation app (the merchant app or browser).
- This payment method does not support refunds. It is recommended to communicate directly with the buyer offline.
- Obtain the payment result from the payment result notification (notifyPayment) or by making inquiries (inquiryPayment). Handle the redirection and display of the payment result page to avoid duplicate payments.
Default timeout
- The QR code returned by Antom will not be refreshed automatically. When displaying the QR code, add the expireTime parameter in the API response to display the timeout time. When displaying the payment code, enable the copy function for the payment code and allow the buyer to conveniently paste the payment code into the payment method app.
- If the buyer does not complete the payment, Antom sends an asynchronous notification of the payment result at the 14th minute. Therefore, the timeout period for the merchant to wait for the asynchronous notification or inquire about the result must be greater than 14 minutes.
- This payment method supports ATM transfers. Because the timeout time is only 14 minutes, it is recommended to provide a timeout reminder.
Response sample
The following is a code example in the payment response:
{
"normalUrl": "https://iexpfront-sea-global.alipay.com/payments/method/checkout/code.html?merchantId=188iwOYLsWM%2B3OM5i43oAN6sL7yTti1YlTOEpSbxNsmiew%3D&paymentRequestId=cD3fVRst9KLPR80gnzeQfrB9Dfltu6LxZ33Ug8za1kA%3D&clientId=5Y607N2YJU8006726",
"orderCodeForm": {
"codeDetails": [
{
"codeValue": "0444436539",
"displayType": "TEXT"
},
{
"codeValue": "https://iexpfront-sea.alipay.com/showQrImage.htm?code=3%252Fk97oupdVD%252ByBP1ou%252BptnYB1e3KqiHl3%252FpIFmZRZZLA4pkRkYN4FOqw7gt23Wrzb09f9kR%252BSzopyduvdOm7vg%253D%253D&size=M&sid=188",
"displayType": "MIDDLEIMAGE"
}
],
"expireTime": "2024-03-24T23:21:44-07:00"
},
"paymentActionForm": "{\"paymentActionFormType\":\"PaymentCodeForm\",\"paymentCodeExpireTime\":1711347704000,\"paymentCodeInfos\":[{\"paymentCodeDetails\":[{\"codeValue\":\"0444436539\",\"codeValueType\":\"DIGICODE\",\"displayType\":\"TEXT\"},{\"codeValue\":\"|010555303610000 0000000444436539 0000000444436539 3000400\",\"codeValueType\":\"QRCODE\",\"displayType\":\"IMAGE\"}],\"paymentCodeInfoType\":\"PAYMENT_CODE\"}]}",
"paymentAmount": {
"currency": "IDR",
"value": "3000400"
},
"paymentCreateTime": "2024-03-24T23:07:44-07:00",
"paymentId": "20240325194010800100188200213116173",
"paymentRequestId": "PAY_202403211364530644864",
"redirectActionForm": {
"method": "GET",
"redirectUrl": "https://iexpfront-sea-global.alipay.com/payments/method/checkout/code.html?merchantId=188iwOYLsWM%2B3OM5i43oAN6sL7yTti1YlTOEpSbxNsmiew%3D&paymentRequestId=cD3fVRst9KLPR80gnzeQfrB9Dfltu6LxZ33Ug8za1kA%3D&clientId=5Y607N2YJU8006726"
},
"result": {
"resultCode": "PAYMENT_IN_PROCESS",
"resultMessage": "payment in process",
"resultStatus": "U"
}
}