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.

Parameter

Description

Optional/Required

everywareTerminalId

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

EX: “8”

Required

totalAmountDue

Total amount to be processed.
No “$” required.

EX: 1.00

Required

chargeType

The 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

individualId

If 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.

orderNumber

This 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

ProductService

A description of the product/service being purchased.

Optional

CustomerInfo Parameters

FirstName

First name for the new contact's customer profile.

Required to create new contact

LastName

Last name for the new contact's customer profile.

Required to create new contact

Street

Street address for the new contact's customer profile.
Ex: "107 Brazos St"

Optional

StateId

State code for the new contact's customer profile.
Ex: "TX"

Optional

CountryId

Country code for the new contact's customer profile.
Ex: "US"

Optional

City

City for the new contact's customer profile.
Ex: "Austin"

Optional

Zip

Zip code for the new contact's customer profile.

Optional

Email

email address for the new contact's customer profile.

Optional

PhoneNumber

Mobile phone number, saved as Primary phone number for the new contact's customer profile.

Required to create new contact

ExternalID

External 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.