View charges and earnings
You can view data on charges and transactions using the following mechanisms:
App charge data in the Partner Dashboard
Anchor link to section titled "App charge data in the Partner Dashboard"You can view the following data by page in the Partner Dashboard:
Page | Data |
---|---|
App charge overview |
|
Store | App charges for a specific store |
Payouts | App charges for a specific payout |
App history | App charge details |
App charge overview page
Anchor link to section titled "App charge overview page"The app charge overview page provides the most comprehensive information regarding charges and earnings. The page provides the following details:
Merchant information, including a link to the store where the app is installed
The name of the app that the merchant was charged for, including a link to the app
The status of the app charge or subscription
The list of merchant payment transactions that are associated with the charge
Clicking the arrow next to a transaction displays the following details:
An itemized list of the Shopify revenue share fee, processing fee, and your net profit as the app's developer
A link to the Partner payout that includes the app charge. The payout link isn't applicable to pending payouts.
The overview page includes additional charge details for subscription charges.
Subscription charge details
Anchor link to section titled "Subscription charge details"You can view the following additional details for subscription charges:
A description of the charge, such as $15 every 30 days for an app subscription charge.
The date on which the charge was created.
The charge's status, which can be one of the following:
Charge statuses Status Description Pending The merchant hasn't yet approved or declined the charge. Activated The charge is currently active.
For some payments, such as wire transfers, Shopify marks the charge as active when the payment is in flight.
Declined The merchant declined the charge. Canceled The merchant or the developer canceled the subscription
If a payment doesn't go through, then Shopify retries the charge. Only shut off a merchant's app access after Shopify freezes the charge.
Frozen The subscription is on hold due to a store subscription non-payment. The charge reactivates after the subscription payments resume. Expired The merchant didn't accept the charge within two non-business days.
Transaction data through the GraphQL Admin API
Anchor link to section titled "Transaction data through the GraphQL Admin API"You can use the following billing resources on the GraphQL Admin API to view transaction data:
Transaction data | Resource | Learn how |
---|---|---|
Single app purchase | AppPurchaseOneTime |
Example |
Multiple app purchases | currentAppInstallation |
Example |
Single app subscription | currentAppInstallation |
Example |
Multiple app subscription | AppSubscription |
Example |
App usage records for a single subscription | AppSubscription |
Example |
App usage records for multiple subscriptions | currentAppInstallation |
Example |
App usage record | currentAppInstallation |
Example |
View app revenue
Anchor link to section titled "View app revenue"You can view your app's revenue and retrieve data on transactions using the following mechanisms:
Requirements
Anchor link to section titled "Requirements"To use the Partner Dashboard, you require a Partner account.
To view the Partner Dashboard's app charge overview and Payouts pages, store owners and staff require the
View financials
permission.To use the GraphQL Admin API, your app must be able to make authenticated requests to the API.
Viewing app charges in the Partner Dashboard
Anchor link to section titled "Viewing app charges in the Partner Dashboard"The following procedures explain how to view app charges and data from the Partner Dashboard:
App charge overview page
Anchor link to section titled "App charge overview page"- From the Partner Dashboard, click Apps .
- Select the app that you want to view charges for.
- On the Overview page, scroll to Latest app history.
- Optional: Select View all app history and navigate through the pages.
- In the Event Details column, click Open payments.
- To view transaction details, next to a transaction click the inverted caret (▼).
- From the Partner Dashboard, click Apps .
- In the search bar, enter the name of the store with the app charges that you want to check.
- In the search results, select the store.
- Next to the app charge that you want to check, click the link in the Details column.
Payouts page
Anchor link to section titled "Payouts page"- From the Partner Dashboard, click Apps .
- In the sidebar, click Payouts.
- On the Payouts page, click the payout with the app charges that you want to check.
- Next to the app charge that you want to check, click the link in the Type column.
- For details, next to a transaction click the inverted caret.
App history page
Anchor link to section titled "App history page"- From the Partner Dashboard, click Apps .
- Click the name of the app with the charges that you want to check.
- In the sidebar, click Insights > App history.
- In the table next to the app charge that you want to check, in the Event Details column, click Open payments.
- For details, next to a transaction click the inverted caret.
Querying billing data with the GraphQL Admin API
Anchor link to section titled "Querying billing data with the GraphQL Admin API"Use the following examples to familiarize yourself with billing data in the GraphQL Admin API. The currency code must be one of the supported currencies.
App purchases
Anchor link to section titled "App purchases"You can query a single purchase or multiple purchases.
Single app purchase
Anchor link to section titled "Single app purchase"Query a single purchase with the AppPurchaseOneTime
object. Pass the app purchase ID as an argument. You can retrieve this ID from the Payouts page.
The following is an example:
Multiple app purchases
Anchor link to section titled "Multiple app purchases"Query multiple purchases using currentAppInstallation
. Specify the number of purchases to return by passing first
or last
as an argument.
The following is an example:
App subscriptions
Anchor link to section titled "App subscriptions"You can query a single subscription or multiple subscriptions.
Single app subscription
Anchor link to section titled "Single app subscription"Query a single subscription using the AppSubscription
object. Pass the subscription ID as an argument.
The subscription ID is returned when you create a subscription. The AppSubscription
object can also return the app subscriptions that are associated with the installation.
The following is an example:
Multiple app subscriptions
Anchor link to section titled "Multiple app subscriptions"Query multiple subscriptions using currentAppInstallation
. Specify the number of subscriptions to return by passing first
or last
as an argument.
The following is an example:
App usage records
Anchor link to section titled "App usage records"Query an app usage record for a single subscription or records for multiple subscriptions. You can also query a specific app usage record by its ID.
App usage records for a single subscription
Anchor link to section titled "App usage records for a single subscription"Query the app usage record for a single subscription using the AppSubscription
object. Pass the subscription ID as an argument. You can specify the number of records to return by passing first
or last
as an argument.
The subscription ID is returned when you create a subscription. The AppSubscription
object can also return the app subscriptions that are associated with the installation.
The following is an example:
App usage records for multiple subscriptions
Anchor link to section titled "App usage records for multiple subscriptions"Query the app usage record for a single subscription using currentAppInstallation
. You can get the usageRecords
from the lineItems
field of allSubscriptions
. Specify the number of records to return by passing first
or last
as an argument.
App usage record by ID
Anchor link to section titled "App usage record by ID"Query a specific app usage record using the AppUsageRecord
object. Pass the app usage record ID as an argument.