Skip to content
Last updated

Offline Processing

Offline processing allows eligible payments to continue when online authorization is temporarily unavailable.

Choose your Card-Present Software

Commerce Engine Offline Processing

Store and Forward (SAF) allows Commerce Engine to keep accepting eligible card-present payments when it cannot reach the Shift4 platform or a connected downstream system. Commerce Engine makes a local decision, returns a provisional response to the point-of-sale system, and stores the encrypted transaction until it can be submitted for authorization.

Store and Forward vs Offline EMV

Store and Forward is not offline EMV. Offline EMV is a decision made between the card and the issuer, and it applies only when the card's own parameters permit an offline approval — it is not something the terminal configuration selects or the merchant can rely on for coverage. Store and Forward instead lets Commerce Engine apply a Shift4-configured acceptance profile that the merchant controls: which payment types are eligible, up to what exposure, and for how long. Commerce Engine makes a local decision, securely stores eligible payments, and automatically forwards them when connectivity returns. The issuer authorizes the transaction only after it is forwarded.

Offline EMV can shift chargeback liability for eligible disputes, but it applies only to chip transactions on cards whose parameters permit an offline approval, and usually only under a low offline limit. It cannot be configured, so the merchant has no control over which payments are accepted, no exposure limit, and no way to predict coverage during an outage. Store and Forward covers the payment types the merchant actually accepts, applies limits the merchant sets, and provides a stored transaction that can be tracked and reconciled to a final outcome.

Store and Forward and Risk

The merchant bears the risk of accepting the payment before authorization. A forwarded transaction may be declined because of insufficient funds, a blocked or closed account, issuer fraud controls, or another condition that was not available to Commerce Engine offline. Local checks and limits reduce this exposure, but they do not guarantee funding or eliminate fraud and dispute risk.

The merchant bears the risk for any transaction accepted offline.

When Store and Forward is effective

Effective when:

  • Commerce Engine remains operational and reachable by the point-of-sale system, but the Shift4 platform or a connected downstream system is temporarily unavailable.
  • The payment is eligible for SAF and within the merchant's acceptance profile.
  • The merchant can reconcile the final result later.
  • The merchant accepts the risk of a later decline to maintain payment acceptance continuity.

Not effective when:

  • The point-of-sale system or payment device cannot reach Commerce Engine.
  • The payment device is unavailable or without power.
  • The payment requires online processing.
  • Configured amount or duration limits have been reached.
  • The merchant cannot accept the risk of a later decline.
Commerce Engine Cloud

Commerce Engine Cloud requires an internet connection from the point-of-sale system to the Shift4 cloud and on to the payment device. Because that path must be available for a transaction to reach the device at all, the outages that Store and Forward can cover are more limited than with Commerce Engine On Premise, where the point-of-sale system reaches the device over the local network.

Entering offline mode

The standard Commerce Engine host timeout is 30 seconds. By default, the first qualifying timeout or connection failure puts Commerce Engine into offline mode; the trigger can instead require up to 10 consecutive qualifying failures. Commerce Engine On Premise can also be placed offline before planned network work with a Go Offline request.

After entering offline mode, Commerce Engine remains there for a persistence period. This avoids repeatedly switching between online and offline processing during an unstable connection. A Go Online request can start an earlier connectivity check on Commerce Engine On Premise.

Commerce Engine On Premise only

Go Offline and Go Online requests are not supported with Commerce Engine Cloud. With Commerce Engine Cloud, offline mode is entered and exited automatically.

Eligibility and Controls

Shift4 configures SAF for the merchant’s market and risk profile. The main controls are:

  • Exposure limits: The maximum amount for one offline transaction and the maximum total value waiting to be forwarded.
  • Payment eligibility: Which card brands, transaction types, and card-entry methods are eligible, including whether contactless transactions can be stored.
  • Offline duration: How long Commerce Engine can continue accepting eligible payments without reaching the Shift4 platform or a connected downstream system.
  • Entry and recovery: The failures that trigger offline mode, how long Commerce Engine remains offline, and how it checks and retries the connection.
  • Forwarding: How stored transactions are retried and how many independent invoice groups can be sent at the same time.

To learn how to configure your SAF acceptance profile, please reach out to Shift4.

Commerce Engine also applies built-in safeguards that cannot be relaxed through SAF configuration. For example, it will not store:

  • A new payment made with an expired card.
  • A payment when the card number fails length or leading-zero validation.
  • A payment that includes online PIN data.
  • A contactless payment that fails the terminal's risk checks.

QR payments are not available while offline.

Eligible transactions are approved locally and stored.

A payment that requires online processing is not given a local approval. For example, Interac transactions in Canada are not eligible for SAF. Commerce Engine performs an immediate connectivity check and attempts the online path. If the Shift4 platform or a connected downstream system still cannot be reached, the transaction cannot proceed.

This try-online behavior can be disabled. When disabled, SAF-ineligible transactions immediately decline while the device is in offline mode.

Regional and scheme restrictions

SAF eligibility is subject to local regulation and payment-network rules. Payment methods that depend on online authorization, PIN verification, or another real-time check may be unavailable for offline processing. Shift4 applies the supported payment methods and limits for each deployment.

Regional authentication requirements also continue to apply. In the European Economic Area, for example, SAF does not replace Strong Customer Authentication (SCA); a transaction must meet the applicable SCA requirements or a valid exemption before it can be stored.

Identify an offline approval

The response looks like an online approval, but these fields identify it as local and deferred:

{
  "result": [
    {
      "server": {
        "name": "Commerce Engine S"
      },
      "transaction": {
        "authorizationCode": "G90764",
        "authSource": "O",
        "responseCode": "A",
        "deferredAuth": "D"
      }
    }
  ]
}
  • transaction.authSource: O and server.name: Commerce Engine S identify the Commerce Engine offline response.
  • A locally generated authorization code is G followed by five digits. A follow-on request that already has an authorization code can preserve it.
  • responseCode: A combined with authSource: O means the transaction has not yet been authorized by the issuer.

Forwarding and new transactions

After the persistence period, Commerce Engine confirms connectivity with the Shift4 platform or a connected downstream system before returning to online processing. Stored transactions are then forwarded in the background while new requests continue.

  • A new request with no relationship to a pending invoice is sent online normally.
  • A request that uses the same invoice as a stored transaction cannot overtake it. Supported captures, voids, and incremental authorizations remain with that invoice and are forwarded in order.
  • Different invoice groups can be forwarded concurrently, while order is preserved within each group.
  • The final Shift4 response can approve or decline the transaction and may include values that were unavailable offline, including the host-issued card token.

Reconciliation

A local approval is provisional, so the point-of-sale system must reconcile the final outcome. Reconciliation is required when a transaction that was approved locally is later declined during forwarding, or is forwarded after the batch cut-off time and settles in a different batch than the sale.

Persist transaction.invoice with the original order record so the payment can be matched to its final host outcome, and handle these outcomes through an exception process. The cardholder has usually left by the time the transaction is forwarded.

Test your integration

Coordinate offline testing with your Shift4 Integration Analyst. Include eligible and ineligible payment methods, automatic and point-of-sale-initiated offline mode, new transactions during forwarding, and both successful and declined final results.