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.
|Newly 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
If the checks pass the order will transition to
|Orders 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.
|Orders in the
FAILED state have failed and cannot be processed. If we had additional information on why the order failed we provide it.
|Orders in the
COMPLETE state are complete and the funds have been confirmed on the blockchain.
|Orders in the
CHARGEBACK have been charged back by the cardholder.
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
blockchainNetworkTxobject will appear as
- Blockchain transaction has been submitted to the network, but has not been confirmed - in this state the Transfer Tracker's
blockchainNetworkTxobject will be present
- Blockchain transaction has been confirmed - Transfer Tracker will appear as with a
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.
Wyre also offers open URLs to easily look up orders and transfers manually in your browser.
For Wallet Orders (card payments)
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
yearlyRemaining will reject the order.
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.
Updated over 1 year ago