Payments

Retrieve payment status

Retrieves how far a payment has got and what the buyer must do next, if anything. A payment is collected in the background, so poll this rather than reading the create response. Accepts either a secret key or the payment's own client_secret, so the surface collecting the payment can poll it directly.

get/payments/{payment_id}/status

Path parameters

payment_idstring required

The unique identifier of the payment.

Response

Payment status retrieved

auto_capture_atstring nullable required

When Whop will capture this authorization automatically, as an ISO 8601 timestamp. null when no automatic capture was requested.

capture_expires_atstring nullable required

When the card authorization must be captured, as an ISO 8601 timestamp. null when this payment was not authorized for later capture.

idstring required

The payment this status describes, prefixed pay_.

objectstring required

Always payment_status.

return_urlstring nullable required

Where to send the buyer once the payment reaches a resting state, or null to leave them where they are. Editable until they return — see the return_url operation.

status'requires_confirmation' | 'requires_action' | 'requires_capture' | 'confirming' | 'processing' | 'succeeded' | 'canceled' required

How far the payment has got. requires_confirmation — nothing attempted yet, or the last attempt failed and can be retried. requires_action — the buyer has a step outstanding; see next_action. requires_capture — the card authorization is holding funds and must be captured. confirming — the buyer has done their part and the processor is deciding. processing — with processing_details, the money is moving; without them, the charge is still being decided and the status should be read again. succeeded — collected. canceled — voided or written off.

Example response

{
  "account": {
    "id": "biz_xxxxxxxxxxxxxx",
    "title": "Shine Time Auto Detailing"
  },
  "capture_expires_at": "2026-01-01T12:00:00.000Z",
  "id": "pay_xxxxxxxxxxxxxx",
  "last_payment_error": {
    "code": "processing_error",
    "decline_code": "insufficient_funds",
    "message": "Your card was declined."
  },
  "next_action": {
    "data": {
      "frame_max_width": 500,
      "url": "https://psp.example/3ds/challenge"
    },
    "render": [
      "inline"
    ],
    "type": "redirect"
  },
  "object": "payment_status",
  "processing_details": {
    "expected_by": "2026-01-01T12:00:00.000Z"
  },
  "return_url": "https://shinetime.example/checkout/done",
  "status": "succeeded"
}

Changes

Changed in 11 of the 74 revisions of this API.68814

    • ○

      added the required property to the response with the status

      response-required-property-added

    This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • ○

      added the optional property ///////// to the response with the status

      response-optional-property-added

    This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • ○

      added the required property to the response with the status

      response-required-property-added

    This revision also has 2 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

  • 16c82685be3511See the full diff
    • ●

      added the new requires_capture enum value to the response property for the response status

      response-property-enum-value-added

    • ○

      added the required property to the response with the status

      response-required-property-added

    This revision also has 2 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • ○

      added the optional property ///////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////// to the response with the status

      response-optional-property-added

    This revision also has 6 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

  • 48408451a1f012See the full diff
    • ▲

      added to the ////// response property oneOf list for the response status

      response-property-one-of-added

    • ○

      added discriminator to ////// response property for the response status

      response-property-discriminator-added

    • ○

      removed from the ////// response property oneOf list for the response status

      response-property-one-of-removed

    • ○

      added the required property /////// to the response with the status

      response-required-property-added

  • a01100378e5951See the full diff
    • ▲

      added to the //// response property oneOf list for the response status

      response-property-one-of-added

    • ▲

      the //// response's property type changed from object to no type for status

      response-property-type-changed

    • ▲

      removed the required property ///// from the response with the status

      response-required-property-removed

    • ▲

      removed the required property ///// from the response with the status

      response-required-property-removed

    • ▲

      removed the required property ///// from the response with the status

      response-required-property-removed

    • ○

      added discriminator to //// response property for the response status

      response-property-discriminator-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    This revision also has 9 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • ●

      added the new authentication_required enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new bank_account_closed enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new bank_account_frozen enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new bank_account_holder_deceased enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new bank_account_not_found enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new bank_amount_error enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new bank_authorization_revoked enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new bank_declined enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new bank_details_invalid enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new bank_duplicate enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new bank_generic_decline enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new bank_insufficient_funds enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new bank_invalid_routing_number enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new bank_non_transaction_account enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new bank_not_authorized enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new bank_payment_stopped enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new bank_processing_error enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new bank_regulatory_blocked enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new blocked_by_cardholder enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new cannot_authorize enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new card_not_supported enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new card_type_not_supported enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new card_velocity_exceeded enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new closed_account enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new contact_issuer enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new currency_not_supported enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new duplicate_transaction enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new expired_card enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new generic_decline enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new high_risk enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new incorrect_pin enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new insufficient_funds enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_account enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_amount enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_card_holder_name enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_card_number enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_country enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_cvc enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_cvc_or_expiration enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_expiry enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_expiry_month enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_expiry_year enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_pin enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_transaction enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_zip enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new issuer_error enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new issuer_not_found enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new issuer_unavailable enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new lost_card enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new merchant_blacklist enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new no_accounts enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new pin_required enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new pin_required_as enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new pin_try_exceeded enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new processing_error enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new provider_declined enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new reenter_transaction enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new regulatory_blocked enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new restricted_card enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new sepa_disputed enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new sepa_generic_decline enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new sepa_invalid_iban enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new sepa_mandate_data_invalid enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new sepa_no_mandate enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new sepa_refused_by_customer enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new stolen_card enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new suspected_fraud enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new test_mode_decline enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new test_mode_test_card enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new three_d_secure_canceled enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new three_d_secure_card_not_enrolled enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new three_d_secure_failed enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new three_d_secure_fraud enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new three_d_secure_generic_error enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new three_d_secure_invalid_card_number enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new three_d_secure_rejected_by_bank enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new three_d_secure_reported_lost_or_stolen enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new three_d_secure_success enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new three_d_secure_timeout enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new three_d_secure_too_many_attempts enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new transaction_cancelled enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new transaction_not_allowed enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new transaction_not_permitted enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new transaction_stopped enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new try_again_later enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new undefined enum value to the ///// response property for the response status

      response-property-enum-value-added

    • ●

      added the new withdrawal_count_limit_exceeded enum value to the ///// response property for the response status

      response-property-enum-value-added

    This revision also has 2 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

Of the 74 revisions, 1 has no diff computed.