Prevail Group of Companies

API Reference

Webhooks

Smile&Pay posts the final result (PAID / FAILED / CANCELED) to this endpoint — it is the resultUrl we send on every initiation. Unauthenticated because ZB's servers call it; unknown references are logged and ignored.

Smile&Pay result callback

Receives the gateway callback and updates the matching transaction.

POST/api/v1/webhooks/smilepay
Auth: Public

You never call this — it is documented so you know what updates your transactions. It always answers 200 so the gateway does not retry forever.

Body — required

FieldTypeDescription
orderReferencestringReference of the transaction being updated.
Body — optional (3)
FieldTypeDescription
statusstringGateway status (PAID, FAILED, CANCELED, PENDING…).
paymentOptionstringThe method actually used, for hosted checkout.
clientFee, merchantFeenumberFees, when reported.
Response · 200
{ "received": true, "applied": true }
  • Set PUBLIC_BASE_URL on the backend so the gateway can reach this URL — localhost is not reachable from ZB.
  • Until a webhook arrives, poll GET /api/v1/payments/{orderReference}?refresh=true.