{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["stepper","stepperItem","admonition","tabs","tab"]},"type":"markdown"},"seo":{"title":"Pre-authorisation","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"pre-authorisation","__idx":0},"children":["Pre-authorisation"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Pre-authorisation lets a merchant reserve funds on a customer's card upfront, without charging"," ","them yet. Once the final amount is known, the merchant charges up to that reserved limit."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Take a hotel booking as an example. At check-in, the front desk pre-authorises $2,500 against the"," ","guest's card as a limit for their stay. Nothing is charged yet; the amount is only held. Over the"," ","stay, the guest charges meals to the room at the restaurant and drinks from the minibar. At"," ","checkout, the hotel closes the pre-authorisation for the actual total, up to the $2,500 limit, and"," ","the guest is charged that final amount instead of the original $2,500."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"pre-auth-lifecycle","__idx":1},"children":["Pre-auth lifecycle"]},{"$$mdtype":"Tag","name":"Stepper","attributes":{"id":"pre-authorisation-lifecycle"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"Initiate a pre-authorisation"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The POS initiates a pre-authorisation request for a set limit. This is the maximum amount that"," ","can later be charged."]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Confirm on terminal"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The customer confirms the request on the terminal by tapping, swiping, or inserting their card."," ","The POS receives a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["completion reference"]},", which must be stored and used for every subsequent"," ","action on this pre-auth."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/pre-auth-present-card.3119ff1f46593d659f8465c87e96621f4874468afbf174dc6b4c9b8094ff02f0.68286485.png","alt":"Terminal prompting the customer to present their card for a $2,500.00 pre-authorisation"},"children":[]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/pre-auth-approved.f96f60b512262fca78cfa12f92ec2b608efc6978176adfbc839d9db031695f53.68286485.png","alt":"Terminal confirming the pre-authorisation is approved"},"children":[]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Increase the pre-authorisation"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The pre-auth can be increased to set a new limit."]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Close or void the pre-authorisation"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The pre-auth can be closed, which charges the customer up to the current limit, or voided, which"," ","releases the hold with no charge."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Pre-authorisations are automatically voided/reversed if not closed within ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["15 days"]},"."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Closing or voiding a pre-auth doesn't involve the terminal at all. It can be processed while the"," ","terminal is disconnected or powered off."]}]}]}]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"JS library","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before you begin, check the certification criteria:"," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/assets/certification_criteria_iclient_retail_hospitality.7bf0b2b5462961db882fcba1f1e9ddbec0d942cc7ee96278907994599bebf62a.d564e73d.pdf"},"children":["Certification Criteria Document"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"opening-a-pre-auth","__idx":2},"children":["Opening a pre-auth"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Function definition"},"children":["Function definition"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Purpose"},"children":["Purpose"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameters"},"children":["Parameters"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Boolean initiateOpenPreAuth(requestParams, transactionCallbacks)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Initiates a request to open a pre-auth on the terminal."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["requestParams"]}," (Object); ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionCallbacks"]}," (Object) — the set of callback functions to provide feedback and the transaction result, see Handling the response below"]}]}]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Required"},"children":["Required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The pre-auth limit (the amount to set as the initial maximum amount for the pre-auth), in cents."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["integratedReceipt"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Boolean"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Indicate whether receipts will be printed on the POS (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},") or on the terminal (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]},")."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mid"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Integer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Override the configured mid for multi-merchant terminals, or if your browser does not support local storage, or if you have developed headless pairing as a feature."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional — required for headless pairing, multi-merchant, or if your browser does not support local storage"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tid"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Integer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Override the configured tid for multi-merchant terminals or if your browser does not support local storage or if you have implemented headless pairing as a feature."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional — required for headless pairing, multi-merchant, or if your browser does not support local storage"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["integrationKey"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Supply the integration key if your browser does not support local storage or if you have developed headless pairing or multi-merchant as a feature."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional — required for headless pairing, multi-merchant, or if your browser does not support local storage"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Supply a transaction ID to be used for the transaction."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"making-the-request","__idx":3},"children":["Making the request"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The steps to be followed to initiate a pre-auth are given as follows:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The POS sets the parameters that comprise the requestParams object as per the requirements of"," ","the specific transaction request. These parameters include:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]}," — the amount is mandatory and the POS must declare it; make sure that the amount is"," ","in cents and that the data type is String."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["integratedReceipt"]}," boolean (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]},") to indicate whether the POS or the Tyro"," ","terminal is responsible for printing the receipts returned during the course of the"," ","transactions. The receipt data will not be returned to the POS if this is set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The POS is required to use the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mid"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["integrationKey"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tid"]}," parameters if"," ","multi-merchant or headless pairing is used, or if your browser does not support local"," ","storage."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The POS calls ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["initiateOpenPreAuth(requestParams, transactionCallbacks)"]}," with the requestParams"," ","included."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The POS must also reference the callback functions in the function invocation — the callback"," ","functions are responsible for handling the response."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"example","__idx":4},"children":["Example"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Given below is an example request for a $100.00 integrated open pre-auth request where the POS is"," ","printing the integrated receipts, i.e. the receipts are being printed through the POS."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"function doPreAuth(amount) {\n    iclient.initiateOpenPreAuth({\n        amount: amount,\n        integratedReceipt: true\n    }, {\n        receiptCallback: receiptCallbackImpl,\n        transactionCompleteCallback: transactionCompleteCallbackImpl\n    });\n}\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"handling-the-response","__idx":5},"children":["Handling the response"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The response to the open pre-authorisation request is returned to the POS by iClient using"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionCompleteCallback"]}," at the completion of the open pre-auth request. If the request is"," ","successful, the POS will be provided the result and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["preAuthCompletionReference"]}," field, along"," ","with other relevant fields. The POS must display the result for the user's reference and store the"," ","pre-auth completion reference in the sale invoice to allow the pre-auth to be closed off or voided."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Function"},"children":["Function"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Required"},"children":["Required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionCompleteCallback"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Invoked when the transaction has been completed on the terminal. Called with a subset of the following parameters as part of the transactionData object, as shown in the below table."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]}]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Usage required"},"children":["Usage required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["One of the following values: APPROVED, CANCELLED, REVERSED, DECLINED, SYSTEM ERROR, NOT STARTED, UNKNOWN. The merchant will only receive money if this value is APPROVED. UNKNOWN means the merchant should look at the terminal to determine what happened. Typically this would indicate a network error."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cardType"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The scheme displayed on the card (Visa, Mastercard, etc)."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionReference"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Also known as a STAN, this is Tyro's reference to this transaction. Quote this to Tyro Customer Support if you run into any issues with a transaction."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["authorisationCode"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The Scheme's reference to the transaction. Quote this number to Visa/Mastercard/etc if the issue is on their end."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["issuerActionCode"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The raw result code returned by the card issuer."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["elidedPan"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The (elided) card number used for this transaction."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rrn"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The Retrieval Reference Number is a unique number generated by the Payment Service for a specific merchant. Guaranteed to be unique for a 7-day period."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["preAuthCompletionReference"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tyro's reference to a PreAuth Completion."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customerReceipt"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Text representation of the Tyro receipt intended for the customer. Only included if integrated receipt printing is enabled. Formatted to be printed in a monospaced font."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional — usage required if Integrated receipt printing has been developed as a feature"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":5,"id":"response-example","__idx":6},"children":["Response example"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"result\": \"APPROVED\",\n  \"transactionId\": \"e378fb4c327daa4474d86aea89c9aabfe7c2\",\n  \"cardType\": \"Visa\",\n  \"transactionReference\": \"298143\",\n  \"authorisationCode\": \"695585\",\n  \"issuerActionCode\": \"00\",\n  \"elidedPan\": \"XXXXXXXXXXXXXX8641\",\n  \"rrn\": \"2981431109\",\n  \"preAuthCompletionReference\": \"431721\",\n  \"baseAmount\": \"102.00\",\n  \"transactionAmount\": \"102.00\",\n  \"customerReceipt\": \" CUSTOMER COPY \\n\\n Merchant 8811 \\n Address line 1 \\n Address line 2 \\n\\n Tyro EFTPOS \\n\\nVisa\\nCard: XXXXXXXXXXXXXX8641(s)\\n\\nPreAuth AUD $102.00\\n\\nAPPROVED 00\\n\\nA hold has been placed on\\nyour account in the amount\\nof $102.00. When the tab is\\nclosed, up to $102.00 will\\nbe debited from your\\naccount.\\n\\nCompletion Ref: 431721\\n\\nTerminal ID: 123\\nTransaction Ref: 298143\\nAuthorisation No: 695585\\n09 Nov 2021 at 08:59 PM\\n\"\n}\n\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"incrementing-a-pre-auth","__idx":7},"children":["Incrementing a pre-auth"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Function definition"},"children":["Function definition"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Purpose"},"children":["Purpose"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameters"},"children":["Parameters"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Boolean initiateIncrementPreAuth(requestParams, transactionCallbacks)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Initiates a request to increment an already open pre-auth on the terminal."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["requestParams"]}," (Object); ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseReceivedCallback"]}," (Object) — invoked to indicate success or failure"]}]}]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Required"},"children":["Required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["completionReference"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["preAuthCompletionReference from the original open pre-auth response."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The amount is mandatory and the POS must declare it; make sure that the amount is in cents."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mid"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Integer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Override the configured mid for multi-merchant terminals, or if your browser does not support local storage, or if you have developed headless pairing as a feature."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional — required for headless pairing, multi-merchant, or if your browser does not support local storage"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tid"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Integer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Override the configured tid for multi-merchant terminals or if your browser does not support local storage or if you have implemented headless pairing as a feature."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional — required for headless pairing, multi-merchant, or if your browser does not support local storage"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["integrationKey"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Supply the integration key if your browser does not support local storage or if you have developed headless pairing or multi-merchant as a feature."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional — required for headless pairing, multi-merchant, or if your browser does not support local storage"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Supply a transaction ID to be used for the transaction."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"making-the-request-1","__idx":8},"children":["Making the request"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The steps to be followed to initiate an increment pre-auth are given as follows:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The POS sets the parameters that comprise the requestParams object as per the requirements of"," ","the specific transaction request. These parameters include:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["completionReference"]}," — the transaction identifier from the original open pre-auth response;"," ","make sure the data type is String."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]}," — the amount is mandatory and the POS must declare it; make sure that the amount is"," ","in cents and that the data type is String."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The POS is required to use the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mid"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["integrationKey"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tid"]}," parameters if"," ","multi-merchant or headless pairing is used, or if your browser does not support local"," ","storage."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The POS calls ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["initiateIncrementPreAuth(requestParams, transactionCallbacks)"]}," with the"," ","requestParams included."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The POS must also reference the callback functions in the function invocation — the callback"," ","functions are responsible for handling the response."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"example-1","__idx":9},"children":["Example"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Given below is an example request for a $100.00 integrated increment pre-authorisation request."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"var amt = '10000';\nvar ref = 12001\n\nfunction doIncrementPreAuth(ref, amt){\nrequestParams ={amount: amt, completionReference: ref}\n iclient.initiateIncrementPreAuth(requestParams, responseReceivedCallbackImpl);\n}\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"handling-the-response-1","__idx":10},"children":["Handling the response"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The response to the increment pre-auth request is returned to the POS by iClient using"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseReceivedCallback"]}," at the completion of the increment pre-auth request. If the request is"," ","successful, the POS will be provided the result, the incremented amount, and the last 4 digits of"," ","the card PAN in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["incrementalAmount"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["panLastFourDigits"]}," fields — the POS must"," ","use them to display the result and the message for the user's reference, and adjust the open"," ","pre-auth amount with the increment."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Function"},"children":["Function"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Usage required"},"children":["Usage required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseReceivedCallback"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Invoked when the request has been completed on the terminal. Called with a single object containing the following fields, as shown in the below table."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]}]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Usage required"},"children":["Usage required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The result of the request, will be either ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["success"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["failure"]},"."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["incrementalAmount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The value of the amount that the open pre-auth amount has been incremented by, in cents."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["panLastFourDigits"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The last 4 digits of the card PAN."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":5,"id":"response-example-1","__idx":11},"children":["Response example"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"result\": \"APPROVED\",\n  \"incrementalAmount\": \"5000\",\n  \"panLastFourDigits\": \"1234\"\n}\n\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"closing-a-pre-auth","__idx":12},"children":["Closing a pre-auth"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Function definition"},"children":["Function definition"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Purpose"},"children":["Purpose"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameters"},"children":["Parameters"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Boolean completePreAuth(requestParams, responseReceivedCallback)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Close a previously opened pre-auth with a final amount. The customer will be charged."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["completionReference"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]}," (both required)"]}]}]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Required"},"children":["Required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["completionReference"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Transaction identifier from the original open pre-auth request."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The amount that the pre-auth is being closed for. Maximum value can be the pre-auth maximum amount after any successful increments (maximum amount to charge the customer), in cents."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"making-the-request-2","__idx":13},"children":["Making the request"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The steps to be followed to initiate a complete pre-auth request are given as follows:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The POS specifies the amount and the completion reference for the pre-auth in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]}," and"," ","the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["completionReference"]}," parameters in the requestParams object of the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["completePreAuth"]}," ","function."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The POS is required to program the function required to handle the response payload delivered"," ","by ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseReceivedCallback"]}," and reference them in the function invocation correctly."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"example-2","__idx":14},"children":["Example"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Given below is an example request for a $100.00 integrated ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["completePreAuth"]}," request."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"var amount = '10000';\nvar completionReference = '12001';\n\nfunction doClosePreAuth(amount,completionReference)\n {\n    iclient.completePreAuth({amount: amt, completionReference: ref}, responseReceivedCallbackImpl);\n}\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"handling-the-response-2","__idx":15},"children":["Handling the response"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The response to the complete pre-auth request is returned to the POS by iClient using"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseReceivedCallback"]}," at the completion of the complete pre-auth request. If the request is"," ","successful, the POS will be provided the result and an additional message in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result"]}," and the"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["message"]}," fields — the POS must use them to display the result and the message for the user's"," ","reference, and mark the pre-auth request as closed off."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Function"},"children":["Function"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Usage required"},"children":["Usage required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseReceivedCallback"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Invoked when the request has been completed on the terminal. Called with a single object containing the following fields, as shown in the below table."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]}]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Usage required"},"children":["Usage required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The result of the request, will be either ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["success"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["failure"]},"."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["message"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A message to display to the merchant."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":5,"id":"response-example-2","__idx":16},"children":["Response example"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"result\": \"success\",\n  \"message\": \"Complete preAuth request accepted\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"voiding-a-pre-auth","__idx":17},"children":["Voiding a pre-auth"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Function definition"},"children":["Function definition"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Purpose"},"children":["Purpose"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameters"},"children":["Parameters"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Boolean voidPreAuth(requestParams, responseReceivedCallback)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Void a previously opened pre-auth. This discards the hold on funds in the customer's account."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["completionReference"]}," (required)"]}]}]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Required"},"children":["Required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["completionReference"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Transaction identifier from the original open pre-auth request."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"making-the-request-3","__idx":18},"children":["Making the request"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The steps to be followed to initiate a void pre-auth request are given as follows:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The POS specifies the completion reference for the void request in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["completionReference"]}," ","parameter in the requestParams object of the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["voidPreAuth"]}," function."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The POS is required to program the function required to handle the response payload delivered"," ","by ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseReceivedCallback"]}," and reference them in the function invocation correctly."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"example-3","__idx":19},"children":["Example"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Given below is an example request for a $100.00 integrated ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["voidPreAuth"]}," request."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"var completionReference = '12001';\n\nfunction doVoidPreAuth(completionReference) {\nrequestParams = {completionReference:ref};\n    iclient.voidPreAuth(requestParams, responseReceivedCallbackImpl);\n}\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"handling-the-response-3","__idx":20},"children":["Handling the response"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The response to the void pre-auth request is returned to the POS by iClient using"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseReceivedCallback"]}," at the completion of the void pre-auth request. If the request is"," ","successful, the POS will be provided the result and an additional message in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result"]}," and the"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["message"]}," fields — the POS must use them to display the result and the message for the user's"," ","reference, and mark the pre-auth request as voided. If the request is unsuccessful, the POS must"," ","likewise use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["message"]}," to display the result and the error message for the user's"," ","reference."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Function"},"children":["Function"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Usage required"},"children":["Usage required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseReceivedCallback"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Invoked when the request has been completed on the terminal. Called with a single object containing the following fields, as shown in the below table."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]}]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Usage required"},"children":["Usage required"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The result of the request, will be either ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["success"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["failure"]},"."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["message"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A message to display to the merchant."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":5,"id":"response-example-3","__idx":21},"children":["Response example"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"result\":\"success\",\n  \"message\":\"Void preAuth request accepted\"\n  }\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"demo","__idx":22},"children":["Demo"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://jsfiddle.net/IntegrationSupport/6tfjr1am/6/"},"children":["JS Fiddle demo"]}," — open a pre-auth with a"," ","specified limit, then close it off with an amount you specify, or void it."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Don't click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save"]}," if you make changes in the JS Fiddle — click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Run"]}," instead. Clicking Save"," ","may break the fiddle's functionality."]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":".NET library","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["TTA v2 supports both event-based and task-based (async) methods, and both headful and headless"," ","terminal adapters."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"opening-a-pre-auth-1","__idx":23},"children":["Opening a pre-auth"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Opening a pre-auth reserves a specified amount on the customer's card. The customer must confirm"," ","the transaction on the Tyro terminal."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ITerminalAdapter"]}," (headful):"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"csharp","header":{"controls":{"copy":{}}},"source":"bool OpenPreAuth(\n  long preAuthLimit,\n  string? merchantID = null,\n  string? terminalID = null,\n  string? transactionId = null\n)\n","lang":"csharp"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"csharp","header":{"controls":{"copy":{}}},"source":"Task<ITransactionResult?> OpenPreAuthAsync(\n  long preAuthLimit,\n  string? merchantID = null,\n  string? terminalID = null,\n  string? transactionId = null,\n  Action<IReceipt>? receiptReturned = null\n)\n","lang":"csharp"},"children":[]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["preAuthLimit"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Maximum amount (in cents) that can be charged"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["merchantID"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Override merchant ID (multi-merchant terminals only)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["terminalID"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Override terminal ID (multi-terminal setups)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional custom transaction ID"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}," if another transaction is already in progress. Returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," if the pre-auth was"," ","successfully initiated."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ITerminalAdapterHeadless"]}]}," — the headless adapter enables pre-authorisation without displaying"," ","an in-progress transaction UI on the terminal."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"csharp","header":{"controls":{"copy":{}}},"source":"bool OpenPreAuth(\n  long preAuthLimit,\n  string? merchantID = null,\n  string? terminalID = null,\n  string? transactionId = null\n)\n","lang":"csharp"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The task-based method adds extra callbacks for driving your own UI:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"csharp","header":{"controls":{"copy":{}}},"source":"Task<ITransactionResult?> OpenPreAuthAsync(\n  long preAuthLimit,\n  string? merchantID = null,\n  string? terminalID = null,\n  string? transactionId = null,\n  Action<IReceipt>? receiptReturned = null,\n  Action<string>? messageReceived = null,\n  Action<IQuestion>? questionAsked = null\n)\n","lang":"csharp"},"children":[]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["receiptReturned"]}," — receives transaction receipts."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["messageReceived"]}," — displays terminal messages."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["questionAsked"]}," — handles terminal prompts/questions."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"managing-an-open-pre-auth","__idx":24},"children":["Managing an open pre-auth"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once opened, TTA returns a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Pre-Auth Completion Reference"]},". This reference must be stored by the"," ","POS and used for all future actions on the pre-auth."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Increasing a pre-authorisation"]}," (up to the original limit):"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"csharp","header":{"controls":{"copy":{}}},"source":"IPreAuthCompletionResult IncreasePreAuth(\n  string completionReference,\n  int amount,\n  string? merchantID = null,\n  string? terminalID = null,\n  string? transactionId = null\n)\n","lang":"csharp"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"csharp","header":{"controls":{"copy":{}}},"source":"Task<IPreAuthCompletionResult> IncreasePreAuthAsync(\n  string completionReference,\n  int amount,\n  string? merchantID = null,\n  string? terminalID = null,\n  string? transactionId = null\n)\n","lang":"csharp"},"children":[]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["completionReference"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Identifier from the original pre-auth"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Incremental amount (in cents)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["merchantID"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional override"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["terminalID"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional override"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional override"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"closing-and-voiding","__idx":25},"children":["Closing and voiding"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Closing a pre-authorisation"]}," finalises the transaction and charges the customer the specified"," ","amount:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"csharp","header":{"controls":{"copy":{}}},"source":"IPreAuthCompletionResult ClosePreAuth(\n  string completionReference,\n  int amount,\n  string? merchantID = null,\n  string? terminalID = null\n)\n","lang":"csharp"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"csharp","header":{"controls":{"copy":{}}},"source":"Task<IPreAuthCompletionResult> ClosePreAuthAsync(\n  string completionReference,\n  int amount,\n  string? merchantID = null,\n  string? terminalID = null\n)\n","lang":"csharp"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Voiding a pre-authorisation"]}," releases the hold on the customer's funds without charging them:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"csharp","header":{"controls":{"copy":{}}},"source":"IPreAuthCompletionResult VoidPreAuth(\n  string completionReference,\n  string? merchantID = null,\n  string? terminalID = null\n)\n","lang":"csharp"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"csharp","header":{"controls":{"copy":{}}},"source":"Task<IPreAuthCompletionResult> VoidPreAuthAsync(\n  string completionReference,\n  string? merchantID = null,\n  string? terminalID = null\n)\n","lang":"csharp"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Closing or voiding a pre-authorisation does not require the terminal to be connected."]}]}]}]}]},"headings":[{"value":"Pre-authorisation","id":"pre-authorisation","depth":1},{"value":"Pre-auth lifecycle","id":"pre-auth-lifecycle","depth":2},{"value":"Opening a pre-auth","id":"opening-a-pre-auth","depth":3},{"value":"Making the request","id":"making-the-request","depth":4},{"value":"Example","id":"example","depth":4},{"value":"Handling the response","id":"handling-the-response","depth":4},{"value":"Response example","id":"response-example","depth":5},{"value":"Incrementing a pre-auth","id":"incrementing-a-pre-auth","depth":3},{"value":"Making the request","id":"making-the-request-1","depth":4},{"value":"Example","id":"example-1","depth":4},{"value":"Handling the response","id":"handling-the-response-1","depth":4},{"value":"Response example","id":"response-example-1","depth":5},{"value":"Closing a pre-auth","id":"closing-a-pre-auth","depth":3},{"value":"Making the request","id":"making-the-request-2","depth":4},{"value":"Example","id":"example-2","depth":4},{"value":"Handling the response","id":"handling-the-response-2","depth":4},{"value":"Response example","id":"response-example-2","depth":5},{"value":"Voiding a pre-auth","id":"voiding-a-pre-auth","depth":3},{"value":"Making the request","id":"making-the-request-3","depth":4},{"value":"Example","id":"example-3","depth":4},{"value":"Handling the response","id":"handling-the-response-3","depth":4},{"value":"Response example","id":"response-example-3","depth":5},{"value":"Demo","id":"demo","depth":3},{"value":"Opening a pre-auth","id":"opening-a-pre-auth-1","depth":3},{"value":"Managing an open pre-auth","id":"managing-an-open-pre-auth","depth":3},{"value":"Closing and voiding","id":"closing-and-voiding","depth":3}],"frontmatter":{"title":"Pre-authorisation","seo":{"title":"Pre-authorisation"}},"lastModified":"2026-10-06T01:06:05.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/in-person-payments/pay-in-person/features/pre-authorisation","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}