<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "AppStoreServerNotifications",
  "identifier" : "/documentation/AppStoreServerNotifications",
  "metadataVersion" : "0.1.0",
  "role" : "Web Service",
  "symbol" : {
    "kind" : "Web Service",
    "modules" : [
      "App Store Server Notifications"
    ],
    "preciseIdentifier" : "AppStoreServerNotifications"
  },
  "title" : "App Store Server Notifications"
}
-->

# App Store Server Notifications

Monitor In-App Purchase events in real time and learn of unreported external purchase tokens, with server notifications from the App Store.

## Overview

App Store Server Notifications is a server-to-server service that sends real-time notifications for In-App Purchase events, and notifications for unreported external purchase tokens. Use the data in the notifications to update your user-account database, and to monitor and respond to in-app purchase refunds. For notifications related to the <doc://com.apple.documentation/documentation/StoreKit/external-purchase> API, see [`externalPurchaseToken`](/documentation/AppStoreServerNotifications/externalPurchaseToken).

> Important:
> The ``doc://com.apple.appstoreservernotifications/documentation/AppStoreServerNotifications/App-Store-Server-Notifications-V1`` endpoint and version 1 notifications, ``doc://com.apple.appstoreservernotifications/documentation/AppStoreServerNotifications/notification_type``, are deprecated. Implement the ``doc://com.apple.appstoreservernotifications/documentation/AppStoreServerNotifications/App-Store-Server-Notifications-V2`` endpoint on your server to receive version 2 notifications instead.

To receive server notifications from the App Store, provide your server’s HTTPS URL in App Store Connect. Opt in to receive notifications for the production environment and the sandbox environment. For more information, see [Enabling App Store Server Notifications](/documentation/AppStoreServerNotifications/enabling-app-store-server-notifications).

Your server is responsible for parsing, interpreting, and responding to all server-to-server notification posts. For more information, see [Receiving App Store Server Notifications](/documentation/AppStoreServerNotifications/receiving-app-store-server-notifications) and [Responding to App Store Server Notifications](/documentation/AppStoreServerNotifications/responding-to-app-store-server-notifications).

### Process in-app purchase notifications

Notifications cover events in the in-app purchase life cycle, including purchases, subscription renewals, offer redemptions, refunds, and more. For a complete list of notification types, see [`notificationType`](/documentation/AppStoreServerNotifications/notificationType) for [`App Store Server Notifications V2`](/documentation/AppStoreServerNotifications/App-Store-Server-Notifications-V2).

Use the notification type, along with the transaction and subscription renewal information, to update a customer’s service or to present promotional offers according to your business logic.

### Process external purchase token notifications

A [`notificationType`](/documentation/AppStoreServerNotifications/notificationType) of `EXTERNAL_PURCHASE_TOKEN` with an `UNREPORTED` [`subtype`](/documentation/AppStoreServerNotifications/subtype) indicates that Apple generated an external purchase token for your app but hasn’t received a report for the token. The notification includes the token in the [`externalPurchaseToken`](/documentation/AppStoreServerNotifications/externalPurchaseToken) field of the [`responseBodyV2DecodedPayload`](/documentation/AppStoreServerNotifications/responseBodyV2DecodedPayload). Use the token information to report it to Apple, including if you don’t recognize the token in your system. To report tokens, with or without associated transactions, call the <doc://com.apple.documentation/documentation/ExternalPurchaseServerAPI>’s <doc://com.apple.documentation/documentation/ExternalPurchaseServerAPI/Send-External-Purchase-Report> endpoint.

For more information about token reporting requirements, see [Using alternative payment options on the App Store in the European Union](https://developer.apple.com/support/apps-using-alternative-payment-providers-in-the-eu/).

### Test your server setup

To determine whether your server is receiving notifications, call the <doc://com.apple.documentation/documentation/AppStoreServerAPI/Request-a-Test-Notification> endpoint in the <doc://com.apple.documentation/documentation/AppStoreServerAPI> to ask the App Store server to send a notification with the [`notificationType`](/documentation/AppStoreServerNotifications/notificationType) `TEST`. Use the `testNotificationToken` you receive to call the <doc://com.apple.documentation/documentation/AppStoreServerAPI/Get-Test-Notification-Status> endpoint to learn how your server responds to the test notification.

The App Store server sends the `TEST` notification in the version 2 notification format, however, it sends it to your server regardless of whether you configure a version 1 or version 2 notification URL in App Store Connect. For more information about configuring your URL in App Store Connect, see [Enter a URL for App Store server notifications](https://help.apple.com/app-store-connect/#/dev0067a330b).

## Topics

### Essentials

[Enabling App Store Server Notifications](/documentation/AppStoreServerNotifications/enabling-app-store-server-notifications)

Configure your server and provide an HTTPS URL to receive notifications about in-app purchase events and unreported external purchase tokens.

[Receiving App Store Server Notifications](/documentation/AppStoreServerNotifications/receiving-app-store-server-notifications)

Implement server-side code to receive and parse notification posts.

[Responding to App Store Server Notifications](/documentation/AppStoreServerNotifications/responding-to-app-store-server-notifications)

Send HTTP status codes to indicate the success of a notification post.

[App Store Server Notifications changelog](/documentation/AppStoreServerNotifications/app-store-server-notifications-changelog)

Learn about changes to the App Store Server Notifications service.

### Server notifications version 2

[`App Store Server Notifications V2`](/documentation/AppStoreServerNotifications/App-Store-Server-Notifications-V2)

Specify your secure server’s URL in App Store Connect to receive version 2 notifications.

[`responseBodyV2`](/documentation/AppStoreServerNotifications/responseBodyV2)

The response body the App Store sends in a version 2 server notification.

[`responseBodyV2DecodedPayload`](/documentation/AppStoreServerNotifications/responseBodyV2DecodedPayload)

A decoded payload that contains the version 2 notification data.

[`notificationType`](/documentation/AppStoreServerNotifications/notificationType)

The type that describes the In-App Purchase or external purchase event for which the App Store sends the version 2 notification.

[`subtype`](/documentation/AppStoreServerNotifications/subtype)

A string that provides details about select notification types in version 2.

### Deprecated

[App Store Server Notifications Version 1](/documentation/AppStoreServerNotifications/app-store-server-notifications-version-1)

Receive, parse, and interpret App Store Server Notifications version 1.

## See Also

  <doc://com.apple.documentation/documentation/StoreKit/in-app-purchase>

  <doc://com.apple.documentation/documentation/AppStoreServerAPI>

  <doc://com.apple.documentation/documentation/AppStoreReceipts>



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)
