Browse Product guides

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_referral or 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_id and test mode for retries
  • remember source is case-insensitive and stored lowercase
  • include test: true for 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_id for each partial refund, credit or dispute event
  • check the response commission.skip_reason when 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.

Feature detail