Skip to main content
GET
Retrieve Payment Levels Rebate

Authorizations

Authorization
string
header
required

An Account API key, an App API key, an account access token, an account-scoped user token, or a user OAuth token. Prepend the key or token with Bearer, for example Bearer ***************************. See Auth & API keys for how to get each one.

Scopes

payment:basic:read

Headers

Api-Version-Date
string

Pins the request to a dated API version.

Example:

"2026-11-07"

Path Parameters

payment_id
string
required

The payment whose rebate to retrieve, prefixed pay_.

Response

rebate retrieved

amount
object | null
required

Part of the account's monthly rebate this payment earned, in the currency it settled in. The rebate is paid to the account as one sum, so the payment's own amounts and fees don't change. null unless status is rebated.

covered_share
number | null
required

How much of the payment the month's spend covered, from 0 to 1: 1 for every rebated payment but the month's last, which can be covered in part, so its rebate is that share of the fee above the level's rate. null unless status is rebated.

Example:

1

effective_rate_percentage
number | null
required

Processing fee as a percentage of the amount it was charged on, before the rebate, where 2.7 means 2.7%. null unless status is rebated.

Example:

2.7

ineligible_reason
enum<string> | null
required

Why the payment can't earn a rebate: not_card_payment, before_levels (made before Whop Levels started), not_in_levels (its account wasn't in Whop Levels that month), fee_not_posted, fee_at_level_rate (its fee was already at or below the level's rate) or no_level_rate (its fee matched no level rate). null unless status is ineligible.

Available options:
not_card_payment,
before_levels,
not_in_levels,
fee_not_posted,
fee_at_level_rate,
no_level_rate,
null
Example:

"not_card_payment"

level
integer | null
required

Level the account's month closed at, from 0 up to 10. null until that month's close has applied to the payment, and for a payment that can't earn a rebate before then, such as a non-card payment.

Example:

3

month_started_at
string | null
required

Start of the UTC month whose close covers this payment, as an ISO 8601 timestamp. null before the processing fee has posted, and for a payment that can't earn a rebate before then, such as a non-card payment.

Example:

"2026-10-01T00:00:00.000Z"

payment_id
string
required

Payment ID, prefixed pay_.

Example:

"pay_xxxxxxxxxxxxxx"

processing_rate_percentage
number | null
required

Card processing percentage at level for cards from region, where 2.1 means 2.1%. The rebate is the fee above it. null unless status is rebated.

Example:

2.1

region
enum<string> | null
required

Card region the processing fee was charged in, which sets processing_rate_percentage. null unless status is rebated.

Available options:
us_and_canada,
europe_uk_and_australia,
latin_america,
peru,
brazil,
null
Example:

"us_and_canada"

status
enum<string>
required

rebated when the payment earned part of its account's monthly Whop Levels rebate. pending until the month its processing fee posted in has closed. not_covered when the account's spend that month ran out before this payment. ineligible when it can't earn one; ineligible_reason says why.

Available options:
rebated,
pending,
not_covered,
ineligible
Example:

"rebated"