---
title: "OXXO for API only"
description: "Add OXXO to your API-only integration."
url: "https://docs.adyen.com/payment-methods/oxxo/api-only"
source_url: "https://docs.adyen.com/payment-methods/oxxo/api-only.md"
canonical: "https://docs.adyen.com/payment-methods/oxxo/api-only"
last_modified: "2026-06-01T15:33:15+02:00"
language: "en"
---

# OXXO for API only

Add OXXO to your API-only integration.

[View source](/payment-methods/oxxo/api-only.md)

You can add OXXO to your existing integration. The following instructions show only what you must add to your integration specifically for OXXO.

If an instruction on this page corresponds with a step in the main integration guide, it includes a link to that corresponding step of the main integration guide.

## Requirements

| Requirement          | Description                                                                                                                                                                                                                  |   |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| **Integration type** | Make sure that you have an existing [API-only integration](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%20only).                                                                     |   |
| **Action handling**  | Make sure that your existing integration is set up to [handle the additional action](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%20only#additional-action). `action.type`: voucher. |   |
| **Setup steps**      | Before you begin, [add OXXO in your Customer Area](/payment-methods/add-payment-methods).                                                                                                                                    |   |

## How it works

1. The shopper selects OXXO as the payment method.
2. The shopper enters their details in the [payment form that you build](#build-your-payment-form).
3. When you make the payment request, you [include additional information about the items that the shopper intends to purchase](#additional-parameters-payments).
4. The shopper receives a voucher, which they use in-store to finalize the payment.

## Build your payment form

Include OXXO in the list of [available payment methods](#get-available-methods).

You do not need to collect any information from the shopper in your payment form.

You can [download the logo for OXXO](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%2Bonly\&version=71#downloading-logos) to use in your form.

## Get OXXO as an available payment method

When you make the [/paymentMethods](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentMethods) to [get available payment methods](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%20only#get-available-payment-methods), specify the following so that OXXO is included in the response.

| Parameter                                                                                                          | Values      |
| ------------------------------------------------------------------------------------------------------------------ | ----------- |
| [countryCode](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentMethods#request-countryCode)         | ****MX****  |
| [amount.currency](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentMethods#request-amount-currency) | ****MXN**** |

**Example request for available payment methods**

```bash
curl https://checkout-test.adyen.com/v72/paymentMethods \
-H 'x-api-key: ADYEN_API_KEY' \
-H 'idempotency-key: YOUR_IDEMPOTENCY_KEY' \
-H 'content-type: application/json' \
-X POST
-d '{
   "merchantAccount": "ADYEN_MERCHANT_ACCOUNT",
   "countryCode": "MX",
   "amount": {
      "currency": "MXN",
	  "value": 1000
   },
   "shopperLocale": "mx-MX"
}'
```

**Example response with OXXO available**

```json
{
    "paymentMethods": [
        {
            "name": "OXXO",
            "type": "oxxo"
        }
    ]
}
```

## Add additional parameters to your /payments request

You do not need to add any additional parameters when you [make a payment](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%20only#make-a-payment).

The [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) response includes `action.type` : **voucher**, and part of handling this action type is to [show the voucher to the shopper](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%20only#additional-action).

## Test and go live

OXXO is an offline payment method. This means that there is time between the shopper receiving the voucher and the actual processing of the payment.

To follow the status of the voucher, you have to set up [webhooks](/development-resources/webhooks).

When you create the voucher, it is shown as an offer in your Customer Area, with an **Open** status. If you set up [PENDING webhooks specifically for OXXO](/development-resources/webhooks/webhook-types#other-webhooks), you receive a webhook for pending OXXO voucher payments.

When the shopper pays the voucher at an OXXO store, the payment will be processed. The offer becomes a sale and the status changes to **Received**. You will receive the final result of the payment in an [AUTHORISATION webhook](/development-resources/webhooks/webhook-types). This all happens automatically in a live environment, but you can test this process in your Customer Area.

In the test environment, you can simulate an OXXO payment by promoting the pending payment to a sale.

1. Log in to your [test Customer Area](https://ca-test.adyen.com/).
2. Go to **Transactions** > **Offers**.
3. Select the **PSP reference** of the pending OXXO payment.
4. Select the **Promote this offer to a sale** button.

OXXO vouchers that have been paid (including test offers that you manually promoted to sale), are under **Transactions** > **Payments**.

Test the reconciliation process by promoting test payments from offer to sale in your [test Customer Area](https://ca-test.adyen.com/).

Before you can accept live OXXO payments, you need to [submit a request to add the OXXO payment method](/payment-methods/add-payment-methods) in your [live Customer Area](https://ca-live.adyen.com/).

## See also

* [API-only integration guide](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%20only)
