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

# dLocal Go

> dLocal Go is a global payment gateway focused on Latin America, Africa, and Asia, supporting 600+ local payment methods.

## How to Configure dLocal Go?

### Step 1: Getting dLocal Go API Credentials

1. Go to the [dLocal Go](https://dlocalgo.com/) website.
2. **Sign up for an account** or **log in** if you already have one.
3. Open the **Dashboard** and navigate to **Integrations > API Keys**.
4. Copy the **X-Login** (API Key) and the **X-Trans-Key** (API Secret).

<Warning>
  The **X-Trans-Key** is your secret — treat it like a password. Never expose it in client-side code or commit it to a public repository.
</Warning>

### Step 2: Configure the Notification URL

dLocal Go uses a single **notification URL** to confirm payments after the customer completes checkout on its hosted page.

In your dLocal Go dashboard, set the notification URL to:

```
https://<your-store-domain>/api/payments/handle/dlocalgo
```

The exact URL with your store's domain is shown next to the dLocal Go section in the admin panel.

### Step 3: Enable dLocal Go in the Admin Panel

<Steps>
  <Step title={'Open Payment Gateways'}>
    Go to **Settings > Payment Gateways** in the sidebar.
  </Step>

  <Step title={'Find dLocal Go'}>
    Scroll down to the **dLocal Go** section.
  </Step>

  <Step title={'Enable the Method'}>
    Toggle the **dLocal Go** switch on, then click **Configure** to expand the settings.
  </Step>

  <Step title={'Enter API Credentials'}>
    Paste your **API Key (X-Login)** and **API Secret (X-Trans-Key)** in the corresponding fields.
  </Step>

  <Step title={'Set the Default Country'}>
    Enter the **default country code** in **ISO 3166-1 alpha-2** format (e.g. `BR`, `MX`, `AR`, `CL`, `CO`, `PE`). This is the country dLocal Go will route the transaction through when the buyer's country cannot be inferred.
  </Step>

  <Step title={'Set the Charge Currency'}>
    Enter the **currency** customers will be charged in (e.g. `USD`, `BRL`, `MXN`). The selected currency must be supported by dLocal Go for the chosen country.
  </Step>

  <Step title={'Save Changes'}>
    Click on the **Save Changes** button.
  </Step>
</Steps>

## **Settings Reference**

| **Field**                    | **Meaning**                                                                                                    |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------- |
| **API Key (X-Login)**        | Public API identifier issued by dLocal Go.                                                                     |
| **API Secret (X-Trans-Key)** | Secret key paired with the API Key — used to sign payment requests.                                            |
| **Default Country**          | ISO 3166-1 alpha-2 country code, e.g. `BR`, `MX`, `AR`. Drives the available local methods on the hosted page. |
| **Charge Currency**          | Currency in which customers are billed. Must be supported by dLocal Go for the selected country.               |

## **How It Works**

1. The customer clicks **Pay with dLocal Go** at checkout.
2. The platform calls dLocal Go's `/v1/payments` API with the order ID, amount and currency, then **redirects the customer** to dLocal Go's hosted payment page.
3. The customer pays using any **local method** supported by dLocal Go for their country.
4. On completion, dLocal Go calls the notification URL on your store. The platform **verifies the payment** by calling dLocal Go's `/v1/payments/{id}` API and compares the amount before delivering the package.

<Check>
  If your store's base currency differs from the configured **Charge Currency**, the platform automatically **converts the order total** using the exchange rate configured in **Settings > Currencies**.
</Check>

## **Handled Webhook Statuses**

| **dLocal Go Status** | **Effect on the Order**                                   |
| -------------------- | --------------------------------------------------------- |
| `PAID`               | Order is marked as paid and the package is delivered.     |
| `REJECTED`           | Order is marked as failed.                                |
| `CANCELLED`          | Order is marked as failed.                                |
| `EXPIRED`            | Order is marked as failed.                                |
| `REFUNDED`           | Order is reversed (commands are revoked where supported). |
| Any other status     | Acknowledged but not acted on (e.g. `PENDING`).           |

## **Troubleshooting**

<CardGroup cols="1">
  <Card title="'dLocal Go is not configured properly' on checkout" icon="key">
    Make sure both **API Key** and **API Secret** are filled in **Settings > Payment Gateways > dLocal Go**, and that the dLocal Go switch is **enabled**.
  </Card>

  <Card title="Notification URL not firing" icon="globe">
    Confirm the URL in your dLocal Go dashboard matches the one shown in your admin panel **exactly**, and that your store is reachable over HTTPS from the public internet.
  </Card>

  <Card title="Currency not configured in the system" icon="coins">
    If your **Charge Currency** differs from the store's base currency, the conversion currency must also exist in **Settings > Currencies** with a valid exchange rate.
  </Card>
</CardGroup>
