Skip to main content

Start Transaction

Start Transaction is used to register a transaction with axept Connect Cloud. The same operation is used irrespective of whether the intended flow is Direct to Terminal or Terminal lookup.

POST /transaction

An HTTP POST should be sent to the above URLs with the below Header:

POST /transaction - Header Parameters
Field NameStateData TypeDescription
AuthorizationMandatoryStringThis field should be populated with the bearer token returned in the Authentication step.

The format is ["Bearer "][Bearer Token] e.g.

Bearer eyJhbGciOiJIUzI1NiIsIn... (truncated)

Note the space between "Bearer" and the token.

POST /transaction Parameters

The HTTP POST should contain the following fields:

POST /transaction Body
Field NameStateData TypeDescription
utiMandatoryGUIDUnique transaction Id, provided by your EPOS solution. This allows you to identify transactions uniquely in axept® Cloud Connect without receiving any response.

Format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 128-bit Integer
webHookUrlOptionalStringThe fully qualified secure URL that you wish to receive webhook notifications to.

The presence of this field denotes whether or not the Webhook will be invoked.

Format: Begins with https:// & Max 250 chars.
tidConditionalStringDirect to Terminal Flow ONLY

The Serial Number for the terminal you wish to send the transaction to. Omitting this field indicates you will be using the Terminal Lookup flow.
expirationDateOptionalStringUTC Date when the transaction will expire in ISO 8601-1:2019 format. Value must be in the future and no more than 365 days from the current date and time.
referenceOptionalStringReference assigned by the POS to the transaction. This field will be displayed in transaction reporting and is useful for reconciliation. It must not include any personally identifiable information e.g. vehicle registration, cardholder name etc.

This field is restricted to alphanumeric characters only, max 50 chars.
merchantStoreIdConditionalIntegerTerminal Look-up Flow ONLY

DNA Payments issued identifier for the merchant’s store. Setting this means that only devices licensed to that store will be able to process the transaction.
clientStoreIdConditionalIntegerClient issued identifier for the merchant’s store. Setting this means that only devices licensed to that store will be able to process the transaction.

If using clientStoreId then these must have been supplied to DNA Payments in advance.
Either Merchant Store ID OR Client Store ID can be used, but not both.
transTypeMandatoryString
SALEFunds will be deducted from the Cardholder's Account.
REFUNDFunds will be credited to the Cardholder's Account.
amountTransMandatoryIntegerAmount of the transaction in minor units. Value must be greater than 0.
amountGratuityOptionalIntegerAmount of Gratuity in minor units. Used only where the POS has already determined the Gratuity amount. SALE only.
amountCashbackOptionalIntegerAmount of Cashback in minor units. Used only where the POS has already determined the Cashback amount. SALE only.
languageOptionalStringThe IETF language to be used. Default is English.
disablePrintingOptionalBooleanDefault = false. Setting this to true will prevent the terminal from printing any receipts.
posSignatureCheckOptionalBooleanDefault = false. Setting this to true will enable the posActionStatus to update, if required, based on whether a CVM Signature Check is required.
See posActionStatus entry in the GET/transaction section for more information on this.
GratuityPromptOptionalIntegerDefault = 0. If included in the transaction request body you can prompt axept® PRO on how you want it to handle gratuity for the transaction. The options are:
0Default behaviour (i.e. failsafe for older integrations).
1EPOS drives the transaction's gratuity (use alongside amountGratuity in the request body).
2axept® PRO drives the gratuity amount and will prompt on screen for the customer. (if amountGratuity is present in the request body it will be ignored).
3Gratuity will not be supported from either the EPOS or axept® PRO, meaning if amountGratuity is present in the request body it will be ignored and axept® PRO will not prompt for gratuity.

Transaction Response

A successful response will be 200 - OK with the below body:

POST /transaction Response
Field NameData TypeDescription
utiGUIDThe Unique transaction Id, provided by your EPOS solution.
note

No further transaction information will be returned by axept® Cloud Connect. You can discern the status of this transaction either via a GET transaction request on the next page, or via a response from the Webhook.

Best Practice

There is nothing to stop you from queueing up transactions in the order the request was sent, one after the other, due to the design of the Terminal Look-up flow. However, when dealing with the Direct to Terminal flow, this could very quickly become confusing and cause an issue. If you are using the Direct to Terminal flow then the best thing to do would be to not allow the EPOS to send any further transactions until you have a definitive outcome on the first transaction:

  1. If there is a delay in axept® PRO receiving a transaction, utilise the `POST`/Cancel and `DELETE`/Transaction requests to stop the initial transaction before sending another request.
  2. Make sure you are polling and checking both the `status` for a `"Complete"` value and/or the `transactionExpired` field for a value of `true` or `false` before making a decision about proceeding with another transaction.