Creates a new beneficiary. A beneficiary is an individual or business entity that is able to receive a payment.

Introduction

Beneficiary creation is optional when you would like to manage them within Orbital. An approved beneficiary can then be the receiving party when making an outbound payment, simply by providing the beneficiary ID as part of the payment request. You can link your own internal beneficiary record to your Orbital beneficiary by using the beneficiaryReference field.

To meet regulatory obligations, Orbital will screen a beneficiary before allowing it to receive a payment. Approval will be communicated via either the BeneficiaryRejected or BeneficiaryApproved webhooks.

ℹ️

For this release of the Global Payments API, it is mandatory to specify a previously created beneficiary as described in this page when making a payment. In a future release, you will be able to provide full beneficiary details within a payment itself. Orbital will then create a beneficiary automatically and screen it as part of the payment processing flow, or use an existing beneficiary if a match is found. See Payments Overview.

Creating a Beneficiary

High Level Flow

The Orbital flow for creating a beneficiary is in two main parts

  1. Synchronous processing: Orbital will validate the request. The validation error will be detailed in the HTTP response.
  2. Asynchronous processing: Orbital will screen the beneficiary and send you a webhook notification to let you know of the status

Specifying the Correct Fields for Accounts and Wallets

When you create a beneficiary, you must ensure that the correct accountDetails fields are being used depending on the bank country and currency. Similarly, crypto wallets require certain fields depending on the blockchain. The tables below summarises the possible scenarios each for fiat and crypto currencies.

Fiat currencies

Bank Country & Currency

Fields to Use

Sample Request

UK domestic, GBP

  • The UK sortcode for bankCode
  • UK account number is accountNumber
{
   "accountDetails": {
        "nameOnAccount": "Ava Wilson",
        "bankCountry": "GB",
        "bankCode": "601613",
        "accountNumber": "60161331926819",
        "currency": "GBP"
    },
  ...
}

IBAN, any currency

  • bic
  • intermediaryBic (optional)
  • iban
{
    "accountDetails": {
    "nameOnAccount": "Patrick Murphy",
    "bankCountry": "IE",
    "bic": "BOFIIE2D",
    "iban": "IE29BOFI90123456789123",
    "currency": "EUR"
    },
...
}		

Non-IBAN country, any currency

  • bic
  • intermediaryBic (optional)
  • iban
{
    "accountDetails": {
        "nameOnAccount": "Liam Thompson",
        "bankCountry": "NZ",
        "accountNumber": "74839216540327",
        "bic": "TRWIBEB1XXX",
        "currency": "EUR"
    },
  ...

}

US Domestic, USD

  • Routing Number for bankCode
  • accountNumber
{
    "accountDetails": {
        "nameOnAccount": "David Miller",
        "bankCountry": "US",
        "bankCode": "011000015",
        "accountNumber": "749182305671",
        "currency": "USD"
    },
  ...
}

Stablecoins

Cryptocurrency

Fields to use

Sample Request

Stablecoins (USDT, USDC)

  • walletAddress
  • The network for blockChain
{
    "accountDetails": {
        "nameOnAccount": "Ava Wilson",
        "currency": "USDT",
        "blockChain": "ETH",
        "walletAddress": "0x6fC4Fc6F3dB49c98d7f92D2C41E657d9Fef045C1"
    },
    ...
}

Non-stablecoins (ETH, BTC, LTC, BCH)

walletAddress

{
    "accountDetails": {
        "nameOnAccount": "Mia Roberts",
        "walletAddress": "bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kygt080",
        "currency": "BTC"
    },
  ...
}

BeneficiaryStatus

The table below summarises various beneficiary status codes, depending on where they are in the creation flow.

StatusDescriptionPayments
newThe beneficiary is yet to be reviewed by Orbital.If a payment is made to a beneficiary with the status of new, those payments will be held and queued until the outcome of our internal screening processes. Those outcomes are approved or rejected status updates below.
approvedThe beneficiary has passed our screening process and any previously held payments will be processed.Payments are processed immediately for beneficiaries with approved status. Any held payments for beneficiaries that have transitioned from new to approved will be processed.
rejectedThe beneficiary has failed our screening process. Any previously held payments to this beneficiary will be automatically cancelled, and funds returned to your source account.Payments are rejected for beneficiaries with rejected status. Any held payments for beneficiaries that have transitioned from new to rejected will be cancelled and funds returned to the source account.

Related Webhook Notifications

BeneficiaryCreated

BeneficiaryApproved

BeneficiaryRejected

BeneficiaryDeleted

Full Sample Request

Below is a full sample of a request to create a beneficiary. Be mindful that fields are conditional depending on bank country and currency. Refer to the sections above for these rules.

{
    "accountdetails": {
        /* 
        • Required 
        • Type of beneficiary. Values: Business | Individual.  
        */
        "type": "string", 

        /* 
        • Required
        • Name on account.
        */
        "nameOnAccount": "string", 

        /* 
        • Required
        • Currency for bank account. Together with bankCountry, used to 
          deterine the structure for account fields. 
        */
        "currency": "string",

        /* 
        • Required 
        • ISO alpha-2 code of the bank country. This field is used, together with currency, 
          to determine required account fields (bic/bankAccount/iban, etc) 
        */
        "bankCountry": "string", 

        /* 
        • Conditional: required for bank accounts that don't use BIC/IBAN 
        • UK sortcode, US routing number, bank/branch code for other countries requiring this
        */
        "bankCode": "string", 

        /* 
        • Conditional: required for bank accounts that don't use IBAN
        • Account Number for non-IBAN bank accounts 
        */
        "accountNumber": "string",

        /* 
        • Conditional: required for bank accounts that don't use bankCode.
        • BIC/SWIFT code Account Number for non-IBAN bank accounts 
        */
        "bic": "string",

        /* 
        • Optional
        • Intermediary BIC for beneficiaries who this defined
        */
        "intermediaryBic": "string",
        
        /* 
        • Conditional: BIC will also be required. 
        • IBAN, used by banks within the EU and those who support IBAN
        • Maps to pc-beneficiary.accountdetails.iban
        */
        "iban": "string",

        /* 
        • Conditional: Required for crypto currencies and stablecoins
        • Values: ETH | TRX
        • Defines the blockchain network
        */
        "blockChain": "string",

        /* 
        • Conditional: Required for crypto currencies and stablecoins
        • Defines the crypto wallet address
        */
        "walletAddress": "string"
    },
    "address": {

        /* 
        • Required
        • Address line for building number
        */
        "buildingNumber": "string",

        /* 
        • Required
        • Address line for street
        */
        "street": "string",

        /* 
        • Required
        • Address line for state or province
        */
        "stateOrProvince": "string",

        /* 
        • Required
        • Address line for city
        */
        "city": "string",

        /* 
        • Required
        • Address line for ZIP/Postal code
        */
        "zipOrPostalCode": "string",

        /* 
        • Required
        • Address line for Country. Must be ISO alpha-2 code
        */
        "country": "string"
    }
}