partner_key in the payment metadata to decide which partner should receive the commission. This means the same customer can generate commissions for different partners on different transactions.
When to use this
- A marketplace where the same buyer purchases from different sellers, each represented by a different partner
- A SaaS platform where customers can be upsold by different agencies, and each agency should earn commission on the deals they close
- A business where the referring partner is tracked at the payment level (e.g., stored in Stripe charge metadata) rather than at the customer level
Setting up
- Go to Program Settings → Edit program
- Find Commission attribution model
- Select Transaction-based
- Save
This setting only affects how new incoming transactions are attributed. Existing customers and commissions are not modified.
How it works
When a payment webhook arrives (or an API call is made), Partnero checks for apartner_key field in the payment metadata before any other customer lookup.
- Read
partner_keyfrom payment metadata - Find the partner matching that key
- Find or create a customer record linked to that specific partner
- Calculate commission for that partner
partner_key is found, Partnero falls back to the standard customer-based attribution logic.
Customer records
To support the same real-world customer being linked to multiple partners, Partnero creates separate customer records with a composite identifier:cus_123 attributed to partner PARTNER_A becomes stripe_cus_123__pkey_PARTNER_A. This happens automatically — no action required on your part.
Examples
Imagine Stripe customercus_123 making three separate purchases over time.
Partner key is present
Each partner gets commission only for the transactions that carry their key. The same Stripe customer generated commissions for two different partners.
No partner key or invalid key
Integration guides
Stripe
Addpartner_key to the metadata of charges, subscriptions, invoices, or the Stripe customer object. Partnero checks all of these locations.
Checkout Session:
Paddle
Addpartner_key to the custom_data object on transactions or subscriptions.
WooCommerce
Addpartner_key to the order meta data. This can be done via a plugin, custom code, or the WooCommerce REST API.
Chargebee
Partnero reads the partner key from the Chargebee customer custom fieldscf_partnero_partner or cf_referral_code. Set these fields on the customer in Chargebee, and Partnero will use them for per-transaction attribution when transaction-based mode is enabled.
API
When using the Partnero API directly, include thepartner field in your transaction request. The customer is automatically created and linked to that partner.
With transaction-based attribution via the API, you don’t need to create the customer separately — it’s created automatically when the transaction is recorded.
Where partner_key is read from
Next steps
Stripe integration
Full Stripe setup guide
Paddle integration
Full Paddle setup guide
API reference
Transaction API documentation
Affiliate API
Standard API integration guide
