Provided you include the statusNotificationURL parameter in your request the system will send a notification to your chosen endpoint in the following format:

Example
YOUR ENDPOINT??wire_id=13296&order_id=567832&account_id=234375&beneficiary_id=9551&payout_account_id=9550&wire_status=Completed&transfer_amount=2.00&transfer_currency=AUD&payment_scheme=au_bank_acct&payout_account_name=TestT100&payout_account_nickname=TestT00Nick&payout_account_first=Test&payout_account_last=Tester&payout_account_company_name=&beneficiary_name=TestR100&beneficiary_nickname=TestR100Nick&beneficiary_first=Test&beneficiary_last=Tester&beneficiary_company_name=&signature=wqZtZ%2BA91jZXF86TniQ6hCP6Z1e9YEqbv3o%2B9eje3sM%3D
Parameter Description
wire_id The ID of the payout created on the platform (aka "wire")
order_id Your unique order id that will be use to reconcile the payout on your system
account_id The ID for your merchant account on our platform
beneficiary_id The id for the beneficiary you sent the money to
payout_account_id The Payout account you sent the money from
wire_status The status of your payout request, sent as the status name. See Wire Status Reference below for the values and what each one means.
transfer_amount The amount that was sent to the beneficiary.
transfer_currency The currency used for the payout request
payment_scheme The payment method used to transfer the amount
payout_account_name The name of the account used to payout.
payout_account_nickname The "nickname" you used when storing the account for easy reference.
payout_account_first The first name of the payout account holder .
payout_account_last The last name of the payout account holder .
payout_account_company_name The company name of the payout account holder .
beneficiary_name The name of the beneficiary account .
beneficiary_nickname The "nickname" you used when storing the beneficiary account for easy reference.
beneficiary_first The first name of the beneficiary account holder.
beneficiary_last The last name of the beneficiary account holder.
beneficiary_company_name The company name of the beneficiary account holder.
plid Your platform identifier, when one is set on the payout. Sent empty otherwise. Not part of the signature.
tick A timestamp value that makes each notification unique, so that a repeated notification is not served from a cache. Not part of the signature, and safe to ignore.
signature base64( hash('sha256', wireId + orderID + accountId + beneficiaryId + payoutAccountId + wireStatus + transferAmount + processingCurrency + paymentScheme + payoutAccountName + payoutAccountNickname + payoutAccountFirst + payoutAccountLast + payoutAccountCompanyName + beneficiaryName + beneficiaryNickname + beneficiaryFirst + beneficiaryLast + beneficiaryCompanyName + HashKey))

Wire Status Reference

A notification is sent when the payout reaches an outcome we treat as final, so in practice the wire_status you receive is one of Completed, Failed, Canceled, InvalidBeneficiary or TechnicalError. The other statuses are stages a payout passes through on the way there. They do not raise a notification of their own, but you will see them if you call the Get Wire service while the payout is still running, so the full list is given here.

StatusMeaning
PendingThe payout has been created and is waiting to be picked up for processing. Nothing has been sent to the bank or to the payout provider yet, and the amount is reserved against your balance.
ReviewingThe payout is being reviewed before it can be released, either by our compliance team or by the payout provider.
HoldProcessing has been stopped for clarification, or a cancellation was requested and the provider has not confirmed it yet. The payout can still move on to Completed, Canceled or Failed.
InProgressThe payout provider has accepted the request and is processing it.
InProgressWaitUserActionThe provider accepted the request but needs an action from the payer before it can continue, typically an authorisation step. Where the provider supplies one, the URL for that action is stored on the payout.
SentThe funds have been dispatched to the beneficiary bank and we are waiting for confirmation of receipt. This normally becomes Completed.
CompletedThe beneficiary was paid. This is the successful end state.
CanceledThe payout was cancelled before the money left. No funds were transferred and the balance reservation is released.
FailedThe provider declined the payout, or it could not be completed. SubStatusCode and SubStatusMsg carry the provider reason where one was given.
InvalidBeneficiaryRejected because the beneficiary details were not accepted - account number, IBAN, SWIFT, name or address. Correct the beneficiary and create a new payout.
TechnicalErrorThe payout could not be processed consistently on our side, for example the balance movement was rejected. It is reported separately from Canceled so that a technical failure can be told apart from a deliberate cancellation. Contact support quoting the payout id.

Match on the status name and treat any status you have not seen before as valid rather than as an error. A payout does not pass through every status: which of them it goes through depends on the payout provider and the payment scheme.

Sub Status

The notification carries the outcome, not the reason for it. When you need the payout provider's own explanation of a Failed, InvalidBeneficiary or Hold payout, call the Get Wire service with the wire_id from the notification and read the two sub status fields it returns:

FieldMeaning
SubStatusCode The payout provider's own code for the current status, for example a rejection or reply code such as "REJ-04", "R01" or "ACCOUNT_CLOSED".
SubStatusMsg The provider's accompanying text, for example "Beneficiary account closed".

Both fields are free text and provider specific. There is no fixed list of values: different providers describe the same outcome with different codes and different wording, and a provider can add to or change its codes at any time. Show them to your operators and store them for reconciliation and support, but drive your logic from wire_status, not from the sub status.

Both fields can be null or empty. A payout that never reached a provider, one cancelled by an operator for instance, normally carries no sub status at all, and not every provider returns one even on a failure. Always handle the null case.


*** Please be sure to support POST on your end to receive the notifcation