For a new app, I have configured my server and the app in App Store Connect according to the official documentation:
- https://developer.apple.com/documentation/appstoreservernotifications/enabling_app_store_server_notifications
- https://help.apple.com/app-store-connect/#/dev0067a330b
However, for some reason I am not receiving any notifications at all, although I have created several subscriptions, up-/downgraded, cancelled, resubscribed, switched auto-renew on and off, aso. I also have access logs and even there I don't see any call from Apple.
A simple test using curl, however, does work as expected:
$ curl -v 'https://MY_HOST/apple-s2s/app-store/sandbox' --data-binary '{}' --header 'content-type: application/json'
* Trying my...ip:443...
* Connected to MY_HOST (my...ip) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256
* ALPN, server accepted to use h2
* Server certificate:
* subject: CN=MY_HOST
* start date: Nov 16 19:10:49 2021 GMT
* expire date: Feb 14 19:10:48 2022 GMT
* subjectAltName: host "MY_HOST" matched cert's "MY_HOST"
* issuer: C=US; O=Let's Encrypt; CN=R3
* SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x55dc1f20eb10)
> POST /apple-s2s/app-store/sandbox HTTP/2
> Host: MY_HOST
> user-agent: curl/7.74.0
> accept: */*
> content-type: application/json
> content-length: 2
>
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* We are completely uploaded and fine
* Connection state changed (MAX_CONCURRENT_STREAMS == 250)!
< HTTP/2 200
< content-type: application/json
< date: Tue, 23 Nov 2021 19:41:35 GMT
< server: nginx/1.21.0
< content-length: 2
<
* Connection #0 to host MY_HOST left intact
{}
There is also nothing from within the App Store Connect where I could see that something went wrong, whether Apple actually tried to connect at all or whether I am missing to configure anything else. No feedback at all here, very sad.