Overview
Partner.io uses Stripe for two main purposes:
Lead Attribution (Integration) - Integration with your Stripe account to track payments and attribute revenue to the correct partners
Partner Payouts - Using Partner.io's Stripe infrastructure to facilitate commission payments to your partners
It's important to note that these are two separate systems. Lead attribution uses your Stripe integration, while partner payouts use Partner.io's own Stripe account as a payment facilitator. This guide will walk you through how both systems work, common issues you might encounter, and how to resolve them.
Lead Attribution
How It Works
When an invoice is paid through your Stripe account, Partner.io uses a two-step process to attribute it to the correct lead and partner:
Primary Attribution Method: Stripe Customer ID
Payment from your Stripe account arrives with a Customer ID (e.g.,
cus_ABC123xyz)Partner.io searches for a lead where
customer_id = 'cus_ABC123xyz'If found: Payment is attributed ✅
If not found: Falls back to email matching
Note: A lead's Stripe Customer ID is set automatically the first time a payment is successfully matched via email. The primary method therefore applies to all subsequent payments from that customer.
Fallback Attribution Method: Email Matching
Partner.io attempts to match using the
customer_emailfrom your Stripe invoiceSearches for a lead with a matching email address
If found:
Payment is attributed to the lead
Stripe Customer ID is saved to the lead for future payments
If not found: Automatic attribution fails ❌
Manual Attribution
If both methods fail, you can manually assign the Stripe Customer ID to the lead record in Partner.io. This will ensure future payments are automatically attributed.
Manual Customer ID Assignment Process
Find the lead in Partner.io that should receive attribution
Locate the Stripe Customer ID from your Stripe account
Update the lead record with the Customer ID in Partner.io
Future payments will be automatically attributed
Important: Adding a Stripe Customer ID does not backfill missed payments. Only future invoice events from Stripe will be attributed automatically.
Recording Missed Payments
If payments came through before attribution was set up:
Navigate to the lead in Partner.io
Select Add Revenue
Enter the payment amount, currency, and description
Commissions will be calculated and generated automatically based on the partner's program tier
Partner Payouts
Setup Requirements
For Partners
Stripe Connected Account: Partners complete Stripe onboarding to create a connected account under Partner.io's Stripe infrastructure for receiving payouts.
Bank details: For manual off-platform payments Partners can add their bank details which will appear on the invoice.
For Companies
Add a payment card in Partner.io for processing stripe commission payments. Navigate to Settings > Payment Settings to configure your payment method.
Important: Your payment card is stored as a customer in Partner.io's Stripe account and is only used for commission payments through our platform.
Payment Process
Commission Calculation: System calculates owed commissions based on attributed revenue
Invoice Generation: Invoices are created automatically based on schedule settings
Payment Options:
Stripe Payment: Click "Pay" button to process payment from your stored card to the partner's connected account
Mark as Paid: Mark invoice as paid if payment was processed outside of Partner.io
Important: All invoice payments require manual review and approval in Partner.io, either to process the payment or to mark it as paid
Currency Handling
Partner.io Interface: Always displays amounts in your company currency, defaults to USD but can be changed on request.
Lead Attribution: Revenue tracking processes payments in the currency of the Stripe invoice, usually the currency in which you invoice customers
Partner Payouts: Invoices are generated in the partner's organizational currency, and Stripe payment intents process in that same currency
Troubleshooting
Common Attribution Issues
Stripe Email Mismatch Problem
Scenario: User signs up with one email but pays with a different email
Example:
John signs up for free trial with
[email protected](creates lead in Partner.io)Company finance team processes payment with
[email protected]Partner.io cannot match payment to original lead
Why This Happens:
Lead record has
[email protected]Stripe payment has
[email protected]No Stripe Customer ID on lead record yet
Email matching fails
Solution
Ensure consistent email usage between signup and payment from customers. If mismatch occurs, manually link Stripe Customer ID to the lead record.
Payments Not Being Attributed to a Lead
This usually happens when the email on your Stripe customer doesn't match the email on the lead record in Partner.io. For example, a customer might sign up with [email protected] but your finance team processes payment under [email protected]. Partner.io sees two different emails and can't make the connection.
The quickest way to diagnose this is to open the payment in your Stripe account and check the customer email, then compare it to the email on the lead in Partner.io.
If the emails differ:
Manually add the Stripe Customer ID to the lead record in Partner.io
Use Add Revenue on the lead to record any payments that were missed
Future payments will now be attributed automatically
Payout Issues
Partner Not Receiving Commission
Verification Steps:
Step 1: Check Attribution (Integration Issues)
Confirm payment was attributed to the correct lead in partner.io
Verify lead is linked to the correct partner
Check that revenue appears correctly from your Stripe integration
Step 2: Check Payment Processing (Partner.io's Payout System)
Ensure partner has connected their Stripe account in the portal settings
Verify partner has added valid bank account details in the partner portal
Confirm you have added a payment card in Partner.io's Payment Settings
Check invoice status and payment history in Partner.io
Confirm your invoice schedule settings are configured correctly
Frequently Asked Questions
Can I bulk update Stripe Customer IDs for multiple leads?
Currently, Customer IDs must be updated individually per lead record. If you need to update many leads at once, contact support for assistance with bulk operations.
What happens if a customer refunds or cancels their subscription?
Partner.io tracks individual payments, not subscription states. Refunds and cancellations in Stripe don't automatically adjust commissions - you'll need to handle these manually in your commission calculations.
What data does Partner.io receive from Stripe webhooks?
We receive payment amounts, customer emails, customer IDs, invoice details, and transaction metadata. We don't store or access sensitive payment method information.
