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

# Payment Instructions

When withdrawing fiat funds from Borderless, you need to specify where you'd like the funds to be sent. Since Borderless supports a wide range of countries with different payout methods - such as bank transfers, PIX, Mobile Money, and others - this is done through Payment Instructions.

A Payment Instruction is created for a specific `identity`, and contains the method and destination details for where funds should be sent during a withdrawal.

<Note>
  If you're just getting started, please check out our [quick start guide](/docs/quick-start-guide).
</Note>

## Payment Method

The core of the Payment Instruction is the payment method, which defines how the transfer will be made. Each country may support different methods. Please see a list below of local payment rails.

<AccordionGroup>
  <Accordion title="Global & Multi-Region">
    | Rail                                         | Region                      | Currency                     | Type                    |
    | -------------------------------------------- | --------------------------- | ---------------------------- | ----------------------- |
    | SWIFT MT / ISO 20022                         | Global                      | Multi-currency               | Messaging / interbank   |
    | Card networks (Visa, Mastercard, Amex, etc.) | Global                      | Multi-currency               | Card schemes            |
    | T2 (Eurosystem RTGS)                         | Eurozone                    | EUR                          | RTGS                    |
    | TIPS (TARGET Instant Payment Settlement)     | Europe (SEPA)               | EUR, SEK, DKK                | Instant                 |
    | Buna                                         | Arab region (selected MENA) | AED, SAR, JOD, EGP, USD, EUR | Cross-border / regional |
    | CIPS                                         | Global (RMB-focused)        | CNY (RMB)                    | Cross-border RTGS       |
  </Accordion>

  <Accordion title="Americas">
    Core account-based rails across North and South America.

    **United States & Canada**

    | Rail                 | Country | Currency | Type             |
    | -------------------- | ------- | -------- | ---------------- |
    | ACH                  | US      | USD      | Batch ACH        |
    | Fedwire              | US      | USD      | High-value RTGS  |
    | RTP                  | US      | USD      | Instant          |
    | FedNow               | US      | USD      | Instant          |
    | Zelle                | US      | USD      | Scheme / overlay |
    | Interac e-Transfer   | Canada  | CAD      | Instant          |
    | Lynx (RTGS)          | Canada  | CAD      | High-value RTGS  |
    | Real-Time Rail (RTR) | Canada  | CAD      | Instant          |

    **Latin America**

    | Rail                         | Country   | Currency | Type           |
    | ---------------------------- | --------- | -------- | -------------- |
    | Pix                          | Brazil    | BRL      | Instant        |
    | TED / DOC                    | Brazil    | BRL      | RTGS / batch   |
    | SPEI                         | Mexico    | MXN      | Instant        |
    | CoDi (overlay on SPEI)       | Mexico    | MXN      | Instant / QR   |
    | PSE (Pagos Seguros en Línea) | Colombia  | COP      | Near real-time |
    | Local ACH/RTGS rails         | Colombia  | COP      | Batch / RTGS   |
    | Local ACH/RTGS rails         | Argentina | ARS      | Batch / RTGS   |
    | COELSA                       | Argentina | ARS      | Batch / RTGS   |
    | Local ACH/RTGS rails         | Chile     | CLP      | Batch / RTGS   |
    | SPAV                         | Chile     | CLP      | Batch / RTGS   |
    | Local ACH/RTGS rails         | Peru      | PEN      | Batch / RTGS   |
  </Accordion>

  <Accordion title="Europe">
    Euro-area SEPA rails plus major national systems.

    **Pan-European (SEPA / Eurozone)**

    | Rail                         | Region    | Currency(ies) | Type                  |
    | ---------------------------- | --------- | ------------- | --------------------- |
    | SEPA Credit Transfer         | SEPA zone | EUR           | Batch credit transfer |
    | SEPA Instant Credit Transfer | SEPA zone | EUR           | Instant               |
    | SEPA Direct Debit            | SEPA zone | EUR           | Batch debit           |
    | TARGET2                      | Eurozone  | EUR           | High-value RTGS       |
    | TIPS                         | Eurozone  | EUR           | Instant               |

    **United Kingdom & other Europe**

    | Rail                          | Country | Currency(ies) | Type             |
    | ----------------------------- | ------- | ------------- | ---------------- |
    | Faster Payments Service (FPS) | UK      | GBP           | Instant          |
    | Bacs                          | UK      | GBP           | Batch ACH        |
    | CHAPS                         | UK      | GBP           | High-value RTGS  |
    | Swish                         | Sweden  | SEK           | Instant / mobile |
  </Accordion>

  <Accordion title="Asia-Pacific">
    | Rail / Scheme                    | Country / Region          | Currency  | Type              |
    | -------------------------------- | ------------------------- | --------- | ----------------- |
    | UPI (Unified Payments Interface) | India                     | INR       | Instant           |
    | IMPS / NEFT                      | India                     | INR       | Faster / batch    |
    | New Payments Platform (NPP)      | Australia                 | AUD       | Instant           |
    | FAST                             | Singapore                 | SGD       | Fast ACH          |
    | PayNow (on FAST)                 | Singapore                 | SGD       | Instant overlay   |
    | PromptPay                        | Thailand                  | THB       | Instant           |
    | DuitNow                          | Malaysia                  | MYR       | Instant           |
    | BI-FAST                          | Indonesia                 | IDR       | Instant           |
    | InstaPay                         | Philippines               | PHP       | Instant           |
    | PESONet                          | Philippines               | PHP       | Batch ACH         |
    | Faster Payment System (FPS)      | Hong Kong SAR             | HKD, CNY  | Instant           |
    | CNAPS                            | China (domestic)          | CNY       | RTGS / ACH        |
    | CIPS                             | Global (RMB cross-border) | CNY (RMB) | Cross-border RTGS |
  </Accordion>

  <Accordion title="Middle East & North Africa">
    GCC and MENA rails, including instant and cross-border systems.

    | Rail                      | Country                                 | Currency                             | Type                        |
    | ------------------------- | --------------------------------------- | ------------------------------------ | --------------------------- |
    | Sarie / SARIE             | Saudi Arabia                            | SAR                                  | Instant + batch             |
    | UAEFTS / local RTGS & ACH | UAE                                     | AED (multi-currency for some flows)  | RTGS / batch                |
    | Buna                      | Arab region (cross-border)              | AED, SAR, EGP, USD, EUR (and others) | Cross-border RTGS / instant |
    | InstaPay (overlay)        | Egypt                                   | EGP                                  | Instant                     |
    | Other GCC instant rails   | GCC (e.g. Qatar, Bahrain, Oman, Kuwait) | Local currencies                     | Instant                     |
  </Accordion>

  <Accordion title="Sub-Saharan Africa">
    Account-based rails alongside mobile money ecosystems.

    | Rail                                                      | Country                   | Currency                 | Type         |
    | --------------------------------------------------------- | ------------------------- | ------------------------ | ------------ |
    | NIBSS Instant Payment (NIP)                               | Nigeria                   | NGN                      | Instant      |
    | GhIPSS Instant Pay (GIP)                                  | Ghana                     | GHS                      | Instant      |
    | PayShap                                                   | South Africa              | ZAR                      | Instant      |
    | RTGS / ACH systems                                        | Various African markets   | Local currencies         | RTGS / batch |
    | Mobile money rails (M-Pesa, MTN MoMo, Airtel Money, etc.) | Kenya, TZ, UG, GH, others | KES, TZS, UGX, GHS, etc. | Wallet rails |
  </Accordion>
</AccordionGroup>

**Required Fields** The required fields for a Payment Instruction depend on the payment method and the country. Each method has its own set of required data.

## Usage

To create a payment instruction simply ensure the correct combination of country, currency, payment method, and required fields. You can submit payment instructions for an `identity` with the following endpoint:

<Tip>
  Endpoint: [`POST /identities/{id}/payment-instructions`](/api-reference/payment-instructions/create-a-new-payment-instruction)
</Tip>

```json payment-instruction expandable theme={null}
{
  "country": "CountryCode",
  "currency": "FiatCurrencyId",
  "name": "Name of Payment Instruction",
  "paymentMethod": "PaymentMethod",
  "details": "PaymentInstructionDetails"
}
```

**Payment Instructions**

<Tabs>
  <Tab title="US">
    In the United States, Payment Instructions offer two methods: **ACH** and **Wire**. The data required for both payment methods is the same:

    <Note>
      We require a valid street address when creating US payment instructions. Address should start with a street number.\
      \
      Example: 99 Central Street
    </Note>

    <CodeGroup>
      ```json US payload theme={null}
      {
        "country": "US",
        "currency": "USD",
        "name": "Personal USD Account",
        "paymentMethod": "ACH", // ACH, Wire

        "details": {
          "accountHolderName": "John Doe",
          "bankAccountNumber": "123456789",
          "bankAccountType": "Checking", // Savings
          "bankName": "Bank of America",
          "bankRoutingNumber": "026009593",

          "address": {
            "street1": "123 Main St",
            "street2": "Apt 4B",
            "city": "Los Angeles",
            "state": "CA",
            "country": "US",
            "postalCode": "90001"
          }
        }
      }
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Europe">
    The SEPA (Single Euro Payments Area) payment method is available for all European countries that support payments in Euros (EUR).

    <CodeGroup>
      ```json SEPA payload theme={null}
      {
        "country": "NL",
        "currency": "EUR",
        "name": "Personal EUR Account",
        "paymentMethod": "Sepa",

        "details": {
          "bankName": "Rabobank",
          "accountHolderName": "John Doe",
          "bankAccountNumber": "NL39RABO0301234567",
          "swiftOrBicNumber": "RABONL2U",
          "accountOwnerType": "Personal",
          "firstName": "John",
          "lastName": "Doe",

          "address": {
            "street1": "Keizersgracht 123",
            "street2": "Apt 4B",
            "city": "Amsterdam",
            "country": "NL",
            "postalCode": "1015CW"
          }
        }
      }
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Africa">
    Africa has a few different systems for payments and money transfer across the continent.

    <Note>
      **+** is required for `phone` fields
    </Note>

    <Tabs>
      <Tab title="MobileMoney">
        <CodeGroup>
          ```json mobile-money-payload expandable theme={null}
          {
            "country": "GH",
            "currency": "GHS",
            "name": "Personal GHS Account",
            "paymentMethod": "MobileMoney",

            "details": {
              "accountHolderName": "Kwame Mensah",
              "phone": "+254701234567",
              "networkProvider": "MPESA" // deprecated please use networkSlug instead
            }
          }
          ```
        </CodeGroup>
      </Tab>

      <Tab title="BankTransfer (EFT)">
        <CodeGroup>
          ```json EFT-payload expandable theme={null}
          {
            "country": "ZA",
            "currency": "ZAR",
            "name": "ZAR BankTransfer",
            "paymentMethod": "EFT", // BankTransfer, EFT (for South Africa only)
            
            "details": {
              "bankSlug": "0fPrRVk7mkkCDKpzE2oOZXhlUjgKW7bEII2pz4crGX0",
              "bankAccountNumber": "1111111111",
            
              "address": {
                "street1": "45 Sandton Drive",
                "street2": "Sandhurst",
                "city": "Johannesburg",
                "state": "Gauteng",
                "country": "ZA",
                "postalCode": "2196"
              }
            }
          }
          ```
        </CodeGroup>
      </Tab>
    </Tabs>
  </Tab>

  <Tab title="LatAm">
    <Tabs>
      <Tab title="SPEI">
        SPEI is the primary payment method in **Mexico**.

        <CodeGroup>
          ```json SPEI-payload expandable theme={null}
          {
            "country": "MX",
            "currency": "MXN",
            "name": "Personal MXN Account",
            "paymentMethod": "SPEI",

            "details": {
              "bankCode": "002",
              "bankAccountNumber": "12345678901234567890123456",
              "bankName": "BBVA México",
              "taxId": "HEGJ8507157M9",
              "businessDescription": "Software Engineer",
              
              "address": {
                "street1": "Avenida Insurgentes Sur 1234",
                "street2": "Colonia del Valle",
                "city": "Mexico City",
                "state": "MX",
                "country": "MX",
                "postalCode": "03100"
              }
            }
          }
          ```
        </CodeGroup>
      </Tab>

      <Tab title="PIX">
        PIX is the primary payment method for **Brazil.**

        <CodeGroup>
          ```json PIX-payload-CPF expandable theme={null}
          {
            "country": "BR",
            "currency": "BRL",
            "name": "Personal BRL Account",
            "paymentMethod": "PIX",

            "details": {
              "identifierType": "CPF",
              "identifierValue": "12345678901",

              "address": {
                "street1": "Avenida Paulista 1000",
                "street2": "Bela Vista",
                "city": "São Paulo",
                "state": "SP",
                "country": "BR",
                "postalCode": "01310-100"
              }
            }
          }
          ```

          ```json PIX-payload-phone expandable theme={null}
          {
            "country": "BR",
            "currency": "BRL",
            "name": "Personal BRL Account",
            "paymentMethod": "PIX",

            "details": {
              "identifierType": "PhoneNumber",
              "identifierValue": "1123456789",

              "address": {
                "street1": "Avenida Paulista 1000",
                "street2": "Bela Vista",
                "city": "São Paulo",
                "state": "SP",
                "country": "BR",
                "postalCode": "01310-100"
              }
            }
          }
          ```
        </CodeGroup>
      </Tab>

      <Tab title="COLESA">
        COELSA is a primary payment method in **Argentina**.

        <CodeGroup>
          ```json COLESA-payload expandable theme={null}
          {
            "country": "AR",
            "currency": "ARS",
            "name": "Personal ARS Account",
            "paymentMethod": "COELSA",

            "details": {
              "bankCode": "072",
              "bankAccountNumber": "12345678901234567890123456",
              "bankName": "Banco Nación Argentina",
              "accountHolderName": "Carlos Martínez",
              "bankAccountNumberType": "CVU", // CBU, ALIAS
              
              "address": {
                "street1": "Calle Ficticia 456",
                "street2": "Piso 5",
                "city": "Buenos Aires",
                "country": "AR",
                "postalCode": "C1000"
              }
            }
          }
          ```
        </CodeGroup>
      </Tab>

      <Tab title="PSE">
        **Colombia** can use their local PSE rails for withdrawals.

        <CodeGroup>
          ```json PSE-payload expandable theme={null}
          {
            "country": "CO",
            "currency": "COP",
            "name": "Personal COP Account",
            "paymentMethod": "PSE",

            "details": {
              "bankCode": "001",
              "bankAccountNumber": "12345678901234567890123456",
              "bankName": "Bancolombia",
              "accountHolderName": "Carlos Martínez",
              
              "address": {
                "street1": "Carrera 7 # 123",
                "street2": "Oficina 7A",
                "city": "Bogotá",
                "state": "DC",
                "country": "CO",
                "postalCode": "110010"
              }
            }
          }
          ```
        </CodeGroup>
      </Tab>

      <Tab title="CCE">
        CCE payment method supports **Peru**.

        <CodeGroup>
          ```json CCE-payload expandable theme={null}
          {
            "country": "PE",
            "currency": "PEN",
            "name": "Personal PEN Account",
            "paymentMethod": "CCE",

            "details": {
              "bankCode": "003",
              "bankAccountNumber": "12345678901234567890123456",
              "bankName": "Banco de Crédito del Perú",
              "bankAccountType": "Checking",

              "address": {
                "street1": "Avenida Pardo y Aliaga 1234",
                "street2": "Oficina 302",
                "city": "Lima",
                "state": "LI",
                "country": "PE",
                "postalCode": "15073"
              }
            }
          }
          ```
        </CodeGroup>
      </Tab>

      <Tab title="SPAV">
        SPAV supports **Chilean** withdrawals of Peso.

        <CodeGroup>
          ```json SPAV-payload expandable theme={null}
          {
            "country": "CL",
            "currency": "CLP",
            "name": "Personal CLP Account",
            "paymentMethod": "SPAV",

            "details": {
              "bankCode": "003",
              "bankAccountNumber": "12345678901234567890123456",
              "bankName": "BancoEstado",
              
              "address": {
                "street1": "Avenida Apoquindo 1234",
                "street2": "Oficina 404",
                "city": "Santiago",
                "state": "RM",
                "country": "Chile",
                "postalCode": "7550000"
              }
            }
          }
          ```
        </CodeGroup>
      </Tab>
    </Tabs>
  </Tab>
</Tabs>

<Warning>
  Borderless does not validate the accuracy of the provided payment instruction details upon creation, only the format is checked.

  The primary validation is performed by the PFI at the time of transaction execution. This means that if the payment instruction contains incorrect details, you may receive a failureReason during the withdrawal process.

  It is responsibility of Integrator to validate the correctness of the provided data when creating payment instructions.
</Warning>

<Info>
  If you have any questions, please don't hesitate to reach out to us via [email](mailto:support@borderless.xyz) or slack.
</Info>
