Integrate our products into your software. Let's make payment happen together!
Look at all the possibilitiesThe features below must be used in operating mode TEST and can be used to test VPOS functionality in a CCV Lab simulated environment. The operating mode is associated with your API key. Once you have completed your integration, you must use your LIVE key for production usage.
For card transactions you must use a known test card. The system rejects unknown cards in combination with a Test API key.
Brand | API Brand | PAN | 3DS2 authentication flow |
---|---|---|---|
Amex | amex |
3782 822463 10005 | Browser Frictionless - Success |
Amex | amex |
3759 870001 69792 | Browser Frictionless - Success |
Amex | amex |
3759 874358 77100 | Browser Frictionless - Failure |
Amex | amex |
3759 870001 69784 | Browser Challenge |
Bancontact - Maestro co-branded | bcmc |
6703 2222 2222 2222 7 | Browser Frictionless - Success |
Bancontact - Maestro co-branded | bcmc |
6703 3333 3333 3333 9 | Browser Challenge |
Bancontact - Maestro co-branded | bcmc |
6703 9999 9997 9901 5 | Browser Frictionless - Success |
Bancontact - Maestro co-branded | bcmc |
6060 0599 9999 9014 | Browser Frictionless - Success |
Bancontact - Visa co-branded | bcmc |
4796 5899 9999 9917 | Browser Frictionless - Success |
Visa | visa |
4242 4242 4242 4242 | Browser Frictionless - Success |
Visa | visa |
4111 1111 1111 1111 | Browser Frictionless - Success |
Visa | visa |
4012 8888 8888 1881 | Browser Frictionless - Success |
Visa | visa |
4222 2222 2222 2 | Browser Frictionless - Success |
Visa | visa |
4000 0000 0000 0002 | Browser Challenge |
Visa | visa |
4000 0000 0000 0028 | Browser Frictionless - Success |
Visa | visa |
4000 0000 0000 0036 | Browser Frictionless - Success |
Visa Electron | visa |
4245 1900 0000 0311 | Browser Frictionless - Success |
Visa Electron | visa |
4917 3008 0000 0000 | Browser Frictionless - Success |
Vpay | visa |
4370 0000 0000 0061 | Browser Frictionless - Success |
Maestro | maestro |
6759 6498 2643 8453 | Browser Frictionless - Success |
Mastercard | mastercard |
5555 5555 5555 0004 | Browser Frictionless - Success |
Mastercard | mastercard |
5555 5555 5555 0012 | Browser Frictionless - Success |
Mastercard | mastercard |
5555 5555 5555 4444 | Browser Frictionless - Success |
Mastercard | mastercard |
5105 1051 0510 5100 | Browser Frictionless - Success |
Mastercard | mastercard |
2223 0000 1002 9657 | Browser Frictionless - Success |
Mastercard | mastercard |
5200 0000 0000 0015 | Browser Challenge |
Mastercard | mastercard |
5200 0000 0000 0049 | Browser Challenge |
Mastercard | mastercard |
5454 5454 5454 5454 | Browser Challenge |
Mastercard | mastercard |
5555 5555 5555 0012 | Browser Challenge |
Amount | Simulator Response | VPOS status |
---|---|---|
8.00 | timeout |
pending and after period of time success |
8.01 | failed |
failed with failure code INSUFFICIENT_FUNDS |
8.02 | failed |
failed with failure code CARD_REFUSED |
8.03 | soft decline |
success * |
8.04 | soft decline |
failed * |
9.00 | failed |
failed |
23.00 | timeout |
pending and after period of time failed |
81.00 | failed |
failed with failure code INSUFFICIENT_FUNDS |
82.00 | failed |
failed with failure code CARD_REFUSED |
83.00 | soft decline |
success * |
84.00 | soft decline |
failed * |
other | success |
success |
*
The simulator responds with a soft decline on the first authorisation. The second authorisation response depends
on the specified amount.
Note: Our simulators only store transactions for a limited amount of time. As a result, a capture following an authorisation might not have the expected behaviour due to the unknown state of the authorisation.
Brand | Amount | Simulator Response | VPOS status |
---|---|---|---|
bcmc |
125.00 | success |
success with partial approval of 100.00 |
other | 125.00 | failed |
failed |
other | other | success |
success |
For iDEAL transactions you can pass specific amounts:
Amount | Simulator response | VPOS status |
---|---|---|
5.00 | Failure |
failed |
6.00 | Cancelled |
failed with failure code cancelled |
7.00 | Expired |
failed with failure code expired |
8.00 | Open |
pending |
9.00 | Success after 10 seconds |
success |
10.00 | Failure after 10 seconds |
failed |
11.00 | Simulator only responds after 10 seconds but then Success |
success |
other | Success |
success |
When using iDeal mandates, the server can respond with a notification result. The test bahavior can be triggered using following amounts:
Amount | Authentication flow | VPOS status |
---|---|---|
12.00 | NotificationResult REDIRECT |
success |
other | NotificationResult PUSH_SENT_SHOW_WAITING_SCREEN |
success |
For PayPal transactions you can pass specific amounts:
Amount | Simulator response | VPOS status |
---|---|---|
5.00 | failed |
failed with failure code processing_error |
6.00 | canceled |
failed with failure code cancelled |
7.00 | expired |
failed with failure code expired |
8.00 | pending |
pending |
9.00 | approved |
success |
10.00 | created |
pending |
11.00 | denied |
failed with failure code rejected |
other | completed |
success |
For transactions with a Test API key, the chosen BIC does not matter. Any value will be accepted.
Amount | Simulator response | VPOS status |
---|---|---|
5.00 | bank offline (4001) |
failed |
6.00 | Zahlungsaugang unbekannt (4500) |
failed |
7.00 | online banking account invalid (4002) |
failed |
other | transaction successful (4000) |
success |
The redirect to the VPOS will result in a redirect to your shop.
Amount | Simulator response | VPOS status |
---|---|---|
44.00 | error |
failed with failure code processing_error |
45.00 | loss with reason not_credited |
failed with failure code processing_error |
46.00 | pending with reason not_credited_yet |
pending |
47.00 | received with reason credited |
success |
48.00 | refunded with reason compensation |
success |
49.00 | refunded with reason refunded |
success |
50.00 | redirect to VPOS | failed with failure code abort |
51.00 | redirect to VPOS | failed with failure code expired |
52.00 | redirect to VPOS | pending , eventually failed with failure code expired after timeout |
other | untraceable with reason sofort_bank_account_needed |
pending |
A simulated terminal is available to test your integration with a test api key:
Amount | Simulator response | VPOS status |
---|---|---|
4 | An error with code TERMINAL_ALREADY_IN_USE with http status code 500 |
failed with failure code rejected |
5 | failure |
failed with failure code processing_error |
8 | unknown |
manualintervention |
9 | success after 10 seconds |
success |
10 | failure after 10 seconds |
failed |
11 | unknown after 10 seconds |
manualintervention |
12 | success with no callback |
success after status update |
13 | success after VPOS performs status check |
success after status update TAS callback |
14 | success after VPOS performs multiple status checks |
success after status update TAS callback |
15 | success after 10 seconds and not responding to abort attempt |
success |
16 | failed after 10 seconds and not responding to abort attempt |
failed |
17 | success after 10 seconds when abort is not attempted, failed after 10 seconds when abort is attempted |
success / failed |
18 | An error with code MISSING_QUERY_STRING_URL_PARAMETER with http status code 400 |
failed with failure code rejected |
other | success |
success |
For Payconiq transactions you can pass specific amounts:
Amount | Simulator response | VPOS status |
---|---|---|
6.00 | canceled |
failed with failure code cancelled and cancelled by consumer |
7.00 | expired |
failed with failure code expired |
9.00 | failed |
failed with failure code processing_error |
other | completed |
success |
For Payconiq transactions you can also call the cancel url, and the simulator will respond with the following behavior:
Amount | Simulator response | VPOS status |
---|---|---|
8.00 | not allowed |
pending |
other | allowed |
failed with failure code cancelled with cancelled by merchant |
For Alipay transactions you can pass specific amounts:
Amount | Simulator response | VPOS status |
---|---|---|
8.00 | failed |
failed with failure code processing_error |
other | completed |
success |
For Alipay transactions you can call the cancel url, and the simulator will respond with the following behavior:
Amount | Simulator response | VPOS status |
---|---|---|
9.00 | rejected - rejected by Alipay |
pending |
other | allowed |
failed with failure code cancelled with cancelled by merchant |
Alipay supports refunds, and the simulator will respond with the following behavior:
Amount | Simulator response | VPOS status |
---|---|---|
10.00 | rejected - rejected by Alipay |
pending |
other | completed |
success |
For testing Gift you must take into account that a gift card value may be lower than, equal to or higher than the payment request amount. The test server only supports euro at this moment. The giftCode used indicates the value it holds in the last 3 digits. For example ‘CCV0000000_004’ will have a value of 4. A giftCode with other non-numeric characters will default to 30. For Gift you can also pass fixed giftCard codes:
GiftCard code | Simulator response | VPOS failed |
---|---|---|
CCV000000000A | bad request |
failed with failure code processing_error |
CCV000000000B | not found , gift not found |
failed with failure code card_refused |
CCV000000000C | ok , gift locked |
failed with failure code card_refused |
CCV000000000D | ok , gift expired |
failed with failure code card_refused |
CCV000000000E | ok , gift currency gbp |
failed with failure code card_refused |
other | ok |
success for payment request with amount equal to or less than indicated in the last 3 digits of the used giftCode, or default 30 |
For SDD transactions you can pass specific amounts:
The SDD testserver returns OPEN
/ PENDING
on the creation.
The status will be updated to the status indicated below once a status sync has been processed or the transaction feed has been parsed.
Amount | Simulator response | VPOS status |
---|---|---|
5.00 | ERROR |
failed with failure code processing_error |
other | PAID |
success |
For SoftPos transactions you can pass specific amounts:
Amount | Simulator response | VPOS status |
---|---|---|
9 | no response - client timeout after 10s | failed with failure code processing_error |
10 | bad request |
failed with failure code processing_error |
11 | created |
pending |
12 | created - failed after get |
pending after status check failed |
13 | time out |
failed with failure code processing_error after timeout occurs |
14 | success |
success |
15 | created - success after 30 seconds |
pending after status check success |
16 | created - failed after 30 seconds |
pending after status check failed |
other | created - success after get |
pending after status check success |
For Apple Pay the following amounts can trigger test behavior. All other amounts should lead to a successful transaction.
Amount | Simulator Response | VPOS status |
---|---|---|
8.01 | failed |
failed with failure code insufficient_funds |
8.02 | failed |
failed with failure code card_refused |
9.00 | failed |
failed |
81.00 | failed |
failed with failure code insufficient_funds |
82.00 | failed |
failed with failure code card_refused |
other | success |
success |
All the payments are screened for fraud. The following amounts are applicable for all payment methods.
Amount | Simulator Response | VPOS status |
---|---|---|
66.00 | reject |
failed with failure code fraud_detected |
Other | accept |
Depending on the chosen method |