Transaction

A transaction represents a purchase or return event.

Transactions are classified into the following types:

  • Regular: Normal transactions made at the PoS. Regular transactions could be loyalty, non-loyalty and not-interested.
  • Return : Transactions that are returned at the PoS. Return transactions need an identifier reference. Hence, only loyalty and non-loyalty transactions can be returned through APIs. See Transaction Return API for more details.
  • Mixed: A transaction that involves both regular and return is termed as mixed transaction.

Prerequisites

Before using transaction APIs, understand the transaction configurations of your organization. You can see the transaction related settings on InTouch.
Intouch > Settings > Systems and Deployment > Intouch PoS Configuration > Billing

  • Mandatory parameters required to submit a transaction.
  • Scope of transaction number uniqueness (store level or TILL level) and duration for which repetition is not allowed (20 days, 30 days etc.).
  • Maximum and minimum amount allowed per transaction.
  • Maximum and minimum amount allowed per line-item.

For information on how the system handles different timezones, see Handling different timezone.

The transaction/add API lets you do the following:

  • Supports transactions with Product Variant and Product Bundle details.
  • Adds product variant to the database when a new variant product is passed with an existing base product.
  • Adds base product to the database when a new base product/variant product is passed. However, if a new base product is passed with variant details, it adds only base product and ignores variant .
  • Adds custom field and extended field details both at the transaction and line-item level.

Variant Product: A same product having different variations in terms of common properties such as size, and color.

Product Bundle: A group of items that are sold as a single pack. This can include Combo items (Example: pack of 2, combo offers), Split items (Example: a necklace having gold rate, store rate, making charge, wastage charge and so on) and add-on items (Example: Pizza with extra cheese, and personalized toppings)

Status Codes

Response Codes

Success Codes

CodeDescription
600Transaction added successfully.
Transaction retrieved successfully.
1630Transaction retrospectively marked REGULAR. Transaction added successfully.

Error Codes

CodeDescription
500Unable to retrieve transaction.
601Invalid transaction transaction amount.
602Invalid transaction number.
603Points are already used (Deprecated).
604Transaction number already exists.
605Invalid transaction type passed. Only regular, return, not_interested, and not_interested_return are supported.
606Customer identifier is not passed. Please enter customer’s mobile or email or external id to process.
607No transaction id passed. Please pass the transaction id to process.
608Unable to add transaction.
609Update failed. Please verify all the fields.
610Unable to register. Please verify all the fields.
611Customer not found.
614Transaction is already cancelled.
615Transaction details are not passed.
616Item code already exists.
617Invalid attribute for the item.
618Customer is marked as fraud.
619Transaction id is not provided.
620Transaction id is invalid.
621Transaction date is invalid. Transaction date should be within the accepted past or future date range limit.
622Unable to add line-item.
623Unable to trigger other related events for the transaction.
624Unable to process return-transaction. You can make a return only after adding a transaction.
625Transaction number does not exist.
626Unable to return transaction. The quantity of returned items are more than purchased items.
627Quantity cannot be negative.
628Invalid return transaction type.
629The return quantity of the item is more than available quantity.
630The return amount is more than the transaction/line-item amount.
631Transaction amount cannot be negative.
632Cannot return the transaction with return type LINE_ITEM because the type AMOUNT has already been used for returning the same transaction.
633The entire transaction is already returned.
634This transaction is already returned.
635Cannot return the transaction with the return type AMOUNT because the type LINE_ITEM has been used for returning the same transaction.
636The transaction is already returned with the return type as LINE_ITEM. You can process return for other items only with return type LINE_ITEM.
637Unable to revert points issued to the customer (for return transaction). Please try again later.
638Unable to return transaction. The transaction is already returned with type LINE_ITEM. Hence, you cannot use the type AMOUNT for the same transaction.
639Unable to return full transaction. A part of the transaction or complete transaction is already returned.
640Points or coupons are not redeemed for this transaction.
641No customer found.
642Redemption failed. An error occurred in points/coupon redemption.
643Invalid transaction. The transaction date exceeds the accepted future date limit.
644Invalid transaction. The transaction date cannot be less than the accepted past date limit.
645Transaction addition failed for not interested.
646Customer registration failed. The email id is invalid.
647Customer registration failed. Email id is already assigned to another customer.
648Customer registration failed. Mobile number is already assigned to another customer.
649Customer registration failed. Mobile number is invalid.
650Customer registration failed. Mobile number is not accepted as a unique identifier.
651Customer registration failed. Mobile number is required for registration.
652Customer registration failed. Mobile number/email id/external id is invalid.
653Customer registration failed. External id is already assigned to another customer.
654Customer registration failed. External id is not accepted as a unique identifier.
655Customer registration failed. Customer is not registered in loyalty program.
656No customer found.
657Customer registration failed. Registration in EUP failed.
658Customer registration failed. Only email id is not sufficient for registration.
659Customer registration failed. Please enter email id to register.
660Customer registration failed. Registration date exceeds the accepted past or future date limit.
661Amount of the line-item amount cannot be negative.
662Value of a line cannot be negative.
663Rate of a line-item cannot be negative
664Discount of a line-item cannot be negative.
665Gross amount of the transaction cannot be negative.
666Discount cannot be negative.
667Unable to find the transaction ID for this customer.
668Unable to find the transaction number for this customer.
669Unable to update custom field.
670Transaction id/number is not provided.
671Invalid Store or TILL code.
672Batch limit exceeded.
673Returning of transactions is not allowed.
674Returning of line item is not allowed.
675Returning of transaction amount is not allowed.
676Returning of a complete transaction amount is not allowed.
677Unable to process. Please enter a transaction number for returning a transaction.
678Amount of returned item is more than purchased item.
679Line-item(s) to be returned is not specified.
680No transactions of the specific customer were found.
681Transactions are blocked for this customer.
682Currency conversion is disabled for the org.
685Field length too long.
686Unable to add transaction.
687Points activities are queued and will be updated later.
688No matching line-item found for return.
689Points processing failed
690Points processing failed
691Points processing failed
692Points processing failed
693Points processing failed
694Points processing failed
695Invalid configuration. Please report to the Capillary Support.
696Points processing failed
697Points processing failed
698Points processing failed.
699Invalid configuration. Please report to the Capillary Support.
820Current operation is not allowed. The customer is marked as fraud.
1101Invalid loyalty program ID passed.
1102Invalid currency conversion ratio passed.
1103Invalid shipping store code passed.
1623Transaction type is invalid.
1624Insufficient parameters passed to fetch transaction.
1625Target type is not specified.
1626The requested transaction type cannot be changed.
1627The transaction is already marked as retro.
1628Transaction id is invalid.
1629Client signature is required to perform this action.
1631Retro transaction is not enabled for your organization.
1632Registration date is too older than the transaction date. See the retro configuration set for your organization.
1633The duration between registration and transaction mapping exceeds the limit set.
1634Return type is invalid.
1635Please pass line-items that need to be returned.
1636Transaction status is invalid.
3045Transaction is not allowed for the customer with ID {x} as the customer is marked as fraud.
8015No customer found for the given identifiers.
8084Unable to send customer details.
9601Failed to add line-item.
9602Failed to add credit notes.
9603Failed to add payment more details (tender).
9604Failed to add custom fields
9605Base currency is not set for the org.
9606Currency not passed for the transaction.
9607Payment mode (tender) not found.
9608Line-item with the item code {x} passed is marked as outlier.
9609Invalid payment attribute passed.
9610New bill event failed. Points are not awarded.
9611Transaction is marked as outlier.
9612Unable to save credit notes.
9613Invalid payment attribute.
9614Multiple loyalty bills found to be returned.
9615Validity (in days) for return policy is not defined.
9616Single loyalty bill found. Allowing regular return.

Warnings

CodeDescription
625Transaction number does not exist. If the config CONF_ALLOW_NOT_EXISTING_BILL_RETURNis enabled, the transaction is saved with a warning.
683Failed to call new bill event EMF.
684Failed EMF new bill DVS event.
687Points activities are queued and will be updated later.
688No line item found matching for return.
669Invalid custom field.
710Return bill event failed from EMF.
1105Returnable days should be greater than -1.
9601Unable to add line item.
9602Unable to add credit note.
9603Unable to add payment mode details.
9604Unable to add custom fields.
9605Base currency is not set for the org.
9606Transaction currency is not passed.
9607Payment mode (tender) is not found.
9608Line item with item code {x} is marked as outlier.
9609Invalid payment attribute value.
9610New bill event is failed. Points are not awarded.
9611Transaction is marked as outlier.
9612Unable to save the credit notes
9613Invalid payment attribute.
9614Multiple loyalty transactions found to be returned.
9615Return policy days are not defined.
9616Single loyalty transaction found. Allowing regular return.

📘

The error code 625 could also appear in warning if the configuration CONF_ALLOW_NOT_EXISTING_BILL_RETURN is enabled. However, this is a very special case for a code that could appear as a error or warning.