Webhooks Notification

Use webhooks to be notified about payment events for a payment transaction.

When sending a payment request, developers can find out about the payment status by calling Get Payment Status. There will be times where "real time" updates are needed and webhooks can provide that. To leverage webhooks, you would need to register a callback URL (see Introduction To Veem API ) that we will notify anytime an event happens to the payment.

For example, after a payment is "sent" by you, it would be in "PendingAuth" (or pending authorization) state. As it moves from "PendingAuth" to "Authorized", webhooks will post a notification that an event has occurred. You can then call Get Payment Status to find out the current state and other relevant details.

To understand the notification states, here's a mapping of the webhooks notifications and to what is shown in the customer UI. Note that there will be updates / changes to how the states are presented to a customer to simplify the messaging. The states received via webhooks will NOT change to ensure backwards compatibility.

The states that webhooks will post notifications for are highlighted in bold below:

StatusStatus on Customer App UI (4/3/2018)Description
DraftedDraftedPayment is in drafted state and requires further updates.
SentSentThe payment has been sent to the receiver/payee.
PendingAuthClaimedThe payment is in pending authorization by Veem.
Authorized ClaimedThe payment has been authorized and is ready for processing. The money will be withdrawn from sender's bank.
InProgressIn ProgressThe payment has been initiated and receiver will be receiving money shortly.
CompleteDepositedThe payment is complete and the receiver should have received the money.
CancelledClosedThe payment has been cancelled by the sender/payer.
ClosedClosedThe payment has been closed by Veem by request from the sender, or receiver, or due to an error with the payment.

1. First Step

Once you configure webhooks URL during the provisioning process, Veem will send notification for payment status updates to that end-point with the following payload.

The data is JSON content wrapped in string.

{
	"type" : "PAYMENT_STATUS_UPDATED",
	"data" : {"id" : 1, "status": "Sent"}
}