> ## Documentation Index
> Fetch the complete documentation index at: https://docs.m1amdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Developer Best Practices

## About This Guide

This document contains developer best practices for implementing and optimizing the MarketONE solution. This guide is intended for Resellers (Service Providers).

Each Recommended Experience section listed in the [Developer Best Practices Summary](#developer-best-practices-summary) promotes the use of practices that have been derived from delivering frictionless end user experiences. Due to the geography and the location of the service provider, the type of service being delivered, and the market segment being addressed, it is expected that these experiences may vary. It is therefore strongly recommended that they be aligned to the following guidelines to achieve the business objectives laid down for MarketONE.

## Who Is MarketONE For?

MarketONE is for Reseller (Service Provider) and Merchant organizations that want to partner to resell or integrate services. After a partnership is made, the Reseller (Service Provider) can send the Merchant agreement requests to resell their products or provide billing as a payment option for their products.

## Developer Best Practices Summary

The following table contains links to developer best practices topics found in this section, along with a summary of the recommended experience required for launching an end-to-end offering for onboarding and monetization.

| Topic | Recommended Experience |
| - | - |
| [Billing Methods](r_billingMethods) | - Credit Card, Direct Carrier Billing (DCB), and other payment methods, are supported by Commerce Engine. - Commerce Engine should be the only application to manage user credit card information of the user. - A token of the payment method should be managed and maintained in Storefront Gateway to allow for quicker retrieval and to support payment sharing scenarios. |
| [Billing Parameters](r_billingParameters) | - All charges should be billed in advance and not in arrears. - Prorations are not supported. Customers have service until the paid through date, even if they cancel in the middle of the cycle. - Subscription charges can be offset with the billing cycle, and should be maintained as such (with a note against the item on the invoice). |
| [Companion App](r_companionApp) | - The purchase and management of services will be done via unassisted (digital) channels only. - Assisted channels (like call centers) should guide the customer via a link to the unassisted experience to ensure a consistent end user experience. |
| [Content Management](r_contentManagement) | - MarketONE manages the product related content (artwork, description, and images). - Resellers (Service Providers) can use their own CMS and integrate it into MarketONE. |
| [Eligibility](r_eligibility) | - Storefront Gateway holds the user profile related to demographics and segments (etc). Maintaining and populating the user profile will be external to MarketONE. - Storefront Gateway will maintain the user identity and have the services associated to the customer account populated from the BSS. - The rule engine (delivered as part of MarketONE) will retrieve the user profile and the user identity (combined with the product list) from Commerce Engine and execute the eligibility rules before responding back to the MarketONE digital store. |
| [Pricing](r_pricing) | - All product pricing, including discounts and coupon code configurations, is managed and maintained within Commerce Engine. |
| [Product Groups](r_productGroups) | - All products are configured and maintained within Commerce Engine. - Combining the products into one group for display is done in the MarketONE digital store. |
| [Service Activation](r_serviceActivation) | - The orchestration of the entire user experience is managed via Storefront Gateway. - Storefront Gateway has pre-built out-of-the-box (OTTB) processes and pre-integrations to Storefront Gateway and MarketONE which should be leveraged for a faster TTM. - OOTB APIs for partner integrations should be leveraged for onboarding a partner, ensuring the user experience is consistent. - For advanced use cases like associating an existing account to the purchase, should be done via deep linking on the MarketONE digital store. - The actual provisioning of the service on the backend is done by MarketONE. |
| [Settlements](r_settlements) | - Flat or revenue share are the recommended settlement models. - Price plans for settlements can be tiered if they part of the agreement. |
| [Trial Period](r_trialPeriod) | - Commerce Engine manages the trial period for the product. - To make the experience consistent, the same trial period should be configured for all services. |
| [Trial Validation](r_trialValidation) | - Commerce Engine can validate credit cards via tokens to ensure a user does not get multiple trial periods on the same credit. - Resellers (Service Providers) should capture credit card at the time of purchase, even if there is a trial period and the user is not being charged until it ends. |

* **[Billing Methods](r_billingMethods)**

* **[Billing Parameters](r_billingParameters)**

* **[Companion Application](r_companionApp)**

* **[Content Management](r_contentManagement)**

* **[Eligibility](r_eligibility)**

* **[Pricing](r_pricing)**

* **[Product Groups](r_productGroups)**

* **[Service Activation](r_serviceActivation)**

* **[Settlements](r_settlements)**

* **[Trial Period](r_trialPeriod)**

* **[Trial Validation](r_trialValidation)**


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.