# Customization
source: https://developer.mastercard.com/ob-accept-payments/documentation/features/customization/index.md

Mastercard Open Finance Pay enables you to customize your Payment Flows using our Theming API. The Theming API provides the capability to leverage the merchant's brand to configure a merchant-themed Payment Flow.

This enables you to offer enhanced branding consistency, improved consumer experience and easy Theme management for Payment Flows.

The API is embedded directly into the customer's platform's backend, enabling them to customize and control the look and feel of any user journey, without needing to handle complex UI design.

### Example of payment screens before and after customization {#example-of-payment-screens-before-and-after-customization}

**Bank Selector**
![](https://static.developer.mastercard.com/content/ob-accept-payments/uploads/pis-ecommerce-witha.png) **After a theme has been applied**
![](https://static.developer.mastercard.com/content/ob-accept-payments/uploads/pis-ecommerce-withouta.png)

**Confirmation screen**
![](https://static.developer.mastercard.com/content/ob-accept-payments/uploads/pis-ecommerce-withoutb.png)   
**After a theme has been applied**
![](https://static.developer.mastercard.com/content/ob-accept-payments/uploads/pis-ecommerce-withb.png)

Refer to the [Theming API Documentation](https://developer.mastercard.com/mastercard-open-banking-theming-api/documentation/#overview) to learn how to create Themes that can be applied to your Payment Flows.

## High Level Theming Flow {#high-level-theming-flow}

For a detailed description of how to create Themes using Mastercard Open Finance Theming API, refer to the Theming API Documentation. A high level flow for creating and applying Themes to your Mastercard Open Finance Pay Payment Flows is described below.

#### Step 1 - Create a Theme {#step-1---create-a-theme}

* You can Create a Theme that can be used to customize your Payment Flows by using the Theming APIs Create theme endpoint`(POST /themes`.
* When creating a new theme you can choose to modify the following aspects of the Mastercard Open Finance Pay payment screens:
  * **The Primary Colour** The primary colour that will be applied to Call to actions in the Payment Flow. Here you can choose a colour that aligns with the Merchant's website to maintain a consistent user experience throughout the user journey.
  * **The Logo** The logo passed in while creating a Theme will appear on the Mastercard Open Finance Pay payment screens. Here you can use the Merchant's logo. This will make users feel more comfortable when being redirected from the Merchant site to the Mastercard Open Finance Pay payment screens.
  * **The Font** The font that will be applied to text in the Payment Flow. Here you can chose a font that aligns with the Merchant's website to maintain a consistent user experience throughout the user journey.
  * **The Secondary CTA Color** Border and text color of the secondary call-to-action (CTA) button in the flows -- e.g. back or decline.
  * **The Border Radius** Curvature of corners of various screen elements in the flows -- e.g. buttons, info boxes, input fields, etc.
  * **The Title Color** Color of title text in the flow.
* Once you have successfully created a new Theme the Theming API will return a `themeId`.

#### Step 2 - Create a Payment with the customization defined in the creation of a Theme {#step-2---create-a-payment-with-the-customization-defined-in-the-creation-of-a-theme}

* Create a new Payment request as normal. For more information on how to create a payment, refer to [Single Immediate Payments](https://developer.mastercard.com/ob-accept-payments/documentation/payments/single-immediate-payments/single-immediate-payments/index.md)
* When creating the new Payment request, insert the `themeId` that was returned by the Theming API.
* You may have many Merchants that use different Themes. To offer a customized Payment Flow for each Merchant, you will need to create a Theme for each Merchant and pass in the `themeId` associated with that Merchant in each Payment request to insert the desired customization.

#### Step 3 - Manage your Themes {#step-3---manage-your-themes}

The Theming API offers several endpoints that can be used to manage your Themes.

* **Get themes** - The Get themes endpoint `GET /themes` can be used to fetch details of all of the Themes that you have previously created.
* **Get theme** - The Get theme endpoint `/GET themes/{theme_id}` can be used to fetch the details of a specific Theme by passing in a `themeId`.
* **Update theme** - The Update theme endpoint `PUT /themes/{theme_id}` can be used to update a previously created Theme by passing in the `themeId` and specifying the new Theme in the request body.
* **Delete theme** - The Delete theme endpoint `DELETE /themes/{theme_id})` can be used to delete a previously created Theme by passing in the `themeId`. Once a Theme has been deleted, it cannot be used again.
