QA Checklist
A comprehensive checklist to ensure your Tapaya Accept SDK integration is robust, secure, and ready for production.
Before releasing your application, run through this Quality Assurance (QA) checklist. It covers functional testing, error handling, and user experience scenarios to minimize issues in the field.
1. Functional Testing
Transaction Flows
Successful Payment (TF-1): Verify a standard approved transaction using a test card or the Testing Tool.
Declined Payment (TF-2): Simulate a decline (e.g., using amount .05) and ensure the app handles it gracefully without crashing.
Insufficient Funds (TF-3): Simulate insufficient funds (e.g., using amount .51) and check the user message.
Cancelled Transaction (TF-4): Initiate a payment and cancel it from the SDK UI (back button or close). Ensure your app returns to the previous screen correctly.
Receipt Generation (TF-5): Verify that transaction data (Auth Code, TID, Date) is correctly captured and printed/emailed on receipts.
Hardware Interactions
NFC Read (HI-1): Test with physical cards (Visa, Mastercard) and digital wallets (Apple Pay, Google Pay).
Interrupted Read (HI-2): Remove the card immediately after tapping but before the "beep". Ensure the SDK prompts to tap again or fails gracefully.
Network Loss (HI-3): Turn off internet/Wi-Fi during a transaction. Verify that the app reports a connection error and doesn't hang.
2. Onboarding & Configuration
Merchant Setup
New User Onboarding (MS-1): Run through the full onboarding flow with a fresh account.
Data Prefill (MS-2): If your app prefills merchant data, verify that the fields in the SDK are correctly populated.
Status Check (MS-3): Verify that getPaymentMethodsStatus() returns the correct status for a pending vs. approved merchant.
UI Customization
Branding (UC-1): Confirm that the UiConfigurationData (Logo, Name) is correctly displayed in the payment overlay.
Dark/Light Mode (UC-2): If your app supports themes, check that the transition to the SDK UI is not jarring (though the SDK UI itself may have a fixed theme).
3. Security & Compliance
Device Integrity
Root Detection (DI-1): (Optional) If you have a rooted test device, verify that the SDK refuses to initialize.
Permissions (DI-2): Revoke permissions (Camera, Location) and attempt to start the SDK. Ensure your app prompts the user to grant them.
Data Handling
Token Management (DH-1): Verify that the merchantToken and sdkToken are refreshed correctly and not hardcoded.
No Sensitive Data (DH-2): Ensure your app logs do not print full card numbers or raw track data.
4. Edge Cases
App Backgrounding (EC-1): Minimize the app during a transaction and restore it. The transaction should either resume or fail safely.
Incoming Call (EC-2): Call the test device during a payment. The SDK should handle the interruption (usually by pausing or failing).
Low Battery (EC-3): Test behavior when the device is in "Power Saver" mode (some NFC chips degrade in performance).
5. Production Readiness
Environment Switch (PR-1): CRITICAL: Ensure demo = false is set for the production build.
Production Tokens (PR-2): Verify that the backend is pointing to the production Tapaya API endpoints.
Version Check (PR-3): Ensure you are using the latest stable version of the Tapaya Accept SDK.
Sign-off
We recommend printing this list and physically checking off items during your final release candidate testing.