Before you start, you need:
- An API key with the
payout:destination:readandpayout:create_destinationscopes. - PayPal login enabled on the account. Contact Whop to turn it on. Until then,
supports_paypal_loginisfalseand step 2 returns403. - A completed payout setup. Whop matches the name on it to the PayPal account.
- An
httpspage for PayPal to send the holder back to, on a domain added to the account or its platform. Add it with Create Domain andverification: {}. It doesn’t need to finish verifying.https://localhostworks for testing. - Whop SDK 2.5.0 or later, if you use an SDK.
How the redirect works
It all happens in the holder’s browser, in one tab. You never call PayPal directly.- Your server starts a session and gets an
authorize_urlon PayPal. - The holder’s browser goes there, and they log in and approve.
- PayPal returns the browser to Whop, which reads the account’s email, name, and verification status.
- Whop sends the browser to your
return_urlwith?paypal_link_token=…or?error=…. - Your server passes the token to Whop, which checks the name and saves the method.
1. Find the payout method
List supported payout methods and keep theid of the one with supports_paypal_login: true. The SDKs page through every result for you.
2. Start the login
Create a PayPal link session and redirect the holder to itsauthorize_url. The session expires in 15 minutes, at expires_at.
return_url with one of these:
If the holder finishes after
expires_at, or after the return_url domain is removed from the account, Whop can’t send them back. They see an “Invalid or expired link” page.
3. Save the payout method
On your server, create the saved payout method withpaypal_link_token in place of fields. Use the same account_id, supported_payout_method_id, and destination_currency as the session, since the token only works with those. Whop saves PayPal’s email and names the method after it.
If Whop refuses the account
Whop answers400 with a message for the holder, such as a name mismatch. Show it as is.
- The token survives a refusal, so retry a temporary error with the same token.
- If the message says to connect PayPal again, start a new session once the holder fixes the problem.
- An unverified PayPal account or unconfirmed email still saves.
What the holder sees
PayPal’s consent screen names Whop as the app asking for their email, name, and verified status. Every redirect stays in the tab that opened PayPal, so if you use a pop-up, your return page must notify its opener and close.Next steps
Send a payout
Pay out to the PayPal method you just saved
Payouts API reference
Every payout and payout method endpoint

