Pesquisar

Are you looking for test card numbers?

Would you like to contact support?

Point-of-sale icon

Cashback e cash out

Descreve como obter uma pequena quantia em dinheiro de um cartão com ou sem uma compra.

Os clientes que usam um cartão EFTPOS (Transferência eletrônica de fundos no terminal) na Austrália podem obter uma pequena quantia em dinheiro de sua conta:

  • Com a compra (cashback).
  • Sem uma compra (cash out).

O EFTPOS é um esquema de cartões na Austrália e na Nova Zelândia.

Para realizar cashbacks ou cash out, entre em contato com a POS Support Team para ativar esse recurso.

Endpoint

O URL usado para enviar mensagens da API do terminal depende do seu tipo de implementação. Para obter mais informações sobre as arquiteturas disponíveis, consulte a Visão geral da API de terminais.

Request

Para obter uma lista dos campos solicitação de pagamento, consulte Campos PaymentRequest. Os elementos de uma solicitação de login estão envoltos em um envelope PaymentRequest.

O SaleID e ServiceID n MessageHeader devem ser únicos. Combinações SaleID e ServiceID são rejeitadas se usadas recentemente, dentro de 48 horas.

Passe os seguintes campos ao fazer uma chamada PaymentRequest para a API de terminais.

{
  "SaleToPOIRequest": {
    "MessageHeader": {
      "ProtocolVersion": "3.0",
      "MessageClass": "Service",
      "MessageCategory": "Payment",
      "MessageType": "Request",
      "ServiceID": "0501160930",
      "SaleID": "POSSystemID12345",
      "POIID": "P400Plus-540004072"
    },
    "PaymentRequest": {
      "SaleData": {
        "SaleTransactionID": {
          "TransactionID": "3375",
          "TimeStamp": "2018-05-01T14:09:30+00:00"
        }
      },
      "PaymentTransaction": {
        "AmountsReq": {
          "Currency": "AUD",
          "RequestedAmount": 12.00,
          "CashBackAmount": 2.00
        }
      }
    }
  }
}
String serviceID = "YOUR_UNIQUE_ATTEMPT_ID";
String saleID = "YOUR_CASH_REGISTER_ID";
String POIID = "YOUR_TERMINAL_ID";
String transactionID = "YOUR_UNIQUE_TRANSACTION_ID";

SaleToPOIRequest saleToPOIRequest = new SaleToPOIRequest();
MessageHeader messageHeader = new MessageHeader();
messageHeader.setProtocolVersion("3.0");
messageHeader.setMessageClass( MessageClassType.SERVICE );
messageHeader.setMessageCategory( MessageCategoryType.PAYMENT );
messageHeader.setMessageType( MessageType.REQUEST );
messageHeader.setServiceID(serviceID);
messageHeader.setSaleID(saleID);
messageHeader.setPOIID(POIID);
saleToPOIRequest.setMessageHeader(messageHeader);

PaymentRequest paymentRequest = new PaymentRequest();
SaleData saleData = new SaleData();
TransactionIdentification saleTransactionID = new TransactionIdentification();
saleTransactionID.setTransactionID(transactionID);
saleTransactionID.setTimeStamp(DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar()));
saleData.setSaleTransactionID(saleTransactionID);
paymentRequest.setSaleData(saleData);

PaymentTransaction paymentTransaction = new PaymentTransaction();
AmountsReq amountsReq = new AmountsReq();
amountsReq.setCurrency("AUD");
amountsReq.setRequestedAmount( BigDecimal.valueOf(12.00) );
amountsReq.setCashBackAmount( BigDecimal.valueOf(2.00) );
paymentTransaction.setAmountsReq(amountsReq);
paymentRequest.setPaymentTransaction(paymentTransaction);
saleToPOIRequest.setPaymentRequest(paymentRequest);
terminalAPIRequest.setSaleToPOIRequest(saleToPOIRequest);

Resposta

Para obter uma lista dos campos de resposta de pagamento, consulte campos PaymentResponse.

A resposta do pagamento contém informações sobre o status do cashback ou cash out nos seguintes campos:

{
  "SaleToPOIResponse": {
    "PaymentResponse": {
      "POIData": {
        "POITransactionID": {
          "TimeStamp": "2018-05-01T14:09:30.000Z",
          "TransactionID": "u6W7001525183770000.9815251837923768"
        }
      },
      "SaleData": {
        "SaleTransactionID": {
          "TimeStamp": "2018-05-01T14:09:30.000Z",
          "TransactionID": "3375"
        }
      },
      "PaymentResult": {
        "AuthenticationMethod": [
          "OnlinePIN"
        ],
        "PaymentAcquirerData": {
          "AcquirerPOIID": "P400Plus-540004072",
          "AcquirerTransactionID": {
            "TimeStamp": "2018-05-01T14:09:30.000Z",
            "TransactionID": "9815251837923768"
          },
          "MerchantID": "TestMerchantPOSAU1"
        },
        "PaymentInstrumentData": {
          "CardData": {
            "EntryMode": [
              "MagStripe"
            ],
            "PaymentBrand": "eftpos_australia_sav",
            "MaskedPan": "637204 **** 0025",
            "SensitiveCardData": {
              "ExpiryDate": "1220"
            }
          },
          "PaymentInstrumentType": "Card"
        },
        "AmountsResp": {
          "AuthorizedAmount": 400,
          "CashBackAmount": 20,
          "Currency": "AUD"
        }
      },
      "Response": {
        "Result": "Success",
        "AdditionalResponse": "tid=87253103&transactionType=GOODS_SERVICES_WITH_CASHBACK&pspReference=9815251837923768&cardHolderName=&offline=false&mid=000023000000015&note=Direct%20API%20REQUIRES%20payload%20crypto%20on%20live%2c%20cleartext%20allowed%20for%20testing%20only&cardHolderVerificationMethodResults=020300&cashBackAmountValue=20"
      }
    },
    "MessageHeader": {
      "ProtocolVersion": "3.0",
      "SaleID": "POSSystemID12345",
      "MessageClass": "Service",
      "MessageCategory": "Payment",
      "ServiceID": "0501160930",
      "POIID": "P400Plus-540004072",
      "MessageType": "Response"
    }
  }
}