{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Testing","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"testing","__idx":0},"children":["Testing"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Test your integration during development by automatically simulating the result as if a terminal was real."," ","This means that you do not need to have a physical terminal to test your integration."," ","We leverage TID in sandbox mode so that you can emulate any amounts on both payments, partial cashouts and refunds."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"test-scenarios","__idx":1},"children":["Test Scenarios"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use the following Terminal IDs to simulate interaction scenarios. Other Terminal IDs will be rejected during test mode."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Scenario"},"children":["Scenario"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"TID"},"children":["TID"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Approved Fast"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1001"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The entire transaction should take between 10-30 seconds, and will be approved."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Approved Slow"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1002"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Each stage of the transaction may be between 10-30 seconds."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Approved Retry"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1003"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The card will fail to read and a terminalProgress message will update."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Approved Key Pin"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1004"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A terminal progress message for customer to key pin will be presented."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Approved Prompt Before"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1005"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A prompt on the terminal will be present before the transaction has processed."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Approved Prompt After"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1006"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A prompt on the terminal will be present after the transaction has processed."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Approved Prompt Unanswered"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1007"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["An unanswered prompt on the terminal will be present after the transaction has processed."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Declined Fast"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1008"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The entire transaction should take between 10-30 seconds, and will be declined."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Declined Slow"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1009"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Delay for initiation and processing may be between 10-30 seconds."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Input Timeout"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1010"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The terminal will timeout waiting for input."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Terminal Busy"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1011"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The terminal will be busy and unable to process the transaction."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Cancelled By Terminal"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1012"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The terminal will cancel the transaction."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Terminal Not Paired"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1013"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Create Pay Request"]},", ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Answer Terminal Prompt"]}," and ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Cancel Pay Request"]}," will fail with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TERMINAL_NOT_PAIRED"]}," error code."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Unknown Error"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1014"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The terminal will return an unknown error."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"testing-tips-and-surcharges","__idx":2},"children":["Testing Tips and Surcharges"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When you create a pay request using any of the test scenarios which result in a transaction being processed, you can change the transactionOutcome by supplying a goodsAndServices amount as below:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Amount"},"children":["Amount"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Result"},"children":["Result"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ending in 7"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The transaction will have no tipAmount"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ending in 8"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The transaction will have no surchargeAmount"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ending in 9"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The transaction will have no surchargeAmount and no tipAmount"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Anything Else"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The transaction will have a tipAmount and surchargeAmount"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"important","__idx":3},"children":["Important"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Test scenarios will immediately be run once you create a pay request, however to simulate real-world experiences, each scenario will be run in a randomly generated time-range."," ","Most scenarios stages will be run between 3-10 seconds, however some scenarios may take up to 30 seconds to complete if they are defined as \"Slow\"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This is to emulate the true experience of terminal payment initiation and processing. Such as, time taken to swipe your card, or the time taken for payment processing to occur."]}]},"headings":[{"value":"Testing","id":"testing","depth":1},{"value":"Test Scenarios","id":"test-scenarios","depth":2},{"value":"Testing Tips and Surcharges","id":"testing-tips-and-surcharges","depth":2},{"value":"Important","id":"important","depth":2}],"frontmatter":{"title":"Testing","seo":{"title":"Testing"}},"lastModified":"2026-09-10T06:51:58.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/in-person-payments/pay-in-person/testing","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}