I'm using the WalletPasses.io service to allow do automatic updates for my Wallet Cards created using PHP/Laravel, with the pkpass/pkpass v2.3.1 library. The generated .pkpass file works correctly on both iOS and Android devices; however, the automatic update is only occurring on iOS devices.
When I send the request to WalletPasses, I receive the following response:
POST https://walletpasses.appspot.com/api/v1/push HTTP/2.0 {"passTypeIdentifier":"pass.com.ci.chuqoa","pushTokens":["aa8bdcbaec8a3d31a7763cdd80c1a86a1c5c22bf157d3de3be30762650e228123"]} {"headers":["authorization: 5369aa7b0c014ecbb7f63eae65e186f3","content-Type: application/json"]}
[2024-09-04 14:13:08] local.INFO: RESPONSE: 200 - null {"responseHeaders":false}
Afterward, the Android device makes the request to my endpoint, to which I currently respond almost identically to the iOS response:
Request: {"method":"GET","url":"http://7da4-2804-30c-2707-aa00-5848-5f1f-16c5-8f6a.ngrok-free.app/wallet/v1/devices/a63072c5ef3c5f6a875cf6d3ee2505232/registrations/pass.com.ci.chuqoa","ip":"127.0.0.1","headers":{"host":["7da4-2804-30c-2707-aa00-5848-5f1f-16c5-8f6a.ngrok-free.app"],"user-agent":["WalletPasses/1.3.3 (Linux; U; Android 12; Redmi Note 9S Build/SKQ1.211019.001)"],"accept-encoding":["gzip"],"x-forwarded-for":["2804:30c:2707:aa00:b41d:69ed:b1b6:befa"],"x-forwarded-host":["7da4-2804-30c-2707-aa00-5848-5f1f-16c5-8f6a.ngrok-free.app"],"x-forwarded-proto":["https"]},"body":[]}
[2024-09-04 14:13:09] local.INFO: Response: {"status":200,"response":"{"serialNumbers":["CI000A110FX"],"lastUpdated":"2024-09-04T13:13:09Z"}"}
However, unlike the iOS device, the Android device does not make the API call Route::get('/v1/passes/{passTypeIdentifier}/{serialNumber}', 'WalletController@updateWallet'); to receive the updated card. The update only occurs manually.
What could I be doing wrong?