Webhook that is called when an incoming payment is received by a customer’s UMA address. This endpoint should be implemented by clients of the Grid API.
The webhook includes a signature in the X-Grid-Signature header that allows you to verify that the webhook was sent by Grid.
To verify the signature:
If the signature verification succeeds, the webhook is authentic. If not, it should be rejected.
When a transaction has status: "PENDING", this webhook serves as an approval mechanism:
counterpartyInformation against their requirements/transactions/{transactionId}/approve or /transactions/{transactionId}/reject endpoint within 5 seconds. Note that synchronous approval/rejection is preferred where possible.The Grid system will proceed or cancel the payment based on your response.
For transactions with other statuses (COMPLETED, FAILED, REFUNDED), this webhook is purely informational.
Secp256r1 (P-256) asymmetric signature of the webhook payload, which can be used to verify that the webhook was sent by Grid.
To verify the signature:
If the signature verification succeeds, the webhook is authentic. If not, it should be rejected.
ISO8601 timestamp when the webhook was sent (can be used to prevent replay attacks)
"2025-08-15T14:32:00Z"
Unique identifier for this webhook delivery (can be used for idempotency)
"Webhook:019542f5-b3e7-1d02-0000-000000000007"
Type of webhook event Type of webhook event
INCOMING_PAYMENT, OUTGOING_PAYMENT, TEST, BULK_UPLOAD, INVITATION_CLAIMED, KYC_STATUS, ACCOUNT_STATUS "INCOMING_PAYMENT"
Information required by the sender's VASP about the recipient. Platform must provide these in the 200 OK response if approving. Note that this only includes fields which Grid does not already have from initial customer registration.
Webhook received successfully.
For PENDING transactions, this indicates approval to proceed with the payment.
If requestedReceiverCustomerInfoFields were present in the webhook request, the corresponding fields for the recipient must be included in this response in the receiverCustomerInfo object.
Information about the recipient, provided by the platform if requested in the webhook via requestedReceiverCustomerInfoFields and the payment is approved.