# Nullified payment receipt template Use this sample template to create nullified payment receipts. Nullified payments occur when: - A customer or sales associate cancels the payment on the PIN entry device (PED) or by using the InStore POS. - A third-party payment system rejects the payment. The nullified payment receipt proves to the customer that no funds were captured. View and edit this receipt in the InStore Center by creating a [Receipt Template set](/instore/implement-instore/receipts/create-receipt-template.md) that includes the nullified payment receipt template, then opening the template. ## Template ``` 1. `{{logo 32 32}}` 2. `{align:center}` 3. `{{location.description}}` 4. `{{location.address_line_1}}{{#if location.address_line_2}}\n{{location.address_line_2}}{{/if}}` 5. `{{location.city}}` 6. `{{location.state}}` 7. `{{location.postal_code}}` 8. `{{location.telephone_number}}` 9. `{align:left}` 10. `|Date: |{{timestamp_formatted}}` 11. `|Workstation: |{{workstation_id}}` 12. `|Cashier: |{{user_id}}` 13. `|Transaction #: |{{order_number}}` 14. 15. `{{#if charge_card}}` 16. `{{#if charge_card.additional_data}}` 17. `{{#if charge_card.additional_data.receiptData}}` 18. `{width:16,20; align:right}` 19. `|Card: | {{charge_card.additional_data.receiptData.pan}}` 20. `|PAN seq: | {{charge_card.additional_data.receiptData.panSeq}}` 21. `|Pref. name: | {{charge_card.additional_data.receiptData.preferredName}}` 22. `|Card type: | {{charge_card.additional_data.receiptData.cardType}}` 23. `|Payment method: | {{charge_card.additional_data.receiptData.paymentMethod}}` 24. `|Payment variant: | {{charge_card.additional_data.receiptData.paymentMethodVariant}}` 25. `|Entry mode: | {{charge_card.additional_data.receiptData.posEntryMode}}` 26. `|AID: | {{charge_card.additional_data.receiptData.aid}}` 27. `|MID: | {{charge_card.additional_data.receiptData.mid}}` 28. `|TID: | {{charge_card.additional_data.receiptData.tid}}` 29. `|PTID: | {{charge_card.additional_data.receiptData.ptid}}` 30. `|Auth. code: | {{charge_card.additional_data.receiptData.authCode}}` 31. `|Response code: | {{charge_card.authorization_response_code}}` 32. `|Tender: | {{charge_card.additional_data.receiptData.txRef}}` 33. `|Reference: | {{charge_card.additional_data.receiptData.mref}}` 34. `|Type: | {{charge_card.additional_data.receiptData.txtype}}` 35. `|^TOTAL: | {{formatCurrency charge_card.additional_data.receiptData.totalAmount}}` 36. `{{/if}}{{else}}` 37. `{width:24,20; align:right}` 38. `|card number: | {{charge_card.last4}}` 39. `|account type: | {{charge_card.brand}}/{{charge_card.account_type}}` 40. `|application name: | {{charge_card.application_preferred_name}}` 41. `|AID: | {{charge_card.dedicated_file_name}}` 42. `|ARC: | {{authorization_response_code}}` 43. `{{/if}}{{/if}}` 44. `{{#if gift_card}}` 45. `{width:16,20; align:right}` 46. `|card number: | *{{gift_card.last4}}` 47. `|card type: | {{gift_card.type}}` 48. `{{/if}}` 49. `{{#if wallet}}` 50. `{width:16,20; align:right}` 51. `method: {{wallet.method}}` 52. `|transaction id: | {{wallet.transaction_id}}` 53. `|merchant id: | {{wallet.merchant_id}}` 54. `|terminal id: | {{wallet.terminal_id}}` 55. `{{/if}}` ``` ## Line number descriptions Location and address data is pulled from fields on the **Location Information** page in the InStore Center. | Line number | Source and description of field | | --- | --- | | 1 | Inserts the logo image previously loaded into printer memory at position `32 32` (not rendered in SVG). Refer to printer documentation for logo injection. | | 2 | Centers the following text. | | 3 | Inserts the location name from the Location Name field. | | 4 | Inserts Address Line 1. Adds Address Line 2 if it contains text. | | 5 | Inserts the city from the City/Town field. | | 6 | Inserts the state or province from the State or Province/County field. | | 7 | Inserts the postal code from the Postal Code field. | | 8 | Inserts the phone number from the Telephone Number field. | | 9 | Left aligns following text. | | 10 | Starts a two-column table. Left column labels, right column values. Inserts `timestamp_formatted` (server-formatted). | | 11 | Inserts `workstation_id` (workstation where the transaction occurred). | | 12 | Inserts `user_id` (signed-in user). | | 13 | Inserts `order_number` assigned by InStore. The order number is also shown on the [Search Transactions](/instore/use-the-instore-center/transactions.md) page of the InStore Center. | | 14 | Inserts a blank line (line feed). | | 15 | Sets a condition that the following formatting will be used if one of the tenders listed is a `charge_card`, which is a credit or debit card. | | 16 | Sets a condition that the following formatting is used if there is `additional.information` available about the `charge_card`. | | 17 | Sets a condition that the following formatting will be used if there is a `receipt.data` package returned by the payment service provider (PSP) for the `charge_card`. | | 18 | Sets column character widths (`16`, `20`) and right text alignment for the next nested table. | | 19-35 | Creates a table that displays information that was returned in the `receipt.data` package. For more information, contact your PSP. | | 36 | Ends the `receipt.data` block; starts an `else` block for any `charge_card` without PSP `receipt.data`. | | 37 | Sets alternate column character widths (`24`, `20`) and right aligns text. | | 38-42 | Displays data returned for the `charge_card`. | | 43 | Closes the `additional.information` and `charge_card` conditional blocks. | | 44 | Opens a conditional block that uses the following formatting if the tender type is `gift_card`. | | 45 | Sets column character widths (`16`, `20`) and right aligns text. | | 46-47 | Inserts a table that displays `gift_card.last4` (obtained from the user who swiped, scanned, or typed the stored-value card) and `gift_card.type` (returned by the stored-value card processor). | | 48 | Closes the `gift_card` conditional block. | | 49 | Opens a conditional block that uses the following formatting if the tender type is `wallet`. | | 50 | Sets column character widths (`16`, `20`) and right aligns text. | | 51 | Inserts the `wallet.method` used (for example, tap, swipe, insert). | | 52-54 | Inserts wallet processor data. | | 55 | Closes the `wallet` conditional block. | You do not need a `cutfeed` directive. ReceiptLine adds this automatically at the end of the template. ## Related pages - [Area overview page with navigation](/instore.md) - [Previous page: Gift receipt template](/instore/implement-instore/receipts/gift-receipt.md) - [Next page: Refund receipt template](/instore/implement-instore/receipts/refund-receipt.md) - [Search documentation and API specs](/search.md)