Contact Callback

CoinGate POSTs a contact callback to your server every time a Payment-Channel contact's status changes. Use it to mirror the contact's verification state in your own system, surface KYC progress to your end user, and react to a suspended / rejected contact (e.g. block the customer from opening a new channel until they re-submit documents).

📘

API Callback Documentation

The callback is delivered as a POST request with a application/json body. For shared callback behavior — retry policy, IP allowlist, manual resend — see the API Callbacks reference.

When the callback fires

EventMeaning
contact.status.verifiedKYC passed. Documents are approved and the channel stays active. Terminal "happy path" state.
contact.status.suspendedAll incoming payments on this contact's channel are placed on hold pending compliance review. Funds are not credited until compliance reviews the contact.
contact.status.rejectedKYC failed or the contact triggered a compliance rule. The channel is set to disabled and any incoming payments are marked invalid.

Request

PropertyValue
MethodPOST
URLThe Payment Channel's callback_url
Content-Typeapplication/json
User-AgentCoinGate Payment Channel Contact Callback
BodyJSON object — see Payload below

Payload

{
  "event": "contact.status.rejected",
  "object": "contact",
  "data": {
    "id": 4821,
    "external_contact_id": "user-9f2c14",
    "compliance_status": "rejected",
    "rejection_reason": "Documents could not be verified. Please re-upload a valid government-issued ID."
  }
}