Global Bank Payouts
Wyre's Payout API allows you to make payments such as insurance claims, rebates, affiliate and contractor payouts, expense reimbursements, or gaming winnings. This section helps you get started with executing the deposit from your balance into a designated bank account - also referred to as "off-ramping".
Sending a payout is fairly simple, but there are specific flows that are recommended to have the most optimal experience.
At a high-level, you'll want to (1) create a User, (2) attach a payment method to that user, then (3) create a transfer.
For the most efficient operations:
-
Although, you don't need to do this, having a balance on Wyre will be able to streamline the payout's funding process.
-
Once you have your payment method activated, you're able to transfer funds to that Payment Method AND make an FX transfer all in one API. This will have some cost benefits.
-
Maximum customer disbursement is no larger than their current balance
-
Optimize your feedback loop between the rate being issued to your customer and the customer confirming the transaction, to proceed with the transfer.
-
It is recommended to not provide a quote to your customer before the funds being paid out hit their account. Doing this may expose your business to exchange rate fluctuations, operational headaches, and cashflow hurdles.
Fees and Minimums. To see all fees related to Payouts, please follow this URL - https://support.sendwyre.com/hc/en-us/articles/360057450853-Wyre-Transfer-Fees. Please reach out to our sales team to discuss volume-based discounts - [email protected].
Step 1. Create Payment Method
After you've created a User, you'll attach a payment method to that User. Please remember to Authenticate and masqueradeAs that User when making changes to that specifc users.
There are various paymentMethodType
and paymentType
, so if you'd like to dive in to the details, please head over to API Reference pages for Creating Payment Methods.
Below is a sample on the Request and Response for a Bank Wire Transfer.
curl --request POST \
--url https://api.testwyre.com/v2/paymentMethods \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"paymentMethodType": "INTERNATIONAL_TRANSFER",
"paymentType": "LOCAL_BANK_WIRE",
"currency": "USD",
"country": "US",
"beneficiaryType": "INDIVIDUAL",
"firstNameOnAccount": "Sally",
"lastNameOnAccount": "Smith",
"beneficiaryAddress": "1234 Main St.",
"beneficiaryAddress2": "",
"beneficiaryCity": "Los Angeles",
"beneficiaryPostal": "91604",
"beneficiaryPhoneNumber": "+15555555555",
"beneficaryState": "CA",
"beneficiaryDobDay": 2,
"beneficiaryDobMonth": 12,
"beneficiaryDobYear": 1990,
"accountNumber": "1234567890123",
"routingNumber": "123412312",
"accountType": "CHECKING",
"chargeablePM": false
}
'
You'll receive a Payment Method ID (PA_C93QR8QNDAV in the example below), where you'll be able to use to make your payout.
{
"id": "PA_C93QR8QNDAV",
"owner": "account:AC_YV8LCV3C9HZ",
"createdAt": 1628877860703,
"name": "USD Bank account ending in 0000",
"defaultCurrency": "USD",
"fingerprint": "BANK-vuXcdw7k55S2zkd6C0vxXxDQcSqSNaT7yDyfqw0U8+I=",
"status": "AWAITING_FOLLOWUP",
"statusMessage": null,
"waitingPrompts": [
{
"id": "8VY7PXCR2MC",
"prompt": "Upload a bank statement",
"responses": [],
"type": "DOCUMENT"
}
],
"linkType": "INTERNATIONAL_TRANSFER",
"beneficiaryType": "INDIVIDUAL",
"supportsDeposit": true,
"nameOnMethod": "Billy-Bob Jones",
"last4Digits": "0000",
"brand": null,
"expirationDisplay": null,
"countryCode": "US",
"nickname": null,
"rejectionMessage": null,
"disabled": false,
"supportsPayment": true,
"chargeableCurrencies": [
"USD"
],
"depositableCurrencies": [
"USD"
],
"chargeFeeSchedule": null,
"depositFeeSchedule": null,
"minCharge": null,
"maxCharge": null,
"minDeposit": null,
"maxDeposit": null,
"documents": [],
"blockchains": {},
"liquidationBalances": {},
"srn": "paymentmethod:PA_C93QR8QNDAV"
}
Step 2. Make Payout
After you've created your User and Payment Method, you're ready to send money to that Payment Method.
To do this, input the source
(where you'd like to pull funds from) and insert the Payment Method ID in the dest
of the Transfer. When using the Payment Method as the dest
of a Transfer you will need to use the SRN with the prefix paymentmethod
.
Click here to learn more about Transfers.
For example, to payout BTC to MXN, you would make a request that looks like this:
{
"source": "wallet:WA_W7YN28ABCHT",
"dest": "paymentmethod:PA_UP2XAELHJBD",
"sourceCurrency":"BTC",
"destCurrency":"MXN",
"amount": "2"
}
Updated almost 2 years ago