Card Processing Overview

Using debit and credit cards to onramp into Wyre

Card payments processing occurs in 2 instances: the Wyre Checkout Widget and White Label Card Processing. Webhooks are strongly recommended for Wyre Checkout integrations and required for white label card integrations as Wyre uses an asynchronous process.

The following is an overview on how card processing works with Wyre.

Order Processing Status

857
StatusDescription
RUNNING_CHECKSNewly created orders are created in the RUNNING_CHECKS state. In this state we are processing the request and seeing if the customer is eligible to transact.

If the checks fail the order will immediately transition to FAILED.

If the checks pass the order will transition to PROCESSING.
PROCESSINGOrders in the PROCESSING state have passed the checks and the user's payment information has been validated. At this point a Transfer has been created on Wyre for the user's Order. Orders in this state will have the transferId field populated and more status information can be pulled from the Track Widget Order API.
FAILEDOrders in the FAILED state have failed and cannot be processed. If we had additional information on why the order failed we provide it.
COMPLETEOrders in the COMPLETE state are complete and the funds have been confirmed on the blockchain.
CHARGEBACKOrders in the CHARGEBACK have been charged back by the cardholder.

More on the PROCESSING status

When an order enters PROCESSING that means that a Transfer has been created that represents the fulfillment of the Order.

While it is not a requirement that you monitor the details of the state in PROCESSING it can make for a better user experience. For example, you could tell the user their funds are on the way before the funds are fully confirmed on the blockchain.

If you wish to track the Transfer to provide additional context to the user we provide an unauthenticated endpoint that can be called directly from your UI. The details of that endpoint can be found on Wallet Order Details.

In the case of Orders, funds have already been secured before the Transfer is created. That means that there is really just one thing you need to worry about for the Transfer: when the funds are processed on the blockchain.

There are 3 different states here:

  • Blockchain transaction has not been submitted to the network - in this state the Transfer Tracker's blockchainNetworkTx object will appear as null
  • Blockchain transaction has been submitted to the network, but has not been confirmed - in this state the Transfer Tracker's blockchainNetworkTx object will be present
  • Blockchain transaction has been confirmed - Transfer Tracker will appear as with a COMPLETE status

Tracking Wallet Orders

For hosted Checkout partners, typically you will receive a user back to your redirectUrl with a wallet order id appended.
From there use the Get Wallet Order Full endpoint to fetch the Wallet Order information.

For White Label Card Processing, you will use webhooks and the Get Wallet Order Full endpoint to fetch the Wallet Order information.

Wyre also offers open URLs to easily look up orders and transfers manually in your browser.

For Wallet Orders (card payments)

https://api.testwyre.com/v3/orders/:orderId?pretty

For Transfers

https://api.testwyre.com/v2/transfer/:transferId/track?pretty

Transaction Limits

To quote current limits you should place a POST call with the name, cell number, and target billing address that will be used in the order. Country must be a valid 2 characters ISO 3166-1 alpha-2 country code.

The limit check conditions are returned as follows:

  • Daily limits
  • Weekly limits
  • Yearly limits

You can check your limits in other fiat currencies by setting the sourceCurrency with one of the values [USD, EUR, CAD, GBP and AUD]. Limits are always calculated in USD, so your fiat limits in other currencies may change due to market conversion rates.

If the user exceeds the daily limit, but still has not exceeded the weekly limit, they should wait until the next day. Any order above dailyRemaining, weeklyRemaining or yearlyRemaining will reject the order.

Card Processing Limitations and Considerations

There are certain limitations on the types of cards that can be processed. We currently process through the Visa and Mastercard networks only.

We cannot process:

  • Pre-Paid Debit or Gift Cards
  • Cards issued by a neo/virtual bank
  • Unsupported networks

There are also additional considerations for processing credit cards vs. debit cards. Many credit card issuers will consider crypto purchases the same as a cash advance. The issuing bank may charge your user additional cash advance fees for their crypto purchases through Wyre. You may want to limit processing to debit cards only, or fully disclose the possibility of additional fees levied by the credit card issuer.

Localized presentment currencies will enjoy higher conversion rates. For partners handling the UX, we highly encourage you to set the source currency based on billing country code.

Errors

View the list of Card Exceptions. The Get Wallet Order Full endpoint is also a source for providing error messaging related to a particular order.