Digital River API release notes for 2020.



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 more custom styles for styling an element container in DigitalRiver.js.


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.

Last updated