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.
## Developer tools and resources
Explore the following developer tools and resources to get familiar with building payment customizations.
## Next steps
- [Get started](/docs/apps/build/checkout/payments/create-payments-function) with building payment customizations.