Package v20.21 - 09 April 2026
On this page
This release brings together payment handling improvements and new subscription management capabilities. Merchants can now control how payments are captured on a per-product basis, and a new Payment Method object provides a structured way to store saved card and bank account details. A new Subscription Change object records each plan upgrade or downgrade as an auditable record, with a new Plan Change Mode field on products controlling how proration is handled. Three new fields on Payment records also resolve a refund processing failure.
Breaking changes and cautions
No breaking changes in this release.
Enhancements
Per-product payment capture type [PKG-8000] A new Payment Capture Type field is now available on Product records, in the Subscription Information section. This picklist lets you control how payments are handled for that product: - Charge immediately — the payment is charged at the time of purchase. - Preauthorize only — the payment is pre-authorized but not captured immediately. - Save payment method only — the payment method is stored for future use without charging.
This gives merchants precise control over payment behavior at the product level, particularly for subscription and deferred billing scenarios.
Subscription Plan Change Mode on products [PKG-8000] A new Plan Change Mode field is available on Product records (Subscription Information section). This picklist controls how billing is handled when a customer upgrades or downgrades a subscription to that product: - Prorate Immediately (default) — the pro-rata difference is charged or credited straight away. - Prorate on Renewal — the adjustment is applied to the next invoice rather than immediately. - No Proration — the full new price applies from the next renewal with no mid-cycle adjustment.
Subscription Change object [PKG-8000] A new Subscription Change object records each subscription plan change — upgrade or downgrade — as a separate auditable record linked to the subscription. Fields captured on each change include: direction (upgrade or downgrade), effective date, old and new product, old and new price, proration amount, plan change mode used, and the associated order. Subscription Change records are reportable and appear in a related list on the Subscription record, giving administrators a full history of plan changes for each subscriber. Subscription Changes also have their own tab in Salesforce.
Payment Method object [PKG-8000] A new Payment Method object has been added to store saved payment method details against a contact. This enables saved card, direct debit, and wallet workflows for subscriptions and returning customers. Payment Method records are linked to a Contact and Payment Provider, and include fields for: - Card details: Card Brand, Last Four digits, Expiry Month, Expiry Year, BIN, Fingerprint, Funding Type - Bank details: Bank Name, Bank Identifier, Bank Identifier Type, Account Type, Account Holder Type, Mandate Reference - Wallet: Wallet Type - General: Token, Type, Status, Nickname, Billing Name, Billing Email, Country, Is Default, Active, Last Used At, Verified At
Payments can optionally link to a saved Payment Method record via a new Payment Method field on the Payment object. Payment Method has its own tab in Salesforce for direct access.
Deprecated fields
No fields have been formally deprecated in this release.
Fixed bugs
Refund processing failure for Latitude payments [PKG-8077] Latitude payment refunds were failing with an error because three fields required by StoreConnect for refund processing were missing from the Payment object in the package. Without these fields, the relationship between a refund and its original payment could not be established, causing the refund to fail. The following fields have been added to the Payment object: - Linked Payment — a self-lookup field that links a refund payment record to the original payment it is refunding. - Reason — a text field to record the reason for the refund. - Salesforce User ID — records which user initiated the refund.
These fields also appear on the Payment record layout in a Refund Payments section, with a related list of refund records.