PaymentsWhop

Payments

Whop

Let clients pay invoices through your own Whop account, with a Whop checkout link on each invoice and webhooks that mark it paid.

Coming February 2027

This feature ships in February 2027. This page describes how it will work; details can change before release.

Whop is a payment rail for creators and businesses that already sell on Whop. You connect your own Whop account to a business with an API key, and each invoice gets a Whop checkout link on its pay page. When Whop confirms the payment through a verified webhook, the invoice is marked paid. As with every rail, the money goes to your own account: we never hold it and never take a cut.

How it works

Whop is a gateway rail, like Stripe:

  1. You connect your Whop account by entering its API key. The key is checked before the connection is saved.
  2. On the pay page of an invoice that accepts Whop, the client chooses Whop.
  3. The pay page creates a Whop checkout link for the invoice and sends the client to it.
  4. The client pays on Whop.
  5. Whop sends a signed webhook to your connection's own webhook address. We verify the signature, store the event, process it, and mark the invoice paid.

A client coming back from Whop's page does not mark anything paid. Only the verified webhook does (or a payment you record yourself).

Whop here is a way for your clients to pay you. It is not used to pay for our Team plan, which is billed separately.

Webhooks

Whop events arrive at a webhook address that belongs to your connection: https://api.freeinvoiceautomation.com/webhooks/whop/ followed by the connection id. Your Whop account must send its events there: either you register the address in your Whop account, or it is registered for you through Whop's API when you connect.

We listen for Whop's payment succeeded, payment failed and payment refunded events, with the exact names Whop's API uses. A succeeded payment for the invoice's checkout records the payment and marks the invoice paid, or partially paid if it covered only part of the balance. A failed payment marks nothing paid. Every event is verified with your connection's webhook secret before anything else, and each event is processed only once even if Whop sends it again.

Connect Whop

1

Get your Whop API key

In your Whop account, create an API key for the company you want to be paid into.

2

Open Settings > Payment methods

Choose the business that should take Whop payments and add Whop. You are asked to sign in again, because this decides where money goes.

3

Enter the key

Paste the API key and, if asked, the webhook secret. Both are stored sealed and are write-only: after saving, you only ever see the last four characters.

4

Verify and enable

The connection is verified with a test call. Once it is active, turn Whop on as a payment method and set where it appears on the pay page.

Connections are checked every night. If your key stops working, the business shows a warning and the connection is marked as failing until you update it.

Through the API

Whop uses the same connection capabilities as every rail, with Whop's connection schema from the rails registry:

ActionRESTPermission
List railsGET /v1/railsrails.manage
Create a connectionPOST /v1/connectionsrails.manage (fresh sign-in)
Update a connectionPATCH /v1/connections/{id}rails.manage
Verify a connectionPOST /v1/connections/{id}/verifyrails.manage
Delete a connectionDELETE /v1/connections/{id}rails.manage
Start a checkout (pay page)POST /v1/public/pay/{token}/checkoutpay token
Get payment statusGET /v1/documents/{id}/payment-statuspayments.view

The checkout route takes the Whop connection id and the amount, returns the Whop checkout link, and never marks the invoice paid:

Start a checkout (pay page request)
{
  "connection_id": "0193f2aa-4d5e-7f6a-8b7c-8d9e0f1a2b3c",
  "amount_minor": "4900"
}

Your own systems can follow Whop payments through the payment.succeeded and document.paid webhook events, the same events as Stripe payments.

What the client sees

  • Whop listed as a payment method on the pay page, next to any other methods you accept.
  • A redirect to Whop's own checkout for the amount due.
  • After paying, a page saying the payment is being confirmed. The invoice shows paid as soon as Whop's webhook is verified.

Rules and edge cases

  • Your Whop account, your money. Whop's own fees and payout rules apply to your Whop account.
  • Currencies are those Whop supports.
  • Refunds. The Whop rail's listed capabilities are a checkout link per invoice and webhooks. Refunding from the app is a Stripe capability; if a rail cannot refund, the API returns rail_capability_missing and you record the refund manually after refunding in Whop. See Refunds.
  • Voided invoices have their payment links cancelled, so a client cannot start a new Whop checkout for them.
  • Secrets are never shown again after saving and never appear in logs or errors.

Permissions

KeyNeeded forDefault roles
rails.manageConnecting, verifying and removing WhopOwner, Admin
payments.viewSeeing Whop paymentsOwner, Admin, Editor, Viewer, Accountant

Errors

CodeWhen
fresh_signin_requiredConnecting Whop without a recent sign-in
connection_failedThe test call with your API key failed
rail_not_connectedThe invoice offers Whop but the connection is not active
upstream_errorWhop returned an error; try again
webhook_signature_invalidAn incoming event failed verification and was ignored