# How to integrate B2BINPAY

[B2BINPAY](https://b2binpay.com/) can be connected to B2CORE through [PSS](/integrations/payment-systems.md#payment-system-service-pss), with support for deposits with [static payment details](#deposits-with-static-payment-details-via-b2binpay) and withdrawals.

{% hint style="warning" %}
The **Travel Rule** isn't currently supported for this integration because the corresponding driver for connecting to B2BIТPAY doesn't yet support **Travel Rule** requirements.
{% endhint %}

Follow the instructions below to configure the B2BINPAY connections and set up the deposit and withdrawal methods in the B2CORE Back Office. These instructions correspond to the [General procedure](/how-to-articles/manage-payment-methods/how-to-add-deposit-and-withdrawal-methods-through-pss.md) for adding methods for PSS-supported payment systems, but include details specific to B2BINPAY.

{% hint style="info" %}
Before proceeding with the instructions, you must have signed up for B2BINPAY and have an active wallet.
{% endhint %}

## Supported currencies

For the list of supported currencies for deposits and withdrawals via B2BINPAY, refer to [Currency codes](https://docs.b2binpay.com/references/currency-codes) in the B2BINPAY documentation.

## Configure connections to B2BINPAY

If you plan to use B2BINPAY for both deposits and withdrawals, you must configure two separate connections: one for deposits and another for withdrawals.

To configure a connection to B2BINPAY:

{% stepper %}
{% step %}
In the B2CORE Back Office, navigate to **System** > **External connections**.
{% endstep %}

{% step %}
Click **+Create** in the upper-right page corner.
{% endstep %}

{% step %}
On the **Create connection** page, fill in the following fields:

* In the **Name** field, enter a name for the connection. The name must be unique and may only contain Latin letters, numbers, dashes, and underscores (for example, `Deposits_B2BINPAY` or `Withdrawals_B2BINPAY`).
* In the **Caption** field, enter a caption that will be applied to the connection in the Back Office.
* In the **Provider** dropdown, select:
  * **PaymentSystemStaticDeposit** — to add a connection that will be used for a deposit method that supports **static payment details**.
  * **PaymentSystemWithdrawal** — to add a connection that will be used for a withdrawal method.
    {% endstep %}

{% step %}
In the **Driver** dropdown that appears, select **B2BINPAY V3**.
{% endstep %}

{% step %}
In the **Credentials** section that appears, configure the B2BINPAY-specific settings:

* In **API base URL** field, specify the base URL provided by B2BINPAY for your integration environment.
* In the **Client ID** field, enter your client identifier provided by B2BINPAY.
* In the **Client secret** field, enter the secret key associated with your client ID.
* In the **Callback secret** field, enter the key used to verify callback notifications from B2BINPAY.

For more details, refer to [How to access the API](https://docs.b2binpay.com/how-tos/manage-your-profile-and-system/how-to-access-api) in the B2BINPAY documentation.
{% endstep %}

{% step %}
Click **Save** to create the connection.

The B2BINPAY connection will appear in the list of external connections.
{% endstep %}

{% step %}
Check the connection status.

If the connection is inactive (**No** is displayed in the **Enabled** column), click the **Edit** button to open the connection details and set the **Enabled** dropdown to **Yes**.
{% endstep %}

{% step %}
Click **Save** to apply the changes.
{% endstep %}
{% endstepper %}

If you need to support both deposits and withdrawals via B2BINPAY, follow the same instruction to create a new connection for the other operation.

## Add a deposit method through B2BINPAY

To add and set up a deposit method through B2BINPAY that supports **static payment details**:

{% stepper %}
{% step %}
In the B2CORE Back Office, navigate to **System** > **Deposit system** > **Deposit methods**.
{% endstep %}

{% step %}
Click **+Create** in the upper-right page corner.
{% endstep %}

{% step %}
On the **Create a deposit method** page, fill in the following fields:

* In the **Name** field, enter a name for the method. The name must be unique and may only contain Latin letters, numbers, dashes, and underscores.
* In the **Caption** field, enter a caption for the method. This caption will be assigned to the method in the Back Office and will be visible to clients in the B2CORE UI.
* In the **Provider** dropdown, select **PaymentSystemStaticDeposit**.
  {% endstep %}

{% step %}
After selecting **PaymentSystemStaticDeposit**, the following fields appear:

* In the **Available account currencies** dropdown, select one or more currencies. The method will be available for depositing funds to client wallets in B2CORE, which are denominated in the currencies added on this tab.
* In the **Driver** dropdown, select **B2BINPAY V3**.
* In the **Connection** dropdown, select the previously configured [B2BINPAY connection for deposits](#configure-connections-to-b2binpay).
  {% endstep %}

{% step %}
After selecting the connection, the **Configuration** form appears. You may see the message `Configuration form is temporarily unavailable.` Wait a short while for the form to become available.

In the **Configuration** section, fill in the following fields:

* In the **Wallet** dropdown, select your B2BINPAY wallet that will be used for processing transactions. For each wallet in the list, the identifier assigned by B2BINPAY, the wallet type (**Merchant** or **Enterprise**), the wallet currency, and the label (if specified in B2BINPAY) are displayed.

  For details, refer to [Blockchain selection for Merchant and Enterprise wallets](#blockchain-selection-for-merchant-and-enterprise-wallets).
* The **Collect personal data** field displays **No**, which can't be changed as the **Travel rule** isn't currently supported for this B2BINPAY integration.
  {% endstep %}

{% step %}
Click **Save** to create the deposit method.

The B2BINPAY deposit method will appear in the list of deposit methods.
{% endstep %}

{% step %}
Click **Edit** to open the method details and fill in the following fields:

* On the **Settings** tab, use the **Group** dropdown to select one or more groups where the method should be included.
* In the **Icon** field, specify `paymethod-b2binpay` to display the [predefined icon](/integrations/payment-systems.md) for the method in the B2CORE UI. To use a custom icon, specify the URL of the image to be displayed.
* In the **Rates provider** dropdown, select B2BINPAY as the preferred rate provider for processing deposits with conversions. To do this, B2BINPAY must first be added as an exchange rate provider under **Currencies** > **Rates** (for details, refer to [How to configure currency exchange rates](/how-to-articles/manage-currencies/how-to-configure-currency-exchange-rates.md)).
* Check the method status.

  If the method is inactive (**No** is displayed in the **Enabled** field), activate it by setting the **Enabled** dropdown to **Yes**.
* On the **PS Currencies** tab, add the currencies in which deposits can be processed. These are the currencies supported by the B2BINPAY wallet selected in the **Configuration** section.

To enable deposits in a specific currency via this method, make sure that this currency is added on the **PS Currencies** tab.

<figure><img src="/files/T17wCwtljdUE2bW7beMu" alt="B2BINPAY deposit method — Settings tab"><figcaption><p>B2BINPAY deposit method — Settings tab</p></figcaption></figure>
{% endstep %}

{% step %}
Click **Test configuration** to validate the connection settings of the deposit method.

The test result will be displayed on the page.
{% endstep %}

{% step %}
After successfully validating the configuration, click **Save**.
{% endstep %}
{% endstepper %}

The B2BINPAY deposit method with **static payment details** is now configured in the Back Office and available to clients in the B2CORE UI.

## Add a withdrawal method through B2BINPAY

To add and set up a method for making withdrawals through B2BINPAY:

{% stepper %}
{% step %}
In the B2CORE Back Office, navigate to **System** > **Payout system** > **Payout methods**.
{% endstep %}

{% step %}
Click **+Create** in the upper-right page corner.
{% endstep %}

{% step %}
On the **Create a payout method** page, fill in the following fields:

* In the **Name** field, enter a name for the method. The name must be unique and may only contain Latin letters, numbers, dashes, and underscores.
* In the **Caption** field, enter a caption for the method. This caption will be assigned to the method in the Back Office and will be visible to clients in the B2CORE UI.
* In the **Provider** dropdown, select **PaymentSystemWithdrawal**.
  {% endstep %}

{% step %}
After selecting **PaymentSystemWithdrawal**, the following fields appear:

* In the **Available account currencies** dropdown, select one or more currencies. The method will be available for withdrawing funds from client wallets in B2CORE, which are denominated in the currencies added on this tab.
* In the **Driver** dropdown, select **B2BINPAY V3**.
* In the **Connection** dropdown, select the previously configured [B2BINPAY connection for withdrawals](#configure-connections-to-b2binpay).
  {% endstep %}

{% step %}
After selecting the connection, the **Configuration** form appears. You may see the message `Configuration form is temporarily unavailable.` Wait a short while for the form to become available.

In the **Configuration** section, fill in the following fields:

* In the **Wallet** dropdown, select your B2BINPAY wallet that will be used for processing transactions. For each wallet in the list, the identifier assigned by B2BINPAY, the wallet type (**Merchant** or **Enterprise**), the wallet currency, and the label (if specified in B2BINPAY) are displayed.

  For details, refer to [Blockchain selection for Merchant and Enterprise wallets](#blockchain-selection-for-merchant-and-enterprise-wallets).
* In the **Blockchain fee level** dropdown, select **Low**, **Medium**, or **High**.
* In the **Force blockchain** dropdown (applicable for **Merchant** wallets only), select:
  * **Yes** — to use only [on-chain transactions](https://docs.b2binpay.com/references/key-terms?q=fee+level#on-chain-transaction).
  * **No** — to allow [off-chain transactions](https://docs.b2binpay.com/references/key-terms#off-chain-transaction) when possible.

{% hint style="info" %}
All transactions involving **Enterprise** wallets are always processed on the blockchain.
{% endhint %}

* The **Collect personal data** field displays **No**, which can't be changed as the **Travel rule** isn't currently supported for this B2BINPAY integration.
  {% endstep %}

{% step %}
Click **Save** to create the withdrawal method.

The B2BINPAY withdrawal method will appear in the list of withdrawal methods.
{% endstep %}

{% step %}
Click **Edit** to enter the method details and complete the following fields:

* On the **Settings** tab, use the **Group** dropdown to select one or more groups where the method should be included.
* In the **Icon** field, specify `paymethod-b2binpay` to display the [predefined icon](/integrations/payment-systems.md) for the method in the B2CORE UI. To use a custom icon, specify the URL of the image to be displayed.
* In the **Rates provider** dropdown, select B2BINPAY as the preferred rate provider for processing withdrawals with conversions. To do this, B2BINPAY must first be added as an exchange rate provider under **Currencies** > **Rates** (for details, refer to [How to configure currency exchange rates](/how-to-articles/manage-currencies/how-to-configure-currency-exchange-rates.md)).
* Check the method status.

  If the method is inactive (**No** is displayed in the **Enabled** field), activate it by setting the **Enabled** dropdown to **Yes**.
* On the **PS Currencies** tab, add the currencies in which withdrawals can be processed. These are the currencies supported by the B2BINPAY wallet selected in the **Configuration** section.

To enable withdrawals in a specific currency via this method, make sure that this currency is added on the **PS Currencies** tab.

<figure><img src="/files/HkTYMO1N4SctP5HRKF7l" alt="B2BINPAY withdrawal method — Settings tab"><figcaption><p>B2BINPAY withdrawal method — Settings tab</p></figcaption></figure>
{% endstep %}

{% step %}
Click **Test configuration** to validate the connection settings of the withdrawal method.

The test result will be displayed on the page.
{% endstep %}

{% step %}
After successfully validating the configuration, click **Save**.
{% endstep %}
{% endstepper %}

The **B2BINPAY** withdrawal method is now configured in the B2CORE Back Office.

## Blockchain selection for Merchant and Enterprise wallets

In the **Configuration** section of a deposit or withdrawal method, you must select the wallet that will be used for processing transactions. The wallet type determines how the blockchain for processing transactions is defined.

* When using **Merchant** wallets, clients can select a blockchain for processing their transactions, depending on the chosen deposit or withdrawal currency.

  For example, if the deposit currency is USDT, available blockchain options such as **Ethereum** (ETH), **Tron** (TRX), or **BNB Smart Chain** (BSC) may appear, depending on your **Merchant** wallet configuration in B2BINPAY.
* When using **Enterprise** wallets, the blockchain on which transactions are processed is predefined by the wallet currency.

  For example, if your **Enterprise** wallet holds **USDT on Ethereum** (ETH), deposits will always be processed on the **Ethereum** (ETH) blockchain.

## Deposits with static payment details via B2BINPAY

Deposits with static payment details via B2BINPAY allow clients to generate one or more blockchain-specific deposit addresses in the B2CORE UI. These addresses are saved for future use and can be reused for subsequent deposits.

The example below shows how the payment form appears in the B2CORE UI for the B2BINPAY deposit method with **static payment details**. On the form, a client can generate payment details for making deposits in USDT on either the **Ethereum** (ETH) or **Tron** (TRX) blockchain. The generated address are saved and can be reused for future deposits. These addresses can be copied and used without the need to open the **Deposit** page in the B2CORE UI.

<figure><img src="/files/KhuM5vaxFNOsl5J8J8Qu" alt="B2BINPAY deposit method with static payment details"><figcaption><p>B2BINPAY deposit method with static payment details</p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.b2core.b2broker.com/how-to-articles/manage-payment-methods/how-to-add-deposit-and-withdrawal-methods-through-pss/how-to-integrate-b2binpay-v3.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
