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

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 — the money is moving; see processing_details. succeeded — collected. canceled — voided or written off.

Example response

{
  "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": "requires_action"
}

Changes

Changed in 8 of the 42 revisions of this API.68811

  • 16c82685be3511See the full diff
    • added the new requires_capture enum value to the status response property for the response status 200

      response-property-enum-value-added

    • added the required property capture_expires_at to the response with the 200 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 next_action/oneOf[PaymentNextAction]/oneOf[subschema #2: Display instructions]/data/oneOf[subschema #3: Bank transfer]/bank_transfer/bank_address to the response with the 200 status

      response-optional-property-added

    • added the optional property next_action/oneOf[PaymentNextAction]/oneOf[subschema #2: Display instructions]/data/oneOf[subschema #3: Bank transfer]/bank_transfer/routing_number to the response with the 200 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 PaymentVoucherInstructions PaymentQrInstructions PaymentBankTransferInstructions to the next_action/oneOf[PaymentNextAction]/oneOf[subschema #2: Display instructions]/data response property oneOf list for the response status 200

      response-property-one-of-added

    • added discriminator to next_action/oneOf[PaymentNextAction]/oneOf[subschema #2: Display instructions]/data response property for the response status 200

      response-property-discriminator-added

    • removed PaymentInstructions from the next_action/oneOf[PaymentNextAction]/oneOf[subschema #2: Display instructions]/data response property oneOf list for the response status 200

      response-property-one-of-removed

    • added the required property next_action/oneOf[PaymentNextAction]/oneOf[subschema #1: Redirect]/data/frame_max_width to the response with the 200 status

      response-required-property-added

  • a01100378e5951See the full diff
    • added PaymentNextActionRedirect PaymentNextActionDisplayInstructions PaymentNextActionAwaitConfirmation to the next_action/oneOf[PaymentNextAction]/ response property oneOf list for the response status 200

      response-property-one-of-added

    • the next_action/oneOf[PaymentNextAction]/ response's property type/format changed from object/ to / for status 200

      response-property-type-changed

    • removed the required property next_action/oneOf[PaymentNextAction]/data from the response with the 200 status

      response-required-property-removed

    • removed the required property next_action/oneOf[PaymentNextAction]/render from the response with the 200 status

      response-required-property-removed

    • removed the required property next_action/oneOf[PaymentNextAction]/type from the response with the 200 status

      response-required-property-removed

    • added discriminator to next_action/oneOf[PaymentNextAction]/ response property for the response status 200

      response-property-discriminator-added

    • added the optional property error/code to the response with the 401 status

      response-optional-property-added

    • added the optional property error/code to the response with the 403 status

      response-optional-property-added

    • added the optional property error/code to the response with the 404 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 last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new bank_account_closed enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new bank_account_frozen enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new bank_account_holder_deceased enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new bank_account_not_found enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new bank_amount_error enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new bank_authorization_revoked enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new bank_declined enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new bank_details_invalid enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new bank_duplicate enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new bank_generic_decline enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new bank_insufficient_funds enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new bank_invalid_routing_number enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new bank_non_transaction_account enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new bank_not_authorized enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new bank_payment_stopped enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new bank_processing_error enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new bank_regulatory_blocked enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new blocked_by_cardholder enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new cannot_authorize enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new card_not_supported enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new card_type_not_supported enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new card_velocity_exceeded enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new closed_account enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new contact_issuer enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new currency_not_supported enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new duplicate_transaction enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new expired_card enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new generic_decline enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new high_risk enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new incorrect_pin enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new insufficient_funds enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new invalid_account enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new invalid_amount enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new invalid_card_holder_name enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new invalid_card_number enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new invalid_country enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new invalid_cvc enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new invalid_cvc_or_expiration enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new invalid_expiry enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new invalid_expiry_month enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new invalid_expiry_year enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new invalid_pin enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new invalid_transaction enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new invalid_zip enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new issuer_error enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new issuer_not_found enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new issuer_unavailable enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new lost_card enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new merchant_blacklist enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new no_accounts enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new pin_required enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new pin_required_as enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new pin_try_exceeded enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new processing_error enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new provider_declined enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new reenter_transaction enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new regulatory_blocked enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new restricted_card enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new sepa_disputed enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new sepa_generic_decline enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new sepa_invalid_iban enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new sepa_mandate_data_invalid enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new sepa_no_mandate enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new sepa_refused_by_customer enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new stolen_card enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new suspected_fraud enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new test_mode_decline enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new test_mode_test_card enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new three_d_secure_canceled enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new three_d_secure_card_not_enrolled enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new three_d_secure_failed enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new three_d_secure_fraud enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new three_d_secure_generic_error enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new three_d_secure_invalid_card_number enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new three_d_secure_rejected_by_bank enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new three_d_secure_reported_lost_or_stolen enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new three_d_secure_success enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new three_d_secure_timeout enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new three_d_secure_too_many_attempts enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new transaction_cancelled enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new transaction_not_allowed enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new transaction_not_permitted enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new transaction_stopped enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new try_again_later enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new undefined enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      response-property-enum-value-added

    • added the new withdrawal_count_limit_exceeded enum value to the last_payment_error/oneOf[PaymentLastPaymentError]/decline_code response property for the response status 200

      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

    • endpoint added

      endpoint-added

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