Version 2019-10

The ApplicationCharge resource facilitates one-time charges. This type of charge is recommended for apps that aren’t billed on a recurring basis. You can create an application charge by sending a request with the name the charge should appear under, the price your app is charging, and a return URL where Shopify redirects the merchant after the charge is accepted. After you've created the charge, redirect the merchant to the confirmation URL returned by Shopify. If the charge is declined, then Shopify redirects the merchant and provides a notification message that the app charge was declined. For step-by-step guidance that walks through this flow using examples, see our implementation guide.


For testing purposes you can include "test": true when creating the charge. This prevents the credit card from being charged. Test shops and demo shops can't be charged.

What you can do with ApplicationCharge

The Shopify API lets you do the following with the ApplicationCharge resource. More detailed versions of these general actions may be available:

ApplicationCharge properties

"confirmation_url": ""

The URL where the merchant accepts or declines the application charge.

"created_at": "2013-06-27T08:48:27-04:00"

The date and time (ISO 8601 format) when the application charge was created.

"id": 675931192

The ID of the application charge.

"name": "Super Duper Expensive action"

The application charge name.

"price": "100.00"

The price of the application charge. The minimum price is 0.50, and maximum price is 10,000.

"return_url": ""

The URL where the merchant is redirected after accepting a charge.

"status": "accepted"

The status of the application charge. Valid values:

  • pending: The application charge is pending approval by the merchant.