Send Terminal Payment

Access Endpoint URL: https://rest.everyware.com/api/terminals/payment [POST]

This POST method allows merchants to pass in a dollar amount and optional customer information to quickly send a payment request to a synced terminal. The customer will complete the payment on the device by inserting, tapping or swiping their payment instrument.

These transactions will be recorded as POS Payment Type, with the order item description 'Terminal Payment'. Transactions can be associated with a new customer contact, an existing one, or no customer record at all depending on the information provided in this call. Sample code for each of these three scenarios is provided in this guide.

Inbound Parameters

Parameters should be passed in a single JSON-body object.

ParameterDescriptionOptional/Required
everywareTerminalIdEveryware issued unique numeric Id used to differentiate between terminals associated with a single Everyware sales site.

EX: “8”
Required
totalAmountDueTotal amount to be processed.
No “$” required.

EX: 1.00
Required
chargeTypeThe type of transaction you want to process:
'charge' or 'authorize'.

If you process a charge it is a Sale or Purchase and, therefore, it will process the transaction right away and automatically settle.

If you process an authorize, it will authorize the funds on the card and will need to be captured/completed via the /processauthorization endpoint.
Required
individualIdIf merchant passes an Individual ID associated with an existing contact in Everyware, the terminal payment will be logged with the customer's existing payment history.

If left blank Everyware will assign an Individual ID for the payment method account holder record.

*You cannot pass an individual Id and create a new customer at the same time.
Optional - Do not use if you do not want to tie the transaction to an existing contact record or if you want to create a new contact record.
orderNumberThis should be a unique value your application defines which is associated with the invoice that appears on the top of the customer facing invoice as "Invoice #" and throughout the Everyware portal.Required
ProductServiceA description of the product/service being purchased.Optional

CustomerInfo Parameters

FirstNameFirst name for the new contact's customer profile.Required to create new contact
LastNameLast name for the new contact's customer profile.Required to create new contact
StreetStreet address for the new contact's customer profile.
Ex: "107 Brazos St"
Optional
StateIdState code for the new contact's customer profile.
Ex: "TX"
Optional
CountryIdCountry code for the new contact's customer profile.
Ex: "US"
Optional
CityCity for the new contact's customer profile.
Ex: "Austin"
Optional
ZipZip code for the new contact's customer profile.Optional
Emailemail address for the new contact's customer profile.Optional
PhoneNumberMobile phone number, saved as Primary phone number for the new contact's customer profile.Required to create new contact
ExternalIDExternal system's Id used to identify the customer. This is 'CustomerID' in the Everyware portal.Optional

Sample Quick Terminal Order with No Customer

Create a quick terminal order without tying it to a new or existing customer record.

{
  "everywareTerminalId": 61,
  "totalAmountDue": 0.01,
  "orderNumber": "20221209 145430",
  "chargeType": "charge"
}
{
    "TerminalTransactionId": 341,
    "EverywareTerminalId": 61,
    "SalesSiteId": 111111,
    "ErrorMessage": null
}

Sample Quick Terminal Order for New Customer

Create a quick terminal order and new customer record together.

{
  "everywareTerminalId": 61,
  "totalAmountDue": 10.00,
  "individualId": null,
  "orderNumber": "20230602 083600",
  "chargeType": "charge",
  "customerInfo": {
    "firstName":"CustomerFirstName", 
    "lastName": "CustomerLastName",
    "street": "TestStreet",
    "stateId": "CO",
    "countryId": "US",
    "city": "Denver",
    "zip": "80132",
    "email": "[email protected]",
    "phoneNumber": "3333333333",
    "externalId": "ABC123"
  }
}

Sample Quick Terminal Order for Existing Customer

This sample input is used to create a quick terminal order tied to an existing customer's payment records by passing in the individualId.

{
  "everywareTerminalId": 8,
  "amount": 50.00,
  "individualId": 8361948,
  "chargeType": "charge"
}

📘

individualId

Only provide an individualId for an existing contact in this scenario. Otherwise, leave off the individualId field.