PaymentDetails#Validate

Validate a Payment Detail

This endpoint can determine whether the provided payment detail will pass Pay.so regex checks.

NB: It does not guarantee it will be accepted by our payment partners. Nor does it guarantee it will be the recipients intended account.

Example Request

curl https://{{base_url}}/users/USER_ID/payment_details/validate
-X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-type: application/json" \
-d '{
    "payment_detail": {
        "bank_name": "Chase",
        "account_name": "Gordon's Chase Business Account",
        "account_number": "253009233489",
        "routing_number": "026013356",
        "beneficiary_type": "business",
        "company_number": "12-3456789",
        "currency": "usd",
        "address_line1": "24 Theatre St.",
        "city": "Paramount",
        "state": "CA",
        "country": "US",
        "postal_code": "90723",
        "rails": null
    }
}'

Endpoint Information

Validate Payment Detail Parameters

POST https://{{base_url}}/users/:user_id/payment_details/validate

Path Parameters

NameTypeDescription

user_id*

UUID

ID of the User which the Payment Detail belongs to.

Request Body

NameTypeDescription

account_name

String

A name to identify the bank account, e.g. 'Chris's Revolut'.

account_number

String

The account number of the bank account. See here what currencies require it.

currency

String

The currency that the bank account accepts. E.g. 'usd', 'eur'.

address_line1

String

The first line of the address of the person or organisation that controls the bank account.

address_line2

String

The second line of the address of the person or organisation that controls the bank account.

city

String

The city where the person or organisation that controls the bank account is located.

state

String

The state/district where the person or organisation that controls the bank account is located.

postal_code

String

The postal/zip code where the person or organisation that controls the bank account is located.

country

String

The country where the person or organisation that controls the bank account is located. Given in ISO 3166-1 alpha-2 format.

beneficiary_type

String

individual or business

routing_number

String

The ACH routing number of the bank account. See here what currencies require it.

bank_name

String

The name of the bank associated with the account. e.g. 'Revolut'

sort_code

String

The sort code of the bank account. See here what currencies require it.

iban

String

The IBAN of the bank account. See here what currencies require it.

swift_bic

String

The swift/bic of the bank account. See here what currencies require it.

document_number

String

The recipient's CUIT (tax number). See here what currencies require it.

account_type

String

checking or savings. See here what currencies require it.

rib_number

String

The recipient's Relevé d'Identité Bancaire number. See here what currencies require it.

purpose_of_transfer

String

Explanation of what the purpose of the transfer is. See here what currencies require it.

purpose_of_payment_code

String

Code describing the purpose of the payment. See here what currencies require it.

bsb_number

String

The recipient's BSB number. See here what currencies require it.

rails

String

If the account is on the SWIFT network, put the value of this attribute toswift. Otherwise if it is SEPA/ACH or other local rails you can leave it as null. Please see SWIFT Support to understand what is supported.

{
    "payment_detail": {
        "valid": true,
        "errors": []
    }
}