Transaction

A transaction represents a purchase or return event. Based on the customers’ loyalty status, transactions are categorized into three types.

  • Loyalty Transactions: Transactions made by registered customers of your organization’s loyalty program. A customer can be tagged to a loyalty transaction.
  • Non-loyalty Transactions: Transactions made by customers who are not registered into your loyalty program, but subscribed their mobile number or email id with the organization. These transactions are tagged to the respective identifiers (mobile no/email id)
  • Not-interested Transactions: Transactions made by customers who are not interested to register into your organization’s loyalty program. These transactions are also considered as anonymous transactions.

Transactions are again 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.

The transaction entity contains all the necessary APIs to manage transactions and retrieve transaction details. The transaction entity stores regular/return transactions, points/coupons redeemed against transactions, retro transactions (converting not interested transactions to loyalty), extended fields, and custom fields.

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

📘

Extended fields and custom fields in transactions are used to capture additional information of a transaction or transaction line-item. The extended fields are predefined defined in the system with specific values, whereas, custom fields can have any name and value as required for the org.

Prerequisites

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

  • Mandatory parameters required to submit a transaction
  • Whether Retro Transaction is enabled to convert not-interested transactions to regular transactions and the maximum duration for which retro transaction is allowed
  • Whether Authorization is required for retro transactions
  • Whether Transaction Return is enabled for your organization (for transaction returns)
  • Scope of transaction numbers to be unique (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

📘

Ignore error headers. It is still in the evaluation phase.

Status Codes

Success Codes

CodeDescription
600Transaction added successfully.
Transaction retrieved successfully.
Transaction updated successfully.
1630Transaction marked as regular through Retro conversion. Transaction added successfully.

Error Codes

CodeDescription
500Unable to retrieve transaction.
517Rate limit exceeded for that specific user.
601Transaction failed. Transaction amount, quantity, rate, or discount is invalid.
602Transaction number is invalid.
603Points are already used (Deprecated).
604Transaction number already exists.
605Invalid transaction type. Only regular, return and not-interested transaction types 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.
Invalid category 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.
683Failed to call new bill event EMF.
684Failed EMF new bill DVS event.
685Field length too long.
686Unable to add transaction.
687Points activities are queued and will be updated later.
Item code {x} merge is not supported.
688No matching line-item found for return.
Transaction number not found.
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.
710Return bill event failed from EMF.
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
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.