Status codes

What each status from the conversion endpoint means – and what to do about it.

View as Markdown

Every sale reported to Affilyflow gets a status. You see it in the response from the conversion endpoint ({ "status": "…" }) and in the live test under Setup in the store dashboard. Many statuses are perfectly normal – only some mean the setup needs fixing.

Recorded

StatusMeaningWhat to do
okThe sale is recorded and attributed to an affiliate – or to the store's test link, if it was a test purchase. It now awaits the store's approval.Nothing.

Normal – not counted

StatusMeaningWhat to do
duplicateThe same order number came again in the same program and wasn't counted twice – e.g. a reloaded receipt.Nothing. If it happens on every sale, check that the order number isn't the same every time.
expiredThe click is older than the program's cookie window. The window is locked on the click.Nothing. When testing: open the test link again and buy right after.
unknownThe click ID doesn't exist – deleted, wrong or never recorded. HTTP 404.Check that you send the click ID unchanged (c_…). When testing: open the test link again and buy in the same browser.
blockedThe store has blocked the affiliate, so the sale earned no commission.Nothing.
suspendedThe affiliate is suspended, so the sale earned no commission.Nothing.
store_inactiveThe store is set to inactive, so the sale earned no commission.Write to info@affilyflow.com if it is a mistake.

Fix the setup

StatusMeaningWhat to do
store_mismatchThe click belongs to a different store than the one the sale was reported for.Check that data-store (or store) is your own store ID from Setup.
invalid_valueThe amount was negative.Send the goods amount after discount, excluding VAT and shipping, as a positive number.
zero_valueThe program pays a fixed amount per sale, but the order was 0.Check that the amount comes through. On the receipt: check the amount field.
value_too_highThe order was above the program's amount cap (50,000 in the settlement currency by default) and wasn't recorded.Check that the amount wasn't sent in cents. If it is a real sale, write to info@affilyflow.com.
unsupported_currencyThe currency couldn't be converted: the code isn't three letters, or there is no rate from the last 10 days.Send an ISO 4217 code such as DKK or EUR. If the code is right, write to info@affilyflow.com.
stale_lead_triggerA lead (an order number starting with lead_) was reported to a program that pays per sale.Remove the lead code or data-lead-url, and use the sale code.
program_inactiveThe program was paused when the sale came in.Turn the program back on if the pause wasn't intended.
not_joinedOnly for legacy links without a click ID: the affiliate hasn't joined the program.Nothing – the affiliate needs to use a link from their dashboard.

Rejected under the rules

These sales are recorded but shown as rejected with the reason – without commission, fee or notifications.

StatusMeaningWhat to do
self_referralThe buyer's email is the same as the affiliate's (terms §7). Requires the integration to send buyer_hash.Nothing.
rule_breachThe click broke the program's rules – a coupon site, forbidden paid search or a channel the program doesn't allow. Only when Affilyflow enforces program rules.Nothing. The store sees the breach under Rule breaches.

Endpoint errors

StatusHTTPMeaningWhat to do
error400Neither a click ID nor aff + store was included.Send afid.
error500Recording failed. The sale may not be saved.Try again with the same order number – a duplicate isn't counted twice.
rate_limited429Too many calls from the same IP address.Wait a moment and try again.
too_large413The body was over 64 KB.Send fewer item lines.

From the integrations

The Stripe webhook, the WooCommerce plugin and the Shopify app report sales too, and these statuses can appear in their events:

StatusMeaning
no_affiliateThe sale came without a click or affiliate – a normal sale.
not_recurringA subscription renewal where the click didn't qualify for subscription commission.
first_rejectedA renewal of a subscription whose first sale was rejected – no commission.
cap_reachedThe subscription has reached the number of payments that earn commission.
test_modeStripe in test mode isn't booked.
unpaidThe payment wasn't completed.
unattributedShopify: a purchase without a click ID while the store is testing. Only the time is stored, and it is never credited.

For Stripe, unknown and expired are common: a checkout without an affiliate has no click.

Missing something?

Write to us – we answer quickly, and the page gets fixed.

Contact support