GramPay-Event her zaman adı taşır; JSON gövdesi iki biçimdedir.
Invoice olayları
{"update_id":1024,"update_type":"invoice_paid","request_date":"2026-07-17T09:12:33Z","payload":{"public_id":"GU91XHr8AUNQ8l9r","status":"paid"}}
invoice_paid, invoice_expired ve invoice_cancelled bu envelope’i ve API ile aynı fatura nesnesini kullanır. Siparişi payload.payload ile bağlayın; yalnız tutar veya zamana güvenmeyin.
Billing olayları
Billing gövdeleri iç içe envelope kullanmaz. Phoenix metadata’ya üst düzey type ve account_id ekler:
{"type":"billing.account_unserviceable","account_id":"<uuid>","reason":"processing_credit_depleted"}
Desteklenen adlar: billing.balance_topup_applied, package_activated, package_queued, current_package_expiring_soon, current_package_expired, next_package_activated, current_package_low_payments, processing_credit_low, processing_credit_depleted, account_unserviceable, account_service_restored (her birinin başında billing. vardır). En az son ikisini alarm için işleyin.
webhook_test invoice biçimini kullanır; imzayı doğrulayıp iş mantığı çalıştırmadan 2xx dönün. Bilinmeyen olayları da idempotent biçimde onaylayın.