Creating a Wire Transfer
This guide explains how to use Create Destination Account and Create Wire Transaction to create a wire transfer to a remote bank. These wire transfers use Fedwire rails. You can use these endpoints only to send funds to a remote account (debiting the Galileo account); you cannot originate a request that remote funds be credited to a Galileo account.
Along with this guide, you might want to consult these guides:
- About Wires — General information on wire transfers at Galileo
- Wires Workflows — Flowcharts showing how incoming and outgoing wires are processed as well as returns.
Create the destination account
Tip
To verify the validity and ownership of the destination account, call the Get Instant Verification endpoint before creating the destination account.
Follow these steps to create a destination account on the Galileo system:
- Call Create Destination Account with the necessary input parameters, shown in the table below.
- Capture the
destination_account_id
from the endpoint response.
This table contains the parameters you need to create a destination account for wires.
Parameter | Usage |
---|---|
accountNo | Required. The PRN of the sending account, which is on the Galileo system. |
destinationName | Required. Provide a display name or nickname for the destination account. |
destinationBankName | Required. Use the official name of the bank. Galileo does not validate this field. |
destinationBankStandardRouting | Optional. The bank's standard routing number. This number is not used for wires. |
destinationBankWireRouting | Required for wires. Provide the 9-digit routing number for wires. Obtain this information from the destination bank. |
destinationBankAddress | Address of the destination bank. |
intermediaryBankName | Populate if destinationBankName uses an intermediary for wires. Provide the official name of the intermediary bank. |
intermediaryBankWireRouting | Populate if destinationBankName uses an intermediary for wires. Provide the 9-digit wire routing number. |
intermediaryBankAddress | Populate if destinationBankName uses an intermediary for wires. |
destinationAccountNumber | Required. If the destination bank is foreign relative to the Galileo account, provide the IBAN. If it is domestic, provide the conventional account number. |
destinationAccountName | Required. Provide the name of the individual or entity that owns the destination account. |
destinationAccountAddress | Required. The address of the person or entity in destinationAccountName |
destinationAccountType | Specify the account type of destinationAccountNumber : Savings, Checking (DDA), or Money market. |
Intermediary banks
Some smaller banks are not capable of handling international wire transfers, so they employ the services of an intermediary bank.
To determine whether the receiving bank uses an intermediary bank, the account holder can go to the web site of the destination bank and search for its SWIFT code. The bank should indicate which intermediary bank handles its international wire transfers.
Create a wire transfer
After you create the destination account, you can create a wire transfer by following these steps:
- Call Create Wire Transaction with the
destination_account_id
andamount
.- The
reference
value should contain a description of the wire transfer. Maximum 140 alphanumeric characters including punctuation. - The endpoint checks for sufficient funds and for transaction limits for wires. If the transaction does not pass those checks, the endpoint returns the appropriate status code.
- The
- Capture the
wire_transaction_id
in the endpoint response. - The response also provides the
expected_transfer_date
for the wire. This date is calculated according to the time that Create Wire Transaction was called.- If the transaction is initiated more than 30 minutes before the bank's cutoff time, the expected transfer date is the same date that the wire was initiated.
- If the transaction is initiated less than 30 minutes before the cutoff, then the expected transfer date is the next business day.
After the endpoint response
- You can cancel a wire transfer up to 10 minutes after the transfer was initiated. Use Cancel Wire Transaction to cancel the transfer.
- The amount of the wire is immediately debited from the Galileo account, and Galileo sends the
BADJ: adj
event message.- If you have configured a fee for outgoing wires, the fee is also debited from the account, and Galileo sends the
BFEE: fee
event message.- Alternatively, you can assess a fee manually by calling Assess Fee.
- If you have configured a fee for outgoing wires, the fee is also debited from the account, and Galileo sends the
- If any of the following events happen, Galileo moves the funds back into the account and sends the
BADJ: adj
event message:- The wire is returned by the sending bank, Fedwire or the recipient. (There is no return-specific event message.)
- You cancel the wire after the funds were debited from the account but before the grace period ended.
Viewing the wire transaction
You can view wire transactions in these ways.
Get Wire Details
To retrieve detailed information about an individual wire transaction, call Get Wire Details. For wireTransactionId
, specify the UUID as returned by Create Wire Transaction or Get Wire History.
For incoming wires, the sender
object is populated, and for outgoing wires the receiver
object contains data.
Get Wire History
To retrieve a list of all wire transactions for the specified PRN, call Get Wire History. You can specify a timespan to retrieve, or to return all transactions omit the start and end dates.
For incoming wires, the sender
object is populated, and for outgoing wires the receiver
object contains data.
General transaction data
Wire transactions are visible in these Program API endpoint responses.
The transactions are also visible in the Posted Transactions RDF, gAnalytics, and the CST.
These are the wire-related transaction codes:
- Incoming credit (crediting the Galileo account)
PMwi
— Wire posted to the account
- Outgoing credit (debiting the Galileo account)
ADwo
— Wire withdrawal from accountADWR
— Withdrawal returned if the wire is returned
Events API
For successful wires, there is no wire-specific event. Instead, you get notification of the payment or adjustment with wire-specific information in the message. When Galileo returns a wire, you get another event that includes the return reason.
BADJ: adj
— Sent when the outgoing wire amount is withdrawn from the customer account.
odfi_routing_number
— Routing number of the originating financial institutionorig_acct_number
— Account number of the wire originatororig_name
— Name of the wire originatorpayment_rail
— Containsfedwire
for a wire transaction
BPMT: pmt
— Sent when an incoming wire is posted to a customer account.
odfi_routing_number
— Routing number of the originating financial institutionorig_acct_number
— Account number of the wire originatororig_name
— Name of the wire originatorpayment_rail
— Containsfedwire
for a wire transactionreference_id
— The input message accountability data (IMAD)transaction_id
— The UUID assigned to this wire transaction
RTNG: pmt_hub_return
— Sent when Galileo returns an incoming wire.
odfi_routing_number
— Routing number of the originating financial institutionorig_acct_number
— Account number of the wire originatororig_name
— Name of the wire originatorpayment_rail
— Containsfedwire
for a wire transactionreturn_reason
— Contains the reason for returning the wire
Updated about 2 months ago