====== Testing Guide ====== ~~TOC~~ This page is intended to guide you through the best practices for testing your integration with %CompanyName. \\ ===== Test environment ===== Make sure all the testing is done against one of our sandbox accounts. Testing on a live account can cause problems such as:
  1. Unnecessary downtime
  2. Live transaction corruption/loss
  3. Chargebacks
  4. PCI DSS implications
===== Setting up the test environment ===== You should ensure that your test environment is configured as close as possible to your live environment, particularly:
  1. Web server (IIS/Apache) version
  2. Web server configuration, especially the language interface (PHP/ASP etc.) and session timeout
  3. Database connectivity
  4. Firewall
  5. Latest versions of our shopping carts and SDKs
===== Background validation ===== If you're using our **[[hosted_pages:introduction|Hosted Pages]]** solution, you should seriously consider implementing **[[hosted_pages:hpp_background_validation|Background Validation]]**. With background validation you can provide a webhook to which our host will send the result of every transaction in addition to the response you already get from the page. This ensures that your order system accurately reflects the transaction result even in the case where the cardholder redirect fails. ===== Security concerns ===== The PCI DSS states that you should never use live cards in a test environment, otherwise this environment is also subject to PCI audit and DSS rules.
%CompanyName cannot be held accountable for live cards being put through our test systems and sandbox accounts.
===== What to test ===== ==== All cases ====
  1. Host is unavailable (i.e. use invalid sandbox URL)
  2. Incorrect parameters in the request
  3. The hash string sent by the gateway in the response is properly validated
  4. Make sure your application is able to handle the different types of responses
  5. Refreshing the receipt page does not re-perform the transaction/resend the receipts
  6. PCI DSS guidelines are met in all scenarios
  7. All required currencies are processed correctly
==== Per integration method ==== === Hosted Payment Page ===
  1. Customer doesn't complete transaction (e.g. closes browser window)
  2. The Receipt Page URL is misconfigured in your terminal
  3. Customer takes over 60 mins to complete transaction
  4. Simultaneous transactions do not interfere with each other
  5. Background validation is successful for all transactions and responses, if applicable
=== REST API === - API Key is valid - Access tokens are re-generated before they expire - Only digits with no spaces are sent into Card number/CVV fields - Host returns a Bad Request error due to incorrect content in the JSON request - Host returns an Unprocessable Entity error to indicate a business rule or constraint violation === When using shopping carts === Testing will be quite specific depending on the shopping cart and plug-in being used. You should cover all the relevant test above for your integration method, even though the functionality is obscured by the plug-in you are using, the issues outlined above can still occur. Other shopping cart issues that should be tested are:
  1. Only digits with no spaces are sent into Card number/CVV fields
  2. Order status is updated correctly in shopping cart
  3. Customer e-mails are populated correctly
  4. Customers get the right number of e-mails (our host may also send an e-mail to the customer depending on the plug-in)
  5. Session timeouts do not cause transactions to be dropped
  6. Transactions over 1,000 and 1,000,000 Euro/Pounds/Dollar etc. are handled correctly
===== Testing resources ===== ==== Sandbox ==== Initial testing doesn't require a dedicated test account, you can use our sandbox to get started. Ready to play around? **[[..:signup|Sign up]]** for a sandbox account. {gateway=nuvei} The following values should be used when testing against the test URLs. Please see the Testing and Certification guide for further details. The terminal details are: ^ **TERMINAL** ^ **CURRENCY** ^ **TERMINAL ID** ^ **SHARED SECRET** ^ ^ A | USD | 33001|SandboxSecret001| ^ B | CAD | 33002|SandboxSecret002| ^ C | EUR | 33003|SandboxSecret003| ^ D | GBP | 33004|SandboxSecret004| ^ **E** | **MCP*** | **36001**|**SandboxSecret001**| * **TERMINAL E**: **MCP** is the Multi Currency Terminal Setting. {/gateway} ==== Credit Cards ==== Test cards that can be used on our host are: {gateway=worldnet}{gateway=anywhere_commerce} ^ **CARD SCHEME** ^ **CARD NUMBER** ^ **REQUIRES CVV** ^ | American Express | 3400000000000000 | Y | | Debit MasterCard | 5100270000000007 | Y | | Diners | 3600000000000008 | N | | Discover | 6011000000000004 | Y | | JCB | 3528000000000007 | Y | | Maestro | 5000330000000000 | Y | | MasterCard | 5001650000000000 | Y | | Switch | 6301144000000009 | N | | Visa Credit | 4539858876047062 | Y | | Visa Debit | 4000060000000006 | Y | | Visa Electron | 4001020000000009 | N | ==== Electronic Benefit Transfer (EBT) Cards ==== Currently, EBT processing is only supported by **FiServ** and **TSYS** processors. ^ **CARD NUMBER** ^ **BENEFIT CATEGORY** ^ **PIN** ^ | 6007602801003837964 | Food Stamp | 1234 | | 6007602801003837965 | Food Stamp | 1234 | | 6007602801003837967 | Cash Only | 1234 | | 6007602801003837968 | Cash Only | 1234 | | 6007602801003837969 | Cash Only | 1234 | | 6007602801003837971 | Inactive card | 1234 |
You can use any **CVV** and **Expiry Date** as long as the expiry date is a valid future date and the CVV is either a ''4-digit'' (Amex) or ''3-digit'' (other brands) numeric code.
==== Response Codes ==== Simulate responses by using different cent amounts for transactions. The cent values and their respective responses are: ^ **Cent Value** ^ **Response** ^ | 0.01 | Declined | | 0.02 | Referral | | 0.03 | CVV failure (Decline) | | Any other | Authorised | Meaning that if you enter ''5.01'', ''99.01'' or ''1754.01'' you will get a decline, for example. {/gateway} {gateway=nuvei} === For HP Integrations === ^ **CARD SCHEME** ^ **CARD NUMBER** ^ | Visa | 4444 3333 2222 1111 | | MasterCard | 5404 0000 0000 0001 | | Laser | 6304 9900 0000 0000 044 | | Maestro | 3000 0000 0000 0000 04 | | UK Domestic Maestro | 5641 8200 0000 0005 | | Electron | 4917 3000 0000 0008 | | Visa Debit | 4462 0000 0000 0003 | | Debit MasterCard | 5573 4700 8901 0012 | | American Express | 3742 0000 0000 004 | | JCB | 3569 9900 0000 0009 | | Diners | 3600 0000 0000 08 | | Solo| 6767 6222 2222 2222 222 | All test cards can be used with any expiry date in the future, and any CVV (American Express cards have a 4 digit CVV) and any Issue number where appropriate. === For XML Integrations === ^ **CARD SCHEME** ^ **CURRENCY** ^ **DCC ENABLED** ^ **SUPPORTS CVV** ^ **CARD NUMBER** ^ | American Express| EUR | N | Y | 3400000000000067| | Debit MasterCard| EUR | Y | Y | 5103150000000024| | Debit MasterCard| GBP | Y | Y | 5105091000000085| | Debit MasterCard| USD | Y | Y | 5100270000000007| | Diners | EUR | N | N | 3600000000000032| | Diners | USD | N | N | 6011000000000053| | JCB | GBP | N | Y | 3528000000000072| | Maestro | EUR | Y | Y | 5016590000000019| | Maestro | GBP | Y | Y | 6301144000000066| | Maestro | USD | Y | Y | 5021230000000007| | MasterCard | EUR | Y | Y | 5100010000000056| | MasterCard | GBP | N | Y | 5534223000000085| | MasterCard | GBP | Y | Y | 5101080000000033| | MasterCard | JPY | Y | Y | 5120790000000018| | MasterCard | USD | Y | Y | 5100040000000095| | Switch | EUR | N | N | 6706989000000008| | Switch | GBP | N | N | 6301144000000017| | Switch | USD | N | N | 6706988000000018| | Visa Credit | EUR | N | Y | 4005530000000086| | Visa Credit | EUR | Y | Y | 4001310000000095| | Visa Credit | GBP | N | Y | 4300000000000082| | Visa Credit | GBP | Y | Y | 4008800000000031| | Visa Credit | JPY | N | Y | 4051700000000021| | Visa Credit | JPY | Y | Y | 4205030000000036| | Visa Credit | USD | N | Y | 4005510000000013| | Visa Credit | USD | Y | Y | 4000020000000000| | Visa Debit | EUR | N | Y | 4033400000000005| | Visa Debit | EUR | Y | Y | 4000340000000069| | Visa Debit | GBP | N | Y | 4300009900000050| | Visa Debit | GBP | Y | Y | 4000330000000078| | Visa Debit | JPY | N | Y | 4051705010000085| | Visa Debit | JPY | Y | Y | 4000360000000018| | Visa Debit | USD | N | Y | 4005525010000084| | Visa Debit | USD | Y | Y | 4000060000000055| | Visa Electron | EUR | Y | Y | 4003110000000071| | Visa Electron | GBP | Y | Y | 4001150000000061| | Visa Electron | JPY | Y | Y | 4980040000000044| | Visa Electron | USC | Y | Y | 4002730000000010| All test cards can be used with any expiry date in the future, and any CVV (American Express cards have a 4 digit CVV) and any Issue number where appropriate. {/gateway} ===== Advanced solutions ===== For large merchants, %CompanyName will be happy to provide you with specialized test scripts and help with any struggle you may go through during integration. Feel free to contact our team of experts. \\ \\