> For the complete documentation index, see [llms.txt](https://docs.localramp.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.localramp.co/payments-on-ramp/white-label-api-direct-charge.md).

# White-Label API (Direct Charge)

This endpoint can be used to either&#x20;

1. Retrieve a bank account for your customers to send fiat to. Once they do, you instantly receive USDT in your wallet.&#x20;
2. Directly charge mobile money phone numbers. You also instantly receive USDT in your wallet.

To do this, Make a **POST** request to the following endpoint.

{% code overflow="wrap" %}

```url
https://api.localramp.co/v1/transaction/pay/direct-charge
```

{% endcode %}

The request takes this as the body

<table><thead><tr><th width="181">Field</th><th width="109">Data Type</th><th>Description</th></tr></thead><tbody><tr><td>reference</td><td>String</td><td><strong>Required</strong> - Your unique transaction reference. <em>Must be unique for every transaction</em>. e.g "Abc123"</td></tr><tr><td>email</td><td>String</td><td><strong>Required</strong> e.g "customer@example.com"</td></tr><tr><td>sender_currency</td><td>String</td><td><strong>Required</strong> - The currency your user would be paying in. e.g "NGN"</td></tr><tr><td>country_code</td><td>String</td><td><strong>Required</strong> - The country_code of the user paying in e.g "NG", "KE", "GH", "ZM"</td></tr><tr><td>usdt_amount</td><td>String</td><td><strong>Required</strong> - usdt amount to be received e.g "200.00". </td></tr><tr><td>phone_number</td><td>String</td><td><strong>Optionally Required</strong> - Required for mobile money e.g  "+23390999099"</td></tr><tr><td>phone_network</td><td>String</td><td><strong>Optionally Required</strong> - Required for mobile money e.g "mobile_money_MTN"</td></tr><tr><td>bvn</td><td>String</td><td><strong>Optionally Required</strong> - BVN of user making deposit. For large usdt amounts when sender_currency is NGN.</td></tr></tbody></table>

With the following header

```
x-auth-token: <SECRET_KEY>
```

If the API call is successful, LocalRamp returns the following response:

```javascript
{
    "status": "success",
    "data": {
        "account_name": "Jaka Technologies",
        "account_number": "8603043242",
        "bank_name": "African Bank",
        "optional_bank_ref": "ZHKAP",
        "payment_amount": "1000",
        "bank_account_timeout": "2023-04-06T17:37:42.900Z"
    }
}
```

Store the `reference`  . It'll be used to [verify the transaction](/crypto-on-ramp/get-transaction-state.md).

The user is expected to make the bank transfer within 30 mins of initiating the transaction.

**`bank_account_timeout`** is when the bank account would no longer accept payments for this transaction.

**`optional_bank_ref`** is the optional transaction note/reference the user can add to the transaction.

{% hint style="info" %}
The user is expected to only make the transfer from a personal bank account belonging to the user.
{% endhint %}

{% hint style="info" %}
Before passing in`usdt_amount`, you'll need to know the **maximum** and **minimum** values allowed for a `sender_currency`. See[ limit section.](/payments-on-ramp/get-limits.md)
{% endhint %}

{% hint style="info" %}
To get the list of supported currencies and country codes see the  [Get currencies section](/payments-on-ramp/get-supported-currencies.md)
{% endhint %}
