Release notes

Keep track of changes and updates to the Commerce API.

V1 is the base version of the Commerce API. The following dates indicate when we released updates to this version.


  • We added the ability to remove a tax identifier from a cart.

  • We added the trigger to the offer object response. The possible values are:

    • Always Triggered–The offer is available to any shopper in your store. Shoppers simply have to meet the conditions you set up in the offer for the offer to be triggered and redeemed by shoppers.

    • User Triggered–To redeem an offer, the shopper must take additional actions such as click a link or enter a coupon code.

    You can set the trigger when you configure the offer type in Global Commerce.

  • We added the ability to add or remove the organization identifier (client_reference_id) to a cart for the TreviPay payment method.


We added the ability to set the renew reminders for trial subscriptions.



We added instructions on how to get the inventory for a specific product.


We added supportsStorage to indicate whether a payment method supports storage to Retrieving available payment methods.


We expanded the pay later options that are now available in the PayPal Wallet, including PayPal Pay in 4 for shoppers in Australia and France, as well as PayPal Pay in 3 and PayPal Credit for UK shoppers.


You can now use the Delayed Payment Instructions element to generate a template that contains the instructions that explain how to complete payment for delayed payment types such as Konbini and Wire Transfer.


You can now customize and control your subscription email notifications through events notifications and webhooks. This feature allows you to control your communications with your consumers, including integrating the capabilities of leading notification providers.


We added the ability to create a trial subscription for a subscription product and configure trial renewal reminders in Global Commerce.


We added support for Pay in 3 to the PayPal payment method.



  • We add test and use cases to help you when you're developing and testing the Commerce API and your commerce connector.

  • We updated the error codes that provide you with:

    • Additional credit card decline reason codes and metadata responses. You can then perform reporting and analytics to better understand why authorizations are declined so you can optimize your business.

    • Greater visibility into why a transaction failed, reducing the work you need to do to determine why the transaction failed.

    • Data points to determine when you should or shouldn't retry a renewal attempt. This feature categorized credit card decline reason codes into two categories: "soft" and "hard declines."


We added Site Management to the Commerce API Reference that includes the following resources:


You can now programmatically retrieve a list of your site's authorized billing or shipping countries using your Global Commerce user credentials.


We replaced Supported geographies for each payment method in DigitalRiver.js with Supported markets. To find information on supported markets and currencies for Drop-in and DigitalRiver.js, go to:



  • We added information on how to sell subscriptions with add-ons and manage subscriptions.

  • Digital River Clients now can extend a branded, fully managed line of credit program to their business buyers that is engineered to increase purchase frequency, average order values, brand loyalty, and cashflow, while mitigating risk. By offering TreviPay you cultivate a consumer-like purchase experience for buyers, so they can purchase what they need now and pay later with net terms – all online. Learn how you can offer TreviPay to your buyers!


You can now use thechargeType in a Cart without a subscription line item to initiating a charge.


We added the continue type to the list of button types for Drop-in and made it the default type in Customizing the text of the Drop-in button.



We updated the information on landed cost.


  • We improved the error format for transactional errors using a credit card saved in the payment source and added a declined message (declinedMessage) to provide more information.

  • We moved the description of API keys from the Commerce API Reference to Best practices.


You can now use the authenticateSource method to determine whether the saved payment source selected by a customer during the checkout process requires Strong Customer Authentication (SCA).



We added information on creating a cart with a perpetual unit price using POST /v1/shoppers/me/carts/active/line-items resource.


A note to Apply shopper to cart stating this method requires an authenticated shopper token.


We added the best practices for using the Commerce API that includes Authentication, Creating authenticated shopper tokens, Caching responses, Capturing the customer's IP address, and Elements.


You can now modify a subscription during a midterm change. That includes applying a midterm change with price override, assigning a perpetual price, or reducing the subscription quantity.


We updated the supported geographies for Klarna to show the minimum and maximum order amount and the payment method type.


We updated the examples and added information on how to create a merchant-initiated transaction (MIT) in Providing subscription information.


We added more custom styles for styling an element container in DigitalRiver.js.


We added error types to Error types, codes, and objects.


We added support for Pay in 4 to the PayPal payment method.



We added a list of error codes for DigitalRiver.js.


  • As part of the PSD2 Strong Customer Authentication (SCA) initiative, payment processors require extra information when processing merchant-initiated credit card transactions. To ensure that you adhere to the new mandate, you can now make use of billing agreements.

  • You can now update subscription information in the LineItem array to the POST/carts, POST /line-items, or POST /line-items/{lineItemsId} requests.


You can now subscribe to receive the latest Commerce API information.


You can now apply a shipping discount to a customer's order



We added information on the tax identifier element to DigitalRiver.js.


We added support for Union Pay to Credit Cards.



We added support for the Korea – PayCo payment methods.


We added support for the Klarna payment method.


We updated the Drop-in documentation.



We updated the API error codes.


We now provide a list of IP addresses we use to send Webhook notifications. You'll need to open your firewall to these IP addresses.



  • The initial value for termsOfSaleAcceptance is now null if tosAccepted is null in the database.

  • We now provide a breakdown of the tax fee at the line-item level for Carts, Orders, and Submit Cart.

  • Changed the lineItem under DefaultCart to an array.

  • Changedfee to feeTax under lineItem.pricing.

  • Added the feePricing object under ExpandedLineItem.

  • Added the LineItemFeePricing schema for feePricing under ExpandedLineItem.


  • Added phonetic fields to the billing and shipping addresses.

  • Added the following schemas:

    • PostShopperAddressRequest for the request body of the shopper's address

    • BillingAddress for the response body of the billing address

    • ShippingAddress for the response body of the billing address

  • Updated the response for PUT billing and shipping address to 204 No Content.

  • Added phonetic fields to the following schemas: DefaultAddress and ExpandedAddress.