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
  • Requesting a fulfillment return
  • Ensuring the correct item state
  • Defining and submitting a fulfillment return
  • Upstream data sent in a POST fulfillment return request
  • A fulfillment return
  • Returned items
  • The fulfillment return life cycle
  • Return initiator
  • Return address
  • Monitoring and responding to fulfillment returns
  • Retrieving a fulfillment return
  • Listening for fulfillment return events
  1. Order management
  2. Handling reversals
  3. Return basics

Digital River coordinated returns

Learn how to manage returns when Digital River is your designated fulfillment coordinator

PreviousReturn basicsNextThird party coordinated returns

Last updated 2 months ago

In , you can use the to and returns. After you create a , you should monitor and respond to the .

Requesting a fulfillment return

When requesting a fulfillment return, you should first . Once you've done that, you can .

Ensuring the correct item state

Before providing customers the option to return an item, you should ensure that the item is in a . Customers shouldn't be allowed to return pending, backordered, or cancelled items. You can obtain this information by or .

You may decide you want to build your integration so that customers have the pending and backordered items.

Defining and submitting a fulfillment return

When customers indicate they want to return all or part of a , submit a POST /fulfillment-returns request that specifies the items to return and in what quantity. More specifically, you need to provide us the these items are attached to, to return, and the .

Fulfillment order identifier

The fulfillmentOrderId parameter is used to specify the associated with this return.

Inventory item data

For each item you want to return, you must provide the and the quantity of that item to return.

Order identifier

In the request, you should also set upstreamId to the . This allows you to retrieve this identifier from the payload of a and use it when .

Upstream data sent in a POST fulfillment return request

Upstream API
Attribute
Fulfillment Returns API

Fulfillment Orders

id

âž”

fulfillmentOrderId

Fulfillment Orders

items[].id

âž”

items[].fulfillmentOrderItemId

Orders

id

âž”

upstreamId

A fulfillment return

Returned items

The items array of a fulfillment return contains information on requested and accepted returns. For each item in this array, quantity is the number of items you requested to be returned. The quantityAccepted is how many items have been accepted for return by the fulfiller.

When quantityAccepted is less than quantity, then the fulfiller has not yet approved all products for return.

The fulfillment return life cycle

Fulfillment return level

(1) When the fulfillment return request...
(2) the state transitions to...

has been received by the fulfiller but they haven't approved or rejected it yet

created

has been approved by the fulfiller but the returned items haven't been received at the warehouse yet

pending

has been accepted by the fulfiller because the returned items have been received at the warehouse

accepted

has been rejected by the fulfiller

rejected

Line item level

The state attribute at the item level indicates where a line item is in its return lifecycle. The values for a successfully returned line item (i.e., the happy path) are pending > accepted.

(1) When the line item...
(2) the state transitions to...

identifier is sent in a successfulPOST/fulfillment-returns request but the product(s) is not yet approved for return by the fulfiller

pending

has been received by the fulfiller at the warehouse and the product(s) return is accepted

accepted

return request is rejected by the fulfiller

rejected

Return initiator

The type attribute indicates who initiated the return. A client return is standard and is typically initiated by a customer through the storefront. A warehouse return is initiated when a shipment is refused.

Return address

Monitoring and responding to fulfillment returns

Retrieving a fulfillment return

Listening for fulfillment return events

Return created events

When you submit a successful POST /fulfillment-returns request, we send you a fulfillment_return.created event. This indicates that your return request has been created by Digital River but has not yet been approved or rejected by the fulfiller.

Return approved events

Return accepted events

Return rejected events

A fulfillment_return.rejected event indicates the fulfiller has rejected the return.

When defining a POST /fulfillment-returns request, you can retrieve the required data from the following upstream and resources.

Once you've successfully submitted a POST/fulfillment-returns request, you get back a fulfillment return with a unique id which you can use to later .

The object provides you with information on each . A fulfillment return also contains enumerations that indicate its and .

Once the , we also provide the where the customer should ship the items.

A Digital River coordinated physical return has a defined lifecycle at both the and level. Each stage of these lifecycles is represented by the state attribute.

The state attribute at the fulfillment return level indicates where a is in its lifecycle. The values for a successful fulfillment return (i.e., the happy path) are created > pending > accepted.

Once is approved by the fulfiller, we populate the location hash table. This data structure provides the address where a customer should return the products. To be notified of these approvals, you can subscribe to events.

Once you submit a POST /fulfillment-returns request, you can determine its status by or .

There are two methods in the that can be used to retrieve fulfillment returns. You can filtered by optional query parameters. You can also by sending its unique identifier as a path parameter.

You can to listen for fulfillment return events. The data.object of every one of these consists of a .

If the fulfiller approves the return request, we send you a fulfillment_return.pending event. You can use this event to determine and and then convey this information to the customer.

When the fulfiller notifies us that they've received and accepted the returned products, we send you a fulfillment_return.accepted event. If you don't want to reimburse customers until they have returned products, your integration should wait to receive this event before .

issuing refunds
retrieve the fulfillment return
requested and accepted return item
state
who initiated it
fulfiller approves the return
return address
fulfillment return level
line item
fulfillment return
a return request
fulfillment_return.pending
calling the API directly
listening for webhook events
what items can be returned
where they can be sent
Digital River coordinated fulfillments
option to cancel
issuing refunds
request
retrieve
fulfillment return
events it emits
ensure the items you want to return are in the correct state
define and submit the return request
identifier of the fulfillment order
data on the inventory items
identifier of the upstream order
fulfillment_return.accepted event
events
fulfillment return
configure your webhooks
identifier of the upstream order
shipped state
retrieving the upstream fulfillment order
listening for fulfillment order events
fulfillment order
identifier of the upstream fulfillment order
identifier it was assigned in the upstream fulfillment order
Fulfillment Order
Fulfillment Returns API
Order
Fulfillment Returns API
get a list of fulfillment returns
get an individual fulfillment return