How to Implement OVO
Learn how to implement the OVO payment method on Adyen Integration v2.0, including setup, configuration, and required features for payment flow.
Support for the OVO payment method on Adyen can be requested through the Specialized Payment Connections service at an additional cost.
Prepare for the integration
Before implementing the OVO payment method on Adyen, ensure that all prerequisites outlined in the following sections are fulfilled.
OVO enablement and configuration
-
Make sure you have contacted Adyen to enable OVO in Adyen.
-
Make sure you have requested support for OVO on Adyen Integration v2.0 through the Specialized Payment Connections service.
-
Activate OVO on your tenant:
-
Click your username in the upper right and navigate to Settings > Payments > Payment Method .
-
Click Edit at the bottom of the page.
-
Select OVO and click Save .
-
Real-Time Reconciliation setup
| Prerequisites | The last two prerequisites are not applicable to OVO:
|
| Credentials |
|
| Rules |
|
| Additional Metadata | Additional Metadata is not supported by OVO. |
To process OVO transactions, you must enable Real-Time Reconciliation. Follow the instructions in Enable and configure Real-Time Reconciliation for Adyen Integration v2.0 .
Features required for payment flow implementation
-
To support processing authorization amounts, the following features must be turned on:
-
Validate Client-Side HPM Parameters Follow the instructions in Client-side Payment Page parameter to enable it.
-
Either Credit Balance or Invoice Settlement
-
-
To support processing invoices, the following requirements must be met:
-
Validate Client-Side HPM Parameters must be enabled.
-
The invoices must be posted before the invoices are paid through the one-time payment.
-
-
To understand the implementation procedure of Payment Pages 2.0 in Zuora, review Payment Pages 2.0 implementation overview .
- In the Default Payment Gateway field of the Payment Gateway section, click and select an Adyen Integration v2.0 instance. Note that Zuora does not validate this setting. You can override this default gateway in your request by specifying a gateway through the paymentGateway client parameter.
Request a signature for the payment page
Follow the instructions in Request a signature for the Payment Page from Zuora . Because the Client-side HPM Parameter Validation feature is enabled, Zuora will validate the additional fields in the request by comparing them with the values specified in the digital signature.
Here are two request examples for the Generate RSA signature REST API operation.
{
"uri":"https://sandbox.na.zuora.com/apps/Pu...tedPageLite.do",
"method":"POST",
"pageId":"test808145b3bf9d0145b3c6812b0008",
"paymentGateway":"Adyen",
"authroizationAmount":"100",
"currency":"IDR",
"accountId":"test808145b3bf9d0145b3c6812b0008"
}
{
"uri":"https://sandbox.na.zuora.com/apps/Pu...tedPageLite.do",
"method":"POST",
"pageId":"test808145b3bf9d0145b3c6812b0008",
"paymentGateway":"Adyen",
"accountId":"test808145b3bf9d0145b3c6812b0008"
}
Step 2. Create and configure an OVO payment page
Complete the following steps to create and configure an OVO payment page:
- In Zuora UI, navigate to Settings > Payments, and click Setup Payment Page and Payment Link.
- On the Payment Pages tab page, configure the tenant-level settings for the hosted payment page.
- In the Type dropdown list, select OVO.
- Click Create New Hosted Page.
- In the Basic Information section, specify the following fields:
| Field | Description |
|---|---|
| Page Name | Enter a name for your hosted payment page. This name is used to identify your payment page in Zuora. It is different from the title displayed on the payment page. You can specify the title in the Page Title field in the Page Configuration section. |
| Hosted Domain | Enter the domain address from which your payment page is served. This domain also hosts your callback page. The value must be in the format: https://www.domain.com. Zuora validates this field for you. If the validation fails, an error message is displayed on the payment page. Note that the Overlay Hosted Page mode does not support the hosted domain validation. If you want your hosted payment pages and callback pages to reside in the subdomain of the hosted domain, enable the tenant-level Allow Subdomain Callback for Hosted Pages setting. |
| Callback Path | Enter the path on which the callback page file resides. Zuora appends this to the Hosted Domain entry to create the full URL to which the callback is sent. Specify a value in the format: /app/callback_file.jsp. The file extension, such as .jsp or .php, is not required. However, the callback path must begin with a forward slash character ( / ). The Callback Path is only required for the advanced implementation option, which uses the inline style form with an external submit button. This setting is ignored for the basic setup, which uses the overlay form or the inline form with the submit button inside. |
- In the Page Configuration section, complete the field configuration.
Field Description Page Title Enter a title for the hosted payment page. Select Display to display the Page Title on this payment page. Page Description Enter the description of the payment page. Select Display to display the Page Description on this payment page. Submit Button This field is not applicable to OVO. Skip it. Client-Side Validation This field is not applicable to OVO. Skip it. CSS This field is not applicable to OVO. Skip it. - Click Generate and Save Page.
Step 3. Request a signature for the Payment Page
Follow the instructions in Request a signature for the Payment Page from Zuora . Because the Client-side HPM Parameter Validation feature is enabled, Zuora will validate the additional fields in the request by comparing them with the values specified in the digital signature.
Here are two request examples for the Generate RSA signature REST API operation.
{
"uri":"https://sandbox.na.zuora.com/apps/Pu...tedPageLite.do",
"method":"POST",
"pageId":"test808145b3bf9d0145b3c6812b0008",
"paymentGateway":"Adyen",
"authroizationAmount":"100",
"currency":"IDR",
"accountId":"test808145b3bf9d0145b3c6812b0008"
}
{
"uri":"https://sandbox.na.zuora.com/apps/Pu...tedPageLite.do",
"method":"POST",
"pageId":"test808145b3bf9d0145b3c6812b0008",
"paymentGateway":"Adyen",
"accountId":"test808145b3bf9d0145b3c6812b0008"
}