Bank Account Verification

Introduction
Customers are allowed withdrawals only to bank accounts, that are verified to be owned by them. This requirement is valid for both legal entities and regular customers.
The verification can happen in the following ways:
- Regular customers can verify bank account through a deposit. Paysafe checks deposit origin and performs a name matching to verify ownership. \ This process is used for regular customers.
- Legal entities must submit bank account statement issued by the bank. This statement is submitted through API and manually verified by Paysafe.
Verification Steps
For supporting the manual bank account verification flow for legal entities the merchants should perform the following steps:
- Add the new instrument for the customer. The instruments added through the API are in UNVERIFIED state.
- Submit the bank account statement confirming ownership
- Receive a webhook for instrument status change to VERIFIED or poll for status using the instrument management API.
Note: Instruments might be REJECTED by Paysafe. In such cases contact Paysafe support for details.
API Examples
- Add payment instrument to customer
5000001
.
POST https://api.paysafe.com/digitalwallets/v1/customers/5000001/instruments/
{
"instrumentType": "SEPA_BANK_ACCOUNT",
"accountHolderName": "John Doe",
"iban": "NL94RABO7762494464",
"bic": "RABONL2U"
}
RESPONSE
{
"id": "2323213",
"customerId": "500001",
"instrumentType": "SEPA_BANK_ACCOUNT",
"accountHolderName": "John Doe",
"iban": "NL94RABO7762494464",
"bic": "RABONL2U",
"status": "UNVERIFIED"
}
- Submit bank account statement document to Paysafe.
POST https://api.paysafe.com/digitalwallets/v1/customer-legal-entities/{customerId}
{
"kybDocuments": [
{
"type": "COMPANY_BANK_STATEMENT",
"documentUrls": ["https://upload.wikimedia.org/wikipedia/commons/3/bank_statement.pdf"]
}]
}
- Instrument verification webhook confirming VERIFIED state is sent when the statement has been reviewed by the Paysafe service agents.
POST https://www.merchantsite.com/instruments/events
{
"id": "98329382947",
"timestamp": "2021-07-15T17:54:12Z",
"operationType": "Update",
"instrument": {
"id": "2323213",
"customerId": "5000001",
"instrumentType": "SEPA_BANK_ACCOUNT",
"status": "VERIFIED"
}
}
- Payment instrument details can be obtained using the webhook information. Example request for instrument
2323213
of customer5000001
.
GET https://api.paysafe.com/digitalwallets/v1/customers/5000001/instruments/SEPA_BANK_ACCOUNT/2323213
{
"id": "2323213",
"customerId": "500001",
"instrumentType": "SEPA_BANK_ACCOUNT",
"accountHolderName": "John Doe",
"iban": "NL94RABO7762494464",
"bic": "RABONL2U",
"status": "UNVERIFIED"
}