--- title: Post-purchase extensions configuration description: Define the capabilities and metafields for your post-purchase extension. api_name: checkout-extensions source_url: html: 'https://shopify.dev/docs/api/checkout-extensions/post-purchase/configuration' md: >- https://shopify.dev/docs/api/checkout-extensions/post-purchase/configuration.md --- ExpandOn this page * [How it works](https://shopify.dev/docs/api/checkout-extensions/post-purchase/configuration.md#how-it-works) * [Anatomy of a configuration file](https://shopify.dev/docs/api/checkout-extensions/post-purchase/configuration.md#anatomy-of-a-configuration-file) # Post-purchase extensions configuration When you [create a post-purchase extension](https://shopify.dev/docs/apps/build/checkout/product-offers/build-a-post-purchase-offer), the `shopify.extension.toml` file is automatically generated in your extension directory. This guide describes the properties that you can configure in `shopify.extension.toml`. *** ## How it works You define properties for your extension in the extension configuration file. The `shopify.extension.toml` file contains the extension's settings, which include the extension name and metafields. When an extension is published to Shopify, the contents of the configuration file are pushed alongside the extension. *** ## Anatomy of a configuration file The following example shows the properties in the `shopify.extension.toml` file: ## shopify.extension.toml ```toml name = "post-purchase-ui" type = "checkout_post_purchase" uid = "cd7fff10-47a6-a6f7-60f2-c8e090f069c8fd0d2443" # [[metafields]] # namespace: my-namespace # key: my-key # [[metafields]] # namespace: my-namespace # key: my-key-2 ``` | Property | Required? | Description | | - | - | - | | `type` | Yes | The type of extension. For checkout post-purchase extensions, this value is always `checkout_post_purchase`. | | `name` | Yes | The name of the checkout post-purchase extension. | | `metafields` | Yes | The [metafields](https://shopify.dev/docs/api/admin-graphql/latest/objects/metafield) that your extension needs to read. You can specify up to five `key` and `namespace` pairs in the configuration file. When the extension is executed, Shopify looks for the metafields in each resource and returns their contents. | *** * [How it works](https://shopify.dev/docs/api/checkout-extensions/post-purchase/configuration.md#how-it-works) * [Anatomy of a configuration file](https://shopify.dev/docs/api/checkout-extensions/post-purchase/configuration.md#anatomy-of-a-configuration-file)