Transaction EMV

The EMV Cloud API provides a semi-integrated payment solution that enables developers to easily integrate EMV payment processing into their Point of Sale (POS) systems. This API handles the complex EMV terminal communication while providing a simple JSON-based interface for payment authorizations.

Base URLs

Environment
URL

Sandbox

https://gateway-sb.clearent.net/rest/

Production

https://gateway.clearent.net/rest/

Headers

Content-Type: application/json
Accept: application/json
AccessKey: Secret access key issued by Xplor Pay

Available Endpoints:

  • Generic Transaction: POST /rest/v2/terminal/transactions

  • Auth Only: POST /rest/v2/terminal/transactions/auth

  • Sale: POST /rest/v2/terminal/transactions/sale

  • Forced Sale: POST /rest/v2/terminal/transactions/forced-sale

  • Refund: POST /rest/v2/terminal/transactions/refund

  • Token Only: POST /rest/v2/terminal/transactions/token-only

Usage Flow

  1. Transaction Initiation: Your POS system initiates a transaction through the API

  2. Terminal Communication: The EMV Cloud contacts and wakes up the payment terminal

  3. Card Data Collection: The terminal prompts for and securely collects card data

  4. Processing: The transaction is processed and results are returned

The following diagram illustrates recommended best practices for transaction resiliency:

Additional Information

The system is designed to protect the transaction at all costs, prioritizing both speed and success. If you request a token or expect a token in the transaction response, that data might be omitted. The only response fields guaranteed in the wrapper object are:

  • payloadType

  • status

  • result-code

If the payloadType is transaction, the only guaranteed response fields are:

  • ID

  • result-code

  • authorization-code

  • display-message

Any of the other fields we will attempt to return to you (for example, cardType and expDate) may not always be available. Common causes include:

  • You used a token as a card, and the card type lookup took too long

  • An encrypted reader was used, and the expiration date wasn't readily available

All of these fields become eventually consistent and available within a few seconds when you perform a GET operation on the transaction.

Last updated

Was this helpful?