# Sale/Authorization

# Endpoint

http://{terminalIp}/devices/cat/authorizeSales

# Request

Property Type Description
HTTP Headers
Siganture String Sha-256 hmac of the JSON payload.
Content-Type text/plain Even if the payload is a JSON object, POS Bridge parses it as a string, therefore it is important to pass content-type as "text/plain" or the authentication will fail.
JSON
poyntRequestId String UUID of the request
timeout int Client timeout in milliseconds. Once client timeout is reached, POS Bridge will return an error.
payment JSON Object Contains options for the payment session. Encloses all the properties below.
currency String 3 digit currency code. This property will be inside the payment object.
referenceId String Optional. Reference ID that can be set by the POS. If not set, POS Bridge sets it by default to a UUID.
orderId String Optional. UUID. If there is an order Object created in the Poynt cloud, setting orderId will link this payment with the order object.
order JSON Object Optional. For more information please refer to Poynt API reference: https://poynt.com/docs/api/#model-order.
amount int Transaction amount in cents.
tipAmount int Optional. Tip amount in cents (this is in addition to amount).
cashbackAmount int Optional. Cashback amount in cents (can only be used for debit transactions.)
disableCash boolean Optional. If set to true, cash won't be an option for this payment session.
disableDebitCards boolean Optional. If set to true, debit won't be an option on Poynt for this payment session.
disableTip boolean Optional. Tip screen will be disabled for this payment session. Tip screen only shows if the merchant account is configured for tip adjustment.
skipReceiptScreen boolean Optional. If set to true, the receipt screen is skipped on the terminal. Receipt screen allows customers to request printed receipts or receipts via email and SMS.
cashOnly boolean Optional. If set to true, payment session will default to cash tender.
multiTender boolean Optional. If set to true, merchant will be able to do a split tender transaction if needed.
creditOnly boolean Optional. Disable any other tender options except credit.
manualEntry boolean Optional. Terminal prompts for card to be entered manually.

# Response

Property Type Description
HTTP Headers
Content-Type application/json Content-type of the payload.
Siganture String Sha-256 hmac of the JSON payload.
JSON
poyntRequestId String UUID
Signature String Sha-256 hmac of the json payload.
catResponse JSON Object DO NOT USE
amount int Transaction amount processed in cents
tipAmount int Tip amount in cents. Note: for multi-tender payments look at the "tipAmounts" object, which is a map of the Poynt Transaction id (key) and tip amount (value.)
payment JSON Object Encloses an array of Transaction objects as well as payment session properties set in the request. If the payment session resulted in one transaction, the array will contain only one transaction object.
status String "CANCELED" if the merchant canceled the transaction, "DECLINED" if a transaction was declined and "COMPLETED" otherwise.
orderId String Order UUID set in the request.
order JSON Object Order object set in the request.
referenceId String Reference ID set in the request. This reference ID gets copied into references array inside the transaction object as well.
currency String 3 letter currency code set in the request.
transactions JSON Array Array of transaction objects. For a complete transaction model please refer to the Poynt API documentation: https://poynt.com/docs/api/#model-transaction
Transaction Properties
action String "SALE" is for debit transactions, AUTHORIZE for authorizations and pre-authorizations.
amounts JSON Object This contains a list of various amounts:

cashBackamount - Amount of cashback requested by customer after paying by debit. The merchant must be enabled for the cashback feature.

currency - 3 letter currency code.

orderAmount - The portion of the transactionAmount that went towards the item/service being purchased.

transactionAmount - The total amount to be charged on the tender, which equals orderAmount + tipAmount + cashbackAmount.

tipAmount - tip amount in cents. Note: this field may not reflect if the customer leaves a tip until the adjustment call is completed by the terminal. Always check payment.tipAmount and/or payment.tipAmounts to see if the customer left a tip.
authOnly boolean If set to "true", this is a pre-authorization.
context JSON Object Additional transaction context. Please refer to: https://poynt.com/docs/api/#model-clientcontext
createdAt String Transaction time in ISO-8601 format.
customerUserId int ID of Customer object which is stored in the Poynt cloud. For more details: https://poynt.com/docs/api/#model-customer.
fundingSource JSON Object Contains information about the funding source for this transaction. Additional details at: https://poynt.com/docs/api/#model-fundingsource.
card JSON Object A property of fundingSource. Set if the payment was done by a credit or debit card. Contains the following fields (full list at https://poynt.com/docs/api/#model-card):

cardHolderFirstName - First Name

cardHolderLastName - Last Name

expirationDate - Expiration Day of Month

expirationMonth - Expiration Month

expirationYear - Expiration Year

numberFirst6 - Card BIN Number (first 6 digits)

numberLast4 - Last 4 numbers of the card

type - VISA, AMERICAN_EXPRESS, etc.
emvData JSON Object Currently only contains property emvTags.
emvTags JSON dictionary Property of emvData. Keys are EMV tags, values are tag values.
type String Funding source type. "CREDIT_DEBIT" for bank cards.
entryDetails JSON dictionary Contains info about customer presence status and card entry mode.
id String UUID of the transaction in the Poynt system. Use this ID for subsequent operations like void, capture, and adjustment.
processorResponse JSON dictionary Contains approvalCode from issuing bank, approvedAmount and additional information. Refer to https://poynt.com/docs/api/#model-processorresponse for more details.
references JSON array List of transaction references. Refer to https://poynt.com/docs/api/#model-transactionreference for additional details.
signatureCaptured boolean Note: this field gets set to true only after terminal made an adjustment call.
status String "CAPTURED" if transaction action is SALE (debit), "AUTHORIZED" otherwise.
Request Example
POST /devices/cat/authorizeSales HTTP/1.1
Host: 10.255.140.195:55555
User-Agent: curl/7.43.0
Accept: */*
    Content-Type: text/plain
    Signature: 5421c0acc92fc510c38f5e85e152c3a5545ea1216c46012eca00bd2083e3c4fc
    Content-Length: 856
        {
            "timeout": 60000,
            "poyntRequestId": "467A5CCD-5F0A-4C23-8E39-1D43E07D39A1",
            "payment": {
                "currency": "USD",
                "referenceId": "0665DF40-4049-4B0E-8C76-A39F434E01A7",
                "orderId": "984B3CFD-0C19-4D27-999F-D1B4B4D75AE1",
                "order": {
                    "amounts": {
                        "currency": "USD",
                        "subTotal": 1000
                    },
                    "id": "984B3CFD-0C19-4D27-999F-D1B4B4D75AE1",
                    "items": [
                        {
                            "name": "Item1",
                            "quantity": 1,
                            "status": "ORDERED",
                            "tax": 0,
                            "unitOfMeasure": "EACH",
                            "unitPrice": 100
                        },
                        {
                            "name": "Item2",
                            "quantity": 1,
                            "status": "ORDERED",
                            "tax": 0,
                            "unitOfMeasure": "EACH",
                            "unitPrice": 100
                        },
                        {
                            "name": "Item3",
                            "quantity": 8,
                            "status": "ORDERED",
                            "tax": 0,
                            "unitOfMeasure": "EACH",
                            "unitPrice": 100
                        }
                    ],
                    "statuses": {
                        "status": "OPENED"
                        }
                    },
                    "amount": 1000,
                    "tipAmount": 0,
                    "cashbackAmount": 0,
                    "disableDebitCards": false,
                    "disableCash": false,
                    "debit": false,
                    "disableTip": false,
                    "skipReceiptScreen": false,
                    "cashOnly": false,
                    "nonReferencedCredit": false,
                    "multiTender": false
                }
            }
Response Example (Sucess)
    HTTP/1.1 200 OK
    Connection: Keep-Alive
    Signature: F2AD208276FDCDA2B70C08A53FB5FD6DF3AE9D38C7D5C69003EE31A25D91ED19
    Content-Length: 4436
    Content-Type: application/json

    {
        "catResponse": {
            "accountNumber": "371740******7008",
            "approvalCode": "415554",
            "cardCompanyID": "A",
            "cardHolderFirstName": "JOHSN",
            "cardHolderLastName": "SMITH",
            "centerResultCode": "",
            "sequenceNumber": 752,
            "paymentCondition": 0,
            "transactionType": 10
        },
        "payment": {
            "transactions": [
                {
                    "action": "SALE",
                    "amounts": {
                        "cashbackAmount": 0,
                        "currency": "USD",
                        "orderAmount": 1000,
                        "tipAmount": 0,
                        "transactionAmount": 1000
                    },
                    "authOnly": false,
                    "context": {
                        "businessId": "469e957c-57a7-4d54-a72a-9e8f3296adad",
                        "businessType": "TEST_MERCHANT",
                        "employeeUserId": 1526454,
                        "mcc": "5812",
                        "source": "INSTORE",
                        "sourceApp": "co.poynt.services",
                        "storeAddressCity": "Palo Alto",
                        "storeAddressTerritory": "CA",
                        "storeDeviceId": "urn:tid:df0f23b3-1d90-3466-91a9-0f2157da5687",
                        "storeId": "c2855b41-1dd5-4ecc-8258-f0c89ae40338",
                        "storeTimezone": "America/Los_Angeles",
                        "transmissionAtLocal": "2017-03-10T23:56:28Z"
                    },
                    "createdAt": "2017-03-10T23:56:29Z",
                    "customerUserId": 2196430,
                    "fundingSource": {
                        "card": {
                            "cardHolderFirstName": "JOSHN",
                            "cardHolderFullName": "SMITH/JOHN",
                            "cardHolderLastName": "SMITH",
                            "encrypted": false,
                            "expirationDate": 31,
                            "expirationMonth": 5,
                            "expirationYear": 2020,
                            "id": 674974,
                            "numberFirst6": "371740",
                            "numberLast4": "7008",
                            "numberMasked": "371740******7008",
                            "serviceCode": "201",
                            "type": "AMERICAN_EXPRESS"
                        },
                        "debit": false,
                        "emvData": {
                            "emvTags": {
                                "0x5F24": "XXXXXX",
                                "0x95": "000000XXXX",
                                "0x5F20": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
                                "0x9F34": "XXXXXX",
                                "0x9F35": "XX",
                                "0x9F33": "XXXXXX",
                                "0x50": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
                                "0x9A": "XXXXXX",
                                "0x9B": "XXXX",
                                "0x9F36": "XXXX",
                                "0x9C": "00",
                                "0x9F37": "XXXXXXXX",
                                "0x9F10": "XXXXXXXXXXXX",
                                "0x84": "XXXXXXXXXXXXX",
                                "0x82": "XXXX",
                                "0x9F1A": "XXXX",
                                "0x5F2A": "XXXX",
                                "0x9F26": "XXXXXXXXXXXXXX",
                                "0x9F27": "XX",
                                "0x9F03": "000000000000",
                                "0x9F06": "XXXXXXXXXXXXXX",
                                "0x9F02": "XXXXXXXXXX",
                                "0x5F34": "00",
                                "0x9F0E": "0000000000",
                                "0x9F0F": "XXXXXXXXX",
                                "0x5A": "XXXXXXXXXXXXXX",
                                "0x9F0D": "XXXXXXXX",
                                "0x5F28": "XXXX",
                                "0x5F25": "XXXXXX",
                                "0x9F16": "XXXXXXXXXXXXX",
                                "0x9F15": "XXXX",
                                "0x57": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
                                "0x9F39": "XX",
                                "0x9F1E": "XXXXXXXXXXXXX",
                                "0x87": "XX",
                                "0x1F8104": "XXXXXXXXX",
                                "0x1F8103": "XXXXXXXXXX",
                                "0x1F815E": "XX",
                                "0x9F1C": "XXXXXXX",
                                "0x1F8102": "XXXXXXXXXXXXXX",
                                "0x9F08": "XXXX",
                                "0x5F30": "XXXX",
                                "0x9F07": "XXXX",
                                "0x9F09": "XXXX",
                                "0x9F40": "XXXXXXXXX",
                                "0x9F41": "XXXXXXX",
                                "0x1F8160": "XX",
                                "0x1F8162": "XX",
                                "0x9F21": "XXXXXX"
                            }
                        },
                        "entryDetails": {
                            "customerPresenceStatus": "PRESENT",
                            "entryMode": "INTEGRATED_CIRCUIT_CARD"
                        },
                        "type": "CREDIT_DEBIT"
                    },
                    "id": "30d3978a-da81-455c-91d6-c7c79ee378d2",
                    "processorResponse": {
                        "acquirer": "CHASE_PAYMENTECH",
                        "approvalCode": "415554",
                        "approvedAmount": 1000,
                        "batchId": "1",
                        "emvTags": {
                            "0x8A": "XXXX",
                            "0x89": "XXXXXXXX"
                        },
                        "processor": "MOCK",
                        "retrievalRefNum": "30d3978a-da81-455c-91d6-c7c79ee378d2",
                        "status": "Successful",
                        "statusCode": "1",
                        "statusMessage": "Successful",
                        "transactionId": "30d3978a-da81-455c-91d6-c7c79ee378d2"
                    },
                    "references": [
                        {
                            "id": "984b3cfd-0c19-4d27-999f-d1b4b4d75ae1",
                            "type": "POYNT_ORDER"
                        }
                    ],
                    "signatureCaptured": false,
                    "status": "CAPTURED",
                    "updatedAt": "2017-03-10T23:56:29Z"
                }
            ],
            "tipAmounts": {
                "30d3978a-da81-455c-91d6-c7c79ee378d2": 220
            },
            "status": "COMPLETED",
            "currency": "USD",
            "referenceId": "0665DF40-4049-4B0E-8C76-A39F434E01A7",
            "orderId": "984b3cfd-0c19-4d27-999f-d1b4b4d75ae1",
            "order": {
                "amounts": {
                    "currency": "USD",
                    "subTotal": 1000
                },
                "id": "984b3cfd-0c19-4d27-999f-d1b4b4d75ae1",
                "items": [
                    {
                        "name": "Item1",
                        "quantity": 1.0,
                        "status": "ORDERED",
                        "tax": 0,
                        "unitOfMeasure": "EACH",
                        "unitPrice": 100
                    },
                    {
                        "name": "Item2",
                        "quantity": 1.0,
                        "status": "ORDERED",
                        "tax": 0,
                        "unitOfMeasure": "EACH",
                        "unitPrice": 100
                    },
                    {
                        "name": "Item3",
                        "quantity": 8.0,
                        "status": "ORDERED",
                        "tax": 0,
                        "unitOfMeasure": "EACH",
                        "unitPrice": 100
                    }
                ],
                "statuses": {
                    "status": "OPENED"
                }
            },
            "amount": 1000,
            "tipAmount": 220,
            "cashbackAmount": 0,
            "disableEMVCT": false,
            "disableEbtCashBenefits": false,
            "disableEbtFoodStamps": false,
            "disableEbtVoucher": false,
            "disableMSR": false,
            "disableManual": false,
            "disableOther": false,
            "disablePaymentOptions": false,
            "disableTip": false,
            "disableDCC": false,
            "isBalanceInquiry": false,
            "manualEntry": false,
            "multiTender": false,
            "nonReferencedCredit": false,
            "disableCheck": false,
            "disableChangeAmount": false,
            "disableCash": false,
            "readCardDataOnly": false,
            "debitOnly": false,
            "debit": false,
            "skipReceiptScreen": false,
            "creditOnly": false,
            "disableEMVCL": false,
            "disableDebitCards": false,
            "cashOnly": false,
            "authzOnly": false,
            "disableDebit": false,
            "adjustToAddCharges": false,
            "verifyOnly": false,
            "voucher": false
        },
        "poyntRequestId": "467A5CCD-5F0A-4C23-8E39-1D43E07D39A1"
    }
Merchant Canceled Transaction
    HTTP/1.1 200 OK
    Connection: Keep-Alive
    Signature: 591697B2DD2EF2F7EAE2B56149B483E3FADF2F4FDF924E9BF4CD51A2F8EB1C45
    Content-Length: 1099
    Content-Type: application/json

    {
        "payment": {
            "status": "CANCELED",
            "currency": "USD",
            "referenceId": "2e4ce83a-316d-4cd4-9752-71a69a7ca411",
            "amount": 1000,
            "tipAmount": 0,
            "cashbackAmount": 0,
            "disableEMVCT": false,
            "disableEbtCashBenefits": false,
            "disableEbtFoodStamps": false,
            "disableEbtVoucher": false,
            "disableMSR": false,
            "disableManual": false,
            "disableOther": false,
            "disablePaymentOptions": false,
            "disableTip": false,
            "disableDCC": false,
            "isBalanceInquiry": false,
            "manualEntry": false,
            "multiTender": true,
            "nonReferencedCredit": false,
            "disableCheck": false,
            "disableChangeAmount": false,
            "disableCash": false,
            "readCardDataOnly": false,
            "debitOnly": false,
            "debit": false,
            "skipReceiptScreen": false,
            "creditOnly": false,
            "disableEMVCL": false,
            "disableDebitCards": false,
            "cashOnly": false,
            "authzOnly": false,
            "disableDebit": false,
            "adjustToAddCharges": false,
            "verifyOnly": false,
            "voucher": false
        },
        "poyntRequestId": "8f2f881d-df1e-4a6f-add6-efa5182c983e"
    }
Last Updated: 8/14/2023, 1:52:36 PM