This guide explains the exact webhook URL/path and integration steps for both Web backend and Android.
Set this production URL inside each device row: device_payment_dues.client_webhook_url.
{
"device_id": "IMEI_NUMBER"
}
device_id = IMEI/Serial of device (mandatory)Content-Type: application/json Accept: application/json X-Webhook-Token: your-secret-token (optional but recommended)
Your web backend should expose a POST endpoint, receive payload, identify device using device_id, and update status.
Identify which device to notify using: device_id
{
"status": true,
"message": "received"
}
Android app should not directly receive webhooks. Webhook must go to Android team's backend API first.
device_id.curl -X POST "https://chronextechnologies.com/demo/pos/api/webhooks/payment-due/test-receiver" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"device_id":"LOCAL_IMEI_001"
}'
curl -X POST "https://your-domain.com/webhooks/payment-due/receive" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Webhook-Token: your-secret-token" \
-d '{
"device_id":"356938035643809"
}'
# Process real due webhooks from DB php artisan payments:process-due-webhooks --days=2 # Manual webhook send test php artisan payments:test-webhook "https://chronextechnologies.com/demo/pos/api/webhooks/payment-due/test-receiver" \ --device_id=LOCAL_IMEI_001
storage/logs/payment-webhook-YYYY-MM-DD.logstorage/logs/laravel.log# View latest webhook logs tail -n 100 storage/logs/payment-webhook-$(date +%Y-%m-%d).log
client_webhook_url per device/contract.device_id.device_id on receiver side to target correct device.