All documentation

Terminal Payment

Terminal Payment

This POST method allows merchants to pass in a dollar amount and optional customer information to quickly create and send orders to synced terminals. Customer can pay in person with a card swipe, dip or tap at the indicated payment terminal.

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.

Sandbox Post URL: https://restsandbox.everyware.com/api/terminals/payment
Prod Post URL: https://rest.everyware.com/api/terminals/payment

Terminal Payment Parameters

Parameter Description Required / Not Required
Everywareterminalid Everyware issued unique numeric Id used to differentiate between terminals associated with a single Everyware sales site.\ EX: “8” REQUIRED
Amount Total amount to be processed.\ No “$” required.\ EX: 1.00 REQUIRED
IndividualId If merchant passes the 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.
  </td><td>
    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.
  </td></tr><tr><td>
    firstName
  </td><td>
    First name for the new contact's customer profile.
  </td><td>
    Required to create new contact
  </td></tr><tr><td>
    lastName
  </td><td>
    Last name for the new contact's customer profile.
  </td><td>
    Required to create new contact
  </td></tr><tr><td>
    street
  </td><td>
    Street address for the new contact's customer profile.\
    Ex: "107 Brazos St"
  </td><td>
    Optional
  </td></tr><tr><td>
    stateId
  </td><td>
    State code for the new contact's customer profile.\
    Ex: "Texas"
  </td><td>
    Optional
  </td></tr><tr><td>
    countryId
  </td><td>
    Country code for the new contact's customer profile.\
    Ex: "USA"
  </td><td>
    Optional
  </td></tr><tr><td>
    city
  </td><td>
    City for the new contact's customer profile.\
    Ex: "Austin"
  </td><td>
    Optional
  </td></tr><tr><td>
    zip
  </td><td>
    Zip code for the new contact's customer profile.
  </td><td>
    Optional
  </td></tr><tr><td>
    email
  </td><td>
    email address for the new contact's customer profile.
  </td><td>
    Optional
  </td></tr><tr><td>
    phoneNumber
  </td><td>
    Mobile phone number, saved as Primary phone number for the new contact's customer profile.
  </td><td>
    Required to create new contact
  </td></tr><tr><td>
    externalId
  </td><td>
    External system's Id used to identify the customer.
  </td><td>
    Optional
  </td></tr></tbody></table>

Example 1) Quick Terminal Order with No Customer

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

{
  "terminalId": 9,
  "amount": 25.00
}
{
    "Id": 222,
    "ExternalId": null,
    "ExternalCode": "e74f17d9-04bb-4731-8348-a78096254c97",
    "SalesSiteId": 122700,
    "TerminalId": 9,
    "Amount": 1,
    "TerminalType": 1,
    "TransactionType": 1,
    "Status": 1,
    "IndividualId": 8367896,
    "ErrorMessage": null,
    "CreatedAt": "2022-09-07T15:41:39.7646231Z",
    "UpdatedAt": null
}

Ex Portal UI : Transaction Data for Quick Terminal Order without a Customer Contact

Swipe_TerminalOrderNoContact.png

Transaction Data for Quick Terminal Order without a Customer Contact

Ex Portal UI : Quick Terminal Order with NO Customer Contact

Swipe_TerminalOrderPopUpNoContact.png

Portal UI Version of Quick Terminal Order with NO Customer Contact

Sample Quick Terminal Order for New Customer

Create a quick terminal order and new customer record together.

{
  "terminalId": 8,
  "amount": 35.00,
  "individualId": null,
  "customerInfo": {
        "firstName": "Brad",
        "lastName": "Pitt",
        "street": "107 Brazos St",
        "stateId": TX,
        "countryId": USA,
        "city": "Austin",
        "zip": 78701,
        "email": "test@everyware.com",
        "phoneNumber": "8888888888",
  }
}

Ex Portal UI : Quick Terminal Order with a New Customer Contact

Swipe_TerminalOrderPopUpNewContact.png

Portal UI Version of Quick Terminal Order with a New Customer Contact

Ex Portal UI : Transaction Data for Quick Terminal Order with a New Customer Contact

Swipe_TerminalOrderNewContact.png

Transaction Data for Quick Terminal Order with a New Customer Contact

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.

{
  "terminalId": 8,
  "amount": 50.00,
  "individualId": 8361948,
}

📘 individualId

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

Ex Portal UI: Transaction Data for Quick Terminal Order for Existing Customer. Merchants can see transaction details for orders sent to swipe terminals in the Payments > View Payments page table.

Swipe_TerminalOrderExistingContact.png

Quick Terminal Order data for Existing Contact on View Payments Table in Everyware Portal

Ex Portal UI: To quickly create an order to be paid at a terminal from the Everyware portal, users may click on the Payments > View Payments > Quick Terminal Order button and enter information into the pop up form. In the form they may look up an existing customer or add a new one so the transaction will be saved with that customer's payment history, if needed.

Swipe_TerminalOrderPopUpExistingContact.png

Portal UI Version of Quick Terminal Order with an Existing Customer Contact

Ex Portal UI: To quickly create an order to be paid at a terminal from the Everyware portal, users may click on the Payments > View Payments > Quick Terminal Order button and enter information into the pop up form. In the form they may leave the customer information out when it is not necessary to create a contact in Everyware with which to associate the terminal payment. The merchant needs only to enter the Amount to be paid and select the terminal where the customer will be paying in person.

Swipe_Quick Terminal Order.png

Portal UI Version of Quick Terminal Order with Customer Contact Blank (Optional)

All Swipe Terminal Integration Guides

🚧 Notice

If your sales site is not enabled for CP Terminal functionality you will encounter an error response, "Card Present Terminal functionality has not be enabled for this sales site" Contact support@everyware.com if you encounter this error.