Processing a Force

Overview

A FORCE transaction, also known as a force sale or offline transaction, is a process used by merchants to manually authorize a credit card transaction when an electronic authorization is not available. This situation can occur for various reasons, such as a network outage or when a previous transaction was authorized offline.

In most cases, an authorization transaction is processed in order to provide the authCode for a FORCE transaction. For more, see Processing Authorization.

Less commonly, the authCode can be issued by the card-holding bank.

🚧

Note

The force transaction is enabled by the Payment Processor.

Request Example

📘

Note

Now, the PayConex™ token can either be the one we used for the authorization transaction beforehand or, less commonly, a new one.

POST /api/v4/accounts/{accountId}/payments/force

{
  "bfTokenReference": "PAYCONEX_TOKEN",
  "posProfile": "ECOMMERCE",
  "amounts": {
    "total": "5",
    "currency": "USD"
  },
  "authCode": "OK4956"
}

*Required Scopes: pcx:payments:*, pcx:payments:card_not_present:*, pcx:payments:card_not_present:force

After this transaction is processed, while the status of the transaction is "CAPTURED", the transactionType is "FORCE". Of course, a new auth.code won't be generated each time as it is the case with a typical sale transaction. See the response example below.

Response Example

{
  "transactionId": "000000007126",
  "status": "CAPTURED",
  "timestamp": "2024-07-18T11:44:27.000000Z",
  "customer": {
    "name": "Alice"
  },
  "trace": {
    "history": [
      {
        "action": "transaction",
        "requestId": "f78e71e0-e150-484e-92e3-0b8396f5002d",
        "correlationId": "239a83e7-d225-4c86-b4bc-e29ac9eabec8",
        "timestamp": "2024-07-18T06:44:25-05:00"
      }
    ]
  },
  "amounts": {
    "currency": "USD",
    "approved": "5.00",
    "requested": "5.00"
  },
  "auth": {
    "code": "OK4956",
    "processorMessage": "APPROVED",
    "message": "APPROVED"
  },
  "card": {
    "name": "Alice",
    "last4": "1111",
    "expiry": "1225",
    "brand": "VISA"
  },
  "binData": {
    "program": "UNKNOWN"
  },
  "transactionType": "FORCE",
  "entryMode": "KEYED",
  "refundObject": {
    "refundBalance": "0.00"
  }
}