Account Payouts

Execute a single Account Payout to a nominated beneficiary bank account.

Authorization: {your_credentials}
Content-Type: application/vnd.worldpay.account-payouts-v2+json

Standard payout

Payout request

POST https://try.access.worldpay.com/payouts/accounts/single

Payout request body

{
    "requester": {
        "instructingTreasuryId": "000055",
        "entity": "000055",
        "apiRequestReference": "TestReference123"
    },
    "transactionReference": "123456",
    "countryCode": "GB",
    "sourceCurrency": "GBP",
    "sourceAmount": 0,
    "targetCurrency": "GBP",
    "targetAmount": 10,
    "narrative": "Ref: 123456",
    "purposeOfPaymentCode": "WPPAYR",
    "fastPayment": "Y",
    "purposeOfPaymentNarrative": "Salary payment",
    "transactionTypeCode": "TT04",
    "channel": "WIRE",
    "quoteId": "",
    "scheduleDate": "2022-12-31",
    "expandableKeyValuePairs": {
        "RemitterSourceOfIncome": "salary",
        "BeneficiaryNationality": "British"
    },
    "bankDetails": {
        "beneficiaryAccountTypeCode": "AC01",
        "beneficiaryAccountNumber": "12345677",
        "iban": "GB29NWBK60161331926819",
        "branchCode": "300",
        "bankCode": "404433",
        "swiftBic": "BUKBGB22",
        "bankName": "Bank of Sale",
        "address": {
            "street": "3 Rock Lane",
            "additionalAddressLine": "An Area",
            "city": "Sale",
            "state": "Cheshire",
            "postCodeOrZipCode": "P55 T1B",
            "countryCode": "GB"
        }
    },
    "parties": [
        {
            "partyId": "",
            "customerPartyId": "customer123",
            "partyTypeCode": "PT03",
            "personalDetails": {
                "typeCode": "PD02",
                "titleCode": "TI01",
                "firstName": "John",
                "middleName": "Johno",
                "lastName": "Johnson",
                "dateOfBirth": "1993-12-31",
                "email": "john@domain.com",
                "telephony": [
                    {
                        "phoneNumber": "01375841159",
                        "prefix": "44"
                    }
                ],
                "identity": [
                    {
                        "identityTypeCode": "ID01",
                        "identityNumber": "123456789",
                        "issuingInstitution": "IPS",
                        "issuingCountry": "GB",
                        "startDate": "2013-05-22",
                        "endDate": "2014-05-21"
                    }
                ]
            },
            "address": {
                "street": "1 Some Street",
                "additionalAddressLine": "Some Neighborhood",
                "city": "Some City",
                "state": "Some State",
                "postCodeOrZipCode": "S14 T4R",
                "countryCode": "GB",
                "addressTypeCode": "AD01",
                "residentialStatusCode": "RS01"
            }
        },
        {
            "partyId": "",
            "customerPartyId": "",
            "partyTypeCode": "PT01",
            "personalDetails": {
                "typeCode": "PD01",
                "companyName": "testCompanyInc",
                "dateOfBirth": "1993-12-31",
                "email": "john@domain.com",
                "telephony": [
                    {
                        "phoneNumber": "01375841159",
                        "prefix": "44"
                    }
                ],
                "identity": [
                    {
                        "identityTypeCode": "ID01",
                        "identityNumber": "123456789",
                        "issuingInstitution": "IPS",
                        "issuingCountry": "GB",
                        "startDate": "2013-05-22",
                        "endDate": "2014-05-21"
                    }
                ]
            },
            "address": {
                "street": "1 Some Street",
                "additionalAddressLine": "Some Neighborhood",
                "city": "Some City",
                "state": "Some State",
                "postCodeOrZipCode": "S14 T4R",
                "countryCode": "GB",
                "addressTypeCode": "AD01",
                "residentialStatusCode": "RS01"
            }
        }
    ]
}

Parameters

Permitted special characters for appropriate fields, as well as preset values for specific fields are listed in the Appendix.

Field NameDescriptionData Type/FormatRequired?Min-Max LengthValidation Criteria
requester.instructingTreasuryIdUnique ID given during the onboarding process. instructingTreasuryId will be same as the entity if the payment request is being instructed by the ultimate consumer itself.AN6Special characters are restricted.
requester.entityUnique consumer ID given during the onboarding process. It indicates the consumer who instructs the payment. The instructingTreasuryId is the same as the entity if the payout request is being instructed by the ultimate consumer itself.AN6The ID supplied is checked to be valid. It must also be authorized by the token provided in the Authorization header. This may be the same as the instructingTreasuryId or a sub-merchant of it. Special characters are restricted.
requester.apiRequestReferenceUnique reference for the request. This field in combination with instructingTreasuryId is used by our API for idempotency checks.String1-35Must be unique and 1-35 characters. Special characters are allowed.
transactionReferenceCustomer's unique reference for the payout request.AN6-50Special characters are allowed.
countryCodeCountry code of the payout destination.A2ISO 3166-1 Alpha-2 code
sourceCurrencySource currency for the payout.A3ISO 4217 Valid currency codes.
sourceAmountSource currency amount (if target amount is not stated, this amount is used).NConditional1-10Must be a positive value up to 2 decimal places.
targetCurrencyTarget currency sent in the payout request (if different to source currency, Foreign Exchange (FX) is applied).A3ISO 4217

Valid currency codes.
targetAmountTarget currency amount (if source amount is not specified, this amount is used).NConditional1-10Must be a positive value up to 2 decimal places.
narrativeReference that may appear on beneficiary statements.String6-50Special characters are allowed.
purposeOfPaymentCodeThe code that represents the purpose of the payment. This is mandatory for some payout routes - please check country specific requirements.AValueFor the full list of allowed values see the appendix.
fastPaymentFlag for a fast payment. If a value is provided, it must always be "Y".AValueThe value supplied for the field must be "Y", blank or null. You can exclude the field from the request body.
purposeOfPaymentNarrativeDescription for purpose of payment.String1-35Special characters are allowed.
transactionTypeCodeType of transaction code (for example 'TT04' that refers to 'Business to Customer'). This is mandatory for some payout routes - please check country specific requirements.ANValueFor the full list of allowed values see the appendix.
channelPreferable channel for the payment (for example 'WIRE').AValueFor the full list of allowed values see the appendix.
quoteIdID of the FX quote for the payment request. This must be a valid, active quote which is for the same source and target currencies as the payout request. It must have valid intent of "FORWARD FX" or "PAYOUT".String
scheduleDateScheduled date of the payout request.date10Must be a Gregorian calendar date with ISO format 8601 YYYY-MM-DD.
expandableKeyValuePairsJSON object of key-value pairs used to supply additional data. The keys and values that you might need to process an account payout to a specific destination, are communicated during the onboarding process.ANDuplicate key names are not allowed.
bankDetails.beneficiaryAccountTypeCodeType of account code (for example 'AC01' that refers to 'Checking').ANValueFor the full list of allowed values see the appendix.
bankDetails.beneficiaryAccountNumberBeneficiary bank account number. You must either provide an account number or an IBAN.StringConditional1-35Special characters are allowed
bankDetails.ibanBeneficiary IBAN. You must either provide an account number or an IBAN.ANConditional1-34
bankDetails.bankCodeBeneficiary account bank code.String1-35Special characters are allowed.
bankDetails.branchCodeBeneficiary account branch code.String1-35Special characters are allowed.
bankDetails.swiftBicBeneficiary bank account SWIFT/BICAN8 or 11
bankDetails.bankNameBeneficiary bank nameString1-35Special characters are allowed.
bankDetails.address.streetStreet address of the beneficiary's bank.String1-35Special characters are allowed.
bankDetails.address.additionalAddressLineAdditional address line of the beneficiary's bank.String1-35Special characters are allowed.
bankDetails.address.cityCity of the beneficiary's bank.String1-35Special characters are allowed.
bankDetails.address.stateState or province of the beneficiary's bank.String2-35Special characters are allowed.
bankDetails.address.postCodeOrZipCodePostcode or ZipCode of the beneficiary's bank.String1-20Special characters are allowed.
bankDetails.address.countryCodeCountry code of the beneficiary's bank.A2ISO 3166-1 Alpha-2 code.
parties.partyIdId of the party for the payment request. This field will be available for use as part of the future enhancements to the Account Payouts API in 2025.String36 (Guid with Hyphens only)Example: 1E016F5E-9D4A-49E7-B44C-A4C8AAE8290D
parties.customerPartyIdThe ID of the remitter: Domain ID, Account Number, Tax ID, BIC, Internal Customer ID or any other numerical or alphanumerical unique identifier of the customer where the payment request has originated. This field will be available for use as part of the future enhancements to the Account Payouts API in 2025AN1-35Special characters are restricted.
parties.partyTypeCodeParty type code (for example 'PT03' that refers to beneficiary)ANValueFor the full list of allowed values see the appendix.
parties.personalDetails.typeCodeEntity description code of the party (for example 'PD02' that refers to 'Individual').ANConditionalValueFor the full list of allowed values see the appendix. This field is mandatory if the partyTypeCode supplied is that for a beneficiary.
parties.personalDetails.titleCodeTitle code for the Individual (applicable when party entity type is "Individual"). Must not be provided when type is not “Individual”.ANConditionalValueFor the full list of allowed values see the appendix.
parties.personalDetails.companyNameName of the party if not an individual. Mandatory where party entity type is "Institution", "Government" or "Company". Must not be provided when type is 'Individual'.StringConditional1-140Special characters are allowed.
parties.personalDetails.firstNameFirst name of the party. Mandatory where party entity type is "Individual".ANConditional1-50Special characters are allowed.
See formatting rules
parties.personalDetails.middleNameMiddle name of the party (applicable when party entity type is "Individual").AN1-50Special characters are allowed.
See formatting rules
parties.personalDetails.lastNameLast name of the party. Mandatory where party entity type is "Individual".ANConditional1-50Special characters are allowed.
See formatting rules
parties.personalDetails.dateOfBirthDate of birth or date of incorporation of the party.Date10-10Must be a Gregorian calendar date with ISO 8601 format YYYY-MM-DD.
parties.personalDetails.emailE-mail address of the party. This field will be available for use as part of the future enhancements to the Account Payouts API in 2025.StringA valid e-mail address format.
parties.personalDetails.telephony.phoneNumberPhone number of the party. Mandatory if 'prefix' has been provided.NConditional1-20Special characters are restricted.
parties.personalDetails.telephony.prefixPhone dialling country code of the party. Mandatory if 'phoneNumber' has been provided.NConditional1-3Special characters are restricted.

International country calling code following ITU-T standard.

Must be 1-3 digits
e.g. "44" or "420"
parties.personalDetails.identity.identityTypeCodeType of identification. Mandatory if 'identity number' is populated.ANConditionalValueFor the full list of allowed values see the appendix.
parties.personalDetails.identity.identityNumberIdentification number that is presented in the identification type. Mandatory if "IdentityTypeCode" is populated.StringConditional1-35Special characters are allowed.
parties.personalDetails.identity.issuingCountryCountry of identification type origin. Mandatory if "identityTypeCode"/"identityNumber" is populated.AConditional2ISO 3166-1 Alpha-2 code.
parties.personalDetails.identity.issuingInstitutionIssuing institution that provided identification type.AN1-35Special characters are allowed. Can't be provided if the conditional fields in the identity section are missing.
parties.personalDetails.identity.startDateIdentification type start date.Date10Must be a Gregorian calendar date with ISO 8601 format YYYY-MM-DD. Cannot be provided if conditional fields in the identity section are missing.
parties.personalDetails.identity.endDateIdentification type end date.Date10Must be a Gregorian calendar date with ISO 8601 format YYYY-MM-DD. Cannot be provided if conditional fields in the identity section are missing.
parties.address.addressTypeCodeType of party address code (for example 'AD02' that refers to 'Business').ANValueFor the full list of allowed values see the appendix.
parties.address.streetStreet address of the party.String1-35Special characters are allowed.
parties.address.additionalAddressLineAdditional address line of the party.String1-35Special characters are allowed.
parties.address.cityCity of the party's address.String1-35Special characters are allowed.
parties.address.stateState or province of the party's address.String2-35Special characters are allowed.
parties.address.postCodeOrZipCodePostcode/ZipCode of the party's address.String1-20Special characters are allowed.
parties.address.countryCodeCountry code (for example 'GB') to be supplied for the party address.A2ISO 3166-1 Alpha-2 code.
parties.address.residentialStatusCodeType of residency code (for example 'RS01' that refers to 'Resident).ANValueFor the full list of allowed values see the appendix.

Response:

Successful response example

{
    "ubr": "PZ000EC4",
    "apiRequestReference": "UniqueCustomerReference",
    "instructingTreasuryId": "001948"
}

Error response example

{
    "errors": {
        "callerId": [
            "CallerId is mandatory"
        ]
    },
    "httpStatusCode": 400,
    "customCode": "SPAB01",
    "message": "There was an error in the request"
}

Error response codes

General

HTTP codeCustom codeMessageScenario
202N/AN/APayment request accepted
200N/AN/APayment request already submitted and accepted
400SPAB01There was an error in the requestCaller ID exceeds 100 characters limit
400SPAV01An API version is required, but was not specified.Version not specified or incorrect / Provided versions are conflicting
401SPAE11XUnauthorized requestUnauthorized request
401SPAU02UnauthorizedThe token has expired
401SPAU03UnauthorizedThe edge token is not trusted
401SPAU06AUnauthorized requestToken validation failed
401SPAU06AUnauthorized requestToken has expired
401SPAU07AUnauthorized requestToken is empty
401SPAU10
SPAU07B
Authentication failedToken validation failed
401SPAU14UnauthorizedUnauthorized request
403SPAF07Consumer isn't allowed to instruct payoutsConsumer isn't allowed to instruct payout using the entitlements that were provided in the token.
403SPAF18Authorisation failed for this domainConsumer isn't allowed to instruct payout using the entitlements that were provided in the token.
404SPAN16Unable to find external consumer dataConsumer with subject-domain combination not found
415N/AUnsupported Media TypeInvalid Content Type Value
422N/AQuote validation failedThe quote supplied has currencies which does not match those supplied in the token, or has an intent which is other than "PAYOUT" or "FORWARD FX".
422N/AQuote ExpiredThe quote supplied has expired.
422N/AContract not ActiveThe quote supplied cannot yet be used. This will only be the case for quotes with intent "FORWARD FX".
500SPAE12
SPAE11
SPAE11A
SPAE11B
SPAE11C
SPAE11D
SPAE11E
Unexpected Issue. Please try again.Internal Server Error
500SPAU04Unexpected issueUnexpected issue. Please try again.
Note

In the event of 401-500 range HTTP code error response please contact your Implementation Manager.

Schema validation responses

All schema validation responses have the same format of httpStatusCode, customCode and message. Response code and message values differ depending on the validation error.

HTTP codeCustom codeExample messageScenario
400SPAB05The length of 'Company Name' must be 140 characters or fewer. You entered 475 characters.Property length is incorrect ('or fewer' scenario).
400SPAB05'Unique Payout Id' must be between 6 and 50 characters. You entered 2 characters.Property length is incorrect ('between' scenario).
400SPAB05'Issuing Country' is not in the correct format.Property is not in a correct format.
400SPAB05sourceAmount must be a positive value.Amount is not a positive value.
400SPAB05Only one of the fields targetAmount/sourceAmount must be provided.Both source/target amounts have been provided.
400SPAB05The 'Fast Payment' field can only be 'Y' or blank.Value invalid.
400SPAB05transactionTypeCode field does not allow free-format text. One of the following values only to be used in Transaction Type: TT01,TT02,TT03,TT04.Value invalid.
400SPAB05One of the following values only to be used in transactionTypeCode: PD01, PD02, PD03, PD04, PD99.Value invalid.
400SPAB05'Full Name' is not in the correct format.Name Regex validation failed.
400SPAB05titleCode is not allowed when the typeCode is set to PD01/PD03/PD04.Property restricted with this type of customer.
400SPAB05companyName must not be blank when typeCode is set to PD01.Property restricted with this type of customer. This applies if Individual data is provided but type is set to Company, Government, or Institution
400SPAB05companyName is not allowed when the type is set to Individual.Property restricted with this type of customer. This applies if Individual data is provided but typeCode is set to PD01, PD04 or PD02. This applies to parties which are beneficiary & remitter (partyTypeCode PT01 and PT03).
400SPAB05DateOfBirth is invalid. Please use Gregorian calendar dates with ISO 8601 format YYYY-MM-DD.Invalid Date format.
400SPAB05'Bank name' must not be empty.Mandatory section/field is missing.
400SPAB05phoneNumber must consist of numbers only.The property can be only Numerical.
400SPAB05customerPartyId must be between 1-35 characters length.Property length is incorrect (between scenario with no indication of provided value).
400SPAB05'IBAN' is not in the correct format.Invalid format of the property.
400SPAB05IBAN or 'Account Number' Must be present.Both IBAN/Account Number missing
400SPAB05prefix must be provided if the phoneNumber field is populated.Condition of linked fields not met.
400SPAB05identityTypeCode must be provided if any of the other identity block fields are populated.Condition of linked fields not met. If any of the identity block fields are given then all mandatory identity BLOCK fields should be provided. If there is no intention of providing identity fields then the whole BLOCK should be removed from the payload.**
400SPAB05When expandableKeyValuePairs are provided.There must not be duplicate key names.
400SPAB05When expandableKeyValuePairs are provided but property value is not a JSON object containing key value pairs.Property value if provided must be a JSON object containing key value pairs.