Genius

Stage Transaction

The CreateTransaction web service method allows you to submit non-sensitive payment information to the payment gateway and returns a unique key (TransportKey) in the response which will be used for all subsequent steps to identify the transaction.

For more information on transaction staging, take a look at our API documentation.

C#

Loading Sample...

PHP

Java

Javascript

VB

Python

Loading Sample...

Objective C

ASP.NET

Initiate Transaction

Use GET to send the TransportKey to the Customer Engagement Device. The device will prompt the customer to select the payment type and complete the transaction. The Point of Sale will keep the port open to the device and wait for the GET request to complete. The GET response will contain an XML, JSON or JSONP packet.

C#

Loading Sample...

PHP

Java

Javascript

VB

Python

Loading Sample...

Objective C

ASP.NET

Status Request

The Status request allows you to query the device for hardware and software information. It is also a valuable tool that can be leveraged to find the current screen the device is displaying.

There are two versions of the Status request available. Version 1 sends a request to the CED to check which screen the device is on. Version 2 is analogous with version 1 but also includes any AdditionalParameters fields.

For more information on using the Status call, take a look at our Best Practices Article on Genius Status Call Use.

C#

Loading Sample...

PHP

Java

Javascript

VB

Python

Loading Sample...

Objective C

ASP.NET

Cancel Request

The Cancel request allows you to cancel the current transaction or Genius Your Way function.

For more information on using the Cancel call, take a look our API Documentation.

The Sample provided expects the device to be in an active transaction state. While the sample will function without issue if the device is on the idle screen, it will not provide any visual feedback.

C#

Loading Sample...

PHP

Java

Javascript

VB

Python

Loading Sample...

Objective C

ASP.NET

Threaded Sample

The following sample demonstrates the need to use multi-threaded functionality within your POS application. When a transaction has been initiated to the Genius device, there may be times when it needs to be cancelled. Whether due to an error in the total amount or a consumer wishing to add or remove items, the cancel function can be used to cancel the transaction in progress.
Multi-threading can be achieved in many different ways depending on your code base. The following samples demonstrate the expectations when using threaded requests.

This sample uses a combination of Start Transaction, Initiate Transaction and Cancel. It will Stage a new TransportKey and initiate the transaction. After 5 seconds a Cancel request will be sent via a second thread. The application will then receive a response for both requests.

C#

Loading Sample...

PHP

Java

Javascript

VB

Python

Loading Sample...

Objective C

ASP.NET

InitiateKeyedEntry Request

InitiateKeyedEntry Sends a request to the CED to process manual entry of payment data, which may include PAN, Expiration Date, CVV, and/or Zip. This function can be used only when a transaction has been staged and the Genius device displays the selection screen, swipe screen, or gift card capture screen. Using this function without an existing transaction on the device will result in a failed response.

The following sample demonstrates the use of the threaded sample. We use a recommended flow for initiating keyed Entry by checking the Status of the device before submitting the Keyed Entry request to the device to ensure it is in a ready state.
This flow would be used in the event your UI does not allow additional buttons for the cashier to manual initiate the Keyed Entry mode.

C#

Loading Sample...

PHP

Java

Javascript

VB

Python

Loading Sample...

Objective C

ASP.NET

Put the Genius of Cayan to work for your business.
1-844-278-7115