"Order N Pay" Method

Summary

This method allows the integrator to request to create a payment on an existing order

Request/Response Payload Models

Enumeration Values

CreatePayment (Websocket Message)

Message: OrderNPayWebsocketRequest, Payload: OrderNPayCreatePaymentRequest

{
    "RequestID": "51d56a3d-8730-4617-90d0-67aaf4748612",
    "ProviderID": 12345,
    "ProviderName": "Example Provider",
    "DeviceID": "DeviceABC123",
    "UserIdentifier": "f9248a0f-ba0c-4c80-b9f2-fe020b456ce4",
    "MessageType": 10,
    "Payload": {
        "SalesTransactionID": "ad7ea906-71a7-4954-8d7c-6521f0716136",
        "Payment": {
            "ProviderPaymentID": "51e17dc6-a3eb-49ac-b265-1ff4ae483dfd",
            "AmountSale": 5.0,
            "AmountTip": 2.0,
            "AmountSurcharge": 0.0,
            "Name": "Credit Card",
            "ExplicitServiceChargeAmount": 1.0,
            "MerchantID": null,
            "TerminalID": null
        }
    }
}

On success, the POS responds with

Message: OrderNPayWebsocketResponse, Payload: OrderNPayCreatePaymentResponse

{
    "RequestID": "51d56a3d-8730-4617-90d0-67aaf4748612",
    "ResultCode": 0,
    "ErrorMessage": null,
    "MessageType": 10,
    "Payload": {
        "SalesTransactionPaymentID": "1bc64eb5-d927-4358-9873-6c7d99d705b7",
        "OrderSummary": {
            "SalesTransactionID": "ad7ea906-71a7-4954-8d7c-6521f0716136",
            "ServiceModePrefix": "TBL",
            "ServiceModeEntityID": "1",
            "OrderNumberOpened": "S1000001",
            "OwnedBy_UserID": "f9248a0f-ba0c-4c80-b9f2-fe020b456ce4",
            "CurrencyCode": "GBP",
            "Amount": 5.0,
            "AmountOwing": 0.0,
            "InUse": false,
            "InUseByTerminalDisplayID": null,
            "InUseByUserName": null
        }
    }
}

On failure such as an invalid SalesTransactionID, the POS may respond with

Message: OrderNPayWebsocketResponse, Payload: null

{
    "RequestID": "51d56a3d-8730-4617-90d0-67aaf4748612",
    "ResultCode": 4,
    "ErrorMessage": "The specified order does not exist!",
    "MessageType": 2,
    "Payload": null
}