{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["partial"]},"type":"markdown"},"seo":{"title":"Certification","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":"certification","__idx":0},"children":["Certification"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before you can go live with Tyro's Pay API for React Native, your App must under go a certification process."," ","Below you can find the test cases that we will perform when certifying your App for Pay API React Native SDK."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can view the full Certification test cases ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/assets/react-native-pay-api-tech-review.6cd70bd1eabffac38b37d7bf86c87da371ebc70952a1603dc1f571e54c2fe5ca.a7176699.pdf"},"children":["here"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"apisdk-integration-test-cases","__idx":1},"children":["API/SDK Integration Test Cases"]},{"$$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":"Test Case"},"children":["Test Case"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["App can Accept an Online Payment using cards"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with the Pay API and Tyro SDK to accept an online payment"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["App can Accept an Online Payment that triggers 3DS"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests ability to complete 3DS online Payments"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["App can Save a Pay Method"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Pay API to save a pay method"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["App can Reuse a Pay Method"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Pay API to use a previously saved pay method"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["App can Delete a Pay Method"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Pay API to delete a previously saved pay method"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["App can Refund a Pay Request"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Pay API to refund a pay request"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["App can Void a Pay Request"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Pay API to void a pay request"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["App can Retrieve a Refund Request"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Pay API to retrieve a specific refund request"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["App can list all Refunds"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Pay API to list all refunds"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"wallet-integration-test-cases-apple-paygoogle-pay","__idx":2},"children":["Wallet Integration Test Cases (Apple Pay/Google Pay)"]},{"$$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":"Test Case"},"children":["Test Case"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["App can Accept a Wallet Payment on Android device using Google Pay"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with the Pay API and Tyro SDK to accept a Wallet Payment"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["App can Accept a Wallet Payment on iOS device using Apple Pay"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with the Pay API and Tyro SDK to accept a Wallet Payment"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"sdk-tyroerror-test-cases","__idx":3},"children":["SDK tyroError Test Cases"]},{"$$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":"Test Case"},"children":["Test Case"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Failed Pay Requests"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Declined Payment"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Tyro SDK - tyroError"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["3DS Failure"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Tyro SDK - tyroError"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Expired Card"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Tyro SDK - tyroError"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Paysheet - tyroError cases"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["PAYSHEET_INIT_FAILED"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Tyro SDK - PaySheet"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["INVALID_PAY_SECRET"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Tyro SDK - PaySheet"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["NO_PAY_SECRET"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Tyro SDK - PaySheet"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["TyroProvider - tyroError cases"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["NOT_INITIALISED"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Tyro SDK - TyroProvider"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ENVIRONMENT_MISMATCH"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Tyro SDK - TyroProvider"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"tyrosdk-paysheet-test-cases","__idx":4},"children":["TyroSDK PaySheet Test Cases"]},{"$$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":"Test Case"},"children":["Test Case"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["PaySheet"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Tyro SDK to render the Tyro PaySheet"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Submit Pay Button"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests the submit pay button is provided by App and it can submit the Pay Request"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Display Pay Request Status"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Tyro SDK to display the pay result"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Form missing card number"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Tyro SDK submitPayForm function"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Form missing name on card"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Tyro SDK submitPayForm function"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Form missing expiry date"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Tyro SDK submitPayForm function"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Form missing security code"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Tyro SDK submitPayForm function"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Form has expired card date"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tests integration with Tyro SDK submitPayForm function"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"ui-checks-apple-pay-test-cases","__idx":5},"children":["UI Checks Apple Pay Test Cases"]},{"$$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":"Test Case"},"children":["Test Case"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Apple Pay Button Style"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Checks the Apple Pay Button has appropriate styling according to Apple guidelines"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Apple Pay Mark"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Checks any usage of the Apple Pay mark follows Apple guidelines"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"ui-checks-google-pay-test-cases","__idx":6},"children":["UI Checks Google Pay Test Cases"]},{"$$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":"Test Case"},"children":["Test Case"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Google Pay Button Style"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Checks the Google Pay Button has appropriate styling according to Google guidelines"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Google Pay Mark"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Checks any usage of the Google Pay mark follows Google guidelines"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Google Pay in Text"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Checks that any appearance of \"Google Pay\" follows Google guidelines"]}]}]}]}]}]},"headings":[{"value":"Certification","id":"certification","depth":1},{"value":"API/SDK Integration Test Cases","id":"apisdk-integration-test-cases","depth":2},{"value":"Wallet Integration Test Cases (Apple Pay/Google Pay)","id":"wallet-integration-test-cases-apple-paygoogle-pay","depth":2},{"value":"SDK tyroError Test Cases","id":"sdk-tyroerror-test-cases","depth":2},{"value":"TyroSDK PaySheet Test Cases","id":"tyrosdk-paysheet-test-cases","depth":2},{"value":"UI Checks Apple Pay Test Cases","id":"ui-checks-apple-pay-test-cases","depth":2},{"value":"UI Checks Google Pay Test Cases","id":"ui-checks-google-pay-test-cases","depth":2}],"frontmatter":{"title":"Quick Start Guide - Accepting a Payment","seo":{"title":"Certification"}},"lastModified":"2026-09-01T06:34:43.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/online-payments/pay-online/going-live/react-native-certification","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}