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?