LogoLogo
System Status
  • Digital River API
  • Getting started
  • Using our services
    • Local pricing
    • Item classification
    • Subscriptions
    • e-Invoicing
  • Integration options
    • Low-code checkouts
      • Implementing a Prebuilt Checkout
      • Implementing a Components checkout
      • Offering local pricing
      • Using a shipping endpoint
      • Processing subscription acquisitions
      • Adding custom fields
      • Offering store credit
      • Displaying policies and getting consent
      • Collecting e-invoice information
      • Handling completed checkout-sessions
    • Direct integrations
      • Standard flow
      • Building checkouts
        • Checking out guest and registered customers
        • Describing line items
          • Setting the price of an item
          • Managing items with shared SKU identifiers
        • Providing address information
        • Handling shipping choice
        • Tax identifiers
        • Applying a discount
        • Setting the customer type
        • Providing the IP address
        • Selecting a currency
        • Initiating a charge
        • Setting the purchase location
        • Configuring taxes
        • Accessing regulatory fee information
        • Localizing invoices and credit memos
        • Providing an upstream identifier
        • Applying store credit
        • Handling e-invoicing requirements
        • Landed cost
        • Tax calculation inputs
        • Selling entities
        • Payment sessions
        • Applying store credit (legacy)
        • Country specs
      • Building payment workflows
        • Handling redirect payment methods
        • Handling delayed payment methods
      • Subscription acquisitions
        • Handling subscription acquisitions
        • Handling external subscription acquisitions
        • Subscription information
      • Digital River coordinated fulfillments
        • Checking inventory levels
        • Using shipping quotes
        • Reserving inventory items
        • Managing a fulfillment order
        • Cancelling a fulfillment order
    • Connectors
  • Order management
    • Processing orders
    • Handling a rejected order
    • Accessing invoices and credit memos
    • Fulfilling goods and services
    • Capturing and cancelling charges
    • Payment reauthorizations
    • Handling reversals
      • Return basics
        • Digital River coordinated returns
        • Third party coordinated returns
      • Refund basics
        • Issuing refunds
        • Refunding asynchronous payment methods
      • Disputes and chargebacks
    • Customer notifications
    • Responding to events
      • Events
        • Key event types
        • All event types
      • Webhooks
        • Creating a webhook
        • Digital River API safelist
        • Digital River signature
      • Expanding events
      • Preventing webhooks from getting disabled
    • Distributor model
  • Subscription Management
    • Managing a subscription
    • Managing an external subscription
  • Payments
    • Payment solutions
      • Drop-in payments
        • How Drop-in payments work
        • Drop-in payments integration guide
      • DigitalRiver.js with Elements
        • Elements integration guide
        • Configuring payment methods
          • Configuring Afterpay
          • Configuring Alipay+ (cross-border)
          • Configuring Alipay (domestic)
          • Configuring Amazon Pay
          • Configuring Apple Pay
          • Configuring Bancontact
          • Configuring BNP Paribas
          • Configuring BLIK
          • Configuring CCAvenue
          • Configuring Clearpay
          • Configuring Credit Cards
          • Configuring FPX Online Banking
          • Configuring Google Pay
          • Configuring iDEAL
          • Configuring Klarna
          • Configuring Konbini
          • Configuring Online Banking (IBP)
          • Configuring Online Banking (Korea Bank Transfer)
          • Configuring PayCo
          • Configuring PayPal
          • Configuring SEPA Direct Debit
          • Configuring Trustly
          • Configuring Wire Transfer
          • Common payment sources
          • Common payment objects
    • Supported payment methods
      • Afterpay
      • Alipay (domestic)
      • Alipay+ (cross-border)
      • Amazon Pay
      • Apple Pay
      • Bancontact
      • BNP Paribas
      • BLIK
      • CCAvenue
      • Clearpay
      • Credit Cards
      • FPX Online Banking
      • Google Pay
      • iDEAL
      • Klarna
      • Konbini
      • Korea Bank Transfer (Online Banking)
      • Online Banking (IBP)
      • Pay with Installments France
      • PayCo
      • PayPal
      • PayPal Billing Agreement
      • PayPal Credit
      • PayPal Pay in 3
      • PayPal Pay in 4
      • PayPal RatenZahlung (Installment Payment)
      • SEPA Direct Debit
      • Trustly
      • Wire Transfer
    • Source basics
      • Managing sources
      • Handling credit card sources
      • Retrieving sources
    • Authorization declines
    • PSD2 and SCA
      • How to ensure SCA compliance
    • Payment testing scenarios
  • Product management
    • Product basics
    • Managing SKUs
    • Using product details
    • Grouping SKUs
    • SKU-inventory item pairs
    • Managing inventory items
    • Regulatory fees
      • What are regulatory fees?
        • Fees terminology
        • Regulatory fee management
        • European regulatory fees
        • Compliance obligations
        • WEEE directive requirements
        • Copyright directive requirements
        • Compliance challenges
      • Managing regulatory fees
  • Customer management
    • Customer basics
    • Creating and updating customers
    • Setting up tax exemptions
    • Recording a customer's request to be forgotten
  • Financial reporting
    • Financials basics
    • Sales transactions
      • Returning a list of sales transactions
      • Getting a sales transaction by ID
    • Sales summaries
      • Returning a list of sales summaries
      • Getting a sales summary by ID
    • Payouts
      • Returning a list of payouts
      • Getting a payout by ID
      • Get a list of transactions included in payout by ID
  • Developer resources
    • Digital River API reference
    • DigitalRiver.js reference
      • Including DigitalRiver.js
      • Initializing DigitalRiver.js
      • DigitalRiver object
      • Elements
        • Amazon Pay element
        • Apple Pay elements
        • Google Pay elements
        • IBAN element
        • iDEAL element
        • Konbini elements
        • Compliance element
        • Offline Refund elements
        • Online Banking elements
        • Tax Identifier element
        • Invoice attribute element
        • Delayed Payment Instructions element
        • PayPal elements
      • Guidelines for capturing payment details
      • Security
      • Digital River payment objects
      • Error types, codes, and objects
    • DigitalRiverCheckout.js reference
      • Including DigitalRiverCheckout.js
      • Initializing DigitalRiverCheckout.js
        • DigitalRiverCheckout configuration object
      • DigitalRiverCheckout object
        • Configuring Prebuilt Checkout
          • Performing actions
          • Defining experience
        • Components
          • Configuring components
          • Address component
          • Shipping component
          • Tax identifier component
          • Invoice component
          • Wallet component
          • Payment component
          • Compliance component
          • Order summary component
          • Thank you component
        • Rendering a checkout button
          • Performing actions on the checkout button
        • Determining the checkout's status
      • Accessing country and currency
    • DynamicPricing.js reference
    • Postman collection
  • administration
    • Sign in
    • Digital River Dashboard
      • Digital River Dashboard quick start guide
      • Key features
      • Reset your password
      • Test and production environments
      • Account
        • Adding an account
        • Switching accounts
        • Account access
      • Profile settings
        • Viewing your personal information
        • Changing your password
        • Updating your phone number
        • Enabling multi-factor authentication
      • Finance
        • Payouts
          • Viewing your payout details
          • Filtering your payouts
          • Exporting your payouts
        • Sales summaries
          • Viewing your sales summaries details
          • Filtering your sales summaries
          • Exporting your sales summaries
          • Exporting your sales summary details
        • Transactions
          • Viewing your transaction details
          • Filtering your transactions
          • Exporting your transactions
      • Order management
        • Orders
          • Searching for orders
          • Filtering your orders
          • Viewing the order details
          • Cancelling items
          • Fulfilling items
          • Downloading an invoice
          • Downloading a credit memo
          • Creating shipping labels
          • Recording a customer's request to be forgotten
          • Viewing returns and refunds
          • Creating a return
          • Accepting a return
          • Creating a refund
          • Viewing the order's timeline
        • Checkouts
          • Searching for checkouts
          • Filtering your checkouts
          • Viewing the checkout details
        • Prebuilt Checkout links
          • Generate Prebuilt Checkout links
          • View and work with Prebuilt Checkout link details
          • Add a customer during Prebuilt Checkout
          • Add a product during Prebuilt Checkout
      • Customers
        • Viewing customer details
        • Searching for customers
        • Filtering your customers
        • Editing account information
        • Adding a customer
        • Tax IDs and certificates
          • Adding a tax certificate
          • Adding a tax ID
          • Deleting a tax ID
        • Metadata
          • Adding metadata
          • Editing metadata
        • Manage subscriptions from the Customer Details page
        • Disabling a customer
        • Recording a customer's request to be forgotten
        • Deleting a customer
      • Catalog
        • SKUs
          • Viewing the SKU details
          • Searching for SKUs
          • Filtering your SKUs
          • Adding a SKU
          • Editing a SKU
          • Deleting a SKU
          • Adding a fee to a SKU
          • Editing a fee
          • Deleting a fee
          • Viewing product tariff codes
        • Managing customer subscriptions from Digital River Dashboard
      • Developers
        • API keys
          • Updating your API version
          • Getting your API keys
          • Changing the API version for your key
          • Creating a restricted key
          • Editing a restricted key
          • Deleting a restricted key
          • Rotating keys
        • Webhooks
          • Creating a webhook
          • Editing a webhook
          • Deleting a webhook
          • Rotating a webhook's secret
        • API logs
          • Filtering the API log
          • Viewing the API log details
        • Event logs
          • Filtering the events log
          • Viewing the event details
      • Settings
        • Users and roles
          • Roles
          • Searching for a user by name or email
          • Filtering your users and roles
          • Adding a user
          • Editing a user
          • Deleting a user
        • Prebuilt Checkout
        • Payment methods
          • Viewing your payment methods
          • Viewing payment method details
            • Enabling currencies
            • Managing countries
          • Enabling or disabling a payment method
  • General Resources
    • eCompass
    • eCompass documentation
    • Release notes
      • 2024
      • 2023
      • 2022
      • 2021
      • 2020
      • 2019
    • Standards and certifications
      • Certification process
      • Compliance requirements
      • Documentation requirements
      • Integration checklists
        • Admin portal
        • Products and SKUs
        • Customers and tax exemptions
        • Checkouts, payment sources, and orders
        • Disclosures, compliance statements, and emails
        • Fulfillments and cancellations
        • Customer portal
        • Order refund synchronization
        • Reversals
        • Error handling
      • Test and use cases
    • Commerce infrastructure
    • Versioning
    • Glossary
Powered by GitBook
On this page
  • Distributed model
  • Orchestrated model
  • Building checkouts and submitting orders
  1. Integration options
  2. Direct integrations

Digital River coordinated fulfillments

Understand Digital River's fulfillment solutions

PreviousSubscription informationNextChecking inventory levels

Last updated 2 months ago

This section provides an overview of two Digital River coordinated fulfillment models.

Both models allow you to with products, , , , use our , , , , , , and .

In both models, you also use .

The major differences between the and the revolve around (1) how you build and maintain your catalog of products whose fulfillment Digital River coordinates and (2) who is responsible for handling accepted orders, product shipment, and product cancellation events.

Distributed model

In the distributed model, as with all Digital River coordinated fulfillments, your represent products whose fulfillment Digital River coordinates. You create these pairs and are responsible for keeping their data synchronized.

After , you wait for the to be accepted and then handle this state change event by . You then listen for and events and handle them by sending .

The following provides a high-level overview of how you might structure a distributed model workflow:

Creating and maintaining your product catalog

Before deployment, you should build a catalog of whose fulfillment Digital River coordinates. For each product in this catalog, use the and to create with and then ensure those attribute values remain synchronized.

It's important that you keep these pairs synchronized. In every you must reference the when . Later, after you , and the is , you need to reference the paired in a .

If the of these SKU-inventory item pairs are not synchronized, you risk encountering problems with customs, generating incorrect duty amounts or having errors displayed on invoices.

When using the distributed model, you can add from the catalog of products whose fulfillment Digital River coordinates and from other catalogs.

Building checkouts and submitting orders

In both this model and the , you can use the same basic approach to .

Initiating physical product fulfillment

Responding to product pending and backordered events

Responding to product shipment events

Responding to product cancellation events

Completing an order

Continue listening for and responding to fulfillment related events. After receiving each event, update the order status in your system.

Orchestrated model

Digital River also handles orders accepted, product shipment, and product cancellation events.

The following provides a high-level overview of how you might structure an orchestrated model workflow:

Creating and maintaining your product catalog

Building checkouts and submitting orders

How fulfillment of physical products is initiated

Responding to product pending and backordered events

How product shipment events are handled

How product cancellation events are handled

The payload of each fulfillment_cancellation.accepted event contains data on which items, and in what quantity, have been cancelled.

From each event, Digital River retrieves the order identifier, the line item identifier(s), and each item's cancelled quantity and uses this data to submit a request that instructs our payment services to cancel the appropriate amount of an order's payment charges.

Completing an order

Continue listening to and responding to fulfillment-related events. After receiving each event, update the order status in your system.

Building checkouts and submitting orders

Building a checkout

Submitting an order

For next steps:

In the distributed model, once you build the checkout and submit the order, and then either or receive an in an , you retrieve data from that order and use it to .This request instructs Digital River's fulfillment services to initiate fulfillment of the order's physical products.

For more information, refer to on the page.

If you give customers the option to cancel orders, then the event contains the that you need to .

You can also subscribe to the event. It notifies you when a product is out of stock. You can handle this event by notifying customers of the delay and allowing them to cancel the back-ordered products. If they select this option, submit a .

For more information, refer to the page.

In this model, you need to handle events. The source of these events is shipment notifications sent by the product's fulfiller.

The event's payload informs you which items and in what quantity have been shipped to the customer. These shipped events also contain a unique identifier that allows you to share with the customer.

Each time you receive a event, retrieve its order, product, and shipment data and use it to and a POST/fulfillments request. This request instructs Digital River's payment services to appropriately the payment .

In this model, you also need handle events. The source of these events is either requests that your system makes or cancellation notifications sent by the product's fulfiller.

The payload of each event informs you which items, and in what quantity, have been cancelled. Each time you receive a cancelled event, retrieve its order and product data and use it to and a POST/fulfillments request. This request instructs Digital River's payment services to the appropriate amount of an payment .

For more information refer to the following sections on the page:

In the orchestrated model, as with all Digital River coordinated fulfillments, your represent products whose fulfillment Digital River coordinates. In this model, Digital River is responsible for keeping these objects synchronized.

Before deployment, you should build a catalog of whose fulfillment Digital River coordinates. for each product in this catalog. This configuration results in whose values are synchronized by Digital River.

When , you can add from your Digital River- catalog or from other catalogs.

If your site supports the necessary , checkouts can contain .

In both this model and the , you can use the same basic approach to .

In the orchestrated model, once you build the checkout and submit the order, Digital River handles the event by retrieving data from the and other upstream resources and using it to submit a . This request instructs our fulfillment services to initiate delivery of the order's .

You should handle the by updating the order status in your commerce platform and thanking customers for their purchase on an order confirmation page.

If you give customers the option to cancel orders, then the event contains the that you need to .

You can also subscribe to the event. It notifies you when a product is out of stock. You can handle this event by notifying customers of the delay and allowing them to cancel the back-ordered products. If they select this option, submit a .

For more information, refer to the page.

Digital River handles events emitted by our fulfillment services. The ultimate source of these events is shipment notifications sent by the product's fulfiller.

The payload of each contains data on which items and in what quantity the fulfiller has shipped to the customer. From each shipped event, Digital River retrieves the , , and each line item's identifier and quantity and uses this data to submit an internal request that instructs our payment services to the appropriate amount of an payment .

You can listen for events generated by this request. These events provide you with access to . Alternatively, you can access this tracking information by subscribing to fulfillment_order.shipped.

Digital River handles events. The source of these events is either that your system submits or cancellations created by the product's fulfiller.

To be notified when this request is submitted, you can subscribe to the event.

For more information, refer to the following sections on the page:

In Digital River coordinated fulfillments, both the and the allow you to and using the same basic approach.

For more information, refer to on the page.

As customers add items to their carts, you can use the to on your storefront.

Once customers have finalized their cart and initiated checkout, send a .

You can then use the checkout's shipping and product data to through the . Use the response to to customers, and, based on their selection, with a .

Later in the checkout process, you can retrieve the shipTo, shippingChoice and items[] and use this data to through the . If successful, this request places a hold on the product for the .

As with every checkout, you must also or and then ensure are .

You can then use the to determine .

You using the . This prompts Digital River to conduct a and, depending on the results of the payment authorization request, create a charge on each .

Refer to if you're using the .

Refer to if you're using the .

Cancelling physical fulfillments
Capturing and cancelling payment charges
SKU-inventory item pairs
Cancelling physical fulfillments
Capturing and cancelling payment charges
distributed model
build your checkouts and submit your orders
distributed model
orchestrated model
build checkouts
submit orders
Initiating physical product fulfillment
distributed model
How fulfillment of physical products is initiated
orchestrated model
build checkouts
check inventory levels
process shipping quotes
reserve inventory
supported payment methods
cancel fulfillments
capture and cancel payments
handle reversals
SKU-inventory item pairs
SKU-inventory item pairs
SKU-inventory item pairs
describing line items
building checkouts
distributed model
orchestrated model
orchestrated model
process your checkouts and submit your orders
Processing orders
POST /fulfillment-cancellations
SKU-inventory item pairs
building a checkout
selling entities
Building checkouts
shipping choice
payment session
payment source
order's
create a new payment source
authenticate an existing payment source
one or more sources
attached to the checkout
combine payment sources
third-party fulfilled physical products
Handling charge capture complete and failed events
Handling the charge cancel success event
Handling the order complete event
fulfillment.created
Handling charge capture complete and failed events
Handling the charge cancel success event
Handling the order complete event
payment capture and cancellation requests
define
submit
define
submit
fulfillment.created
sequencing the checkout process
create checkout request
fulfillment_cancellation.accepted
POST /fulfillment-cancellations
handling accepted orders
order.accepted event
Orders API
fraud review
convert the checkout to an order
shared attribute
physical products
Configure the SKU for Digital River managed fulfillments
physical products
managed fulfillment
digital products
order
POST /fulfillment-orders
order.accepted
physical products
order
synchronously
asynchronously
accepted state
create a fulfillment order
create a fulfillment order cancellation
fulfillment_order.pending
fulfillment order identifier and fulfillment order line item identifiers
fulfillment_order.backordered
fulfillment_order.shipped
shipment
tracking information
capture
charges
fulfillment_order.shipped
POST /fulfillment-cancellations
fulfillment_order.cancelled
cancel
order's
charges
fulfillment_order.cancelled
create a fulfillment order cancellation
fulfillment_order.pending
fulfillment order identifier and fulfillment order line item identifiers
POST /fulfillment-cancellations
fulfillment_order.backordered
fulfillment_order.shipped
capture
order's
charges
order identifier
fulfillment_order.shipped
shipment identifiers
tracking information
when to convert the checkout to an order
physical
checkout's
Reservations API
make a reservation request
period of time you designate
order
SKUs API
inventory items API
create checkout request
order
accepted
inventory item
shared attributes
shared attribute values
converting the checkout to an order
convert the checkout to an order
physical and digital
physical products
physical SKUs
digital SKUs
initiate fulfillments
track shipments
creating a fulfillment order
product shipment
cancellation
create fulfillment order request
Inventory Levels API
update the checkout
display product availability information
SKU
Shipping Quotes API
request shipping quotes
present shipping options