# OVO Open API

***

### Integration Steps <a href="#pdf-page-yfpqhufgatvuqbud0c1v-integration-steps" id="pdf-page-yfpqhufgatvuqbud0c1v-integration-steps"></a>

Here is the overview of how to integrate with OVO Open API :

1. Account Binding
2. Check Balance Inquiry
3. Payment
4. Acknowledge Payment Notification

***

#### 1. Account Binding <a href="#pdf-page-yfpqhufgatvuqbud0c1v-id-1.-account-binding" id="pdf-page-yfpqhufgatvuqbud0c1v-id-1.-account-binding"></a>

Merchant can binding OVO account, each OVO account can only binding to one customer on one merchant. Customer need to verify OTP and input PIN on OVO page.

Here is the flow for Account Binding :

<figure><img src="https://open.gitbook.com/~gitbook/image?url=https%3A%2F%2F3092822868-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FqCxtvLoJNNxvp4U7kLHd%252Fuploads%252FCxfqlH4ml0xTp7TWwKzs%252F24112023%2520Checkout_Account%2520Binding%2520%281%29.png%3Falt%3Dmedia%26token%3Daf24608f-93a9-4686-b536-45e54d141cd9&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=ff6c780&#x26;sv=1" alt=""><figcaption></figcaption></figure>

**API Endpoint**

<table><thead><tr><th>Type</th><th>Value</th></tr></thead><tbody><tr><td>Service Code</td><td></td></tr><tr><td>HTTP Method</td><td>POST</td></tr><tr><td>API Endpoint Sandbox</td><td><p>Copy</p><pre><code>https://api-sandbox.doku.com/.../
</code></pre></td></tr><tr><td>API Endpoint Production</td><td><p>Copy</p><pre><code>https://api.doku.com/..../
</code></pre></td></tr><tr><td>Path</td><td><p>Copy</p><pre><code>/direct-debit/merchant/ovo/v1.0/registration-account-binding
</code></pre></td></tr></tbody></table>

Here are the sample request header, request body and response body for OVO Open API

{% openapi src="<https://3092822868-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqCxtvLoJNNxvp4U7kLHd%2Fuploads%2F5PAMqS2C8J2nPEQpf5xR%2Fopenapi3_0-ovosnap.json?alt=media&token=cfd3cbae-0ac4-49f6-b8df-b9947fa1ffda>" path="/direct-debit/merchant/allo/v1.0/registration-account-binding" method="post" %}
[openapi3\_0-ovosnap.json](https://3092822868-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqCxtvLoJNNxvp4U7kLHd%2Fuploads%2F5PAMqS2C8J2nPEQpf5xR%2Fopenapi3_0-ovosnap.json?alt=media\&token=cfd3cbae-0ac4-49f6-b8df-b9947fa1ffda)
{% endopenapi %}

#### 2. Check Balance Inquiry <a href="#pdf-page-yfpqhufgatvuqbud0c1v-id-2.-check-balance-inquiry" id="pdf-page-yfpqhufgatvuqbud0c1v-id-2.-check-balance-inquiry"></a>

Once a customer has linked their account through the OVO platform, merchants can initiate a Balance Inquiry via the this API to obtain accurate and up-to-date account balance information.

Here is the flow for Check Balance Inquiry :

<figure><img src="https://open.gitbook.com/~gitbook/image?url=https%3A%2F%2F3092822868-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FqCxtvLoJNNxvp4U7kLHd%252Fuploads%252FMas8GqGL76HdymjCgGmE%252F24112023%2520Checkout_Balance%2520Inquiry.png%3Falt%3Dmedia%26token%3Dc849995c-64b8-4f6c-97a4-62bcf3cf3c31&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=c4d0f751&#x26;sv=1" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th>Type</th><th>Value</th></tr></thead><tbody><tr><td>Service Code</td><td></td></tr><tr><td>HTTP Method</td><td>POST</td></tr><tr><td>API Endpoint Sandbox</td><td><p>Copy</p><pre><code>https://api-sandbox.doku.com/.../
</code></pre></td></tr><tr><td>API Endpoint Production</td><td><p>Copy</p><pre><code>https://api.doku.com/..../
</code></pre></td></tr><tr><td>Path</td><td><p>Copy</p><pre><code>/direct-debit/merchant/ovo/v1.0/registration-account-binding
</code></pre></td></tr></tbody></table>

Here is the sample request header, request body and response body for Check Balance Inquiry OVO :&#x20;

{% openapi src="<https://3092822868-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqCxtvLoJNNxvp4U7kLHd%2Fuploads%2F5PAMqS2C8J2nPEQpf5xR%2Fopenapi3_0-ovosnap.json?alt=media&token=cfd3cbae-0ac4-49f6-b8df-b9947fa1ffda>" path="/direct-debit/merchant/ovo/v1.0/balance-inquiry" method="post" %}
[openapi3\_0-ovosnap.json](https://3092822868-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqCxtvLoJNNxvp4U7kLHd%2Fuploads%2F5PAMqS2C8J2nPEQpf5xR%2Fopenapi3_0-ovosnap.json?alt=media\&token=cfd3cbae-0ac4-49f6-b8df-b9947fa1ffda)
{% endopenapi %}

#### 3. Payment <a href="#pdf-page-yfpqhufgatvuqbud0c1v-id-3.-payment" id="pdf-page-yfpqhufgatvuqbud0c1v-id-3.-payment"></a>

After merchant check the balance, merchant can hit this API to do payment. DOKU will deduct customer's balance.

Here is the flow for Payment OVO :

<figure><img src="https://open.gitbook.com/~gitbook/image?url=https%3A%2F%2F3092822868-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FqCxtvLoJNNxvp4U7kLHd%252Fuploads%252FSLOxkdmkC87i7LtCdJAN%252F24112023%2520Checkout_SNAP%2520payment%2520-%2520allobank.png%3Falt%3Dmedia%26token%3D71e8730b-43bd-4413-8186-fff03792b18c&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=26f6b3bf&#x26;sv=1" alt=""><figcaption></figcaption></figure>

Here is the sample request header, request body and response body for Payment OVO :&#x20;

{% openapi src="<https://3092822868-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqCxtvLoJNNxvp4U7kLHd%2Fuploads%2F5PAMqS2C8J2nPEQpf5xR%2Fopenapi3_0-ovosnap.json?alt=media&token=cfd3cbae-0ac4-49f6-b8df-b9947fa1ffda>" path="/direct-debit/merchant/ovo/v1.0/payment-host-to-host" method="post" %}
[openapi3\_0-ovosnap.json](https://3092822868-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqCxtvLoJNNxvp4U7kLHd%2Fuploads%2F5PAMqS2C8J2nPEQpf5xR%2Fopenapi3_0-ovosnap.json?alt=media\&token=cfd3cbae-0ac4-49f6-b8df-b9947fa1ffda)
{% endopenapi %}

#### 4. Acknowledge Payment Notification <a href="#pdf-page-yfpqhufgatvuqbud0c1v-id-4.-acknowledge-payment-notification" id="pdf-page-yfpqhufgatvuqbud0c1v-id-4.-acknowledge-payment-notification"></a>

After the payment is being made by your customer, DOKU will send **HTTP Notification** to your defined `Notification URL`. Learn how to [handle the notification from DOKU](https://app.gitbook.com/s/qCxtvLoJNNxvp4U7kLHd/getting-started-with-doku-api/notification) .

### Additional Feature <a href="#pdf-page-yfpqhufgatvuqbud0c1v-additional-feature" id="pdf-page-yfpqhufgatvuqbud0c1v-additional-feature"></a>

#### 1. Account Unbinding <a href="#pdf-page-yfpqhufgatvuqbud0c1v-id-1.-account-unbinding" id="pdf-page-yfpqhufgatvuqbud0c1v-id-1.-account-unbinding"></a>

{% openapi src="<https://3092822868-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqCxtvLoJNNxvp4U7kLHd%2Fuploads%2F5PAMqS2C8J2nPEQpf5xR%2Fopenapi3_0-ovosnap.json?alt=media&token=cfd3cbae-0ac4-49f6-b8df-b9947fa1ffda>" path="/direct-debit/ovo/v1.0/registration-account-unbinding" method="post" %}
[openapi3\_0-ovosnap.json](https://3092822868-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqCxtvLoJNNxvp4U7kLHd%2Fuploads%2F5PAMqS2C8J2nPEQpf5xR%2Fopenapi3_0-ovosnap.json?alt=media\&token=cfd3cbae-0ac4-49f6-b8df-b9947fa1ffda)
{% endopenapi %}

<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.doku.com/archive/snap/e-wallet/ovo-open-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
