Payabli offers integrated P2PE (point-to-point encryption) cloud devices, also known as credit card terminals, that you can use to make sales via the Payabli API.

With P2PE, the device can be anywhere in the world. Data is encrypted in the device before being sent to the cloud, where it’s decrypted, processed, and returns an authorization or approval to the device.

Because the hardware devices are integrated, your employees can make card-present sales quickly and safely without manually entering cardholder data into the device and risking errors. Customers can interact with the PIN pad as needed, and can swipe, dip, or tap their cards, depending on the device.

Payabli has made setting up devices frictionless. First, order a device from Payabli, then register each new device with a single API call.

Contact your Payabli Customer Success Manager to order credit card terminals.

This guide gives a high-level overview of device setup and making sales using a payment cloud device (also known as credit card terminals).

Step 1: Register a device

Each hardware device has its own detailed setup instructions, so when in doubt, consult the documentation that came with the device.

If the API response is successful, you get a device identifier in the ResponseData field. Use this device identifier to make payments or store payment methods using the device.

Step 2: Make a transaction

Submit a payment request and include the device identifier in the field device inside the object paymentMethod and ensuring that the method field contains the value cloud.

For example, this transaction is using the device with the ID 6c361c7d-674c-44cc-b790-382b75d1xxx.

{
  "paymentMethod": {
    "method": "cloud",
    "device": "6c361c7d-674c-44cc-b790-382b75d1xxx"
  },
  "paymentDetails": {
    "totalAmount": 100
  },
  "customerData": {
    "customerId": 224,
  },
  "entryPoint": "my-entry-point"
}
Ingenico devices only: You can pull signature data from a transaction made with a cloud device. Wait 10 seconds then send a request with the transaction ID to the MoneyIn/details endpoint. The signature data is returned in the response.

PAX A920 asynchronous flow

The PAX A920 device uses an asynchronous flow to process transactions. The transaction is initiated by the device, and the final status is sent to you in a webhook event.

1

Initiate transaction

The device sends a request to the Payabli API to process the transaction.

2

Initial response

The API responds with the current status of the transaction. The transaction isn’t complete yet.

3

Webhook response

When the transaction is complete, the API sends a webhook event to notify you of the final status of the transaction.

You must enable webhook notifications to receive them. They are not sent by default. See Set up and receive events using Web for more information.

The response for an initiated transaction looks like this:

Initiated transaction response
{
  "responseText": "Success",
  "isSuccess": true,
  "pageIdentifier": null,
  "responseData": {
    "authCode": null,
    "referenceId": "237-e2928ea2f73d473f95f4094d56870ffc",
    "resultCode": 1,
    "resultText": "Initiated",
    "avsResponseText": null,
    "cvvResponseText": null,
    "customerId": 319082,
    "methodReferenceId": null
  }
}

The resultText has a value of "Initiated", which means the transaction is in progress.

To get the final status of the transaction, you need to listen for either the ApprovedPayment webhook event or the DeclinedPayment webhook event. The webhook payloads for a completed transaction look like this:

{
  "Event": "ApprovedPayment",
  "Paypoint": "Athlete Factory LLC\r\n",
  "Text": "Payment Approved!",
  "transId": "10-33eb676a-da48-401f-9494-e69a324b152d",
  "NetAmount": "100.00",
  "Fee": "0.00",
  "TotalAmount": "100.00",
  "transTime": "04/04/2022 13:56:17",
  "CustomerId": "224",
  "CustomerNumber": "888"
}

See Notifications and Reports Overview for more information on how to set up webhooks.