Version of specification 0.3

in Google File

Introduction

Transaction request it is a function of Dejavoo terminals which allow to initialise a payment transaction from external POS system by some parameters.

The feature of a transaction request is necessary to use, when Software at POS manages information about transaction parameters, but need to call this transaction from a terminal side. E.g. closing a bill in restaurant when a software has information about a bill and need to choose a table and call a sale transaction on terminal:

  1. A waiter uses “transaction request” feature on terminal to close a bill for a particular table.
  2. A terminal sends a message with a number of table to SPIn Proxy
  3. SPIn Proxy has a connection to terminal and to software at restaurant and a route for sending message between them.
  4. A restaurant software sends a transaction to SPIn Proxy for a terminal.
  5. SPIn Proxy forwards a transaction request to terminal.
  6. Terminal starts transaction and requests a credit card. After a transaction was submitted to host, a terminal sends a result of transaction via Proxy into a restaurant system.

A connection between a terminal and the SPIn Proxy server is implemented and supported automatically.
To use a "Transaction request" need to implement a connection between SPIn Proxy and Software at POS.

Web API

Step 3 on a diagram

When user call a transaction request on terminal and fill any Prompt about transition details proxy sends request in JSon format to External System

Example of request which SPIn Proxy send to the service:

{
	"tpn":"Z6testtpn01",
	"Clerk_id":1,
	"Table_num":2,
	"Ticket_num":3,
	"Guest_num":0,
	"Key":"",
	"RegisterId":"790160132",
	"AuthKey":"dOQnlHfc11",
	"TrId":"06be146b-45a1-497a-b43e-aa3255a77dec"
}


Where

Value

Type

Comments

tpn

string

TPN

Clerk_id

int

Value of prompt “Clerk”  

Table_num

int

Value of prompt “Table”  

Ticket_num

int

Value of prompt “Ticket”  

Guest_num

int

Value of prompt “Guest”  

Key

string

Not mandatory(unused) field

RegisterId

string

CashRegister ID on Proxy

AuthKey

string

Proxy AuthKey

TrId

string

Contents unique ID of request

Example of Transaction Request Web API client (.NET)

https://bitbucket.org/ipossystems/spin-transaction-request-listener-test-example

The example service listens to requests from a SPIn Proxy and saves them to a log.

This service has to be available for external requests from the Internet.

Terminal Settings on DeNovo web-site for a Transaction request

  1. Open terminal details page
  2. Select info icon for “SPIn Proxy Paired Connections”
  3. In transaction request settings add URL of your API for transaction request and select prompts which necessary to use on a terminal.

  4. Do not forget to update a terminal

Settings on Steam for a Transaction request

To make SPIn Proxy server work to use transaction request feature need to set next parameters:

  • Application: DvAm  Section: CoreWs Parameters:

CGI_Host_System_IP 					spinpos.net
CGI_Host_System_Port 				80
CGI_Host_System_URL 				spin/integration.asmx
CGI_Host_System_Security 			Off (by default)
CGI_Host_System_SslServerProfile 	ca-bundle.crt (by default)
CGI_Host_System_Ssl_Verify_Peer 	On (by default)
CGI_Host_System_Heartbeat_Timeout 	120 (by default)
CGI_Transaction_Request_Enabled 	On
CGI_Transaction_Request_Enabled 	On / Off
Prompt_Clerk 						Off / On / Required
Prompt_Table 						Off / On / Required
Prompt_Ticket 						Off / On / Required
Prompt_Guest 						Off / On / Required


  • Application: DvTableApp Section: Common Parameters:

     


These parameters might be set in two ways:

  1. via STEAM configuration system - need to have a roles of Manager/Technical Service or request a help of support team
  2. via DeNovo wizard see - Terminal Settings on DeNovo web-site for a Transaction request

Register Settings for a Transaction request

To allow to initialise a payment transaction from external POS system it is necessary to make option "Available in Table app = enabled" in order types, which will be used.