App Purchase
Requires The staff member must have permission to manage app billing or approve app charges if authenticated with an online access token as described in https://shopify.dev/apps/auth/oauth/access-modes.
Services and features purchased once by the store.
Anchor to FieldsFields
- Anchor to createdAtcreated•Date
At Time! non-null The date and time when the app purchase occurred.
- Anchor to namename•String!non-null
The name of the app purchase.
- Anchor to priceprice•Money
V2! non-null The amount to be charged to the store for the app purchase.
- Anchor to returnUrlreturn•URL!
Url non-null The URL where the merchant is redirected after approving the app purchase.
- Anchor to statusstatus•App
Purchase Status! non-null The status of the app purchase.
- Anchor to testtest•Boolean!non-null
Whether the app purchase is a test transaction.
Anchor to Types implemented inTypes implemented in
- •OBJECT
Represents a one-time purchase of app services or features by a merchant, tracking the transaction details and status throughout the billing lifecycle. This object captures essential information about non-recurring charges, including price and merchant acceptance status.
One-time purchases are particularly valuable for apps offering premium features, professional services, or digital products that don't require ongoing subscriptions. For instance, a photography app might sell premium filters as one-time purchases, while a marketing app could charge for individual campaign setups or advanced analytics reports.
Use the
object to:
- Track the status of individual feature purchases and service charges
- Track payment status for premium content or digital products
- Access purchase details to enable or disable features based on payment status
The purchase status indicates whether the charge is pending merchant approval, has been accepted and processed, or was declined. This status tracking is crucial for apps that need to conditionally enable features based on successful payment completion.
Purchase records include creation timestamps, pricing details, and test flags to distinguish between production charges and development testing. The test flag ensures that development and staging environments don't generate actual charges while maintaining realistic billing flow testing.
For detailed implementation patterns and billing best practices, see the one-time-charges page.
- Anchor to createdAtcreated•Date
At Time! non-null The date and time when the app purchase occurred.
- •ID!non-null
A globally-unique ID.
- Anchor to namename•String!non-null
The name of the app purchase.
- Anchor to priceprice•Money
V2! non-null The amount to be charged to the store for the app purchase.
- Anchor to returnUrlreturn•URL!
Url non-null The URL where the merchant is redirected after approving the app purchase.
- Anchor to statusstatus•App
Purchase Status! non-null The status of the app purchase.
- Anchor to testtest•Boolean!non-null
Whether the app purchase is a test transaction.