Credit & Payments
WeWorks uses a unified credit account for all platform payments. Direct off-platform payments for tasks are not supported — money flows through the credit system for auditability and tasker payouts.
Core rules
- Users spend from available credit when paying for tasks or hardware
- Ticket and shop payments debit the payer’s available credit
- Taskers receive earnings into their available credit
- Withdrawals move available credit to a linked bank account (admin approval may apply)
Funding and paying down credit
- Pay off used credit via Stripe (Settings → Credit → Pay Off Debt)
- Vouchers add to available credit or pay down existing debt
- Configure Stripe keys in API (
STRIPE_SECRET_KEY) and client (NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY)
Users access credit features from Settings → Credit and the balance widget in the header.
Payment flow
Owner spends available credit → Pays for task/shop order
↓
Tasker available credit increases
↓
Tasker withdraws to bankHardware shop
Hardware purchases at /hardware-shop use available credit.
Withdrawals
Taskers request withdrawals at /withdrawals. Admins review and process them at /admin/withdrawals.
Vouchers
Admins can issue vouchers (/admin/vouchers) that credit owner or tasker accounts. Welcome vouchers are issued automatically on registration when enabled.
Owner refunds — owners submit requests at /settings/refunds (Settings → Refund Requests). Admins review pending requests at /admin/refunds and can also issue refunds directly (platform credit or Stripe card refund).
Promotional credit (welcome vouchers and vouchers marked promotional) is added to available credit and can be used to pay for tasks or shop orders, but cannot be withdrawn to a bank account. Only earned credit (e.g. tasker job payouts) is withdrawable.
Configuration
| Variable | App | Purpose |
|---|---|---|
STRIPE_SECRET_KEY | API | Server-side Stripe |
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY | Client | Client-side Stripe Elements |
WELCOME_VOUCHER_* | API | Auto signup voucher |
NEXT_PUBLIC_WELCOME_VOUCHER_* | Landing | Promo display |
Use Stripe test keys in development; switch to live keys only in production with HTTPS enabled.
Security notes
- Never commit real Stripe secret keys to git
- Use
.envfiles locally and secrets management in production - All credit API routes require authenticated sessions