Subscription processing, payments and renewals
On this page
The subscription payment daily processing job
Subscription renewals are processed according to the configuration of the subscription product (explained in the Subscription products), in conjunction with the conditions detected when the daily processing job runs.
The job picks up all the subscription actions to be carried out, when all these conditions are met:
- Process Subscription is True
- Next Billing Date is today or in the past
- Start Date is today or in the past
- End Date is blank or in the future
- Cancelled Date is blank or in the future
- Suspended Date is blank or in the future
A subscription is not processed if any of these conditions are met:
- Process Subscription is False
- Next Billing Date is in the future
- Start Date is in the future
- End Date is in the past
- Cancelled Date is in the past
- Suspended Date is in the past
- One-time subscription is fully paid
Subscription updates after daily processing job
Unless a payment fails, when a subscription is processed, the Next Renewal Date and Next Billing dates are updated to the next term. If a payment fails, the subscriptions payment is considered delinquent.
An order is created if the Renewal Order Days falls on current day, then the renewal dates for this subscription are updated. See Subscription renewal orders for full details on how renewal orders are created and managed.
Job date changes for monthly subscription payments
For monthly payments, if a billing date is 31st and the following month there are only 30 days, the billing date will move to the 30th from that point on. When it gets to February, the billing date will become 28th (29th on a leap year) and will continue as the 28th of the month moving forward.
Default options for payment processing
- The Process Subscription option is switched on automatically at the time the Subscription is created. This field determines if the subscription is to be processed on the Next Billing Date or not.
- The Charge Payments option activates according to the product’s subscription behavior at the time the subscription was created. This field determines if the subscription is to debit funds from the customers credit card on the Next Billing Date or not.
Subscription term price
The Term Price is the price for the subscription, and is set automatically when a subscription product is purchased. Changing the Term Price will change the amount the customer is charged when the subscription is next processed. The term price (whatever it is set at) is the amount charged each time the subscription process runs.
The subscription is always charged in the same currency it is first set up with.
Subscription payment origin
StoreConnect sets an Origin field (s_c__origin__c) on every Payment record to identify how and where the payment was created. This is useful for building Flows and automations that behave differently depending on the payment source — for example, triggering logic only when a renewal charge has been initiated by StoreConnect’s subscription job.
For the full list of origin codes, see Payment origin codes.
Subscription payment token
StoreConnect stores a payment token on every subscription that is set up for automatic charging. This token is a reference to the customer’s saved payment profile on the payment gateway (for example, a customer profile ID in Authorize.Net, a TokenCustomerID in eWay, or a payment method ID in Stripe). It allows StoreConnect to charge the customer’s card on future renewal dates without requiring them to re-enter their payment details.
When the token is added
The token is set the first time a subscription is associated with a successful payment:
| Scenario | Payment origin | Notes |
|---|---|---|
| Customer purchases a subscription at checkout | WS01 — Website Subscription | The gateway returns the token as part of the payment response; it is stored on the subscription immediately |
| A Salesforce-initiated payment is processed against an order that has subscription items | SF01 — Salesforce Payment | The subscription record may already exist in Salesforce without payment source details; StoreConnect backfills the token (and payment provider) from the payment response when they are missing |
When the token is swapped
The token is replaced when a customer updates their payment method:
- Customer updates payment details — when a customer submits new card details via the Update Payment Details page in their account, the gateway processes the update and returns a new token, which replaces the existing one on the subscription
- 3D Secure callback — if the payment update requires 3DS authentication, the token is rotated to the new value once the authentication callback completes successfully
When the token is not updated
The token is not changed during regular subscription processing. Recurring charges (SU01 — Automatic Subscription Payment Evergreen, SU02 — Automatic Subscription Payment Fixed-term), renewals, delinquent payment retries, cancellations, and expirations all reuse the existing token without modification.
Shared tokens across multiple subscriptions
If a customer has more than one active subscription, all subscriptions share the same gateway customer profile. Updating the payment method on one subscription effectively updates the saved payment method for all of that customer’s subscriptions.
Troubleshoot subscriptions and renewals
| Issue | Solution |
|---|---|
| Customer not charged on renewal date | Check subscription status (active/paused). Verify payment method on file. Manually trigger charge if confirmed. |
| Duplicate renewal charge | Issue refund (see Issuing Refunds section). Update next billing date to prevent duplicate. |
| Payment declined | Contact customer, request updated payment method. Manually retry charge once updated. |
| Customer wants to cancel after renewal | Process refund first, then cancel subscription separately. |
| Prorated charge needed | Use Manual Charge with custom amount. Document reason in notes. |
Was this article helpful?
Thanks for your feedback! It helps us improve our docs.