Showing 20 of 52 test cases

Scenario Category Test steps (summary) Expected result Priority
Successful payment, valid Visa cardFunctionalNavigate to checkout. Enter valid Visa test card, valid expiry, valid CVV. Submit payment.Payment succeeds. Order confirmation page loads. Correct amount charged.High
Successful payment, valid MastercardFunctionalRepeat TC-FN-001 using a valid Mastercard test number.Payment succeeds. Confirmation page loads. Amount matches order total.High
Successful payment, RuPay cardFunctionalEnter valid RuPay test card details. Submit payment.Payment succeeds. Confirmation page loads.High
Successful payment via UPIFunctionalSelect UPI. Enter a valid test UPI VPA. Approve the UPI intent in the simulator.Payment succeeds. Order confirmed. Transaction appears in order history.High
Successful payment via net bankingFunctionalSelect net banking. Choose a bank from the list. Complete payment in the bank's simulated interface.Payment succeeds. User redirected back to confirmation page.High
Successful payment via digital walletFunctionalSelect wallet (Paytm / GPay / PhonePe). Authenticate and approve in the sandbox.Payment succeeds. Order confirmed.High
Payment with saved/tokenised cardFunctionalLog in as a returning user with a saved card. Select saved card. Enter CVV. Submit.Payment succeeds using the tokenised card. No raw card data transmitted.High
3DS/OTP authentication completesFunctionalUse a test card that triggers 3DS. Enter the correct OTP when prompted.Authentication passes. Payment completes. User returned to confirmation page.High
Confirmation page renders after paymentFunctionalComplete a successful payment. Observe the post-payment page.Order confirmation page loads with correct order ID, amount, and items.High
Confirmation email/SMS triggeredFunctionalComplete a successful payment. Check registered email and/or phone.Confirmation email and/or SMS received within expected timeframe. Content is accurate.High
Transaction appears in order historyFunctionalComplete payment. Navigate to the user's order history.New order visible with correct status, amount, and payment method.Med
Correct amount charged, no rounding errorFunctionalPlace an order with a price involving decimal values (e.g. ₹1,299.99). Complete payment.Amount charged matches order total exactly. No rounding discrepancy.High
Payment receipt shows correct detailsFunctionalComplete payment. Open the generated receipt or confirmation email.Receipt displays correct order ID, item breakdown, amount, payment method, and date.Med
Currency displayed correctly throughoutFunctionalComplete a payment in a non-default currency (if supported). Observe all UI touchpoints.Correct currency symbol and code displayed consistently on checkout, confirmation, and receipt.Med
Amex card payment (4-digit CVV)FunctionalEnter a valid Amex test card (4-digit CVV). Submit payment.Payment succeeds. No validation error for 4-digit CVV format.Med
Declined, insufficient fundsNegativeUse a test card configured to simulate an insufficient funds decline. Submit payment.Payment fails. User sees a clear, specific error message. No amount charged. Retry available.High
Invalid card number (Luhn check failure)NegativeEnter a card number that fails the Luhn algorithm (e.g. 4000 0000 0000 0001). Submit.Inline validation error shown on the card field before submission reaches the gateway.High
Expired cardNegativeEnter a valid card number with a past expiry date. Submit payment.Payment fails with a clear expiry error. User prompted to use a different card.High
Incorrect CVVNegativeEnter valid card number and expiry, but an incorrect CVV. Submit payment.Payment fails. Error message indicates a card security code issue. No amount charged.High
Incorrect OTP, first attemptNegativeUse a 3DS-enabled test card. Enter an incorrect OTP when prompted.Authentication fails. User is informed the OTP is incorrect. Option to retry is presented.High
OTP exhausted after max attemptsNegativeEnter an incorrect OTP until all retry attempts are exhausted.Authentication blocked. Clear error message. Payment not processed. User directed to try a different method.High
OTP expires before entryNegativeTrigger the 3DS OTP. Wait for it to expire without entering it. Then enter it.Authentication fails with an OTP expired message. Payment not processed.High
Card blocked by issuing bankNegativeUse a test card configured to simulate a bank block. Submit payment.Payment fails. Error message advises the user to contact their bank.Med
Daily transaction limit exceededNegativeUse a test card configured to simulate a limit exceeded response. Submit payment.Payment fails with a relevant error. User understands they need to use a different card or method.Med
Gateway returns error mid-flowNegativeSimulate a gateway-level error using the test gateway's error simulation tools. Proceed through payment.Application handles the error gracefully. User sees a meaningful message. No partial order state created.High
Attempt to pay for an already-paid orderNegativeComplete payment for an order. Attempt to access and pay the same order again via URL manipulation or back navigation.System prevents duplicate payment. Error message explains the order is already paid.High
UPI VPA does not existNegativeEnter a UPI VPA that does not correspond to a valid account. Submit.Payment fails. User is told the VPA is invalid or not found. No amount debited.High
Net banking, bank server unavailableNegativeSelect net banking with a bank whose server is simulated as down. Proceed through payment.Graceful failure with a clear error. Order not stuck in pending. User can retry or choose another method.Med
Wallet has insufficient balanceNegativeSelect a wallet with a balance lower than the order total. Submit payment.Payment fails. Clear message that the wallet balance is insufficient. Option to use another method.Med
Card from unsupported regionNegativeUse a test card assigned to a blocked or unsupported region. Submit payment.Payment declined with an appropriate message. No amount charged.Low
Double click on Pay buttonEdge caseReach the payment confirmation step. Click the Pay button twice in rapid succession.Only one payment request is sent. No duplicate charge or duplicate order created.High
Browser back button during gateway redirectEdge caseBegin a payment that redirects to the gateway's hosted page. Press the browser back button before completing.User returns to checkout. Order remains unpaid. No partial transaction created.High
Network drops during gateway redirectEdge caseBegin payment and simulate a network failure during the redirect to the gateway.Application handles the failure gracefully. No orphaned order. User can retry payment.High
Session timeout during OTP entryEdge caseTrigger a 3DS OTP prompt. Allow the application session to expire before entering the OTP.Payment fails cleanly. No money deducted. User is not left in an undefined state.High
Browser autofill populates wrong card fieldEdge caseUse browser autofill to populate the payment form. Verify that each field receives the correct value.Autofill populates the correct fields. No cross-field contamination.Med
Page refresh during payment processingEdge caseSubmit payment. While the loading state is active, refresh the browser page.On returning, the application shows either the correct order status or a clear recovery message. No duplicate charge.High
User closes tab during gateway redirectEdge caseAfter redirect to the hosted payment page, close the browser tab without completing payment.Order remains unpaid. If payment completed before tab closed, status is updated correctly via webhook.Med
Very large order amountEdge caseCreate an order at or near the gateway's maximum transaction limit. Proceed to payment.Payment is either processed correctly or declined with an appropriate limit error. No application crash or data truncation.Med
Order amount with precise decimal valueEdge casePlace an order with a total such as ₹999.99 or $49.99. Complete payment.Exact amount charged. No floating-point rounding error results in a different value being passed to the gateway.High
Concurrent payments from two sessionsEdge caseOpen the same order in two browser sessions simultaneously. Attempt to pay from both at the same time.Only one payment is processed. The second attempt is rejected with an appropriate message.High
Payment form idle 30 minutes before submitEdge caseLoad checkout, enter card details, wait 30 minutes without submitting. Then submit.Application handles the stale session gracefully. User is either asked to re-authenticate or shown a clear session expiry message.Med
Card number pasted with spacesEdge caseCopy a card number formatted with spaces (e.g. 4242 4242 4242 4242). Paste into the card number field.Field accepts the pasted value and strips or formats spaces correctly. No false validation error.Low
Full payment flow on Chrome (latest), desktopCompatibilityComplete an end-to-end payment on Chrome latest stable on a desktop.Payment completes without visual or functional issues.High
Full payment flow on Firefox (latest), desktopCompatibilityRepeat the above on Firefox latest stable.Payment completes without visual or functional issues.High
Full payment flow on Safari (latest), desktopCompatibilityRepeat the above on Safari latest stable on macOS.Payment completes. Safari-specific input handling (card autofill, date picker) behaves correctly.High
Full payment flow on Edge (latest), desktopCompatibilityRepeat the above on Microsoft Edge latest stable.Payment completes without issues.Med
Full payment flow on Chrome, AndroidCompatibilityComplete an end-to-end payment on Chrome for Android on a mid-range device.Payment flow is fully functional on mobile. Touch targets are usable. No layout overflow.High
Full payment flow on Safari, iOSCompatibilityComplete an end-to-end payment on Safari for iOS.Payment flow is fully functional. iOS keyboard handling does not obscure fields. No Safari-specific bugs.High
Amex card, 4-digit CVV field handlingCompatibilityEnter an Amex test card. Observe CVV field behaviour.CVV field accepts 4 digits for Amex. No false validation error for the longer format.Med
Payment on 768px viewportCompatibilityResize browser to 768px width. Complete an end-to-end payment.All payment form fields, buttons, and messages are fully visible and usable. No horizontal overflow.Med
Keyboard-only navigation through payment formCompatibilityNavigate the entire payment form using only the keyboard (Tab, Shift+Tab, Enter, Space).All fields and buttons are reachable and operable via keyboard. Focus order is logical. No focus traps.Med
Payment method options on mobile viewportCompatibilityOpen the payment method selection screen at 375px width. Review all payment options.All payment method options are visible and selectable without horizontal scrolling.Med