Pre-defined Bundle Purchase

The purpose of this section is to offer clear guidance and visual illustrations on how to implement an end to end pre-defined bundle purchase.

Overview

A cart is a collection of one or more products which can be subscribed to. Carts can be purchased in two forms:

  • A user-defined cart where the customer chooses one or more products from a list and then selects a contract on which to subscribe to those products.
  • A pre-defined bundle whereby the cart and the contract options are set by the provider.

This section will detail the end to end purchase flow of a pre-defined bundle subscription via the eSuite REST API, documented here. This is accomplished in five phases, as illustrated below.

The phases are described below:

Phase 1 - Creating a Selection Page

In order for a user to select a bundle to purchase, they must first be present with the offerings available to them. This means providing a landing page where the user can view all of the bundles available to them. For information on how to create a bundle within eSuite HQ, please visit our documentation here. You may also be interested in reading a Bundle Product Documentation here.

Phase 2 - Authentication

The user should be invited to create an eSuite account, and does so by entering a required subset of personal details. In the case of the user having an existing account, they should be prompted to authenticate using their email address and password. There are user cases where eSuite is not the primary Identity Management System and the authentication of the user is done in a third party platform. If this is the case, the user must still be authenticated in eSuite but this will take place as a server-side call using Client User ID. For more information on different methods of registration, please see the documentation here.

Phase 3 - Address Capture

The Address Capture phase of the user journey is not mandatory in all cases. Delivery Instructions and Address Capture is only mandatory if the bundle contains a product which has a content type of 'Physical'. This phase will cover the retrieval of existing details from the eSuite platform as well as adding new information.

Phase 4 - Payment Details

As part of the journey, the user will be prompted to enter payment details and \ or a voucher code. In order to capture a user's credit card details, a client-side API is required and the page must be hosted on a PCI compliant environment. The example shown in this section assumes you will develop and host the payment page. There is however the option for MPP Global to host this payment page for you but will be subject to a security penetration test.

Phase 5 - Complete Purchase

The final phase, completing the purchase. In this phase the payment will be completed and the user's subscription created.

What's Inside

Within each phase, the structure will remain the same:

  1. Introduction to the workflow, what and how it is achieved
  2. Pre-requisites
  3. A visual illustration of the workflow and description
  4. API Authentication model
  5. APIs required (with links to our API Reference)
  6. Tips and Tricks
  7. Support Contacts

Implementing the Sequence

To implement the sequence illustrated here by means of the eSuite REST API, continue with the pages following. Each in turn provides support for one phase, by means of the appropriate eSuite REST API method. This example journey will be using the client-side authentication method. To support you, the APIs used in the following pages are available to download below as part of a Postman Collection.

Title Link
Pre-Defined Bundle Journey - Postman Collection Download Collection (zip)
Pre-Defined Bundle Journey - Postman Environment Download Environment (zip)

The Collection contains automated pre-request and test scripts that automatically map the API responses into the environment variables. In order to reduce the manual work of changing the APIs and passing in different information, the test scripts will automatically choose which bundle to purchase and advise of the next step.

The Postman Environment does require you add your Token ID to the 'token' variable. Failing to do so will result in an API authentication error.

Any questions or suggestions, please submit a 'suggest edit' in the top right.