# 2020

## 2020/12/30

You can now modify a subscription during a [midterm change](https://docs.digitalriver.com/commerce-api-references/commerce-api-reference-guide/admin-apis-reference/subscriptions#midterm-change). That includes [applying a midterm change with price override](/commerce-api/admin-apis/subscription-management/immediately-apply-a-midterm-subscription-change/applying-a-midterm-change-with-price-override.md), [assigning a perpetual unit price](/commerce-api/admin-apis/subscription-management/update-the-subscription-at-the-next-renewal/adding-or-updating-a-perpetual-unit-price.md), or [reducing the subscription quantity](/commerce-api/admin-apis/subscription-management/immediately-apply-a-midterm-subscription-change/reducing-the-subscription-renewal-quantity.md).

## 2020/12/28

We [Klarna ](/commerce-api/payments/supported-payment-methods/klarna.md)'s [supported geographies](/commerce-api/payments/supported-payment-methods/klarna.md#supported-markets) to show the minimum and maximum order amount and the payment method type.

## 2020/12/16

We updated the examples and added information on creating a merchant-initiated transaction (MIT) in [Providing subscription information](/commerce-api/shopper-apis/cart/creating-or-updating-a-cart/providing-subscription-information.md).

## 2020/12/10

We added more [custom styles](/commerce-api/resources/reference/elements.md#available-custom-styles) for [styling an element container](/commerce-api/resources/reference/elements.md#styling-an-element-container) in [DigitalRiver.js](/commerce-api/payments/payments-solutions/digitalriver.js.md).

## 2020/11/30

We added [error types](/commerce-api/resources/reference/error-types-codes-and-objects.md#error-types) to [Error types, codes, and objects](/commerce-api/resources/reference/error-types-codes-and-objects.md).

## 2020/11/19

We added support for [Pay in 4](/commerce-api/payments/payments-solutions/digitalriver.js/payment-methods/paypal.md#pay-in-4) to the [PayPal ](/commerce-api/payments/payments-solutions/digitalriver.js/payment-methods/paypal.md)payment method.

## 2020/11/17

* We added support for [landed costs](/commerce-api/shopper-apis/cart/pricing/landed-costs.md).
* You can now [set a price list](/commerce-api/shopper-apis/cart/configuring-taxes.md#setting-the-price-list-to-tax-inclusive-or-exclusive) or [shipping costs](/commerce-api/shopper-apis/cart/configuring-taxes.md#setting-the-shipping-cost-to-tax-inclusive-or-exclusive) to tax inclusive or exclusive.

## 2020/11/10

We added a list of [error codes](https://docs.digitalriver.com/commerce-api-references/warnings-and-error-codes/error-codes) for DigitalRiver.js.

## 2020/11/6

* As part of the PSD2 Strong Customer Authentication (SCA) initiative, payment processors require extra information when processing merchant-initiated credit card transactions. You can now use [billing agreements](/commerce-api/shopper-apis/cart/creating-or-updating-a-cart/providing-subscription-information.md#billing-agreement-identifier) to ensure that you adhere to the new mandate/
* You can now update subscription information in  the `LineItem` array to the [`POST /carts`](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/carts#v1-shoppers-me-carts-active-1), [`POST /line-items`](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/line-items#v1-shoppers-me-carts-active-line-items-1), or [`POST /line-items/{lineItemsId}`](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/line-items#v1-shoppers-me-carts-active-line-items-lineitemsid-1) requests.

## 2020/10/29

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

## 2020/10/28

You can now apply a [shipping discount](/commerce-api/shopper-apis/cart/managing-shipping-options/providing-a-shipping-discount.md) to a customer's order

## 2020/10/14

* We added information on [configuring taxes](/commerce-api/shopper-apis/cart/configuring-taxes.md).
* We added the `taxInclusive` attribute to the response for [Apply shopper to cart](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/apply-a-shopper-to-a-cart#v1-shoppers-me-carts-active-apply-shopper), [Add or update cart billing address](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/billing-address#v1-shoppers-me-carts-active-billing-address-1),  [Apply billing address to cart](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/billing-address#v1-shoppers-me-carts-active-apply-billing-address), [Apply shipping address to cart](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/shipping-address#v1-shoppers-me-carts-active-apply-shipping-address), Submit[ cart and create an order](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/submit-a-cart#v1-shoppers-me-carts-active-submit-cart), [Apply payment method to cart](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/apply-or-detach-payment-methods#v1-shoppers-me-carts-active-apply-payment-method), [Apply shipping option to cart](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/apply-a-shipping-option#v1-shoppers-me-carts-active-apply-shipping-option),  [Get current cart](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/carts#v1-shoppers-me-carts-active), [Update current cart](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/carts#v1-shoppers-me-carts-active-1), [API trigger offer](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/api-trigger-offer), [Get shopper order](https://docs.digitalriver.com/commerce-api-references/shopper-apis/orders/orders#v1-shoppers-me-orders-orderid), and [Apply shopper to cart](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/apply-a-shopper-to-a-cart#v1-shoppers-me-carts-active-apply-shopper).

## 2020/10/12

We added information on the [tax identifier element](/commerce-api/resources/reference/elements/tax-identifier-element.md) to [DigitalRiver.js](/commerce-api/payments/payments-solutions/digitalriver.js.md).

## 2020/10/1

We added support for Union Pay to [Credit Cards](/commerce-api/payments/supported-payment-methods/credit-cards.md).

## 2020/9/30

* We added [PSD2 and SCA](/commerce-api/payments/psd2-and-sca.md) integration support to [Payment solutions](/commerce-api/payments/payments-solutions.md). &#x20;
* We added information on migrating [payment sessions](/commerce-api/shopper-apis/cart/payment-sessions.md) to [Payment solutions](/commerce-api/payments/payments-solutions.md).&#x20;

## 2020/9/24

We added support for the [Korea–PayCo](/commerce-api/payments/supported-payment-methods/payco.md) payment methods.

## 2020/9/23

We added support for the [Klarna ](/commerce-api/payments/supported-payment-methods/klarna.md)payment method.

## 2020/9/18

We updated the [Drop-in payments](/commerce-api/payments/payments-solutions/drop-in.md) documentation.

## 2020/9/9

* We updated the [Digital River App for Salesforce B2B Commerce](https://docs.digitalriver.com/salesforce-b2b/) documentation.
* We added Spark from Tryzens for the Salesforce Commerce Cloud to our [partner integrations](https://docs.digitalriver.com/partner-integrations/).

## 2020/8/11

We updated the [API error codes](https://docs.digitalriver.com/commerce-api-references/warnings-and-error-codes/error-codes).

## 2020/8/10

We now provide a [list of IP addresses](/commerce-api/events/webhooks/commerce-api-safelist.md) we use to send Webhook notifications. You'll need to open your firewall to these IP addresses.

## 2020/8/5

* You can now use [**DigitalRiver.js**](/commerce-api/payments/payments-solutions/digitalriver.js.md) to retrieve an array of [available payment methods](/commerce-api/resources/reference/digitalriver-object.md#creating-elements).
* You can now use [**DigitalRiver.js**](/commerce-api/payments/payments-solutions/digitalriver.js.md)  to trigger a [return event](https://docs.digitalriver.com/commerce-api/payment-integrations-1/digitalriver.js/reference/elements#return) when a customer presses the Return key while the input field has focus.

## 2020/6/02

* The initial value for `termsOfSaleAcceptance` is now null if `tosAccepted` is null in the database.&#x20;
* We now provide a breakdown of the tax fee at the line-item level for [Carts](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/carts), [Orders](https://docs.digitalriver.com/commerce-api-references/shopper-apis/orders/orders), and [Submit cart.](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/submit-a-cart)
* Changed the `lineItem` under DefaultCart to an array.&#x20;
* Changed`fee` to `feeTax` under `lineItem.pricing`.&#x20;
* Added the `feePricing` object under ExpandedLineItem.&#x20;
* Added the LineItemFeePricing schema for `feePricing` under ExpandedLineItem.&#x20;

## 2020/5/20

* Added [phonetic fields](/commerce-api/shopper-apis/cart/creating-or-updating-a-cart/providing-address-information.md#japanese-phonetics) 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](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/billing-address#v1-shoppers-me-carts-active-billing-address-1) and [shipping address](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/shipping-address#v1-shoppers-me-carts-active-shipping-address-1) to `204 No Content`.
* Added [phonetic fields](/commerce-api/shopper-apis/cart/creating-or-updating-a-cart/providing-address-information.md#japanese-phonetics) to the following schemas: DefaultAddress and ExpandedAddress.

## 2020/5/7

* You can now create a price override at the item level.
* You can now [override the unit price](/commerce-api/shopper-apis/cart/applying-a-price-override.md#applying-a-unit-price-override) and [line item price](/commerce-api/shopper-apis/cart/applying-a-price-override.md#applying-a-line-item-price-override) programmatically. See [Price Override](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/price-override) in the [Admin APIs reference](https://docs.digitalriver.com/commerce-api-references/admin-apis/).
* Added these schemas: CartUnitPriceOverrideRequest and CartAggregatePriceOverrideRequest.

## 2020/05/04

* You can now capture when a customer[ accepts the Terms of Sale](/commerce-api/shopper-apis/cart/creating-or-updating-a-cart/terms-of-sale-acceptance.md).
* Added [phonetic fields](/commerce-api/shopper-apis/cart/creating-or-updating-a-cart/providing-address-information.md#japanese-phonetics) to [Orders](https://docs.digitalriver.com/commerce-api-references/shopper-apis/orders/orders) and [Order lookup](https://docs.digitalriver.com/commerce-api-references/shopper-apis/orders/order-lookup) resources.
* Added `productTax` and `shippingTax` to the [Carts](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/carts), [Orders](https://docs.digitalriver.com/commerce-api-references/shopper-apis/orders/orders), and [Submit cart](https://docs.digitalriver.com/commerce-api-references/shopper-apis/cart/submit-a-cart) resources.&#x20;


---

# 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/2020.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.
