List Payments
Lists payments, newest first. By default, returns sales for the accounts your credential can read: an account credential’s own account, or every account a user can read payments for. Set mode to user_sales to list the sales the signed-in user received personally, outside any account.
Authorizations
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.
Headers
Pins the request to a dated API version.
"2026-10-29-8"
Query Parameters
Which sales to list. account_sales returns sales for the accounts the caller can read. user_sales returns only sales the signed-in user received personally, outside any account; it requires the user's own Whop login session and cannot be combined with account_id.
account_sales, user_sales Only payments charged by this account, prefixed biz_.
Only payments in this lifecycle state.
open, authorized, paid, pending, uncollectible, unresolved, void Only payments whose most recently attached kept shipment is in this tracking state. missing_tracking selects paid payments with a captured shipping address and no kept shipment, excluding fully refunded payments. needs_tracking selects payments with an open pre-shipment funds hold and no kept shipment. Shipment states do not imply a payment or refund state. Requires shipment:basic:read as well as payment:basic:read; user-wide lists include only accounts readable under both scopes. Only supported with mode=account_sales.
unknown, pre_transit, in_transit, out_for_delivery, delivered, available_for_pickup, return_to_sender, failure, cancelled, error, needs_tracking, missing_tracking Only payments charged for this reason. subscription_cycle also matches renewals recorded as subscription_update.
subscription_create, subscription_cycle, subscription_update, one_time, manual, subscription Only payments presented in this three-letter currency, such as usd.
Only payments made by this buyer, prefixed user_. This filters sales the caller can read, so me is not accepted; list the caller's own purchases with GET /memberships?user_id=me.
Search payments by payment ID, dispute ID, user ID, membership ID, user email, name, or username. Email filtering requires the member:email:read permission.
Also cover the account's connected accounts. Requires account_id, and is a 400 without it. Without query, lists the payments of the account and every connected account, newest first by created_at only; another order is a 400. The listing is cut off after 10 seconds, which a rare filter on an account with little recent activity can reach; add a query to narrow it. With query, matches on payment, dispute, user or membership ID, buyer email, or a card's first 6 or 8 digits and last 4 separated by a space or dash (424242 4242); free-text queries such as a name search only the named account. Connected accounts' payments are returned only for connected accounts you can read payments on.
Only payments made by this member, prefixed mber_.
Only payments billed under this membership, prefixed mem_.
Only payments for this product, prefixed prod_.
Only payments priced by this variant, prefixed plan_.
Only payments created before this ISO 8601 timestamp.
Only payments created after this ISO 8601 timestamp.
Only payments in any of these lifecycle states, with the same meanings as status. Repeat the parameter to pass several. Combined with status when both are sent.
open, authorized, paid, pending, uncollectible, unresolved, void Only payments whose substatus is any of these. Repeat the parameter to pass several. incomplete also matches payments that report incomplete because no finer status was recorded.
succeeded, requires_capture, pending, failed, blocked, past_due, canceled, price_too_low, uncollectible, refunded, auto_refunded, partially_refunded, dispute_warning, dispute_needs_response, dispute_warning_needs_response, resolution_needs_response, dispute_under_review, dispute_warning_under_review, resolution_under_review, dispute_won, dispute_warning_closed, resolution_won, dispute_lost, dispute_closed, resolution_lost, drafted, incomplete, unresolved Only payments charged for any of these reasons, with the same meanings as billing_reason. Repeat the parameter to pass several. Combined with billing_reason when both are sent.
subscription_create, subscription_cycle, subscription_update, one_time, manual, subscription Only payments presented in any of these three-letter currencies. Repeat the parameter to pass several. Combined with currency when both are sent.
Only payments priced by any of these variants, each prefixed plan_. Repeat the parameter to pass several. Combined with variant_id when both are sent.
Only payments for any of these products, each prefixed prod_. Repeat the parameter to pass several. Combined with product_id when both are sent.
Only payments paid with any of these methods: a card brand such as amex, a wallet such as apple_pay, or a payment method type such as paypal. Repeat the parameter to pass several.
mastercard, visa, amex, discover, unionpay, jcb, diners, link, troy, visadankort, visabancontact, china_union_pay, rupay, jcbrupay, elo, maestro, tarjeta_naranja, cirrus, nspk_mir, verve, ebt, private_label, local_brand, uatp, wexcard, uzcard, meeza, hrg_store_card, girocard, fuel_card, dankort, carnet, atm_card, china_union_payuzcard, codensa, cabal, hipercard, jcblankapay, cmi, aura, accel, culiance, nyce, pulse, star, eftpos, alelo, edenred, sodexo, unknown, acss_debit, addi, affirm, afterpay_clearpay, alipay, alipayhk, alma, amazon_pay, apple, apple_pay, au_bank_transfer, au_becs_debit, bacs_debit, bancolombia, bancontact, bank_wire, billie, blik, boleto, bre_b, ca_bank_transfer, capchase_pay, card, card_present, card_installments_three, card_installments_six, card_installments_twelve, cashapp, claritypay, coinbase, crypto, custom, customer_balance, demo_pay, duitnow_qr, efecty, eps, eu_bank_transfer, fpx, flex_pay, gb_bank_transfer, gcash, giropay, google_pay, gopay, grabpay, id_bank_transfer, ideal, interac, international_bank_wire, kakao_pay, klarna, klarna_pay_now, konbini, kr_card, kr_market, kriya, kueski, mb_way, m_pesa, mercado_pago, mercado_pago_ar, mercado_pago_mx, mobilepay, modo, mondu, multibanco, naver_pay, nequi, netbanking, ng_bank, ng_bank_transfer, ng_card, ng_market, ng_ussd, ng_wallet, nupay, nz_bank_account, oney, oney_3x, oney_4x, opay, oxxo, p24, pago_efectivo, pse, pay_by_bank, payco, paynow, paypal, paypal_express, paypay, payto, payto_email, payto_phone, payto_bank_account, pix, platform_balance, promptpay, qris, rapipago, rechnung, revolut_pay, samsung_pay, satispay, scalapay, sencillito, sepa_debit, sequra, servipag, sezzle, shop_pay, shopeepay, sofort, south_korea_market, spei, splitit, sunbit, swish, tabby, tamara, touch_n_go, twint, upi, us_bank_account, us_bank_transfer, venmo, vipps, webpay, wechat_pay, whop_pay, yape, zip, coinflow, tap_to_pay Only payments whose shipment is in any of these tracking states, or that still need a tracking number (needs_tracking). Repeat the parameter to pass several. Requires account_id and the shipment:basic:read permission.
unknown, pre_transit, in_transit, out_for_delivery, delivered, available_for_pickup, return_to_sender, failure, cancelled, error, needs_tracking, missing_tracking Only payments refunded after this ISO 8601 timestamp.
Only payments refunded before this ISO 8601 timestamp.
Only payments with a dispute alert after this ISO 8601 timestamp.
Only payments with a dispute alert before this ISO 8601 timestamp.
Only payments with a dispute opened after this ISO 8601 timestamp.
Only payments with a dispute opened before this ISO 8601 timestamp.
The field to sort by. amount sorts by the amount charged, in the currency it was charged in.
created_at, paid_at, amount The sort direction.
asc, desc Number of results to return from the start of the range.
x <= 100Return results after this cursor. Use page_info.end_cursor from the previous response to fetch the next page.
Number of results to return from the end of the range.
x <= 100Return results before this cursor. Use page_info.start_cursor from the previous response to fetch the previous page.

