# Integration checklists

These [MOR/SOR](https://docs.digitalriver.com/digital-river-api/glossary#merchant-of-record-seller-of-record-mor-sor) integration checklists are meant to assist developers and quality assurance teams. Each checklist covers features that we either require or highly recommend you build into your tool. We also provide [sequence diagrams](#sequence-diagram) to help you conceptualize the various interactions.

You can use these checklists and [sequence diagrams](#sequence-diagram) while developing and testing your commerce connector.

* [ ] [Admin portal](https://docs.digitalriver.com/digital-river-api/general-resources/standards-and-certifications/integration-checklists/admin-portal)
* [ ] [Products and SKUs](https://docs.digitalriver.com/digital-river-api/general-resources/standards-and-certifications/integration-checklists/products-and-skus)
* [ ] [Customers and tax exemptions](https://docs.digitalriver.com/digital-river-api/general-resources/standards-and-certifications/integration-checklists/customers-and-tax-exemptions)
* [ ] [Checkout, payment sources, and orders](https://docs.digitalriver.com/digital-river-api/general-resources/standards-and-certifications/integration-checklists/checkouts-payment-sources-and-orders)
* [ ] [Disclosures, compliance statements, and emails](https://docs.digitalriver.com/digital-river-api/general-resources/standards-and-certifications/integration-checklists/disclosures-compliance-statements-and-emails)
* [ ] [Fulfillments and cancellations](https://docs.digitalriver.com/digital-river-api/general-resources/standards-and-certifications/integration-checklists/fulfillments-and-cancellations)
* [ ] [Customer portal](https://docs.digitalriver.com/digital-river-api/general-resources/standards-and-certifications/integration-checklists/customer-portal)
* [ ] [Order refund synchronization](https://docs.digitalriver.com/digital-river-api/general-resources/standards-and-certifications/integration-checklists/order-refund-synchronization)
* [ ] [Reversals](https://docs.digitalriver.com/digital-river-api/general-resources/standards-and-certifications/integration-checklists/reversals)
* [ ] [Error handling](https://docs.digitalriver.com/digital-river-api/general-resources/standards-and-certifications/integration-checklists/error-handling)

Completing these checklists helps ensure your commerce connector can pass the [tool-specific certification](https://docs.digitalriver.com/digital-river-api/general-resources/standards-and-certifications/certification-process), and that any client sites built with the tool can successfully complete the [production checkout certification](https://docs.digitalriver.com/digital-river-api/general-resources/compliance-requirements#production-checkout-certification).

## Sequence diagrams <a href="#sequence-diagram" id="sequence-diagram"></a>

The following sequence diagrams depict the [core commerce flow](#core-commerce-flow), [subscription acquisitions](#subscription-acquisitions), [merchant-initiated auto-renewals](#subscription-auto-renewals), key [order, and fulfillment events](#order-related-events-and-client-fulfillments), and [how customers use their account portals to create and save payment sources](#source-creation-in-customer-portals). You can consult these sequence diagrams while working your way through the various integration checklists.

### Core commerce flow

This diagram depicts the core commerce flow and shows the basic interactions between the customer, your commerce platform, the Digital River APIs, and Digital River's Global Commerce layer. The same diagram and accompanying text are on the [Process flow](https://docs.digitalriver.com/digital-river-api/integration-options/checkouts/process-flow) page.

{% file src="<https://334437993-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LqH4RJfLVLuHPXuJyTZ%2F-McGYxpEFistBARSB4dL%2F-McGbd_ENn7PtZ8cNyff%2FCore%20Commerce.png?alt=media&token=90ff0efb-fef8-4c5c-b3d2-456b8ba8ffe8>" %}

### Core commerce flow (with submit then redirect)

This diagram depicts an end-to-end commerce flow using the submit then redirect solution. For details on how to implement it, refer to [Handling redirect payment methods](https://docs.digitalriver.com/digital-river-api/integration-options/checkouts/building-you-workflows/handling-redirect-payment-methods).

{% file src="<https://334437993-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LqH4RJfLVLuHPXuJyTZ%2Fuploads%2FhQJCOu5XBqRpNfzFkwXa%2FCore%20Commerce%20-%20Submit%20then%20redirect.png?alt=media&token=e9c276e6-d868-4768-8d99-a4d5ba55b90d>" %}

### Subscription acquisitions

In this illustration, we depict the interactions that occur while using a [third-party subscription service](https://docs.digitalriver.com/digital-river-api/integration-options/checkouts/subscriptions/third-party-coordinated-subscriptions) to build an acquisition checkout and process the order's response.

{% file src="<https://334437993-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LqH4RJfLVLuHPXuJyTZ%2F-McV8RDrHORrUJOGlTnK%2F-McV8UiRhyW-T5tPVM0b%2FSubscription%20acquisitions.png?alt=media&token=3dd583bb-3987-4c30-ba7a-80d436b1952c>" %}

### Subscription auto-renewals

{% file src="<https://334437993-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LqH4RJfLVLuHPXuJyTZ%2F-McGYxpEFistBARSB4dL%2F-McGc-td-DUzkw-iTj3v%2FSubscription%20auto-renewals.png?alt=media&token=e73bcb13-e9aa-42d6-9d03-a38059e57b38>" %}

This diagram depicts a standard, merchant-initiated autorenewal that uses a [third-party subscription service](https://docs.digitalriver.com/digital-river-api/integration-options/checkouts/subscriptions/third-party-coordinated-subscriptions). In this sequence of events (other than being notified of successful and failed renewal attempts), customers don't actively interact with either the commerce platform or Digital River.

### Order-related events and client fulfillments

This visualization shows the potential webhook events that are emitted when a `POST/orders` returns a `state` of `in_review` or `pending payment`. It also demonstrates how an order in an `accepted` state drives both fulfillments and cancellations and how to handle the order complete event.

{% file src="<https://334437993-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LqH4RJfLVLuHPXuJyTZ%2F-McGYxpEFistBARSB4dL%2F-McGcCbF3op4YEYOT9TY%2FOrder%20and%20fulfillment%20events.png?alt=media&token=b4190ed7-096a-49c4-ad11-eec2c43a9f28>" %}

### Source creation in customer portals

In this sequence diagram, we demonstrate how customers can use their account portals to create payment sources in Drop-in that are ready for storage and how you can then save these sources to their accounts for use in future purchases. The interactions in this diagram occur outside of a standard checkout flow.

{% file src="<https://334437993-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LqH4RJfLVLuHPXuJyTZ%2F-McGYxpEFistBARSB4dL%2F-McGcLKXTZKiJGSF13lU%2FCreate%20sources%20in%20customer%20portal.png?alt=media&token=c10f34da-78df-4c33-afea-84eb7fb2982a>" %}
