Affiliate testing
Use this page to plan affiliate tests on staging. Affiliate publishers offer cashback on purchases that customers make at partner brands, so testing focuses on offers, tracking, and the way transaction states change over time.
💡 Tip: Affiliate transactions depend on networks confirming sales, which happens on the networks’ own schedules. Agree with Spendstream how to obtain sample staging transactions in each state, so you can test without waiting.
Test scenarios
Scenario | What to check |
Offer display | Brands from |
Tracking link generation | The link built for a user follows the affiliate tracking URL format and carries the user identifier. |
User attribution | A tracked click is attributed to the right user |
Pending transaction | A new transaction appears through |
Approved transaction | The status changes to approved. Your app updates the same record and releases the reward. |
Declined transaction | The status changes to declined. Your app removes or reverses any provisional reward. |
Amended transaction | The value changes before approval. Your app updates the amounts on the same record. |
Missing cashback process | A purchase does not appear. Your support process for missing cashback works, and you know what details to send to Spendstream. |
⚠️ Warning: Affiliate transaction values can change before final approval. Never treat a pending transaction as final, and never pay out on a pending value.
Commission and rewards
Check that client-commission and processing-fee in transaction responses match your agreed terms, and that your app displays the user’s reward only.
Checks on every reply
- Read the
responsefield in the body. - Store the Spendstream transaction identifier and use it as your upsert key.
- Follow pagination through the previous and next links, at 50 records per page.
Checklist
- [ ] Brands, categories and offers display correctly.
- [ ] Tracking links are generated and carry the user identifier.
- [ ] A test click is attributed to the correct user.
- [ ] Pending, approved, declined and amended states are all handled.
- [ ] State changes update the existing record and do not create duplicates.
- [ ] Payouts never use pending values.
- [ ] The missing cashback process is documented for support staff.
- [ ] Reconciliation with
getTransactionsListmatches webhook data.
On this page
- Affiliate testing