# Test Guide

<div class="p-rich_text_block--no-overflow" id="bkmrk-this-section-provide">This section provides guidelines for testing various payment methods supported in Paytool solution, including plain card number, google pay, apple pay, and BLIK on environment `<span style="font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Roboto, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;">TEST</span>`.</div><p class="callout success">**Tip:** Check it now. Verestro Paytool demo application is available [here.](https://paytool.verestro.dev/demo/)</p>

## Plain card number  


This method involves processing payments using credit or debit cards. In order to test it you will need to generate test cards because of possibility of getting card blocked due to anti-fraud policies on the acquirer side. Payment with plain card number use case is described [here](https://developer.verestro.com/books/paytool/page/use-cases#bkmrk-plain-card-number).

### Test cards

<div class="p-rich_text_block--no-overflow" id="bkmrk-mastercard-mock-full"><table class="tableblock frame-all grid-all stretch"><caption class="title">Mastercard mock full card range</caption><colgroup><col></col><col></col><col></col><col></col><col></col><col></col></colgroup><thead><tr><th class="tableblock halign-left valign-top">Begin</th><th class="tableblock halign-left valign-top">End</th><th class="tableblock halign-left valign-top">RC</th><th class="tableblock halign-left valign-top">MAC</th><th class="tableblock halign-left valign-top">Card Country</th><th class="tableblock halign-left valign-top">Currency</th></tr></thead><tbody><tr><td class="tableblock halign-left valign-top">5117960000000000

</td><td class="tableblock halign-left valign-top">5117962249999999

</td><td class="tableblock halign-left valign-top">CODE\_00

</td><td class="tableblock halign-left valign-top">x

</td><td class="tableblock halign-left valign-top">PL

</td><td class="tableblock halign-left valign-top">PLN

</td></tr><tr><td class="tableblock halign-left valign-top">5117962250000000

</td><td class="tableblock halign-left valign-top">5117964499999999

</td><td class="tableblock halign-left valign-top">CODE\_00

</td><td class="tableblock halign-left valign-top">x

</td><td class="tableblock halign-left valign-top">DE

</td><td class="tableblock halign-left valign-top">EUR

</td></tr><tr><td class="tableblock halign-left valign-top">5117964500000000

</td><td class="tableblock halign-left valign-top">5117966749999999

</td><td class="tableblock halign-left valign-top">CODE\_00

</td><td class="tableblock halign-left valign-top">x

</td><td class="tableblock halign-left valign-top">US

</td><td class="tableblock halign-left valign-top">USD

</td></tr><tr><td class="tableblock halign-left valign-top">5117966750000000

</td><td class="tableblock halign-left valign-top">5117968999999999

</td><td class="tableblock halign-left valign-top">CODE\_00

</td><td class="tableblock halign-left valign-top">x

</td><td class="tableblock halign-left valign-top">GB

</td><td class="tableblock halign-left valign-top">GBP

</td></tr><tr><td class="tableblock halign-left valign-top">5486000000000000

</td><td class="tableblock halign-left valign-top">5486009999999999

</td><td class="tableblock halign-left valign-top">CODE\_05

</td><td class="tableblock halign-left valign-top">x

</td><td class="tableblock halign-left valign-top">PL

</td><td class="tableblock halign-left valign-top">PLN

</td></tr><tr><td class="tableblock halign-left valign-top">5402060000000000

</td><td class="tableblock halign-left valign-top">5402069999999999

</td><td class="tableblock halign-left valign-top">CODE\_30

</td><td class="tableblock halign-left valign-top">x

</td><td class="tableblock halign-left valign-top">PL

</td><td class="tableblock halign-left valign-top">PLN

</td></tr><tr><td class="tableblock halign-left valign-top">5406603500000000

</td><td class="tableblock halign-left valign-top">5406603599999999

</td><td class="tableblock halign-left valign-top">CODE\_05

</td><td class="tableblock halign-left valign-top">03

</td><td class="tableblock halign-left valign-top">PL

</td><td class="tableblock halign-left valign-top">PLN

</td></tr><tr><td class="tableblock halign-left valign-top">5167680100000000

</td><td class="tableblock halign-left valign-top">5167680199999999

</td><td class="tableblock halign-left valign-top">CODE\_63

</td><td class="tableblock halign-left valign-top">x

</td><td class="tableblock halign-left valign-top">PL

</td><td class="tableblock halign-left valign-top">PLN

</td></tr><tr><td class="tableblock halign-left valign-top">5296730000000000

</td><td class="tableblock halign-left valign-top">5296730999999999

</td><td class="tableblock halign-left valign-top">CODE\_65

</td><td class="tableblock halign-left valign-top">x

</td><td class="tableblock halign-left valign-top">PL

</td><td class="tableblock halign-left valign-top">PLN

</td></tr><tr><td class="tableblock halign-left valign-top">5238140000000000

</td><td class="tableblock halign-left valign-top">5238140999999999

</td><td class="tableblock halign-left valign-top">CODE\_1A

</td><td class="tableblock halign-left valign-top">x

</td><td class="tableblock halign-left valign-top">PL

</td><td class="tableblock halign-left valign-top">PLN

</td></tr></tbody></table>

<table class="tableblock frame-all grid-all stretch"><caption class="title">Visa mock full card range</caption><colgroup><col></col><col></col><col></col><col></col><col></col></colgroup><thead><tr><th class="tableblock halign-left valign-top">Begin</th><th class="tableblock halign-left valign-top">End</th><th class="tableblock halign-left valign-top">RC</th><th class="tableblock halign-left valign-top">Card Country</th><th class="tableblock halign-left valign-top">Currency</th></tr></thead><tbody><tr><td class="tableblock halign-left valign-top">4400430000000000

</td><td class="tableblock halign-left valign-top">4400430099999999

</td><td class="tableblock halign-left valign-top">CODE\_00

</td><td class="tableblock halign-left valign-top">PL

</td><td class="tableblock halign-left valign-top">PLN

</td></tr><tr><td class="tableblock halign-left valign-top">4400430100000000

</td><td class="tableblock halign-left valign-top">4400430199999999

</td><td class="tableblock halign-left valign-top">CODE\_00

</td><td class="tableblock halign-left valign-top">DE

</td><td class="tableblock halign-left valign-top">EUR

</td></tr><tr><td class="tableblock halign-left valign-top">4400430200000000

</td><td class="tableblock halign-left valign-top">4400430299999999

</td><td class="tableblock halign-left valign-top">CODE\_00

</td><td class="tableblock halign-left valign-top">US

</td><td class="tableblock halign-left valign-top">USD

</td></tr><tr><td class="tableblock halign-left valign-top">4400430300000000

</td><td class="tableblock halign-left valign-top">4400430349999999

</td><td class="tableblock halign-left valign-top">CODE\_00

</td><td class="tableblock halign-left valign-top">GB

</td><td class="tableblock halign-left valign-top">GBP

</td></tr><tr><td class="tableblock halign-left valign-top">4400430350000000

</td><td class="tableblock halign-left valign-top">4400430399999999

</td><td class="tableblock halign-left valign-top">CODE\_00

</td><td class="tableblock halign-left valign-top">UA

</td><td class="tableblock halign-left valign-top">UAH

</td></tr><tr><td class="tableblock halign-left valign-top">4444184330000000

</td><td class="tableblock halign-left valign-top">4444184339999999

</td><td class="tableblock halign-left valign-top">CODE\_05

</td><td class="tableblock halign-left valign-top">PL

</td><td class="tableblock halign-left valign-top">PLN

</td></tr><tr><td class="tableblock halign-left valign-top">4444184320000000

</td><td class="tableblock halign-left valign-top">4444184329999999

</td><td class="tableblock halign-left valign-top">CODE\_30

</td><td class="tableblock halign-left valign-top">PL

</td><td class="tableblock halign-left valign-top">PLN

</td></tr><tr><td class="tableblock halign-left valign-top">4444184310000000

</td><td class="tableblock halign-left valign-top">4444184319999999

</td><td class="tableblock halign-left valign-top">CODE\_N7

</td><td class="tableblock halign-left valign-top">PL

</td><td class="tableblock halign-left valign-top">PLN

</td></tr><tr><td class="tableblock halign-left valign-top">4539120000000000

</td><td class="tableblock halign-left valign-top">4539120999999999

</td><td class="tableblock halign-left valign-top">CODE\_65

</td><td class="tableblock halign-left valign-top">PL

</td><td class="tableblock halign-left valign-top">PLN

</td></tr><tr><td class="tableblock halign-left valign-top">4567810000000000

</td><td class="tableblock halign-left valign-top">4567810999999999

</td><td class="tableblock halign-left valign-top">CODE\_1A

</td><td class="tableblock halign-left valign-top">PL

</td><td class="tableblock halign-left valign-top">PLN

</td></tr></tbody></table>

</div><div class="p-rich_text_block--no-overflow" id="bkmrk-there%27s-need-of-gene">There's need of generation PAN numbers from these BIN's, in order to do such so you can use [Credit Card Generator](https://www.businer.com/discard_credit_card_generator.php).</div><p class="callout info">**Note:** CVV may be randomized, expiration date must not be expired.</p>

### Testing various transaction paths

<div class="p-rich_text_block--no-overflow" id="bkmrk-as-described-in-the-">As described in the chapter on [3DS authentication](https://developer.verestro.com/books/paytool/page/use-cases#bkmrk-blik:~:text=step%20by%20step-,ThreeDs%20authentication,-Transactions%20using%20payment), there are various ThreeDs paths, In order to be able to test different flows, you need to manipulate the transaction amount to get into the selected transaction path:  
</div><div class="p-rich_text_block--no-overflow" id="bkmrk-threeds-mode-amount-"><table class="tableblock frame-all grid-all spread" id="bkmrk-threeds-mode-amount--0" style="width: 87.284%; height: 117.725px;"><colgroup><col style="width: 23.8331%;"></col><col style="width: 76.1669%;"></col></colgroup><tbody><tr style="height: 36px;"><td bgcolor="#002060" style="height: 36px;" width="353"><span style="font-family: Lato; color: #ecf0f1;">ThreeDs mode</span>

</td><td bgcolor="#002060" style="height: 36px;" width="353"><span style="color: #ffffff;">Amount</span>

</td></tr><tr style="height: 38.775px;"><td class="tableblock halign-left valign-top" style="height: 38.775px;">[`<span style="font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Roboto, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;">FRICTIONLESS</span>`](https://developer.verestro.com/books/paytool/page/use-cases#bkmrk-%40startumlskinparam-p-2)

</td><td class="tableblock halign-left valign-top" style="height: 38.775px;">100 - 1000

</td></tr><tr style="height: 42.95px;"><td class="tableblock halign-left valign-top" style="height: 42.95px;">[`<span style="font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Roboto, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;">CHALLENGE</span>`](https://developer.verestro.com/books/paytool/page/use-cases#bkmrk-challenge)

</td><td class="tableblock halign-left valign-top" style="height: 42.95px;">1001 - 3000

</td></tr></tbody></table>

</div><p class="callout info">**Note:** Amount is a value determining amount of cash transferred in one hundredth of the currency \[1,00 USD = 100\].</p>

<p class="callout success">**Tip:** Select an amount between 3001-8000 to test failed transaction.</p>

## Google Pay

<div class="p-rich_text_block--no-overflow" id="bkmrk-in-order-to-be-able-">In order to be able to test google-pay, you need to add a tokenized card to your google account. You need to register with the [google test card suite group](https://developers.google.com/pay/api/web/guides/resources/test-card-suite?hl=en) to do so. Follow these instructions from google's documentation. After registration in [google test card suite group](https://developers.google.com/pay/api/web/guides/resources/test-card-suite?hl=en) you are ready to test Google Pay token payment. After logging into your test account and selecting Google Pay, you should have a choice of several test cards added to your account which you can use to make a payment in Paytool `<span style="font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Roboto, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;">TEST</span>` environment. Google Pay payment use case is described [here](https://developer.verestro.com/books/paytool/page/use-cases#bkmrk-google-pay).</div><p class="callout info">**Note:** To be able to test all flows of ThreeDs in Google Pay follow the description about [testing various transaction paths](https://developer.verestro.com/books/paytool/page/test-guide#:~:text=an%20expired%20date.-,Testing%20various%20transaction%20paths,-As%20described%20in)</p>

## Apple Pay

This method involves processing payments using tokenized credit or debit cards. You need to create Apple sandbox tester account. Follow [apple documentation](https://developer.apple.com/apple-pay/sandbox-testing/#:~:text=supports%20TLS%C2%A01.2.-,Create%20a%20Sandbox%20Tester%20Account,-To%20create%20a) to do so. After registration and logging in into tester account you are ready to test Apple Pay token payment. There is a list of [apple-pay valid payment cards.](https://developer.apple.com/apple-pay/sandbox-testing/#:~:text=Test%20Cards%20for%20Apps%20and%20the%20Web) Payment with Apple Pay use case is described [here](https://developer.verestro.com/books/paytool/page/use-cases#bkmrk-apple-pay).

## Blik

<p class="callout warning">**Important!** Implemenation is work in progress...</p>