Wire Transfers
Wires represent electronic funds transfers between two accounts at different financial institutions settled over the Fedwire system. Wire transfers are much faster than ACH transfers and can settle in a couple of hours, with the majority settling within 24 hours. Wires are, however, more expensive and cannot be reversed once settled. The cutoff time for Payments Orchestrator wires can be bound here: Cutoff Times
Wire transfers created in Payments Orchestrator are transmitted to the bank for processing shortly after they are created. The status of a wire transfer can be tracked through the following states:
Created- Wire transfers enter aCreatedstate when the object is initially created. Transactions typically immediately transit from this status toPendingPending- Wire transfers enter aPendingstate when the object is initially created.Pending_approval- This state is only applies to wires is created via the UI. It is not a possible state for wires created via the APIProcessing- Transfers are briefly in aProcessingstate while they are transmitted to the sponsor bank for origination.Sent- Wire transfers enter into aSentstate after being transmitted to the financial institution for processing.Success- Wire transfers are marked as being in a ‘Success’ state after being processed by the originating bank.Failed- Transfers are marked asFailedwhen an issue occurs while being processed.
Wire Object Description
A Wire Object within the Payments Orchestrator Platform has the following fields:
| Field | Type | Description |
|---|---|---|
| from_account_number | String | Account number of the account originating the transfer. This account must have an available balance larger than the transfer amount. |
| amount | number | Amount of the transfer to two decimal precisions (for example #####.##) |
| counterparty_id | String | ID of the Counterparty receiving the transfer. Ensure that the wire section of the Counterparty object contains valid information. |
| originator_to_beneficiary_info | String | Optional 140 character string message |
Error Handling - Fiserv
When creating an outbound Wire, should it fail with a 500 error, Payments Orchestrator will directly return the core banking provider error to you.
Below is a list of the common errors we have observed and our suggested corrective action.
| Error | Description | Corrective Action |
|---|---|---|
| General Data Error | Transaction was rejected by Fiserv. This is usually due to a field validation error (unallowed characters or unallowed number of characters in a field). | Contact Payments Orchestrator support. |
| error.invalid.wire.routing.number | Routing number contained within Wire Counterparty object is invalid. In some cases, the routing number may be valid, but it is for a settlement-only bank (i.e., they cannot receive wires). | Correct routing number within Wire Counterparty object and create new transaction. |
Wire Returns
You may return an unwanted inbound wire by utilizing the return wire payment endpoint, and you may receive a returned wire deposit for an Outbound Wire you originated. See Wire Return for guidance on both transaction types.
PO Boxes
Depending on your program sponsor bank’s policy the use of PO Boxes may be prohibited. If prohibited, it will not be possible to create a Wire payment using a PO box address and the following error will be returned:
"error": [
"code": 400,
"message: "PO Boxes are not allowed due to the bank's KYC rules"