Skip to main content
The Subscription Management API allows you to place, retrieve, and update stop orders against a series of recurring transactions associated with specific merchants. Stop orders prevent future recurring debit transactions from being authorized for a given card, but do not stop force-posted clearing transactions. Subscription management is network agnostic.

Prerequisites

Enable the subscription management feature

Before using the Subscription Management API, ensure that you perform the following actions:
  • Connect with your Marqeta representative to enable the subscription management feature for your program.
  • Confirm that a card exists that is in an ACTIVE, SUSPENDED, or LIMITED state.
Note Cards in a TERMINATED state or cards that have reached their expiration date cannot have stop orders placed against them.

About merchant ID continuity

In order to effectively block future recurring transactions for a specific merchant, the merchant ID must match the value in the merchant_id field in the original Create a stop order response. Merchant IDs are not static and can change if, for example, a merchant starts using a different acquirer or changes the location of their business. As Marqeta does not generate or assign the values for merchant IDs, changes to merchant ID values are not within Marqeta’s control.

Available operations

Stop order declines

After placing a stop order on a recurring transaction for a specific merchant, Marqeta will automatically decline any subsequent occurrences of that transaction with the response code 1949 (Decline recurring transaction by cardholder) during the authorization process. This decline reason code is mapped to card networks with the following values: When Marqeta declines a transaction with response code 1949, the declined transaction includes a stop_order_token field that identifies which stop order caused the decline. For more information, see Transactions.
Note If you are a JIT Gateway program, you can choose to perform authorization decisioning internally and decline JIT requests with the REVOCATION_AUTHORIZATION_ORDER reason code. Marqeta will then translate this reason code to the associated card network decline reason code and send it to the card network.

Stop order statuses

Status lifecycle

When you create a stop order, its default status is ACTIVE. After creation, you can transition the stop order to CANCELLED via the Update stop order endpoint. If you do not cancel the stop order, it automatically transitions to EXPIRED when the expiry_time is reached.
Note Only orders in an ACTIVE state transition to an EXPIRED state when the expiry date is reached.Canceled orders remain in CANCELLED state when the expiry date is reached.