This page describes all the enum types used in the ReadyRemit API and what their values represent.

Transfer Method

The "Transfer Method" enum specifies the various channels through which transfers are executed, each with unique sender and recipient requirements, compliance standards, fees, and delivery times. Introducing new transfer methods necessitates collaboration with your ReadyRemit account manager.

  • BANK_ACCOUNT: Transfers are conducted via traditional banking networks, such as SWIFT or ACH, directly to a recipient's bank account. Required information typically includes the bank account and routing number (or international equivalent), though specifics may vary by country. These transfers generally take 1 to 3 business days and may be delayed by weekends and holidays. This method supports payments to major card networks and financial institutions, facilitating broad international reach.
  • CASH_PICKUP: Funds are sent to designated locations within the recipient's country, where they can be collected in cash. This method often provides faster availability than bank transfers. Cash pickup services enable recipients without bank accounts to access funds conveniently at various agent locations.
  • PUSH_TO_CARD: This method allows for instant transfers directly to a recipient's debit card. It is not limited by weekends or holidays, offering 24/7 availability. Implementing push-to-card transfers requires additional measures to collect user information while maintaining PCI compliance. This service enables real-time fund disbursements to recipients' existing debit cards, enhancing convenience and speed. For more information, see the Push-to-card integration guide.
  • MOBILE_WALLET: Transfers are made directly to a recipient's mobile wallet account, providing immediate access to funds. This method is particularly advantageous in regions with prevalent mobile money services, offering a secure and efficient alternative to traditional banking. Mobile wallet transfers facilitate seamless transactions, especially in areas with high mobile money adoption.

For detailed integration guidelines and compliance requirements for each transfer method, please consult your ReadyRemit account manager.

Quote By

The "Quote By" parameter determines whether the transfer calculation is based on the amount sent by the sender or the amount received by the recipient. Since exchange rates fluctuate, quotes are only valid at the time of retrieval, and the final amount may change when the transfer is executed.

  • SEND_AMOUNT: The sender specifies the exact amount they want to send. The total amount deducted from the sender's account includes this amount plus any applicable fees. The recipient's final amount is calculated using the real-time exchange rate when the quote is generated.
  • RECEIVE_AMOUNT: The sender specifies the exact amount the recipient should receive. The system calculates the required sender amount by factoring in the real-time exchange rate and any applicable fees. This ensures the recipient gets the intended amount, but the sender's total cost may vary.

Used in:

Recipient Type

The Recipient Type defines the nature of the entity receiving funds in a transfer. It determines the required fields, compliance requirements, and risk level associated with the transaction.

  • PERSON
    • Represents an individual receiving funds.
    • Use Cases include sending money to friends or family or transferring funds to your account in another country.
  • BUSINESS:
    • Represents a company or organization receiving funds.
    • Use Cases include paying bills, invoices, or vendors.

Sender Type

The Sender Type classifies the entity initiating the transfer. It determines the applicable compliance checks and required sender details.

  • PERSON
    • Represents an individual sending funds.
    • Use Cases include sending money to relatives, friends, or personal accounts or paying for goods and services as an individual.
  • BUSINESS:
    • Represents a company or organization sending funds.
    • Use cases include paying suppliers, vendors, or business partners; disbursing employee salaries; or making business-related payments

KYC Status

The KYC Status field defines the current status of a sender in their journey through the Know Your Customer (KYC) process. This status is critical in determining whether a sender can proceed with transactions and what actions may be required for verification.

KYC Status Values and Descriptions

  • UNKNOWN
    • This status is primarily used for businesses where KYC verification may not be explicitly tracked at the individual level.
  • SKIPPED:
    • Indicates that KYC verification has already been handled externally by the client.
    • No further verification is required through the ReadyRemit system.
    • Senders in this state should be allowed to proceed with transactions unless restricted by other compliance policies.
  • PASSED:
    • The sender has completed KYC verification.
    • Verification could have been completed either via an initial database check or by submitting a physical ID for validation.
    • Senders in this state are eligible to complete transactions without further identity checks.
  • ID_REQUIRED:
    • The initial database check did not confirm identity, requiring additional verification.
    • The sender must upload a valid government-issued ID for further authentication.
    • The sender should be prompted to begin the KYC ID Verification flow before proceeding.
  • FAILED:
    • The sender did not pass KYC checks or ID verification.
    • This status typically results from invalid or mismatched documents or Failed background or sanction checks.
    • Next Steps:
      • This state cannot be automatically recovered.
      • The sender must contact customer support for resolution.
      • Transactions are not allowed in this state.
  • PENDING:
    • The sender has submitted an ID for verification, and the system is currently processing the request.
    • This state is temporary and should typically last less than 30 seconds before transitioning to either PASSED or FAILED.
    • Senders in this state cannot complete transactions until verification is complete.
  • REQUEST_FAILED:
    • An error occurred while attempting to confirm the sender’s KYC status.
    • Users in this state should be treated as if they failed verification, meaning they cannot proceed with transactions. This status can be recovered by working with the ReadyRemit team to resolve the issue.

Delivery SLA

The Delivery SLA (Service Level Agreement) defines the approximate time frame for when a transfer is expected to be delivered.

Available SLA Options:

  • 10_MINUTE – Transfers are processed within 10 minutes, providing near-instant availability for the recipient.
    Example: Cash Pickup
  • INSTANT – Funds are available immediately, typically within seconds of processing. This applies to real-time payment networks.
    Example: Card transfers are set to "Instant"; however, in some cases, they are subject to a 30-minute Dodd-Frank regulatory hold before processing.
  • SAME_BUSINESS_DAY – Transfers are completed on the same business day, provided they are initiated within the cutoff time.
  • NEXT_BUSINESS_DAY – Transfers are delivered on the next business day, subject to bank processing times.
  • TWO_BUSINESS_DAY – Transfers are completed within two business days, with processing delays possible due to weekends and bank holidays.
  • FIVE_BUSINESS_DAY – Transfers take up to five business days, typically applicable to cross-border transactions or traditional bank settlements.
  • THIRTY_MINUTES_TO_TWO_BUSINESS_DAYS – Transfers are completed within a range of 30 minutes to two business days, depending on card attributes.
    Example: This SLA applies to PUSH_TO_CARD transfers when a quote is requested without a recipientAccountId. Since card details are unknown at the quote stage, a generalized SLA is returned. Once the transfer is processed, a more specific SLA is provided based on the card attributes.

Note: Bank holidays, weekends, transfer reviews, and processing delays may impact the delivery time frame, depending on the recipient's country and banking system.

Round Direction

The "Round Direction" enum is used to specify which rounding logic was/should be used for specific currencies.

  • STANDARD: Standard rounding means that the value should be rounded down to the appropriate significant digits if the next digit is <= 4
    • 5.054 => 5.05
    • 5.055 => 5.06
    • 5.057 => 5.06
  • UP: This rounding method requires that the first non-significant digit always be rounded up
    • 5.054 => 5.06
    • 5.055 => 5.06
    • 5.057 => 5.06
  • DOWN: The opposite of the "Up" method, the first non-significant digit will always be rounded down.
    • 5.054 => 5.05
    • 5.055 => 5.05
    • 5.057 => 5.05

Used anywhere a currency is returned.

Visibility

This property defines whether a field is visible and required in the user interface. It determines how fields appear and whether users must fill them out.

Available Options:

  • SHOW_REQUIRED – The field is visible and required. Users must provide a value.
    Example: A first name field on a form that must always be filled out.
  • SHOW_OPTIONAL – The field is visible but optional. Users can provide a value, but it is not mandatory.
    Example: A middle name field that users can choose to fill out or leave blank.
  • HIDE_AND_OPTIONAL – The field is hidden but optional. It is only shown based on certain conditions.
    Example: ID_EXPIRATION_DATE field appears if ID_TYPE field has the value PASSPORT or DRIVERS_LICENSE

Field Type

See Dynamic Fields.

Card Onboarding Session Status

The current status of a Card Onboarding Session.

  • INCOMPLETE: The session is still in progress and a card has not yet been created
  • SUCCEEDED: The session is complete and a card has been successfully onboarded. You can expect the cardId property of the Get Card Onboarding Session API call to be populated.
  • EXPIRED: The session has expired and can no longer be used to onboard a card. In order to continue, a new Card Onboarding Session must be created using the Create card onboarding session API call.