Disburse Cross Border Payment

1. Method: Disburse Cross Border Payment


Important notes

Public and Private Keys are unique for Sandbox and Live.
Sandbox Endpoint URL: https://sandbox.api.igsend.co.uk/services/DisburseCrossBorderPayment 
 Double click the URL above to insert into the Endpoint field below
Endpoint URL
Public Key
Private Key

Request Payload


Response Payload



JSON schema

The example JSON above details all the necessary data required to submit a payment. The breakdown of each element is as such:
Title Datatype Validation Max. Data Length Example Data Notes
ClientID Integer
  • Must be a numeric value
  • Must not be null, empty or 0
- 123456 Client ID will be provided by Income Group
PaymentType String
  • Must be an alphanumeric value
  • Must not be null, empty, or contain special characters
3 B2B It specifies the type of payment. The type or mode of payment is provided by the client.
Note: Valid payment types are B2P and B2B.
PaymentCount Integer
  • Must be a numeric value
  • Must not be null, empty or 0
- 2 Number of payments in this request. For a single payment, set this to 1
BatchID Integer
  • Must be a numeric value
  • Must not be null, empty or 0
  • Must be unique for each request of the ClientID within the payload
- 1001 This your unique ID for the payment request. It must be unique for the client. If not, it will fail the payment due to duplicate BatchID
BatchReleaseByDate String
  • Can be null or empty
  • (Optional) Can include 24 hour time
  • If BatchReleaseByDate is passed then PaymentReleaseByDate is not required
- 2024-12-25
2024-12-25 12:00
Date in YYYY-MM-DD format. Optional 24 hour time can be added for granular processing at a specific hour and minute. Must be compliant to 24 hour clock.

Date Options:
  • 2022-12-25 - this infers payment to be processed at midnight (00:00) on the date specified. If the date specified is the current date, payment will be processed immediately
  • 2022-12-25 13:30 - adding the time in 24 hour format then it will process the payment at the date specified
  • If it is a Empty string - this will schedule the payment as per the PaymentReleaseByDate, the following day
Note: If the date and/or time has passed, the API will return an error and halt processing
DisburseUniqueID String
  • Must be a alphanumeric value
  • Must not be null or empty
  • Must be unique within the JSON payload request
  • It allows special characters of only Space, UnderScore and Hyphen
40 1 This your unique ID for the payment. It must be unique for each transaction in the request. If not, it will fail the payment due to duplicate DisburseUniqueID
PayeeExternalID String
  • Optional
  • Must be a numeric value
  • Can be null or 0
- 123 This is a unique PayeeExternalID in your system. We will store this into the payee record on our side. In future, the payment instructions can just be the PayeeExternalID. If PayeeExternalID is not provided, the payee name and Bank details are mandatory
PaymentReleaseByDate String
  • Cannot be null or empty
  • (Optional) Can include 24 hour time
  • If PaymentReleaseByDate is passed then BatchReleaseByDate is not required
- 2024-12-25
2024-12-25 12:00
Date in YYYY-MM-DD format. Optional 24 hour time can be added for granular processing at a specific hour and minute. Must be compliant to 24 hour clock.

Date Options:
  • 2022-12-25 - this infers payment to be processed at midnight (00:00) on the date specified. If the date specified is the current date, payment will be processed immediately
  • 2022-12-25 13:30 - adding the time in 24 hour format then it will process the payment at the date specified
  • [No date] - if no date is passed, this will schedule the payment for midnight (00:00) the following day
Note: If the date and/or time has passed, the API will return an error and halt processing
PaymentReference String
  • Must be an alphanumeric value
  • Must not be null, empty, or contain special characters
250 Reimbursement Sender's identification of the source of the funds being submitted.
PaymentAmount Decimal
  • Must be greater than zero
  • Cannot be null or empty
18,2 763.97 PaymentAmount to be paid, to two decimal places. PaymentAmount to be paid in receving party currency. Receiving amount in receiver currency is specified by the sender
PaymentCurrencyIDISO3 String
  • Must be an alphabetic value
  • Must not be null or empty
3 AUD Denotes the receiver currency;
PayeeName String
  • Must be an alphanumeric value
  • Must not be null or empty
  • It allows special characters of only Space, UnderScore, Ampersand, Dot and Hyphen
250 ACME Pvt Ltd. This parameter contains an organization's name for transactions where the beneficiary is not a person.
PayeeDateOfBirth String
  • cannot be null or empty
  • Date must not be present or future date
10 1990-12-25 Date in YYYY-MM-DD format. For Business To Business transactions, this is the date of establishment.
PayeeNationalityIDISO3 String
  • Must be an alphabetic value
  • Must not be null or empty
3 AUS Denotes the country of the Payee;
PayeeEmail String
  • Must be a valid email
  • Must not be null or empty
1000 email@email.com This is the email address of a contact at the business/entity
PayeeMobile String
  • Optional
  • Must be a numeric value
  • Must be a valid mobile number
15 0987456321 This is the mobile number of a recipient/Payee
PayeeAddress1 String
  • Cannot be null or empty
  • It holds a string of alphanumeric special characters with a maximum length of 500 and a minimum length of 1.
500 42 WEST ELM AVENUE This is address line 1 for the business/entity. This field should contain the following components of the address only (each part as applicable): Physical address number, Directional indicators (N, W, SW, etc), Street Name, Thoroughfare type (LN, BLVD. etc). (City, State, zip code, or other address elements must not be added to this field or transactions rejections may occur)
PayeeAddress2 String
  • Optional
  • It holds a string of alphanumeric special characters with a maximum length of 500 and a minimum length of 1
500 Suite 100 This is address line 2 for the business/entity. This field should contain additional information about the address only (as applicable): Apartment/room/suite identifier. (City, State, zip code, or other address elements must not be added to this field or transactions rejections may occur)
PayeeCity String
  • Cannot be null or empty
  • It holds a string of alphanumeric characters with a maximum length of 35 and a minimum length of 1
35 ANY TOWN This is the city where the business/entity resides. (State, zip code, or other address elements must not be added to this field or transactions rejections may occur)
PayeeProvince String
  • Optional
  • This parameter holds a string of alphanumeric special characters with a maximum length of 35 and a minimum length of 2.
35 NM or New Mexico This is the state/province where the business/entity resides. For Countries that do not have a country subdivision, this field should not be provided in the payment request. (City, zip code, or other address elements must not be added to this field or transactions rejections may occur)
PayeePostalCode String
  • Optional
  • This parameter is only required for countries that use postal codes
16 69999 This is the postal code of the business/entity. This parameter holds a string of alphanumeric characters with a maximum length of 16 and a minimum length of 1.
PayeeCountryIDISO3 String
  • Must be an alphabetic value
  • Must not be null or empty
3 AUS This is the country of the business/entity.
PayeeBankAccountNumber String
  • Cannot be null or empty
  • IBAN number is required.
100 GB33BUKB20201555555555 This parameter contains the beneficiary's account number to receive the payment
PayeeBankName String
  • Cannot be null or empty
140 Royal Exchange Name of the Bank holding the receiving account.
PayeeBankBranchName String
  • Cannot be null or empty
140 Quad Cities Name of the Bank Branch holding the receiving account.
PayeeBankCurrencyIDISO3 String
  • Must be an alphabetic value
  • Must not be null or empty
3 AUD Denotes the currency of the Bank Account.
PayeeSwiftBicCode String
  • Cannot be null or empty
50 BKENGB2LXXX SWIFT is also known as Bank Identifier Code (BIC). SWIFT contains predefined messages and instructions to overseas banks for incoming payments.
PayeeLocalRoutingType String
  • Optional
100 - Local Routing Type of the payee account
PayeeLocalRoutingCode String
  • Optional
100 - Local Routing Code of the payee account
PayeeBankAddress1 String
  • Cannot be null or empty
  • It holds a string of alphanumeric special characters with a maximum length of 500 and a minimum length of 1.
500 42 WEST ELM AVENUE This is address line 1 for the business/entity. This field should contain the following components of the address only (each part as applicable): Physical address number, Directional indicators (N, W, SW, etc), Street Name, Thoroughfare type (LN, BLVD. etc). (City, State, zip code, or other address elements must not be added to this field or transactions rejections may occur)
PayeeBankAddress2 String
  • Optional
  • It holds a string of alphanumeric special characters with a maximum length of 500 and a minimum length of 1
500 Suite 100 This is address line 2 for the business/entity. This field should contain additional information about the address only (as applicable): Apartment/room/suite identifier. (City, State, zip code, or other address elements must not be added to this field or transactions rejections may occur)
PayeeBankCity String
  • Cannot be null or empty
  • It holds a string of alphanumeric characters with a maximum length of 35 and a minimum length of 1
35 ANY TOWN This is the city where the business/entity resides. (State, zip code, or other address elements must not be added to this field or transactions rejections may occur)
PayeeBankProvince String
  • Optional
  • This parameter holds a string of alphanumeric special characters with a maximum length of 35 and a minimum length of 2.
35 NM or New Mexico This is the state/province where the business/entity resides. For Countries that do not have a country subdivision, this field should not be provided in the payment request. (City, zip code, or other address elements must not be added to this field or transactions rejections may occur)
PayeeBankPostalCode String
  • Optional
  • This parameter is only required for countries that use postal codes
16 69999 This is the postal code of the business/entity. This parameter holds a string of alphanumeric characters with a maximum length of 16 and a minimum length of 1.
PayeeBankCountryIDISO3 String
  • Must be an alphabetic value
  • Must not be null or empty
3 AUS This is the country of the business/entity.

3. JSON Response Data

The table below details the response code, message ID and message returned from an API call.
status MessageID Message Description
1 10010 Request processed successfully Payment(s) have been successfully uploaded into the IGsend system
2 10009 Data validation failed. Info: PaymentType is invalid. DisburseUniqueID: { DisburseUniqueID } The PaymentType value is not valid. Please provide a valid payment type.
2 10009 Data validation failed. Info: PaymentCount is not equal to total no. of payments. DisburseUniqueID: { DisburseUniqueID } The PaymentCount value must match the total number of payments submitted in the API call
2 10009 Data validation failed. Info: PaymentAmount cannot be below or equal to zero. DisburseUniqueID: { DisburseUniqueID } The PaymentAmount value must be greater than zero (please note this references GBP as this is the current stated in the API call)
2 10009 Data validation failed. Info: BatchReleaseByDate cannot be past date. DisburseUniqueID: { DisburseUniqueID } The BatchReleaseByDate must at least today's date
2 10009 Data validation failed. Info: BatchReleaseByDate not in valid format. Accepted format: YYYY-MM-DD. DisburseUniqueID: { DisburseUniqueID } The BatchReleaseByDate must be a valid date format YYYY-MM-DD
2 10009 Data validation failed. Info: PaymentReleaseByDate cannot be past date. DisburseUniqueID: { DisburseUniqueID } The PaymentReleaseByDate must at least today's date
2 10009 Data validation failed. Info: PaymentReleaseByDate not in valid format. Accepted format: YYYY-MM-DD. DisburseUniqueID: { DisburseUniqueID } The PaymentReleaseByDate must be a valid date format YYYY-MM-DD
2 10009 Data validation failed. Info: Security Unauthorised Access. DisburseUniqueID: { DisburseUniqueID } The ClientID must be the parent, child or grandchild of the top-level Client ID
2 10009 Data validation failed. Info: ClientID cannot be empty, null or zero The ClientID is a required field and cannot be left blank
2 10009 Data validation failed. Info: Security Unauthorised Access Indicates that this is an unauthorised attempt to access the API, using credentials that are not recognised. Please check the public and private API Keys and they match the ClientID supplied by Income Group
2 10009 Data validation failed. Info: PayeeExternalID must be numeric. DisburseUniqueID: { DisburseUniqueID } The PayeeExternalID must be numeric when provided
2 10009 Data validation failed. Info: PaymentReference cannot be empty or null and it must be alphanumeric. DisburseUniqueID: { DisburseUniqueID } The PaymentReference value must contain at least 1 character, or not be "NULL"
2 10009 Data validation failed. Info: PayeeName cannot be empty or null. DisburseUniqueID: { DisburseUniqueID } The PayeeName value cannot be empty or null
2 10009 Data validation failed. Info: PayeeName must be alphabets, numbers, -, ., &, _ and space only. DisburseUniqueID: { DisburseUniqueID } The PayeeName value must contain at least 1 character, or not be "NULL"
2 10009 Data validation failed. Info: PayeeName max length allowed is 250 characters. DisburseUniqueID: { DisburseUniqueID } The PayeeName value max length allowed is 250 alphanumeric characters
2 10009 Data validation failed. Info:BatchID cannot be empty, null, zero or alphanumeric. BatchID must be numeric. DisburseUniqueID: { DisburseUniqueID } The BatchID value must be a valid integer
2 10009 Data validation failed. Info: DisburseUniqueID cannot be empty, null or zero. DisburseUniqueID: { DisburseUniqueID } The DisburseUniqueID value cannot be empty, null or zero, unique to the individual payment
2 10009 Data validation failed. Info: Duplicate DisburseUniqueID found. DisburseUniqueID: { DisburseUniqueID } The DisburseUniqueID value must be unique to the individual payment
2 10009 Data validation failed. Info: DisburseUniqueID must be alphabets, numbers, -, _ and space only. DisburseUniqueID: { DisburseUniqueID } The DisburseUniqueID value must be alphabets, numbers, -, _ and space only
2 10009 Data validation failed. Info: DisburseUniqueID max length allowed is 40 characters. DisburseUniqueID: { DisburseUniqueID } The DisburseUniqueID max length allowed is 40 characters
2 10009 Data validation failed. Info: PaymentCurrencyIDISO3 cannot be empty or null. DisburseUniqueID: { DisburseUniqueID } The PaymentCurrencyIDISO3 value must be a valid ISO Currency Code (Alpha 3).
2 10009 Data validation failed. Info: PaymentCurrencyIDISO3 must be a valid 3 letter ISO currency code. DisburseUniqueID: { DisburseUniqueID } The PaymentCurrencyIDISO3 value must be a valid ISO Currency Code (Alpha 3).
2 10009 Data validation failed. Info: PayeeDateOfBirth cannot be empty or null. DisburseUniqueID: { DisburseUniqueID } The PayeeDateOfBirth date must be a valid value
2 10009 Data validation failed. Info: PayeeDateOfBirth cannot be a Future Date. DisburseUniqueID: { DisburseUniqueID } The PayeeDateOfBirth cannot be a future date
2 10009 Data validation failed. Info: PayeeDateOfBirth cannot be a Today's Date. DisburseUniqueID: { DisburseUniqueID } The PayeeDateOfBirth cannot be a today's date
2 10009 Data validation failed. Info: PayeeDateOfBirth not in valid format. Accepted format: YYYY-MM-DD i.e, 1956-05-23. DisburseUniqueID: { DisburseUniqueID } The PayeeDateOfBirth should be in valid format i.e., YYYY-MM-DD
2 10009 Data validation failed. Info: PayeeNationalityIDISO3 cannot be empty or null. DisburseUniqueID: { DisburseUniqueID } The PayeeNationalityIDISO3 value must be a valid ISO Country Code (Alpha 3).
2 10009 Data validation failed. Info: PayeeNationalityIDISO3 must be a valid 3 letter ISO currency code. DisburseUniqueID: { DisburseUniqueID } The PayeeNationalityIDISO3 value must be a valid ISO Country Code (Alpha 3).
2 10009 Data validation failed. Info: PayeeEmail cannot be empty or null. DisburseUniqueID: { DisburseUniqueID } The PayeeEmail must contain an email address
2 10009 Data validation failed. Info: PayeeEmail must be a valid email. DisburseUniqueID: { DisburseUniqueID } The PayeeEmail must be valid email address format
2 10009 Data validation failed. Info: PayeeEmail max length allowed is 1000 characters. DisburseUniqueID: { DisburseUniqueID } The PayeeEmail max length allowed is 1000 characters
2 10009 Data validation failed. Info: PayeeMobile max length allowed is 15 characters. DisburseUniqueID: { DisburseUniqueID } The PayeeMobile max length allowed is 15 characters
2 10009 Data validation failed. Info: PayeeMobile must be numeric. DisburseUniqueID: { DisburseUniqueID } The PayeeMobile must be numeric
2 10009 Data validation failed. Info: PayeeAddress1 cannot be empty or null. DisburseUniqueID: { DisburseUniqueID } The PayeeAddress1 value is mandatory, cannot be empty or null
2 10009 Data validation failed. Info: PayeeAddress1 max length allowed is 500 characters. DisburseUniqueID: { DisburseUniqueID } The PayeeAddress1 value max length allowed is 500 characters.
2 10009 Data validation failed. Info: PayeeAddress2 max length allowed is 500 characters. DisburseUniqueID: { DisburseUniqueID } The PayeeAddress2 value max length allowed is 500 characters when provided.
2 10009 Data validation failed. Info: PayeeCity cannot be empty or null. DisburseUniqueID: { DisburseUniqueID } The PayeeCity value is mandatory, cannot be empty or null
2 10009 Data validation failed. Info: PayeeCity max length allowed is 35 characters. DisburseUniqueID: { DisburseUniqueID } The PayeeCity value max length allowed is 35 characters.
2 10009 Data validation failed. Info: PayeeCity only alphanumeric characters were allowed. DisburseUniqueID: { DisburseUniqueID } The PayeeCity value must be alphanumeric.
2 10009 Data validation failed. Info: PayeeProvince must be between 2 and 35 characters in length. DisburseUniqueID: { DisburseUniqueID } The PayeeProvince Value length when provided must be between 2 and 35 characters.
2 10009 Data validation failed. Info: PayeePostalCode must be alphanumeric. DisburseUniqueID: { DisburseUniqueID } The PayeePostalCode value must be alphanumeric.
2 10009 Data validation failed. Info: PayeePostalCode max length allowed is 16 characters. DisburseUniqueID: { DisburseUniqueID } The PayeePostalCode value max length allowed is 16 characters when provided.
2 10009 Data validation failed. Info: PayeeCountryIDISO3 cannot be empty or null. DisburseUniqueID: { DisburseUniqueID } The PayeeCountryIDISO3 value is mandatory, cannot be empty or null. Must be valid ISO Country Code (Alpha 3)
2 10009 Data validation failed. Info: PayeeBankAccountNumber cannot be empty or null. DisburseUniqueID: { DisburseUniqueID } The PayeeBankAccountNumber value is mandatory, or not be "NULL"
2 10009 Data validation failed. Info: PayeeBankAccountNumber must be alphanumeric. DisburseUniqueID: { DisburseUniqueID } The PayeeBankAccountNumber value must be alphanumeric.
2 10009 Data validation failed. Info: PayeeBankAccountNumber max length allowed is 100 characters. DisburseUniqueID: { DisburseUniqueID } The PayeeBankAccountNumber value max length allowed is 100 characters.
2 10009 Data validation failed. Info: PayeeBankName cannot be empty or null. DisburseUniqueID: { DisburseUniqueID } The PayeeBankName value is mandatory, cannot be empty or null
2 10009 Data validation failed. Info: PayeeBankName max length allowed is 140 characters. DisburseUniqueID: { DisburseUniqueID } The PayeeBankName value max length allowed is 140 characters.
2 10009 Data validation failed. Info: PayeeBankBranchName cannot be empty or null. DisburseUniqueID: { DisburseUniqueID } The PayeeBankBranchName value is mandatory, cannot be empty or null
2 10009 Data validation failed. Info: PayeeBankBranchName max length allowed is 140 characters. DisburseUniqueID: { DisburseUniqueID } The PayeeBankBranchName value max length allowed is 140 characters.
2 10009 Data validation failed. Info: PayeeBankCurrencyIDISO3 cannot be empty or null. DisburseUniqueID: { DisburseUniqueID } The PayeeBankCurrencyIDISO3 value is mandatory, cannot be empty or null. Must be valid ISO Currency Code (Alpha 3)
2 10009 Data validation failed. Info: PayeeSwiftBicCode cannot be empty or null. DisburseUniqueID: { DisburseUniqueID } The PayeeSwiftBicCode value is mandatory, cannot be empty or null
2 10009 Data validation failed. Info: PayeeSwiftBicCode must be alphanumeric. DisburseUniqueID: { DisburseUniqueID } The PayeeSwiftBicCode value must be alphanumeric
2 10009 Data validation failed. Info: PayeeBankAddress1 cannot be empty or null. DisburseUniqueID: { DisburseUniqueID } The PayeeBankAddress1 value is mandatory, cannot be empty or null
2 10009 Data validation failed. Info: PayeeBankAddress1 max length allowed is 500 characters. DisburseUniqueID: { DisburseUniqueID } The PayeeBankAddress1 value max length allowed is 500 characters.
2 10009 Data validation failed. Info: PayeeBankAddress2 max length allowed is 500 characters. DisburseUniqueID: { DisburseUniqueID } The PayeeBankAddress2 value max length allowed is 500 characters when provided.
2 10009 Data validation failed. Info: PayeeBankCity cannot be empty or null. DisburseUniqueID: { DisburseUniqueID } The PayeeBankCity value is mandatory, cannot be empty or null
2 10009 Data validation failed. Info: PayeeBankCity max length allowed is 35 characters. DisburseUniqueID: { DisburseUniqueID } The PayeeBankCity value max length allowed is 35 characters.
2 10009 Data validation failed. Info: PayeeBankProvince must be between 2 and 35 characters in length. DisburseUniqueID: { DisburseUniqueID } The PayeeBankProvince value length when provided must be between 2 and 35 characters.
2 10009 Data validation failed. Info: PayeeBankPostalCode must be alphanumeric. DisburseUniqueID: { DisburseUniqueID } The PayeeBankPostalCode value must be alphanumeric and contain no special characters.
2 10009 Data validation failed. Info: PayeeBankPostalCode max length allowed is 16 characters. DisburseUniqueID: { DisburseUniqueID } The PayeeBankPostalCode value max length allowed is 16 characters when provided.
2 10009 Data validation failed. Info: PayeeBankCountryIDISO3 cannot be empty or null. DisburseUniqueID: { DisburseUniqueID } The PayeeBankCountryIDISO3 value is mandatory, cannot be empty or null. Must be valid ISO Country Code (Alpha 3)

4. Code Example

C#
Object definition
    
        public class DisburseCrossBorderPayment
        {
        public int ClientID { get; set; } = 0;
        public string PaymentType { get; set; } = null;
        public int PaymentCount { get; set; } = 0;
        public int BatchID { get; set; } = 0;
        public string BatchReleaseByDate { get; set; } = null;
        public List<PaymentDetails> paymentRequest { get; set; }
        }
        public class PaymentDetails
        {
        public string DisburseUniqueID { get; set; } = null;
        public int PayeeExternalID { get; set; } = null;
        public string PaymentReference { get; set; } = null;
        public string PaymentReleaseByDate { get; set; } = null;
        public Decimal PaymentAmount { get; set; } = 0;
        public string PaymentCurrencyIDISO3 { get; set; } = null;
        public string PayeeName { get; set; }       
        public string PayeeDateOfBirth { get; set; } = null;
        public string PayeeNationalityIDISO3 { get; set; } = null;
        public string PayeeEmail { get; set; } = null;
        public string PayeeMobile { get; set; } = null;
        public string PayeeAddress1 { get; set; };
        public string PayeeAddress2 { get; set; } = null;
        public string PayeeCity { get; set; }
        public string PayeeProvince { get; set; } = null;
        public string PayeePostalCode { get; set; } = null;
        public string PayeeCountryIDISO3 { get; set; }
        public string PayeeBankAccountNumber { get; set; } = null;
        public string PayeeBankName { get; set; } = null;
        public string PayeeBankBranchName { get; set; } = null;
        public string PayeeBankCurrencyIDISO3 { get; set; } = null;        
        public string PayeeSwiftBicCode { get; set; } = null;
        public string PayeeLocalRoutingType { get; set; } = null;
        public string PayeeLocalRoutingCode { get; set; } = null;      
        public string PayeeBankAddress1 { get; set; }
        public string PayeeBankAddress2 { get; set; } = null;
        public string PayeeBankCity { get; set; }
        public string PayeeBankProvince { get; set; } = null;
        public string PayeeBankPostalCode { get; set; } = null; 
        public string PayeeBankCountryIDISO3 { get; set; }
        }
    
Payload data
    
        // Create a single payment
        // To create multiple payments, create a new PaymentRequest() then use a foreach or while loop to add the data
        PaymentRequest payment = new PaymentRequest();
        payment.DisburseUniqueID = "7841-AS123-0MA9";
        payment.PayeeExternalID = 1234;
        payment.PaymentReleaseByDate = DateTime.Now;
        payment.PaymentAmount = 954.34;
        payment.PaymentCurrencyIDISO3 = "GBP";
        payment.PayeeName = "Joe Bloggs";
        payment.PayeeDateOfBirth = "1970-01-01";
        payment.PayeeNationalityIDISO3 = "GBR";
        payment.PayeeEmail = "email@email.com";
        payment.PayeeMobile = "0987456123";
        payment.PayeeAddress1 = "123 Any Street";
        payment.PayeeAddress2 = "";
        payment.PayeeCity = "Any Town";
        payment.PayeeProvince = "County";
        payment.PayeePostalCode = "PO5 1AL";
        payment.PayeeCountryIDISO3 = "GBR";
        payment.PayeeBankAccountNumber = "IE64IRCE92050112345678";
        payment.PayeeBankName = "Royal Exchange";
        payment.PayeeBankBranchName = "Quad Cities";
        payment.PayeeBankCurrencyIDISO3 = "GBP";
        payment.PayeeSwiftBicCode = 1234;
        payment.PayeeLocalRoutingType = "SORT";
        payment.PayeeLocalRoutingCode = 1;
        payment.PayeeBankAddress1 = "street 1, landmark line";
        payment.PayeeBankAddress2 = "";
        payment.PayeeBankCity = "London";
        payment.PayeeBankProvince = "";
        payment.PayeeBankPostalCode = "";
        payment.PayeeBankCountryIDISO3 = "GBR";
        payment.PaymentReference = "Salary";
        // Create a single disbursement with one or more payments
        DisburseCBP_BTB disburse = new DisburseCBP_BTB();
        disburse.ClientID = 100000;
        disburse.PaymentCount = 1;
        disburse.BatchID = 1001;
        disburse.BatchReleaseByDate = "";
        disburse.PaymentType = "B2P";
        disburse.paymentRequest = payment;

        string PayloadJson = JsonConvert.SerializeObject(disburse);
        StringContent EncodedJson = new StringContent(json, System.Text.Encoding.UTF8, "application/json");
    
    
	    using (HttpClient client = new HttpClient())
	    {
		    string PublicKey = "{Your public key}";
		    string PrivateKey = "{Your private key}";
		    string ApiEndpoint = "https://sandbox.api.igsend.co.uk/services/disburse/disburse_cbp_btb";
		    client.BaseAddress = new Uri(ApiEndpoint);
		    var auth = string.Format("{0}:{1}", PublicKey, PrivateKey);
		    var encoded = Convert.ToBase64String(Encoding.ASCII.GetBytes(auth));
		    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", encoded);
		    HttpResponseMessage response = await client.PostAsync(ApiEndpoint, EncodedJson);
	    }
	
If you develop in another code, which may be useful to other customers, we would love to include further examples here. You can submit your example code to the API team.