Pay partners through PayPal or Wise, from your own account
Partners can now save a PayPal address or bank account in their portal, and each payout run gives you PayPal and Wise batch files to upload to your own account. The money goes straight from you to your partners, including partners Stripe Connect doesn't reach.
OpenPartner works out what each partner is owed, and on hosted OpenPartner you send the money yourself. Until now, “send the money” meant collecting each partner’s PayPal address or bank details over email, keeping them in a spreadsheet, and typing amounts into PayPal or your bank one partner at a time. That gets slower with every partner and every country, and each manual step is a chance to pay the wrong person.
Now partners keep their payout details in OpenPartner, and each payout run gives you batch files for PayPal and Wise. You upload a file to your own PayPal or Wise account and pay everyone in it as one batch. (The Wise file comes with a caveat, below.)
The money never passes through OpenPartner. It goes from your PayPal or Wise account straight to your partners, the same principle as everything else we build: you pay your partners, we keep the records.
Partners add their payout details
Partners open Payout details in their portal and choose how they want to be paid:
- PayPal: the email address of their PayPal account.
- Bank account: the holder’s name, the bank’s country, the account currency, and an IBAN or a local account number with its routing: a sort code for GBP, a routing number and account type for USD, an IFSC for INR, or a SWIFT/BIC and address for other currencies. Some currencies also need the holder’s address.
- UPI (India) or Other: written instructions for anything else you’ve agreed. These aren’t in a file: you pay them one at a time.
You can enter or update details for a partner from Admin → Partners → Payout details.
Running a referral program inside your own app, where partners never see the OpenPartner
portal? Your backend can set them with PUT /partners/{id}/payout-profile and a key with
the payout_profiles:write scope.
A few safeguards, because payout details are what account-takeover fraud goes after:
- Checked when saved. An IBAN that fails its checksum, a US routing number that can’t be right, or an IBAN from a different country than the bank is refused. So is a name that a spreadsheet would run as a formula.
- Changes are emailed to the partner, masked, saying who made it: the partner, or your team. That goes to partners who use the portal. If your program runs inside your own app with portal access turned off, telling partners is up to your app. The payouts page also flags details that changed in the last 7 days.
- Encrypted at rest and masked everywhere except the details page itself, the batch files and your data exports.
You download a file, and upload it
On the Payouts page, Manual payouts to send shows each payout run. Under Ready for a new file there’s one line per provider and currency, with how many payouts and the total. Then:
- Make file. It downloads at once.
- Upload it to your own account: PayPal (Send Money → Make a Mass Payment) or Wise (Payments → Batch).
- Mark sent once the batch has gone out. That records exactly the payouts in that file as paid. If you never uploaded a file, Discard it, and its payouts can go into a new one.
A file is fixed when you make it, and Mark sent records exactly the payouts in it. A partner who adds their details while you’re uploading isn’t recorded as paid by that file: their payout waits for the next one. A partner already in the file who changes their details doesn’t turn up in a second file as well. The payouts page flags them as changed since the file was made, so you can check before you mark it sent.
Payouts that aren’t in any file say why: no payout details yet, a UPI or “other” method to pay yourself, or a currency no file can send. On hosted OpenPartner, a payout to a partner in a country we don’t serve, or with a confirmed sanctions-list match, is left out of every file and can’t be marked paid.
The PayPal file
- One currency per file, up to 5,000 payouts. PayPal sends 25 currencies, including USD, EUR, GBP, CAD, AUD, JPY and BRL.
- Your PayPal account needs Payouts enabled by PayPal. That’s PayPal’s approval, not ours. PayPal also caps each payment, at USD 20,000 by default.
- Some currencies are rounded. HUF, JPY and TWD amounts are rounded to whole units, because PayPal refuses decimals in them, so a payout can move by less than one unit.
- Check the total PayPal shows before you send. For EUR and BRL the file uses a decimal comma, as PayPal’s current instructions say, but an older PayPal page says the separator follows your account’s locale. PayPal’s preview is where you’d catch a mismatch.
- No INR. Since 2021, Indian PayPal accounts receive international payments in USD only, so pay Indian PayPal partners in USD. On their side, PayPal asks them for a verified PAN and a purpose code to receive it.
The Wise file
- One source currency per file, the currency you pay in, and up to 1,000 payouts. Each partner is paid in their own account’s currency, so one file can pay a EUR account, a GBP account and a USD account together.
- Who pays Wise’s fee. When you pay in the partner’s own currency, they receive the amount they’re owed and Wise’s fee is yours. When the currencies differ, the payout is the amount in your currency, and Wise’s fee and conversion come out of it. Amounts in currencies without cents, such as JPY, are rounded to whole units.
- Source currencies are the ones Wise lets a business send from in a batch: 23 of them, including USD, EUR, GBP, CAD and AUD. Wise also limits some currencies by where your business is, and refuses an upload you aren’t eligible for.
- No INR bank accounts yet. Wise needs a purpose of payment for every INR transfer, and the file doesn’t carry one yet. Indian partners can use PayPal (in USD) or UPI for now.
A caveat on the Wise format. Wise only shows its bank-transfer batch template inside a
Wise Business account, so the file’s bank-detail columns use the field names from Wise’s
public recipient API. We haven’t yet checked them against a live template. Before you
rely on the Wise file, build a bank-account batch template in your own Wise Business
account and compare its header row with the file’s. If a column name doesn’t match, Wise
rejects the whole upload before anyone is paid, rather than paying someone wrongly. Either
way, tell us at [email protected] and we’ll fix the file.
Leaving keeps the details
Payout details are part of your data export, decrypted so another install can read them, and encrypted again when they’re imported. Moving off hosted OpenPartner doesn’t mean asking every partner for their bank details twice. It does mean an export file holds your partners’ bank details, so store it like one.
What it costs
Nothing extra. There’s no fee on payout files, and OpenPartner takes nothing from what you pay partners. PayPal and Wise charge their own fees on your account.
Get started
- Partners: Payout details in the portal sidebar. Getting paid explains each field.
- Brands: the Payouts page, under Manual payouts to send, after your next payout run.
- In-app programs:
PUT /partners/{id}/payout-profileand the payout file endpoints are in the API reference.