Online cash registers
Introduction
On July 1, 2017, the requirements under the new edition of Law 54-FZ on the mandatory use of online cash registers for online stores came into force. Amendments to the law oblige online stores to use special cash register equipment to send fiscal data to the Federal Tax Service (FTS). To ensure compliance with 54-FZ, we offer you the following eCommerce solutions (online cash registers) that are already supported by Payment gateway and can be enabled on Payment gateway:
- First OFD
- ATOL
- Orange Data
- Evotor cloud cash register
- Business.ru
- PAYkiosk
- LIFE PAY
- OFD.ru (Ferma)
Online cash registers interact with OFDs (operators of fiscal data), who connect online cash registers to their data processing centers, encrypt this data, systematize it and pass it to the tax authorities in the format they require. Concluding a contract with the OFD is mandatory for entrepreneurs using cash register equipment.
To enable an online cash register, contact your bank manager.
Fiscalization scenario
Interaction scheme for fiscalization.
receipt generation B-->>-OS: Confirmation of
successful payment
- After a successful sale, the online store sends a request to the Bank with the data for the receipt.
- The bank passes the receipt data to the online cash register.
- The online cash register passes data about the sale to OFD.
- OFD generates a receipt, transfers it to the Federal Tax Service, and also sends it to the Customer.
- OFD registers the receipt in the online cash register.
- The online cash register sends confirmation of the receipt generation to the Bank.
- The bank sends confirmation of successful payment to the online store.
Second receipt registration
Starting from July 1, 2019, online cash register owners must generate receipts to offset and refund prepayments. Thus, if the customer has received goods or services not at the moment of payment, it is necessary to form two receipts: the first receipt - at the moment of payment, the second one - at the moment of shipping.
Payment gateway allows you to register the second receipt (closing receipt) without creating a new order using the closeOfdReceipt request. With that, the following conditions should be met:
- The request must contain either
mdOrder, ororderNumber. - If the closing request contains a cart of items (
orderBundleblock), the cart will be passed to OFD in the form in which it was passed to the payment gateway in the closing request. - If there is not cart (
orderBundleblock) in the closing request and the order was completed, then:- If general amount is specified (
amountparameter) and it matches the original order amount, the cart from the order will be passed to OFD. - If the original order was registered without cart or the order amount differs from closing amount, the cart with only one element (set in the default settings) will be passed to OFD.
- If the amount was not passed and the original order was registered with cart — the original order cart will be passed to OFD.
- If the amount was not passed and the original order was registered without cart — the cart with only one element (set in the default settings) will be passed to OFD.
- If general amount is specified (
- If the closing request does not contain cart of items (
orderBundleblock) and a partial refund was done for the order, then:- If a partial refund for amount was done — original order amount is recalculated and the changed cart is passed to OFD.
- If a partial refund for a position was done — original position amount is recalculated and the changed cart is passed to OFD.
Conditions for using the functionality
For using this functionality, the following conditions must be met:
- The order must be either payed or partially refunded.
- The first receipt with the payment method "Prepayment 100%" must be successfully processed for the order.
- Only the merchant who created the order can send a second receipt to the order.
- The number of closing receipts is unlimited (as the goods may be delivered separately for each position).
- If the refunds for the whole order amount were done (by one or several receipts), sending second receipt is impossible.
Scenario of second receipt registration via API
- Merchant sends order registration request register.do to Payment gateway, passing the data of the first receipt (on registration, Merchant should pass the
paymentMethod = 1attribute inorderBundle.cartItems.items[].itemAttributes.attributes["name" == "paymentMethod" ]). - Payment gateway sends the response for the order registration request to Merchant.
- Payment gateway exchanges data with OFD.
- Merchant sends the closing receipt request closeOfdReceipt. It is necessary to duplicate the fields used on the order registration and pass the
paymentMethod = 1attribute inorderBundle.cartItems.items[].itemAttributes.attributes["name" == "paymentMethod"]on registration. - Payment gateway exchanges data with OFD.
- Payment gateway sends the confirmation of receiving the information (the response for closing receipt request) to Merchant.
Version of the fiscal document format
Some specific request parameters of the API are supported depending on the used version of the format of fiscal documents (FFD).
The format of fiscal documents is a set of details established by law for the exchange of data on fiscal transactions. The FFD determines the composition, format and order of details that must be displayed in all fiscal documents.
Until recently, version 1.05 was used, currently version 1.2 is used In requests where the set of used parameters has changed due to the change in FFD version, it is clearly indicated with which version this or that parameter is compatible. No indications means the parameter is supported by all FFD versions.
You can change the FFD version in personal account settings.