{"_id":"5632a5ef49e16d0d001224ee","user":"55b932ba8fd1a02b00f496c8","category":{"_id":"5632a5e749e16d0d0012244b","__v":1,"version":"5632a5e549e16d0d00122443","pages":["5632a5ef49e16d0d001224e8","5632a5ef49e16d0d001224e9","5632a5ef49e16d0d001224ea","5632a5ef49e16d0d001224eb","5632a5ef49e16d0d001224ec","5632a5ef49e16d0d001224ed","5632a5ef49e16d0d001224ee","5632a5ef49e16d0d001224ef","5632a5ef49e16d0d001224f0","5632a5ef49e16d0d001224f1","5632a5ef49e16d0d001224f2","5632a5ef49e16d0d001224f3","5632a5ef49e16d0d001224f4"],"project":"55b933b3146ef121002158d3","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-08-04T17:33:35.913Z","from_sync":false,"order":10,"slug":"point-of-sale-server","title":"Point of Sale Server"},"version":{"_id":"5632a5e549e16d0d00122443","__v":6,"project":"55b933b3146ef121002158d3","createdAt":"2015-10-29T23:04:05.701Z","releaseDate":"2015-10-29T23:04:05.701Z","categories":["5632a5e749e16d0d00122444","5632a5e749e16d0d00122445","5632a5e749e16d0d00122446","5632a5e749e16d0d00122447","5632a5e749e16d0d00122448","5632a5e749e16d0d00122449","5632a5e749e16d0d0012244a","5632a5e749e16d0d0012244b","5632a5e749e16d0d0012244c","5632a5e749e16d0d0012244d","5632a5e749e16d0d0012244e","5632a5e749e16d0d0012244f","5632a5e749e16d0d00122450","5632b179df556c0d00cd095b","564e13053b2b4a19000cd69b","59caa9df65accc001a489c95","59cab50965accc001a489d28","59cadd464ab7b70024378e74"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.1.0","version":"1.1"},"__v":0,"githubsync":"","project":"55b933b3146ef121002158d3","parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-08-04T17:44:17.656Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":6,"body":"Start check out process on pos device\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Description\"\n}\n[/block]\nPuts the pos device in checkout state. Depending on the information provided, the pos device will display the appropriate screens to the customer. The following three states of checkout are supported:\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"1) Order in progress, no line item detail\"\n}\n[/block]\nIf no total amount is provided in the “Amount” detail parameter, it is assumed that the order is still in progress and that the pos device is still adding up a total. A “card may be swiped at any time” screen is displayed to the customer. Once they have swiped their card, a “please wait for cashier” message is shown. The pos software must then send a call to [updateCheckOut](/docs/updatecheckout) with an amount once the order is ready for completion. Once the amount is provided, the customer is prompted to confirm the amount, the transaction is processed and the customer is prompted for signature.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"2) Order in progress, with line item detail\"\n}\n[/block]\nIf no total amount is provided in the “Amount” detail parameter, it is assumed that the order is still in progress and that the pos device is still adding up a total. The customer can swipe their card at any time. As new line items are rung up by the pos software, calls are made to the addCheckOutLineItem method. The line item is display to the pin pad along with a running total. When the order is ready for completion, the pos software must send an amount to [updateCheckOut](/docs/updatecheckout). Once the amount is provided, the customer is prompted to confirm the total amount, the transaction is processed and the customer is prompted for signature.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"3) Order submitted in single step\"\n}\n[/block]\nAll transaction information including order total are submitted with startCheckOut. The customer is immediately prompted to swipe their card, transaction is process and customer is prompted for signature.\nA RequestID is returned by startCheckOut. This ID can be used to track the progress of the customer through the pos device screens. This can be done either by polling the checkout status using [getCheckOutStatus](/docs/getcheckoutstatus) or by open a socket hook listener.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Syntax\"\n}\n[/block]\n**startCheckOut** ( [ueSecurityToken](/docs/uesecuritytoken) Token, [CheckOutRequest](/docs/checkoutrequest) Request)\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Arguments\"\n}\n[/block]\n\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Type\",\n    \"h-1\": \"Name\",\n    \"h-2\": \"Description\",\n    \"0-0\": \"[ueSecurityToken](/docs/uesecuritytoken)\",\n    \"0-1\": \"Token\",\n    \"0-2\": \"Merchant security token: used to identify merchant and retrieve the custom fields.\",\n    \"1-0\": \"[CheckOutRequest](/docs/checkoutrequest)\",\n    \"1-1\": \"Detail\",\n    \"1-2\": \"Transaction detail for checkout request\"\n  },\n  \"cols\": 3,\n  \"rows\": 2\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Return Value\"\n}\n[/block]\n\n[block:parameters]\n{\n  \"data\": {\n    \"0-0\": \"string\",\n    \"0-1\": \"RequestID\",\n    \"0-2\": \"ID of checkout request, used to check status\"\n  },\n  \"cols\": 3,\n  \"rows\": 1\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Exceptions\"\n}\n[/block]\nThe following exceptions (errors) are applicable to this method.\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Code\",\n    \"h-1\": \"Message\",\n    \"h-2\": \"Advice\",\n    \"0-0\": \"21100\",\n    \"0-1\": \"There are no POS devices associated with this source key\",\n    \"0-2\": \"Register a pos device to this source key\",\n    \"1-0\": \"21101\",\n    \"1-1\": \"POS device offline\",\n    \"1-2\": \"Device associated with this source key is offline, try rebooting\"\n  },\n  \"cols\": 3,\n  \"rows\": 2\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Examples\"\n}\n[/block]\n## XML \n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"Request:\\n<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<SOAP-ENV:Envelope xmlns:SOAP-ENV=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\" xmlns:ns1=\\\"https://secure.eBizCharge.com/soap/2.0/uedocs\\\">\\n<SOAP-ENV:Body>\\n<ns1:startCheckOut>\\n<Token>\\n<ClientIP>192.168.0.1</ClientIP>\\n<PinHash>\\n<HashValue>9cc51a8c9124201b26ec4faa89d7f4252ad2e5c3</HashValue>\\n<Seed>1365186077957149393</Seed>\\n<Type>sha1</Type>\\n</PinHash>\\n<SourceKey>e42SYc86C4uvlvyP62ow54Kv93SZsJVm</SourceKey>\\n</Token>\\n<Request>\\n<Details>\\n<Amount>9.95</Amount>\\n<Invoice>123311</Invoice>\\n</Details>\\n</Request>\\n</ns1:startCheckOut>\\n</SOAP-ENV:Body>\\n</SOAP-ENV:Envelope>\\nResponse:\\n\",\n      \"language\": \"xml\"\n    }\n  ]\n}\n[/block]","excerpt":"","slug":"startcheckout","type":"basic","title":"startCheckOut"}
Start check out process on pos device [block:api-header] { "type": "basic", "title": "Description" } [/block] Puts the pos device in checkout state. Depending on the information provided, the pos device will display the appropriate screens to the customer. The following three states of checkout are supported: [block:api-header] { "type": "basic", "title": "1) Order in progress, no line item detail" } [/block] If no total amount is provided in the “Amount” detail parameter, it is assumed that the order is still in progress and that the pos device is still adding up a total. A “card may be swiped at any time” screen is displayed to the customer. Once they have swiped their card, a “please wait for cashier” message is shown. The pos software must then send a call to [updateCheckOut](/docs/updatecheckout) with an amount once the order is ready for completion. Once the amount is provided, the customer is prompted to confirm the amount, the transaction is processed and the customer is prompted for signature. [block:api-header] { "type": "basic", "title": "2) Order in progress, with line item detail" } [/block] If no total amount is provided in the “Amount” detail parameter, it is assumed that the order is still in progress and that the pos device is still adding up a total. The customer can swipe their card at any time. As new line items are rung up by the pos software, calls are made to the addCheckOutLineItem method. The line item is display to the pin pad along with a running total. When the order is ready for completion, the pos software must send an amount to [updateCheckOut](/docs/updatecheckout). Once the amount is provided, the customer is prompted to confirm the total amount, the transaction is processed and the customer is prompted for signature. [block:api-header] { "type": "basic", "title": "3) Order submitted in single step" } [/block] All transaction information including order total are submitted with startCheckOut. The customer is immediately prompted to swipe their card, transaction is process and customer is prompted for signature. A RequestID is returned by startCheckOut. This ID can be used to track the progress of the customer through the pos device screens. This can be done either by polling the checkout status using [getCheckOutStatus](/docs/getcheckoutstatus) or by open a socket hook listener. [block:api-header] { "type": "basic", "title": "Syntax" } [/block] **startCheckOut** ( [ueSecurityToken](/docs/uesecuritytoken) Token, [CheckOutRequest](/docs/checkoutrequest) Request) [block:api-header] { "type": "basic", "title": "Arguments" } [/block] [block:parameters] { "data": { "h-0": "Type", "h-1": "Name", "h-2": "Description", "0-0": "[ueSecurityToken](/docs/uesecuritytoken)", "0-1": "Token", "0-2": "Merchant security token: used to identify merchant and retrieve the custom fields.", "1-0": "[CheckOutRequest](/docs/checkoutrequest)", "1-1": "Detail", "1-2": "Transaction detail for checkout request" }, "cols": 3, "rows": 2 } [/block] [block:api-header] { "type": "basic", "title": "Return Value" } [/block] [block:parameters] { "data": { "0-0": "string", "0-1": "RequestID", "0-2": "ID of checkout request, used to check status" }, "cols": 3, "rows": 1 } [/block] [block:api-header] { "type": "basic", "title": "Exceptions" } [/block] The following exceptions (errors) are applicable to this method. [block:parameters] { "data": { "h-0": "Code", "h-1": "Message", "h-2": "Advice", "0-0": "21100", "0-1": "There are no POS devices associated with this source key", "0-2": "Register a pos device to this source key", "1-0": "21101", "1-1": "POS device offline", "1-2": "Device associated with this source key is offline, try rebooting" }, "cols": 3, "rows": 2 } [/block] [block:api-header] { "type": "basic", "title": "Examples" } [/block] ## XML [block:code] { "codes": [ { "code": "Request:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ns1=\"https://secure.eBizCharge.com/soap/2.0/uedocs\">\n<SOAP-ENV:Body>\n<ns1:startCheckOut>\n<Token>\n<ClientIP>192.168.0.1</ClientIP>\n<PinHash>\n<HashValue>9cc51a8c9124201b26ec4faa89d7f4252ad2e5c3</HashValue>\n<Seed>1365186077957149393</Seed>\n<Type>sha1</Type>\n</PinHash>\n<SourceKey>e42SYc86C4uvlvyP62ow54Kv93SZsJVm</SourceKey>\n</Token>\n<Request>\n<Details>\n<Amount>9.95</Amount>\n<Invoice>123311</Invoice>\n</Details>\n</Request>\n</ns1:startCheckOut>\n</SOAP-ENV:Body>\n</SOAP-ENV:Envelope>\nResponse:\n", "language": "xml" } ] } [/block]