Wyre Documentation
  • 📡Wyre Documentation
  • Home
  • 👥Account Onboarding
    • Account Overview
    • Use Cases
    • Pricing
    • API Calls
      • Create Account
      • Get Account
      • Update Account
      • Upload Document
  • 🔗Wallets
    • Use Cases
    • Managing Wallets
      • Creating a Wallet
      • Create Mulitple Wallets
      • Lookup Wallet
      • Edit Wallet
      • List Wallets
      • Delete Wallet
    • Wallet Callbacks
  • 💳Payments
    • Limits + Coverage
    • Pricing
    • Chargeback + Risk
    • Accepted Payment Methods
    • Global Card Processing
      • Hosted Redirect Operation
      • Browser Dialog (Popup) Operation
      • Understanding Transaction Statuses
        • Wallet Order Errors and Exceptions (Failure Reasons)
      • Additional Widget Functionality and Features
        • Checking Limits
        • Tracking Orders
      • Widget FAQs
      • ⚠️ Wallet Order Reservations | Required! ⚠️
      • API Calls To Help Monitor Transactions
        • Track Widget Order
        • Check A User's Transaction Limits
        • Check Supported Countries
      • Client-Side Encryption 👻
  • 🌏Global Payouts
    • Use Cases
    • Limits + Coverage
    • Pricing
    • Supported Countries
    • Country Requirements
    • 🔥Blockchain + Banks
    • 🔥Instant Payouts to Debit Card
  • 💱Foreign Exchange
    • Exchange Rates
  • Methodologies
  • Payment Methods
    • API Calls
      • Creating a Payment Method- ACH
      • List Payment Methods
      • Create a Payment Method- Wire Transfer
      • Get Payment Method
      • Attach Blockchain to Payment Method
  • Transfers
    • API Calls
      • Creating a Transfer
      • Confirm a Transfer
      • Get Transfer
      • Transfer History
  • Data Subscriptions
    • Subscribe Webhook
    • Get Subscriptions
    • Delete Webhook
  • Resources
  • ✅Going Live
  • Testing Enviornment
  • Understanding API Errors
  • System Resource Name
  • Rate Limiting
  • Authentication & Key Management
    • Authorization Tokens
    • Create an API Key
    • Delete an API Key
    • Authentication Code Examples
  • Wyre Brand Assets
    • 🎨Color Palette And Wyre Logos
  • Links
    • 🧪Test Wyre Dashboard
    • 🗣️ Wyre's Discord
Powered by GitBook
On this page
  • Getting Started With Bank Transfers Through the Wyre API
  • Payment Method Statuses
  • Payment Method Types
  • Blockchain Attachment & Liquidation
  • Lifecycle and Exceptions
  • 1. A user needs to re-submit a piece of initial account information.
  • 2. User needs to re-submit an ID image
  • 3. A user needs to submit a Proof of Address
  • 4. A user needs to submit an ACH authorization form.

Was this helpful?

Payment Methods

Getting Started With Bank Transfers Through the Wyre API

Payment Methods relating to ACH are only used for off-ramping to US bank accounts.

Payment Method resources are generic resources that represent a payment method connected to the financial system.

A Payment Method, as returned by the Wyre, looks like this:

{
    "id": "PA-W7YN28ABCHT",
    "owner": "account:AC-XX38VYXUA84",
    "createdAt": 1542771684392,
    "name": "Plaid Checking 0000",
    "defaultCurrency": "USD",
    "status": "PENDING",
    "statusMessage": null,
    "waitingPrompts": [],
    "linkType": "LOCAL_TRANSFER",
    "beneficiaryType": "UNKNOWN",
    "supportsDeposit": true,
    "nameOnMethod": null,
    "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": [],
    "srn": "paymentmethod:PA-W7YN28ABCHT",
    "blockchains": {
      "BTC": "1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2",
      "ETH": "0x32Be343B94f860124dC4fEe278FDCBD38C102D88"
    }
}

Payment Method Statuses

Status

Description

PENDING

Payment Method has not been activated and is PENDING review on Wyre's side. No user action is required.

AWAITING_FOLLOWUP

ACTIVE

Payment Method is active and ready for use.

REJECTED

Payment Method has been rejected by Wyre and cannot be used.

Payment Method Types

For some more information on the differences between different types of Payment Methods check out Payment Method Types

Type

LinkType value

Description

WIRE_TRANSFER

INTERNATIONAL_TRANSFER

Wire transfer

LOCAL_TRANSFER

LOCAL_TRANSFER

Transfer using the local banking system. In the case of US, this would be an ACH payment.

Blockchain Attachment & Liquidation

Payment methods may be connected to any of the blockchains we support. This means that any transactions in supported currencies sent to that address will have their totals converted and liquidated to the payment method.

You may attach blockchain when creating payment methods by supplying a request parameter attachBlockchains as an array of currencies, or ALL for all presently available.

Lifecycle and Exceptions

There are four edge cases that would trigger a user into a non approved state after submitting KYC information and connecting a bank account.

  1. A user needs to re-submit a piece of initial account information.

  2. User needs to re-submit an ID image

  3. A user needs to submit a Proof of Address

  4. A user needs to submit an ACH authorization form.

1. A user needs to re-submit a piece of initial account information.

On the API level, after a user submits data, the status of each fieldId in the response object from the get_account endpoint returns back a PENDING status for whichever fieldId that corresponds to the incorrectly input KYC data point.

{
  "id" : "AC-U4BWHGZDG6W",
  ...,
  "profileFields" : [ {
    "fieldId" : "individualSsn",
    "fieldType" : "STRING",
    "value" : null,
    "note" : "Please provide a valid social security number.",
    "status" : "OPEN"
  }, {
  ...
  }]
}

There could be different notes for different user actions based on each KYC data point.

2. User needs to re-submit an ID image

This typically happens when a user submits an ID that:

  • isn't legible, blurry image

  • pictures doesn't encapsulate the entire image, all four corners are not showing

  • Image doesn't match with the correct initial account KYC data

The user will then get an email to upload a new image to the dashboard.

{
  "id" : "AC-U4BWHGZDG6W",
  ...,
  "profileFields" : [ {
    "fieldId" : "individualGovernmentId",
    "fieldType" : "DOCUMENT",
    "value" : ["DO_B9QJCMN2QBB"],
    "note" : "Document is expired",
    "status" : "OPEN"
  }, {
  ...
  }]
}

It's important to look at the note section of the server response object. The note will give context as to why an image will not work. Other notes include:

  • Identification needs to be in full color

  • Identification is blurry/hard to read

  • Document must include all four corners

  • Please submit a passport, driver's license or govt. issued identification document

  • Identification document is not supported

3. A user needs to submit a Proof of Address

This typically happens when a user submits an ID and inputs KYC address data that doesn't match. A proof of address document such as a:

  • Utility Bill

  • Bank Statement

{
  "id" : "AC-U4BWHGZDG6W",
  ...,
  "profileFields" : [{
   "fieldId": "individualGovernmentId"
    "fieldType": "DOCUMENT",
    "value": [DO_B9QJCMN2QB9],
    "note": "Document must include all four corners",
    "status": "OPEN"
  }, {
  ...
  }]
}

It's important to look at the note section of the server response object. The note will give context as to why an image will not work. Other notes include:

  • Please provide a translated copy of this document

  • Utility Bill does not match profile address

  • Bank Statement does not match profile address

  • Please provide utility bill that matches profile address

  • Please provide all pages of Bank statement for verification

4. A user needs to submit an ACH authorization form.

This typically happens when a user submits an ID, inputs KYC data, uploads a bank account payment method and data doesn't match. Examples include:

  1. Does not match the registered legal name

  2. Does not match the registered email

  3. Does not match the registered phone number

  4. Does not match the registered address nor have a valid proof of address on file

  5. Does not have transaction posted in transaction history

  6. Does not have a sufficient balance to cover the transaction

Submitting documentation via support.sendwyre.com

This will trigger the event of sending an email out to a users. After clicking the link in the email, users will be taken to support.sendwyre.com and will immediately be shown the following prompt.

Once submitted, our team will review and process the information.

Submitting documentation via the WYRE API

If an account goes into a status that needs an authorization form, Partners have an option of sending the authorization form via the endpoint below.

The response to the account and paymentMethod endpoints will update accordingly during the following states when collecting the ACH form. The account endpoint response will only update if the payment method is the individual source of funds.

When an ACH form has been initially been requested:

//GET /accounts/:accountId

[
  ...
  {
    fieldId: "individualSourceOfFunds",
    fieldType: "PAYMENT_METHOD",
    value: "PM_XXXXX",
    note: "Additional information is required.",
    status: "OPEN"
  }
]

// GET /paymethMethod/PM_XXXXX

{
    ...
    status: "AWAITING_FOLLOWUP",
    waitingPrompts: [{
      id: "ACH_FORM"
      prompt: "Please upload a picture of yourself with the following written down on a piece of paper next to your face: `Wyre`, today's date, the last 4 digits of your bank account number and your signature.",
      type: "DOCUMENT"
    }]
}

When an ACH form has been submitted through the upload document for payment method endpoint and is in review:

 
//GET /accounts/:accountId
​
[
  ...
  {
    fieldId: "individualSourceOfFunds",
    fieldType: "PAYMENT_METHOD",
    value: "PM_XXXXX",
    note: "Payment method is under review.",
    status: "PENDING"
  }
]
​
// GET /paymethMethod/PM_XXXXX
{
    ...
    status: "AWAITING_FOLLOWUP",
    waitingPrompts: []
}

When an ACH form has been submitted through the upload documents for payment method endpoint and has been approved:

//GET /accounts/:accountId

[
  ...
  {
    fieldId: "individualSourceOfFunds",
    fieldType: "PAYMENT_METHOD",
    value: "PM_XXXXX",
    note: null,
    status: "APPROVED"
  }
]

// GET /paymethMethod/PM_XXXXX
{
    ...
    status: "APPROVED",
    waitingPrompts: []
}
PreviousExchange RatesNextAPI Calls

Last updated 4 years ago

Was this helpful?

Payment Method requires additional information from the user before being useful. The case where you would see this is on payment methods when the bank statement is still required.

You may also attach the blockchains to existing payment methods with

This typically happens when a user submit KYC information during the account creation stage and his/her information doesn't match up with the ID that was submitted, incorrect/invalid info provided, such as incorrect DOB, invalid address, misspelled legal name, or SSN/ITIN is needed. An email will be sent to the user, and then the user can log into the and submit the correct information.

On the API level, the key/value "fieldId":"individualGovernmentId" will go from PENDING after an image is submitted, back to OPEN if the image is rejected.

On the API level, the key/value "fieldId":"individualGovernmentId" will go from PENDING after an image is submitted, back to OPEN if the image is rejected.

You'll then need to upload a picture of your face next to a piece of paper with the following written down:

this endpoint.
dashboard
JSON
JSON
https://api.sendwyre.com/v2/paymentMethod/:paymentMethodId/followup
WIRE_TRANSFER