Skip to content

Wallet & Payments

QA test plan covering wallet functionality, Stripe Connect onboarding, business account upgrades, purchase flows, tips, and withdrawals.


Route: /wallet

IDDescriptionPreconditionsStepsExpected ResultPriority
WAL-W-001Display wallet balanceLogged in; wallet exists1. Navigate to /walletCurrent balance displayed correctlyP0
WAL-W-002Display transaction historyLogged in; transactions exist1. Navigate to /wallet 2. View transaction listTransactions listed with date, amount, type, and statusP0
WAL-W-003Display earnings breakdownLogged in; has earnings1. Navigate to /walletEarnings from sales, tips, etc. shown separatelyP1
WAL-W-004Empty wallet stateLogged in; new account with no transactions1. Navigate to /walletZero balance shown; “No transactions yet” messageP1
WAL-W-005Transaction history paginationLogged in; many transactions1. Scroll through transaction listOlder transactions load as user scrollsP2
WAL-W-006Transaction detail viewLogged in; transactions exist1. Click on a transactionTransaction details shown (amount, date, parties, reference)P2

IDDescriptionPreconditionsStepsExpected ResultPriority
WAL-SC-001Start Stripe Connect onboardingLogged in; no Stripe account1. Click “Connect with Stripe” or trigger connectOnboardRedirected to Stripe onboarding flowP0
WAL-SC-002Complete Stripe Connect onboardingIn Stripe onboarding flow1. Fill in all required Stripe fields 2. SubmitReturned to app; Stripe account connected; status updatedP0
WAL-SC-003Incomplete Stripe onboardingIn Stripe onboarding flow1. Start onboarding 2. Close/abandon before completionAccount status shows incomplete; prompt to resumeP0
WAL-SC-004Check Stripe account statusLogged in; Stripe connected1. Navigate to wallet or business settingsStripe connection status shown (active/pending/restricted)P1
WAL-SC-005Stripe verification requiredLogged in; Stripe needs additional verification1. View account statusBanner or alert prompting user to complete verificationP1
WAL-SC-006Resume incomplete onboardingLogged in; onboarding incomplete1. Click “Complete Setup”Redirected to Stripe to resume onboarding where left offP1

Route: /business/upgrade

IDDescriptionPreconditionsStepsExpected ResultPriority
WAL-BU-001View business upgrade optionsLogged in as regular user1. Navigate to /business/upgradeUpgrade options and pricing displayedP0
WAL-BU-002Upgrade to business accountLogged in as regular user1. Click “Upgrade” 2. Complete Stripe setup if needed 3. ConfirmAccount upgraded to business; store features unlockedP0
WAL-BU-003Business upgrade with Stripe not connectedLogged in; no Stripe account1. Click “Upgrade”Prompted to connect Stripe first before upgradingP0
WAL-BU-004Already a business accountLogged in as business user1. Navigate to /business/upgradeShows current plan; no duplicate upgrade optionP1

IDDescriptionPreconditionsStepsExpected ResultPriority
WAL-PP-001Purchase a productLogged in; product available1. Navigate to product 2. Click “Buy” 3. Enter payment details 4. ConfirmPayment processed; product access granted; receipt shownP0
WAL-PP-002Purchase with insufficient funds / declined cardLogged in1. Attempt purchase with Stripe test decline card (4000 0000 0000 0002)Payment fails; error message shown; no product accessP0
WAL-PP-003Purchase free productLogged in; free product exists1. Navigate to free product 2. Click “Get”Product access granted without payment flowP1
WAL-PP-004Purchase updates seller walletLogged in as buyer; seller has Stripe connected1. Complete a purchaseSeller’s wallet reflects new earningsP0
WAL-PP-005Duplicate purchase preventionLogged in; already purchased product1. Navigate to already-purchased product”Already purchased” shown; no duplicate buy optionP1

IDDescriptionPreconditionsStepsExpected ResultPriority
WAL-PS-001Subscribe to Starter plan ($9/mo)Logged in; no active subscription1. Navigate to subscription page 2. Select “Starter” 3. Enter payment 4. ConfirmSubscription active; Starter features unlocked; $9 chargedP0
WAL-PS-002Subscribe to Pro plan ($29/mo)Logged in; no active subscription1. Navigate to subscription page 2. Select “Pro” 3. Enter payment 4. ConfirmSubscription active; Pro features unlocked; $29 chargedP0
WAL-PS-003Upgrade from Starter to ProLogged in; Starter subscription active1. Navigate to subscription settings 2. Click “Upgrade to Pro” 3. ConfirmSubscription upgraded; Pro features unlocked; prorated chargeP0
WAL-PS-004Cancel subscriptionLogged in; active subscription1. Navigate to subscription settings 2. Click “Cancel” 3. ConfirmSubscription cancels at period end; access maintained until expiryP0
WAL-PS-005Subscription renewalActive subscription approaching renewal1. Wait for renewal dateSubscription auto-renews; payment charged; no interruptionP1
WAL-PS-006Subscription payment failureActive subscription; card will decline1. Update to declining card 2. Wait for renewalRenewal fails; user notified; grace period appliedP1
WAL-PS-007View subscription statusLogged in; has subscription1. Navigate to subscription settingsCurrent plan, renewal date, and payment method shownP1

IDDescriptionPreconditionsStepsExpected ResultPriority
WAL-T-001Send a tip to another userLogged in; recipient has Stripe connected1. Navigate to user profile 2. Click “Tip” 3. Enter amount 4. ConfirmTip sent; amount deducted; confirmation shownP0
WAL-T-002Receive a tipLogged in; Stripe connected1. Another user sends a tipNotification received; tip amount added to walletP0
WAL-T-003Tip appears in transaction historyTip sent or received1. Navigate to /walletTip transaction visible in history with correct detailsP1
WAL-T-004Send tip with invalid amountLogged in1. Click “Tip” 2. Enter $0 or negative amount 3. SubmitValidation error; tip not sentP1
WAL-T-005Tip to user without Stripe connectedLogged in; recipient has no Stripe1. Attempt to tip userError or prompt indicating recipient cannot receive tipsP1
WAL-T-006Tip payment failsLogged in; card declines1. Attempt to send tip with failing payment methodError message; no tip sent; no deductionP1

IDDescriptionPreconditionsStepsExpected ResultPriority
WAL-WD-001Request a withdrawalLogged in; positive balance; Stripe connected1. Click “Withdraw” 2. Enter amount 3. ConfirmWithdrawal request submitted; status shown as pendingP0
WAL-WD-002Withdrawal exceeding balanceLogged in; balance is $501. Request withdrawal of $100Error: insufficient balanceP0
WAL-WD-003Withdrawal with no Stripe accountLogged in; no Stripe connected1. Attempt to withdrawPrompt to connect Stripe before withdrawingP0
WAL-WD-004View withdrawal statusLogged in; withdrawal requested1. Navigate to /walletWithdrawal shows status (pending/processing/completed)P1
WAL-WD-005Withdrawal completedLogged in; withdrawal was pending1. Check wallet after processingBalance reduced by withdrawal amount; status updated to completedP1
WAL-WD-006Minimum withdrawal amountLogged in; very small balance1. Attempt to withdraw below minimum thresholdError: amount below minimum withdrawalP2