Bank account verification
Customers are allowed withdrawals only to bank accounts, that are verified to be owned by them.
The verification can happen in the following ways:
-
deposit from the same bank account - Paysafe checks deposit origin and performs a name matching to verify ownership
-
submit of bank account statement issued by the bank - Bank account statement is submitted through API and manually verified by Paysafe
Manual bank account verification is supported only for legal entities.
A new instrument management API is provided, that allows managing the payment instruments of a customer. A new webhook API is introduced allowing monitoring instrument status changes
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.
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"
}{
"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 Paysafe service agent.
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 obttained using the web hook information. Example request for instrument 2323213 of customer 5000001.
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"
}