REST Endpoints
REST Endpoints
• Only one REST endpoint exists on the Indigo server and it will be at http://ipaddress/rest/transaction/transact or https://ipaddress/rest/transaction/transact where ipaddress is the local or external ip address or dns of the Indigo server as appropriate. Note that only TLS1.2 or above should be used.
• Only POST method is supported, and the data submitted must be in JSON format.
• The response from the Indigo server will also be in JSON format
• In the request header set request.Accept = "application/json";
• in the request header set request.ContentType = "application/json";
The design of this interface is to use synchronous REST calls to perform either an “Authorisation”, “Debit” or “Credit” which leads to a potential problem in the event that a card is not presented and something else, e.g. cash, is tendered instead. There are three mechanisms than an integrator may use to avoid or address this:
• Avoid the problem altogether by only activating the POS device if the customer intends to pay with a card.
• Set the timeout on the REST call to the Indigo server to a value that gives the cardholder enough time to insert/tap their card and for the actual transaction to happen. Typically, a value of more than 60 seconds on the REST timeout is recommended. If a customer does not present a card this will eventually timeout and return control to the Integrator.
• Set the timeout on the REST call to the Indigo server to a value that gives the cardholder enough time to insert/tap their card and for the actual transaction to happen. Typically, a value of more than 60 seconds on the REST timeout is recommended. If a customer does not present a card the Integrator can regain control by executing a “Cancel” command which will cause the POS device specified to return immediately instead of waiting for the timeout to expire, assuming that there are no “Authorisation”, “Debit” or “Credit” commands in pro