The following sequence diagrams depict the interaction between the customer, your commerce platform, the Digital River API integration layer, and Digital River.
These diagrams are meant to outline Digital River's core capabilities, focusing specifically on:
Important states of the order life cycle
The sequence of major events in the Digital River API
The necessary data you must provide Digital River to utilize our merchant of record/seller of record (MOR/SOR) business model
How checkouts, orders, events, fulfillments, and post order processing works
Prior to creating a checkout or processing an order, you'll need to create your SKUs by providing, at a minimum, the product or service name, tax code, country of origin, and Export Control Classification Number. As MOR/SOR, Digital River requests this data in order to adhere to local regulations and tax laws.
The following diagram outlines the pre-checkout interactions between the customer and your commerce platform. Digital River is not involved in these initial steps.
After customers have built a cart, initiated a checkout, and confirmed the cart details, they can elect to checkout as either a guest or an authenticated user.
Digital River creates a Customer and a Checkout and then returns the selling entity, tax calculations, and the Digital River terms of sale to your commerce platform. This gives the customer the opportunity to review the terms before providing payment information.
In order for the customer to authorize payment, use the DigitalRiver.js library to take a payment and create a source identifier. Once the source identifier is returned via the DigitalRiver.js library, you finalize the checkout and create an order. When an order is created, Digital River authorizes the customer’s payment and moves the order into a submitted state pending fulfillment.
In the final steps, you fulfill the shopper's order. Once notified that the order is fulfilled, Digital River captures the customer's funds and closes the order. All post-order events, including checkouts, orders, and fulfillments, are managed via webhooks.