Apple Wallet Silent Push Notification not triggering GET /passes endpoint

Hello,

We’re developing a loyalty program using Apple Wallet passes, and everything works except the silent push update flow.

Context PassTypeIdentifier: pass.order.com.lealtad.xxxx

Device is physical (not simulator)

Pass is installed and visible in Wallet

Correct pushToken is stored in our backend

Push response from APNs:

StatusCode: 200 OK apns-id: DBFF9693-D053-AA20-D737-3B24414105F3 WebServiceURL is reachable: https://xxxxx.net

GET /passes/{passTypeIdentifier}/{serialNumber} endpoint is implemented and logs all calls

No call is received from Apple to GET /passes/... after the push

.pkpass is signed and installs correctly

push payload json Copiar Editar { "aps": { "content-available": 1 }, "serialNumbers": ["9a4c9376d4"], "updated": true } pass.json json Copiar Editar { "formatVersion": 1, "passTypeIdentifier": "pass.order.com.lealtad.xxxxx", "teamIdentifier": "xxxxxxxx", "serialNumber": "9a4c9376d4xxxxxx", "webServiceURL": "https://xxxxxx.net", "authenticationToken": "xxxxxxxxxxxxxxxxx", ... } We have verified: Pass is installed and contains the correct authentication token.

Pass registration via POST /devices/... happens and is logged.

Push notifications are sent successfully and received (APNs 200 OK).

Our endpoint GET /passes/... responds properly with Authorization: Bearer {{token}}.

Certificate used to send the push is the same type as the one used to sign the .pkpass.

What could cause Apple Wallet to ignore the push? We would appreciate guidance on what might be preventing Wallet from calling the webServiceURL after a valid push. Is there a way to trace why Apple is not triggering the request?

Thanks in advance for your help.

Best regards, José Ruiz

Maybe I'm a little late to join the party, but it sounds like the endpoint you are listening to might wrong.

The endpoint is: /v1/passes/{passTypeIdentifier}/{serialNumber}

And the endpoint is appended after your webServiceURL.

Another thing, that endpoint is called only when the list endpoint returns some changes. For each change returned from the response of the list endpoint, Wallet will perform an HTTP request to your update endpoint to ask for a new pass.

Apple Wallet Silent Push Notification not triggering GET /passes endpoint
 
 
Q