Push To Pay API
Integration Step
Partner |
Purpose |
Provide Public Key for staging credentials creation |
Sharing the staging credentials through email by using the encryption RSA |
Do UAT |
We will do UAT together, using OVO PIC Phone Number, Partner will provide backend logs (JSON request and response)
and UI/UX captures, then will be archived and submit UAT doc to reviewer to be reviewed and get approval.
|
For Payment Gateway Partner (please provide IP Public and email for onboarding merchant) |
OVO will whitelist IP Public and generate username and password for access to SFTP (Simpan Berkas)
to process registration onboarding merchants.
|
Provide Public Key for production credentials creation |
Sharing the production credentials through email by using the encryption RSA |
Request Parameter
APIs
Transaction Type |
Request Type |
Response Type |
Processing Code |
Mandatory |
Push To Pay |
0200 |
210 |
40000 |
Yes |
Reversal |
0400 |
410 |
40000 |
Yes |
Void |
0200 |
210 |
20040 |
No |
Check Push To Pay Status * |
0100 |
110 |
40000 |
No |
Check Void Status |
0100 |
110 |
20040 |
No |
Check Phone Number * |
0100 |
110 |
50000 |
No |
* Recommend to implement
Please refer to ISO 8583
Amount & Date
Amount
Sample : 12500
amount using Integer type or whole numbers, not allow for decimal format
Date
format: yyyy-MM-dd HH:mm:ss.SSS
Sample: 2022-02-10 17:34:58.497
please ensure that you are using GMT +7 JKT Time and just using 3 digit of milliseconds
Reference Number
For the value of the parameter "referenceNumber" in the PTP request body, please use sequence numbering starting from 1, and incrementing 1 every Push to Pay request success or failed, max ref number 999999 within 1 batch number, if referenceNumber reach max then batchNo should be increment and referenceNumber can be started again from 1.
Example If total hit request within 1 day above 999999 hit transaction :
- Date 2021-03-24 batchNo is 1 and referenceNumber is 999998
- Date 2021-03-24 batchNo is 1 and referenceNumber is 999999
- Date 2021-03-24 batchNo is 2 and referenceNumber is 1
- Date 2021-03-24 batchNo is 2 and referenceNumber is 2
- Date 2021-03-25 there is no OVO payment transaction
- Date 2021-03-26 batchNo is 3 and referenceNumber is 1
- And so on..
Batch Number
For the value of the parameter “BatchNo” in the PTP request body, Value increment on daily basis, except if the Reference Number already reached maximum value(999999), please use sequence numbering starting from 1 and incrementing 1 at daily basis or using date format (ddmmyy).
Notes :
If total hit request within 1 day under 999999 hit transaction, suggest to use date format (ddmmyy).
If total hit request within 1 day above 999999 hit transaction, suggest to use sequence format.
Max of batch number is 6 digits
Example :
- Date 2021-03-24 batchNo is 1 or 240321
- Date 2021-03-25 batchNo is 2 or 250321
- Date 2021-03-26 batchNo is 3 or 260321
- Date 2021-03-27 there are no OVO payment transaction
- Date 2021-03-28 batchNo is 4 or 280321
- Date 2021-03-29 batchNo is 5 or 290321
- And so on..
Push to Pay API
- Merchants need to keep a log request & response included with the header for all transactions
- The communication for Push To Pay integration is server to server base(we are not allowed to using communication from Front End/Client Side merchant directly to OVO Server)
- For Push to Pay customer need to confirm the payment within 55s in OVO Apps
- For one Push to Pay session in Backend is 60s
- Merchant need to call reversal automatically at 65s if merchant didn’t get any response (type : 0210) from OVO System within 60s after hit push to pay
Reversal API
- Reversal is Mandatory API
- Merchant need to call reversal automatically at 65s if merchant didn’t get any response (type : 0210) from OVO System within 60s after hit push to pay
- Cut off time call reversal is at 23:59 or 11:59PM in the same day with transaction push to pay (before transaction recap in end of day)
Void API
- Reversal is not Mandatory API
- Cut off time call void API is at 23:59 or 11:59PM in the same day with transaction push to pay(before transaction recap in end of day)
- Partner have to inform customer with specific message that transaction is process/success to void
Check Payment API
Check Payment API is Optional API
There will be 2 types of Check Payment usage
- Automatic
- If merchant get RC=00 it will depend on partner side whether will mark a success transaction on their side or will call reversal
- If merchant get RC=25 there are no action need since the payment is not found
- If merchant get RC=40 or RC=58, merchant need to call reversal at 65s
- Manual
- Check payment hit manually by admin to check transaction status
- We really don't recommend using the CRON feature or commands that are made to check several transactions at the same time
Notes :
* Date parameter used for check payment API is Date parameter when transaction payment performed
* Check Payment API can only be used to check payments for the past 7 days
Inquiry Phone Number API
- Inquiry Phone number API is optional API
- If getting response code 00 merchant can continue transaction with push to pay API with eligible number
- If getting response code 14, please showing specific error message “ Phone Number not registered in OVO System)
- for this API merchants can set the timeout max. 10 second
Instruction on Input Phone Number Page
Instruction Sentence
Enter Your Registered Phone Number in the OVO Application with 08xxx format
Instruction in the Waiting Page
Instruction Sentence
First Sentence:
-
Open you OVO Application and click bell icon to complete the Payment
-
Make sure you complete the payment with a specified time limit to avoid transaction timeout
or
Second Sentence:
Open your OVO Application and click the bell icon to complete the payment and make sure you complete the payment with a specified time to avoid transaction timeout
Success Message
RC : 00
Payment Success
Specific Error Message
RC : 14
Phone Number not Registered on OVO Apps
RC : 17
Payment Canceled By User
Transaction Timeout
not receiving response type 0210 from OVO
RC : 26
Failed Push notif to users, please ensure user login to OVO app first