Verifying admin access…
Step 1: Go to payfast.co.za → Settings → Merchant Details. Put your live Merchant ID and Merchant Key in functions/.env (PAYFAST_LIVE_MERCHANT_ID / PAYFAST_LIVE_MERCHANT_KEY), and your live passphrase via firebase functions:secrets:set PAYFAST_PASSPHRASE — never in a plain file.
Step 2: Your Notify URL (ITN) is already set in code: https://us-central1-stackd-c9914.cloudfunctions.net/payfastITN — nothing to configure on PayFast's side for this.
Step 3: Return/Cancel URLs are also already set in code (getPayfastCheckoutFields in functions/index.js): https://stackdsa.co.za/payment-success.html and https://stackdsa.co.za/payment-cancel.html
Step 4: Stackd is free now — Featured Listings are the only paid product, and they're a once-off charge, not a subscription. Recurring Billing does not need to be enabled in PayFast for this.
Step 5: Test thoroughly in sandbox first — set PAYFAST_SANDBOX_MODE=true in functions/.env, then redeploy functions. Only flip to false and redeploy once a full test Featured Listing purchase has worked end to end.
| Title | Seller | Category | Campus | Price | Status | Actions |
|---|
| Name | Campus | Plan | Active listings | Joined | Actions |
|---|
| Partner | Category | Link | Time left | Status | Actions |
|---|
| Code | Creator | Commission | Users referred | Revenue generated | Status | Actions |
|---|
Applications come in via the Google Form. Review them here and create referral codes for approved creators on the Referral Codes tab.
View form responses →| Creator | Code | Users | Revenue earned | Payout | Payout status | Actions |
|---|