List Off Session Payments v2

Core Resources
Off Session Payments
List Off Session Payments

Returns a list of OffSessionPayments matching a filter.

Learn more about calling API v2 endpoints.

Parameters

  • limitinteger

    The page size limit. If not provided, the default is 20.

  • pagestring

    The pagination token.

Returns

Response attributes

  • dataarray of objects

    The list of OffSessionPayment objects.

    • data.idstring

      Unique identifier for the object.

    • data.objectstring, value is "v2.payments.off_session_payment"

      String representing the object’s type. Objects of the same type share the same value of the object field.

    • data.amount_requestedobject

      The “presentment amount” to be collected from the customer.

    • data.cadenceenum

      The frequency of the underlying payment.

      Possible enum values
      recurring

      Indicates a transaction occurring on a regular interval.

      unscheduled

      Indicates a transaction occurring at irregular periods.

    • data.compartment_idstring

      ID of the owning compartment.

    • data.createdtimestamp

      Creation time of the OffSessionPayment. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z.

    • data.customerstring

      ID of the Customer to which this OffSessionPayment belongs.

    • data.failure_reasonnullable enum

      The reason why the OffSessionPayment failed.

      Possible enum values
      authorization_expired

      The payment failed because the authorization expired.

      rejected_by_partner

      The payment failed because the payment partner returned a terminal failure.

      retries_exhausted

      The payment failed because we ran out of retry attempts.

    • data.last_authorization_attempt_errornullable string

      The payment error encountered in the previous attempt to authorize the payment.

    • data.latest_payment_attempt_recordnullable string

      Payment attempt record for the latest attempt, if one exists.

    • data.livemodeboolean

      Has the value true if the object exists in live mode or the value false if the object exists in test mode.

    • data.metadatamap

      Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Learn more about storing information in metadata.

    • data.on_behalf_ofnullable string

      The account (if any) for which the funds of the OffSessionPayment are intended.

    • data.payment_methodstring

      ID of the payment method used in this OffSessionPayment.

    • data.payment_recordnullable string

      Payment record associated with the OffSessionPayment.

    • data.payments_orchestrationobject

      Details about the payments orchestration configuration.

      • data.payments_orchestration.enabledboolean

        True when you want to enable payments orchestration for this off-session payment. False otherwise.

    • data.retry_detailsobject

      Details about the OffSessionPayment retries.

      • data.retry_details.attemptsinteger

        Number of authorization attempts so far.

      • data.retry_details.retry_policynullable string

        The pre-configured retry policy to use for the payment.

      • data.retry_details.retry_strategyenum

        Indicates the strategy for how you want Stripe to retry the payment.

        Possible enum values
        heuristic

        Indicates that you want Stripe to retry the payment automatically via pre-determined heuristics.

        none

        Indicates that you don’t want Stripe to retry the payment.

        scheduled

        Indicates that you want Stripe to retry the payment automatically on a fixed schedule.

        smart

        Indicates that you want Stripe to retry the payment automatically via ML predictions.

    • data.statement_descriptornullable string

      Text that appears on the customer’s statement as the statement descriptor for a non-card charge. This value overrides the account’s default statement descriptor. For information about requirements, including the 22-character limit, see the Statement Descriptor docs.

    • data.statement_descriptor_suffixnullable string

      Provides information about a card charge. Concatenated to the account’s statement descriptor prefix to form the complete statement descriptor that appears on the customer’s statement.

    • data.statusenum

      Status of this OffSessionPayment, one of pending, pending_retry, processing, failed, canceled, requires_capture, or succeeded.

      Possible enum values
      canceled

      The payment was manually canceled.

      failed

      The payment is terminally failed.

      pending

      Payment has not yet been attempted.

      pending_retry

      The payment failed a previous attempt and will be retried automatically.

      processing

      The payment is currently processing an authorization attempt. Any manual operations on it will be blocked.

      requires_capture

      The payment is awaiting capture.

      succeeded

      The payment has successfully moved money.

    • data.test_clocknullable string

      Test clock that can be used to advance the retry attempts in a sandbox.

    • data.transfer_datanullable object

      The data that automatically creates a Transfer after the payment finalizes. Learn more about the use case for connected accounts.

      • data.transfer_data.amountnullable integer

        The amount transferred to the destination account. This transfer will occur automatically after the payment succeeds. If no amount is specified, by default the entire payment amount is transferred to the destination account. The amount must be less than or equal to the amount_requested, and must be a positive integer representing how much to transfer in the smallest currency unit (e.g., 100 cents to charge $1.00).

      • data.transfer_data.destinationstring

        The account (if any) that the payment is attributed to for tax reporting, and where funds from the payment are transferred to after payment success.

  • next_page_urlnullable string

    URL to fetch the next page of the list. If there are no more pages, the value is null.

  • previous_page_urlnullable string

    URL to fetch the previous page of the list. If there are no previous pages, the value is null.

GET /v2/payments/off_session_payments
cURL
curl https://api.stripe.com/v2/payments/off_session_payments \
-H "Authorization: Bearer sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2" \
-H "Stripe-Version: 2026-01-28.preview"
Response
{
"data": [
{
"amount_requested": {
"value": 2000,
"currency": "usd"
},
"cadence": "recurring",
"compartment_id": "wksp_test_6OdsB30MSQB61rhH1uYqVKa",
"created": "2025-01-01T00:00:00.000Z",
"customer": "cus_SJjFsJvGPQKfH1",
"failure_reason": null,
"id": "osp_test_6pO5OrRN03IzV8rd3BaY",
"last_authorization_attempt_error": null,
"latest_payment_attempt_record": "par_test_65ScpVhNz9xBDZWOi8n41LUaWUrHDArR0K",
"livemode": false,
"metadata": {},
"object": "v2.payments.off_session_payment",
"on_behalf_of": null,
"payment_method": "pm_1RP6TAG7mvlzf7RNfspLoGQ9",
"payment_record": "pr_test_65ScpUdmQCOf291sX8n41LUaWUrHDArBhg",
"payments_orchestration": null,
"retry_details": {
"attempts": 1,
"retry_strategy": "smart"
},
"statement_descriptor": null,
"statement_descriptor_suffix": null,
"status": "succeeded",
"test_clock": null,
"transfer_data": null
}
],
"next_page_url": null,
"previous_page_url": null
}