Testing Webhooks
Both Apple and Google need to reach your site over the public internet to deliver webhook callbacks. For local development, use DDEV share to create a public tunnel:
bash
ddev shareThen update PRIMARY_SITE_URL in your .env to the share URL.
Apple Wallet
- Test on a real device. The iOS Simulator does not support Wallet passes.
- Make sure the device is fully powered and not in Low Power Mode. iOS throttles background network activity (including pass update callbacks) when the battery is low.
- Check the logs at
storage/logs/wallet-apple-webhook-*.logfor device registration and pass fetch requests. - Webhook URLs are baked into the pass. If you change your site URL, you must generate and install a new pass; existing passes will still point to the old URL.
Google Wallet
- Check the logs at
storage/logs/wallet-google-webhook-*.logfor callback verification and events. - The webhook callback URL is set when you run
php craft wallet/setup/google-class. If you change your site URL, run it again to update the callback URL in Google. - During development, passes are in "demo" mode. Add test users in the Google Pay & Wallet Console under Google Wallet API → Manage → Test accounts.