Subscription overview
Get in touch
Sign in
Subscription overview
Explore Solidgate subscriptions for seamless recurring customer payments

Solidgate subscription feature connects customers to your product, defines recurring payment frequency, and outlines what they have signed up for.

Solidgate subscription logs are stored for 30 days.

In the initial stages of working with the Solidgate subscription system, merchants must manually create a product and its associated price following the subscription rules in the Solidgate HUB . This process is detailed in the Guide
Explore how to establish subscription products, handle customer data, process payments, and use the smart retry feature.
product and price management
section. After creating the product, it gets a unique product_id . The unique identifier should be passed to initialize the subscription payment via one of the Solidgate’s Guide
Solidgate Payment Page, Payment Link, and Payment Form offer flexibility to cater to different integration needs for seamless checkout experiences.
checkout solutions
, Card API , and APM API payments.

Please note that among the APMs, only Guide
PayPal is a global online payment system that enables users to securely send and receive money for goods and services.
PayPal
, Guide
Mercado Pago is a popular online payment platform in Latin America, supporting various payment methods like credit/debit cards, cash payments, and bank transfers.
Mercado Pago
, Guide
UPI is a real-time, single-window mobile payment system created by the National Payments Corporation of India that is used to instantly transfer funds between two bank accounts.
UPI
, and Guide
Cash App is a popular app in the US that allows customers to bank, invest, send, and receive money using their digital wallet.
Cash App
currently support subscription payments.

Subscription process

To initiate a subscription for a customer, merchants follow a streamlined process that involves product creation, payment processing, and subscription initialization.

  1. The merchant creates a product and receives a product_id .
  2. The merchant passes the product_id in the request. To create a subscription, include customer_account_id , a required parameter for subscription initialization.
    • via one of the Guide
      Solidgate Payment Page, Payment Link, and Payment Form offer flexibility to cater to different integration needs for seamless checkout experiences.
      checkout solutions
    • via Card API or APM API
  3. Solidgate obtains the price and payment configurations from the product configuration and sends the payment for processing.
  4. After successful payment processing and subscription creation, the merchant receives the subscription_id and a notification regarding the subscription creation, which can be also viewed in the Guide
    Effortlessly receive automatic notifications by subscribing to updates.
    events
    section.

The merchant can use the subscription_id to perform further operations on the subscription, such as changing the product, cancelling, or resuming the subscription. The subscription_id also serves as a key to locating the specific subscription in the HUB.

Our system restricts the creation of multiple active subscriptions for the same customer_account_id and product_id within a channel. To prevent double charging, Solidgate disallows duplicate subscriptions by declining these attempts with a Guide
This error indicates that the user already has a subscription to the product_id.
2.14 Subscription error
, ensuring a single subscription per product.

Subscription with free trial

Merchants may choose to offer customers a trial period for their products at no cost at all. To facilitate free trials, they can use zero-amount authorization or the auth-void process. Understanding the nuances of these approaches helps manage customer expectations and ensure a smooth start to the trial period.

Zero-amount charges can be initiated for charge API , Apple Pay API , or Google Pay API payment requests. This approach to charging customers does not work with recurring tokens through the Recurring API endpoint that allows tokenized payments.

Please be aware that if the transaction for recurring tokens is attempted to be processed as a zero-amount payment, it will be automatically switched to the auth-void flow.

The payment is processed as a one-step payment, where merchants can verify a customer’s payment method without charging any funds.

As a result of this process:

  1. The payment request is configured on the merchant side and sent with the amount field set to 0 and the type field to the auth value.
  2. Merchants receive confirmation about the authorization.
  3. If the zero-amount payment is successful, the final Guide
    An order is a request to purchase goods or services. It is created by a customer as a record of what they want to buy. Orders can remain in the created state until a payment is attempted. Once a payment is attempted, the order moves to the processing state, where it stays until the payment is captured. Orders can also go through various other states, such as 3ds_verify , approved , declined , refunded , etc.
    order status
    displays the auth_ok value. Otherwise, the final order status shows the auth_failed value.
When choosing the auth-void process, specify product_id associated with a trial product setting, which applies to Apple Pay API , Google Pay API , or Recurring API payment requests. In such cases, Solidgate’s subscription service processes a trial payment by executing two transactions of the auth-void process:

  1. Authorization of $1: This is a temporary hold to verify the payment method.
  2. Automatic voiding: Once authorized, this $1 payment is immediately voided, and the amount is returned to the customer.

As a result of this process:

  1. The amount value is replaced with 1 and the currency value is set to USD.
  2. Merchants receive confirmation about both the authorization and void transactions.
    If a void transaction is not successful, Solidgate automatically retries it.
  3. The final Guide
    An order is a request to purchase goods or services. It is created by a customer as a record of what they want to buy. Orders can remain in the created state until a payment is attempted. Once a payment is attempted, the order moves to the processing state, where it stays until the payment is captured. Orders can also go through various other states, such as 3ds_verify , approved , declined , refunded , etc.
    order status
    is set to void_ok.

These approaches help merchants offer trial periods effectively, providing a positive experience for customers and ensuring the merchant can verify payment methods without charging the customer upfront.


Subscription statuses

Status Description
pending Subscription is awaiting confirmation of successful payment. Depending on whether the initial payment is approved or declined, the pending subscription will transition to either an active or expired status.
active Payment is successful, the subscription is active, and the customer is billed according to its set interval.
paused Billing for the subscription is halted during the specified pause period or until manual reactivation.
cancelled Subscription is cancelled, and the user is unsubscribed.
redemption For subscription products with retry strategies applied, if a recurring payment is declined due to a certain error code, the subscription enters a redemption period.
If all retries fail, the subscription is cancelled. However, if any of the attempts on the retry are successful, the subscription status changes to active.
expired Subscription is inactive due to payment failure or lack of gateway response within the expected timeframe.

A pending subscription signifies awaiting confirmation of a successful initial payment. Depending on whether the initial payment is approved or declined, the subscription transitions to either an active or expired status.

An expired status means the initial payment for a pending subscription has failed. Subscriptions can also move from pending to expired if Solidgate receives no response from the gateways within a defined timeout to determine if the order is successful or failed.

An active subscription indicates that the customer continues to pay for the product on a recurring basis.

For subscription products with retry strategies, if a recurring payment is declined due to a specific error code, the subscription enters a redemption period. During this period, retry attempts are made to collect the invoice. If all retry attempts fail or the customer unsubscribes from the product or service, the subscription status changes to cancelled. However, if any retry attempt succeeds and the customer keeps the subscription, its status changes to active.

If a subscription is paused, billing is halted during the specified pause period or until manual reactivation. This means no charges will be applied to the customer until the pause period ends or the subscription is manually reactivated.

To start using the new pending and expired statuses, contact us.
Please note that the new statuses are activated at the account level, not per individual channel. Additionally, if you activate the new statuses without subscribing to the extended Subscription updates event, you will not receive webhooks related to these statuses. However, once the new statuses are activated, you will still see the updated subscription statuses in the HUB and responses.

After performing a subscription status API request, you receive information about the last invoice for the subscription and the order status ID. This information can later be used to verify the external order ID in the Solidgate HUB .


Payment attempt limit

There is a specific limit on the number of payment attempts that can be in a processing state for a single subscription. The purpose of the payment attempt limit is to give customers more flexibility when signing up for a subscription and ensure effective subscription management.

When customers sign up for a subscription with the same customer_account_id and product_id combination, they can have up to three payment attempts in the processing state at once, which means they can try up to three payment methods for the first charge. For example, if a customer’s preferred payment method is temporarily unavailable, they can easily try an alternative without being limited to a single attempt.

This approach ensures:

  • Better conversion rates for the initial payment while keeping the number of pending charges manageable.
  • Prevention of unnecessary pending charges and potential chargebacks. If one payment attempt is stuck in processing while another is successfully completed, the stuck payment attempt is automatically refunded.
  • Handling of duplicate charges, such as due to delayed order processing. Any extra payment is identified and refunded, which mitigates the probability of chargebacks and confirms only one successful charge per subscription sign-up.

Enforcing this limit enhances the overall subscription experience and reduces potential payment issues for both customers and businesses.


Looking for help? Contact us
Stay informed with Changelog