# Create a Receipt

Create a Receipt resource to generate a receipt for a
Transfer or Authorization. Receipts are
supported for DEBIT and REVERSAL transfers, as well as CREDIT transfers
from unreferenced refunds.

Include basic details such as total amount, buyer billing information, merchant
name, and contact info.

Optionally, provide:

- an amount_breakdown of charges like subtotal, shipping, and surcharges
- an items list with product name, description, price, and quantity
- customization_details for structured data in the receipt header (subheader_attributes) and free-form text arrays above or below the receipt line items (summary_sections and footer_sections).
- additional_details as an array of key-value pairs to capture extra metadata, such as "Invoice Number" or "Service Date". additional_details is mutually exclusive with customization_details.subheader_attributes.

Endpoint: POST /receipts
Security: BasicAuth

## Header parameters:

  - `Finix-Version` (string)
    Specify the API version of your request. For more details, see Versioning.
    Example: "2022-02-01"

  - `Content-Type` (string)
    The data type being sent in the request body must be application/json.
    Example: "application/json"

## Response 201 fields (application/json):

  - `id` (string)
    The ID of the resource.

  - `created_at` (string)
    Timestamp of when the object was created.

  - `updated_at` (string)
    Timestamp of when the object was last updated.

  - `additional_details` (array,null)
    An array of key-value pairs for including metadata or custom information related to the receipt. Each entry must contain a name and a corresponding value as strings.

  - `additional_details.name` (string, required)
    The label or title for the additional detail. This should be a short, human-readable identifier such as "Invoice Number", "VIN", "Service Date", or "Technician".
    Example: "Invoice Number"

  - `additional_details.value` (string, required)
    The corresponding value for the detail. This can be any string that provides relevant context or information, such as an invoice number, vehicle identification number, or date.
    Example: "4FEBVZP0-0002"

  - `amount` (integer)
    The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
    Example: 5000

  - `application_id` (string)
    ID of the Application the resource was created under.

  - `currency` (string)
    ISO 4217 3-letter currency code.
    Enum: "CAD", "USD"

  - `amount_breakdown` (object,null)
    The individual charges/fees that add up to the total amount.

  - `amount_breakdown.subtotal_amount` (integer)
    The subtotal amount, in cents. This value reflects the total of all
line items before applying any discounts, taxes, shipping fees, or other
additional charges.

  - `amount_breakdown.discount_amount` (integer,null)
    A reduction applied to the total amount.

  - `amount_breakdown.shipping_amount` (integer,null)
    The amount charged for shipping the items in the order.

  - `amount_breakdown.estimated_tax_amount` (integer,null)
    The estimated amount of tax applied to the order.

  - `amount_breakdown.tip_amount` (integer,null)
    The tip amount included in the order total.

  - `amount_breakdown.additional_buyer_charges` (object,null)
    Additional charges that the buyer paid.

  - `amount_breakdown.additional_buyer_charges.convenience_amount` (integer,null)
    A convenience fee to charge the buyer for the transaction. This object property is mutually exclusive.

  - `amount_breakdown.additional_buyer_charges.rent_surcharge_amount` (integer,null)
    A rent surcharge to charge the buyer for the transaction. This object property is mutually exclusive.

  - `amount_breakdown.additional_buyer_charges.surcharge_amount` (integer,null)
    A surcharge amount to charge the buyer for the transaction. This object property is mutually exclusive.

  - `amount_breakdown.customs_duty_amount` (integer,null)
    The amount charged for customs duties.

  - `customization_details` (object,null)
    Custom attributes and free-form text sections to display on the PDF receipt.

customization_details.subheader_attributes is mutually exclusive with additional_details. Passing both in the request results in an error.

  - `customization_details.footer_sections` (array)
    Free-text sections displayed below the line items of the PDF receipt. For example, you can include a custom footer.

  - `customization_details.footer_sections.name` (string, required)
    The heading of a free-text section displayed below the line items of the PDF receipt.
    Example: "Return Policy"

  - `customization_details.footer_sections.value` (string, required)
    The body of a free-text section displayed below the line items of the PDF receipt.
    Example: "30-day return window with receipt. No refunds on clearance items. Exchanges allowed within 14 days."

  - `customization_details.subheader_attributes` (array)
    Fields shown near the top of the PDF, such as an invoice number or order ID.

customization_details.subheader_attributes is mutually exclusive with additional_details. Passing both in the request results in an error.

  - `customization_details.subheader_attributes.name` (string, required)
    The attribute name shown near the top of the PDF. This should be a short, human-readable identifier such as "Invoice Number", "VIN", "Service Date", or "Technician".
    Example: "PO Number"

  - `customization_details.subheader_attributes.value` (string, required)
    The corresponding value for the attribute shown near the top of the PDF. This can be any string that provides relevant context or information, such as an invoice number, vehicle identification number, or date.
    Example: "PO-12345"

  - `customization_details.summary_sections` (array)
    Free-text sections displayed above the line items of the PDF receipt, such as payment instructions.

  - `customization_details.summary_sections.name` (string, required)
    The heading of a free-text section displayed above the line items of the PDF receipt.
    Example: "Payment Instructions"

  - `customization_details.summary_sections.value` (string, required)
    The body of a free-text section displayed above the line items of the PDF receipt.
    Example: "Make a payment using our online portal."

  - `send_receipt_to_buyer` (boolean)
    Whether to send a receipt to the buyer.

  - `device_id` (string,null)
    Applies to [in-person payments](/guides/in-person-payments). The ID of the Point-of-Sale terminal used to process the payment.

  - `entity_details` (object)
    The Transfer or Authorization details from which to generate the receipt.

  - `entity_details.id` (string)
    The ID of the Transfer or Authorization.

  - `entity_details.created_at` (string)
    The timestamp when the Transfer or Authorization was created.

  - `entity_details.operation_key` (string,null)
    Details the operation that's performed in the transaction.
    Enum: "PUSH_TO_CARD", "PULL_FROM_CARD", "CARD_PRESENT_SALE", "CARD_PRESENT_UNREFERENCED_REFUND", "CARD_NOT_PRESENT_SALE", "CARD_NOT_PRESENT_CAPTURE", "SALE", "UNREFERENCED_REFUND", "MERCHANT_CREDIT_ADJUSTMENT", "MERCHANT_DEBIT_ADJUSTMENT"

  - `entity_details.type` (string)
    The type of transaction the receipt was created for.
    Enum: "TRANSFER", "AUTHORIZATION"

  - `type` (string)
    The type of receipt, either for the customer (BUYER) or the merchant (MERCHANT) for a CP (card-present) transaction. For a CNP transaction, the type will be BUYER.
    Enum: "BUYER", "MERCHANT"

  - `items` (array)
    An itemized list of products/services.

  - `items.description` (string)
    A item description.

  - `items.image_details` (object,null)
    Product/service image locations.

  - `items.image_details.primary_image_url` (string)
    The location of a item image.

  - `items.image_details.alternative_image_urls` (array)
    The locations of backup images if there is an issue with the primary image.

  - `items.item_details` (object,null)
    Additional details about the item.

  - `items.item_details.commodity_code` (string,null)
    Commodity code for the item.
    Example: "175-62-20"

  - `items.item_details.cost_per_unit` (integer,null)
    Cost per unit in cents.
    Example: 500

  - `items.item_details.merchant_product_code` (string,null)
    Merchant's product code for the item.
    Example: "1149611"

  - `items.item_details.unit_of_measure` (string,null)
    Unit of measure for the item.
    Example: "BX"

  - `items.name` (string)
    The item name.

  - `items.price_details` (object)
    Additional details about the price.

  - `items.price_details.sale_amount` (integer)
    The on-sale price of the item if it is different from the regular_amount.

  - `items.price_details.currency` (string)
    ISO 4217 3-letter currency code.
    Enum: "CAD", "USD"

  - `items.price_details.price_type` (string)
    Whether the price is on-sale (PROMOTIONAL) or the normal price (REGULAR).
    Enum: "PROMOTIONAL", "REGULAR"

  - `items.price_details.regular_amount` (integer)
    The standard price of the item without any adjustments applied (e.g. discounts, taxes, sales).

  - `items.price_details.amount_excluding_sales_tax` (integer)
    The amount excluding sales tax.

  - `items.price_details.item_discount_amount` (integer)
    The item discount.

  - `items.quantity` (integer)
    The item quantity.

  - `merchant_details` (object)
    Object containing Merchant details.

  - `merchant_details.id` (string)
    The ID of the Merchant.

  - `merchant_details.business_name` (string,null)
    The merchant's legal business name. For a sole proprietorship, pass the owner's legal first name, last name, and middle initial.

  - `merchant_details.doing_business_as` (string,null)
    Alternate names of the business. If there are no other names, pass the same value used for business_name.

  - `merchant_details.business_address` (object,null)
    The primary address for the legal entity.

  - `merchant_details.business_address.city` (string,null)
    City.

  - `merchant_details.business_address.country` (string,null)
    Enum: "ABW", "AFG", "AGO", "AIA", "ALA", "ALB", "AND", "ARE", "ARG", "ARM", "ASM", "ATA", "ATF", "ATG", "AUS", "AUT", "AZE", "BDI", "BEL", "BEN", "BES", "BFA", "BGD", "BGR", "BHR", "BHS", "BIH", "BLM", "BLR", "BLZ", "BMU", "BOL", "BRA", "BRB", "BRN", "BTN", "BVT", "BWA", "CAF", "CAN", "CCK", "CHE", "CHL", "CHN", "CIV", "CMR", "COD", "COG", "COK", "COL", "COM", "CPV", "CRI", "CUB", "CUW", "CXR", "CYM", "CYP", "CZE", "DEU", "DJI", "DMA", "DNK", "DOM", "DZA", "ECU", "EGY", "ERI", "ESH", "ESP", "EST", "ETH", "FIN", "FJI", "FLK", "FRA", "FRO", "FSM", "GAB", "GBR", "GEO", "GGY", "GHA", "GIB", "GIN", "GLP", "GMB", "GNB", "GNQ", "GRC", "GRD", "GRL", "GTM", "GUF", "GUM", "GUY", "HKG", "HMD", "HND", "HRV", "HTI", "HUN", "IDN", "IMN", "IND", "IOT", "IRL", "IRN", "IRQ", "ISL", "ISR", "ITA", "JAM", "JEY", "JOR", "JPN", "KAZ", "KEN", "KGZ", "KHM", "KIR", "KNA", "KOR", "KWT", "LAO", "LBN", "LBR", "LBY", "LCA", "LIE", "LKA", "LSO", "LTU", "LUX", "LVA", "MAC", "MAF", "MAR", "MCO", "MDA", "MDG", "MDV", "MEX", "MHL", "MKD", "MLI", "MLT", "MMR", "MNE", "MNG", "MNP", "MRT", "MSR", "MTQ", "MUS", "MWI", "MYS", "MYT", "NAM", "NCL", "NER", "NFK", "NGA", "NIC", "NIU", "NLD", "NOR", "NPL", "NRU", "NZL", "OMN", "PAK", "PAN", "PCN", "PER", "PHL", "PLW", "PNG", "POL", "PRI", "PRK", "PRT", "PRY", "PSE", "PYF", "QAT", "REU", "ROU", "RUS", "RWA", "SAU", "SDN", "SEN", "SGP", "SGS", "SHN", "SJM", "SLB", "SLE", "SLV", "SMR", "SOM", "SPM", "SRB", "SSD", "STP", "SUR", "SVK", "SVN", "SWE", "SWZ", "SXM", "SYC", "SYR", "TCA", "TCD", "TGO", "THA", "TJK", "TKL", "TKM", "TLS", "TON", "TTO", "TUN", "TUR", "TUV", "TWN", "TZA", "UGA", "UKR", "UMI", "URY", "USA", "UZB", "VAT", "VCT", "VEN", "VGB", "VIR", "VNM", "VUT", "WLF", "WSM", "XKX", "YEM", "ZAF", "ZMB", "ZWE"

  - `merchant_details.business_address.line1` (string,null)
    The first line of the address.

  - `merchant_details.business_address.line2` (string,null)
    The second line of the address.

  - `merchant_details.business_address.postal_code` (string,null)
    The zip or postal code.

  - `merchant_details.business_address.region` (string,null)
    2-letter state code.

  - `payment_instrument_details` (object)
    Object containing Payment Instrument details.

  - `payment_instrument_details.id` (string)
    The ID of the Payment Instrument.

  - `payment_instrument_details.type` (string)
    The type of Payment Instrument.
    Enum: "PAYMENT_CARD"

  - `payment_instrument_details.billing_address` (object)
    The primary address associated with the Payment Instrument.

  - `payment_instrument_details.billing_address.city` (string,null)
    City.

  - `payment_instrument_details.billing_address.country` (string,null)
    Enum: "ABW", "AFG", "AGO", "AIA", "ALA", "ALB", "AND", "ARE", "ARG", "ARM", "ASM", "ATA", "ATF", "ATG", "AUS", "AUT", "AZE", "BDI", "BEL", "BEN", "BES", "BFA", "BGD", "BGR", "BHR", "BHS", "BIH", "BLM", "BLR", "BLZ", "BMU", "BOL", "BRA", "BRB", "BRN", "BTN", "BVT", "BWA", "CAF", "CAN", "CCK", "CHE", "CHL", "CHN", "CIV", "CMR", "COD", "COG", "COK", "COL", "COM", "CPV", "CRI", "CUB", "CUW", "CXR", "CYM", "CYP", "CZE", "DEU", "DJI", "DMA", "DNK", "DOM", "DZA", "ECU", "EGY", "ERI", "ESH", "ESP", "EST", "ETH", "FIN", "FJI", "FLK", "FRA", "FRO", "FSM", "GAB", "GBR", "GEO", "GGY", "GHA", "GIB", "GIN", "GLP", "GMB", "GNB", "GNQ", "GRC", "GRD", "GRL", "GTM", "GUF", "GUM", "GUY", "HKG", "HMD", "HND", "HRV", "HTI", "HUN", "IDN", "IMN", "IND", "IOT", "IRL", "IRN", "IRQ", "ISL", "ISR", "ITA", "JAM", "JEY", "JOR", "JPN", "KAZ", "KEN", "KGZ", "KHM", "KIR", "KNA", "KOR", "KWT", "LAO", "LBN", "LBR", "LBY", "LCA", "LIE", "LKA", "LSO", "LTU", "LUX", "LVA", "MAC", "MAF", "MAR", "MCO", "MDA", "MDG", "MDV", "MEX", "MHL", "MKD", "MLI", "MLT", "MMR", "MNE", "MNG", "MNP", "MRT", "MSR", "MTQ", "MUS", "MWI", "MYS", "MYT", "NAM", "NCL", "NER", "NFK", "NGA", "NIC", "NIU", "NLD", "NOR", "NPL", "NRU", "NZL", "OMN", "PAK", "PAN", "PCN", "PER", "PHL", "PLW", "PNG", "POL", "PRI", "PRK", "PRT", "PRY", "PSE", "PYF", "QAT", "REU", "ROU", "RUS", "RWA", "SAU", "SDN", "SEN", "SGP", "SGS", "SHN", "SJM", "SLB", "SLE", "SLV", "SMR", "SOM", "SPM", "SRB", "SSD", "STP", "SUR", "SVK", "SVN", "SWE", "SWZ", "SXM", "SYC", "SYR", "TCA", "TCD", "TGO", "THA", "TJK", "TKL", "TKM", "TLS", "TON", "TTO", "TUN", "TUR", "TUV", "TWN", "TZA", "UGA", "UKR", "UMI", "URY", "USA", "UZB", "VAT", "VCT", "VEN", "VGB", "VIR", "VNM", "VUT", "WLF", "WSM", "XKX", "YEM", "ZAF", "ZMB", "ZWE"

  - `payment_instrument_details.billing_address.line1` (string,null)
    The first line of the address.

  - `payment_instrument_details.billing_address.line2` (string,null)
    The second line of the address.

  - `payment_instrument_details.billing_address.postal_code` (string,null)
    The zip or postal code.

  - `payment_instrument_details.billing_address.region` (string,null)
    2-letter state code.

  - `payment_instrument_details.bin` (string)
    The Bank Identification Number for the Payment Instrument.

  - `payment_instrument_details.brand` (string)
    The brand of the card saved in the Payment Instrument.
    Enum: "UNKNOWN", "DINERS_CLUB_INTERNATIONAL", "DANKORT", "MIR", "TROY", "UATP", "CHINA_T_UNION", "CHINA_UNION_PAY", "AMERICAN_EXPRESS", "VERVE", "RUPAY", "DISCOVER", "JCB", "MASTERCARD", "INTERPAYMENT", "INSTAPAYMENT", "MAESTRO", "VISA", "LANKAPAY", "DINERS_CLUB", "INTERAC"

  - `payment_instrument_details.card_type` (string)
    The type of payment card saved in the Payment Instrument.
    Enum: "CREDIT", "DEBIT", "HSA_FSA", "NON_RELOADABLE_PREPAID", "RELOADABLE_PREPAID", "UNKNOWN"

  - `payment_instrument_details.last_four` (string)
    The last four digits of the card or bank account number.

  - `payment_instrument_details.name` (string,null)
    The name of the bank account or card owner.

  - `network_details` (object,null)
    An object containing EMV data.

  - `network_details.application_label` (string,null)
    The EMV application label. Tag 50 from the EMVCo standard.

  - `network_details.application_identifier` (string,null)
    The ID of the application used in the transaction. Tag 9F06 from the EMVCo standard.

  - `network_details.cryptogram` (string,null)
    The cryptogram returned by the card. Tag 9F26 of the EMVCo standard.

  - `network_details.approval_code` (string,null)
    The unique ID used to identify the approval of the Transfer.

  - `requested_delivery_methods` (array)
    An array of delivery methods used to send the receipt.

  - `requested_delivery_methods.type` (string, required)
    The type of delivery method used to send the receipt.
    Enum: "EMAIL", "SMS", "PRINT"

  - `requested_delivery_methods.destinations` (array, required)
    A list of destinations to send the receipt.

  - `receipt_url` (string)
    The location of the receipt on Finix's Amazon S3.

  - `_links` (object)
    An object containing link(s) relevant to the request. You can store these links for follow-up requests.

  - `_links.self` (object)

  - `_links.self.href` (string)
    The path to the new resource.

## Response 400 fields (application/json):

  - `total` (integer, required)
    Total number of errors returned.

  - `_embedded` (object, required)
    Container for embedded error objects.

  - `_embedded.errors` (array)
    List of individual error objects.

  - `_embedded.errors.code` (string)
    The error code. The UNKNOWN error code is returned for a 401 Unauthorized or 403 Forbidden request.

  - `_embedded.errors.logref` (string)
    A log reference identifier for the error, useful for debugging and support purposes.

  - `_embedded.errors.message` (string)
    A human-friendly error message.

  - `_embedded.errors._links` (object)
    Links related to this error.

  - `_embedded.errors._links.self` (object)
    Link to the resource related to the error.

  - `_embedded.errors._links.self.href` (string)
    URL of the related resource.

## Response 401 fields (application/json):

  - `total` (integer, required)
    Total number of errors returned.

  - `_embedded` (object, required)
    Container for embedded error objects.

  - `_embedded.errors` (array)
    List of individual error objects.

  - `_embedded.errors.code` (string)
    The error code. The UNKNOWN error code is returned for a 401 Unauthorized or 403 Forbidden request.

  - `_embedded.errors.logref` (string)
    A log reference identifier for the error, useful for debugging and support purposes.

  - `_embedded.errors.message` (string)
    A human-friendly error message.

  - `_embedded.errors._links` (object)
    Links related to this error.

  - `_embedded.errors._links.self` (object)
    Link to the resource related to the error.

  - `_embedded.errors._links.self.href` (string)
    URL of the related resource.

## Response 403 fields (application/json):

  - `total` (integer, required)
    Total number of errors returned.

  - `_embedded` (object, required)
    Container for embedded error objects.

  - `_embedded.errors` (array)
    List of individual error objects.

  - `_embedded.errors.code` (string)
    The error code. The UNKNOWN error code is returned for a 401 Unauthorized or 403 Forbidden request.

  - `_embedded.errors.logref` (string)
    A log reference identifier for the error, useful for debugging and support purposes.

  - `_embedded.errors.message` (string)
    A human-friendly error message.

  - `_embedded.errors._links` (object)
    Links related to this error.

  - `_embedded.errors._links.self` (object)
    Link to the resource related to the error.

  - `_embedded.errors._links.self.href` (string)
    URL of the related resource.

## Response 406 fields (application/json):

  - `total` (integer, required)
    Total number of errors returned.

  - `_embedded` (object, required)
    Container for embedded error objects.

  - `_embedded.errors` (array)
    List of individual error objects.

  - `_embedded.errors.code` (string)
    The error code. The UNKNOWN error code is returned for a 401 Unauthorized or 403 Forbidden request.

  - `_embedded.errors.logref` (string)
    A log reference identifier for the error, useful for debugging and support purposes.

  - `_embedded.errors.message` (string)
    A human-friendly error message.

  - `_embedded.errors._links` (object)
    Links related to this error.

  - `_embedded.errors._links.self` (object)
    Link to the resource related to the error.

  - `_embedded.errors._links.self.href` (string)
    URL of the related resource.

## Response 422 fields (application/json):

  - `total` (integer, required)
    Total number of errors returned.

  - `_embedded` (object, required)
    Container for embedded error objects.

  - `_embedded.errors` (array)
    List of individual error objects.

  - `_embedded.errors.code` (string)
    The error code. The UNKNOWN error code is returned for a 401 Unauthorized or 403 Forbidden request.

  - `_embedded.errors.logref` (string)
    A log reference identifier for the error, useful for debugging and support purposes.

  - `_embedded.errors.message` (string)
    A human-friendly error message.

  - `_embedded.errors._links` (object)
    Links related to this error.

  - `_embedded.errors._links.self` (object)
    Link to the resource related to the error.

  - `_embedded.errors._links.self.href` (string)
    URL of the related resource.


