Can Not Receive Apple Notifications To My Server

Here is a summary of the steps we have taken:

Endpoint Configuration: We have set up an HTTPS endpoint on our server hosted with Heroku. Our application is built with Node.js and Express, and it is designed to listen for POST requests for processing Apple's server notifications.

App Store Connect Setup: We have entered the correct endpoint URL in App Store Connect for both production and sandbox environments. We have also ensured that we are set up to receive version 2 notifications, as this is the latest format.

TLS Support: We have verified that Heroku supports TLS 1.2 by default, and our server is configured to utilize this protocol.

Receipt and Shared Secret: We have generated the shared secret from App Store Connect and stored it securely as a config var in Heroku. This shared secret is used to validate receipts with Apple's verifyReceipt endpoint.

Testing: We have conducted tests using Apple's sandbox environment by performing transactions to trigger server notifications. Additionally, we have also checked the Heroku logs for any incoming requests and haven't observed any related to the Apple server notifications.

Firewall and IP Whitelisting: Our server does not have any IP whitelisting or firewall rules that would block incoming HTTP POST requests from external services.

However, despite these measures, we have not been able to receive any server-to-server notifications

  • My "server" endpoint is set up as an AWS lambda (using TLS 1.2). I can access this endpoint without issue. I am using Node.js in the client-side test code to request the test notification. The response from requestTestNotification() is an object with a testNotificationToken. I use this token to call getTestNotificationStatus(). The response from getTestNotificationStatus() contains 1 send attempt and the sendAttemptResult is: 'UNSUCCESSFUL_HTTP_RESPONSE_CODE'. This has never worked for me.

Add a Comment

Replies

What is the failure reasons reported from the Get Test Notification Status endpoint when you trigger a test notification? (https://developer.apple.com/documentation/appstoreserverapi/get_test_notification_status)