KashierDevelopersKashier Developers
In-person payments

POS API integration

Send sale and details requests to POS terminals

POS API integrations enable developers to interact with the POS system by sending requests and information through APIs. This allows them to initiate sales by transmitting order details or reviewing orders for voiding or refunds.

Endpoints

EndpointValue
TEST-URLhttps://test-api.kashier.io/v3/payment/pos/messages/:serialNo
LIVE-URLhttps://api.kashier.io/v3/payment/pos/messages/:serialNo
MethodPOST

Parameters

ParameterTypeDescriptionRequired
serialNoPath ParameterThe serial number of the POS terminal. Older docs called this POSSerialNumber.True

Headers

KeyDescription
AuthorizationThe Authorization is a secret key used to identify the merchant. You can obtain it from Kashier's dashboard. Learn more about Authorization.

Body structure for a pay request

{
    "event": "sale",
    "data": {
        "message": {
            "amount": "1",
            "currency": "EGP",
            "merchantOrderId": "your orderId",
            "transactionType": "sale",
            "printReceipt": true,
            "metaData": {},
            "reconciliation": {
                "webhookUrl": "https://www.webhookApi.com"
            }
        }
    }
}

Body description

ParameterDescriptionRequired
eventThe type of operation sale.Mandatory
amountThe amount to be paid through POS.Mandatory
currencyThe currency the customer will pay with.Mandatory
merchantOrderIdThe order ID for the payment in your system.Mandatory
transactionTypeThe transaction type of the operation sale.Mandatory
printReceiptUse true to allow the POS to print the receipt. The default value is false.Optional
metaDataAn object to send extra information related to the transaction as key: value. It must be sent even if empty.Mandatory
reconciliationThe endpoint URL where you want to receive Kashier's webhook.Optional

Body structure for a details request

{
    "event": "details",
    "data": {
        "message": {
            "transactionType": "details",
            "metaData": {},
            "details": {
                "paymentMethod": "card",
                "merchantOrderId": "your OrderId",
                "transactionId": "Kashier's transaction ID",
                "valu": {
                    "type": ""
                }
            }
        }
    }
}

Body description

ParameterDescriptionRequired
eventThe type of operation details.Mandatory
transactionTypeThe transaction type of the operation details.Mandatory
metaDataAn object to send extra information related to the transaction as key: value. It must be sent even if empty.Mandatory
paymentMethodThe payment method of the order you are inquiring about.Mandatory
merchantOrderIdThe order ID for the order you are inquiring about.Mandatory
transactionIdKashier's transaction ID for the payment you are inquiring about. You can find it in the webhook request sent by Kashier.Mandatory
valu.typeThe type of ValU credentials your Kashier account uses to process payments through ValU. It is either PF or PSP.Mandatory only for ValU payments.

On this page