Point-of-sale icon

Handle receipts

Delegate

The transactionRequiresPrintedReceipt delegate is called when a receipt must be printed out by the app.

After this method has been called, transaction-processing will be paused until confirmReceiptPrinted: is called on the given printReceiptRequest.

This method must be implemented to print a receipt on paper, based on the data provided in the printReceiptRequest.

Instead of calling [ADYPrintReceiptRequest confirmReceiptPrinted:], it is also possible to cancel the transaction at this point by calling [ADYTransactionRequest requestCancel]. If this is done, do not call confirmReceiptPrinted: anymore.

However, it is possible that transactionRequiresPrintedReceipt: will be called a second time as part of the transaction-flow. If that happens, and it is not desirable to print out a receipt at that time, cancel the transaction again.

Card schemes have very specific requirements on what should be included on a receipt. These requirements differ per scheme and country, and can change. Receipts generated by Adyen have been certified as compliant by the card schemes that we support.

Card schemes will occasionally visit live stores to verify that receipts being generated are fully-compliant.

To prevent non-compliance and avoidable chargebacks, we strongly recommend using the Adyen-generated receipts without alterations. If you override this receipt data, or validate values against a hard-coded list, it is your responsibility to ensure that scheme requirements are met at all times.

Parameters

Name Type Required Description
printReceiptRequest ADYPrintReceiptRequest -white_check_mark- Object containing receipt-data, and methods to continue transaction-processing.

Declaration code example

Objective-C

- (void)transactionRequiresPrintedReceipt:
    (ADYPrintReceiptRequest *)printReceiptRequest;

Swift

func transactionRequiresPrintedReceipt(_ printReceiptRequest: ADYPrintReceiptRequest!)