# Testing SEPA Secure deposits

### Testing SEPA Secure deposits on Demo environment

You can test  deposits in the[ Demo Environment](https://docs.xgateway.tech/miscellaneous/environments).&#x20;

#### Testing with a deposit simulation API

The Demo Environment provides and [API](https://docs.xgateway.tech/miscellaneous/deposit-and-withdrawal-simulation) to simulate a deposit. This API should be used as a helper during development. It allows to quickly receive a callback about a deposit.

{% hint style="success" %}
This is the prefferred testing option.
{% endhint %}

#### Testing the whole user flow

This is a longer flow that should be used only if you want to test the entire user flow with manual KYC pass.

<details>

<summary>Testing flow</summary>

For a new customer:

1. Create an invoice
2. Go through usual flow including SumSub KYC&#x20;
   1. Make sure to input **proper KYC data**, that matches with the proof of address
   2. Use the attached passport and proof of address photos (it is possible to use other test or real data too)
3. Wait till the KYC is passed
4. Make a POST request to  /customer/{id}/bank-transfer/simulate
   1. See example of the curl request
5. Wait for a callback (may be delayed for some minutes)

For an existing customer with FULL\_USER status (KYC is passed successfully):

1. Create an invoice (optional)
2. Make a POST request to  /customer/{id}/bank-transfer/simulate
   1. See example of the curl request
3. Wait for a callback (may be delayed for some minutes)

Example of the POST call that should be made to simulate a deposit.&#x20;

{% hint style="warning" %}
This API endpoint is only available on the sandbox environment and can not be used in production.
{% endhint %}

```
curl --location 'https://api.demo.xgateway.tech/api/v2/customer/test-prod202517/bank-transfer/simulate' \
--header 'Accept: application/json' \
--header 'x-api-key: ae304c01-f2fb-4d7f-aed6-0843b235ce9b' \
--header 'Content-Type: application/json' \
--data '{
    "amount": "100",
    "currency": "EUR"
}'
```

If you can not pass KYC, check the following:

1. Do not rename the files you upload.
2. Do not change their content (example, compression by messengers will break the files).
   1. Sandbox KYC flow checks file name <> file hash match, not real data check.
3. Check that you correctly input the name and other data from the documents.

#### Test data

Examples of KYC data can be found on the SumSub documentation [page](https://docs.sumsub.com/docs/verification-document-templates).

</details>
