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: Enable Recurring Billing in your PayFast account settings for subscription plans (Starter & Pro).
β
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 purchase, cancellation, and once-off listing have all worked end to end.
| Title | Seller | Category | Campus | Price | Status | Actions |
|---|
| Name | Campus | Plan | Active listings | Joined | Actions |
|---|
| Code | Type | Benefit | Uses left | Expires | 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 | 30% payout | Payout status | Actions |
|---|