This flow will allow you to programmatically create wire deposit funding Transfers.

Step 1

Create a PaymentMethod using a customer's details

Step 2

Use the created payment method SRN as the "source" in a transfer, and your account as the "dest", and specify the amount the customer wants to wire in as the "destAmount". For example, if the customer from Step 1 wants to deposit $200 you would make a request like the following:

//POST to https://api.sendwyre.com/v2/transfers
{
	"source": "paymentMethod:[ID returned in step 1]"
  "dest": "account:[Your accountId]", // account ID can be found here: https://dash.sendwyre.com/settings/basic-info
  "sourceCurrency": "USD",
  "destCurrency": "USD",
  "destAmount": 200,
  "message":"USD Personal example"
}

Note: If you want to manage customer balances in individual "buckets" instead of having all of the funds deposited in your account you can check out the Wallet API. You can create a wallet for a specific user and then use that as their SRN as the "dest" in the above request.

Step 3

In the Transfer response you will receive a few fields with wiring instructions. All of the information you need to present to your customer is under the "chargeInfo" object.

On the root of the "chargeInfo" object is an amount. This amount might be different than what you submitted by a couple of cents. This is the amount the customer needs to send in so we can identify the wire.

The "wireDetails" sub-object will contain the bank information where the customer needs to send the wire.

You can see an example below:

{
	"id": "TDCQ8AN4UF9",
	"status": "PENDING",
	"failureReason": null,
	"language": "en",
	"createdAt": 1490852578000,
	"completedAt": 1490897677000,
	"depositInitiatedAt": 1490852583000,
	"chargeInfo": {
		"id": "GQDGQAPAGRN",
		"paymentMethodId": "9MB9B2ZUYFX",
		"providerId": "GQDGQAPAGRN",
		"createdAt": 1490852583000,
		"updatedAt": 1490852583000,
		"currency": "USD",
		"amount": 200.01,
		"fees": 0,
		"txId": "J2TLD63RMDN",
		"owner": "account:1234567890",
		"callerIp": "XX.XXX.XXX.XXX",
		"completePaymentUrl": null,
		"completionExpectedAt": null,
		"waitingPrompts": [],
		"wireDetails": {
			"instructions": "",
			"accountName": "Money Clearing Account",
			"bankAddress": "Main St. Bank<br/> 1234 Main Street<br /> San Francisco, CA 94107",
			"bankPhone": "XXX.XXX.XXXX",
			"routingNumber": "XXXXXXXXX",
			"accountNumber": "XXXXXXXXX",
			"beneficiary": "WYRE INC",
			"beneficiaryAddress": "1234 Main Street<br /> San Francisco, CA 94107",
			"intermediaryBank": "Banky McBanker's Bank<br/> San Francisco, CA 94107",
			"swiftCode": "XXXXXX00",
			"abaNumber": "0000000",
			"otherInstructions": "You can complete the transfer by following these steps:<br/><br/>1.) Print or download the details<br/>2.) Send the exact amount to the bank details listed above (You can send money through online banking or mobile banking, etc.)<br/>3.) You will receive an email notification with the transfer details"
		},
		"status": "PENDING"
	},
	"cancelledAt": null,
	"expiresAt": 1490852878000,
	"owner": "account:1234567890",
	"source": "paymentmethod:9MB9B2ZUYFX",
	"dest": "account:1234567890",
	"sourceCurrency": "USD",
	"sourceAmount": 200.00,
	"destCurrency": "USD",
	"destAmount": 200.00,
	"exchangeRate": null,
	"desc": null,
	"message": null,
	"totalFees": 0,
	"equivalencies": {
	  ....
	},
	....
	"fees": {
		"USD": 0.00
	}
}

Step 4

Once we receive the wire for the amount specified in #3 we will complete the Transfer and the funds will be available in your Wyre account.