You can use payment customizations to hide, reorder, and rename the payment options that are available to buyers during checkout. In this tutorial series, you'll use [Shopify Functions](/docs/apps/build/functions) to create a function that lets merchants hide a payment option offered to customers at checkout, based on the total value of their cart. ## What you'll learn In this tutorial series, you'll learn how to do the following tasks: - Set up your environment to use functions. - Create a payment customization function. - Add configuration to your payment customization using metafields. - Build a payment customization user interface with App Bridge. ## Requirements - You've created a [Partner account](https://www.shopify.com/partners). - You've created a [development store](/docs/api/development-stores#create-a-development-store-to-test-your-app). - You've [created an app that uses Shopify CLI 3.49.5 or higher](/docs/apps/build/scaffold-app). If you previously installed Shopify CLI, then make sure that you're using the [latest version](/docs/api/shopify-cli#upgrade). If you plan to create a UI for your extension, then start with the [Remix app template](/docs/api#app-templates). - You've installed [Node.js](https://nodejs.org/en/download) 16 or higher. - You've [installed your app](/docs/apps/build/scaffold-app#step-3-install-your-app-on-your-development-store) on the development store. ### Rust-specific requirements The following requirements are specific to Rust-based development with Shopify Functions. - You've installed [Rust](https://www.rust-lang.org/tools/install). On Windows, Rust requires the [Microsoft C++ Build Tools](https://docs.microsoft.com/en-us/windows/dev-environment/rust/setup). Make sure to select the **Desktop development with C++** workload when installing the tools. - You've installed the [`wasm32-wasip1` target](https://doc.rust-lang.org/rustc/platform-support/wasm32-wasip1.html):

## Limitations and considerations - Plan and geographical restrictions apply. [Learn more](https://help.shopify.com/en/manual/checkout-settings/checkout-customization#understanding-payment-method-customizations) - When the Payment Customization API usage is restricted, the function [input](/docs/api/functions/reference/payment-customization/graphql/input) will still contain all payment methods, however [output](/docs/api/functions/reference/payment-customization/graphql/functionrunresult) [operations](/docs/api/functions/reference/payment-customization/graphql/common-objects/operation) that target restricted payment methods will not take effect on the checkout. - You can't rename payment methods that have logos as a name, such as **Shop Pay**, **Apple Pay** and **Google Pay**. This also includes all wallets and the Shopify native gift card field. - In Shop Pay, payment customization functions do not apply operations on any payment methods except the native gift card field. - You can remove wallets from the **Express** or payment method section of checkout, but you can't reorder them. - You can install a maximum of five payment customization functions on each store. ## Sample code If you want to quickly get started, then you can get the sample code by completing the following steps. The [tutorial series](#tutorial-series) describes the sample code step by step. 1. Clone the payment customizations sample app:

> Note: > You can [view the source code for the payment customizations sample app](https://github.com/Shopify/function-examples/tree/main/sample-apps/payment-customizations) in GitHub. 1. Enter a name for your app project. 1. Navigate to your app directory:

1. Link your app configuration:

1. Start a local server for your app:

1. With the server running, open the **Preview URL** in the terminal output. When you open the URL, you're prompted to install the app on your development store. 1. Click **Install app** to install the app on the store. 1. [Create and test your payment customization](/docs/apps/build/checkout/payments/build-ui#step-5-create-and-test-your-payment-customization). ## Tutorial series Follow the tutorial series to go from "Hello World" to a functional payments customization experience.

Tutorial 1: Getting started with building payment customizations

Create a new payment customization function.

Tutorial 2: Add configuration to your payment customization

Add configuration to your payment customization using metafields.

Tutorial 3: Build a payment customization user interface

Build a new page in your app where merchants can view payment customizations.

## Developer tools and resources Explore the following developer tools and resources to get familiar with building payment customizations.

Payment Customization API reference

Consult the GraphQL reference for the Payment Customization API.

Language support

Learn about the language support and tooling that are available in Shopify Functions.

UX guidelines for payment customizations

Learn how to implement payment customizations in user interfaces.

## Next steps - [Get started](/docs/apps/build/checkout/payments/create-payments-function) with building payment customizations.