Outgoing payments
An outgoing payment represents a debit from your account. These payments can be initiated through credit transfers to other accounts that you authorise, or through direct debit collections where a third party has obtained a valid mandate to collect funds from your account.
Payment Status
Payment lifecycle
After successful initiation, payments go through several status changes during their lifecycle. You can track these statuses either by calling our payment status endpoints or by subscribing to webhooks.
PendingApproval
: The payment is waiting for approval (if approval workflows are enabled)PendingProcessing
: Payment is waiting to be processed or is being processedProcessed
: Payment has been successfully processed. This is the final state for a payment and signifies that it has passed all validation checks and AML checks, and has been sent to the recipientMissingFunding
: Payment has not been processed due to insufficient funds in the debtor account. It will be automatically processed once the account is funded within 2 days. If the account remains unfunded for 2 days, the payment will be rejectedRejected
: Payment has been rejected (see Rejection Reasons section below). This is a final state.Cancelled
: Payment has been cancelled by your company. This is a final state.Reversed
: Payment has been rejected by the payment scheme. This is a final state.
Special Cases
Returned Payments
Payments returned by the recipient's financial institution don't have a specific status in our system. The original payment will remain marked as Processed
.
You can identify returned payments by checking the return
field in the IncomingPaymentProcessed
webhook payload, which will be set to true
. An example of a returned payment is included in the Webhooks payload examples.
You see the full list of returned payments reason codes here .
Direct Debit Payments
Direct debit payments (where you pay a third party via direct debit) will appear with a status of PendingProcessing
the day before they are due to be processed, giving you visibility of upcoming debits.
Checking the Payment Status
You can check the status of a payment in a number of ways depending on the payment:
Single Payments
To check a single payment's status, use the endpoint GET api/v1/payments/singles/{payment-id}/status
. The response will contain the current status of the payment.
Bulk files:This endpoint also works with payments that are part of a bulk file. See Bulk Payments to retrieve status for bulk files as a whole.
Payment Cancellation
Payments can be cancelled based on their current status:
-
Can be cancelled:
PendingProcessing
: Payment is waiting to be processed or is being processedMissingFunding
: Payment failed due to insufficient fundsPendingApproval
: Payment is waiting for approvalPendingSca
: Payment is waiting for Strong Customer AuthenticationScaDeclined
: Payment was declined during SCAScaExpired
: SCA session expiredDeclinedByApprover
: Payment was declined by an approver
-
Cannot be cancelled:
Processed
: Payment has been successfully processedRejected
: Payment has been rejectedCancelled
: Payment has already been cancelledReversed
: Payment has been rejected by the payment scheme
To cancel a single payment, use the PUT api/v1/payments/singles/{payment-id}/cancel
endpoint. The system will verify if the payment is in a cancellable state before proceeding with the cancellation.
Bulk files:This endpoint also works with payments that are part of a bulk file. See Bulk Payments to understand how to cancel all payments within a bulk file.
Direct Debit payments (3rd party initiated payments)
For Direct Debits, where a third party initiates the payment:
- The payment will appear as
PendingProcessing
the day before the payment is due - You can cancel the payment using the endpoint
PUT /api/v1/payments/singles/{payment-id}/reject
before it is processed - If the payment has already been processed, you may still be able to reject it depending on the payment scheme used. Refer to the page on Direct Debit payments initiated by 3rd parties to find the details per scheme
If you need to recover funds from a processed payment, you may be able to initiate a recall.
Rejection Reasons
Payments may be rejected either during initial validation or after processing in our core system.
To get the specific rejection reason for a payment, you can retrieve the payment details using our API endpoints where the rejection reason will be available in the "errors" field.
Refer to the rejection reasons page for a comprehensive list of all possible rejection reasons and their descriptions.
Webhook Notifications
To help you track outgoing payments in real-time, we provide webhook notifications for key events:
OutgoingPaymentProcessed
: Triggered when a payment has been successfully processedMissingFunding
: Triggered when a payment cannot be processed due to insufficient fundsOutgoingPaymentRejected
: Triggered if a payment is rejectedReversed
: Triggered when a payment is rejected by the payment scheme
To learn more about setting up and using webhooks, please refer to our Webhooks documentation.
Updated 6 days ago