Executing a domestic Transfer Flow in Great Britain

When initiating a domestic transfer in Great Britain through the transfer flow several pieces of information have to be specified in the payload.

If the session in which the transfer flow is started is connected to a bank account that is not located in Great Britain the transfer flow will fail. Starting a transfer flow with the transfer_method set to gb_domestic will force the customer to select a Bank capable of performing gb_domestic-transfers.

Undocumented Fields follow the documentation for SEPA Transfers. Fields not listed in the defined schema are not available for this type of transfer and will be ignored by the API.

{
    "iban": ?String,
    "account_id": ?String,
    "account_number": ?String,
    "national_branch_code": ?String,
    "allowed_accounts": ?AllowedAccounts,
    "amount": Amount,
    "reference": String,
    "merchant_category_code": ?String,
    "purpose_code": ?String,
    "transfer_method": "gb_domestic",
    "to": {
        "iban": ?String,
        "holder_name": String,
        "account_number": ?String,
        "national_branch_code": ?String,
    }
}

national_branch_code String, optional

The national branch code of the senders bank.

reference String, required

The reference is restricted to a length of 18 characters and can only contain a small subset of characters.

Unsupported characters will be stripped away by the XS2A API before submitting the transfer.

transfer_method Enum, required

The transfer_method property sets the type of the transfer being made. For domestic transfers in Great Britain it is always gb_domestic.

to.account_number String, optional

The account number of the recipient account.

to.national_branch_code String, optional

The national branch code of the recipient's bank.

Response Structure of a successful Transfer Flow

{
    "data": {
        "state": Enum<'PROCESSING', 'CONSUMER_INPUT_NEEDED', 'ABORTED', 'EXCEPTION', 'FINISHED'>,
        "result": ?{
            "type": String,
            "adjusted_date": ?String,
            "adjusted_reference": ?String,
            "adjusted_merchant_category_code": ?String,
            "adjusted_purpose_code": ?String,
            "bank_transfer_id": ?String,
            "transfer_id": String,
            "transfer_token": ?String,
            "amount": Amount,
            "transfer_state": Enum<'AUTHORIZED', 'COMPLETED_DEBTOR', 'COMPLETED_CREDITOR'>,
            "bank_transfer_state": ?String,
            "from": ?Account,
            "to": {
                "iban": ?String,
                "holder_name": ?String,
                "account_number": ?String,
                "national_branch_code": ?String,
            },
            "to_fee": ?Amount,
            "transfer_method": Enum<'GB_DOMESTIC'>,
            "authentication_method": Enum<'UNKNOWN'>
        }
    }
}

data.result.to.account_number String, optional

The account number of the recipient account.

data.result.to.national_branch_code String, optional

The national branch code of the recipient's bank.

data.result.authentication_method Enum, always present

The authentication_method property indicates which authentication method was used for the transfer.

A full list of all available authentication_methods and their description can be found in the documentation for SEPA Transfer, but for domestic transfers in Great Britain the most common one is UNKNOWN due to the heavy use of redirects.

Example Response for a successful Transfer Flow

{
    "data": {
        "state": "FINISHED",
        "result": {
            "type": "transfer",
            "adjusted_date": "2018-10-30",
            "adjusted_reference": "reference accepted by bank",
            "adjusted_merchant_category_code": "5967",
            "adjusted_purpose_code": "BONU",
            "bank_transfer_id": "internal_bank_identifier-123",
            "transfer_id": "jlufj5a5u6d0i37ur3uh9fvfgpvp6et7",
            "transfer_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0cmFuc2Zlcl90b2tlbiI6InRyYW5zZmVyMTIzNDU2Nzg5MCJ9.YcdKaz2hRyW1wPqH8bYka4EF7dVkferaNexzk7PfHnQ",
            "amount": {
                "amount": 1234,
                "currency": "GBP"
            },
            "transfer_state": "AUTHORIZED",
            "from": {
                "id": "123e4567-e89b-12d3-a456-426655440000",
                "alias": "Checking Account",
                "account_number": "43833164",
                "iban": "GB05BARC20031843833164",
                "holder_name": "John Doe",
                "holder_address": {
                    "street_address": "Worcester Rd 137",
                    "street_address2": "Backside of the House, Floor 2",
                    "postalcode": "WR7 4NP",
                    "city": "Upton Snodsbury",
                    "region": "Worcester",
                    "country": "GB"
                },
                "bank_code": "200318",
                "bic": "BARCGB210AR",
                "bank_name": "Barclays Bank Plc",
                "bank_address": {
                    "street_address": "1 Churchill Place",
                    "street_address2": "",
                    "postalcode": "E14 5HP",
                    "city": "London",
                    "country": "GB"
                },
                "transfer_type": "FULL",
                "account_type": "DEFAULT",
                "balance": {
                    "amount": 12345,
                    "currency": "GBP"
                }
            },
            "to": {
                "iban": "GB95BARC20040477697851",
                "holder_name": "Jane Doe",
                "account_number": "77697851",
                "national_branch_code": "2000404"
            },
            "to_fee": {
                "amount": 12345,
                "currency": "GBP"
            },
            "transfer_method": "GB_DOMESTIC",
            "authentication_method": "UNKNOWN"
        }
    }
}

results matching ""

    No results matching ""