Are you looking for test card numbers?

Would you like to contact support?

Point-of-sale icon

Generate receipts

Learn how to generate transaction receipts.

When you make a transaction using Terminal API, the response includes receipt data. This contains values you can add to the receipt that you print, display, or email to your shopper.

If your terminal has a built-in printer, such as the V400m or V400c, it will automatically print a receipt using this data. You can optionally add your company logo to this receipt.

Receipt requirements

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.

Receipt data

When you make a payment using our Terminal API, the payment result contains a PaymentReceipt object. This object includes:

  • CustomerReceipt: You can use this data to generate a receipt for the shopper.
  • CashierReceipt: You can use this data to generate a merchant receipt. You may want to use this to collect the shopper's signature, or for reconciliation purposes.

Each receipt consists of multiple key-value pairs, which are generated dynamically depending on the:

  • Transaction type.
  • Result (for example, approved or declined).
  • Cardholder verification method (CVM).
  • Card issuer country.
  • Country of your store.
  • Payment method.

Below are all of the possible keys that can appear in Adyen-generated receipt data:

Key Description
header1 First header line of your receipt. You can customize this.
header2 Second header line of your receipt. You can customize this.
aac Decline cryptogram generated by the card.
accountType Bank account used for the authorisation. For example, chequing or savings account.
additionalEmvData Set of EMV details.
aid Application Identifier (the scheme product).
approved Final state for approved transactions.
refused Final state for declined transactions.
void Final state for transactions that were cancelled by the merchant, shopper, or terminal.
atc Application Transaction Counter.
authCode Authorisation code from the issuer.
authResponseCode Authorisation response code from the issuer.
buyerId Identification of the wallet used for authorization.
cardholderHeader Receipt type indicator. For example, CARDHOLDER COPY (or the localized text).
cardType Terminal-determined value for the type of card.
cashbackAmount Amount to be provided to the shopper in cash.
charityAmount Amount donated to charity by the shopper.
cid Cryptogram Information Data.
cnpj Identification number issued for the National Registry of Legal Entities.
currentBalanceAmount Balance on the cardholder's bank account.
cvmRes When applicable, indicates the PIN has been verified.
dccexpl Explanation of the DCC process, for shopper consent.
dccmarkup Markup on the sourced exchange rate for DCC.
dccrate Exchange rate used to calculate the DCC conversion (including markup).
dccshopperamount Amount after DCC conversion was applied.
dccsource Source of the base exchange rate (proxied by Adyen, excluding markup).
discountAmount Discount applied by the merchant.
expiryDate Expiry date of the card.
filler Generic filler to create blocks of elements that go together.
gratuityAmount Amount for gratuity.
mid Merchant Identification.
mref Merchant-determined reference for the transaction.
originalAmount Starting amount of the transaction prior to gratuity, adjustments, and such.
pan The last four digits of the masked PAN.
panSeq PAN sequence number or sequence number of the issued card.
paymentMethod Payment method on the brand or scheme level, as provided by Adyen. For example, visa, maestro.
paymentMethodVariant Payment method on the product level, as provided by Adyen. For example, visastandarddebit, vpay.
posEntryMode Method of obtaining the PAN, such as ICC, NFC, MSR, or MKE.
preferredName Issuer-determined label for the application on the card.
productType Product used for paying, such as Credit or Debit.
ptid Hardware (terminal) identifier sent to the schemes.
retain Retention message.
rrn Retrieval Reference Number.
stan System Trace Audit Number.
tid Adyen terminal identifier.
tokenTxVariant Description of the token variant, such as ApplePay or SamsungPay.
totalAmount Total amount to be debited or credited.
txdate Terminal date of the transaction, in the local time zone.
txRef Reference for the transaction, provided by the merchant.
txtime Terminal time of the transaction, in the local time zone.
txtype Transaction type: GOODS_SERVICES, REFUND, and so on.
walletDccAmount Amount after DCC was applied by the scheme.
walletDccRate Rate applied by the scheme to calculate DCC.
walletOperationType Similar to paymentMethod. For example, alipay or wechatpay.
walletTransactionReference Reference that the scheme assigned to the transaction.
sigline Line to indicate a signature needs to be placed above it.
signature Room for shopper signature on the merchant receipt.
merchantSigline Line for merchant signature on the shopper receipt.
thanks 'Thank you' message (or the localized text).
QRCode QR code value. You can customize this.

Displaying virtual receipts

If you're using a wide-screen multimedia terminal, such as the M400, you can show line items or receipts on the display of the payment terminal.
For more information, see Show a receipt.

Next steps