Handle offline payments
Some merchants are configured to accept payments offline. When the Clover device cannot reach the server, the payment response indicates the payment's offline status in the response issues.offline
object.
{
"issues": {
"offline": {
"description": "OFFLINE"
}
},
}
The Clover device records offline payments when a merchant attempts a transaction without a network or Wi-Fi connection. In this scenario, the device also can't verify the payment gateway or check if the card is valid and has sufficient funds.
By default, Clover Mini and Flex are set to take offline payments for up to 7 days. Merchants can disable offline payments if they don't want to accept the associated risk, or they can set limits on the transaction amount for offline payments or the total amount processed in an offline state. See the merchant help page for more information.
Override merchant settings for offline transactions
The REST Pay API provides three options that can override the merchant’s settings for offline payments. The options—least risk, more risk, and most risk—indicate the level of risk the merchant must accept if an offline payment is eventually declined.
IMPORTANT
Allowing any offline payment with one of the
offlineOptions
overrides any merchant-configured limits on these riskier transactions. This includes the limit on days before going online, as well as the amount limit on each transaction and the total offline payments limit.By using any of the offline payments settings, you assume responsibility for warning the merchant of any possible risk and enforcing any limits on offline transactions required for the merchant.
allowOfflinePayment (Boolean)—Least risk
If the merchant sets allowOfflinePayment
to true
to disable offline payments, this overrides the merchant's settings. If the device is offline and a payment is attempted, the merchant is prompted to accept or decline the payment with an offline challenge. In the following example, the payment request is set to allow an offline payment if the device cannot connect to the payment gateway:
{
"deviceOptions": {
"offlineOptions": {
"allowOfflinePayment": true
}
}
}
The following diagram displays an overview of this option where the merchant must confirm that the offline payment is allowed.
approveOfflinePaymentWithoutPrompt (Boolean)—More risk
When the value for this setting is true
, offline payments are approved without a challenge. In this case, the merchant may not know that a payment was taken offline. Transactions can complete faster using this setting, but you should only implement this setting if you are sure the merchants using your integration are willing to accept the risk associated with offline payments.
{
"deviceOptions": {
"offlineOptions": {
"approveOfflinePaymentWithoutPrompt": true
}
}
}
NOTE
You can also confirm offline payments automatically with the
AutoAcceptPaymentConfirmations
per-transaction setting.
forceOfflinePayment (Boolean)—Most risk
The device takes payments offline regardless of connection status, and overrides any offline payment limits set by the merchant. The device processes transactions more quickly because it doesn't prompt the merchant to accept or reject the payment. This setting may be useful for merchants that need to complete transactions as quickly as possible. You should only implement this setting if you are sure the merchants using your integration are willing to accept the risk associated with offline payments.
{
"deviceOptions": {
"offlineOptions": {
"forceOfflinePayment": true
}
}
}
Your app can also let the merchant configure an offline payment limit using one or more of the handling options. Example: The merchant can set the offline limit at $20:
- For offline payments under $20, the app automatically accepts the payment.
- For offline payments over $20, the app can either automatically reject it or give the merchant the option to allow the payment.
Updated 10 months ago