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 colleague app.
  • 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 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 numberSource and description of field
1Inserts the logo image previously injected into printer memory at position 32 32 (not rendered in SVG). Refer to printer documentation for logo injection.
2Centers the following text.
3Inserts the location name from the Location Name field.
4Inserts Address Line 1. Adds Address Line 2 if it contains text.
5Inserts the city from the City/Town field.
6Inserts the state or province from the State or Province/County field.
7Inserts the postal code from the Postal Code field.
8Inserts the phone number from the Telephone Number field.
9Left aligns following text.
10Starts a two-column table. Left column labels, right column values. Inserts timestamp_formatted (server-formatted).
11Inserts workstation_id (workstation where the transaction occurred).
12Inserts user_id (signed-in user).
13Inserts order_number assigned by InStore. The order number is also shown on the Search Transactions page of the InStore Center.
14Inserts a blank line (line feed).
15Sets 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.
16Sets a condition that the following formatting is used if there is additional.information available about the charge_card.
17Sets 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.
18Sets column character widths (16, 20) and right text alignment for the next nested table.
19-35Creates a table that displays information that was returned in the receipt.data package. For more information, contact your PSP.
36Ends the receipt.data block; starts an else block for any charge_card without PSP receipt.data.
37Sets alternate column character widths (24, 20) and right aligns text.
38-42Displays data returned for the charge_card.
43Closes the additional.information and charge_card conditional blocks.
44Opens a conditional block that uses the following formatting if the tender type is gift_card.
45Sets column character widths (16, 20) and right aligns text.
46-47Inserts a table that displays gift_card.last4 (obtained from the user who swiped, scanned, or typed the gift card) and gift_card.type (returned by the gift card processor).
48Closes the gift_card conditional block.
49Opens a conditional block that uses the following formatting if the tender type is wallet.
50Sets column character widths (16, 20) and right aligns text.
51Inserts the wallet.method used (for example, tap, swipe, insert).
52-54Inserts wallet processor data.
55Closes the wallet conditional block.
You do not need a cutfeed directive. ReceiptLine adds this automatically at the end of the template.