# Transaction Details **POST pms-integration{subscriber-host}/charge** What subscriber endpoint implementation will receive when a transaction is made. Subscriber path need to end with `/charge`. Subscriber implementation should follow the payload backward compatibility rules below: - What considered as backward **compatible**: - Addition of new fields, enums, headers, or parameters. - Transition from optional to required fields. Which means Lightspeed will consistently send the parameter/field from now on. - What considered as backward **incompatible**: - Alteration of schema structure, such as switching from a map to an array. - Removal of field/enum/header - Changes in data types, such as converting from string to integer. - Changes of property name ## Servers - Demo URL: https://api.trial.lsk.lightspeed.app (Demo URL) - Production URL: https://api.lsk.lightspeed.app (Production URL) ## Parameters #### Headers - **Accept** (string) The expected response content type from subscriber. Only application/json is supported. - **X-Lightspeed-Idempotency-Key** (string) Subscribers should utilize the Idempotency Key to ensure duplicates are handled appropriately on their end. ## Body parameters Content-type: application/json - **name** (string) Name of the transaction - **openDate** (string(date-time)) The date and time when the transaction was opened in UTC - **closeDate** (string(date-time)) The date and time when the transaction was closed in UTC - **covers** (number) The number of covers (guests) in this transaction. - **ownerId** (integer(int64)) The ID of the POS user (staff) who owns this transaction - **ownerName** (string) The name of the POS user (staff) who owns this transaction - **deviceId** (integer(int64)) The ID of the device on which the transaction was started - **businessExternalReference** (string) Client name - **apiKey** (string) API Key. - **receiptId** (string) Receipt ID - **fiscId** (string) Unique identifier for the transaction, can be used this for any identification purposes. - **uuid** (string) A b64 encoded uuid which also act as unique identifier for the transaction, also can be used for any identification purposes. - **initialAccountId** (string) Initial Account ID, if any. This is used to correlate the transaction with the initial account, such on REFUND or VOID. - **identifier** (string) Refer to the non null value of either the fiscId or uuid as fallback. - **revenueCenterId** (integer(int64)) Revenue Center (POS Configuration) ID - **revenueCenterName** (string) Revenue Center (POS Configuration) Name - **transactions** (array[object]) - **payments** (array[object]) - **serviceCharge** (object) ## Responses ### 200: Subscriber should return this code if it successfully processed the charge request at PMS. Following that, Lightspeed will mark the PMS charge transaction as SUCCESS as well. ### 5XX: If any server error occurs subscriber can pass their own custom message to the POS. The response body content need to follow the schema, else only `5XX {Error Type}` will be sent. #### Body Parameters: application/json (object) - **customerErrorMessage** (string) The error message that will be sent and printed at the POS. Length should not exceed 50 characters to avoid truncation. ### 4XX: If any client error occurs subscriber can pass their own custom message to the POS. The response body content need to follow the schema, else only `4XX {Error Type}` will be sent. #### Body Parameters: application/json (object) - **customerErrorMessage** (string) The error message that will be sent and printed at the POS. Length should not exceed 50 characters to avoid truncation. [Powered by Bump.sh](https://bump.sh)