Sending receipts to a third-party online sales register
Only for companies and individual entrepreneurs
The YooMoney solution for working with 54-FZ allows you to set up the interaction with your online sales register. YooMoney transfers data required for generating a receipt to the online sales register (for example, the quantity and cost of goods), and receives the result.
Onboarding
- Buy or rent an online sales register from one of YooMoney’s partners and enter into an agreement with the fiscal data operator (OFD).
- Fill in the settings for working under Federal Law No. 54-FZ in your YooMoney Merchant Profile.
- Set up the transfer of data for generating receipts. More information in the instructions:
API Features
Using the YooMoney API, you can:
- Send data to the online sales register for generating receipts in accordance with the format of fiscal documents (FFD) 1.05, 1.1 and 1.2. Learn more about switching to FFD 1.2
- Create receipts for payments and refunds, including full receipts against advance payments or prepayments.
- Receive information about receipts generated via YooMoney.
Scenarios for sending the receipt
YooMoney API supports three scenarios for sending the data for generating receipt: Payment and receipt at the same time, Payment after receipt, and Receipt after payment. The scenarios differ by the method and time of sending the data for generating payment and refund receipts. Transaction completion receipts are always sent as a separate request.
Payment and receipt at the same time
This scenario will suit most stores.
How to send data:
- payment receipt — along with the payment, in the
receipt
object; - refund receipt — along with the refund, in the
receipt
object.
Payment process and the sending of data for generating the receipt will take place simultaneously. YooMoney will be waiting for a response from the online sales register for one day. If, for some reason, the receipt fails to register, you can do it manually via the online sales register. Failure to register the receipt will not affect the payment.
To activate this scenario, select the Accept payment mode in the Settings — Online sales register section under your Merchant Profile.
Payment after receipt
This scenario is suitable for stores that need to ensure each payment has a corresponding receipt. For example, stores that sell digital goods.
How to send data:
- payment receipt — along with the payment, in the
receipt
object; - refund receipt — along with the refund, in the
receipt
object.
YooMoney will send the data to the online sales register immediately after creating the payment object and will wait for a response for the following five minutes. If the online sales register does not report a successful receipt registration within this timeslot, YooMoney will cancel the payment and return the money to the user.
To activate this scenario, select the Cancel payment mode in the Settings — Online sales register section under your Merchant Profile.
Receipt after payment
This scenario is suitable for stores that want to send the receipt and the payment separately and control this process independently using the YooMoney API. For example, stores that act as an agent. This scenario is mandatory for those who use Split payments or Safe deal.
How to send data:
- payment receipt — in a separate request for creating a receipt when the user already made the payment;
- refund receipt — in a separate request for creating a receipt after creating a refund .
In this scenario, requests to create a payment or refund must be submitted without a
receipt
object. If you include receipt
in these requests, YooMoney will return an error.YooMoney will immediately send the data for registering a receipt to your online sales register, as well as send you the receipt object in response to your request. If, for some reason, the receipt fails to register, the payment will not be affected in any way.
You can create up to 30 receipts for one payment or refund.
To activate this scenario, select the Don’t link payment and receipt mode in the Settings — Online sales register section under your Merchant Profile. If you use Safe deal, this scenario is already implemented by default.
See also