Check tracking and fix missed credit
Start with the sale or source event.
Sale trace
Open the sale under Affiliates -> Sales. Credited and direct/uncredited sales can show attribution trace information including token checks, code checks, customer binding, Stripe evidence and final decision.
Common outcomes include expired click, inactive partner, self referral, duration ended, zero amount and no evidence.
Tracking evidence
Use Affiliates -> Setup for tracking hosts and setup evidence. If a domain is missing, the tracker or SDK did not record partner traffic from that host.
For cross-domain checkouts, add outbound decoration or explicitly pass the referral token into the checkout.
Stripe source checks
For Stripe, check Affiliates -> Settings -> Where you sell -> Stripe:
- live/test source toggles
- last event type and result
- backfill status and error
- whether Payment Links carry
client_reference_id - whether metadata uses
plandalf_referralor your configured compatibility metadata key - whether a partner has the expected Stripe promotion-code mapping
API checks
For the sales API:
- use the same
source,external_idandtestmode for retries - remember
sourceis case-insensitive and stored lowercase - include
test: truefor test refunds, credits and disputes - report subscription invoices once, not both a subscription checkout session and the first invoice as separate sales
- use a new adjustment
external_idfor each partial refund, credit or dispute event - check the response
commission.skip_reasonwhen a sale does not earn
If an adjustment returns 202 with { "status": "pending" }, Plandalf accepted it but has not seen the matching sale yet. Send the sale with the same source, sale_external_id and mode, or wait for the source-event sweep to retry after the sale arrives.
If a replay returns 409, the same event identity was already recorded with a different payload. Use the provider’s real adjustment ID for each partial adjustment; do not reuse one ID with a changed amount.
Payout checks
Stripe affiliate payouts are disabled in this release. Use manual payments or PayPal under Settings → Paying your affiliates. This does not disable the Stripe sales source or subscription renewals.
If a commission is held for FX, it cannot be approved or paid yet. Plandalf will retry the exchange-rate lookup from the due-release path; once the rate is available, it writes the accrual and the normal approval hold continues.
If a payout is blocked for reconciliation, a late refund, dispute, held commission, frozen partner or inactive partner changed the reserved payout after export or provider submission. Reconcile the provider result first. For a draft batch, Plandalf can release invalid items and recompute the batch; for an exported or submitted batch it will not silently change the amount.
Test safely
Use the plandalf-test partner with test-mode checkout, Stripe test events or sales API test: true. Test sales do not enter real partner payouts.