Skip to main content

Introduction

OVO uses a redirect-based payment flow. When a customer selects OVO at checkout, they are redirected to OVO’s interface to authenticate and confirm their payment, then redirected back to your website or app upon completion. OVO is a single-use payment method where customers must authenticate each payment. This guide explains the process of integrating OVO into your app or website using Payrails.

Pre-requisites

Before you start accepting OVO payments with Payrails, there are a few requirements you must meet:

Ways to integrate OVO

Payrails SDK

Server-to-server integration

Parse OVO from lookup response

Pass OVO payment method in request to authorize payment with Payrails

Note on amountsIDR uses 2 decimal places. Amounts should be provided in the smallest currency unit—for example, 1500000 for Rp15,000.00.
OVO is a redirect-based, single-use payment method. After calling the authorize endpoint, the customer will be redirected to OVO’s interface to authenticate and confirm the payment. The customer must approve the payment within 55 seconds or the session will expire. Once confirmed, the customer will be redirected back to the returnInfo.success URL. Make sure to provide valid returnInfo URLs in your authorization request.

Handle the redirect response

Supported currencies

OVO via dLocal supports the following presentment currency:
  • IDR — Indonesian Rupiah

Supported regions / countries

Supported workflows and services

Last modified on September 28, 2026