Skip to main content
There are two requirements for sending instant payments. We recommend implementing both of these functions because instant payments, once sent, cannot be reversed.
  1. Sending Payments: Send outgoing instant payments. 
  2. Sending Return Requests: Send outgoing return requests to recover funds sent erroneously in previous outgoing instant payments.
If your customers are victims of fraud or send payments erroneously, return requests are the only recourse to recover their funds. 

Sending Payments

Sending an instant payment creates a new instant_payment object with an outgoing direction.

Endpoints

You can check if the recipient’s financial institution is available on the instant payment network and, if available, send instant payments to them. Once sent, outgoing instant payments can also be canceled. However, the cancellation window is very short and only possible if Lead has not yet submitted the payment to the network. This limited opportunity may occur during normal system processing or periods of manual review.
EndpointDescription
POST /instant_payments/check_availabilityCheck the availability of a financial institution to accept instant payments.
POST /instant_paymentsSend an outgoing instant payment.
POST /instant_payments/{id}/cancelAttempt to cancel an outgoing instant payment.

Statuses

Outgoing instant payments can transition through five potential statuses. Unlike returns, outgoing instant payments can terminate in the canceled status. The counterparty_status lifecycle only begins after the instant_payment object has reached a posted status. The purpose of this lifecycle is to precisely describe if/when the outgoing payment reaches the creditor.
Instant Payment StatusDescriptionWebhook
createdLead created the outgoing instant payment.No
under_reviewLead is manually reviewing the outgoing instant payment before sending it to the network.Yes
canceledYou canceled the outgoing instant payment.No
postedLead posted the outgoing instant payment to your account.Yes
rejectedLead, the counterparty, or the network rejected the outgoing instant payment.Yes
Counterparty StatusDescriptionWebhook
under_reviewThe counterparty is manually reviewing your payment before posting it to the creditor’s account.Yes
postedThe outgoing instant payment posted to the creditor’s account.Yes
rejectedThe counterparty rejected your payment it before it reached the creditor’s account.Yes

Events

You can follow the status of an outgoing payment event throughout its entire lifecycle - from initiation at Lead to subsequent events at the counterparty financial institution.
EventDescriptionPartner Action
.under_reviewThe outgoing instant payment is pending manual review from Lead before it will be sent to the network.(Optional) Notify your customer that the instant payment has not yet been submitted to the network.
.rejectedThe outgoing instant payment has been rejected by Lead, the counterparty, or the network.(Optional) Notify your customer that the instant payment has been rejected.
.postedThe outgoing instant payment has been posted to the Lead account.(Optional) Notify your customer that the funds for the instant payment have left their account.
.counterparty_status_updateThe counterparty status of the outgoing instant payment has been updated.(Optional) If the counterparty_status is posted, notify your end customer that the instant payment was successfully posted to the creditor.

Sending Return Requests

Sending a return request creates a new return_request sub-object within the existing outgoing instant_payment.

Endpoints

You can create a return request if you previously sent an instant payment and need to recover it.
EndpointDescription
POST /instant_payments/id/request_returnSend an outgoing return request to the counterparty for a previously posted outgoing instant payment.

Statuses

Outgoing return requests transition through three possible statuses from when the counterparty receives them through when they are ultimately resolved.
Outgoing StatusDescriptionWebhook
pendingThe outgoing return request is pending a response from the counterparty.No
acceptedThe outgoing return request was accepted by the counterparty.Yes
rejectedThe outgoing return request was rejected by the counterparty.Yes

Events

Tracking an outgoing return request involves listening to a single event that is triggered upon each status change.
EventDescriptionYour Action
.return_request_status_updateThe status of the outgoing return request has been updated.(Optional) Notify your customer that the outgoing return request has been accepted or rejected.