Create a payments app
A public app becomes a payments app after you've configured your payments app extension, submitted it for approval, and published a version. When you publish your payments app, your app becomes available, and merchants can install and use the app in their Shopify stores.
Payments app extensions
Anchor link to section titled "Payments app extensions"App extensions are a mechanism that enables apps to support additional features. Payments apps rely on this mechanism in order to offer payments capabilities. There are two types of payments app extensions: offsite payments app extensions and credit card payments app extensions. Each extension allows an app to support a payment method.
A given app can have only one payments app extension. If you want to offer both offsite and onsite credit card payments, then you need to create two apps, and associate one payments app extension to each app.
Offsite payments app extension
Anchor link to section titled "Offsite payments app extension"Offsite payments app extensions enable a payments app to support offsite payment flows.
When a store enables your offsite payments app and a buyer selects your payment method, the buyer is redirected to a webpage that's hosted by your payments app where you can collect the buyer's payment information, confirm the payment, and then redirect the buyer back to Shopify to finalize the order.
Learn more about the offsite payment flow.
Field | Description |
---|---|
Payment session URL Required |
The URL that receives payment and order details from the checkout. |
Refund session URL Required |
The URL that refund session requests are sent to. |
Capture session URL | The URL that capture session requests are sent to. This is only used if your payments app supports merchant manual capture or void payments. |
Void session URL | The URL that void session requests are sent to. This is only used if your payments app supports merchant manual capture or void payments. |
Multiple capture Closed Beta |
Enables merchants using your payment provider app to partially capture an authorized payment multiple times up to the full authorization amount. This is used only if your payments app supports merchant manual capture. |
Buyer features | The customer features that your payments app offers. 3D Secure support is mandated in some instances. For example, you must select the 3D Secure buyer feature checkbox if you plan to support credit card payments in countries which have mandated 3D Secure. |
Payment methods Required |
The payment methods (for example, Visa) that are available with your payments app. |
Available countries Required |
The countries where your payments app is available. |
Merchant admin name Required |
The name for your payment provider app. This name is displayed to merchants in the Shopify admin when they search for payment methods to add to their store. Limited to 50 characters. |
Checkout name | The name of the checkout. Your checkout name can be the same as your Merchant admin name or it can be customized for customers. This name is displayed with the payment methods that you support in the customer checkout. After a checkout name has been set, translations should be provided for localization. |
Test mode Required |
Enables merchants using your payments app to test their setup by simulating transactions. To test your app on a development store, your alternative payment provider in the Shopify admin must be set to test mode. |
API version Required |
The Payments Apps GraphQL API version used by the payment provider app to receive requests from Shopify. You must use the same API version for sending GraphQL requests. You must not use unstable in production. API versions are updated in accordance with Shopify's general API versioning timelines. |
Credit card payments app extension
Anchor link to section titled "Credit card payments app extension"Credit card payments app extensions allow a payments app to be rendered as an onsite payment method in checkout. It supports configuration to manage credit card payments and 3DS authentication.
When a store enables your credit card payments app and a buyer selects your payment method, the buyer can input their credit card information into a form shown in Shopify's checkout. Upon submission, the credit card information is sent to the payments app that processes the payments.
Learn more about the credit card payment flow.
Field | Description |
---|---|
Payment session URL Required |
The URL that receives payment and order details from the checkout. |
Refund session URL Required |
The URL that refund session requests are sent to. |
Capture session URL Required |
The URL that capture session requests are sent to. |
Void session URL Required |
The URL that void session requests are sent to. |
Confirm session URL | The URL that confirm session requests are sent to. This URL is required if your payments app supports 3-D Secure authentication. |
Multiple capture Closed Beta |
Enables merchants using your payment provider app to partially capture an authorized payment multiple times up to the full authorization amount. |
Buyer features | The customer features that your payments app offers. 3D Secure support is mandated in some instances. For example, you must select the 3D Secure buyer feature checkbox if you plan to support credit card payments in countries which have mandated 3D Secure. |
Payment methods Required |
The payment methods (for example, Visa) that are available with your payments app. |
Available countries Required |
The countries where your payments app is available. |
Merchant admin name Required |
The name for your payment provider app. This name is displayed to merchants in the Shopify admin when they search for payment methods to add to their store. Limited to 50 characters. |
Checkout name | The name of the checkout. Your checkout name can be the same as your Merchant admin name or it can be customized for customers. This name is displayed with the payment methods that you support in the customer checkout. After a checkout name has been set, translations should be provided for localization. |
Test mode Required |
Enables merchants using your payments app to test their setup by simulating transactions. To test your app on a development store, your alternative payment provider in the Shopify admin must be set to test mode. |
Encryption Certificate Required |
The certificate that Shopify uses to generate the ephemeral key and encrypt the credit card information of the customer. Refer to manage encryption certificates section to learn more. |
API version Required |
The Payments Apps GraphQL API version used by the payment provider app to receive requests from Shopify. You must use the same API version for sending GraphQL requests. You must not use unstable in production. API versions are updated in accordance with Shopify's general API versioning timelines. |
- Learn how to manage payments app extensions.
- Lean how to manage encryption certificates for onsite credit card payments apps.