# 2023

## 2023/12/11

We have introduced new features in Global Commerce that allow you to manage product combinations in the cart more efficiently. With the latest update, you can [create a single product by combining multiple sellable SKUs (components)](/commerce-api/general-resources/global-commerce/products/product-combination/creating-a-product-combination.md) and setting the price and configuration of the bundled products per your pricing or product combination strategies.&#x20;

In addition, we have added the ability to [handle the cancellation and return of all components of a product combination together](/commerce-api/general-resources/global-commerce/products/product-combination/creating-a-product-combination.md#step-2-determine-how-to-cancel-return-a-product-combination). When enabled, this feature will cancel unfulfilled items while setting fulfilled ones for return, making it easier to manage returns and cancellations.

Furthermore, you can set a [Cart Item Limit](https://help.digitalriver.com/help/gc/Administration/Site/Configuring-site-settings.htm#CartItemLimit) for a Commerce API environment while [configuring Global Commerce site settings](https://help.digitalriver.com/help/gc/Administration/Site/Configuring-site-settings.htm). This setting restricts the number of items per cart, ensuring an optimal order size and improving processing performance.

You can now access your combined product and component details directly from the API payloads. This empowers you to use Commerce APIs to adjust your Product Detail Page, Cart Page, and Return/Refund pages. Some of the supported APIs include, but are not limited to:

* [`GET /v1/shoppers/me/products/{productId}`](https://docs.digitalriver.com/commerce-api-references/shopper-apis/browse-product-discovery/products#v1-shoppers-me-products-productid)
* [`GET /v1/shoppers/me/carts/active`](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/carts#v1-shoppers-me-carts-active)
* [`POST /v1/shoppers/me/carts/active`](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/carts#v1-shoppers-me-carts-active-1)
* [`GET /v1/shoppers/me/carts/active/line-items/{lineItemId}`](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/line-items#v1-shoppers-me-carts-active-line-items-lineitemsid)
* [`POST /v1/shoppers/me/carts/active/line-items/{lineItemId}`](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/line-items#v1-shoppers-me-carts-active-line-items-lineitemsid-1)
* [`GET /v1/shoppers/me/orders/{orderId}`](https://docs.digitalriver.com/commerce-api-references/shopper-apis/orders/orders#v1-shoppers-me-orders-orderid)
* [`POST /v1/shoppers/me/orders/{orderId}/returns`](https://docs.digitalriver.com/commerce-api-references/shopper-apis/orders/returns#v1-shoppers-me-orders-orderid-returns-1)
* [`POST /orders/{orderId}/refunds`](https://docs.digitalriver.com/commerce-api-references/admin-apis/order-management/refunds#orders-orderid-refunds-1)

The Commerce API [Webhook Service](/commerce-api/events/webhooks.md) is now easier to use. Previously, you could only authenticate the endpoint via OAuth using API configuration. However, now you can [manage OAuth authentication](/commerce-api/events/webhooks/creating-a-webhook.md#step-2-create-webhooks) effortlessly through Global Commerce!

## 2023/11/13

We added [support for recurring payments](/commerce-api/payments/supported-payment-methods.md) to [Apple Pay](/commerce-api/payments/supported-payment-methods/apple-pay.md).

## 2023/10/5

* We added a `tax_service_invalid_hsCode_warning` to Warnings to let you know when your provided HS code is incorrect when creating a product.
* Digital River implemented a new feature that enhances tax calculation for certain US states by [adding ZIP Codes and geocodes support](/commerce-api/shopper-apis/cart/creating-or-updating-a-cart/providing-address-information.md#us-zip-code-and-geocode). This feature addresses the specific tax calculation needs of regions that rely on geocodes and ZIP Codes. This enhancement will significantly improve tax calculation accuracy for users in regions where both ZIP Codes and geocodes are essential. This feature is available automatically; there is no need to enable anything. We also added the [invalid-postal-code](https://docs.digitalriver.com/commerce-api-references/warnings-and-error-codes/error-codes/error-codes-for-shopper-apis/409-conflict#invalid-postal-code) to the list of [409 Conflict](https://docs.digitalriver.com/commerce-api-references/warnings-and-error-codes/error-codes/error-codes-for-shopper-apis/409-conflict) codes.

## 2023/10/3

We added support for tax-inclusive [landed costs](/commerce-api/shopper-apis/cart/pricing/landed-costs.md) with a [pretty price](/commerce-api/shopper-apis/cart/pricing/landed-costs/tax-included-pretty-price.md). The tax-inclusive landed cost enhancement ensures that the prices specified by the client for the product price and shipping cost become the final prices for the order. Tax-inclusive landed cost includes the following enhancements:

* Users can now [set the product price](/commerce-api/shopper-apis/cart/pricing/landed-costs/tax-included-pretty-price.md#creating-a-price-list-with-a-pretty-price) and [shipping cost as tax-inclusive](/commerce-api/shopper-apis/cart/pricing/landed-costs/tax-included-pretty-price.md#setting-the-shipping-cost-to-tax-inclusive) in [Global Commerce](https://gc.digitalriver.com/gc/ent/login.do).
* Users can see the landed cost for the shipping charge in the payload.

## 2023/9/28

We added examples for [creating a Digital River-hosted and client-hosted shopper](/commerce-api/shopper-apis/shopper-basics/common-use-cases/creating-a-customer.md#creating-a-shopper) and [initiating an authenticated session for a Digital River-hosted and client-hosted shopper](/commerce-api/shopper-apis/oauth/tokens.md#initiating-an-authenticated-session-returning-shopper-or-login-shopper).

## 2023/8/31

* Digital River has recently added [CCAvenue ](/commerce-api/payments/supported-payment-methods/ccavenue.md)to its payment method options. CCAvenue is a payment processing option for Digital River clients with an Indian bank account. This auto-settle payment method offers various local payment options in India, such as Credit Cards, Wallet, Net Banking, and UPI.
* We added [Testing the CCAvenue p](/commerce-api/payments/testing-scenarios.md#testing-the-ccavenue-payment-method)ayment method to [Payment testing scenarios](/commerce-api/payments/testing-scenarios.md).
* We also added the Payment required columns to the [Supported payment methods](/commerce-api/payments/supported-payment-methods.md) table.

## 2023/8/24

In Commerce API, we added.

* [Payment flow descriptions](/commerce-api/payments/building-your-workflows/flows-by-payment-type.md) to ensure a smooth payment process for each payment type. These payment flows follow Digital River's recommended best practices.
* An Addendum required column to the [Supported payment methods](/commerce-api/payments/supported-payment-methods.md) table.

## 2023/8/23

We updated the shopper token information for the OAuth [Token](https://docs.digitalriver.com/commerce-api-references/shopper-apis/oauth/tokens) in the [Shopper APIs reference](https://docs.digitalriver.com/commerce-api-references/shopper-apis/).

## 2023/8/22

We added the following reasons to the [validation-error](https://docs.digitalriver.com/commerce-api-references/warnings-and-error-codes/error-codes/error-codes-for-shopper-apis/400-bad-request#validation-error) in [400 Bad Request](https://docs.digitalriver.com/commerce-api-references/warnings-and-error-codes/error-codes/error-codes-for-shopper-apis/400-bad-request).

* The total product quantity for the current subscription plan and midterm change exceeds the product quantity restriction.

## 2023/5/22

We have included a guide on how to [handle bulk product uploads asynchronously](/commerce-api/admin-apis/product-management/bulk-operation/asynchronous-bulk-operations.md).

## 2023/5/12

We are excited to announce our new feature, Product Combination Supporting Subscriptions for [Global Commerce](https://gc.digitalriver.com/gc/ent/login.do). This feature allows you to include subscription products in a product combination and adjust the price to match your pricing or product combination strategies. [Combining multiple SKUs from different product lines into a single product combination](https://help.digitalriver.com/help/gc/Products/Products/Creating-product-combinations-with-components.htm#top) allows you to recognize revenue for each product line based on the component price. This feature also helps you address compliance concerns and minimize revenue loss from customers trying to break bundle offers and purchase products at a reduced price.

## 2023/5/10

With our [mixed cart](/commerce-api/shopper-apis/cart/pricing/landed-costs/mixed-cart-support.md) feature, a shopper can create a cart that includes physical and digital products. Our feature uses the landed cost solution to calculate the total cost of your purchase, which is only determined once all items in the cart are deemed eligible. If you need help enabling landed cost and pretty price, don't hesitate to contact your Customer Success Manager for assistance.

## 2023/4/5

* We enabled GitBook AI, a semantic search tool, on the Documentation Portal.&#x20;

  \
  To find GitBook AI, click the **Search** bar in the upper right corner.&#x20;

  <div align="left"><figure><img src="/files/sQxjtOlvOdHzQyMzCTZ7" alt=""><figcaption></figcaption></figure></div>

  Type your question in the **Ask or search** field and click **Ask "{{Search content}} using GitBook AI**. You can ask GitBook AI anything regarding Digital River features. It will give you plain English answers in seconds. For example, you can ask for an overview of a feature, and GitBook AI will return a quick and concise answer.\
  \
  **Note**: While semantic search can provide robust answers, sometimes the answers may be wrong. If you think the answer is incorrect, use the regular search to locate information."

  <div align="left"><figure><img src="/files/MmYc0KMFl9Hz7haRojqS" alt=""><figcaption></figcaption></figure></div>

  Additionally, GitBook AI will provide follow-up questions that you might be interested in.&#x20;

  <div align="left"><figure><img src="/files/ysT7zjF8jAdkg90n4ozZ" alt=""><figcaption></figcaption></figure></div>

  You can also see where GitBook AI found the information and click to read more.

  <div align="left"><figure><img src="/files/ajg39ITEPaE2IoXEv9YS" alt=""><figcaption></figcaption></figure></div>

  You can ask for a code snippet for an API.

  <div align="left"><figure><img src="/files/omDUJ8PM1yWBG7PT5lny" alt=""><figcaption></figcaption></figure></div>

  You can ask for the steps to perform a specific task.

  <div align="left"><figure><img src="/files/fmTAkvuHL8ni5JIymHD9" alt=""><figcaption></figcaption></figure></div>
* We added Box Shadow as an [available custom style](/commerce-api/resources/reference/elements.md#available-custom-styles) when configuring [custom styles](/commerce-api/resources/reference/elements.md#custom-styles) for [DigitalRiver.js with Elements](/commerce-api/payments/payments-solutions/digitalriver.js.md).

## 2023/3/29

* We made the following enhancements to the Admin APIs service:

  * We added [Order Management](https://docs.digitalriver.com/commerce-api-references/admin-apis/order-management/refunds) to the Admin APIs. This API lets you fetch the complete information for anonymous and authenticated orders with an admin token.&#x20;
  * We added the [Retrieve Invoice API](https://docs.digitalriver.com/commerce-api-references/admin-apis/order-management/retrieve-an-invoice-synchronous-api) to the Admin APIs. This API allows you to download invoices for both anonymous and authenticated orders with an admin token. Users can subscribe to the `order.invoice.created` event to receive a notification when an invoice is ready for download.

  To start using the new Admin API services, ask your Digital River representatives to add the service to your key. \
  \
  To receive notifications from the webhook service, enable the webhook service on your site. Contact your Digital River representatives for assistance with the service enablement and configure all self-service webhooks through [Global Commerce](https://gc.digitalriver.com/gc/ent/login.do).
* We replaced the Commerce API reference with a Commerce API suite that includes the following API references:&#x20;
  * [Shopper APIs reference](https://docs.digitalriver.com/commerce-api-references/shopper-apis/): This API reference provides the resources for an end-to-end eCommerce experience used when our Global Commerce platform is the system of record. The Shopper APIs allow clients to build a storefront, create shopper workflows, operate their store, and display products. For more information, see [Shopper APIs](/commerce-api/shopper-apis/shopper-basics.md), [Shopper APIs reference](https://docs.digitalriver.com/commerce-api-references/shopper-apis/), [Warnings objects](https://docs.digitalriver.com/commerce-api-references/warnings-and-error-codes/error-codes/error-format-for-admin-apis/warning-objects), and [API structure](https://docs.digitalriver.com/commerce-api-references/commerce-api-reference-guide/api-structure).&#x20;
  * [Admin APIs reference](https://docs.digitalriver.com/commerce-api-references/admin-apis/): This API allows administrators to programmatically create, update, deploy, and retire products on your storefront, create and edit products in bulk, manage product data, and manage sites and subscriptions. Use the Admin APIs to host the Cart and Checkout pages and manage your products via API. For more information, see [Admin APIs](/commerce-api/admin-apis/admin-basics.md), [Admin APIs reference](https://docs.digitalriver.com/commerce-api-references/commerce-api-reference-guide/admin-apis-reference), [Common Shopper and Admin APIs](https://docs.digitalriver.com/commerce-api-references/warnings-and-error-codes/errors), and [API structure](https://docs.digitalriver.com/commerce-api-references/commerce-api-reference-guide/api-structure).&#x20;
* We updated the following topics:&#x20;
  * [Getting started](/commerce-api/master.md#getting-started)&#x20;
  * [Error codes](https://docs.digitalriver.com/commerce-api-references/warnings-and-error-codes/error-codes)&#x20;
* We added the following information:&#x20;
  * [How to resume cart submission](/commerce-api/shopper-apis/cart/resuming-cart-submission.md)
  * [Considerations](/commerce-api/shopper-apis/cart/pricing/landed-costs.md#considerations) for [landed costs](/commerce-api/shopper-apis/cart/pricing/landed-costs.md)
  * [Best practice flows by payment type](/commerce-api/payments/sources/using-the-source-identifier.md#best-practice-flows-by-payment-type)
* We added the following subscription notification enhancements:
  * [Sending an expired credit card notification](/commerce-api/admin-apis/subscription-management/subscription-notifications/sending-an-expired-credit-card-notification.md)
  * [Sending a subscription renewal reminder](/commerce-api/admin-apis/subscription-management/subscription-notifications/sending-a-subscription-renewal-reminder-notification.md)
  * [Sending a payment failure notification](/commerce-api/admin-apis/subscription-management/subscription-notifications/sending-a-payment-failure-notification.md)

## 2023/3/16

Digital River adds Clearpay to the payment method roster! By leveraging Afterpay, your shoppers can buy now and pay for their purchases in 3 interest-free payments over 60 days. Learn how you can add Clearpay [here](/commerce-api/payments/supported-payment-methods/clearpay.md).

## 2023/3/14

[Amazon Pay](/commerce-api/payments/supported-payment-methods/amazon-pay.md) is a global digital wallet paving the way for your brand to gain visibility and access to millions of existing Amazon customers. This payment method boasts a highly secure and seamless checkout experience, leveraging saved shipping and payment information in the shopper's Amazon account. As a result, the shopper can complete their transactions in 3 simple clicks and almost twice as fast as other payment options. Digital River supports [Amazon Pay Checkout](/commerce-api/payments/supported-payment-methods/amazon-pay.md#how-it-works).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.digitalriver.com/commerce-api/general-resources/release-notes/2023.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
