Poynt API


Just install the Poynt Node.js SDK (GitHub) and you are ready to go!

npm install poynt --save

Introduction

Poynt REST APIs provide applications an ability to integrate with Poynt Services in the cloud.


Standards

All of GoDaddy Poynt’s APIs are built using RESTful design patterns that are very common in the industry. In this page, you will find all the Services and Entities exposed as Resources that you can access through standard HTTP semantics. HTTP status codes are used to communicate the success/failures states, OAuth2.0 is used for API Authentication and Authorization, and HTTP methods are used to operate on the resources.

Please take note of the common patterns listed below that would help in simplifying your integration process.

Endpoint

All of our APIs can be accessed at: https://services.poynt.net.

HTTP Headers

All APIs should be invoked with the following standard HTTP headers unless otherwise specified:

HTTP Status Code

GoDaddy Poynt’s APIs return one or more of the following codes.

Dates/Times

All date time values are in GMT and is formatted in ISO 8601 format YYYY-MM-DDThh:mm:ssZ.

Resource Updates

The HTTP PATCH method is used to allow updates to existing Resources using json-patch as the request payload. Currently only the add, remove, and replace operations are supported.

Pagination

Pagination is controlled by five parameters for most GET collection APIs. These parameters determine the result set and allow you to paginate through them.

If-Modified-Since header
ISO8601 Time to filters result by item’s last updated time.
startAt query
ISO8601 Time to filters result by a specific start time.
startOffset query
Integer offset from first item.
endAt query
ISO8601 Time to filters result by a specific end time.
limit query
Integer value 1 to 100 to limit the number of items returned. Default is 10.

Clients are encouraged to begin paging through a collection by specifying the If-Modified-Since header at the start of their paging request. A limit should also be specified to control the number of returned items. If there are more items than can be returned, a HATEOAS link will also be returned.

If, however, the client wishes to specify a specific time window, they should use the startAt/endAt time window. This time window will be used to filter items out based on the item’s updatedAt time. When startAt is specified, the server will ignore the If-Modified-Since header. If no endAt time is specified, it is assumed to be up to the latest time (now).

Clients should generally not need to use the startOffset parameter. This parameter is used by the server to control the paging range in the HATEOAS links that it generates.


Oauth

Poynt APIs are secured with OAuth 2.0 to allow merchants to share data with developer applications as appropriate. The Poynt OAuth2.0 authorization API consist of a single token resource (end point) where client applications can obtain access tokens that can be used to invoke all other APIs.


Definition

In the Node.js SDK, token generation and refresh is done automatically behind the scenes. Simply initialize the poynt service with your application ID and either a filename or a string containing your PEM-encoded private key you downloaded from Poynt.net:

var poynt = require('poynt')({
  applicationId: 'urn:aid:your-application-id',
  filename: __dirname + '/key.pem'
});

or

var poynt = require('poynt')({
  applicationId: 'urn:aid:your-application-id',
  key: '-----BEGIN RSA PRIVATE KEY-----\n.....\n-----END RSA PRIVATE KEY-----'
});

Token

Generate an access token with either Json Web Token (JWT) bearer, password, or refresh token grant type.

The JWT bearer grant requires that the input grantType form parameter be urn:ietf:params:oauth:grant-type:jwt-bearer as defined by the JWT Profile for OAuth 2.0 specification. A self-signed JWT token must be provided by the client that is signed using the client’s private key.

The password grant requires that a self-signed JWT token be provided via the Authorization http header in addition to the business user’s businessId, username, and password.

Refresh token is also granted along with Access tokens to allow applications to refresh tokens that have expired. These tokens must always be stored securely by the applications.

Response

Returns a TokenResponse.


Payments


Orders

Orders resource represents a customer’s request to purchase one or more items (goods or services) from a business. As such an order contains details about all the items that we purchased, discounts applied and transactions that paid for the order. An order can be in Opened, Cancelled or Completed states. The only thing these states really tell is whether the order is active from the merchant’s perspective or not. An active order will be in Opened state. An order that the merchant is done with will be in Completed or Cancelled state. Similarly items have their own states (Ordered, Fulfilled and Returned) and transactions their own (see documentation for Transactions). Typically a merchant would want to keep the Order in Opened state until all items in the order have either been Fulfilled or Returned and all payments have been completed.


Definition

module.exports.getOrders = function getOrders(options, next) { ... }
/**
 * Get all orders at a business.
 * @param {String} options.businessId
 * @param {String} options.startAt (optional) - the time from which to start fetching orders
 * @param {Integer} options.startOffset (optional)
 * @param {String} options.endAt (optional) - the time at which to stop fetching orders
 * @param {Integer} options.limit (optional) - the number of orders to fetch
 * @param {String} options.cardNumberFirst6 (optional) - limit results to orders with transactions done by cards starting with these 6 numbers
 * @param {String} options.cardNumberLast4 (optional) - limit results to orders with transactions done by cards ending with these 4 numbers
 * @param {Integer} options.cardExpirationMonth (optional) - limit results to orders with transactions done by cards expiring in this month
 * @param {Integer} options.cardExpirationYear (optional) - limit results to orders with transactions done by cards expiring in this year
 * @param {String} options.cardHolderFirstName (optional) - limit results to orders with transactions done by cards with this card holder first name
 * @param {String} options.cardHolderLastName (optional) - limit results to orders with transactions done by cards with this card holder last name
 * @param {String} options.storeId (optional) - only fetch orders for this store
 * @param {String} options.includeStaysAll (optional)
 * @return {OrderList} orders
 */

Sample Request

poynt.getOrders({
  businessId  : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  startOffset : 0,
  limit       : 1
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
})

Sample Response

{
  "count": 1,
  "links": [
    {
      "href": "/businesses/18f071cc-5ed4-4b33-80c1-305056d42bfb/orders?startAt=2017-02-03T02%3A34%3A14Z&endAt=2017-08-28T06%3A26%3A45Z&limit=1",
      "method": "GET",
      "rel": "next"
    }
  ],
  "orders": [
    {
      "amounts": {
        "capturedTotals": {
          "cashbackAmount": 0,
          "currency": "USD",
          "orderAmount": 625,
          "tipAmount": 68,
          "transactionAmount": 693
        },
        "currency": "USD",
        "discountTotal": 0,
        "feeTotal": 0,
        "netTotal": 625,
        "subTotal": 625,
        "taxTotal": 0
      },
      "context": {
        "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
        "employeeUserId": 5247870,
        "source": "INSTORE",
        "storeDeviceId": "urn:tid:48c54303-6d51-39af-bdeb-4af53f621652",
        "storeId": "c394627f-4f68-47fb-90a5-684ea801a352",
        "transactionInstruction": "NONE"
      },
      "createdAt": "2017-02-03T01:40:21Z",
      "customerUserId": 5249839,
      "id": "01a0c6f9-015a-1000-e3ce-bbbd758e32de",
      "items": [
        {
          "createdAt": "2017-02-03T01:40:21Z",
          "discount": 0,
          "fee": 0,
          "id": 1,
          "name": "water",
          "productId": "f9faac3a-be56-4bff-b60b-84987cf021cb",
          "quantity": 5,
          "sku": "water",
          "status": "FULFILLED",
          "tax": 0,
          "taxExempted": false,
          "unitOfMeasure": "EACH",
          "unitPrice": 125,
          "updatedAt": "2017-02-03T01:40:21Z"
        }
      ],
      "orderNumber": "4",
      "statuses": {
        "fulfillmentStatus": "FULFILLED",
        "status": "OPENED",
        "transactionStatusSummary": "COMPLETED"
      },
      "taxExempted": false,
      "transactions": [
        {
          "action": "AUTHORIZE",
          "actionVoid": false,
          "adjusted": true,
          "amounts": {
            "cashbackAmount": 0,
            "currency": "USD",
            "customerOptedNoTip": false,
            "orderAmount": 625,
            "tipAmount": 68,
            "transactionAmount": 693
          },
          "amountsAdjusted": true,
          "authOnly": false,
          "context": {
            "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
            "businessType": "TEST_MERCHANT",
            "employeeUserId": 5247870,
            "mcc": "5812",
            "source": "INSTORE",
            "sourceApp": "co.poynt.services",
            "storeDeviceId": "urn:tid:48c54303-6d51-39af-bdeb-4af53f621652",
            "storeId": "c394627f-4f68-47fb-90a5-684ea801a352",
            "transmissionAtLocal": "2017-02-03T01:40:08Z"
          },
          "createdAt": "2017-02-03T01:40:09Z",
          "customerUserId": 5249839,
          "fundingSource": {
            "card": {
              "cardHolderFirstName": "LAWRENCE",
              "cardHolderFullName": "LUK/LAWRENCE",
              "cardHolderLastName": "LUK",
              "expirationDate": 31,
              "expirationMonth": 8,
              "expirationYear": 2019,
              "id": 244219,
              "numberFirst6": "414720",
              "numberLast4": "4308",
              "status": "ACTIVE",
              "type": "VISA"
            },
            "debit": false,
            "emvData": {
              "emvTags": {
                "0x50": "5649534120435245444954",
                "0x5F20": "4C554B2F4C415752454E434520",
                "0x5F24": "190831",
                "0x5F2A": "0840",
                "0x5F34": "02",
                "0x82": "3C00",
                "0x84": "A0000000031010",
                "0x95": "0080008000",
                "0x9A": "170202",
                "0x9B": "E800",
                "0x9C": "00",
                "0x9F02": "000000000625",
                "0x9F03": "000000000000",
                "0x9F06": "A0000000031010",
                "0x9F10": "06010A03A0A802",
                "0x9F12": "43484153452056495341",
                "0x9F1A": "0840",
                "0x9F26": "376393F3F6B156AA",
                "0x9F27": "80",
                "0x9F33": "E0F0C8",
                "0x9F34": "5E0000",
                "0x9F35": "21",
                "0x9F36": "0036",
                "0x9F37": "94F3A4C5"
              }
            },
            "entryDetails": {
              "customerPresenceStatus": "PRESENT",
              "entryMode": "INTEGRATED_CIRCUIT_CARD"
            },
            "type": "CREDIT_DEBIT"
          },
          "id": "624fbc0f-794c-4866-a211-0f5be53b8345",
          "links": [
            {
              "href": "1b622bd1-c0db-4271-9fe1-4ed9fbf6610c",
              "method": "GET",
              "rel": "CAPTURE"
            }
          ],
          "partiallyApproved": false,
          "pinCaptured": false,
          "processorResponse": {
            "acquirer": "CHASE_PAYMENTECH",
            "approvalCode": "534216",
            "approvedAmount": 625,
            "batchId": "1",
            "emvTags": {
              "0x89": "454139324645",
              "0x8A": "3030"
            },
            "processor": "MOCK",
            "retrievalRefNum": "624fbc0f-794c-4866-a211-0f5be53b8345",
            "status": "Successful",
            "statusCode": "1",
            "statusMessage": "Successful",
            "transactionId": "624fbc0f-794c-4866-a211-0f5be53b8345"
          },
          "references": [
            {
              "id": "01a0c6f9-015a-1000-e3ce-bbbd758e32de",
              "type": "POYNT_ORDER"
            }
          ],
          "settled": false,
          "signatureCaptured": true,
          "signatureRequired": false,
          "status": "CAPTURED",
          "updatedAt": "2017-02-03T02:34:14Z",
          "voided": false
        },
        {
          "action": "CAPTURE",
          "actionVoid": false,
          "adjusted": false,
          "amounts": {
            "cashbackAmount": 0,
            "currency": "USD",
            "customerOptedNoTip": false,
            "orderAmount": 625,
            "tipAmount": 68,
            "transactionAmount": 693
          },
          "amountsAdjusted": false,
          "authOnly": false,
          "context": {
            "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
            "businessType": "TEST_MERCHANT",
            "employeeUserId": 5247870,
            "mcc": "5812",
            "source": "INSTORE",
            "storeDeviceId": "urn:tid:48c54303-6d51-39af-bdeb-4af53f621652",
            "storeId": "c394627f-4f68-47fb-90a5-684ea801a352"
          },
          "createdAt": "2017-02-03T02:34:14Z",
          "customerUserId": 5249839,
          "fundingSource": {
            "card": {
              "cardHolderFirstName": "LAWRENCE",
              "cardHolderFullName": "LUK/LAWRENCE",
              "cardHolderLastName": "LUK",
              "expirationDate": 31,
              "expirationMonth": 8,
              "expirationYear": 2019,
              "id": 244219,
              "numberFirst6": "414720",
              "numberLast4": "4308",
              "status": "ACTIVE",
              "type": "VISA"
            },
            "debit": false,
            "entryDetails": {
              "customerPresenceStatus": "PRESENT",
              "entryMode": "INTEGRATED_CIRCUIT_CARD"
            },
            "type": "CREDIT_DEBIT"
          },
          "id": "1b622bd1-c0db-4271-9fe1-4ed9fbf6610c",
          "links": [
            {
              "href": "624fbc0f-794c-4866-a211-0f5be53b8345",
              "method": "GET",
              "rel": "AUTHORIZE"
            }
          ],
          "parentId": "624fbc0f-794c-4866-a211-0f5be53b8345",
          "partiallyApproved": false,
          "pinCaptured": false,
          "processorResponse": {
            "acquirer": "CHASE_PAYMENTECH",
            "approvalCode": "283042",
            "batchId": "1",
            "processor": "MOCK",
            "status": "Successful",
            "statusCode": "1",
            "statusMessage": "Successful",
            "transactionId": "1b622bd1-c0db-4271-9fe1-4ed9fbf6610c"
          },
          "references": [
            {
              "id": "01a0c6f9-015a-1000-e3ce-bbbd758e32de",
              "type": "POYNT_ORDER"
            }
          ],
          "settled": false,
          "signatureCaptured": true,
          "signatureRequired": false,
          "status": "CAPTURED",
          "updatedAt": "2017-02-03T02:34:14Z",
          "voided": false
        }
      ],
      "updatedAt": "2017-02-03T01:40:21Z"
    }
  ]
}

Get all orders

Get all orders that match the specified filters. If no filter is specified it will fetch all orders for the business since it started. We currently return 10 records at a time with a HATEOS link to the next 10. The following optional filters are supported:

  1. startTimeSec: the time from which to start fetching transactions,
  2. limit: the number of order to fetch,
  3. cardNumberFirst6: limit results to orders with transactions done by cards starting with these 6 numbers,
  4. cardNumberLast4: limit results to orders with transactions done by cards ending with these 4 numbers,
  5. cardExpirationMonth: limit results to orders with transactions done by cards expiring in this month,
  6. cardExpirationYear: limit results to orders with transactions done by cards expiring in this year,
  7. cardHolderFirstName: limit results to orders with transactions done by cards with this card holder first name,
  8. cardHolderLastName: limit results to orders with transactions done by cards with this card holder last name,
  9. storeId: only fetch transactions for this store.
  10. orderStatus: only fetch orders with the status.
  11. includeStaysAll: inlcude stay orders.
  12. includeOrderHistories: include order histories for orders.
  13. includeOrderShipments: include orderShipments for orders.
  14. customerUserId: filter orders placed by the customer.

Arguments

businessId path
string (required)
If-Modified-Since header
string (optional)
startAt query
string (optional)
startOffset query
integer (optional)
endAt query
string (optional)
timeType query
string (optional)
limit query
integer (optional)
cardNumberFirst6 query
string (optional)
cardNumberLast4 query
string (optional)
cardExpirationMonth query
integer (optional)
cardExpirationYear query
integer (optional)
cardHolderFirstName query
string (optional)
cardHolderLastName query
string (optional)
storeId query
string (optional)
orderNumber query
string (optional)
orderStatus query
string (optional)
includeStaysAll query
boolean (optional)
includeOrderHistories query
boolean (optional)
includeOrderShipments query
boolean (optional)
customerUserId query
integer (optional)

Response

Returns a OrderList.


Definition

module.exports.getOrders = function getOrders(options, next) { ... }
/**
 * Get all orders at a business.
 * @param {String} options.businessId
 * @param {String} options.startAt (optional) - the time from which to start fetching orders
 * @param {Integer} options.startOffset (optional)
 * @param {String} options.endAt (optional) - the time at which to stop fetching orders
 * @param {Integer} options.limit (optional) - the number of orders to fetch
 * @param {String} options.cardNumberFirst6 (optional) - limit results to orders with transactions done by cards starting with these 6 numbers
 * @param {String} options.cardNumberLast4 (optional) - limit results to orders with transactions done by cards ending with these 4 numbers
 * @param {Integer} options.cardExpirationMonth (optional) - limit results to orders with transactions done by cards expiring in this month
 * @param {Integer} options.cardExpirationYear (optional) - limit results to orders with transactions done by cards expiring in this year
 * @param {String} options.cardHolderFirstName (optional) - limit results to orders with transactions done by cards with this card holder first name
 * @param {String} options.cardHolderLastName (optional) - limit results to orders with transactions done by cards with this card holder last name
 * @param {String} options.storeId (optional) - only fetch orders for this store
 * @param {String} options.includeStaysAll (optional)
 * @return {OrderList} orders
 */

Sample Request

poynt.getOrder({
  businessId : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  orderId    : '01a0c6f9-015a-1000-e3ce-bbbd758e32de'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
})

Sample Response

{
  "amounts": {
    "capturedTotals": {
      "cashbackAmount": 0,
      "currency": "USD",
      "orderAmount": 625,
      "tipAmount": 68,
      "transactionAmount": 693
    },
    "currency": "USD",
    "discountTotal": 0,
    "feeTotal": 0,
    "netTotal": 625,
    "subTotal": 625,
    "taxTotal": 0
  },
  "context": {
    "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
    "employeeUserId": 5247870,
    "source": "INSTORE",
    "storeDeviceId": "urn:tid:48c54303-6d51-39af-bdeb-4af53f621652",
    "storeId": "c394627f-4f68-47fb-90a5-684ea801a352",
    "transactionInstruction": "NONE"
  },
  "createdAt": "2017-02-03T01:40:21Z",
  "customerUserId": 5249839,
  "discounts": [],
  "fees": [],
  "id": "01a0c6f9-015a-1000-e3ce-bbbd758e32de",
  "items": [
    {
      "createdAt": "2017-02-03T01:40:21Z",
      "discount": 0,
      "discounts": [],
      "fee": 0,
      "fees": [],
      "id": 1,
      "name": "water",
      "productId": "f9faac3a-be56-4bff-b60b-84987cf021cb",
      "quantity": 5,
      "selectedVariants": [],
      "sku": "water",
      "status": "FULFILLED",
      "tax": 0,
      "taxExempted": false,
      "taxes": [],
      "unitOfMeasure": "EACH",
      "unitPrice": 125,
      "updatedAt": "2017-02-03T01:40:21Z"
    }
  ],
  "orderNumber": "4",
  "statuses": {
    "fulfillmentStatus": "FULFILLED",
    "status": "OPENED",
    "transactionStatusSummary": "COMPLETED"
  },
  "taxExempted": false,
  "transactions": [
    {
      "action": "AUTHORIZE",
      "actionVoid": false,
      "adjusted": true,
      "amounts": {
        "cashbackAmount": 0,
        "currency": "USD",
        "customerOptedNoTip": false,
        "orderAmount": 625,
        "tipAmount": 68,
        "transactionAmount": 693
      },
      "amountsAdjusted": true,
      "authOnly": false,
      "context": {
        "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
        "businessType": "TEST_MERCHANT",
        "employeeUserId": 5247870,
        "mcc": "5812",
        "source": "INSTORE",
        "sourceApp": "co.poynt.services",
        "storeDeviceId": "urn:tid:48c54303-6d51-39af-bdeb-4af53f621652",
        "storeId": "c394627f-4f68-47fb-90a5-684ea801a352",
        "transmissionAtLocal": "2017-02-03T01:40:08Z"
      },
      "createdAt": "2017-02-03T01:40:09Z",
      "customerUserId": 5249839,
      "fundingSource": {
        "card": {
          "cardHolderFirstName": "LAWRENCE",
          "cardHolderFullName": "LUK/LAWRENCE",
          "cardHolderLastName": "LUK",
          "expirationDate": 31,
          "expirationMonth": 8,
          "expirationYear": 2019,
          "id": 244219,
          "numberFirst6": "414720",
          "numberLast4": "4308",
          "status": "ACTIVE",
          "type": "VISA"
        },
        "debit": false,
        "emvData": {
          "emvTags": {
            "0x50": "5649534120435245444954",
            "0x5F20": "4C554B2F4C415752454E434520",
            "0x5F24": "190831",
            "0x5F2A": "0840",
            "0x5F34": "02",
            "0x82": "3C00",
            "0x84": "A0000000031010",
            "0x95": "0080008000",
            "0x9A": "170202",
            "0x9B": "E800",
            "0x9C": "00",
            "0x9F02": "000000000625",
            "0x9F03": "000000000000",
            "0x9F06": "A0000000031010",
            "0x9F10": "06010A03A0A802",
            "0x9F12": "43484153452056495341",
            "0x9F1A": "0840",
            "0x9F26": "376393F3F6B156AA",
            "0x9F27": "80",
            "0x9F33": "E0F0C8",
            "0x9F34": "5E0000",
            "0x9F35": "21",
            "0x9F36": "0036",
            "0x9F37": "94F3A4C5"
          }
        },
        "entryDetails": {
          "customerPresenceStatus": "PRESENT",
          "entryMode": "INTEGRATED_CIRCUIT_CARD"
        },
        "type": "CREDIT_DEBIT"
      },
      "id": "624fbc0f-794c-4866-a211-0f5be53b8345",
      "links": [
        {
          "href": "1b622bd1-c0db-4271-9fe1-4ed9fbf6610c",
          "method": "GET",
          "rel": "CAPTURE"
        }
      ],
      "partiallyApproved": false,
      "pinCaptured": false,
      "processorResponse": {
        "acquirer": "CHASE_PAYMENTECH",
        "approvalCode": "534216",
        "approvedAmount": 625,
        "batchId": "1",
        "emvTags": {
          "0x89": "454139324645",
          "0x8A": "3030"
        },
        "processor": "MOCK",
        "retrievalRefNum": "624fbc0f-794c-4866-a211-0f5be53b8345",
        "status": "Successful",
        "statusCode": "1",
        "statusMessage": "Successful",
        "transactionId": "624fbc0f-794c-4866-a211-0f5be53b8345"
      },
      "references": [
        {
          "id": "01a0c6f9-015a-1000-e3ce-bbbd758e32de",
          "type": "POYNT_ORDER"
        }
      ],
      "settled": false,
      "signatureCaptured": true,
      "signatureRequired": false,
      "status": "CAPTURED",
      "updatedAt": "2017-02-03T02:34:14Z",
      "voided": false
    },
    {
      "action": "CAPTURE",
      "actionVoid": false,
      "adjusted": false,
      "amounts": {
        "cashbackAmount": 0,
        "currency": "USD",
        "customerOptedNoTip": false,
        "orderAmount": 625,
        "tipAmount": 68,
        "transactionAmount": 693
      },
      "amountsAdjusted": false,
      "authOnly": false,
      "context": {
        "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
        "businessType": "TEST_MERCHANT",
        "employeeUserId": 5247870,
        "mcc": "5812",
        "source": "INSTORE",
        "storeDeviceId": "urn:tid:48c54303-6d51-39af-bdeb-4af53f621652",
        "storeId": "c394627f-4f68-47fb-90a5-684ea801a352"
      },
      "createdAt": "2017-02-03T02:34:14Z",
      "customerUserId": 5249839,
      "fundingSource": {
        "card": {
          "cardHolderFirstName": "LAWRENCE",
          "cardHolderFullName": "LUK/LAWRENCE",
          "cardHolderLastName": "LUK",
          "expirationDate": 31,
          "expirationMonth": 8,
          "expirationYear": 2019,
          "id": 244219,
          "numberFirst6": "414720",
          "numberLast4": "4308",
          "status": "ACTIVE",
          "type": "VISA"
        },
        "debit": false,
        "entryDetails": {
          "customerPresenceStatus": "PRESENT",
          "entryMode": "INTEGRATED_CIRCUIT_CARD"
        },
        "type": "CREDIT_DEBIT"
      },
      "id": "1b622bd1-c0db-4271-9fe1-4ed9fbf6610c",
      "links": [
        {
          "href": "624fbc0f-794c-4866-a211-0f5be53b8345",
          "method": "GET",
          "rel": "AUTHORIZE"
        }
      ],
      "parentId": "624fbc0f-794c-4866-a211-0f5be53b8345",
      "partiallyApproved": false,
      "pinCaptured": false,
      "processorResponse": {
        "acquirer": "CHASE_PAYMENTECH",
        "approvalCode": "283042",
        "batchId": "1",
        "processor": "MOCK",
        "status": "Successful",
        "statusCode": "1",
        "statusMessage": "Successful",
        "transactionId": "1b622bd1-c0db-4271-9fe1-4ed9fbf6610c"
      },
      "references": [
        {
          "id": "01a0c6f9-015a-1000-e3ce-bbbd758e32de",
          "type": "POYNT_ORDER"
        }
      ],
      "settled": false,
      "signatureCaptured": true,
      "signatureRequired": false,
      "status": "CAPTURED",
      "updatedAt": "2017-02-03T02:34:14Z",
      "voided": false
    }
  ],
  "updatedAt": "2017-02-03T01:40:21Z"
}

Get an order

Get an order (along with HATEOS links to all immediately related orders).

Arguments

If-Modified-Since header
string (optional)
businessId path
string (required)
orderId path
string (required)

Response

Returns a Order.


Get order shipments

Get all order shipments for a given order.

Arguments

businessId path
string (required)
orderId path
string (required)

Response

Returns a array.


Get order history events

Get all order history events for a given order.

Arguments

businessId path
string (required)
orderId path
string (required)

Response

Returns a array.


Definition

This method is currently not possible using the Node.js SDK.

Record order

Record an order that has already happened. A full order object must be populated as this operation will simply record what is passed to it.

Arguments

Poynt-Request-Id header
string (required)
businessId path
string (required)
orderId path
string (required)
order body
Order (optional)

Response

Returns a Order.


Definition

This method is currently not possible using the Node.js SDK.

Update order

Update an order. This takes a JsonPatch object as request. We allow updates to order level amounts and replace on /items and /discounts.

Arguments

Poynt-Request-Id header
string (required)
businessId path
string (required)
orderId path
string (required)
patch body
JsonPatch (optional)

Response

Returns a Order.


Transactions

Transactions resource represents a financial transaction. It has operations to manage the entire lifecycle of a transaction initiated through MSR, manual key-in, NFC or EMV. It provides operations to:

  1. save a transaction at the Poynt server for later processing,
  2. record a transaction that has already happened – maybe offline or through some other path with the acquirer,
  3. initiate interaction with the acquirer to move funds (for a previously saved transaction or a brand new transaction),
  4. capture, void or update a previously authorized transaction,
  5. refund a previously completed transaction,
  6. record EMV tags associated with an authorized transaction or
  7. get details about all transactions meeting a certain filter criteria.

Definition

module.exports.getTransactions = function getTransactions(options, next) { ... }
/**
 * Get all transactions that match the specified filters.
 * If no filter is specified it will fetch all transactions for the business
 * since it started.
 * @param {String} options.businessId
 * @param {String} options.startAt (optional) - the time from which to start fetching transactions
 * @param {Integer} options.startOffset (optional)
 * @param {String} options.endAt (optional) - the time at which to stop fetching transactions
 * @param {Integer} options.limit (optional) - the number of transactions to fetch
 * @param {String} options.storeId (optional) - only fetch transactions for this store
 * @param {String} options.deviceId (optional) - only fetch transactions for this device
 * @param {String} options.searchKey (optional) - instead of specifying which exact field to look at, the client can simply pass this search key and the server will look at various different fields,
 * @param {String} options.cardNumberFirst6 (optional) - limit results to transactions done by cards starting with these 6 numbers
 * @param {String} options.cardNumberLast4 (optional) - limit results to transactions done by cards ending with these 4 numbers
 * @param {Integer} options.cardExpirationMonth (optional) - limit results to transactions done by cards expiring in this month
 * @param {Integer} options.cardExpirationYear (optional) - limit results to transactions done by cards expiring in this year
 * @param {String} options.cardHolderFirstName (optional) - limit results to transactions done by cards with this card holder first name
 * @param {String} options.cardHolderLastName (optional) - limit results to transactions done by cards with this card holder last name
 * @param {String} options.action (optional) - only fetch transactions with this action
 * @param {String} options.status (optional) - only fetch transactions with this status
 * @param {String} options.transactionIds (optional) - only fetch transactions matching these ids (comma separated)
 * @param {Boolean} options.authOnly (optional) - only fetch auth only transactions
 * @param {Boolean} options.unsettledOnly (optional) - only fetch unsettled transactions
 * @param {Boolean} options.creditDebitOnly (optional) - only fetch credit/debit transactions
 * @param {Boolean} options.includePending (optional) - include transactions with PENDING status
 * @return {TransactionList} transactions
 */

Sample Request

poynt.getTransactions({
  businessId  : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  startOffset : 0,
  limit       : 1
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
})

Sample Response

{
  "count": 256,
  "links": [
    {
      "href": "/businesses/18f071cc-5ed4-4b33-80c1-305056d42bfb/transactions?startAt=2017-01-04T23%3A10%3A25Z&endAt=2017-08-28T06%3A56%3A17Z&limit=1",
      "method": "GET",
      "rel": "next"
    }
  ],
  "transactions": [
    {
      "action": "AUTHORIZE",
      "actionVoid": false,
      "adjusted": false,
      "amounts": {
        "cashbackAmount": 0,
        "currency": "USD",
        "customerOptedNoTip": false,
        "orderAmount": 800,
        "tipAmount": 0,
        "transactionAmount": 800
      },
      "amountsAdjusted": false,
      "authOnly": false,
      "context": {
        "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
        "businessType": "TEST_MERCHANT",
        "employeeUserId": 5247838,
        "mcc": "5812",
        "source": "INSTORE",
        "sourceApp": "co.poynt.services",
        "storeDeviceId": "urn:tid:48c54303-6d51-39af-bdeb-4af53f621652",
        "storeId": "c394627f-4f68-47fb-90a5-684ea801a352",
        "transmissionAtLocal": "2017-01-04T22:20:40Z"
      },
      "createdAt": "2017-01-04T22:20:40Z",
      "customerUserId": 5247839,
      "fundingSource": {
        "card": {
          "cardHolderFirstName": "",
          "cardHolderFullName": "/",
          "cardHolderLastName": "",
          "expirationDate": 31,
          "expirationMonth": 8,
          "expirationYear": 2022,
          "id": 243043,
          "numberFirst6": "405413",
          "numberLast4": "0833",
          "status": "ACTIVE",
          "type": "VISA"
        },
        "debit": false,
        "emvData": {
          "emvTags": {
            "0x5F20": "202F",
            "0x5F24": "220831",
            "0x9C": "00",
            "0x9F02": "000000000800",
            "0x9F06": "A0000000031010",
            "0x9F37": "7619D4A6"
          }
        },
        "entryDetails": {
          "customerPresenceStatus": "PRESENT",
          "entryMode": "CONTACTLESS_MAGSTRIPE"
        },
        "type": "CREDIT_DEBIT"
      },
      "id": "9ee28946-cab1-48af-b30b-d111716128a2",
      "partiallyApproved": false,
      "pinCaptured": false,
      "processorResponse": {
        "acquirer": "CHASE_PAYMENTECH",
        "approvalCode": "667149",
        "approvedAmount": 800,
        "batchId": "1",
        "processor": "MOCK",
        "retrievalRefNum": "9ee28946-cab1-48af-b30b-d111716128a2",
        "status": "Successful",
        "statusCode": "1",
        "statusMessage": "Successful",
        "transactionId": "9ee28946-cab1-48af-b30b-d111716128a2"
      },
      "references": [
        {
          "customType": "referenceId",
          "id": "6b91d9a0-0159-1000-6f82-44ed3d4b4a5a",
          "type": "CUSTOM"
        }
      ],
      "settled": false,
      "signatureCaptured": true,
      "signatureRequired": false,
      "status": "AUTHORIZED",
      "updatedAt": "2017-01-04T22:20:40Z",
      "voided": false
    }
  ]
}

Get all transactions

Get all transactions that match the specified filters. If no filter is specified it will fetch all transactions for the business since it started. We currently return 10 records at a time with a HATEOS link to the next 10. The following optional filters are supported:

  1. If-Modified-Since: will only return transaction since If-Modified-Since,
  2. startAt: the time in seconds from which to start fetching transactions,
  3. startOffset: for all transactions at startAt the offset from where to start,
  4. endAt: the time in seconds at which to end,
  5. limit: the number of transactions to fetch in one go,
  6. storeId: only fetch transactions for this store,
  7. deviceId: only fetch transactions for this device,
  8. searchKey: instead of specifying which exact field to look at, the client can simply pass this search key and the server will look at various different fields,
  9. cardNumberFirst6: limit results to transactions done by cards starting with these 6 numbers,
  10. cardNumberLast4: limit results to transactions done by cards ending with these 4 numbers,
  11. cardExpirationMonth: limit results to transactions done by cards expiring in this month,
  12. cardExpirationYear: limit results to transactions done by cards expiring in this year,
  13. cardHolderFirstName: limit results to transactions done by cards with this card holder first name,
  14. cardHolderLastName: limit results to transactions done by cards with this card holder last name,
  15. transactionIds: only fetch transactions matching these transactionIds,
  16. authOny: only fetch authOnly transactions,
  17. unsettledOnly: only fetch unsettled transactions. note: this will limit result to creditDebitOnly,
  18. creditDebitOnly: only fetch credit-debit transactions. note: if one of the card filters or unsettledOnly filter above are enabled, it automatically limits result to credit-debit only,
  19. includePending: if true then response can include transactions with PENDING status. By default such transactions excluded from response,

Arguments

businessId path
string (required)
If-Modified-Since header
string (optional)
startAt query
string (optional)
startOffset query
integer (optional)
endAt query
string (optional)
timeType query
string (optional)
limit query
integer (optional)
storeId query
string (optional)
deviceId query
string (optional)
tid query
string (optional)
searchKey query
string (optional)
cardNumberFirst6 query
string (optional)
cardNumberLast4 query
string (optional)
cardExpirationMonth query
integer (optional)
cardExpirationYear query
integer (optional)
cardHolderFirstName query
string (optional)
cardHolderLastName query
string (optional)
action query
string (optional)
status query
string (optional)
transactionIds query
array (optional)
authOnly query
boolean (optional)
unsettledOnly query
boolean (optional)
creditDebitOnly query
boolean (optional)
includePending query
boolean (optional)
orderBy query
string (optional)

Response

Returns a TransactionList.


Create transaction

Create a new authorize, sale or refund transaction. If process query parameter is set to true or not provided, the processor will be called to actually process the transaction. If the process query parameter is set to false, the transaction will just be saved, but the processor will not be called for processing. This operation returns the Transaction just created. If the transaction is declined before the processor is called, the client will get an error. If the transaction is declined by the processor, the Transaction object is returned with status set to DECLINED and processor response object containing the response from the processor.

Referenced Refunds are only supported for a limited time, up to 180 days from the original authorization. To execute a refund beyond the referenced refund duration limit, please use an Unreferenced Refund.

Arguments

Poynt-Request-Id header
string (required)
process query
boolean (optional)
businessId path
string (required)
transaction body
Transaction (optional)

Response

Returns a CompletableFuture«Transaction».


Get archive query status

Get query status and return resource URL for fetching archived transaction (.csv format)

Arguments

businessId path
string (required)
queryId path
string (required)

Response

Returns a QueryStatus.


Definition

TODO: Add definition

Sample Request

TODO: Add request

Sample Response

TODO: Add response

Cancel transaction

Cancel and void are similar. They can both undo auth, sale, capture or refund transactions (if the acquirer supports it). A Cancel operation carries a CancelReason request parameter where the caller can specify the exact reason for the undo. Also note that if the Cancel operation is unable to perform an undo, and the original transaction is a sale or capture, it will proceed to issue a refund.

Arguments

Poynt-Request-Id header
string (required)
businessId path
string (required)
original-request-id query
string (optional)
transaction-id query
string (optional)
cancelRequest body
CancelRequest (optional)

Response

Returns a ResponseEntity«Transaction».


Definition

module.exports.getTransaction = function getTransaction(options, next) { ... }
/**
 * Get a single transaction at a business.
 * @param {String} options.businessId
 * @param {String} options.transactionId
 * @return {Transaction} transaction
 */

Sample Request

poynt.getTransaction({
  businessId    : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  transactionId : '9ee28946-cab1-48af-b30b-d111716128a2'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "action": "AUTHORIZE",
  "actionVoid": false,
  "adjusted": false,
  "amounts": {
    "cashbackAmount": 0,
    "currency": "USD",
    "customerOptedNoTip": false,
    "orderAmount": 800,
    "tipAmount": 0,
    "transactionAmount": 800
  },
  "amountsAdjusted": false,
  "authOnly": false,
  "context": {
    "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
    "businessType": "TEST_MERCHANT",
    "employeeUserId": 5247838,
    "mcc": "5812",
    "source": "INSTORE",
    "sourceApp": "co.poynt.services",
    "storeDeviceId": "urn:tid:48c54303-6d51-39af-bdeb-4af53f621652",
    "storeId": "c394627f-4f68-47fb-90a5-684ea801a352",
    "transmissionAtLocal": "2017-01-04T22:20:40Z"
  },
  "createdAt": "2017-01-04T22:20:40Z",
  "customerUserId": 5247839,
  "fundingSource": {
    "card": {
      "cardHolderFirstName": "",
      "cardHolderFullName": "/",
      "cardHolderLastName": "",
      "expirationDate": 31,
      "expirationMonth": 8,
      "expirationYear": 2022,
      "id": 243043,
      "numberFirst6": "405413",
      "numberLast4": "0833",
      "status": "ACTIVE",
      "type": "VISA"
    },
    "debit": false,
    "emvData": {
      "emvTags": {
        "0x5F20": "202F",
        "0x5F24": "220831",
        "0x9C": "00",
        "0x9F02": "000000000800",
        "0x9F06": "A0000000031010",
        "0x9F37": "7619D4A6"
      }
    },
    "entryDetails": {
      "customerPresenceStatus": "PRESENT",
      "entryMode": "CONTACTLESS_MAGSTRIPE"
    },
    "type": "CREDIT_DEBIT"
  },
  "id": "9ee28946-cab1-48af-b30b-d111716128a2",
  "partiallyApproved": false,
  "pinCaptured": false,
  "processorResponse": {
    "acquirer": "CHASE_PAYMENTECH",
    "approvalCode": "667149",
    "approvedAmount": 800,
    "batchId": "1",
    "processor": "MOCK",
    "retrievalRefNum": "9ee28946-cab1-48af-b30b-d111716128a2",
    "status": "Successful",
    "statusCode": "1",
    "statusMessage": "Successful",
    "transactionId": "9ee28946-cab1-48af-b30b-d111716128a2"
  },
  "references": [
    {
      "customType": "referenceId",
      "id": "6b91d9a0-0159-1000-6f82-44ed3d4b4a5a",
      "type": "CUSTOM"
    }
  ],
  "settled": false,
  "signatureCaptured": true,
  "signatureRequired": false,
  "status": "AUTHORIZED",
  "updatedAt": "2017-01-04T22:20:40Z",
  "voided": false
}

Get a transaction

Get a transaction (along with HATEOS links to all immediately related transactions).

Arguments

If-Modified-Since header
string (optional)
businessId path
string (required)
transactionId path
string (required)

Response

Returns a Transaction.


Definition

This method is currently not possible using the Node.js SDK.

Update transaction

Update a transaction. This only works on an authorization transaction. This takes a JsonPatch object as request. We currently support replacing all the fields in the /amounts object and adding on /receiptEmailAddress and /signature.

Arguments

Poynt-Request-Id header
string (required)
businessId path
string (required)
transactionId path
string (required)
patch body
JsonPatch (optional)

Response

Returns a Transaction.


Definition

This method is currently not possible using the Node.js SDK.

Record transaction

Record a transaction that has already happened. A full transaction object must be populated as this operation will simply record what is passed to it. If the references field in the body includes a POYNT_ORDER, this transaction will be attached to it.

Arguments

Poynt-Request-Id header
string (required)
businessId path
string (required)
transactionId path
string (required)
transaction body
Transaction (optional)

Response

Returns a Transaction.


Definition

TODO: Add definition

Sample Request

TODO: Add request

Sample Response

TODO: Add response

Capture transaction

Capture a previously authorized transaction. Multiple captures are allowed on a single authorization. This return the original authorization transaction with its status updated to CAPTURED if the capture operation succeeded and set to AUTHORIZED if the capture operation failed. The authorization transaction returned will also have a HATEOS link to the capture. In order to get capture specific details (e.g. the processor response), the client will have to perform a GET on the capture transaction from the HATEOS link.

Arguments

Poynt-Request-Id header
string (required)
businessId path
string (required)
transactionId path
string (required)
capture body
AdjustTransactionRequest (optional)
allowDuplicates query
boolean (optional)

Response

Returns a CompletableFuture«Transaction».


Definition

TODO: Add definition

Sample Request

TODO: Add request

Sample Response

TODO: Add response

Void transaction

Void and Cancel are similar. They can both undo auth, sale, capture or refund transactions (if the acquirer supports it). A Void is always for the full amount. Hence there can only be one void for a transaction and no amount needs to be specified in the void request. This will result in the original transaction being marked as voided. In order to get to the specific void details (e.g. the specific response received from the processor for the void request), the client will have to follow the HATEOS links. Also note that for a Void operation is always assumed to have been MERCHANT_INITIATED.

Arguments

Poynt-Request-Id header
string (required)
businessId path
string (required)
transactionId path
string (required)
voidRequest body
VoidRequest (optional)

Response

Returns a Transaction.


renderReceipt

renderReceipt

Arguments

businessId path
string (required)
transactionId path
string (required)
receiptTemplateId query
string (optional, default is default_txn_receipt_template_id)

Response

Returns a TransactionReceipt.


Surcharge

The surcharge API provides an ability to onboard merchants into the surcharging fee program, which allows them to apply additional charges to credit card transactions to offset the cost of credit card payment proccessing.


Check Elegible Fees

This endpoint should be called to check if the transaction is eligible for any fees. A 200 response means the call was successful and a list of those eligible fees will be returned in the response body, otherwise a 404 is returned if no resource is found.

Once you have the list of eligibleFees, it can then be used in the POST call to the transaction endpoint to create the transaction with the corresponding surcharge. The transaction model allows incorporating such fees into the amounts property. Be sure to include each elible fee in its entirety (including any signatures) in the eligibleFees that you pass to the POST to the transaction endpoint.

Path Parameters

businessId path
string (required)

Headers

Request Body Schema

Transaction Model


Customers

Operations for customers of a business


Definition

module.exports.getCustomers = function getCustomers(options, next) { ... }
/**
 * Get all customers of a business by various criteria.
 * @param {String} options.businessId
 * @param {String} options.startAt (optional)
 * @param {Integer} options.startOffset (optional)
 * @param {String} options.endAt (optional)
 * @param {Integer} options.limit (optional)
 * @param {String} options.cardNumberFirst6 (optional)
 * @param {String} options.cardNumberLast4 (optional)
 * @param {Integer} options.cardExpirationMonth (optional)
 * @param {Integer} options.cardExpirationYear (optional)
 * @param {String} options.cardHolderFirstName (optional)
 * @param {String} options.cardHolderLastName (optional)
 * @return {CustomerList} customers
 */

Sample Request

poynt.getCustomers({
  businessId  : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  startOffset : 0,
  limit       : 1
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "count": 37,
  "customers": [
    {
      "attributes": {},
      "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
      "businessPreferences": {
        "emailReceipt": false,
        "preferredCardId": 0,
        "printPaperReceipt": false,
        "useCardOnFile": false
      },
      "cards": [
        {
          "cardHolderFirstName": "",
          "cardHolderFullName": "/",
          "cardHolderLastName": "",
          "expirationDate": 31,
          "expirationMonth": 8,
          "expirationYear": 2022,
          "id": 243043,
          "numberFirst6": "405413",
          "numberLast4": "0833",
          "status": "ACTIVE",
          "type": "VISA"
        }
      ],
      "createdAt": "2017-01-04T22:20:40Z",
      "emails": {},
      "firstName": "",
      "id": 5247839,
      "lastName": "",
      "loyaltyCustomers": [],
      "phones": {},
      "updatedAt": "2017-01-04T22:20:40Z"
    }
  ],
  "links": [
    {
      "href": "/businesses/18f071cc-5ed4-4b33-80c1-305056d42bfb/customers?startAt=2017-01-06T01%3A23%3A10Z&endAt=2017-08-28T07%3A03%3A20Z&limit=1",
      "method": "GET",
      "rel": "next"
    }
  ]
}

Search customers

Get all customers of a business by various criterias.

Arguments

businessId path
string (required)
If-Modified-Since header
string (optional)
startAt query
string (optional)
startOffset query
integer (optional)
endAt query
string (optional)
limit query
integer (optional)
cardNumberFirst6 query
string (optional)
cardNumberLast4 query
string (optional)
cardExpirationMonth query
integer (optional)
cardExpirationYear query
integer (optional)
cardHolderFirstName query
string (optional)
cardHolderLastName query
string (optional)
cardOnFile query
boolean (optional)

Response

Returns a CustomerList.


Definition

module.exports.getCustomer = function getCustomer(options, next) { ... }
/**
 * Get a single customer at a business.
 * @param {String} options.businessId
 * @param {String} options.customerId
 * @return {Customer} customer
 */

Sample Request

poynt.getCustomer({
  businessId : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  customerId : 5247839
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "createdAt": "2017-01-04T22:20:40Z",
  "updatedAt": "2017-01-04T22:20:40Z",
  "businessPreferences": {
    "useCardOnFile": false,
    "emailReceipt": false,
    "printPaperReceipt": false,
    "preferredCardId": 0
  },
  "insights": {
    "since": "2017-01-04T22:20:40Z",
    "scores": [
      {
        "score": 8.59,
        "type": "OVERALL"
      }
    ],
    "totalOrders": 0
  },
  "cards": [
    {
      "type": "VISA",
      "status": "ACTIVE",
      "expirationDate": 31,
      "expirationMonth": 8,
      "expirationYear": 2022,
      "id": 243043,
      "numberFirst6": "405413",
      "numberLast4": "0833",
      "cardHolderFirstName": "",
      "cardHolderLastName": "",
      "cardHolderFullName": "/"
    }
  ],
  "loyaltyCustomers": [],
  "id": 5247839,
  "emails": {},
  "phones": {},
  "attributes": {},
  "firstName": "",
  "lastName": "",
  "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb"
}

Get By Id

Get customer by id.

Arguments

If-Modified-Since header
string (optional)
businessId path
string (required)
customerId path
integer (required)

Response

Returns a Customer.


Definition

This method is currently not possible using the Node.js SDK.

Create a customer

Create a customer of a business.

Arguments

businessId path
string (required)
customer body
Customer (optional)

Response

Returns a Customer.


Definition

This method is currently not possible using the Node.js SDK.

Lookup by card

Find a customer by his card.

Arguments

businessId path
string (required)
card body
Card (optional)

Response

Returns a array.


Definition

TODO: Add definition

Sample Request

var request = require('request');
var options = {
    'method': 'PATCH',
    'url': 'https://services.poynt.net/businesses/a3f24e9e-6764-42f2-bbcd-5541e7f3be38/customers/380847254',
    'headers': {
        'Authorization': 'Bearer {access_token}',
        'Content-Type': 'application/json',
        'Poynt-Request-Id': 'abbe8d66-a2ad-45ec-877e-c894d1b3edf3'
    },
    body: JSON.stringify([{
        "op": "add",
        "path": "/firstName",
        "value": "Shiny"
    }, {
        "op": "replace",
        "path": "/emails",
        "value": {
            "PERSONAL": {
                "emailAddress": "xyz@gmail.com"
            },
            "WORK": {
                "emailAddress": "xyz@godaddy.com"
            }
        }
    }, {
        "op": "replace",
        "path": "/phones",
        "value": {
            "WORK": {
                "ituCountryCode": "1",
                "areaCode": "650",
                "localPhoneNumber": "3226872",
                "status": "ADDED",
                "type": "BUSINESS"
            }
        }
    }])

};
request(options, function(error, response) {
    if (error) throw new Error(error);
    console.log(response.body);
});

Sample Response

{
  "createdAt": "2022-06-02T01:42:27Z",
  "updatedAt": "2023-02-13T14:00:35Z",
  "businessPreferences": {
    "useCardOnFile": false,
    "emailReceipt": false,
    "printPaperReceipt": false,
    "preferredCardId": 0
  },
  "insights": {
    "since": "2022-06-02T01:42:27Z",
    "scores": [
      {
        "score": 3.09,
        "type": "OVERALL"
      }
    ],
    "poyntLoyalty": {
      "loyalty": [],
      "reward": []
    }
  },
  "cards": [],
  "loyaltyCustomers": [],
  "userIdentities": [],
  "id": 380847254,
  "emails": {
    "PERSONAL": {
      "emailAddress": "xyz@gmail.com"
    },
    "WORK": {
      "emailAddress": "xyz@godaddy.com"
    }
  },
  "phones": {
    "WORK": {
      "createdAt": "2023-02-13T14:20:33Z",
      "updatedAt": "2023-02-13T14:20:33Z",
      "id": 9789886,
      "status": "ADDED",
      "type": "BUSINESS",
      "ituCountryCode": "1",
      "areaCode": "650",
      "localPhoneNumber": "3226872"
    }
  },
  "attributes": {},
  "firstName": "Shiny",
  "lastName": "Sarma",
  "businessId": "a3f24e9e-6764-42f2-bbcd-5541e7f3be38"
}

Update customer

Update a customer. This takes a JsonPatch object as request. We allow updates to all fields except id, businessId, createdAt, cards, devices and insights.

Arguments

Poynt-Request-Id header
string (required)
businessId path
string (required)
customerId path
integer (required)
patch body
JsonPatch (optional)

Response

Returns a Customer.


Merchants


Businesses

Business resource represents the merchant business. The Poynt system assumes the following business hierarchy. There is the parent business at the root. Each business could have 0 or more stores. Each store could have 0 or more terminals. This resource provides operations to create, update and view this entire hierarchy.


Get by Parameters

Get a business by various parameters.

Arguments

acquirer query
string (optional)
storeDeviceId query
string (optional)
mid query
string (optional)
isBusinessLevelMid query
boolean (optional, default is false)
tid query
string (optional)
ignoreDeactivatedDevices query
boolean (optional, default is true)
includeField query
Set (optional)
If-Modified-Since header
string (optional)

Response

Returns a Business.


Definition

module.exports.getBusiness = function getBusiness(options, next) { ... }
/**
 * Gets a business by ID.
 * @param {String} options.businessId
 * @return {Business} business
 */

Sample Request

poynt.getBusiness({
  businessId: '18f071cc-5ed4-4b33-80c1-305056d42bfb'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "acquirer": "ELAVON",
  "activeSince": "1970-01-01T00:00:00Z",
  "address": {
    "city": "Palo Alto",
    "countryCode": "USA",
    "createdAt": "2017-01-04T22:04:33Z",
    "id": 48119,
    "line1": "4151 Middlefield Road",
    "line2": "Level 2",
    "postalCode": "94303",
    "status": "ADDED",
    "territory": "California",
    "territoryType": "STATE",
    "type": "BUSINESS",
    "updatedAt": "2017-08-25T01:05:33Z"
  },
  "attributes": { ... },
  "businessUrl": "http://lawrence-s-last-straw.com",
  "createdAt": "2017-01-04T22:04:34Z",
  "description": "Just another test merchant",
  "doingBusinessAs": "Lawrence's Last Straw",
  "emailAddress": "lawrence-s-last-straw@gmail.com",
  "externalMerchantId": "lawrence's0226",
  "id": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
  "industryType": "Restaurant",
  "legalName": "Lawrence's Last Straw",
  "mcc": "5812",
  "mockProcessor": false,
  "phone": {
    "areaCode": "575",
    "createdAt": "2017-01-04T22:04:33Z",
    "id": 50700,
    "ituCountryCode": "1",
    "localPhoneNumber": "2040375",
    "status": "ADDED",
    "type": "BUSINESS",
    "updatedAt": "2017-08-25T01:05:33Z"
  },
  "processor": "ELAVON",
  "sic": "5812",
  "status": "ACTIVATED",
  "stores": [
    {
      "acquirer": "ELAVON",
      "address": {
        "city": "Palo Alto",
        "countryCode": "USA",
        "createdAt": "2017-01-04T22:04:33Z",
        "id": 48120,
        "line1": "10617 Business Drive",
        "line2": "Suite 424",
        "postalCode": "94301",
        "status": "ADDED",
        "territory": "California",
        "territoryType": "STATE",
        "type": "BUSINESS",
        "updatedAt": "2017-08-16T02:59:42Z"
      },
      "attributes": { ... },
      "currency": "USD",
      "displayName": "Lawrence's Last Straw 488",
      "externalStoreId": "161779901711",
      "fixedLocation": true,
      "id": "c394627f-4f68-47fb-90a5-684ea801a352",
      "latitude": 37.4457,
      "longitude": -122.162,
      "mockProcessor": false,
      "phone": {
        "areaCode": "575",
        "createdAt": "2017-01-04T22:04:33Z",
        "id": 50701,
        "ituCountryCode": "1",
        "localPhoneNumber": "2040375",
        "status": "ADDED",
        "type": "BUSINESS",
        "updatedAt": "2017-08-16T02:59:42Z"
      },
      "processor": "ELAVON",
      "processorData": {},
      "status": "ACTIVE",
      "storeDevices": [
        {
          "businessAgreements": {
            "EULA": {
              "acceptedAt": "2017-07-25T01:36:14Z",
              "current": true,
              "type": "EULA",
              "userId": 5247838,
              "version": "1f",
              "versionOutdated": false
            }
          },
          "catalogId": "9deca670-8761-4133-b1a9-b05b9fb01cb6",
          "createdAt": "2017-01-04T22:10:00Z",
          "deviceId": "urn:tid:48c54303-6d51-39af-bdeb-4af53f621652",
          "externalTerminalId": "8024696638530",
          "name": "LAWRENCE'S LAST STRAW DON'T MESS",
          "publicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyl+Sa2C1E6xcv9d9Mm9N\ngtzDtSsjWd9k7PZPDLy3JRq3dhGU9rQtopfEUrtqRUDRS7xpP3842enns39Z427+\nwOuAq7aqVLHzCIio8+D0m21mmsKpE8rSH54dCKciSypuj/MF4o+jIMA43+ov6dba\nN/6WFH/+c4MzTqz673XldP9RAvrK8k55lKoZW5bvX5Bx0xmFbtey17Uyby+y6kT+\nTyQArYwzEFBA2RQ+LKf/XwIgoh6RcdMVlNahe5LNW2rl5FQGm+HxnvYG6ZQGQ4oX\nFEGClsvOQabdjVXNNA6rVmJeeKmSekVNFjA3ZqEcmq8E6ijmT/H1upmiZ5fI0Eag\nSwIDAQAB\n-----END PUBLIC KEY-----\n",
          "serialNumber": "P61SWA231FS000416",
          "status": "ACTIVATED",
          "storeId": "c394627f-4f68-47fb-90a5-684ea801a352",
          "type": "TERMINAL",
          "updatedAt": "2017-08-16T04:26:19Z"
        }
      ],
      "timezone": "America/Los_Angeles"
    }
  ],
  "timezone": "America/Los_Angeles",
  "type": "TEST_MERCHANT",
  "updatedAt": "2017-08-25T01:05:33Z"
}

Get by businessId

Get a business by id.

Arguments

businessId path
string (required)
storeId query
string (optional)
storeDeviceId query
string (optional)
includeField query
Set (optional)
ignoreDeactivatedDevices query
boolean (optional, default is true)

Response

Returns a Business.


Definition

TODO: Add definition

Sample Request

var request = require('request');
var options = {
    'method': 'GET',
    'url': 'https://services.poynt.net/businesses/a3f24e9e-6764-42f2-bbcd-5541e7f3be38/stores/0ac7c74b-d88e-4bd8-8d6b-ddf8db6ec700',
    'headers': {
        'Authorization': 'Bearer {access_token}',
        'Content-Type': 'application/json'
    }
};
request(options, function(error, response) {
    if (error) throw new Error(error);
    console.log(response.body);
});

Sample Response

{
  "address": {
    "status": "ADDED",
    "type": "BUSINESS",
    "createdAt": "2021-01-08T01:51:13Z",
    "updatedAt": "2023-01-24T05:04:28Z",
    "id": 1336636,
    "line1": "3032 Bunker Hill Ln",
    "line2": "",
    "city": "Santa Clara",
    "territory": "CA",
    "postalCode": "95054",
    "countryCode": "US",
    "territoryType": "STATE"
  },
  "fixedLocation": true,
  "mockProcessor": true,
  "longitude": -121.98188,
  "latitude": 37.404964,
  "storeDevices": [
    {
      "createdAt": "2021-01-08T01:51:13Z",
      "updatedAt": "2022-09-09T19:00:03Z",
      "status": "ACTIVATED",
      "type": "TERMINAL",
      "externalTerminalId": "wjbq",
      "deviceId": "urn:tid:faf60b63-16d7-3cd6-bdab-bc7fc5b2310a",
      "serialNumber": "P6EMUA91051723",
      "name": "Kastureema's Emulator",
      "publicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtX9KIg4/0S9foDYYpXoD\n/7nB14rFbGa+DSzJjHh6wuaANnoyrHdbnvwCxHdBjum+M2kTc4LpebHDY8tYpbAg\nAD7V09nMzCtYji6x77wmCTQS5BhHxBaQmPUAld4wNG2cAjY5gXQ4Jt0ERuiJf6P+\n9W9T/dtQwh5CgH4hBwTRf4Co2bAiHp78o4cPBTp1KFy2FkxzneTLLSck1esDnddP\nOqA0kLKSANttZxjKn0ybEafpzWmN77Hy+xNWAz8FvZdm7NK90z5GmoscpTKnaGlS\n+n5OMAIzlljm4SS1H+V0SSJG6U7f04bI/xJIN3CUykVnaT8jjO7pU847vJ0iGnWO\nNwIDAQAB\n-----END PUBLIC KEY-----\n",
      "catalogId": "7eba8d76-b08e-4137-95c7-deabe4b89cc3",
      "storeId": "0ac7c74b-d88e-4bd8-8d6b-ddf8db6ec700"
    },
    {
      "createdAt": "2022-04-28T03:35:31Z",
      "updatedAt": "2022-12-29T21:28:43Z",
      "status": "CREATED",
      "type": "TERMINAL",
      "externalTerminalId": "123",
      "catalogId": "7eba8d76-b08e-4137-95c7-deabe4b89cc3",
      "storeId": "0ac7c74b-d88e-4bd8-8d6b-ddf8db6ec700"
    }
  ],
  "attributes": {
    "enableCheck": "0",
    "enableCatalogV2": "0",
    "enableDepositChangedBy": "",
    "alipayEligible": "0",
    "enableSmartTip": "0",
    "overrideTimezoneName": "",
    "enableDebitCardCustomization": "0",
    "disableEMVCT": "0",
    "defaultScreenBrightness": "-1",
    "settlementMode": "HOST",
    "enablePoyntTerminalApp": "1",
    "disableEMVCL": "0",
    "useDeviceLogin": "1",
    "firstTaxAmount": "0",
    "distributorId": "87b7aa4c-598f-450f-bd27-a4a6d5848de4",
    "enableManualEntryDiners": "1",
    "tipType2": "P",
    "tipType1": "P",
    "enablePreApproved": "0",
    "tipType3": "P",
    "dinersCommercialCode": "",
    "enablePoyntInvoicesApp": "1",
    "roleInventoryPermissions": "13",
    "tutorialWebOnboarded": "0",
    "vtDeviceId": "",
    "showToSBanner": "1",
    "enableRefundChangedBy": "",
    "merchantContactFirstName": "Kastureema",
    "tipScreenTimeoutInMilliSecs": "10000",
    "enableMenuBoard": "0",
    "enablePaymentChangeReason": "",
    "enableYolotea": "0",
    "roleSupportPermissions": "1,2,3,19",
    "distributorName": "Kastureema's organization",
    "fundomateToken": "",
    "enableOrderInboxApp": "0",
    "enableDepositChangeReason": "",
    "jcbCardBinList": "",
    "disableForceTransactions": "0",
    "enableManualEntry": "1",
    "enableAddCardVerify": "0",
    "businessBundleIds": "635bd79a-64a7-43a2-aee7-2a8f0ccdd8d9",
    "enableManualEntryMastercard": "1",
    "enablePoyntStoreApp": "1",
    "maestroBankFundedIndicator": "0",
    "requireDeviceLogin": "R",
    "removeCardWaitTime": "60",
    "disableLegacyScannerFlow": "0",
    "pcAppKey": "a3f24e9e-6764-42f2-bbcd-5541e7f3be38=urn:aid:a7cc7e72-a402-4b81-9a31-323288c19737",
    "feeValuePercentage": "0",
    "enableOffline": "0",
    "enableLocalSettlement": "0",
    "showPayfacVirtualCard": "0",
    "visaBankFundedIndicator": "1",
    "autoCapture": "0",
    "roleSalesPermissions": "1,41,14,15",
    "showDebitCardBanner": "0",
    "dccRebatePercentage": "0",
    "disableSMSReceipt": "0",
    "getAdditionalSiftInfo": "0",
    "cardPresentPercentage": "100",
    "merchantBundlesCohort": "",
    "PUSH_TEST": "1",
    "payfacCaseActivityId": "",
    "enableManualEntryDiscover": "1",
    "enableGratuity": "1",
    "payLinksDomainDnsErrorCode": "",
    "deployMode": "0",
    "enableActivationEmails": "1",
    "enableAutomaticSettlement": "0",
    "receiptService": "co.poynt.services",
    "enableEBT": "0",
    "bankId": "",
    "socialTwitter": "",
    "enableVisa": "1",
    "showLargerFontOnReceipts": "0",
    "enableCashback": "0",
    "enableManualEntryAmex": "1",
    "enablePayfacDashboard": "0",
    "fundomateOfferAccepted": "0",
    "enablePayment": "1",
    "enableScanOnlyPayment": "0",
    "paymentOptionsImageUrl": "https://d2olcuyf08j3e6.cloudfront.net/banners/1586447430824_AMEX,APPLEPAY,DISCOVER,GOOGLEPAY,JCB,MASTERCARD,VISA.png",
    "newPremium": "0",
    "pcDomainWhiteList": "",
    "tutorialsCompleted": "0",
    "payLinksDomainSslStatus": "",
    "ivu": "0",
    "customScreenBrightness": "0",
    "enableTutorialFlow": "0",
    "lodgingPromptTotalStayAmount": "1",
    "crap": "0",
    "enableFulfillment": "1",
    "firstTaxLabel": "Tax 1",
    "riskStatus": "",
    "customerWelcomeMessage": "",
    "mastercardCommercialCode": "",
    "overrideTimezone": "0",
    "payfacOrganizationId": "",
    "disableCustomContactPhone": "0",
    "enableVoiceAuth": "0",
    "enableDCC": "0",
    "godaddyVentureId": "",
    "disableEmailReceipt": "0",
    "enableCatalogApp": "1",
    "supportContactPhone": "",
    "enablePoyntCardTransactionAlert": "1",
    "skipSignatureAmount": "0",
    "logoImageUrl": "",
    "underwritingLevel": "FULL",
    "maxOfflineTransactions": "1000",
    "noPlanMode": "0",
    "displayProcessorTxnId": "0",
    "useLegacyReceipts": "0",
    "autoSettleAuths": "0",
    "showBatchNumberReceipt": "0",
    "smartTipThreshold": "1000",
    "localeCountry": "US",
    "enableOnlineStore": "0",
    "debitCardCustomizationChanged": "0",
    "godaddyPayments": "0",
    "enablePoyntRegisterApp": "1",
    "enableSecondScreenLanguagePref": "0",
    "salesAgentEmail": "",
    "defaultScreenOffTimeoutInSecs": "-1",
    "dinersSENumber": "",
    "enableLoyalty": "0",
    "enableSettlementSweep": "1",
    "salesManagerName": "",
    "existingPremium": "0",
    "disableDebit": "0",
    "enableMSM": "0",
    "automaticReportsTypes": "TRANSACTIONS,ITEMS",
    "unionpayBankFundedIndicator": "0",
    "enableVerifyCard": "0",
    "enableTerminalAppTax": "0",
    "pcApiKey": "3afc8257-b898-4925-8a4f-9ef847eeaa91",
    "transactionListLimitSize": "1000",
    "ecommerceBusinessName": "",
    "dinersCardBinList": "",
    "enableCustomerFeedback": "1",
    "stopAfterCardReadRecords": "0",
    "signoutAfterTransaction": "0",
    "enableIosTransactionNotification": "0",
    "enableMerchantPresentQrCode": "0",
    "enableUserRoles": "0",
    "showVTCardPresenceForManualEntry": "0",
    "enableNotTransactedEmails": "1",
    "fulfillmentOrderProcess": "MANUAL",
    "disablePaperReceipt": "0",
    "enableCalculatorApp": "1",
    "newSettlementPath": "",
    "enableDebitCards": "0",
    "enableNewOrderSoundNotification": "0",
    "enableCampaignCreation": "0",
    "defaultTaxRate": "0",
    "enableWeeklyInsightsEmails": "1",
    "mastercardBankFundedIndicator": "1",
    "payLinksDomainSslErrorText": "",
    "localeLanguage": "en-us",
    "firstTaxRate": "0",
    "forceSettlementOne": "0",
    "godaddyCustomerId": "",
    "paymentTimeoutInSecs": "-1",
    "decisionFulfill": "",
    "existingBasic": "0",
    "disableNonRefRefunds": "0",
    "enableCustomPaymentsImage": "1",
    "mastercardCardBinList": "",
    "presentBundleDiscount": "0",
    "enableAuthOnly": "1",
    "enableSiftTracking": "0",
    "showOnlyCityAndStateOnReceipts": "0",
    "enableFulfillmentChangedBy": "",
    "maestroCommercialCode": "",
    "useVTForManualEntry": "1",
    "disableEMVCTDebit": "0",
    "debitAID2": "",
    "debitCardsChanged": "0",
    "debitAID3": "",
    "enableInventory": "0",
    "debitAID1": "A0000000042203,A0000000980840,A0000001524010,A0000006200620,A000000333010108",
    "taxDisplayOrder": "",
    "newAdvanced": "0",
    "payLinksDomainDnsErrorText": "",
    "enableCustomerPresentQrCode": "0",
    "godaddyServiceId": "",
    "salesAgentName": "",
    "visaCommercialCode": "",
    "referralUrlId": "",
    "amexBankFundedIndicator": "0",
    "enableHqSettlement": "0",
    "enableEBTCashCashback": "0",
    "enableAdvancedCatalog": "0",
    "lodgingTaxRate": "0",
    "closingTime": "",
    "customContactEmail": "",
    "seenTransitionMessage": "0",
    "feeValueFixed": "0",
    "autoInventoryUpdate": "0",
    "fraudServiceType": "",
    "autoSelectCommonDebitAID": "1",
    "newBasic": "0",
    "enableHqAdjustments": "0",
    "enableManualEntryVisa": "1",
    "terminalRequireInvoiceId": "0",
    "autoForwardTipScreen": "0",
    "enableBalanceInquiry": "0",
    "maestroCardBinList": "",
    "enableMastercard": "1",
    "jcbCommercialCode": "",
    "enablePoyntSettlementApp": "1",
    "customFooterText": "",
    "operatingHours": "",
    "enableManualEntryUnionPay": "1",
    "enableRefund": "1",
    "roleAccountingPermissions": "0,1,11,12,17,34",
    "validatePANForManualEntry": "0",
    "enableADA": "0",
    "preventApiAttributesChange": "0",
    "secondScreenLanguages": "",
    "secondTaxAmount": "0",
    "enableDiscover": "1",
    "enableReportEmails": "1",
    "existingAdvanced": "0",
    "socialYelp": "",
    "supportedCustomFunding": "",
    "parentMid": "",
    "enableAlphanumericZip": "0",
    "enableAccounting": "0",
    "salesManagerId": "",
    "enablePushLowBatteryNotification": "1",
    "enableLocalVt": "0",
    "enabledAppTutorial": "",
    "requireCardholderConfirmation": "1",
    "excludeTaxesFromTip": "0",
    "socialFacebook": "",
    "enableAddCard": "0",
    "blockPoyntCollect": "0",
    "showBankFundedOnSettlement": "0",
    "alacarteLoyaltyTrialUsed": "0",
    "amexCommercialCode": "",
    "payfacCaseId": "",
    "enableManualCVV": "1",
    "defaultPayLinkId": "",
    "enableCustomTaxAmount": "0",
    "enableConvenienceFee": "0",
    "enableEmployeeSettlementView": "0",
    "disableEBTFSRefund": "0",
    "enableDiners": "1",
    "enableNewSettlementApp": "0",
    "acceptedOfflineAgreement": "0",
    "payLinksDomainDnsStatus": "",
    "reportingContactEmail": "",
    "enablePoyntHQApp": "1",
    "voucherAID1": "",
    "enablePaymentChangedBy": "",
    "hideCustomerPaymentIcons": "1",
    "enableNavbar": "1",
    "smartTipAmount2": "200",
    "unionpayCommercialCode": "",
    "smartTipAmount3": "300",
    "twiyoContactEmail": "",
    "webOnboarded": "0",
    "decisionEnableProducts": "",
    "enableOther": "0",
    "alwaysShowAddCard": "0",
    "disableWaitForCardRemoval": "0",
    "enableEBTCreditBalInq": "0",
    "smartTipAmount1": "100",
    "godaddyServiceType": "",
    "enableFirstTax": "0",
    "enableManualEntryNRR": "0",
    "disableCustomContactEmail": "0",
    "autoForwardReceiptScreen": "0",
    "enableAmex": "1",
    "enableAutomaticReports": "0",
    "enableTerminalTaxEditing": "0",
    "discoverSENumber": "",
    "enableGDPHQ": "0",
    "merchantBackgroundImageUrl": "",
    "amexCardBinList": "",
    "enableNonADASounds": "0",
    "alacarteInvoicingTrialUsed": "0",
    "disableCCRefund": "0",
    "alwaysSkipSignature": "0",
    "enableEBTCashPurchase": "0",
    "alacarteQuickbooksTrialUsed": "0",
    "enableSecondTax": "0",
    "socialWebsite": "",
    "payLinksDomainSslErrorCode": "",
    "customerScreenMessage": "",
    "showDebitCardBlockedModal": "0",
    "disableEBTForceRefund": "0",
    "visaCardBinList": "",
    "enableIosReportNotification": "1",
    "enableWebAdjustments": "0",
    "salesManagerEmail": "",
    "visaSENumber": "",
    "enableFulfillmentChangeReason": "",
    "tipAmount1": "100",
    "receiptScreenTimeoutInMilliSecs": "10000",
    "tipAmount2": "200",
    "eCheckStoreProcessor": "1",
    "verifySignature": "0",
    "viewScope": "TERMINAL",
    "ecommerceCheckoutButtonColor": "",
    "automaticSettlementTime": "",
    "secondTaxLabel": "Tax 2",
    "enableInvoicesWithCof": "0",
    "enableManualEntryTerminalApp": "1",
    "disableOrderInbox": "0",
    "enableOrderTaxForTxn": "0",
    "customContactPhone": "",
    "signoutAfterSuspend": "0",
    "tutorialsSkipped": "0",
    "enableAddCardAuthOnly": "0",
    "payfacCampaignId": "",
    "enableNewHQ": "0",
    "payLinksDomainAttachErrorText": "",
    "creditAID3": "",
    "disableCardOnFile": "0",
    "creditAID4": "",
    "creditAID5": "",
    "tipPercent3": "20",
    "tipPercent2": "18",
    "tipPercent1": "15",
    "useNewHQ": "1",
    "paymentProcessor": "co.poynt.services",
    "riskStatusChangeReason": "",
    "tipBeforeCardRead": "1",
    "godaddyShopperId": "",
    "enableManualZipStreet": "1",
    "showPoyntCollect": "0",
    "creditAID1": "",
    "creditAID2": "",
    "disableEMVCLForCashback": "0",
    "purchaseAction": "AUTHORIZE",
    "npsWasShown": "0",
    "showDCCRebateOnSettlement": "0",
    "tipAmount3": "300",
    "skipCVMAmount": "2500",
    "enableOfflineFeature": "0",
    "payfacApplicationId": "",
    "dinersBankFundedIndicator": "0",
    "payfacProfileId": "",
    "enableNotSettledEmails": "1",
    "payfacAgentId": "",
    "secondTaxRate": "0",
    "enableInsertCardAPI": "0",
    "disableEMVCLDebit": "0",
    "appInvoiceFailedPaymentReminder": "0",
    "showAddressOnReceipts": "1",
    "enableIosTransactionVolumeYDay": "1",
    "enablePaidScanner": "0",
    "enableCash": "1",
    "disableLCDR": "0",
    "freeTrialSubscriptionId": "5b9c24a1-28ac-4142-8770-423ff37b046f",
    "grantAppPermissions": "undefined",
    "smartTipPercent3": "20",
    "enableRefundChangeReason": "",
    "amexSENumber": "",
    "cashbackAmountLimit": "30000",
    "enableImmediatePrintOrderReceipt": "0",
    "showCustomTipByDefault": "0",
    "thirdTaxLabel": "Tax 3",
    "enableNewRegisterAppFlow": "0",
    "enableJcb": "1",
    "preferredStoreId": "",
    "customerBackgroundImageUrl": "",
    "enableHqVirtualTerminal": "0",
    "skipCVM": "0",
    "godaddyProjectId": "",
    "fundomateLoanFunded": "0",
    "enableManualEntryJcb": "1",
    "processorStatus": "",
    "ecommerceCheckoutLogoUrl": "",
    "feeCalculation": "",
    "maxOfflineTransactionValue": "10000",
    "showDebitCardSuspendModal": "0",
    "enableFulfillmentType": "",
    "preinstallApks": "",
    "enableAgeVerification": "0",
    "disallowEditing": "0",
    "enableManualZip": "1",
    "salesAgentId": "",
    "alacarteVirtualTerminalTrialUsed": "0",
    "cardPreferenceType": "",
    "roleMarketingPermissions": "7,8,9,29,30,43",
    "bankName": "",
    "customScreenOffTimeoutInSecs": "0",
    "disableCCForce": "0",
    "maxOfflineTotal": "1000000",
    "enablePoyntTransactionsApp": "1",
    "enableNewOrderNotification": "0",
    "payLinksDomain": "",
    "smartTipType": "A",
    "unionpayCardBinList": "",
    "automaticReportsTime": "0000",
    "supportContactEmail": "",
    "enableEBTFoodStamp": "0",
    "hideCustomerName": "0",
    "enableBaseAmountAdjust": "0",
    "merchantContactLastName": "Sarma",
    "smartTipPercent2": "18",
    "hideCustomerWelcomeMessage": "0",
    "smartTipPercent1": "15",
    "showPoyntCapital": "0",
    "enableInvoices": "0",
    "disableOrderAutoClose": "0",
    "lodgingEnableFolio": "0",
    "enableEBTCashOnly": "0",
    "jcbBankFundedIndicator": "0",
    "riskStatusChangedBy": "",
    "enablePoyntLodgingApp": "0",
    "excludeTaxesFromCashback": "0"
  },
  "processorData": {},
  "phone": {
    "createdAt": "2021-01-08T01:51:13Z",
    "updatedAt": "2023-01-24T05:04:28Z",
    "id": 1348711,
    "status": "ADDED",
    "type": "BUSINESS",
    "ituCountryCode": "1",
    "areaCode": "653",
    "localPhoneNumber": "6889630"
  },
  "acquirer": "CHASE_PAYMENTECH",
  "processor": "CREDITCALL",
  "status": "ACTIVE",
  "externalStoreId": "a07u39smq0",
  "displayName": "Reema Chai Cafe 504",
  "currency": "USD",
  "timezone": "America/Los_Angeles",
  "id": "0ac7c74b-d88e-4bd8-8d6b-ddf8db6ec700"
}

Get store by id

Get a store by businessId and storeId.

Arguments

businessId path
string (required)
storeId path
string (required)
includeField query
Set (optional)

Response

Returns a Store.


Definition

module.exports.getBusinessByDeviceId = function getBusinessByDeviceId(options, next) { ... }
/**
 * Gets a business by device ID.
 * @param {String} options.deviceId
 * @return {Business} business
 */

Sample Request

poynt.getBusinessByDeviceId({
  deviceId: 'urn:tid:48c54303-6d51-39af-bdeb-4af53f621652'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "acquirer": "ELAVON",
  "activeSince": "1970-01-01T00:00:00Z",
  "address": {
    "city": "Palo Alto",
    "countryCode": "USA",
    "createdAt": "2017-01-04T22:04:33Z",
    "id": 48119,
    "line1": "4151 Middlefield Road",
    "line2": "Level 2",
    "postalCode": "94303",
    "status": "ADDED",
    "territory": "California",
    "territoryType": "STATE",
    "type": "BUSINESS",
    "updatedAt": "2017-08-25T01:05:33Z"
  },
  "attributes": { ... },
  "businessUrl": "http://lawrence-s-last-straw.com",
  "createdAt": "2017-01-04T22:04:34Z",
  "description": "Just another test merchant",
  "doingBusinessAs": "Lawrence's Last Straw",
  "emailAddress": "lawrence-s-last-straw@gmail.com",
  "externalMerchantId": "lawrence's0226",
  "id": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
  "industryType": "Restaurant",
  "legalName": "Lawrence's Last Straw",
  "mcc": "5812",
  "mockProcessor": false,
  "phone": {
    "areaCode": "575",
    "createdAt": "2017-01-04T22:04:33Z",
    "id": 50700,
    "ituCountryCode": "1",
    "localPhoneNumber": "2040375",
    "status": "ADDED",
    "type": "BUSINESS",
    "updatedAt": "2017-08-25T01:05:33Z"
  },
  "processor": "ELAVON",
  "sic": "5812",
  "status": "ACTIVATED",
  "stores": [
    {
      "acquirer": "ELAVON",
      "address": {
        "city": "Palo Alto",
        "countryCode": "USA",
        "createdAt": "2017-01-04T22:04:33Z",
        "id": 48120,
        "line1": "10617 Business Drive",
        "line2": "Suite 424",
        "postalCode": "94301",
        "status": "ADDED",
        "territory": "California",
        "territoryType": "STATE",
        "type": "BUSINESS",
        "updatedAt": "2017-08-16T02:59:42Z"
      },
      "attributes": { ... },
      "currency": "USD",
      "displayName": "Lawrence's Last Straw 488",
      "externalStoreId": "161779901711",
      "fixedLocation": true,
      "id": "c394627f-4f68-47fb-90a5-684ea801a352",
      "latitude": 37.4457,
      "longitude": -122.162,
      "mockProcessor": false,
      "phone": {
        "areaCode": "575",
        "createdAt": "2017-01-04T22:04:33Z",
        "id": 50701,
        "ituCountryCode": "1",
        "localPhoneNumber": "2040375",
        "status": "ADDED",
        "type": "BUSINESS",
        "updatedAt": "2017-08-16T02:59:42Z"
      },
      "processor": "ELAVON",
      "processorData": {},
      "status": "ACTIVE",
      "storeDevices": [
        {
          "businessAgreements": {
            "EULA": {
              "acceptedAt": "2017-07-25T01:36:14Z",
              "current": true,
              "type": "EULA",
              "userId": 5247838,
              "version": "1f",
              "versionOutdated": false
            }
          },
          "catalogId": "9deca670-8761-4133-b1a9-b05b9fb01cb6",
          "createdAt": "2017-01-04T22:10:00Z",
          "deviceId": "urn:tid:48c54303-6d51-39af-bdeb-4af53f621652",
          "externalTerminalId": "8024696638530",
          "name": "LAWRENCE'S LAST STRAW DON'T MESS",
          "publicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyl+Sa2C1E6xcv9d9Mm9N\ngtzDtSsjWd9k7PZPDLy3JRq3dhGU9rQtopfEUrtqRUDRS7xpP3842enns39Z427+\nwOuAq7aqVLHzCIio8+D0m21mmsKpE8rSH54dCKciSypuj/MF4o+jIMA43+ov6dba\nN/6WFH/+c4MzTqz673XldP9RAvrK8k55lKoZW5bvX5Bx0xmFbtey17Uyby+y6kT+\nTyQArYwzEFBA2RQ+LKf/XwIgoh6RcdMVlNahe5LNW2rl5FQGm+HxnvYG6ZQGQ4oX\nFEGClsvOQabdjVXNNA6rVmJeeKmSekVNFjA3ZqEcmq8E6ijmT/H1upmiZ5fI0Eag\nSwIDAQAB\n-----END PUBLIC KEY-----\n",
          "serialNumber": "P61SWA231FS000416",
          "status": "ACTIVATED",
          "storeId": "c394627f-4f68-47fb-90a5-684ea801a352",
          "type": "TERMINAL",
          "updatedAt": "2017-08-16T04:26:19Z"
        }
      ],
      "timezone": "America/Los_Angeles"
    }
  ],
  "timezone": "America/Los_Angeles",
  "type": "TEST_MERCHANT",
  "updatedAt": "2017-08-25T01:05:33Z"
}

Get by device Id

Get a business by a device id.

Arguments

storeDeviceId query
string (required)

Response

Returns a Business.


Business Users

Operations for owners and employees of a business


Definition

module.exports.getBusinessUsers = function getBusinessUsers(options, next) { ... }
/**
 * Get all users at a business.
 * @param {String} options.businessId
 * @return {BusinessUser[]} businessusers
 */

Sample Request

poynt.getBusinessUsers({
  businessId  : '18f071cc-5ed4-4b33-80c1-305056d42bfb'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

[
  {
    "status": "EMPLOYED",
    "employmentDetails": {
      "role": "OWNER",
      "startAt": 1483568424,
      "endAt": 0
    },
    "credentials": [
      {
        "publicCredentialType": "USERNAME",
        "id": 33250,
        "publicCredentialValue": "law"
      }
    ],
    "userId": 5247838,
    "firstName": "law",
    "lastName": "",
    "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb"
  },
  {
    "status": "EMPLOYED",
    "employmentDetails": {
      "role": "EMPLOYEE",
      "startAt": 0,
      "endAt": 0
    },
    "credentials": [
      {
        "publicCredentialType": "USERNAME",
        "id": 33266,
        "publicCredentialValue": "sample"
      }
    ],
    "userId": 5247869,
    "firstName": "Sample",
    "lastName": "Person",
    "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb"
  },
  {
    "status": "EMPLOYED",
    "employmentDetails": {
      "role": "EMPLOYEE",
      "startAt": 0,
      "endAt": 0
    },
    "credentials": [
      {
        "publicCredentialType": "USERNAME",
        "id": 33267,
        "publicCredentialValue": "Test"
      }
    ],
    "userId": 5247870,
    "firstName": "Test",
    "lastName": "Person",
    "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb"
  },
  {
    "status": "EMPLOYED",
    "employmentDetails": {
      "role": "OWNER",
      "startAt": 1487789772,
      "endAt": 0
    },
    "credentials": [
      {
        "publicCredentialType": "USERNAME",
        "id": 35355,
        "publicCredentialValue": "yan"
      }
    ],
    "userId": 5253478,
    "firstName": "yan",
    "lastName": "",
    "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb"
  }
]

Get All Users

Get all users at a business.

Arguments

businessId path
string (required)
api-version header
string (optional)

Response

Returns a array.


Definition

module.exports.getBusinessUser = function getBusinessUser(options, next) { ... }
/**
 * Get a single user at a business.
 * @param {String} options.businessId
 * @param {String} options.businessUserId
 * @return {BusinessUser} businessuser
 */

Sample Request

poynt.getBusinessUser({
  businessId     : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  businessUserId : 5247838
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
  "credentials": [
    {
      "id": 33250,
      "publicCredentialType": "USERNAME",
      "publicCredentialValue": "law"
    }
  ],
  "employmentDetails": {
    "endAt": 0,
    "role": "OWNER",
    "startAt": 1483568424
  },
  "firstName": "law",
  "lastName": "",
  "status": "EMPLOYED",
  "userId": 5247838
}

Get User

Get a user at a business.

Arguments

businessId path
string (required)
businessUserId path
integer (required)
api-version header
string (optional)

Response

Returns a BusinessUser.



Inventory

Operations for inventory


Definition

TODO: Add definition

Sample Request

TODO: Add request

Sample Response

TODO: Add response

Get Inventory Summary List

Get a list of inventory summary.

Arguments

If-Modified-Since header
string (optional)
startAt query
string (optional)
startOffset query
integer (optional)
endAt query
string (optional)
limit query
integer (optional)
storeId query
string (optional)
productId query
string (optional)
sku query
string (optional)
businessId path
string (required)

Response

Returns a InventorySummaryList.


Definition

TODO: Add definition

Sample Request

TODO: Add request

Sample Response

TODO: Add response

Add Inventory

Add a new inventory at a store.

Arguments

businessId path
string (required)
productId path
string (required)
inventory body
Inventory (optional)

Response

Returns a Inventory.


Definition

TODO: Add definition

Sample Request

TODO: Add request

Sample Response

TODO: Add response

Get Inventory

Get an inventory at a store.

Arguments

businessId path
string (required)
productId path
string (required)
storeId path
string (required)

Response

Returns a Inventory.


Definition

TODO: Add definition

Sample Request

TODO: Add request

Sample Response

TODO: Add response

Decrement inventory

Decrement an inventory.

Arguments

businessId path
string (required)
productId path
string (required)
storeId path
string (required)
delta query
number (required)

Response

Returns a Inventory.


Definition

TODO: Add definition

Sample Request

TODO: Add request

Sample Response

TODO: Add response

Increment inventory

Increment an inventory.

Arguments

businessId path
string (required)
productId path
string (required)
storeId path
string (required)
delta query
number (required)

Response

Returns a Inventory.


Definition

TODO: Add definition

Sample Request

TODO: Add request

Sample Response

TODO: Add response

Add Variant Inventory

Add a new variant inventory at a store.

Arguments

businessId path
string (required)
productId path
string (required)
sku path
string (required)
inventory body
Inventory (optional)

Response

Returns a Inventory.


Definition

TODO: Add definition

Sample Request

TODO: Add request

Sample Response

TODO: Add response

Get Variant Inventory

Get a variant inventory at a store.

Arguments

businessId path
string (required)
productId path
string (required)
sku path
string (required)
storeId path
string (required)

Response

Returns a Inventory.


Definition

TODO: Add definition

Sample Request

TODO: Add request

Sample Response

TODO: Add response

Decrement variant inventory

Decrement a variant inventory.

Arguments

businessId path
string (required)
productId path
string (required)
sku path
string (required)
storeId path
string (required)
delta query
number (required)

Response

Returns a Inventory.


Definition

TODO: Add definition

Sample Request

TODO: Add request

Sample Response

TODO: Add response

Increment variant inventory

Increment a variant inventory.

Arguments

businessId path
string (required)
productId path
string (required)
sku path
string (required)
storeId path
string (required)
delta query
number (required)

Response

Returns a Inventory.


Products

Products are what a merchant sell at their business. Products have a name, shortCode, sku, and price. sku should be unique for tracking inventory purpose. shortCode should be unique and represents an easily remembered identifier for the business user.


Definition

module.exports.getProducts = function getProducts(options, next) { ... }
/**
 * Get a list of products
 * @param {String} options.businessId
 * @param {String} options.startAt (optional)
 * @param {Integer} options.startOffset (optional)
 * @param {String} options.endAt (optional)
 * @param {Integer} options.limit (optional)
 * @return {ProductList} products
 */

Sample Request

poynt.getProducts({
  businessId  : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  startOffset : 0,
  limit       : 1
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "links": [
    {
      "href": "/businesses/18f071cc-5ed4-4b33-80c1-305056d42bfb/products?startAt=2017-01-04T22%3A04%3A34Z&endAt=2017-08-28T07%3A23%3A30Z&startOffset=1&limit=1",
      "method": "GET",
      "rel": "next"
    }
  ],
  "products": [
    {
      "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
      "createdAt": "2017-01-04T22:04:34Z",
      "description": "Cappuccino",
      "id": "080aae58-93fe-4754-93f4-8fbf9420b49d",
      "name": "Cappuccino",
      "price": {
        "amount": 350,
        "currency": "USD"
      },
      "shortCode": "Cappu",
      "sku": "082011500008",
      "status": "ACTIVE",
      "type": "SIMPLE",
      "updatedAt": "2017-01-04T22:04:34Z"
    }
  ]
}

Get List

Get all product since time. Result is paginated

Arguments

If-Modified-Since header
string (optional)
startAt query
string (optional)
startOffset query
integer (optional)
endAt query
string (optional)
limit query
integer (optional)
businessId path
string (required)

Response

Returns a ProductList.


Definition

module.exports.createProduct = function createProduct(options, product, next) { ... }
/**
 * Creates a product on a business.
 * @param {String} options.businessId
 * @param {Product} product
 * @return {Product} product
 */

Sample Request

poynt.createProduct({
  businessId  : '18f071cc-5ed4-4b33-80c1-305056d42bfb'
}, {
  price: {
    currency: 'USD',
    amount: 500
  },
  status: 'ACTIVE',
  shortCode: 'FOO',
  sku: 'FOO',
  name: 'Foo Product'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
  "createdAt": "2017-08-28T07:26:29Z",
  "id": "e989e7eb-5c59-4c4d-9a80-006147f0740f",
  "name": "Foo Product",
  "price": {
    "amount": 500,
    "currency": "USD"
  },
  "shortCode": "FOO",
  "sku": "FOO",
  "status": "ACTIVE",
  "type": "SIMPLE",
  "updatedAt": "2017-08-28T07:26:29Z"
}

Create

Create a product definition for a business.

Arguments

businessId path
string (required)
product body
Product (optional)

Response

Returns a Product.


Definition

module.exports.lookupProducts = function lookupProducts(options, next) { ... }
/**
 * Get a list of products by ID.
 * @param {String} options.businessId
 * @param {String[]} options.ids
 * @return {ProductList} products
 */

Sample Request

poynt.lookupProducts({
  businessId : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  ids        : ['e989e7eb-5c59-4c4d-9a80-006147f0740f']
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

[
  {
    "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
    "createdAt": "2017-08-28T07:26:29Z",
    "id": "e989e7eb-5c59-4c4d-9a80-006147f0740f",
    "name": "Foo Product",
    "price": {
      "amount": 500,
      "currency": "USD"
    },
    "shortCode": "FOO",
    "sku": "FOO",
    "status": "ACTIVE",
    "type": "SIMPLE",
    "updatedAt": "2017-08-28T07:26:29Z"
  }
]

Get Multiple Id

Get multiple products by ids.

Arguments

businessId path
string (required)
ids query
string (required)

Response

Returns a ProductList.


Definition

module.exports.getProductsSummary = function getProductsSummary(options, next) { ... }
/**
 * Get a list of  summaries at a business. Product summaries contain product
 * shortCode, price, businessId, name, and id.
 * @param {String} options.businessId
 * @param {String} options.startAt (optional)
 * @param {Integer} options.startOffset (optional)
 * @param {String} options.endAt (optional)
 * @param {Integer} options.limit (optional)
 * @return {ProductList} products
 */

Sample Request

poynt.getProductsSummary({
  businessId  : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  startOffset : 0,
  limit       : 1
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "links": [
    {
      "href": "/businesses/18f071cc-5ed4-4b33-80c1-305056d42bfb/products/summary?startAt=2017-01-04T22%3A04%3A34Z&endAt=2017-08-28T07%3A30%3A34Z&startOffset=1&limit=1",
      "method": "GET",
      "rel": "next"
    }
  ],
  "products": [
    {
      "id": "080aae58-93fe-4754-93f4-8fbf9420b49d",
      "name": "Cappuccino",
      "price": {
        "amount": 350,
        "currency": "USD"
      },
      "shortCode": "Cappu"
    }
  ]
}

Get Summary

Get all product summary. Result is paginated

Arguments

If-Modified-Since header
string (optional)
startAt query
string (optional)
startOffset query
integer (optional)
endAt query
string (optional)
limit query
integer (optional)
businessId path
string (required)

Response

Returns a ProductSummaryList.


Definition

module.exports.deleteProduct = function deleteProduct(options, next) { ... }
/**
 * Deactivates a product. Deactivated products will be removed from all catalog
 * references.
 * @param {String} options.businessId
 * @param {String} options.productId
 * @return {Product} product
 */

Sample Request

poynt.deleteProduct({
  businessId : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  productId  : '080aae58-93fe-4754-93f4-8fbf9420b49d'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{}

Deactivate

Deactivate a product. Deactivated product will be removed from all catalog references.

Arguments

businessId path
string (required)
productId path
string (required)

Definition

module.exports.getProduct = function getProduct(options, next) { ... }
/**
 * Get a single product for a business.
 * @param {String} options.businessId
 * @param {String} options.productId
 * @return {Product} product
 */

Sample Request

poynt.getProduct({
  businessId : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  productId  : '0cb54922-0ef2-4509-8735-72ccb373c464'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
  "createdAt": "2017-01-04T22:04:34Z",
  "description": "Apple Pie",
  "id": "0cb54922-0ef2-4509-8735-72ccb373c464",
  "name": "Apple Pie",
  "price": {
    "amount": 300,
    "currency": "USD"
  },
  "shortCode": "ApPie",
  "sku": "082011500001",
  "status": "ACTIVE",
  "type": "SIMPLE",
  "updatedAt": "2017-01-04T22:04:34Z"
}

Get By Id

Get a business product by id.

Arguments

businessId path
string (required)
If-Modified-Since header
string (optional)
productId path
string (required)

Response

Returns a Product.


Definition

module.exports.updateProduct = function updateProduct(options, productOrPatch, next) { ... }
/**
 * Updates a product by ID. Can either specify the whole product, or an array
 * of JSON Patch instructions.
 * @param {String} options.businessId - the business ID
 * @param {String} options.productId - the product ID
 * @param {Boolean} options.noRemove - don't remove any keys from old product in
 *                                     the patch. safer this way. defaults to true
 * @param {Object} productOrPatch - if is an array, will treat as JSON patch;
 *                                  if object, will treat as product
 * @return {Product} product
 */

Sample Request

poynt.updateProduct({
  businessId : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  productId  : '0cb54922-0ef2-4509-8735-72ccb373c464'
}, {
  price : {
    currency : 'USD',
    amount   : 600
  }
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
  "createdAt": "2017-01-04T22:04:34Z",
  "description": "Apple Pie",
  "id": "0cb54922-0ef2-4509-8735-72ccb373c464",
  "name": "Apple Pie",
  "price": {
    "amount": 600,
    "currency": "USD"
  },
  "shortCode": "ApPie",
  "sku": "082011500001",
  "status": "ACTIVE",
  "type": "SIMPLE",
  "updatedAt": "2017-08-28T07:35:51Z"
}

Update By Id

Update a product by id.

Arguments

businessId path
string (required)
productId path
string (required)
patch body
JsonPatch (optional)

Response

Returns a Product.


Definition

This method is currently not possible using the Node.js SDK.

Upsert variant

Upsert a variant of a product, retaining its inventory, if any.

Arguments

businessId path
string (required)
productId path
string (required)
variant body
Variant (optional)

Response

Returns a Variant.


Definition

This method is currently not possible using the Node.js SDK.

Get all variants

Get all variants of this product.

Arguments

businessId path
string (required)
productId path
string (required)

Response

Returns a array.


Definition

This method is currently not possible using the Node.js SDK.

Delete variant

Delete a variant of a product

Arguments

businessId path
string (required)
productId path
string (required)
sku path
string (required)

Catalogs

A catalog is a complete list of products for sale by the merchant. Catalog can contain products and/or categories of products organized in a hierarchy. Catalogs, once defined, can be assigned to a store or individual Poynt Terminal.


Definition

module.exports.getCatalogs = function getCatalogs(options, next) { ... }
/**
 * Get a list of catalogs
 * @param {String} options.businessId
 * @param {String} options.startAt (optional)
 * @param {Integer} options.startOffset (optional)
 * @param {String} options.endAt (optional)
 * @param {Integer} options.limit (optional)
 * @return {CatalogList} catalogs
 */

Sample Request

poynt.getCatalogs({
  businessId: '18f071cc-5ed4-4b33-80c1-305056d42bfb'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "catalogs": [
    {
      "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
      "createdAt": "2017-08-16T04:25:59Z",
      "displayMetadata": [
        {
          "horizontalScroll": "false",
          "numberOfColumns": 4,
          "numberOfRows": 6,
          "optimizedForPackage": "poynt-smart-terminal",
          "verticalScroll": "true"
        }
      ],
      "id": "9deca670-8761-4133-b1a9-b05b9fb01cb6",
      "name": "Leech Catalog",
      "products": [
        {
          "displayOrder": 1,
          "id": "74e9594a-4de0-40dd-a955-af2155dc10e3"
        },
        {
          "displayOrder": 7,
          "id": "8b86b625-b209-44cb-8e3e-c6a09af4e88e"
        },
        {
          "displayOrder": 10,
          "id": "c8bbc0f0-c7ad-4925-8a5e-1ab8eec22fcb"
        },
        {
          "displayOrder": 11,
          "id": "909b0361-79d8-4fd9-a6c7-85391787769e"
        },
        {
          "displayOrder": 12,
          "id": "c77ef1c5-9895-4515-9035-209d579a3af3"
        },
        {
          "displayOrder": 13,
          "id": "54127174-2b69-4cff-ad2d-5893795a12f2"
        },
        {
          "displayOrder": 14,
          "id": "691989f4-e610-4a3f-94b3-3b191fc68d40"
        },
        {
          "displayOrder": 17,
          "id": "6c34a14b-8184-4da4-bb5f-c87c78bdce8e"
        },
        {
          "displayOrder": 18,
          "id": "f77346e8-172d-43d8-9a62-c18ed9b4f787"
        },
        {
          "displayOrder": 23,
          "id": "6eec1971-5eab-4410-b124-27e1356ea6f7"
        }
      ],
      "updatedAt": "2017-08-19T02:28:14Z"
    },
    {
      "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
      "createdAt": "2017-08-28T07:41:48Z",
      "id": "3301546f-aa10-404c-8dd2-44894db70f56",
      "name": "Foo catalog",
      "updatedAt": "2017-08-28T07:41:48Z"
    },
    {
      "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
      "createdAt": "2017-08-28T07:42:19Z",
      "id": "ee85312d-7449-4003-8222-a22415fdfed9",
      "name": "Foo catalog",
      "updatedAt": "2017-08-28T07:42:19Z"
    }
  ]
}

Get List

Get all catalog since time. Result is paginated

Arguments

If-Modified-Since header
string (optional)
startAt query
string (optional)
startOffset query
integer (optional)
endAt query
string (optional)
limit query
integer (optional)
businessId path
string (required)

Response

Returns a CatalogList.


Definition

module.exports.getCatalog = function getCatalog(options, next) { ... }
/**
 * Get a single catalog for a business.
 * @param {String} options.businessId
 * @param {String} options.catalogId
 * @return {Catalog} catalog
 */

Sample Request

poynt.getCatalog({
  businessId : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  catalogId  : '365febc2-28b6-411e-85d7-7a57f72ff597'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
  "createdAt": "2017-08-28T07:47:14Z",
  "id": "365febc2-28b6-411e-85d7-7a57f72ff597",
  "name": "Foo catalog",
  "products": [
    {
      "displayOrder": 1,
      "id": "74c89006-ea3c-4c28-8a13-408b77cbe16c"
    }
  ],
  "updatedAt": "2017-08-28T07:47:14Z"
}

Get By Id

Get a catalog by id.

Arguments

If-Modified-Since header
string (optional)
businessId path
string (required)
catalogId path
string (required)

Response

Returns a Catalog.


Definition

module.exports.getFullCatalog = function getFullCatalog(options, next) { ... }
/**
 * Get a catalog by id with all product details info embedded in the Catalog.
 * @param {String} options.businessId
 * @param {String} options.catalogId
 * @return {Catalog} catalog
 */

Sample Request

poynt.getFullCatalog({
  businessId : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  catalogId  : '365febc2-28b6-411e-85d7-7a57f72ff597'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
  "categories": [
    {
      "id": "d2c335c9-a771-469f-a0b3-633977aea290",
      "name": "Category 2",
      "shortCode": "Cat"
    }
  ],
  "createdAt": "2017-08-28T07:47:14Z",
  "id": "365febc2-28b6-411e-85d7-7a57f72ff597",
  "name": "Foo catalog",
  "products": [
    {
      "displayOrder": 1,
      "product": {
        "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
        "createdAt": "2017-08-28T07:47:14Z",
        "id": "74c89006-ea3c-4c28-8a13-408b77cbe16c",
        "name": "Foo 2",
        "price": {
          "amount": 600,
          "currency": "USD"
        },
        "shortCode": "Foo2",
        "sku": "Foo2",
        "status": "ACTIVE",
        "type": "SIMPLE",
        "updatedAt": "2017-08-28T07:47:14Z"
      }
    }
  ],
  "updatedAt": "2017-08-28T08:08:35Z"
}

Get Full Catalog By Id

Get a catalog by id with all product details info embedded in the Catalog.

Arguments

If-Modified-Since header
string (optional)
businessId path
string (required)
catalogId path
string (required)

Response

Returns a CatalogWithProduct.


Definition

module.exports.createCatalog = function createCatalog(options, catalog, next) { ... }
/**
 * Creates a catalog for a business.
 * @param {String} options.businessId
 * @param {Catalog} catalog
 * @return {Catalog} catalog
 */

Sample Request

poynt.createCatalog({
  businessId: '18f071cc-5ed4-4b33-80c1-305056d42bfb'
}, {
  name: 'Foo catalog'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
  "createdAt": "2017-08-28T07:42:19Z",
  "id": "ee85312d-7449-4003-8222-a22415fdfed9",
  "name": "Foo catalog",
  "updatedAt": "2017-08-28T07:42:19Z"
}

Create

Create a catalog for a business.

Arguments

catalog body
Catalog (optional)
businessId path
string (required)

Response

Returns a Catalog.


Definition

module.exports.createFullCatalog = function createFullCatalog(options, catalog, next) { ... }
/**
 * Creates a catalog for a business. This differs from createCatalog as you can
 * create products and catalogs at the same time.
 * @param {String} options.businessId
 * @param {Catalog} catalog
 * @return {Catalog} catalog
 */

Sample Request

poynt.createFullCatalog({
  businessId: '18f071cc-5ed4-4b33-80c1-305056d42bfb'
}, {
  name: 'Foo catalog',
  products: [{
    product: {
      businessId: '18f071cc-5ed4-4b33-80c1-305056d42bfb',
      name: 'Foo 2',
      price: {
        currency: 'USD',
        amount: 600
      },
      sku: 'Foo2',
      shortCode: 'Foo2'
    },
    displayOrder: 1
  }]
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
  "createdAt": "2017-08-28T07:48:28Z",
  "id": "e3e16774-321e-463f-8ed9-8a996094b1d9",
  "name": "Foo catalog",
  "products": [
    {
      "displayOrder": 1,
      "product": {
        "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
        "createdAt": "2017-08-28T07:48:28Z",
        "id": "0968d410-cb86-41a1-838c-c9a868ad0335",
        "name": "Foo 2",
        "price": {
          "amount": 600,
          "currency": "USD"
        },
        "shortCode": "Foo2",
        "sku": "Foo2",
        "status": "ACTIVE",
        "type": "SIMPLE",
        "updatedAt": "2017-08-28T07:48:28Z"
      }
    }
  ],
  "updatedAt": "2017-08-28T07:48:28Z"
}

Create Full

Create a catalog with all its embedded products.

Arguments

catalog body
CatalogWithProduct (optional)
businessId path
string (required)

Response

Returns a CatalogWithProduct.


Definition

This method is currently not possible using the Node.js SDK.

Search Catalog

Search for a catalog by name or device id.

Arguments

businessId path
string (required)
name query
string (optional)
deviceId query
string (optional)

Response

Returns a Catalog.


Definition

module.exports.updateCatalog = function updateCatalog(options, catalogOrPatch, next) { ... }
/**
 * Updates a catalog by ID. Can either specify the whole catalog, or an array
 * of JSON Patch instructions.
 * @param {String} options.businessId - the business ID
 * @param {String} options.catalogId - the catalog ID
 * @param {Boolean} options.noRemove - don't remove any keys from old catalog in
 *                                     the patch. safer this way. defaults to true
 * @param {Object} catalogOrPatch - if is an array, will treat as JSON patch;
 *                                  if object, will treat as catalog
 * @return {Catalog} catalog
 */

Sample Request

poynt.updateCatalog({
  businessId: '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  catalogId: 'e3e16774-321e-463f-8ed9-8a996094b1d9'
}, {
  name: 'New foo catalog'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
  "createdAt": "2017-08-28T07:48:28Z",
  "id": "e3e16774-321e-463f-8ed9-8a996094b1d9",
  "name": "New foo catalog",
  "products": [
    {
      "displayOrder": 1,
      "id": "0968d410-cb86-41a1-838c-c9a868ad0335"
    }
  ],
  "updatedAt": "2017-08-28T07:50:17Z"
}

Update catalog

Update a catalog.

Arguments

businessId path
string (required)
catalogId path
string (required)
patch body
JsonPatch (optional)

Response

Returns a Catalog.


Definition

module.exports.deleteCatalog = function deleteCatalog(options, next) { ... }
/**
 * Deletes a single catalog for a business.
 * @param {String} options.businessId
 * @param {String} options.catalogId
 */

Sample Request

poynt.deleteCatalog({
  businessId : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  catalogId  : 'e3e16774-321e-463f-8ed9-8a996094b1d9'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{}

Delete catalog

Delete a catalog.

Arguments

businessId path
string (required)
catalogId path
string (required)

Definition

module.exports.createCategory = function createCategory(options, category, next) { ... }
/**
 * Creates a category on a catalog for a business.
 * @param {String} options.businessId
 * @param {String} options.catalogId
 * @param {Category} category
 * @return {Category} category
 */

Sample Request

poynt.createCategory({
  businessId : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  catalogId  : '365febc2-28b6-411e-85d7-7a57f72ff597'
}, {
  name      : 'Category',
  shortCode : 'Cat'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "id": "d2c335c9-a771-469f-a0b3-633977aea290",
  "name": "Category",
  "shortCode": "Cat"
}

Create category

Create a category for a catalog.

Arguments

businessId path
string (required)
catalogId path
string (required)
category body
Category (optional)

Response

Returns a Category.


Definition

module.exports.lookupCategories = function lookupCategories(options, next) { ... }
/**
 * Gets multiple categories on a catalog by IDs.
 * @param {String} options.businessId
 * @param {String} options.catalogId
 * @param {String[]} options.ids
 * @return {Category[]} categories
 */

Sample Request

poynt.lookupCategories({
  businessId : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  catalogId  : '365febc2-28b6-411e-85d7-7a57f72ff597',
  ids        : ['4ab8a489-a3fc-4124-87f0-91f8b6044407']
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "categories": [
    {
      "id": "4ab8a489-a3fc-4124-87f0-91f8b6044407",
      "name": "Category",
      "shortCode": "Cat"
    }
  ]
}

Get Multiple Id

Get multiple category by ids.

Arguments

businessId path
string (required)
catalogId path
string (required)
ids query
string (required)

Response

Returns a CategoryList.


Definition

module.exports.getCategory = function getCategory(options, next) { ... }
/**
 * Get a single category in a catalog for a business.
 * @param {String} options.businessId
 * @param {String} options.catalogId
 * @param {String} options.categoryId
 * @return {Category} category
 */

Sample Request

poynt.getCategory({
  businessId : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  catalogId  : '365febc2-28b6-411e-85d7-7a57f72ff597',
  categoryId : '4ab8a489-a3fc-4124-87f0-91f8b6044407'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "id": "4ab8a489-a3fc-4124-87f0-91f8b6044407",
  "name": "Category",
  "shortCode": "Cat"
}

Get category by id

Getall a category by id.

Arguments

businessId path
string (required)
catalogId path
string (required)
categoryId path
string (required)

Response

Returns a Category.


Definition

module.exports.deleteCategory = function deleteCategory(options, next) { ... }
/**
 * Deletes a category by ID.
 * @param {String} options.businessId
 * @param {String} options.catalogId
 * @param {String} options.categoryId
 * @return {Category} category
 */

Sample Request

poynt.deleteCategory({
  businessId : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  catalogId  : '365febc2-28b6-411e-85d7-7a57f72ff597',
  categoryId : '4ab8a489-a3fc-4124-87f0-91f8b6044407'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{}

Delete category

Delete a category.

Arguments

businessId path
string (required)
catalogId path
string (required)
categoryId path
string (required)

Definition

module.exports.updateCategory = function updateCategory(options, categoryOrPatch, next) { ... }
/**
 * Updates a category by ID. Can either specify the whole category, or an array
 * of JSON Patch instructions.
 * @param {String} options.businessId - the business ID
 * @param {String} options.catalogId - the catalog ID
 * @param {String} options.categoryId - the category ID
 * @param {Boolean} options.noRemove - don't remove any keys from old category in
 *                                     the patch. safer this way. defaults to true
 * @param {Object} categoryOrPatch - if is an array, will treat as JSON patch;
 *                                   if object, will treat as category
 * @return {Category} category
 */

Sample Request

poynt.updateCategory({
  businessId : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  catalogId  : '365febc2-28b6-411e-85d7-7a57f72ff597',
  categoryId : 'd2c335c9-a771-469f-a0b3-633977aea290'
}, {
  name : 'Category 2'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "id": "d2c335c9-a771-469f-a0b3-633977aea290",
  "name": "Category 2",
  "shortCode": "Cat"
}

Update category

Update a category.

Arguments

businessId path
string (required)
catalogId path
string (required)
categoryId path
string (required)
patch body
JsonPatch (optional)

Response

Returns a Category.


Taxes

Merchants must collect appropriate taxes based on the location their business and the products they sell. A tax, once defined, can be associated at the catalog, category, or individual product level.


Definition

module.exports.getTaxes = function getTaxes(options, next) { ... }
/**
 * Get a list of taxes
 * @param {String} options.businessId
 * @param {String} options.startAt (optional)
 * @param {Integer} options.startOffset (optional)
 * @param {String} options.endAt (optional)
 * @param {Integer} options.limit (optional)
 * @return {TaxList} taxes
 */

Sample Request

poynt.getTaxes({
  businessId  : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  startOffset : 0,
  limit       : 1
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "links": [
    {
      "href": "/businesses/18f071cc-5ed4-4b33-80c1-305056d42bfb/taxes?startAt=2017-07-28T17%3A31%3A38Z&endAt=2017-08-28T08%3A09%3A46Z&limit=1",
      "method": "GET",
      "rel": "next"
    }
  ],
  "taxes": [
    {
      "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
      "createdAt": "2017-04-05T00:18:39Z",
      "id": "0f60100b-5332-44b3-9e40-8cb3106be1bc",
      "name": "CF Sales",
      "rate": 8.25,
      "type": "sales",
      "updatedAt": "2017-04-05T00:18:39Z"
    }
  ]
}

Get List

Get all tax rate for this business.

Arguments

If-Modified-Since header
string (optional)
startAt query
string (optional)
startOffset query
integer (optional)
endAt query
string (optional)
limit query
integer (optional)
businessId path
string (required)

Response

Returns a TaxList.


Definition

module.exports.createTax = function createTax(options, tax, next) { ... }
/**
 * Creates a tax on a business.
 * @param {String} options.businessId
 * @param {Tax} tax
 * @return {Tax} tax
 */

Sample Request

poynt.createTax({
  businessId  : '18f071cc-5ed4-4b33-80c1-305056d42bfb'
}, {
  businessId: '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  name: 'Sales tax',
  description: 'California sales tax',
  type: 'SALES',
  rate: 8.25
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
  "createdAt": "2017-08-28T08:13:02Z",
  "description": "California sales tax",
  "id": "a0e9a94f-5821-4511-8966-7f8ca3c42167",
  "name": "Sales tax",
  "rate": 8.25,
  "type": "SALES",
  "updatedAt": "2017-08-28T08:13:02Z"
}

Create

Create a tax rate definition for a business.

Arguments

businessId path
string (required)
tax body
Tax (optional)

Response

Returns a Tax.


Definition

module.exports.deleteTax = function deleteTax(options, next) { ... }
/**
 * Deactivates a tax. Deactivated taxes will be removed from all catalog
 * references.
 * @param {String} options.businessId
 * @param {String} options.taxId
 * @return {Tax} tax
 */

Sample Request

poynt.deleteTax({
  businessId : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  taxId      : 'a0e9a94f-5821-4511-8966-7f8ca3c42167'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{}

Delete tax

Delete a tax.

Arguments

businessId path
string (required)
taxId path
string (required)

Definition

module.exports.getTax = function getTax(options, next) { ... }
/**
 * Get a single tax for a business.
 * @param {String} options.businessId
 * @param {String} options.taxId
 * @return {Tax} tax
 */

Sample Request

poynt.getTax({
  businessId : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  taxId      : 'de581e36-fd76-433d-b104-416978d8d01b'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
  "createdAt": "2017-08-28T08:12:19Z",
  "description": "California sales tax",
  "id": "de581e36-fd76-433d-b104-416978d8d01b",
  "name": "Sales tax",
  "rate": 8.25,
  "type": "SALES",
  "updatedAt": "2017-08-28T08:12:19Z"
}

Get

Get a tax rate detail.

Arguments

If-Modified-Since header
string (optional)
businessId path
string (required)
taxId path
string (required)

Response

Returns a Tax.


Definition

module.exports.updateTax = function updateTax(options, taxOrPatch, next) { ... }
/**
 * Updates a tax by ID. Can either specify the whole tax, or an array
 * of JSON Patch instructions.
 * @param {String} options.businessId - the business ID
 * @param {String} options.taxId - the tax ID
 * @param {Boolean} options.noRemove - don't remove any keys from old tax in
 *                                     the patch. safer this way. defaults to true
 * @param {Object} taxOrPatch - if is an array, will treat as JSON patch;
 *                              if object, will treat as tax
 * @return {Tax} tax
 */

Sample Request

poynt.updateTax({
  businessId : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  taxId      : 'de581e36-fd76-433d-b104-416978d8d01b'
}, {
  name : 'New sales tax',
  rate : 8.3
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "createdAt": "2017-08-28T08:12:19Z",
  "updatedAt": "2017-08-28T08:17:47Z",
  "rate": 8.3,
  "id": "de581e36-fd76-433d-b104-416978d8d01b",
  "name": "New sales tax",
  "description": "California sales tax",
  "type": "SALES",
  "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb"
}

Update

Update tax details.

Arguments

businessId path
string (required)
taxId path
string (required)
patch body
JsonPatch (optional)

Response

Returns a Tax.


Receipt Template

This class contains receipt templates resources. It can be used to perform various operations on a receipt template. For example we can store customer transaction receipt template from this resource. Currently we support only Handlebar templates https://github.com/jknack/handlebars.java. The template context will have following objects available: * transaction * business * customerSignatureUrl Once you are ready with the Handlebar template follow these final steps for better results: * JSON encode the template * Put inline CSS to support the final html receipt in all major Email clients.


Upsert receipt template

Update or insert a receipt template.

Arguments

businessId path
string (required)
Poynt-Request-Id header
string (required)
receiptTemplate body
ReceiptTemplate (optional)

Response

Returns a ReceiptTemplate.


Notifications

Cloud Messages can be sent from the cloud applications running on the Poynt Smart Terminal.

Webhooks allow developers to register their application to receive callback events from Poynt or replay missed events.

To register for an event type, the developer can create a hook specifying the business and event type they would like to receive callbacks on. This can be done programmatically or via our developer portal UI.

When an event matching the criterias defined in a hook happens, a delivery is made to the developer application endpoint. Webhook deliveries can be redelivered or lookup based on time range as needed.


Cloudmessages

A message sent from the cloud through the Poynt Cloud Messaging to applications running on the Poynt Smart Terminal.


Definition

module.exports.sendCloudMessage = function sendCloudMessage(options, next) { ... }
/**
 * Send a message from the cloud to your application running at a Poynt terminal.
 * @param {String} options.businessId
 * @param {String} options.storeId
 * @param {String} options.recipientClassName
 * @param {String} options.recipientPackageName
 * @param {String} options.deviceId
 * @param {String} options.serialNumber
 * @param {String} options.data (optional) - defaults to "{}"
 * @param {String} options.ttl (optional) - defaults to 900 seconds or 15 min
 * @param {String} options.collapseKey (optional)
 */

Sample Request

poynt.sendCloudMessage({
  businessId           : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  storeId              : 'c394627f-4f68-47fb-90a5-684ea801a352',
  deviceId             : 'urn:tid:48c54303-6d51-39af-bdeb-4af53f621652',
  recipientClassName   : 'FooClass',
  recipientPackageName : 'co.poynt.testapp',
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{}

Send cloud message

Send a message from the cloud to your application running at a Poynt terminal.

Arguments

message body
CloudMessage (optional)

Hooks

A hook represent an application’s registration to be notified should a particular resource event occurs.


Definition

module.exports.createHook = function createHook(options, next) { ... }
/**
 * Subscribes to a webhook.
 * @param {String} options.eventType
 * @param {String[]} options.eventTypes
 * @param {String} options.businessId
 * @param {String} options.deliveryUrl
 * @param {String} options.secret
 */

Sample Request

poynt.createHook({
  businessId  : '18f071cc-5ed4-4b33-80c1-305056d42bfb',
  eventTypes  : ['TRANSACTION_AUTHORIZED', 'TRANSACTION_PENDING', 'TRANSACTION_CAPTURED', 'TRANSACTION_REFUNDED', 'TRANSACTION_UPDATED', 'TRANSACTION_VOIDED'],
  deliveryUrl : 'https://poynt.com/hooks',
  secret      : 'poynt123'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "active": true,
  "applicationId": "urn:aid:cb2c55f6-7dfe-482e-a6da-e27c683edf0a",
  "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
  "createdAt": "2017-08-28T08:25:46Z",
  "deliveryUrl": "https://poynt.com/hooks",
  "eventTypes": [
    "TRANSACTION_AUTHORIZED",
    "TRANSACTION_PENDING",
    "TRANSACTION_CAPTURED",
    "TRANSACTION_REFUNDED",
    "TRANSACTION_UPDATED",
    "TRANSACTION_VOIDED"
  ],
  "id": "4852ebb4-36bf-4060-9ed4-1c3150ddfab6",
  "secret": "********",
  "updatedAt": "2017-08-28T08:25:46Z"
}

Create

Create a web hook. Client application MUST have already have been authorized by the business to access the resource of the events in this hook. The following webhooks event are available:

Arguments

hook body
Hook (optional)

Response

Returns a Hook.


Definition

module.exports.getHooks = function getHooks(options, next) { ... }
/**
 * Gets a list of hooks currently subscribed to.
 * @param {String} options.businessId
 */

Sample Request

poynt.getHooks({
  businessId : '18f071cc-5ed4-4b33-80c1-305056d42bfb'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "hooks": [
    {
      "active": true,
      "applicationId": "urn:aid:cb2c55f6-7dfe-482e-a6da-e27c683edf0a",
      "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
      "createdAt": "2017-08-28T08:25:46Z",
      "deliveryUrl": "https://poynt.com/hooks",
      "eventTypes": [
        "TRANSACTION_AUTHORIZED",
        "TRANSACTION_PENDING",
        "TRANSACTION_CAPTURED",
        "TRANSACTION_REFUNDED",
        "TRANSACTION_UPDATED",
        "TRANSACTION_VOIDED"
      ],
      "id": "4852ebb4-36bf-4060-9ed4-1c3150ddfab6",
      "secret": "********",
      "updatedAt": "2017-08-28T08:25:46Z"
    }
  ]
}

Get List

Get all webhooks since time. Result is paginated

Arguments

If-Modified-Since header
string (optional)
startAt query
string (optional)
startOffset query
integer (optional)
endAt query
string (optional)
limit query
integer (optional)
businessId query
string (required)

Response

Returns a HookList.


Update a hook

Update a hook

Arguments

hookId path
string (required)
patch body
JsonPatch (optional)

Response

Returns a Hook.


Definition

module.exports.deleteHook = function deleteHook(options, next) { ... }
/**
 * Deletes a hook.
 * @param {String} options.hookId
 */

Sample Request

poynt.deleteHook({
  hookId : '0f9bc70f-1de4-4cb7-83a5-248fc358ad56'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{}

Delete hook

Delete a hook.

Arguments

hookId path
string (required)

Definition

module.exports.getHook = function getHook(options, next) { ... }
/**
 * Gets a hook by ID.
 * @param {String} options.hookId
 */

Sample Request

poynt.getHook({
  hookId : '0f9bc70f-1de4-4cb7-83a5-248fc358ad56'
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
});

Sample Response

{
  "active": true,
  "applicationId": "urn:aid:cb2c55f6-7dfe-482e-a6da-e27c683edf0a",
  "businessId": "18f071cc-5ed4-4b33-80c1-305056d42bfb",
  "createdAt": "2017-08-28T08:28:55Z",
  "deliveryUrl": "https://poynt.com/hooks",
  "eventTypes": [
    "TRANSACTION_AUTHORIZED",
    "TRANSACTION_PENDING",
    "TRANSACTION_CAPTURED",
    "TRANSACTION_REFUNDED",
    "TRANSACTION_UPDATED",
    "TRANSACTION_VOIDED"
  ],
  "id": "0f9bc70f-1de4-4cb7-83a5-248fc358ad56",
  "secret": "********",
  "updatedAt": "2017-08-28T08:28:55Z"
}

Get By Id

Get a hook by id.

Arguments

If-Modified-Since header
string (optional)
hookId path
string (required)

Response

Returns a Hook.


Delivery

When a event occurs which matches the registered Hooks of an application, a delivery is made to the registered delivery url. Delivery are attempted up to 10 times with exponential backoff should there be a failure reaching the delivery url.


Definition

This method is currently not possible using the Node.js SDK.

Get List

Get all webhook delivery since time. Result is paginated

Arguments

If-Modified-Since header
string (optional)
startAt query
string (optional)
startOffset query
integer (optional)
endAt query
string (optional)
limit query
integer (optional)
businessId path
string (required)

Response

Returns a DeliveryList.


Definition

This method is currently not possible using the Node.js SDK.

Redeliver By Time

Redeliver all webhook within a time window.

Arguments

businessId path
string (required)
Poynt-Request-Id header
string (optional)
startTime query
string (required)
endTime query
string (required)

Definition

This method is currently not possible using the Node.js SDK.

Redeliver Event

Redeliver a webhook delivery.

Arguments

businessId path
string (required)
deliveryId path
string (required)

Response

Returns a Delivery.



Apple Pay

Operations for apple pay


Definition

/**
* Get domain association file
* @param {String}   options.businessId - the business ID
*/
module.exports.getApplePayDomainAssociationFile = function (options, next) { ... }

Sample Request

poynt.getApplePayDomainAssociationFile({
  businessId        : "2989f251-147f-4acf-ad8f-4b6795523d43"
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
})

Sample Response

7B227073704964223A2231413031344232454330394442333830454531443531464534443131364338303146363246323944373446324439333236394645353534434132453334363536222C2276657273696F6E223A312C22637265617465644F6E223A313632333933303630303032312C227369676E6174757265223A22333038303036303932613836343838366637306430313037303261303830333038303032303130313331306633303064303630393630383634383031363530333034303230313035303033303830303630393261383634383836663730643031303730313030303061303830333038323033653333303832303338386130303330323031303230323038346333303431343935313964353433363330306130363038326138363438636533643034303330323330376133313265333032633036303335353034303330633235343137303730366336353230343137303730366336393633363137343639366636653230343936653734363536373732363137343639366636653230343334313230326432303437333333313236333032343036303335353034306230633164343137303730366336353230343336353732373436393636363936333631373436393666366532303431373537343638366637323639373437393331313333303131303630333535303430613063306134313730373036633635323034393665363332653331306233303039303630333535303430363133303235353533333031653137306433313339333033353331333833303331333333323335333735613137306433323334333033353331333633303331333333323335333735613330356633313235333032333036303335353034303330633163363536333633326437333664373032643632373236663662363537323264373336393637366535663535343333343264353035323466343433313134333031323036303335353034306230633062363934663533323035333739373337343635366437333331313333303131303630333535303430613063306134313730373036633635323034393665363332653331306233303039303630333535303430363133303235353533333035393330313330363037326138363438636533643032303130363038326138363438636533643033303130373033343230303034633231353737656465626436633762323231386636386464373039306131323138646337623062643666326332383364383436303935643934616634613534313162383334323065643831316633343037653833333331663163353463336637656233323230643662616435643465666634393238393839336537633066313361333832303231313330383230323064333030633036303335353164313330313031666630343032333030303330316630363033353531643233303431383330313638303134323366323439633434663933653465663237653663346636323836633366613262626664326534623330343530363038326230363031303530353037303130313034333933303337333033353036303832623036303130353035303733303031383632393638373437343730336132663266366636333733373032653631373037303663363532653633366636643266366636333733373033303334326436313730373036633635363136393633363133333330333233303832303131643036303335353164323030343832303131343330383230313130333038323031306330363039326138363438383666373633363430353031333038316665333038316333303630383262303630313035303530373032303233303831623630633831623335323635366336393631366536333635323036663665323037343638363937333230363336353732373436393636363936333631373436353230363237393230363136653739323037303631373237343739323036313733373337353664363537333230363136333633363537303734363136653633363532303666363632303734363836353230373436383635366532303631373037303663363936333631363236633635323037333734363136653634363137323634323037343635373236643733323036313665363432303633366636653634363937343639366636653733323036663636323037353733363532633230363336353732373436393636363936333631373436353230373036663663363936333739323036313665363432303633363537323734363936363639363336313734363936663665323037303732363136333734363936333635323037333734363137343635366436353665373437333265333033363036303832623036303130353035303730323031313632613638373437343730336132663266373737373737326536313730373036633635326536333666366432663633363537323734363936363639363336313734363536313735373436383666373236393734373932663330333430363033353531643166303432643330326233303239613032376130323538363233363837343734373033613266326636333732366332653631373037303663363532653633366636643266363137303730366336353631363936333631333332653633373236633330316430363033353531643065303431363034313439343537646236666435373438313836383938393736326637653537383530376537396235383234333030653036303335353164306630313031666630343034303330323037383033303066303630393261383634383836663736333634303631643034303230353030333030613036303832613836343863653364303430333032303334393030333034363032323130306265303935373166653731653165373335623535653561666163623463373266656234343566333031383532323263373235313030326236316562643666353530323231303064313862333530613564643664643665623137343630333562313165623263653837636661336536616636636264383338303839306463383263646461613633333038323032656533303832303237356130303330323031303230323038343936643266626633613938646139373330306130363038326138363438636533643034303330323330363733313162333031393036303335353034303330633132343137303730366336353230353236663666373432303433343132303264323034373333333132363330323430363033353530343062306331643431373037303663363532303433363537323734363936363639363336313734363936663665323034313735373436383666373236393734373933313133333031313036303335353034306130633061343137303730366336353230343936653633326533313062333030393036303335353034303631333032353535333330316531373064333133343330333533303336333233333334333633333330356131373064333233393330333533303336333233333334333633333330356133303761333132653330326330363033353530343033306332353431373037303663363532303431373037303663363936333631373436393666366532303439366537343635363737323631373436393666366532303433343132303264323034373333333132363330323430363033353530343062306331643431373037303663363532303433363537323734363936363639363336313734363936663665323034313735373436383666373236393734373933313133333031313036303335353034306130633061343137303730366336353230343936653633326533313062333030393036303335353034303631333032353535333330353933303133303630373261383634386365336430323031303630383261383634386365336430333031303730333432303030346630313731313834313964373634383564353161356532353831303737366538383061326566646537626165346465303864666334623933653133333536643536363562333561653232643039373736306432323465376262613038666437363137636538386362373662623636373062656338653832393834666635343435613338316637333038316634333034363036303832623036303130353035303730313031303433613330333833303336303630383262303630313035303530373330303138363261363837343734373033613266326636663633373337303265363137303730366336353265363336663664326636663633373337303330333432643631373037303663363537323666366637343633363136373333333031643036303335353164306530343136303431343233663234396334346639336534656632376536633466363238366333666132626266643265346233303066303630333535316431333031303166663034303533303033303130316666333031663036303335353164323330343138333031363830313462626230646561313538333338383961613438613939646562656264656261666461636232346162333033373036303335353164316630343330333032653330326361303261613032383836323636383734373437303361326632663633373236633265363137303730366336353265363336663664326636313730373036633635373236663666373436333631363733333265363337323663333030653036303335353164306630313031666630343034303330323031303633303130303630613261383634383836663736333634303630323065303430323035303033303061303630383261383634386365336430343033303230333637303033303634303233303361636637323833353131363939623138366662333563333536636136326266663431376564643930663735346461323865626566313963383135653432623738396638393866373962353939663938643534313064386639646539633266653032333033323264643534343231623061333035373736633564663333383362393036376664313737633263323136643936346663363732363938323132366635346638376137643162393963623962303938393231363130363939306630393932316430303030333138323031386233303832303138373032303130313330383138363330376133313265333032633036303335353034303330633235343137303730366336353230343137303730366336393633363137343639366636653230343936653734363536373732363137343639366636653230343334313230326432303437333333313236333032343036303335353034306230633164343137303730366336353230343336353732373436393636363936333631373436393666366532303431373537343638366637323639373437393331313333303131303630333535303430613063306134313730373036633635323034393665363332653331306233303039303630333535303430363133303235353533303230383463333034313439353139643534333633303064303630393630383634383031363530333034303230313035303061303831393533303138303630393261383634383836663730643031303930333331306230363039326138363438383666373064303130373031333031633036303932613836343838366637306430313039303533313066313730643332333133303336333133373331333133353330333033303561333032613036303932613836343838366637306430313039333433313164333031623330306430363039363038363438303136353033303430323031303530306131306130363038326138363438636533643034303330323330326630363039326138363438383666373064303130393034333132323034323039333631633661633961306163616435333864393063336633326262346262383239333063663832613762366533333933326661303936363235316163663132333030613036303832613836343863653364303430333032303434363330343430323230353038366566656663356664623737383634336166366561643530343737653263393031323831376538363234636234363231333665393339313133303538383032323033333764316639313037333562663138646532346366623363363039646366303339343134643837376136616137656565353163336330373336386131396365303030303030303030303030227D

Get domain association file for ApplePay

Get domain association filebased on the environment that client is calling from.

Arguments

businessId path
string (required)

Definition

/**
 * Update merchant domain from Apple Pay server by business id 
 * @param {String}   options.businessId - the business ID
 * @param {String[]} options.unregisterDomains - List of fully qualified domain names where Apple Pay button is displayed
 * @param {String[]} options.registerDomains - List of fully qualified domain names where Apple Pay button is displayed
 * @param {String}   options.reason - Human readable reason of unregistration
 * @param {String}   options.merchantName - Merchant's e-commerce name
 * @param {String}   options.merchantUrl - Merchant site url where e-commerce store is hosted
 */
module.exports.updateApplePayRegistration = function (options, next) { ... }

Sample Request

poynt.updateApplePayRegistration({
  businessId        : "2989f251-147f-4acf-ad8f-4b6795523d43",
  unregisterDomains : ["my1.domain.com"],
  registerDomains   : ["my2.domain.com","my3.domain.com"],
  merchantName      : "Business DBA",
  merchantUrl       : "https://my1.domain.com"
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
})

Sample Response

{
    "domains": [
        "my2.domain.com",
        "my3.domain.com"
    ],
    "merchantName": "Business DBA",
    "merchantUrl": "https://my1.domain.com"
}

Update domain registration for ApplePay

Update merchant registration including domain names, merchant name, and merchant url to ApplePay server

Arguments

request body
ApplePayRegistrationRequest (optional)
businessId path
string (required)

Response

Returns a ApplePayRegistrationResponse.


Definition

/**
 * Get merchant details by business id
 * @param {String}   options.businessId - the business ID
 */
module.exports.getApplePayRegistration = function (options, next) { ... }

Sample Request

poynt.getApplePayRegistration({
  businessId        : "2989f251-147f-4acf-ad8f-4b6795523d43"
}, function (err, doc) {
  if (err) {
    throw err;
  }
  console.log(JSON.stringify(doc));
})

Sample Response

{
    "domains": [
        "my2.domain.com",
        "my3.domain.com"
    ],
    "merchantName": "Business DBA",
    "merchantUrl": "https://my1.domain.com"
}

Get merchant details

Get merchant details based on the informationsent during registration.

Arguments

businessId path
string (required)

Response

Returns a ApplePayRegistrationResponse.


Subscriptions API

In some cases, developer organizations and their appplications also have a web application to increase visibility online as well as bringing in more subscribers to the App Center. 

In order to integrate these new subscribers into the GoDaddy Poynt ecosystem, we have designed an API that allows developers to include a subscription route on their web application.


Get Plans

In order to provide GoDaddy Poynt merchants with the ability to subscribe to your app directly from your web application, you must connect with the billing system first to fetch your active billing plans.

Headers

Query Parameters


Post Subscriptions

Once you have obtained the merchant authorization, you can use the POST endpoint to create, downgrade, and upgrade subscriptions on behalf of the merchant.

Headers


Get Subscriptions

Once you are able to subscribe on behalf of the merchants, you can also list all the subscriptions for any of your applications using the GET endpoint.

Headers

Query Parameters


Deleting Subscriptions

If you decide to delete one of the active subscriptions for a business, you can do so by using the DELETE endpoint as outlined below.

Headers


POS Bridge

POS Bridge is a GoDaddy Poynt Smart Terminal application that provides a lightweight interface for POS applications running on Android devices, to communicate with the GoDaddy Poynt Terminal using JSON over HTTP.

This is a synchronous mode of communication where POS applications make HTTP requests and wait for a response. If the response time exceeds the timeout value provided by the POS application, POS Bridge will return a timeout error.


Pair Device

This endpoint can be used to establish a pair connection between a POS App and a GoDaddy Poynt Smart Terminal.

Headers

Request Body


Ping Device

This enpoint is designed to ping the device to check the connectivity.

Headers

Request Body

Response

The response for this endpoint will be empty and it will show an HTTP Status Code according to the connection status.


Sale / Authorization

Headers

Request Body


Pre-sale / Pre-authorization

Calling this endpoint will automatically set authOnly flag in the Payment object to “true”. However, debit is not possible for this type of transaction.

For more details on this endpoint, please refer to the Sale/Authorization endpoint.


Adjustment

The adjustment operation allows adjusting base sale amount, tip amount or both.

Headers

Request Body


Capture

The adjustment operation allows adjusting base sale amount, tip amount or both.

Headers

Request Body


Refund

The adjustment operation allows adjusting base sale amount, tip amount or both.

Headers

Request Body


Voice Authorization

The adjustment operation allows adjusting base sale amount, tip amount or both.

Headers

Request Body


Void

Headers

Request Body


Scan Data

Headers

Request Body


This endpoint can be used to print receipts as necessary

Headers

Request Body


Items on Second Screeen

This endpoint can be used to display itewms on the second screen of the device.

Headers

Request Body


Pay Links are a fast and versatile way to get paid online. Merchants can get up and running with payments with no setup time with a Pay Link included with their GoDaddy account. They can also event connect their domain for a more personalized experience.

Pay Links can accept wallet and credit card payments and can easily be customized to include the merchant’s brand info and request info from their customers.


Recent Sales

This endpoint is designed to obtain the 3 most recent sales carried out through paylinks.

Headers

Query Parameters


Total Sales

This endpoint is designed to obtain the total sales carried out through paylinks.

Headers

Query Parameters


This endpoint is designed to obtain all the paylinks created for a specific store.

Headers

Query Parameters


This endpoint can be used to create a new paylink within a specific store.

Headers

Query Parameters

Request Body


This endpoint is designed to obtain all the paylinks related to a specific business.

Headers

Query Parameters

Request Body


You can use this endpoint to obtain a specific paylink using the paylink ID.

Headers

Query Parameters


This endpoint can be used to edit and update the information related to a specific paylink.

Headers

Query Parameters

Request Body


You can use this endpoint to delete a specific paylink from the reecords using the paylink ID.

Headers

Query Parameters


You can use this endpoint to create a paylink that will only be used once.

Headers

Query Parameters

Request Body


You can use this endpoint to fetch a paylink by using the business domain.

Headers

Query Parameters


AVSResult

Attributes

actualResult
string
addressResult
string, enum['MATCH', 'NO_MATCH', 'PARTIAL_MATCH', 'NOT_PROVIDED', 'ISSUER_NOT_CERTIFIED', 'NO_RESPONSE_FROM_CARD_ASSOCIATION', 'UNKNOWN_RESPONSE_FROM_CARD_ASSOCIATION', 'NOT_VERIFIED', 'BAD_FORMAT', 'ERROR', 'UNSUPPORTED_BY_ISSUER', 'UNAVAILABLE', 'ADDRESS_AND_ZIP_MATCH']
cityResult
string, enum['MATCH', 'NO_MATCH', 'PARTIAL_MATCH', 'NOT_PROVIDED', 'ISSUER_NOT_CERTIFIED', 'NO_RESPONSE_FROM_CARD_ASSOCIATION', 'UNKNOWN_RESPONSE_FROM_CARD_ASSOCIATION', 'NOT_VERIFIED', 'BAD_FORMAT', 'ERROR', 'UNSUPPORTED_BY_ISSUER', 'UNAVAILABLE', 'ADDRESS_AND_ZIP_MATCH']
stateResult
string, enum['MATCH', 'NO_MATCH', 'PARTIAL_MATCH', 'NOT_PROVIDED', 'ISSUER_NOT_CERTIFIED', 'NO_RESPONSE_FROM_CARD_ASSOCIATION', 'UNKNOWN_RESPONSE_FROM_CARD_ASSOCIATION', 'NOT_VERIFIED', 'BAD_FORMAT', 'ERROR', 'UNSUPPORTED_BY_ISSUER', 'UNAVAILABLE', 'ADDRESS_AND_ZIP_MATCH']
countryResult
string, enum['MATCH', 'NO_MATCH', 'PARTIAL_MATCH', 'NOT_PROVIDED', 'ISSUER_NOT_CERTIFIED', 'NO_RESPONSE_FROM_CARD_ASSOCIATION', 'UNKNOWN_RESPONSE_FROM_CARD_ASSOCIATION', 'NOT_VERIFIED', 'BAD_FORMAT', 'ERROR', 'UNSUPPORTED_BY_ISSUER', 'UNAVAILABLE', 'ADDRESS_AND_ZIP_MATCH']
phoneResult
string, enum['MATCH', 'NO_MATCH', 'PARTIAL_MATCH', 'NOT_PROVIDED', 'ISSUER_NOT_CERTIFIED', 'NO_RESPONSE_FROM_CARD_ASSOCIATION', 'UNKNOWN_RESPONSE_FROM_CARD_ASSOCIATION', 'NOT_VERIFIED', 'BAD_FORMAT', 'ERROR', 'UNSUPPORTED_BY_ISSUER', 'UNAVAILABLE', 'ADDRESS_AND_ZIP_MATCH']
postalCodeResult
string, enum['MATCH', 'NO_MATCH', 'PARTIAL_MATCH', 'NOT_PROVIDED', 'ISSUER_NOT_CERTIFIED', 'NO_RESPONSE_FROM_CARD_ASSOCIATION', 'UNKNOWN_RESPONSE_FROM_CARD_ASSOCIATION', 'NOT_VERIFIED', 'BAD_FORMAT', 'ERROR', 'UNSUPPORTED_BY_ISSUER', 'UNAVAILABLE', 'ADDRESS_AND_ZIP_MATCH']
cardHolderNameResult
string, enum['MATCH', 'NO_MATCH', 'PARTIAL_MATCH', 'NOT_PROVIDED', 'ISSUER_NOT_CERTIFIED', 'NO_RESPONSE_FROM_CARD_ASSOCIATION', 'UNKNOWN_RESPONSE_FROM_CARD_ASSOCIATION', 'NOT_VERIFIED', 'BAD_FORMAT', 'ERROR', 'UNSUPPORTED_BY_ISSUER', 'UNAVAILABLE', 'ADDRESS_AND_ZIP_MATCH']

ActiveTime

Attributes

startHour
integer
endHour
integer
repeatType
string, enum['DAILY', 'WEEKLY', 'MONTHLY']
every
array [long]
startAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
endAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ

Address

Attributes

postalCodeExtension
string
city
string
countryCode
string
line1
string
line2
string
postalCode
string
territory
string
territoryType
string, enum['STATE', 'PROVINCE', 'OTHER']
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
status
string, enum['ADDED']
updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
primary
boolean
id
integer
type
string, enum['HOME', 'WORK', 'BUSINESS', 'TRANSACTION', 'OTHER']

AdjustedDiscount

Attributes

adjustmentType
string, enum['ADDED', 'REMOVED', 'MODIFIED']
customName
string
amount
integer
id
string

AdjustedFee

Attributes

adjustmentType
string, enum['ADDED', 'REMOVED', 'MODIFIED']
idStr
string
amount
integer
name
string
id
integer

AdjustedOrder

Attributes

adjustedFees
array [AdjustedFee]
adjustedDiscounts
array [AdjustedDiscount]
adjustedOrderItems
array [AdjustedOrderItem]

AdjustedOrderItem

Attributes

adjustedFees
array [AdjustedFee]
adjustedDiscounts
array [AdjustedDiscount]
adjustmentType
string, enum['ADDED', 'REMOVED', 'MODIFIED']
adjustedOrderItemTaxes
array [AdjustedOrderItemTax]
adjustedVariants
array [AdjustedVariant]
unitPrice
integer
quantity
float
name
string
id
integer

AdjustedOrderItemTax

Attributes

adjustmentType
string, enum['ADDED', 'REMOVED', 'MODIFIED']
amountPrecision
integer
amount
integer
id
string

AdjustedVariant

Attributes

adjustmentType
string, enum['ADDED', 'REMOVED', 'MODIFIED']
amount
integer
value
string
attribute
string

AdjustmentRecord

Attributes

sequence
integer
amountChanges
TransactionAmounts
systemTraceAuditNumber
string
signatureCaptured
boolean
reason
TransactionReason
amounts
TransactionAmounts
processorResponse
ProcessorResponse
signature
array [byte]
exchangeRate
ExchangeRate
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
transactionNumber
string
id
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.

AdjustTransactionRequest

Attributes

notes
string
receiptPhone
Phone
receiptEmailAddress
string
reason
TransactionReason
amounts
TransactionAmounts
context
ClientContext
signature
array [byte]
references
array [TransactionReference]
emvData
EMVData
adjustmentUpdates
array [AdjustmentRecord]
customerLanguage
string

ApplePayRegistrationRequest

Attributes

merchantName
string
merchantUrl
string
reason
string
registerDomains
array [string]
unregisterDomains
array [string]

ApplePayRegistrationResponse

Attributes

merchantName
string
merchantUrl
string
domains
array [string]

AvailableDiscount

Attributes

when
ActiveTime
fixed
integer
percentage
float
updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
businessId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
code
string
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
id
string
type
string, enum['FIXED', 'PERCENTAGE']
scope
string, enum['ITEM', 'ORDER']

BankAccount

Attributes

routingNumber
string
bankName
string
country
string
accountNumber
string
ownerName
string
accountType
string, enum['CHECKING', 'SAVINGS']
accountHolderType
string, enum['PERSONAL', 'BUSINESS']
accountNumberLastFour
string
id
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
currency
string

Business

Attributes

businessUrl
string
logoUrl
string
stores
array [Store]
domicileCountry
string
externalMerchantId
string
closingReason
string, enum['TERMINATED', 'CHURNED', 'DUPLICATE']
closingDetails
string
closedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
legalName
string
doingBusinessAs
string
emailAddress
string
phone
Phone
mcc
string
acquirer
string, enum['CHASE_PAYMENTECH', 'REDE', 'EVO', 'FIRST_DATA', 'GLOBAL_PAYMENTS', 'HEARTLAND_PAYMENT_SYSTEM', 'ELAVON', 'MERCURY', 'MONERIS', 'PAYPAL', 'ELAVON_MX', 'STRIPE', 'TSYS', 'VANTIV', 'WORLDPAY', 'EPX', 'WEPAY', 'MASHREQ', 'AXIS', 'KARTUKU', 'NEXI', 'DANA', 'MYNT', 'POYNT', 'NUVEI', 'NPAY', 'BRIDGEPAY', 'CONVERGE', 'MOCK', 'NA_BANCARD', 'CREDITCALL', 'ELAVON_EU', 'FUSEBOX', 'EVERTEC', 'GHL', 'RS2', 'JCN', 'PRISMA', 'VANTIV_EXPRESS', 'EZETAP', 'ADYEN', 'LETGO']
industryType
string
timezone
string
organizationId
string
updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
echeckProcessor
string, enum['MOCK', 'CHECK_COMMERCE']
activeSince
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
sic
string
underwritingLevel
string
processorData
object
status
string, enum['ADDED', 'ACTIVATED', 'LOCKED', 'CLOSED']
processor
string, enum['CHASE_PAYMENTECH', 'REDE', 'EVO', 'FIRST_DATA', 'GLOBAL_PAYMENTS', 'HEARTLAND_PAYMENT_SYSTEM', 'ELAVON', 'MERCURY', 'MONERIS', 'PAYPAL', 'ELAVON_MX', 'STRIPE', 'TSYS', 'VANTIV', 'WORLDPAY', 'EPX', 'WEPAY', 'MASHREQ', 'AXIS', 'KARTUKU', 'NEXI', 'DANA', 'MYNT', 'POYNT', 'NUVEI', 'NPAY', 'BRIDGEPAY', 'CONVERGE', 'MOCK', 'NA_BANCARD', 'CREDITCALL', 'ELAVON_EU', 'FUSEBOX', 'EVERTEC', 'GHL', 'RS2', 'JCN', 'PRISMA', 'VANTIV_EXPRESS', 'EZETAP', 'ADYEN', 'LETGO']
subscribedBundles
array [BundledFeatures]
supportedCardProducts
array [string]
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
id
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
type
string, enum['MERCHANT', 'TEST_MERCHANT', 'DEVELOPER', 'DISTRIBUTOR', 'ORGANIZATION']
address
Address
attributes
object
description
string

BusinessUser

Attributes

credentials
array [UserCredential]
nickName
string
firstName
string
lastName
string
startDate
integer
endDate
integer
cards
array [Card]
emailSignupCode
string
middleInitial
string
middleName
string
userId
integer
email
string
businessId
string
status
string, enum['EMPLOYED', 'TERMINATED']
employmentDetails
EmploymentDetails

CancelRequest

Attributes

cancelReason
string, enum['TIMEOUT', 'CARD_REMOVED', 'CHIP_DECLINE_AFTER_HOST_APPROVAL', 'PIN_PAD_NOT_AVAILABLE', 'MERCHANT_CANCELLED']
context
ClientContext
emvData
EMVData

Card

Attributes

cardAgreement
CardAgreement
cardId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
encrypted
boolean
cardHolderFullName
string
cardHolderLastName
string
cardHolderFirstName
string
numberHashed
string
numberFirst6
string
numberLast4
string
numberMasked
string
number
string
track1data
string
track2data
string
track3data
string
keySerialNumber
string
expirationYear
integer
expirationMonth
integer
expirationDate
integer
serviceCode
string
cardBrand
CardBrand
status
string, enum['ACTIVE', 'REMOVED']
encryptedExpirationDate
string
sequenceNumber
string
issuer
string
id
integer
key
array [CardKeyData]
source
string, enum['DIRECT', 'APPLE_PAY', 'PAZE', 'GOOGLE_PAY']
currency
string
type
string, enum['AMERICAN_EXPRESS', 'EBT', 'BANCOMAT', 'DISCOVER', 'MAESTRO', 'GOPAY', 'DINERS_CLUB', 'JCB', 'ALIPAY', 'MASTERCARD', 'DANKORT', 'OTHER', 'PAYPAL', 'INTERAC', 'UNIONPAY', 'VISA']

CardAgreement

Attributes

agreedOn
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
declinedOn
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
cardId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
txnId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
email
string
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
businessId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
status
string
updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
metadata
CardAgreementMetadata
version
integer
id
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.

CardBrand

Attributes

brand
string
issuerBank
string
logoUrl
string
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
scheme
string
displayName
string
id
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.

CardKeyData

Attributes

version
string
id
string, enum['WCK', 'WAEK', 'WMACK']

Catalog

Attributes

categories
array [Category]
products
array [CatalogItem]
taxes
array [Tax]
createdAt
string
businessId
string
storeId
string
updatedAt
string
displayMetadata
array [CatalogDisplayMetadata]
restrictions
array [Restriction]
priceBookId
string
availableDiscounts
array [AvailableDiscount]
appliedRestrictions
array [string]
id
string
name
string

CatalogItem

Attributes

taxes
array [Tax]
externalId
string
displayOrder
integer
availableDiscounts
array [AvailableDiscount]
id
string
color
string

CatalogItemWithProduct

Attributes

availableDiscounts
array [AvailableDiscount]
taxes
array [Tax]
product
Product
displayOrder
integer
color
string

CatalogList

Attributes

links
array [Link]
catalogs
array [Catalog]

CatalogWithProduct

Attributes

availableDiscounts
array [AvailableDiscount]
products
array [CatalogItemWithProduct]
taxes
array [Tax]
updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
categories
array [CategoryWithProduct]
businessId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
storeId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
displayMetadata
array [CatalogDisplayMetadata]
restrictions
array [Restriction]
appliedRestrictions
array [string]
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
name
string
id
string

Category

Attributes

products
array [CatalogItem]
taxes
array [Tax]
createdAt
string
storeId
string
updatedAt
string
parentCategoryId
string
externalParentCategoryId
string
externalCategoryId
string
displayOrder
integer
availableDiscounts
array [AvailableDiscount]
shortCode
string
id
string
source
string
name
string
color
string

CategoryList

Attributes

links
array [Link]
categories
array [Category]

CategoryWithProduct

Attributes

availableDiscounts
array [AvailableDiscount]
parentCategoryId
string
products
array [CatalogItemWithProduct]
taxes
array [Tax]
shortCode
string
displayOrder
integer
color
string
name
string
id
string

ClientContext

Attributes

acquirerId
string
channelId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
storeDeviceId
string
mid
string
tid
string
transmissionAtLocal
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
transactionInstruction
string, enum['NONE', 'EXTERNALLY_PROCESSED', 'ONLINE_AUTH_REQUIRED']
employeeUserId
integer
mcc
string
businessType
string, enum['MERCHANT', 'TEST_MERCHANT', 'DEVELOPER', 'DISTRIBUTOR', 'ORGANIZATION']
sourceApp
string
storeAddressCity
string
storeAddressTerritory
string
storeTimezone
string
businessId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
storeId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
source
string, enum['INSTORE', 'WEB', 'MOBILE', 'CALLIN', 'CATALOG']

CloudMessage

Attributes

serialNum
string
collapseKey
string
sender
string
recipient
ComponentName
ttl
integer
businessId
string
storeId
string
deviceId
string
channelIds
array [UUID]
id
string
data
string

ComponentName

Attributes

packageName
string
className
string

CurrencyAmount

Attributes

amount
integer
currency
string

Customer

Attributes

businessPreferences
CustomerBusinessPreferences
nickName
string
userIdentities
array [UserIdentity]
middleName
string
middleInitial
string
firstName
string
updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
loyaltyCustomers
array [LoyaltyCustomer]
emails
array [Entry]
phones
array [Entry]
addresses
array [Entry]
insights
CustomerInsights
cards
array [Card]
businessId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
devices
array [Device]
lastName
string
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
id
integer
attributes
object

CustomerBusinessPreferences

Attributes

preferredCardId
integer

CustomerInsights

Attributes

lifetimeSpend
array [CurrencyAmount]
scores
array [CustomerScore]
topItems
array [CustomerTopItem]
totalOrders
integer
since
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
poyntLoyalty
PoyntLoyalty

CustomerList

Attributes

links
array [Link]
customers
array [Customer]
count
integer

CustomerScore

Attributes

score
double
type
string, enum['LOYALTY', 'VALUE', 'OVERALL']

CustomerTopItem

Attributes

firstPurchasedAt
integer
lastPurchasedAt
integer
variationId
integer
countUnit
string, enum['EACH', 'HOURS', 'DAYS', 'SECONDS', 'CRATE_OF_12', 'SIX_PACH', 'GALLON', 'LITRE', 'INCH', 'FOOT', 'MILLIMETER', 'CENTIMETER', 'METER', 'SQUARE_METER', 'CUBIC_METER', 'GRAM', 'KILOGRAM', 'POUND', 'ANNUAL', 'DEGREE_CELCIUS', 'DEGREE_FARENHEIT']
productId
integer
name
string
count
double

CustomFundingSource

Attributes

accountId
string
processor
string
description
string
provider
string
name
string
type
string, enum['GIFT_CARD', 'BITCOIN', 'CHEQUE', 'VOUCHER', 'REWARD', 'COUPON', 'GIFT_CERTIFICATE', 'QR_CODE', 'OTHER', 'ALIPAY', 'DANA', 'WALLET']

DebitEBTReEntry

Attributes

origRetrievalRefNumber
string
origApprovalCode
string
origAuthSourceCode
string
origResponseCode
string
origTransactionId
string
origTransactionNumber
string
origCreatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
origNetworkId
string
origTraceNumber
string

Delivery

Attributes

secret
string
deliveryUrl
string
links
array [Link]
updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
resourceId
string
deviceId
string
businessId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
storeId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
status
string, enum['SCHEDULED', 'RESCHEDULED', 'ERRORED_RETRYING', 'DELIVERED', 'ERRORED']
attempt
integer
hookId
string
merchantType
string
applicationId
string
eventType
string
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
resource
string
properties
object
id
string

DeliveryList

Attributes

links
array [Link]
deliveries
array [Delivery]

Device

Attributes

deviceType
string, enum['MOBILE', 'UNKNOWN']
macAddresses
array [DeviceMacAddress]
id
integer

DeviceMacAddress

Attributes

networkInterface
string, enum['BLUETOOTH', 'WIFI']
macAddress
string
id
integer

Discount

Attributes

percentage
float
customName
string
externalId
string
amount
integer
processorResponse
ProcessorResponse
processor
string
id
string
provider
string

EBTDetails

Attributes

electronicVoucherApprovalCode
string
electronicVoucherSerialNumber
string
type
string, enum['CASH_BENEFIT', 'CASH_BENEFIT_CASH_WITHDRAWAL', 'FOOD_STAMP', 'FOOD_STAMP_ELECTRONIC_VOUCHER']

EMVData

Attributes

emvTags
object

EmploymentDetails

Attributes

customRole
CustomRole
endAt
integer
startAt
integer
role
string, enum['OWNER', 'MANAGER', 'EMPLOYEE', 'CUSTOM']

ExchangeRate

Attributes

markupInfo1
string
markupInfo2
string
disclaimer
string
cardTipAmount
integer
markupPercentage
string
requestedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
txnAmount
integer
txnCurrency
string
rate
integer
ratePrecision
integer
cardCurrency
string
cardAmount
integer
signature
string
tipAmount
integer
businessId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
provider
string

Fee

Attributes

percentage
float
idStr
string
externalId
string
amount
integer
name
string
id
integer

FundingSource

Attributes

tokenize
boolean
interacMacKeySerialNumber
string
paymentTokenSource
string
bankAccount
BankAccount
paymentToken
string
nonce
string
interacMac
string
cardToken
string
verificationData
VerificationData
customFundingSource
CustomFundingSource
debitEBTReEntryDetails
DebitEBTReEntry
card
Card
debit
boolean
accountType
string, enum['EBT', 'CHECKING', 'SAVINGS']
ebtDetails
EBTDetails
emvData
EMVData
entryDetails
FundingSourceEntryDetails
exchangeRate
ExchangeRate
type
string, enum['CHEQUE', 'CUSTOM_FUNDING_SOURCE', 'CREDIT_DEBIT', 'CASH']

FundingSourceEntryDetails

Attributes

iccFallback
boolean
customerPresenceStatus
string, enum['PRESENT', 'MOTO', 'ECOMMERCE', 'ARU', 'INVOICING', 'VIRTUAL_TERMINAL_PRESENT', 'VIRTUAL_TERMINAL_NOT_PRESENT']
entryMode
string, enum['KEYED', 'TRACK_DATA_FROM_MAGSTRIPE', 'CONTACTLESS_MAGSTRIPE', 'INTEGRATED_CIRCUIT_CARD', 'CONTACTLESS_INTEGRATED_CIRCUIT_CARD']

Hook

Attributes

secret
string
deliveryUrl
string
updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
businessId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
applicationId
string
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
id
string
eventTypes
array [string]

HookList

Attributes

hooks
array [Hook]
links
array [Link]

Inventory

Attributes

availableCount
float
reOrderLevel
float
reOrderPoint
float
stockCount
float
updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
storeId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ

InventorySummary

Attributes

productName
string
availableCount
float
reOrderLevel
float
reOrderPoint
float
stockCount
float
productId
string
sku
string
storeId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
productShortCode
string

InventorySummaryList

Attributes

items
array [InventorySummary]
links
array [Link]

JsonPatch

Attributes


Attributes

rel
string
href
string
method
string

LoyaltyCustomer

Attributes

providerVerification
ProviderVerification
firstName
string
updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
businessId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
lastName
string
identifiers
array [Entry]
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
id
string
provider
string

Order

Attributes

discounts
array [Discount]
notes
string
orderHistories
array [OrderHistory]
orderShipments
array [OrderShipment]
items
array [OrderItem]
customerUserId
integer
externalId
string
links
array [Link]
updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
fees
array [Fee]
amounts
OrderAmounts
stayType
string, enum['GENERAL_CONTAINER', 'REGULAR_STAY', 'QUICK_STAY', 'NON_LODGING_SALE', 'NON_LODGING_NRR']
transactions
array [Transaction]
orderNumber
string
customer
Customer
statuses
OrderStatuses
parentId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
context
ClientContext
id
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
attributes
object
owner
string

OrderAmounts

Attributes

taxTotal
integer
subTotal
integer
discountTotal
integer
feeTotal
integer
shippingTotal
integer
netTotal
integer
authorizedTotals
TransactionAmounts
voidedTotals
TransactionAmounts
capturedTotals
TransactionAmounts
refundedTotals
TransactionAmounts
savedTotals
TransactionAmounts
currency
string

OrderHistory

Attributes

adjustedOrder
AdjustedOrder
event
string, enum['ACCEPTED', 'EDITED', 'AWAITING_PICKUP', 'SHIPPED', 'DELIVERED', 'COMPLETED', 'CANCELLED']
id
integer
timestamp
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ

OrderItem

Attributes

externalProductId
string
fulfillmentInstruction
string, enum['NONE', 'PICKUP_INSTORE', 'SHIP_TO']
categoryId
string
clientNotes
string
taxes
array [OrderItemTax]
unitPrice
integer
discount
integer
fee
integer
productId
string
selectedVariants
array [Variant]
unitOfMeasure
string, enum['EACH', 'HOURS', 'DAYS', 'SECONDS', 'CRATE_OF_12', 'SIX_PACH', 'GALLON', 'LITRE', 'INCH', 'FOOT', 'MILLIMETER', 'CENTIMETER', 'METER', 'SQUARE_METER', 'CUBIC_METER', 'GRAM', 'KILOGRAM', 'POUND', 'ANNUAL', 'DEGREE_CELCIUS', 'DEGREE_FARENHEIT']
details
string
tax
integer
discounts
array [Discount]
externalId
string
quantity
float
updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
sku
string
fees
array [Fee]
serviceStartAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
serviceEndAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
status
string, enum['ORDERED', 'FULFILLED', 'RETURNED']
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
name
string
id
integer

OrderItemTax

Attributes

taxRatePercentage
double
taxRateFixedAmount
integer
amountPrecision
integer
externalId
string
amount
integer
id
string
type
string

OrderList

Attributes

links
array [Link]
orders
array [Order]
count
integer

OrderShipment

Attributes

estimatedDelivery
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
trackingUrl
string
deliveredAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
fulfillAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
shippedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
pickupChannelId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
carrier
string
trackingNumber
string
deliveryMode
string, enum['CURBSIDE', 'DELIVERY', 'DRIVE_THRU', 'FOR_HERE', 'PICKUP', 'SHIP', 'TO_GO']
shipmentType
string, enum['FULFILLMENT', 'RETURN']
notes
string
items
array [OrderShipmentItem]
updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
amount
integer
status
string, enum['NONE', 'AWAITING_PICKUP', 'IN_TRANSIT', 'DELIVERED', 'CANCELLED']
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
id
integer
address
Address
provider
string

OrderShipmentItem

Attributes

quantity
float
updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
name
string
id
integer

OrderStatuses

Attributes

transactionStatusSummary
string, enum['NONE', 'EXTERNALLY_PROCESSED', 'PENDING', 'COMPLETED', 'REFUNDED', 'CANCELED']
fulfillmentStatus
string, enum['NONE', 'PARTIAL', 'FULFILLED']
status
string, enum['OPENED', 'CANCELLED', 'COMPLETED']

Phone

Attributes

localPhoneNumber
string
areaCode
string
extensionNumber
string
ituCountryCode
string
primaryDayTime
boolean
primaryEvening
boolean
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
status
string, enum['ADDED', 'CONFIRMED']
updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
id
integer
type
string, enum['HOME', 'WORK', 'BUSINESS', 'MOBILE', 'FAX', 'PAGER', 'RECEIPT', 'OTHER']

PoyntLoyalty

Attributes

loyaltyId
integer
loyalty
array [PoyntLoyaltyCampaign]
reward
array [PoyntLoyaltyReward]
externalId
string

PoyntLoyaltyCampaign

Attributes

pointsRequired
integer
totalPoints
integer
points
integer
campaignDescription
string
totalVisits
integer
totalSpend
integer
lastIncrement
integer
campaignName
string
nextTier
string
loyaltyUnit
string
loyaltyType
string
businessLoyaltyId
integer
tier
string
rewardDescription
string

PoyntLoyaltyReward

Attributes

rewardId
integer
preText
string
postText
string
businessLoyaltyId
integer
newReward
boolean
expireAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
status
string
rewardDescription
string
value
integer
type
string

ProcessorResponse

Attributes

processedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
scaResult
string, enum['ENTER_PIN', 'INSERT_CARD', 'CDCVM']
adapterVariant
string
batchAutoClosedByHost
string
issuerResponseCode
string
providerVerification
ProviderVerification
interacMac
string
echeckProcessor
string, enum['MOCK', 'CHECK_COMMERCE']
remainingBalance
integer
cvActualResult
string
batchId
string
retrievalRefNum
string
ps2000Data
string
debitResponseCode
string
pinSessionKey
string
adapterId
string
processor
string, enum['CHASE_PAYMENTECH', 'REDE', 'EVO', 'FIRST_DATA', 'GLOBAL_PAYMENTS', 'HEARTLAND_PAYMENT_SYSTEM', 'ELAVON', 'MERCURY', 'MONERIS', 'PAYPAL', 'ELAVON_MX', 'STRIPE', 'TSYS', 'VANTIV', 'WORLDPAY', 'EPX', 'WEPAY', 'MASHREQ', 'AXIS', 'KARTUKU', 'NEXI', 'DANA', 'MYNT', 'POYNT', 'NUVEI', 'NPAY', 'BRIDGEPAY', 'CONVERGE', 'MOCK', 'NA_BANCARD', 'CREDITCALL', 'ELAVON_EU', 'FUSEBOX', 'EVERTEC', 'GHL', 'RS2', 'JCN', 'PRISMA', 'VANTIV_EXPRESS', 'EZETAP', 'ADYEN', 'LETGO']
acquirer
string, enum['CHASE_PAYMENTECH', 'REDE', 'EVO', 'FIRST_DATA', 'GLOBAL_PAYMENTS', 'HEARTLAND_PAYMENT_SYSTEM', 'ELAVON', 'MERCURY', 'MONERIS', 'PAYPAL', 'ELAVON_MX', 'STRIPE', 'TSYS', 'VANTIV', 'WORLDPAY', 'EPX', 'WEPAY', 'MASHREQ', 'AXIS', 'KARTUKU', 'NEXI', 'DANA', 'MYNT', 'POYNT', 'NUVEI', 'NPAY', 'BRIDGEPAY', 'CONVERGE', 'MOCK', 'NA_BANCARD', 'CREDITCALL', 'ELAVON_EU', 'FUSEBOX', 'EVERTEC', 'GHL', 'RS2', 'JCN', 'PRISMA', 'VANTIV_EXPRESS', 'EZETAP', 'ADYEN', 'LETGO']
approvedAmount
integer
approvalCode
string
avsResult
AVSResult
cvResult
string, enum['MATCH', 'NO_MATCH', 'NOT_PROCESSED', 'NO_CODE_PRESENT', 'SHOULD_HAVE_BEEN_PRESENT', 'ISSUER_NOT_CERTIFIED', 'INVALID', 'NO_RESPONSE', 'NOT_APPLICABLE']
statusMessage
string
cardToken
string
emvTags
object
transactionId
string
status
string, enum['Successful', 'Failure']
statusCode
string

Product

Attributes

author
string
styleNumber
string
relatedProducts
array [ProductRelation]
possibleVariations
array [Variation]
addonProducts
array [ProductRelation]
availableDiscounts
array [AvailableDiscount]
taxes
array [Tax]
bundledProducts
array [ProductRelation]
unitOfMeasure
string, enum['EACH', 'HOURS', 'DAYS', 'SECONDS', 'CRATE_OF_12', 'SIX_PACH', 'GALLON', 'LITRE', 'INCH', 'FOOT', 'MILLIMETER', 'CENTIMETER', 'METER', 'SQUARE_METER', 'CUBIC_METER', 'GRAM', 'KILOGRAM', 'POUND', 'ANNUAL', 'DEGREE_CELCIUS', 'DEGREE_FARENHEIT']
externalId
string
updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
imageUrl
array [string]
selectableVariants
array [Variant]
shortCode
string
price
CurrencyAmount
sku
string
brand
string
releaseDate
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
inventory
array [Inventory]
businessId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
storeId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
status
string, enum['ACTIVE', 'RETIRED']
restrictionAttributes
array [RestrictionAttribute]
templateOverrides
array [string]
appliedRestrictions
array [string]
productTemplateId
string
msrp
CurrencyAmount
avgUnitCost
CurrencyAmount
ean
string
upc
string
isbn
string
plu
string
asin
string
specification
string
manufacturer
string
publisher
string
studio
string
designer
string
artist
string
mpn
string
modelNumber
string
tags
string
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
name
string
id
string
type
string, enum['SIMPLE', 'BUNDLE']
variants
array [Variant]
source
string
description
string

ProductList

Attributes

products
array [Product]
links
array [Link]

ProductRelation

Attributes

relatedProductId
string
relatedProductSku
array [string]
price
CurrencyAmount
type
string, enum['BUNDLE', 'RELATED', 'ADDON']
count
integer

ProductSummary

Attributes

shortCode
string
price
CurrencyAmount
businessId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
name
string
id
string

ProductSummaryList

Attributes

products
array [ProductSummary]
links
array [Link]

ProductVariation

Attributes

value
string
attribute
string

ProviderVerification

Attributes

publicKeyHash
string
signature
string

QueryStatus

Attributes

stateChangeReason
string
startedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
completedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
resourceUrl
string
state
string

ReceiptTemplate

Attributes

template
string
id
string

SelectableVariation

Attributes

valueMaxLength
integer
cardinality
string
values
array [SelectableValue]
id
string
attribute
string

Store

Attributes

gatewayStoreId
string
storeTerminalIds
array [StoreTerminalId]
latitude
float
longitude
float
channelId
string
defaultRetailChannelId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
defaultChannelId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
catalogId
string
emailAddress
string
phone
Phone
acquirer
string, enum['CHASE_PAYMENTECH', 'REDE', 'EVO', 'FIRST_DATA', 'GLOBAL_PAYMENTS', 'HEARTLAND_PAYMENT_SYSTEM', 'ELAVON', 'MERCURY', 'MONERIS', 'PAYPAL', 'ELAVON_MX', 'STRIPE', 'TSYS', 'VANTIV', 'WORLDPAY', 'EPX', 'WEPAY', 'MASHREQ', 'AXIS', 'KARTUKU', 'NEXI', 'DANA', 'MYNT', 'POYNT', 'NUVEI', 'NPAY', 'BRIDGEPAY', 'CONVERGE', 'MOCK', 'NA_BANCARD', 'CREDITCALL', 'ELAVON_EU', 'FUSEBOX', 'EVERTEC', 'GHL', 'RS2', 'JCN', 'PRISMA', 'VANTIV_EXPRESS', 'EZETAP', 'ADYEN', 'LETGO']
processorAdapterId
string
timezone
string
ventureId
string
channelType
string
updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
echeckProcessor
string, enum['MOCK', 'CHECK_COMMERCE']
governmentIds
array [GovernmentId]
processorData
object
storeDevices
array [StoreDevice]
externalStoreId
string
status
string, enum['ACTIVE', 'DISABLED', 'REMOVED']
processor
string, enum['CHASE_PAYMENTECH', 'REDE', 'EVO', 'FIRST_DATA', 'GLOBAL_PAYMENTS', 'HEARTLAND_PAYMENT_SYSTEM', 'ELAVON', 'MERCURY', 'MONERIS', 'PAYPAL', 'ELAVON_MX', 'STRIPE', 'TSYS', 'VANTIV', 'WORLDPAY', 'EPX', 'WEPAY', 'MASHREQ', 'AXIS', 'KARTUKU', 'NEXI', 'DANA', 'MYNT', 'POYNT', 'NUVEI', 'NPAY', 'BRIDGEPAY', 'CONVERGE', 'MOCK', 'NA_BANCARD', 'CREDITCALL', 'ELAVON_EU', 'FUSEBOX', 'EVERTEC', 'GHL', 'RS2', 'JCN', 'PRISMA', 'VANTIV_EXPRESS', 'EZETAP', 'ADYEN', 'LETGO']
subscribedBundles
array [BundledFeatures]
supportedCardProducts
array [CardProduct]
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
id
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
address
Address
attributes
object
displayName
string
currency
string

StoreDevice

Attributes

lastSeenAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
businessAgreements
array [Entry]
channelId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
catalogId
string
activatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
externalTerminalId
string
updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
processorData
object
deviceId
string
storeId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
status
string, enum['CREATED', 'ACTIVATED', 'DEACTIVATED', 'REMOVED']
publicKeyVerification
PublicKeyVerificationData
kekDetails
array [DeviceKekData]
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
name
string
type
string, enum['TERMINAL', 'WIFI_SENSOR']
publicKey
string
serialNumber
string

Tax

Attributes

updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
amount
integer
rate
double
businessId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
name
string
id
string
type
string
description
string

TaxList

Attributes

taxes
array [Tax]
links
array [Link]

ThreeDSecureData

Attributes

cryptogram
string
eci
string

TokenResponse

Attributes

tokenType
string, enum['BEARER']
accessToken
string
refreshToken
string
expiresIn
integer
scope
string

Transaction

Attributes

statementDescriptorSuffix
string
partiallyApproved
boolean
captureBy
string
systemTraceAuditNumber
string
notes
string
stayType
string, enum['GENERAL_CONTAINER', 'REGULAR_STAY', 'QUICK_STAY', 'NON_LODGING_SALE', 'NON_LODGING_NRR']
amountsAdjusted
boolean
adjusted
boolean
adjustmentHistory
array [AdjustmentRecord]
intent
string
emailReceipt
boolean
receiptPhone
Phone
receiptEmailAddress
string
signatureCaptured
boolean
pinCaptured
boolean
reason
TransactionReason
shippingAddress
Address
poyntLoyalty
PoyntLoyalty
links
array [Link]
amounts
TransactionAmounts
saveCardOnFile
boolean
parentId
string
voided
boolean
authOnly
boolean
settled
boolean
processorResponse
ProcessorResponse
action
string, enum['AUTHORIZE', 'CAPTURE', 'VOID', 'OFFLINE_AUTHORIZE', 'REFUND', 'SALE', 'VERIFY']
approvalCode
string
context
ClientContext
processorOptions
object
signature
array [byte]
references
array [TransactionReference]
fundingSource
FundingSource
customerUserId
integer
createdAt
string
status
string, enum['CREATED', 'SAVED', 'AUTHORIZED', 'PARTIALLY_CAPTURED', 'CAPTURED', 'DECLINED', 'PARTIALLY_CAPTURED_AND_PARTIALLY_REFUNDED', 'PARTIALLY_REFUNDED', 'REFUNDED', 'VOIDED', 'STEP_UP']
updatedAt
string
signatureRequired
boolean
partialAuthEnabled
boolean
paymentTokenUsed
boolean
chargebackStatus
string, enum['CREATED', 'DISPUTED', 'MERCHANT_WON', 'MERCHANT_LOST']
transactionNumber
string
customerLanguage
string
processorTransactionId
string
settlementStatus
string
reversalVoid
boolean
actionVoid
boolean
mit
boolean
id
string

TransactionAmounts

Attributes

customerOptedNoTip
boolean
transactionAmount
integer
orderAmount
integer
cashbackAmount
integer
tipAmount
integer
transactionFees
array [FeeProgramFee]
currency
string

TransactionList

Attributes

links
array [Link]
transactions
array [Transaction]
count
integer

TransactionReason

Attributes

program
string, enum['NO_SHOW', 'PURCHASE', 'CARD_DEPOSIT', 'DELAYED_CHARGE', 'EXPRESS_SERVICE', 'ASSURED_RESERVATION']
programFor
array [string]

TransactionReceipt

Attributes

txnId
string
UUID version 1, 2, 3, or 4. All server generated values are version 4.
data
string

TransactionReference

Attributes

customType
string
id
string
type
string, enum['POYNT_ORDER', 'POYNT_STAY', 'CUSTOM', 'CHANNEL']

UUID

Attributes

leastSignificantBits
integer
mostSignificantBits
integer

UserIdentity

Attributes

imageBase64
string
externalId
string
updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
id
string
provider
string

UserCredential

Attributes

publicCredentialType
string, enum['USERNAME', 'EMAIL', 'JWT', 'PAYPAL', 'PIN_ONLY', 'GODADDY', 'GODADDY_USERNAME', 'WORLDPAY_IQ_USERID']
privateCredentialValue
string
privateCredentialSalt
string
publicCredentialValue
string
id
integer

Variant

Attributes

selectableVariations
array [SelectableVariation]
variations
array [ProductVariation]
updatedAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ
price
CurrencyAmount
sku
string
inventory
array [Inventory]
upc
string
createdAt
string
ISO 8601 format YYYY-MM-DDThh:mm:ssZ

Variation

Attributes

values
array [string]
id
string
attribute
string

VerificationData

Attributes

additionalIdType
string, enum['DRIVERS_LICENCE', 'EMAIL', 'PASSPORT', 'PHONE', 'NATIONAL_ID_CARD']
cvSkipReason
string, enum['NOT_PRESENT', 'NOT_AVAILABLE', 'BYPASSED', 'ILLEGIBLE']
cvData
string
pin
string
additionalIdRefNumber
string
threeDSecureData
ThreeDSecureData
keySerialNumber
string
cardHolderBillingAddress
Address

VoidRequest

Attributes

context
ClientContext
emvTags
object
Node.jsPythonCurl
View all fonts in this project