Skip to content
Log in

Upgrade guide — v20 to v21 — Subscriptions and vouchers

On this page

Skip this section if you do not use StoreConnect subscriptions or vouchers.

The guide assumes you are on the latest v20 website release. Changes that already shipped in v20 patch releases are not repeated here.

Salesforce package changes

Review: Payment Method field on Subscription

Payment_Method_Id__c is a lookup to Payment_Method__c on Subscription__c. It is an alternative to the existing Payment_Token__c field, which stores the gateway token as plain text directly on the subscription record.

When Payment_Method_Id__c is populated, renewals use the token stored on the linked Payment_Method__c record instead of Payment_Token__c. The token can then be updated on the Payment_Method__c record without modifying the subscription itself, which is what enables features such as eWay 3DS token rotation.

Payment_Method_Id__c is populated at subscription creation when the gateway supports saving a payment method as a dedicated record. Subscriptions created through gateways that do not support this continue to use Payment_Token__c and leave Payment_Method_Id__c blank.

Review whether Payment_Method_Id__c should be added to your Subscription page layouts. See Subscription Object Reference.

Review: Plan Change Mode and the Subscription Change object

Subscription_Plan_Change_Mode__c (label: Plan Change Mode) is a new field on Product2 that controls how proration is handled when a customer changes subscription plan:

  • Prorate Immediately (default): charges the pro-rata difference at the time of the plan change
  • Prorate on Renewal: adds the pro-rata difference to the next invoice
  • No Proration: charges the full new price at the next renewal with no mid-cycle adjustment

Each plan change is recorded in a new Subscription_Change__c object with the old and new product, pricing, proration, and the mode used. It is included in the Administrator and Sync permission sets.

Review whether Plan Change Mode should be added to your Product page layouts and whether any subscription products should use a non-default mode. See Subscription Change Object Reference.

Review: Validation and processing fields on Subscription

New field Purpose
Validation_Status__c Whether the subscription has passed the checks needed to process a payment
Validation_Error_Messages__c Any validation errors found
Last_Validation_At__c When the subscription was last validated
Last_Processed_At__c When StoreConnect last processed the subscription
Delinquent_Order_Id__c The most recent failed order that needs a retry

These fields are populated automatically. Review your subscription reports and list views to decide whether they should show validation status, and whether a manual process for finding failed renewals can now use Delinquent_Order_Id__c. See Manage delinquent subscription payments.

Action required: Voucher Log field changes

Two fields on Voucher_Log__c have been renamed or replaced. Both old fields remain temporarily but must be migrated before they are removed in a future release.

Old field New field Notes
Event_Result__c Success__c Replaced by a boolean field
Reason_Code__c Reason__c Renamed to a picklist field

Before changing anything, confirm the old fields are not used for purposes outside StoreConnect, such as custom reporting.

  1. Salesforce reports and list views. Search for any reports filtered or grouped on Voucher Log: Event Result or Voucher Log: Reason Code and update them using the replacements in the table above.
  2. Flows and Process Builder. Search for any automations that read or write Event_Result__c or Reason_Code__c on Voucher_Log__c records and update the field references.
  3. Apex or API integrations. Update any code querying or updating these fields by API name.
  4. Liquid templates. If your theme references voucher log fields, update them to success and reason.

See Voucher Log Object Reference.

Review: New fields on Voucher

New field Purpose
Status__c Whether the voucher is waiting to be activated, available, canceled, or temporarily locked
Activate_Before_Datetime__c A deadline by which the voucher must be activated. A voucher not activated by then cannot be redeemed
Activated_At__c, Activation_Code__c When the voucher was activated, and the code required to activate it
Pin__c A PIN required at redemption
Asset_Id__c The asset backing a physical voucher
Email_Fields__c The generated values included on the voucher email

Review whether these fields should be added to your Voucher page layouts, and whether existing vouchers should have an activation deadline or a PIN. See Voucher Object Reference.

Review: Voucher products create vouchers when sold

When a voucher product is sold, StoreConnect creates and activates the Voucher__c record automatically. Voucher_Requires__c on Product sets what the purchased voucher requires at activation, and Voucher_Uses_Assets__c makes the vouchers for that product asset-backed. If you created vouchers by hand or with a Flow after a sale, assess whether that process is still needed. See Create voucher products.

Behavior changes

Review: Renewal orders and failed payments

  • Renewal order items are created from the catalog lines only, so a renewal that involves a card surcharge keeps its subscription line.
  • A renewal order that was already populated by hand or by automation is not populated again at charge time.
  • Recording a payment against a renewal order in Salesforce renews the existing subscription instead of creating duplicates.
  • Delinquent subscription retries resume after a failed payment instead of leaving the subscription stuck.
  • Customers with a failed or past-due renewal can pay the outstanding amount from a Pay Owing page in their account area, and the Order record page shows a related list of the order’s subscriptions.

If you have Flows that populate renewal orders, confirm after upgrading that a renewal produces one subscription line and one subscription.

Review: Subscriptions through wallets and the Authorize.Net ACH switch

Subscription products can be purchased with Apple Pay, Google Pay, and other wallet providers, and through express checkout. A customer switching an Authorize.Net subscription to ACH now has the bank account added to their existing Authorize.Net profile, so renewals charge the bank account. See Authorize.Net ACH payment provider.

Review: eWay 3DS subscription token rotation

eWay v2 subscription payments support 3DS token rotation, which updates the stored payment token for a subscription as part of the 3DS authentication flow. If you use eWay v2 for subscription billing, test your subscription renewal flow after upgrading to confirm tokens are being handled correctly. See eWay Payment Provider.

Review: Voucher audit logging

StoreConnect records every voucher redemption and state change in Voucher_Log__c, capturing the event, whether it succeeded, and the reason. It requires no configuration. If you have custom processes for tracking voucher changes, review whether they are still needed. See Managing and spending vouchers.

Was this article helpful?

Was this article helpful?