Retrieve transfer options

Generate available payment method options for one or multiple transfer participants depending on the accountID or paymentMethodID you supply in the request. Read our transfers overview guide to learn more.

To use this endpoint from the browser, you’ll need to specify the /accounts/{yourAccountID}/transfers.read scope when generating a token. The accountID included must be your accountID. You can find your accountID on the Business details page.
POST
/transfer-options
cURL Go JavaScript
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
curl -X POST "https://api.moov.io/transfer-options" \
  -H "Authorization: Bearer {token}" \
  --data-raw '{
    "amount": {
      "value": 100,
      "currency": "USD"
    }
    "destination": {
      "accountID": "UUID"
    },
    "source": {
      "accountID": "UUID"
    }
  }'\
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
mc, _ := moov.NewClient()

mc.TransferOptions(ctx, moov.CreateTransferOptions{
  Amount: moov.Amount{
    Currency: "USD",
    Value:    100,
  },
  Source: moov.CreateTransferOptionsTarget{
    AccountID: "UUID",
  },
  Destination: moov.CreateTransferOptionsTarget{
    AccountID: "UUID",
  },
})
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
const moov = new Moov(credentialsObject);

const transferOptions = {
  amount: {
    value: 100, 
    currency: "USD"
  },
  destination: {
    accountID: UUID
  },
  source: {
    accountID: UUID
  }
}

const options = await moov.transfers.getTransferOptions(transferOptions);
200 429
Succesfully created transfer options.
{
  "destinationOptions": [
    {
      "paymentMethodID": "8485a2ce-c9b0-4d49-bfa1-60e88a79ce31",
      "paymentMethodType": "moov-wallet",
      "wallet": {
        "walletID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43"
      }
    }
  ],
  "sourceOptions": [
    {
      "paymentMethodID": "2b42ad2a-7586-4e55-a268-10d585186c27",
      "paymentMethodType": "moov-wallet",
      "wallet": {
        "walletID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43"
      }
    }
  ]
}
Request was refused due to rate limiting.

Retry-After

number

Body

application/json

amount

object required
An integer value representing money in a specific currency.
right_key Show child attributes

currency

string <=3 characters Pattern
A 3-letter ISO 4217 currency code.

value

integer<int64>
Quantity in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.

destination

object required
right_key Show child attributes

accountID

string<uuid> <=36 characters
UUID

paymentMethodID

string<uuid> <=36 characters
UUID

source

object required
right_key Show child attributes

accountID

string<uuid> <=36 characters
UUID

paymentMethodID

string<uuid> <=36 characters
UUID

Response

application/json

destinationOptions

array
right_key Show child attributes
Wallet Bank account Card Apple Pay
A method of moving money that is a Moov wallet

paymentMethodID

string<uuid> <=36 characters
UUID

paymentMethodType

string<enum>
The payment method type that represents a payment rail and directionality
Possible values: moov-wallet, ach-debit-fund, ach-debit-collect, ach-credit-standard, ach-credit-same-day, rtp-credit, card-payment, apple-pay, push-to-card, pull-from-card

wallet

object
A Moov wallet to store funds for transfers.
right_key Show child attributes

walletID

string<uuid> <=36 characters
UUID
A method of moving money that is a bank account

paymentMethodID

string<uuid> <=36 characters
UUID

paymentMethodType

string<enum>
The payment method type that represents a payment rail and directionality
Possible values: moov-wallet, ach-debit-fund, ach-debit-collect, ach-credit-standard, ach-credit-same-day, rtp-credit, card-payment, apple-pay, push-to-card, pull-from-card

bankAccount

object
Describes a bank account on a Moov account.
right_key Show child attributes

bankAccountID

string<uuid> <=36 characters
UUID

bankAccountType

string<enum>
The bank account type.
Possible values: checking, savings, general-ledger, loan

bankName

string

exceptionDetails

object
Reason for, and details related to, an errored or verificationFailed bank account status.
right_key Show child attributes

achReturnCode

string<enum>

The return code of an ACH transaction that caused the bank account status to change.

Codes:

  • R02 - Account Closed
  • R03 - No Account/Unable to Locate Account
  • R04 - Invalid Account Number
  • R05 - Improper Debit to Consumer Account
  • R07 - Authorization Revoked by Customer
  • R08 - Payment Stopped
  • R10 - Customer Advises Originator is Not Known or Authorized to Receiver and
  • R11 - Customer Advises Entry Not in Accordance with the Terms of the Authorization
  • R12 - Branch Sold to Another DFI
  • R13 - RDFI not qualified to participate
  • R14 - Representative payee deceased or unable to continue in that capacity
  • R15 - Beneficiary or bank account holder
  • R16 - Bank account frozen
  • R17 - Entry with Invalid Account Number Initiated Under Questionable Circumstances
  • R20 - Non-payment bank account
  • R23 - Credit entry refused by receiver
  • R29 - Corporate customer advises not authorized
  • R34 - Limited participation RDFI
  • R38 - Stop Payment on Source Document (Adjustment Entry)
  • R39 - Improper Source Document
Possible values: R02, R03, R04, R05, R07, R08, R10, R11, R12, R13, R14, R15, R16, R17, R20, R23, R29, R34, R38, R39

description

string
Details related to an errored or verificationFailed bank account status.

rtpRejectionCode

string<enum>

The rejection code of an RTP transaction that caused the bank account status to change.

Codes:

  • AC03 - Account Invalid
  • AC04 - Account Closed
  • AC06 - Account Blocked
  • AC14 - Creditor Account Type Invalid
  • AG01 - Transactions Forbidden On Account
  • AG03 - Transaction Type Not Supported
  • MD07 - Customer Deceased
Possible values: AC03, AC04, AC06, AC14, AG01, AG03, MD07

fingerprint

string <=100 characters
Once the bank account is linked, we don’t reveal the full bank account number. The fingerprint acts as a way to identify whether two linked bank accounts are the same.

holderName

string

holderType

string<enum>
The type of holder on a funding source.
Possible values: individual, business

lastFourAccountNumber

string

paymentMethods

array

Includes any payment methods generated for a newly created bank account, removing the need to call the List Payment Methods endpoint following a successful Create BankAccount request.

NOTE: This field is only populated for Create BankAccount requests made with the X-Wait-For header.

right_key Show child attributes

paymentMethodID

string<uuid> <=36 characters
UUID

paymentMethodType

string<enum>
The payment method type that represents a payment rail and directionality
Possible values: moov-wallet, ach-debit-fund, ach-debit-collect, ach-credit-standard, ach-credit-same-day, rtp-credit, card-payment, apple-pay, push-to-card, pull-from-card

routingNumber

string

status

string<enum>
The bank account status.
Possible values: new, verified, verificationFailed, pending, errored

statusReason

string<enum>
The reason the bank account status changed to the current value.
Possible values: bank-account-created, verification-initiated, micro-deposit-attempts-exceeded, micro-deposit-expired, max-verification-failures, verification-attempts-exceeded, verification-expired, verification-successful, ach-debit-return, ach-credit-return, rtp-credit-failure, micro-deposit-return, admin-action, other

updatedOn

string<date-time> <=24 characters
A method of moving money that is a credit or debit card

paymentMethodID

string<uuid> <=36 characters
UUID

paymentMethodType

string<enum>
The payment method type that represents a payment rail and directionality
Possible values: moov-wallet, ach-debit-fund, ach-debit-collect, ach-credit-standard, ach-credit-same-day, rtp-credit, card-payment, apple-pay, push-to-card, pull-from-card

card

object
Describes a card on a Moov account.
right_key Show child attributes

billingAddress

object
right_key Show child attributes

addressLine1

string <=60 characters required

addressLine2

string <=32 characters

city

string <=24 characters required

country

string <=2 characters required

postalCode

string <=5 characters required

stateOrProvince

string <=2 characters required

postalCode

string [5 to 10] characters required

bin

string
The first six to eight digits of the card number, which identifies the financial institution that issued the card.

brand

string
The card brand.
Possible values: American Express, Discover, Mastercard, Visa

cardAccountUpdater

object
The results of the most recent card update request.
right_key Show child attributes

updateType

string<enum>
The results of the card update request.
Possible values: unspecified, account-closed, contact-cardholder, expiration-update, no-change, no-match, number-update

updatedOn

string<date-time> <=24 characters

cardCategory

string
The category or level of the card defined by the issuer. Examples include, but not limited to “REWARDS”, “TRADITIONAL REWARDS”, “CLASSIC”, and “CORPORATE PURCHASING”.

cardID

string<uuid> <=36 characters
UUID

cardOnFile

boolean
Indicates cardholder has authorized card to be stored for future payments.

cardType

string<enum>
The type of the card.
Possible values: debit, credit, prepaid, unknown

cardVerification

object
The results of submitting cardholder data to a card network for verification.
right_key Show child attributes

accountName

object
The results of submitting cardholder name to a card network for verification.
right_key Show child attributes

firstName

string
Possible values: noMatch, match, notChecked, unavailable, partialMatch

fullName

string
Possible values: noMatch, match, notChecked, unavailable, partialMatch

lastName

string
Possible values: noMatch, match, notChecked, unavailable, partialMatch

middleName

string
Possible values: noMatch, match, notChecked, unavailable, partialMatch

addressLine1

string
Possible values: noMatch, match, notChecked, unavailable, partialMatch

cvv

string
Possible values: noMatch, match, notChecked, unavailable, partialMatch

postalCode

string
Possible values: noMatch, match, notChecked, unavailable, partialMatch

commercial

boolean
If true, the card is for commercial use, or associated with a business. If false, the card is associated with a general consumer.

domesticPullFromCard

string
Indicates if the card supports domestic pull-from-card transfer.
Possible values: not-supported, supported, unknown

domesticPushToCard

string
Indicates which level of domestic push-to-card transfer is supported by the card, if any.
Possible values: not-supported, standard, fast-funds, unknown

expiration

object
The expiration date of the card or token.
right_key Show child attributes

month

string 2 characters

year

string 2 characters

fingerprint

string <=100 characters
Uniquely identifies a linked payment card or token. For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user’s device. This field can be used to identify specific payment methods across multiple accounts on your platform.

holderName

string
The name of the cardholder as it appears on the card.

issuer

string
Financial institution that issued the card.

issuerCountry

string
Country where the card was issued.

issuerPhone

string
Phone number of the issuer.

issuerURL

string
URL of the issuer.

lastFourCardNumber

string
Last four digits of the card number

merchantAccountID

string<uuid>
ID of the Moov account acting as a merchant or other entity authorized to store the card. Defaults to your platform account ID if cardOnFile is set to true and no other account is provided.

paymentMethods

array

Includes any payment methods generated for a newly linked card, removing the need to call the List Payment Methods endpoint following a successful Link Card request.

NOTE: This field is only populated for Link Card requests made with the X-Wait-For header.

right_key Show child attributes

paymentMethodID

string<uuid> <=36 characters
UUID

paymentMethodType

string<enum>
The payment method type that represents a payment rail and directionality
Possible values: moov-wallet, ach-debit-fund, ach-debit-collect, ach-credit-standard, ach-credit-same-day, rtp-credit, card-payment, apple-pay, push-to-card, pull-from-card

regulated

boolean
If true, the card issuing bank is regulated, and the scheme fees for debit transactions will be limited based on the Durbin Amendment. If false, the card issuing bank is not regulated, and the scheme fees will not be limited.
A method of moving money using an Apple Pay token.

paymentMethodID

string<uuid> <=36 characters
UUID

paymentMethodType

string<enum>
The payment method type that represents a payment rail and directionality
Possible values: moov-wallet, ach-debit-fund, ach-debit-collect, ach-credit-standard, ach-credit-same-day, rtp-credit, card-payment, apple-pay, push-to-card, pull-from-card

applePay

object
Describes an Apple Pay token on a Moov account.
right_key Show child attributes

brand

string<enum>
The card brand.
Possible values: American Express, Discover, Mastercard, Visa

cardDisplayName

string
User-friendly name of the tokenized card returned by Apple. It usually contains the brand and the last four digits of the underlying card for example, “Visa 1256”. There is no standard format.

cardType

string<enum>
The type of the card.
Possible values: debit, credit, prepaid, unknown

dynamicLastFour

string
The last four digits of the Apple Pay token, which may differ from the tokenized card’s last four digits

expiration

object
The expiration date of the card or token.
right_key Show child attributes

month

string 2 characters

year

string 2 characters

fingerprint

string <=100 characters
Uniquely identifies a linked payment card or token. For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user’s device. This field can be used to identify specific payment methods across multiple accounts on your platform.

sourceOptions

array
right_key Show child attributes
Wallet Bank account Card Apple Pay
A method of moving money that is a Moov wallet

paymentMethodID

string<uuid> <=36 characters
UUID

paymentMethodType

string<enum>
The payment method type that represents a payment rail and directionality
Possible values: moov-wallet, ach-debit-fund, ach-debit-collect, ach-credit-standard, ach-credit-same-day, rtp-credit, card-payment, apple-pay, push-to-card, pull-from-card

wallet

object
A Moov wallet to store funds for transfers.
right_key Show child attributes

walletID

string<uuid> <=36 characters
UUID
A method of moving money that is a bank account

paymentMethodID

string<uuid> <=36 characters
UUID

paymentMethodType

string<enum>
The payment method type that represents a payment rail and directionality
Possible values: moov-wallet, ach-debit-fund, ach-debit-collect, ach-credit-standard, ach-credit-same-day, rtp-credit, card-payment, apple-pay, push-to-card, pull-from-card

bankAccount

object
Describes a bank account on a Moov account.
right_key Show child attributes

bankAccountID

string<uuid> <=36 characters
UUID

bankAccountType

string<enum>
The bank account type.
Possible values: checking, savings, general-ledger, loan

bankName

string

exceptionDetails

object
Reason for, and details related to, an errored or verificationFailed bank account status.
right_key Show child attributes

achReturnCode

string<enum>

The return code of an ACH transaction that caused the bank account status to change.

Codes:

  • R02 - Account Closed
  • R03 - No Account/Unable to Locate Account
  • R04 - Invalid Account Number
  • R05 - Improper Debit to Consumer Account
  • R07 - Authorization Revoked by Customer
  • R08 - Payment Stopped
  • R10 - Customer Advises Originator is Not Known or Authorized to Receiver and
  • R11 - Customer Advises Entry Not in Accordance with the Terms of the Authorization
  • R12 - Branch Sold to Another DFI
  • R13 - RDFI not qualified to participate
  • R14 - Representative payee deceased or unable to continue in that capacity
  • R15 - Beneficiary or bank account holder
  • R16 - Bank account frozen
  • R17 - Entry with Invalid Account Number Initiated Under Questionable Circumstances
  • R20 - Non-payment bank account
  • R23 - Credit entry refused by receiver
  • R29 - Corporate customer advises not authorized
  • R34 - Limited participation RDFI
  • R38 - Stop Payment on Source Document (Adjustment Entry)
  • R39 - Improper Source Document
Possible values: R02, R03, R04, R05, R07, R08, R10, R11, R12, R13, R14, R15, R16, R17, R20, R23, R29, R34, R38, R39

description

string
Details related to an errored or verificationFailed bank account status.

rtpRejectionCode

string<enum>

The rejection code of an RTP transaction that caused the bank account status to change.

Codes:

  • AC03 - Account Invalid
  • AC04 - Account Closed
  • AC06 - Account Blocked
  • AC14 - Creditor Account Type Invalid
  • AG01 - Transactions Forbidden On Account
  • AG03 - Transaction Type Not Supported
  • MD07 - Customer Deceased
Possible values: AC03, AC04, AC06, AC14, AG01, AG03, MD07

fingerprint

string <=100 characters
Once the bank account is linked, we don’t reveal the full bank account number. The fingerprint acts as a way to identify whether two linked bank accounts are the same.

holderName

string

holderType

string<enum>
The type of holder on a funding source.
Possible values: individual, business

lastFourAccountNumber

string

paymentMethods

array

Includes any payment methods generated for a newly created bank account, removing the need to call the List Payment Methods endpoint following a successful Create BankAccount request.

NOTE: This field is only populated for Create BankAccount requests made with the X-Wait-For header.

right_key Show child attributes

paymentMethodID

string<uuid> <=36 characters
UUID

paymentMethodType

string<enum>
The payment method type that represents a payment rail and directionality
Possible values: moov-wallet, ach-debit-fund, ach-debit-collect, ach-credit-standard, ach-credit-same-day, rtp-credit, card-payment, apple-pay, push-to-card, pull-from-card

routingNumber

string

status

string<enum>
The bank account status.
Possible values: new, verified, verificationFailed, pending, errored

statusReason

string<enum>
The reason the bank account status changed to the current value.
Possible values: bank-account-created, verification-initiated, micro-deposit-attempts-exceeded, micro-deposit-expired, max-verification-failures, verification-attempts-exceeded, verification-expired, verification-successful, ach-debit-return, ach-credit-return, rtp-credit-failure, micro-deposit-return, admin-action, other

updatedOn

string<date-time> <=24 characters
A method of moving money that is a credit or debit card

paymentMethodID

string<uuid> <=36 characters
UUID

paymentMethodType

string<enum>
The payment method type that represents a payment rail and directionality
Possible values: moov-wallet, ach-debit-fund, ach-debit-collect, ach-credit-standard, ach-credit-same-day, rtp-credit, card-payment, apple-pay, push-to-card, pull-from-card

card

object
Describes a card on a Moov account.
right_key Show child attributes

billingAddress

object
right_key Show child attributes

addressLine1

string <=60 characters required

addressLine2

string <=32 characters

city

string <=24 characters required

country

string <=2 characters required

postalCode

string <=5 characters required

stateOrProvince

string <=2 characters required

postalCode

string [5 to 10] characters required

bin

string
The first six to eight digits of the card number, which identifies the financial institution that issued the card.

brand

string
The card brand.
Possible values: American Express, Discover, Mastercard, Visa

cardAccountUpdater

object
The results of the most recent card update request.
right_key Show child attributes

updateType

string<enum>
The results of the card update request.
Possible values: unspecified, account-closed, contact-cardholder, expiration-update, no-change, no-match, number-update

updatedOn

string<date-time> <=24 characters

cardCategory

string
The category or level of the card defined by the issuer. Examples include, but not limited to “REWARDS”, “TRADITIONAL REWARDS”, “CLASSIC”, and “CORPORATE PURCHASING”.

cardID

string<uuid> <=36 characters
UUID

cardOnFile

boolean
Indicates cardholder has authorized card to be stored for future payments.

cardType

string<enum>
The type of the card.
Possible values: debit, credit, prepaid, unknown

cardVerification

object
The results of submitting cardholder data to a card network for verification.
right_key Show child attributes

accountName

object
The results of submitting cardholder name to a card network for verification.
right_key Show child attributes

firstName

string
Possible values: noMatch, match, notChecked, unavailable, partialMatch

fullName

string
Possible values: noMatch, match, notChecked, unavailable, partialMatch

lastName

string
Possible values: noMatch, match, notChecked, unavailable, partialMatch

middleName

string
Possible values: noMatch, match, notChecked, unavailable, partialMatch

addressLine1

string
Possible values: noMatch, match, notChecked, unavailable, partialMatch

cvv

string
Possible values: noMatch, match, notChecked, unavailable, partialMatch

postalCode

string
Possible values: noMatch, match, notChecked, unavailable, partialMatch

commercial

boolean
If true, the card is for commercial use, or associated with a business. If false, the card is associated with a general consumer.

domesticPullFromCard

string
Indicates if the card supports domestic pull-from-card transfer.
Possible values: not-supported, supported, unknown

domesticPushToCard

string
Indicates which level of domestic push-to-card transfer is supported by the card, if any.
Possible values: not-supported, standard, fast-funds, unknown

expiration

object
The expiration date of the card or token.
right_key Show child attributes

month

string 2 characters

year

string 2 characters

fingerprint

string <=100 characters
Uniquely identifies a linked payment card or token. For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user’s device. This field can be used to identify specific payment methods across multiple accounts on your platform.

holderName

string
The name of the cardholder as it appears on the card.

issuer

string
Financial institution that issued the card.

issuerCountry

string
Country where the card was issued.

issuerPhone

string
Phone number of the issuer.

issuerURL

string
URL of the issuer.

lastFourCardNumber

string
Last four digits of the card number

merchantAccountID

string<uuid>
ID of the Moov account acting as a merchant or other entity authorized to store the card. Defaults to your platform account ID if cardOnFile is set to true and no other account is provided.

paymentMethods

array

Includes any payment methods generated for a newly linked card, removing the need to call the List Payment Methods endpoint following a successful Link Card request.

NOTE: This field is only populated for Link Card requests made with the X-Wait-For header.

right_key Show child attributes

paymentMethodID

string<uuid> <=36 characters
UUID

paymentMethodType

string<enum>
The payment method type that represents a payment rail and directionality
Possible values: moov-wallet, ach-debit-fund, ach-debit-collect, ach-credit-standard, ach-credit-same-day, rtp-credit, card-payment, apple-pay, push-to-card, pull-from-card

regulated

boolean
If true, the card issuing bank is regulated, and the scheme fees for debit transactions will be limited based on the Durbin Amendment. If false, the card issuing bank is not regulated, and the scheme fees will not be limited.
A method of moving money using an Apple Pay token.

paymentMethodID

string<uuid> <=36 characters
UUID

paymentMethodType

string<enum>
The payment method type that represents a payment rail and directionality
Possible values: moov-wallet, ach-debit-fund, ach-debit-collect, ach-credit-standard, ach-credit-same-day, rtp-credit, card-payment, apple-pay, push-to-card, pull-from-card

applePay

object
Describes an Apple Pay token on a Moov account.
right_key Show child attributes

brand

string<enum>
The card brand.
Possible values: American Express, Discover, Mastercard, Visa

cardDisplayName

string
User-friendly name of the tokenized card returned by Apple. It usually contains the brand and the last four digits of the underlying card for example, “Visa 1256”. There is no standard format.

cardType

string<enum>
The type of the card.
Possible values: debit, credit, prepaid, unknown

dynamicLastFour

string
The last four digits of the Apple Pay token, which may differ from the tokenized card’s last four digits

expiration

object
The expiration date of the card or token.
right_key Show child attributes

month

string 2 characters

year

string 2 characters

fingerprint

string <=100 characters
Uniquely identifies a linked payment card or token. For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user’s device. This field can be used to identify specific payment methods across multiple accounts on your platform.