CashAdvance

Cash Advance is a specific payment transaction type that allows a cardholder to receive funds (cash) directly from the merchant at the Point of Sale (POS), similar to an ATM withdrawal, but processed through the payment terminal.

1. Availability and Restrictions

Cash Advance is highly regulated and restricted, making it a feature that is not commonly available (as opposed to Cashback, which is part of a retail purchase).

Acquirer and Scheme Restrictions

Cash Advance functionality is subject to strict constraints defined by the card network (Scheme) and the acquiring bank (Acquirer):

  • Acquirer Support: The merchant's acquiring bank must explicitly enable and support Cash Advance services, which often involves separate contract terms and liability agreements.

  • Card Scheme Rules: Major card schemes (Visa, Mastercard, etc.) have specific rules regarding transaction flow, customer identification, and limits for Cash Advance transactions.

  • Geographic Limitations: Availability and processing rules vary significantly by country and jurisdiction, as local regulations may prohibit or severely limit third-party cash dispensing.

  • Liability: These transactions often carry a higher risk profile, and the terms surrounding fraud and chargeback liability may differ from standard retail purchases.

2. Cash Advance Request

Header

The standard SaleToPOIRequest.MessageHeader object, with MessageClass set to Service and MessageCategory set to Payment.

Body

A Cash Advance Request is handled by sending a standard Payment Request body, but with PaymentType set as CashAdvance. The transaction is processed as a standard payment request, but the specific PaymentType instructs the network to handle it as an ATM-like cash withdrawal.

The JSON below illustrates the Cash Advance transaction with PaymentType being set as CashAdvance.

Cash Advance Payment Request example
{
  "MessageHeader": {
    "MessageCategory": "Payment",
    "MessageClass": "Service",
    "MessageType": "Request",
    "POIID": "Terminal_01",
    "ProtocolVersion": "3.1",
    "SaleID": "POS001",
    "ServiceID": "86"
  },
  "PaymentRequest": {
    "PaymentData": {
      "PaymentType": "CashAdvance"
    },
    "PaymentTransaction": {
      "AmountsReq": {
        "Currency": "EUR",
        "RequestedAmount": 12.34
      }
    },
    "SaleData": {
      "SaleTransactionID": {
        "TimeStamp": "2025-11-29T22:05:55.029",
        "TransactionID": "12345"
      }
    }
  }
}

Review the full schema on the API specification page for required fields.

3. Cash Advance Response

Handle CashAdvance response just like a standard sale.