OVO Partner Integration Documentation

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

  1. 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
  2. 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:
  1. Open you OVO Application and click bell icon to complete the Payment
  2. 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