How would you test a card payment checkout for an e-commerce site in the UAE?
What the interviewer wants to hear
- Happy paths with gateway test cards, including 3-D Secure
- Declines, insufficient funds, expired cards, timeouts and gateway errors
- Double submit, retries, back button and refresh: no double charge, idempotency
- Amounts, VAT, currency, rounding and refunds; order and payment status stay consistent
- Security and compliance: no card data in logs, HTTPS, PCI scope
- Webhooks, reconciliation and notifications such as email or SMS receipts
Model answer
I would use the gateway's sandbox and its test cards. Happy paths cover Visa and Mastercard, saved cards and 3-D Secure challenges. Negative paths cover declined, insufficient funds, expired cards, a failed 3-D Secure step and gateway timeouts, checking that clear messages appear and the order is not marked paid. Next I test the risky edge cases: double-clicking Pay, refreshing during redirect, pressing back and slow networks, making sure the customer is charged only once. I check totals, 5% VAT, discounts, rounding to fils and refunds, both partial and full. I also verify webhooks, since the gateway may confirm a payment after the browser closes, and that order status, payment records and receipts all agree. Finally I confirm card numbers never appear in logs or our database and that everything runs over HTTPS.
Can you answer it under time pressure?
Take a timed medium round and get scored on every answer.
More medium QA Engineer questions
- You are given a new "split payment" feature in a payments app. How would you create a test plan?
- How do you test a REST API? What do you check beyond the status code?
- A developer says your bug is "working as designed", but you think users will be confused. What do you do?
- Your team wants to start test automation. Which tests would you automate first and which would you keep manual?
- How do you manage test data for testing across multiple environments?
- Your automated UI suite has become flaky and the team has started ignoring failures. How do you fix the situation?
- You are asked to performance test a new API before a big launch. How do you plan and run it?
- An app is launching an Arabic version for the UAE and Saudi Arabia. What do you test?
- How do you include accessibility testing in your normal QA work for a web application?