Welcome to Zuora Product Documentation

Explore our rich library of product information

Implement OVO on Adyen Integration v2.0

Zuora's Adyen Integration v2.0 facilitates OVO transactions in Indonesian Rupiah (IDR), supporting one-time payment flows through hosted payment pages. OVO requires on-session payments and does not support recurring payments.

OVO is a leading digital payment service in Indonesia. Zuora's Adyen Integration v2.0 supports OVO transactions in Indonesian Rupiah (IDR) currency. You can implement a hosted payment page through Payment Pages 2.0 to support the OVO one-time payment flow, which allows you to create an OVO payment method and process on-session payments. Because OVO requires on-session payments, it does not support creating payment methods without processing a payment. Additionally, OVO does not support recurring payments.

One-time payment flow

After the end customers select OVO to pay, the hosted payment page is loaded and automatically submitted. The end customers are redirected to Adyen's challenge window on a new tab where end customers enter the OVO ID and process the payment. Once the payment is completed, the challenge window is closed and the transaction result is displayed on the hosted payment page.

The following table describes the workflows after Zuora receives a successful or failed response from the Adyen synchronous payment API.

ResponseWorkflow
Successful response
  1. Zuora creates the following items:
    • A payment with Payment status = Processed and Gateway State = Submitted
    • An OVO payment method record
  2. A challenge window is displayed. Your customers can follow the instructions in the window to complete the authorization A timer is defined and handled by Adyen.
  3. At the backend, Zuora listens to the callback result from Adyen and OVO.
    • Based on the returned callback result, the OVO payment results are returned to the callback function of Zuora's hosted payment page.
    • Zuora also updates Gateway State according to the returned webhook:
      • If AUTHORIZATION is true, Gateway State is set to Settled.
      • If AUTHORIZATION is false or the OFFER_CLOSED is true, Gateway State is set to FailedToSettle.
      • In case of timeout, Zuora displays the error callback result returned from Adyen on the hosted payment page.
Failed responseZuora throws an error on the hosted payment page with the error response message received from Adyen.

After a payment is processed, the Reference ID field is populated with a UUID and mapped to pspReference. If you want Reference ID to be populated with the payment number mapped to the merchantReference field in Adyen, submit a ticket at Zuora Global Support.

The created OVO payment method can be retrieved through the Zuora UI and API operations.

Supported and unsupported features

The following table lists the supported and unsupported operations and features for OVO on Adyen Integration v2.0:

SupportedUnsupported
  • Creation of OVO payment methods through one-time payment flows of hosted payment pages
  • One-time payment processing
  • Referenced refund
  • Real-Time Reconciliation
  • Support idempotency for retrying the following transaction request:
    • Payment
    • Refund
  • Recurring payment processing
  • Standalone payment method validation
  • Payment cancel (void)
  • Non-referenced refund
  • Batch Gateway Reconciliation
  • Delayed Capture
  • Stored Credential Transactions framework and the sharing NTI feature
  • Creation of OVO payment methods through UI or API operation