---
title: "Opay"
slug: "opay"
updated: 2025-02-19T15:46:35Z
published: 2025-02-19T15:46:35Z
canonical: "docs.apcopay.com/opay"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apcopay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Opay

![](https://cdn.document360.io/358ada76-9dff-4d31-80ba-dad90c84bfa9/Images/Documentation/image(28).png)

| **Name** | Deposit | Withdrawal |
| --- | --- | --- |
| Opay | ✅ Opay Checkout Page | ✅ Options: Bank Transfer Opay Wallet |

## Currencies & Countries Supported

| Title | Description |
| --- | --- |
| **Currencies Supported** | NGN, USD |
| **Countries Supported** | Nigeria |

## Supported Transaction Types

- [ ] Authorisation
- [ ] Capture
- [x] Purchase
- [x] Refunds
- [x] Withdrawal*
- [ ] Void

## Integrations Supported

For the Deposit flow:

- [x] Hosted Payment Page
- [ ] Direct Connect ( server-to-server)

For the Withdrawal flow:

- [ ] Hosted Payment Page
- [x] Direct Connect ( server-to-server) - Bank Transfer and Opay wallet options available.

## Additional attributes to process via Opay

You must include the following JSON Attributes to the payload. These attributes inform us to proceed with the redirection to the relevant payment method in order to finalize the payment process.

**Deposit**

Refer to our API Reference Document [here](https://apcopay.redoc.ly/#tag/Hosted-Payment-Page) to create a Hosted Payment Page, use the below mandatory tags to process a deposit.

| Description | Hosted Payment Page | Notes |
| --- | --- | --- |
| **Force Transaction Routing** | “Routing”:{ "ForcePayment": "OPAY” } |  |
| **Client Information** | "Client": { "FirstName": "Joe", "LastName": "Bloggs", “IPAddress”: “1.1.1.1”, “City”: “Valletta”, } |  |
| **Test Indicator** (required in Sandbox Environment only) | "isTest”: true |  |

A sample request can be found below

```json
{
  "TransactionType": "PURC",
  "Currency": "NGN",
  "Amount": 10,
  "OrderReference": "test",
  "UniqueReference": "4b8da4f0-d3b4-44ae-8019-8c66905ffad7",
  "RedirectionURL": "https://www.yourURLhere.com/Redirect/",
  "CallBackURL": "https://www.yourURLhere.com/Listener",
  "FailRedirectionURL": "https://www.yourURLhere.com/Redirect/",
  "Language": "en",
  "Client": {
    "Email": "test@email.com",
    "ClientAccount": "CliAcc01002",
    "FirstName": "John",
    "LastName": "Doe",
    "Country": "NGA",
    "City": "Valletta",
    "IPAddress": "127.0.0.1"
  },
   "Routing": {
    "ForcePayment": "OPAY"
  },
  "IsTest": true
}
```

**Withdrawals via Bank Transfer**

Withdrawals are processed via Direct Connect. The API reference to request a payout can be found [here](https://apcopay.redoc.ly/#operation/PaymentOperationAUTHPURC).

Below are the mandatory fields required to process a payout via Opay for Bank Transfer

| Description | Hosted Payment Page | Notes |
| --- | --- | --- |
| **Force Transaction Routing** | “Routing”:{ "ForcePayment": "Opay” } |  |
| **Client** | "Client": { "FirstName": "Joe", "LastName": "Bloggs", “IPAddress”: “1.1.1.1”, “City”: “Valletta”, } |  |
| **Payment Method Data** | "PaymentMethodData": { "PayoutType": "BankTransfer", "BankCode": "033", "BeneficiaryAccountNumber": "2215381176" } |  |
| **Test Indicator** (required in Sandbox Environment only) | "isTest”: true |  |

A sample request can be found here:

```json
{
  "TransactionType": "ORIGINALCREDIT",
  "Currency": "NGN",
  "Amount": "10",
  "OrderReference": "test",
  "UniqueReference": "4b8da4f0-d3b4-44ae-8019-8c66905ffad7",
  "RedirectionURL": "https://www.yourURLhere.com/Redirect/",
  "CallBackURL": "https://www.yourURLhere.com/Listener",
  "FailRedirectionURL": "https://www.yourURLhere.com/Redirect/",
  "Language": "en",
  "Client": {
    "Email": "test@email.com",
    "ClientAccount": "CliAcc01002",
    "FirstName": "John",
    "LastName": "Doe",
    "City": "MagicCity",
    "IPAddress": "127.0.0.1"
  },
  "Routing": {
    "ForcePayment": "OPAY"
  },
  "PaymentMethodData": {
    "PayoutType": "BankTransfer",
    "BankCode": "033",
    "BeneficiaryAccountNumber": "2215381176"
  },
  "IsTest": true
}
```

**Withdrawals via Opay Wallet**

Withdrawals are processed via Direct Connect. The API reference to request a payout can be found [here](https://apcopay.redoc.ly/#operation/PaymentOperationAUTHPURC).

Below are the mandatory fields required to process a payout via Opay for Opay Wallet

| Description | Hosted Payment Page | Notes |
| --- | --- | --- |
| **Force Transaction Routing** | “Routing”:{ "ForcePayment": "Opay” } |  |
| **Client** | "Client": { "FirstName": "Joe", "LastName": "Bloggs", “IPAddress”: “1.1.1.1”, “City”: “Valletta”, } |  |
| **Payment Method Data** | "PaymentMethodData": { "PayoutType": "OpayWallet" } |  |
| **Test Indicator** (required in Sandbox Environment only) | "isTest”: true |  |

A sample request can be found here:

```json
{
  "TransactionType": "ORIGINALCREDIT",
  "Currency": "NGN",
  "Amount": "10",
  "OrderReference": "test",
  "UniqueReference": "4b8da4f0-d3b4-44ae-8019-8c66905ffad7",
  "RedirectionURL": "https://www.yourURLhere.com/Redirect/",
  "CallBackURL": "https://www.yourURLhere.com/Listener",
  "FailRedirectionURL": "https://www.yourURLhere.com/Redirect/",
  "Language": "en",
  "Client": {
    "Email": "test@email.com",
    "ClientAccount": "CliAcc01002",
    "FirstName": "John",
    "LastName": "Doe",
    "Country": "NGA",
    "MobileNo": "002349876543210",
    "City": "MagicCity",
    "IPAddress": "127.0.0.1"
  },
  "Routing": {
    "ForcePayment": "OPAY"
  },
  "PaymentMethodData": {
    "PayoutType": "OpayWallet"
  },
  "IsTest": true
}
```
