Release notes
Keep track of changes and updates to the Digital River API.
The terms used below include information about how your integration may be affected by new code releases. There are non-breaking and breaking changes:
  • Non-breaking changes include incremental or "safe" changes and some new features.
  • Breaking changes include changes that involve major refactoring or rewrites. They are listed on this page with an orange banner indicator.
  • Known issues are items we are aware of and are indicated with a red banner.
See the Versioning page for more details.


You can now use filtering in the Events log to select Invoice event types. For details, refer to Filtering the events log.



You can now associate any reusable payment source with invoices and subscriptions. For details, refer to:


We upgraded Google Pay to offer the up-to-date Google Pay wallet experience. You can now configure the dynamic Google Pay button by applying your preferred button styles.


We added support for the Pay with Installments France payment method with Drop-in.



We added support for the Bancontact payment method.


Order charge capture events now reference the fulfillment which triggered them.


You can now subscribe to the order.dispute and order.dispute.resolved events.



We added the Disputed order status to the Order details page on the Dashboard.




You can now use our Drop-in Checkout solution.



You can now choose the webhook authentication method (either HTTP or OAuth) when creating or editing a webhook.


You can now use Global Logistics, an end-to-end cross-border delivery management solution.



Breaking changes
In version 2021-12-13, the following changes have been deployed:


We made the following changes to Dashboard:
  • You can now add, edit, and delete a fee from the SKU details page.
  • You can now view the metadata associated with an order from the Order details page. ****
  • The Checkout details page now displays the full checkout details.


We added the ability to download a credit memo from the Dashboard.


You're no longer allowed to attach non-reusable sources to customers.


You can now subscribe to the order.cancelled event.


Every physical SKU that is shipped cross-border into Switzerland, must now contain a weight and weightUnit. For details, refer to the weight and weightUnit section on the Managing SKUs page.


We added the ability to the ability to manage customers from the Dashboard. You can also attach a tax certificate or tax ID to a customer.




We now provide test tax identifiers.



We expanded the pay later options that are now available in the PayPal Wallet, including PayPal RatenZahlung for German shoppers.



Digital River now supports the use of SEPA Direct Debit with Store Credit.


You can now group products that share a basic Harmonized System code and are exported to the same set of countries.


You can now use Digital River's subscription service to schedule and process recurring payments.


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.


Digital River now supports the use of Online Banking with Store Credit.



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



You can now use POST/invoices/{id}/sources/{sourceId} and DELETE/invoices/{id}/sources/{sourceId} to attach and detach sources from invoices.


Digital River now supports the use of bPay with Store Credit.



Digital River now supports the use of Konbini with Store Credit.



We added OAuth as an additional authentication method when you create or edit a webhook in the Dashboard.


Digital River now supports Alipay with Store Credit allowing you to offer Alipay with store credit on an order.


You can no longer issue order-level fee refunds. In addition to standard refunds, the types of order-level and product-level refunds we support are listed here.


You can now include bill to information in a POST/invoices request. Additionally, when we give you back an Invoice, it now contains a billTo value. This is true even when you did not send billTo in the payload of a POST/invoices.


The following physical attributes have been added to the Sales summaries and Transactions in Dashboard: client upstream ID, payment type, ship from country, ship to country, bill to country, and SKU tax code. These attributes appear when you export transactions or sales summary details in the Finance section.



For troubleshooting purposes, we have implemented the following HTTP request headers: upstream-id, upstream-session-id, and upstream-application-id. As a best practice, we recommend that you include these headers in your requests.


You can now configure SKUs for Digital River managed fulfillments. Once properly configured, you can then use them in the Digital River fulfillment model.


  • We made the following changes to the Dashboard:
    • We now provide the order ID, upstream ID, status, tax type, tax ID, and tax state on the Order Details page in the Dashboard.
    • We also add fees, landed cost (including importer duty and importer tax), discount, and tax for a line item on the Order Details page in the Dashboard.
    • You can now download an invoice on the Order Details page.
  • 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!


When performing testing, you can now receive mock tax invoices and credit memos.


Breaking changes
In version 2021-03-23, the Checkout and Order resources now return the first-class payment attribute. This attribute contains the array of applied payment sources, the array of charges created from those sources, and additional payment session information. You can use this new session information to determine when to convert a checkout to an order.


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.


When sequencing address information in your checkout workflows, you can now use billTo to obtain an accurate tax calculation before you attach a payment source to the checkout.


Breaking changes
We made the following changes in version 2021-02-23:
  • You can now access the tax identifiers resource.
  • Tax identifiers must be created using the Tax Identifiers API. You can no longer use the Customers API to perform this operation.
  • Once you've upgraded, any tax identifiers you previously created with the Customers API will no longer be available. Please contact us to have your data migrated.


For Digital River coordinated fulfillments, you should now send shipment identifiers in POST/fulfillments requests.


You can now use the Digital River API to manage an order's physical fulfillment.


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 updated the supported geographies for Klarna to show the minimum and maximum order amount and the payment method type.


Breaking changes
We made the following changes in version 2020-12-17:



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


When you delete a SKU, we now delete any Fee objects associated with that SKU.


We added information on where you can find 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.


The Fees API now supports packaging and batteries fee types. Additionally, the attributes that were previously represented as metadata have been deprecated. These data points are now first-class attributes.


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


When classifying a product as digital or physical, we now use the tax code that you specify in the SKU.


We added support for Union Pay to Credit Cards.


Breaking change
For version 2020-09-30, we added the Invoices resource. You can use it to create an invoice when billing a customer, charging a customer for a recurring event, or providing information in response to a fulfillment.


We added support for the Korea – PayCo payment method.


We added support for the Klarna payment method.


We updated the Drop-in documentation.


  • You can now update the ship from and subscription information at the item-level in update Checkout requests.
  • POST and GET Checkout requests now return a unique item-level identifier.



  • You can now test a single API request without upgrading the key.
  • We added the Country-Specs resource to help you determine whether address and tax identifier information is required and also whether it is properly formatted.
  • You can now use the postalCode parameter in the Address object to support ZIP+4 codes.
  • You can now create multiple Customer objects with the same email address.
  • We added the linkExpiresTime parameter to the Files resource.


You can now access the Dashboard documentation.



  • You can now create checkouts and orders containing duplicate SKU items with different prices and metadata.
  • You can now only request refunds for amounts or percentages less than, or equal to, those available to refund on an order, order item, invoice, or invoice item.
  • It is no longer possible to create multiple tax identifiers of the same type for Customers or Checkouts.
  • We can no use any tax identifiers you pas us on the checkout rather than any tax identifiers associated with the customer.
  • You can now retry failed order refunds by making a new refund request when a refund fails.
  • You can now only request refunds for amounts or percentages less than, or equal to, those available to refund on an order or order item.
  • We now automatically retry any failed order charge captures for up to 30 days with exponential backoff.


  • We made it easier to see the amounts available to refund for an order by adding availableToRefundAmount attributes to Orders.
  • You can now receive an order.charge.complete webhook when an order charge has been captured.
  • You can now receive an order.charge.pending webhook when an order charge has been created but not yet processed.
  • You can now receive an order.charge.processing webhook when an order charge is processing.
  • You can now receive an order.charge.cancelled webhook when Digital River cancels an order charge.
  • You can now receive order.charge.capture.complete webhook when an order charge capture is complete for all payment methods (including PayPal and SEPA Direct Debit).


You can now search for Orders using the following filters: submitted timestamp, accepted timestamp, complete timestamp, browserIp, chargeType, subscriptionId, and refundedAmount.


  • You can now create Checkouts and Orders with a phoneticName parameter. The phoneticName parameter allows Customer Service Representatives and couriers who need this information to correctly pronounce a customer's name in Japan. See Japanese phonetics and divisions for more information.
  • You can now create Checkouts and Orders with a division parameter. The division parameter allows customers to provide their division within an organization when they provide their business addresses in Japan.


  • You can now create SKUs with description, image, and url parameters to power a first-class user experience.
  • You can now create Refunds for delayed repayment methods (such as Wire Transfer and bPay) that require the handling of additional customer information.
  • We will inform you if a tax identifier is required and is missing for customers with multiple tax identifiers, and apply those tax identifiers to the order.


  • You can now receive an order.accepted webhook when an order has successfully passed Digital River's fraud checks and has a capturable charge.
  • You can now create Checkout items with a new freeTrial parameter.
  • You can now receive order.charge.cancel.pending and order.charge.cancel.pending information, and order.charge.cancel.failed and order.charge.cancel.complete events and webhooks.
  • We made it easier to see the amounts available to refund for an order by adding the availableToRefund amount attribute to Orders.


  • You can now create Checkout items with an aggregatePrice parameter that represents the aggregate (or quantity) price of that line item.
  • You can now receive a sales_transaction.created webhook as soon as we create a (costed) sales transaction for you.
  • You can now receive an order.chargeback webhook when a chargeback occurs for an order.
  • We extended the Orders endpoint so you can determine if an order item was for a subscription renewal.
  • We made it easier to see if an Order has been fulfilled and its charge has been captured by adding a complete state to the state enumeration.
  • You now have the option for Digital River to calculate the landed costs of your cross-border orders for you in the dutiesTotal attribute.


  • We now create event webhooks for all events supported in production in test mode.
  • We now create refunds in a pending state and publish a refund.pending event. We removed the refund.created event.
  • You can now view detailed information about your costed sales and Digital River's payouts to you with the new Payouts, Payout transactions, Sales summaries, and Sales transactions API resources.


  • Checkout sourceId now uses the default source identifier of the customer.
  • We will return tax rates as simple amounts rather than percentages (0.067 not 6.75).
  • You can now receive order.charge.capture.pending, order.charge.refund.pending, order.charge.refund.complete, and refund.complete event webhooks. We no longer support the order.charge.capture.created, order.charge.refund.created, order.charge.refund.completed, and refund.completed webhooks.
  • Renamed order.charge.created to order.charge.pending and order.charge.capture.completed to order.charge.capture.complete.
  • We extended Checkouts and Orders to return a tax.amount for shipping choices.


In live mode, we will attempt to deliver your webhooks for up to three days with an exponential backoff; in test mode, we will retry four times over a couple of hours.


You can now sync your SKU records with Digital River more easily by upserting SKUs using the SKUs resource.


  • We extended the supported list of valid US states to include territories such as Guam (GU).
  • You can now retrieve a source with the new clientSecret attribute.


We have changed item-level amounts, so they now represent the amount to pay for an item–inclusive of any item-level discounts.


You can now create Checkouts with shippingChoice parameters with zero-dollar amounts.


  • Orders now have a cancelledAmount attribute, which represents the total charge amount cancelled.
  • You can now receive an order.charge.refund.failed webhook when a charge refund attempt fails for your customer's order.


We made it easier to refund items by not requiring you to specify a refund quantity unless you want that quantity to be different from the ordered quantity.


  • You can now create an Order without first creating a Checkout by passing a Checkout request rather than a reference to an existing Checkout at order creation.
  • You can now create Checkouts with an aggregatePrice parameter that represents the aggregate price for a quantity of SKUs rather than their unit price.
  • Orders now have a capturedAmount attribute, which represents the total charge amount captured.
  • You can now provide an applicationId parameter when you create a checkout. You can use this attribute to segment your orders by application source.
  • You can now specify the ship from country or address in the Checkout with the new shipFrom parameter.
  • We have now added a sellingEntity attribute to checkouts and orders that you can use to display Digital River's Terms & Conditions and policies to your customers.
  • Digital River now validates the following addresses:
    • Checkout and Customer shipTo and shipping addresses
    • Source owner addresses
    This ensures the customer provided all address parameters required to successfully ship your physical goods anywhere in the world, to successfully create a payment charge, to comply with local invoicing regulations, and to calculate local taxes accurately.
  • Improved availability returns.
  • We will now return standardized card decline codes when you create an order, and the card networks decline the charges.
  • We have now added price and aggregatePrice attributes to checkouts and orders.


Breaking change
Version 2020-01-07 is the base version of the Digital River API.


  • Improved availability refunds.
  • You can now receive a credit_memo.created webhook when a credit memo is created for a customer.
  • You can now receive an order.charge.created webhook when a charge is created for your customer's order.
  • You can now receive an order.charge.capturable webhook when a charge becomes capturable for your customer's order.
  • You can now receive an order.charge.refund.created webhook when a charge refund is created for your customer's order.
  • You can now receive an order.charge.refund.completed webhook when a charge refund completes for your customer's order.