# Authorizes a transaction

POST {{baseURL}}/pay-api/v1/transactions/auth
This endpoint authorizes a payment transaction.
This verifies that the customer's payment method is valid and that sufficient funds or credit are available.
See Also:
To create a transaction, see POST /pay-api/v1/transactions/sale.
To capture a transaction, see POST /pay-api/v1/transactions/capture.
To void a transaction, see POST /pay-api/v1/transactions/void.
To retrieve a transaction by ID, see GET /pay-api/v1/transactions/{transactionId}.
To verify a card without charging it, see POST /pay-api/v1/transactions/card-verification.

Endpoint: POST /pay-api/v1/transactions/auth
Version: V1
Security: Bearer

## Security:

  - `Bearer` (unknown)
    http bearer JWT

## Request fields (application/json):

  - `amount` (number, required)
    Specifies the amount of the transaction.

Example: 29.99
    Example: 29.99

  - `accountNumber` (string)
    Specifies the card number used for the transaction.

This field may contain a token issued against a card number.
This is de-tokenized by TransIT to process the transaction.

Example: 4111111111111111
    Example: 4111111111111111

  - `currencyId` (integer, required)
    Specifies the Flute currency identifier.
Always set to *1*.
Example: 1
    Example: 1

  - `expirationMonth` (integer, required)
    Specifies the expiration month of the card.

Example: 7
    Example: 7

  - `expirationYear` (integer, required)
    Specifies the expiration year of the card.

Example: 2032
    Example: 2032

  - `paymentMethodId` (string)
    Specifies the customer payment method identifier.
We recommend using `paymentMethodId` instead of `accountNumber`.
Example: b4c48037-4c5d-4e6f-7a8b-9c0d1e2f3a69
    Example: b4c48037-4c5d-4e6f-7a8b-9c0d1e2f3a69

  - `cardDataSource` (integer)
    Specifies the card data source.
Possible values:
| Value | Name | Description |
|  --- | --- | --- |
| 1 | Internet | Virtual Terminal, ISV API |
| 2 | Swipe | Track1, Track2 |
| 3 | NFC | EMV Tags, Track2 |
| 4 | EMV | EMV Tags |
| 5 | EMVContactless | EMV Tags |
| 6 | FallbackSwipe | Track 2 |
| 7 | Manual | Card present keyed transaction |

Example: 2
    Example: 2

  - `deviceId` (string)
    Specifies the device when using the Flute mobile app.
If this value is included, the user is linked to that device.
This stores their name as the transaction creator `createdBy`.
Example: a30f9b66-b2f0-4b18-a03a-b861b00afa8b
    Example: a30f9b66-b2f0-4b18-a03a-b861b00afa8b

  - `paymentProcessorId` (string)
    Specifies the payment processor identifier.
A list of available payment processers can be found with GET {{baseURL}}/pay-api/v1/configurations/payments.
See response `availablePaymentProcessors.id`.
If omitted, the merchant's default payment processor will be used.
Example: 37bd9ccb-2c9d-45cf-a65f-c9a224bdeaeb
    Example: 37bd9ccb-2c9d-45cf-a65f-c9a224bdeaeb

  - `customerId` (string)
    Specifies the customer identifier.
This is used when saving the payment method.
If this value is provided, the payment method is saved to the specified customer.
If this value is not provided, a new customer record is created.
Example: fd9198a4-eb6f-4620-9603-4f4638289de5
    Example: fd9198a4-eb6f-4620-9603-4f4638289de5

  - `tipAmount` (number)
    Specifies the absolute amount (in USD) of the tip to be added.
This amount adds to the number included in the field `amount` earlier.
For example if `amount` is $100 and this `tipAmount` is $10, the authorize amount is $110.
No additional tip amount or tip rate is required to be added, such as from POST {{baseURL}}/pay-api/v1/transactions/tip-adjustment

Values for `tipAmount` and `tipRate` are mutually exclusive.
Care must be taken to include one or the other but not both.
Example: 14.50 (for $14.50)
    Example: 14.5

  - `tipRate` (number)
    Specifies the tip rate as a percentage of the base amount to be added.
This amount adds to the number included in the field `amount` earlier.
For example if `amount` is $100 and this `tipRate` is `10`, the authorize amount is $110.
No additional tip amount or tip rate is required to be added, such as from POST {{baseURL}}/pay-api/v1/transactions/tip-adjustment

Values for `tipAmount` and `tipRate` are mutually exclusive.
Care must be taken to include one or the other but not both.
Example: 15 (as 15%)
    Example: 15

  - `percentageOffRate` (number)
    The percent of the base amount to be discounted.
Example:
8.25 (as 8.25%)
12 (as 12%)
    Example: 12

  - `surchargeRate` (number)
    The percent of transaction amount to be added to the amount after `percentageOffRate` is applied.
Example:
8.25 (as 8.25%)
12 (as 12%)
    Example: 12

  - `useCardPrice` (boolean)
    Parameter is mandatory when merchant has ZeroCostProcessingOption == Dual
Pricing.
Parameter must be null when merchant has other ZeroCostProcessingOption.
For Dual Pricing, amount should be the card price and useCardPrice should
be `true`, or amount should be the cash price and useCardPrice should be
`false`.

  - `appVersion` (string)
    Specifies the version of the mobile app.
This value is stored on the transaction.
It is visible in the transaction details.
The `appVersion` value takes priority over the `sdkVersion` if both are present.
Example: 10.413.01
    Example: 10.413.01

  - `sdkVersion` (string)
    Specifies the version of the Flute SDK.
This value is stored on the transaction.
It is visible in the transaction details.
The `appVersion` value takes priority over the `sdkVersion` if both are present.
Example: 8.61.01
    Example: 8.61.01

  - `billingAddress` (object)
    Specifies an object defining the address.

  - `billingAddress.city` (string, required)
    Specifies the name of the city.

Example: Chicago
    Example: Chicago

  - `billingAddress.countryId` (integer, required)
    Specifies the Flute country identifier.
Example: 1
    Example: 1

  - `billingAddress.line1` (string)
    Specifies the street address.

Example: 322 Unicorn Boulevard
    Example: 322 Unicorn Boulevard

  - `billingAddress.line2` (string)
    Specifies additional street address information.

Example: Apt. Block 6
    Example: Apt. Block 6

  - `billingAddress.postalCode` (string)
    Specifies the postal or ZIP code.
Examples:
60601
60601-0001
    Example: 60601-0001

  - `billingAddress.stateName` (string)
    Indicates the full state name.
Examples:
Texas
Washington
Illinois
    Example: Illinois

  - `billingAddress.stateId` (integer)
    Specifies the Flute US state or territory identifier code.
Example: 1
    Example: 1

  - `contactInfo` (object)
    This group contains the customer's contact details.

  - `contactInfo.companyName` (string, required)
    Indicates the name of the customer's company or organization.

Example: Peppared Street Cafe
    Example: Peppared Street Cafe

  - `contactInfo.firstName` (string)
    Indicates the customer's first name.

Example: Alexandro
    Example: Alexandro

  - `contactInfo.lastName` (string)
    Indicates the customer's last name.

Example: Peppared
    Example: Peppared

  - `contactInfo.email` (string)
    Indicates the customer's email.
Example: peppared@example.com
    Example: peppared@example.com

  - `contactInfo.mobilePhoneNumber` (string)
    Indicates the customer's mobile phone number.
Example: +15551234567
    Example: +15551234567

  - `contactInfo.smsNotification` (boolean)
    Specifies the customer is sent an SMS notification.
If `true`, the customer is sent an SMS notification.
If `false`, the customer is not sent an SMS notification.
Example: true
    Example: true

  - `securityCode` (string)
    The three or four digit security code on the credit card.

  - `track1` (string)
    The card data from track 1 of the magnetic stripe.

  - `track2` (string)
    Information stored on the magnetic stripe of a credit or debit card, including the card number, expiration date, and cardholder's name.

  - `emvTags` (array)
    Each tag corresponds to a particular piece of data stored on the card.

  - `emvPaymentAppVersion` (string)
    The version number of the payment application in use.

  - `pin` (string)
    Specifies the encrypted PIN for the terminal.

  - `pinKsn` (string)
    Specifies the KSN for DUKPT PIN encryption.

Required only if the PIN is encrypted using DUKPT.

  - `emvFallbackCondition` (integer)
    Possible values:
| Value | Name |
|  --- | --- |
| 0 | ICCTerminalError |
| 1 | NoCandidateList |

Example: 2
    Example: 2

  - `emvFallbackLastChipRead` (integer)
    Possible values:
| Value | Name |
|  --- | --- |
| 0 | Successful |
| 1 | Failed |
| 2 | NotAChipTransaction |
| 3 | Unknown |

Example: 1
    Example: 1

  - `referenceId` (string)
    Specifies an external transaction identifier for client-side tracking.

Also used in duplicate control validation.
A unique value allows similar transactions to process as distinct, bypassing duplicate blocking when needed.

  - `l2` (object)
    Specifies the Level 2 card data for the transaction.

  - `l2.salesTaxRate` (number)
    Specifies the sales tax rate.
Example: 3.5 (for 3.5%)
    Example: 3.5

  - `l3` (object)
    Specifies the Level 3 card data for the transaction.

  - `l3.invoiceNumber` (string)
    The Value Added Tax(VAT) invoice number associated with the transaction. Max length=15. Allowed characters: a-z A-Z 0-9 Space

  - `l3.purchaseOrder` (string)
    The value used by the customer to identify an order. Issued by the buyer to the seller. Max length=25. Allowed characters: a-z A-Z 0-9 Space

  - `l3.shippingCharges` (number)
    The dollar amount for shipping or freight charges applied to a product or transaction. Numeric. Max length=12. Allowed characters: 0-9 .(dot)

  - `l3.dutyCharges` (number)
    Indicates the total charges for any import or export duties included in the order. Numeric. Max length=12. Allowed characters: 0-9 .(dot)

  - `l3.products` (array)
    Multiple products can be sent in a single request.

  - `l3.products.name` (string)
    The name of the product. Alphanumeric and special characters. Min Length=1, max length=50. Allowed special characters: Space, Slash /, Hyphen -, Comma

  - `l3.products.code` (string)
    The merchant-assigned product identification code.

The code may only contain letters, digits, spaces, and slashes.

Example: SKU/24601
    Example: SKU/24601

  - `l3.products.unitPrice` (number)
    The product amount. Numeric. Max length=12. Allowed characters: 0-9 .(dot)

  - `l3.products.measurementUnit` (string)
    The unit of measurement for the product. Alphanumeric and special character Space. Max length=20

  - `l3.products.quantity` (number)
    The quantity of a product. Decimal number. Max length=12

  - `l3.products.taxAmount` (number)
    The tax amount established on a product. Numeric. Max length=12. Allowed characters: 0-9 .(dot)

  - `l3.products.discountRate` (number)
    The discount percentage applied to a product. Corresponds with productDiscountName. This does not impact transaction functionality. It is used for reporting purposes. Numeric. Max Length=4. Allowed range:0.01 to 100

  - `l3.products.description` (string)
    The description of the product. Alphanumeric and special characters. Min length=1, max length=200.

  - `l3.products.measurementUnitId` (integer)
    MeasurementUnitId

  - `customerInitiatedTransaction` (boolean)
    Customer Initiated Transaction if true
Merchant Initiated Transaction if false
Default value - false.

## Request examples:

  - `Card not present Auth` (unknown)

  - `Swipe Auth` (unknown)

  - `NFC Auth` (unknown)

  - `EMV auth` (unknown)

  - `EMV contactless auth` (unknown)

  - `Fallback swipe Auth` (unknown)

  - `Level 2-3 data` (unknown)

## Response 200:

  - `200` (unknown)
    OK

## Response 200 fields (application/json):

  - `transactionId` (string)
    Identifies the transaction identifier.

Example: c7c15dd0-03e7-4e55-917c-54bedafba5e7
    Example: c7c15dd0-03e7-4e55-917c-54bedafba5e7

  - `transactionDateTime` (string)
    Specifies the date and time (in an ISO 8601 date-time UTC format) of the transaction execution.

Examples: 2026-02-19T20:24:52.934Z
    Example: 2026-02-19T20:24:52.934Z

  - `typeId` (integer)
    Type id of transaction.

  - `type` (string)
    Type name of transaction

  - `statusId` (integer)
    Indicates the status identifier of the transaction.

  - `status` (string)
    Indicates the status name of the transaction

  - `details` (object)
    Indicates additional processor-level response details for the transaction.

  - `details.hostResponseCode` (string)
    Indicates a two-character response code for the status of the authorization request.

Example: 00
    Example: 00

  - `details.hostResponseMessage` (string)
    Indicates the response message from the authorization host.

Example: APPROVAL
    Example: APPROVAL

  - `details.hostResponseDefinition` (string)
    Indicates the definition of the host response code.

Example: Approved and completed
    Example: Approved and completed

  - `details.code` (string)
    Indicates the high-level operation response.
Valid values are:
| Value | Description |
|  --- | --- |
| Approve | The operation was approved. |
| Decline | The operation was declined. |
| Error | The operation encountered a processing error. |

Example: Approve
    Example: Approve

  - `details.message` (string)
    Indicates a free-form result description.

Example: Success
    Example: Success

  - `details.processorResponseCode` (string)
    Indicates the processor-specific response code that precisely describes the operation result.

Example: 1000
    Example: 1000

  - `details.authCode` (string)
    Indicates the authorization code received for the transaction.

Example: VTLMC1
    Example: VTLMC1

  - `details.maskedPan` (string)
    Indicates the customer’s PAN (primary account number).
This is the payment card number.
The value is partially masked, or blocked, for security.
Example: ********3743
    Example: ********3743

  - `transactionReceipt` (object)
    Indicates an object describing the transaction receipt.
The transaction receipt will be null or empty before the transaction is completed.
After the completed transaction, it will be filled out.

  - `transactionReceipt.transactionId` (string)
    Identifies the transaction identifier.

Example: c7c15dd0-03e7-4e55-917c-54bedafba5e7
    Example: c7c15dd0-03e7-4e55-917c-54bedafba5e7

  - `transactionReceipt.transactionDateTime` (string)
    Identifies the date-time (in an ISO 8601 date-time UTC format) of the transaction execution.

Examples: 2026-02-19T20:24:52.934Z
    Example: 2026-02-19T20:24:52.934Z

  - `transactionReceipt.amount` (object)
    Indicates an object detailing the amount.

  - `transactionReceipt.amount.baseAmount` (number)
    Identifies the original amount (in USD) of a transaction before adjustments are applied.
Example: 129.99 (for $129.99)
    Example: 129.99

  - `transactionReceipt.amount.percentageOffAmount` (number)
    Identifies the discount amount (in USD) taken off.
This discount was calculated using the preset percentage from `percentageOffRate`.
Example: 12.50 (for $12.50)
    Example: 12.5

  - `transactionReceipt.amount.percentageOffRate` (number)
    Identifies the discount percentage.
This value is the percentage rate for the discount.
This discount percentage calculates the discount amount for `percentageOffAmount`.
Example: 3.5 (as 3.5%)
    Example: 3.5

  - `transactionReceipt.amount.cashDiscountAmount` (number)
    Identifies the discount amount (in USD) when a cash (or cash-equivalent) discount is applied.
This discount was calculated using the preset percentage from `cashDiscountRate`.
Example: 10.55 (for $10.55)
    Example: 10.55

  - `transactionReceipt.amount.cashDiscountRate` (number)
    Identifies the discount percentage for a cash (or cash-equivalent) discount.
This value is the percentage rate for the discount.
This discount percentage calculates the discount amount for `cashDiscountAmount`.
Example: 1.5 (as 1.5%)
    Example: 1.5

  - `transactionReceipt.amount.surchargeAmount` (number)
    Identifies the amount (in USD) when a surcharge is applicable.
This is a surcharge on the base amount.
This surcharge was calculated using the preset percentage from `surchargeRate`.
Example: 6.45 (for $6.45)
    Example: 6.45

  - `transactionReceipt.amount.surchargeRate` (number)
    Identifies the surcharge percentage.
This is a surcharge on the base amount.
This value is surcharge percentage rate.
This surcharge percentage calculates the surcharge amount for `surchargeAmount`.
Example: 1.5 (as 1.5%)
    Example: 1.5

  - `transactionReceipt.amount.tipAmount` (number)
    Specifies the absolute amount (in USD) of the tip to be added.
This amount adds to the base amount of the original transaction.
That transaction must be authorized first.

Values for `tipAmount` and `tipRate` are mutually exclusive.
Care must be taken to include one or the other but not both.
If neither value is provided, no tip is added.
Example: 14.50 (for $14.50)
    Example: 14.5

  - `transactionReceipt.amount.tipRate` (number)
    Specifies the tip rate as a percentage of the base amount to be added.
This amount adds to the base amount of the original transaction.
That transaction must be authorized first.

Values for `tipAmount` and `tipRate` are mutually exclusive.
Care must be taken to include one or the other but not both.
If neither value is provided, no tip is added.
Example: 15 (as 15%)
    Example: 15

  - `transactionReceipt.amount.totalAmount` (number)
    Specifies the transaction's total amount.

This includes the base amount, tips, taxes, shipping, discounts, and other charges.

Example: 3219.45
    Example: 3219.45

  - `transactionReceipt.currencyId` (integer)
    Indicates the Flute currency identifier.
Always set to *1*.
Example: 1
    Example: 1

  - `transactionReceipt.currency` (string)
    Indicates the currency code (in ISO 4217 currency code).

Example: USD
    Example: USD

  - `transactionReceipt.processorId` (string)
    Indicates the processor identifier.

Example: ef08c4d5-6e7f-4a8b-9c0d-1e2f3a4b5c81
    Example: ef08c4d5-6e7f-4a8b-9c0d-1e2f3a4b5c81

  - `transactionReceipt.processor` (string)
    Indicates the payment processor.
This is the system or company that handles the actual movement and authorization of payment transactions.
Examples:
TSYS
Fiserv
    Example: TSYS

  - `transactionReceipt.operationTypeId` (integer)
    Indicates the operation type value.
Possible values:
| Id | Operation Type |
|  --- | --- |
| 1 | PayNow |
| 2 | Subscription |

example: 1
    Example: 1

  - `transactionReceipt.operationType` (string)
    Indicates the operation type.
Possible values:
| Operation Type | Id |
|  --- | --- |
| PayNow | 1 |
| Subscription | 2 |

Example: PayNow
    Example: PayNow

  - `transactionReceipt.paymentMethodTypeId` (integer)
    Indicates the payment method type identifier.
Value values:
| Id | Name |
|  --- | --- |
| 1 | Card (for credit card) |
| 2 | ElectronicCheck |

Example: 2
    Example: 2

  - `transactionReceipt.paymentMethodType` (string)
    Indicates the payment method type name.
Value values:
| Name | Id | Notes |
|  --- | --- | --- |
| Card | 1 | For credit or debit card |
| ElectronicCheck | 2 |  |

Example: Card
    Example: Card

  - `transactionReceipt.transactionTypeId` (integer)
    Indicates the transaction type identifier.
Possible values:
| Type | Value |
|  --- | --- |
| Authorization | 1 |
| Sale | 2 |
| Capture | 3 |
| Void | 4 |
| Refund | 5 |
| Verify | 6 |

Example: 5
    Example: 5

  - `transactionReceipt.transactionType` (string)
    Indicates the transaction type name.
Possible values:
| Value | Type |
|  --- | --- |
| Authorization | 1 |
| Sale | 2 |
| Capture | 3 |
| Void | 4 |
| Refund | 5 |
| Verify | 6 |

Example: Refund
    Example: Refund

  - `transactionReceipt.customerId` (string)
    Specifies the customer identifier.
This is used when saving the payment method.
If this value is provided, the payment method is saved to the specified customer.
If this value is not provided, a new customer record is created.
Example: fd9198a4-eb6f-4620-9603-4f4638289de5
    Example: fd9198a4-eb6f-4620-9603-4f4638289de5

  - `transactionReceipt.customerPan` (string)
    Indicates customer’s PAN (primary account number).
This is the payment card number.
The value is masked except for a few numbers for additional security.
Example: ************4512
    Example: ************4512

  - `transactionReceipt.cardTokenType` (integer)
    Identifies the card token type.
Possible values:
| Id | Type | Description |
|  --- | --- | --- |
| 1 | Local | Regular |
| 2 | Network | Network |

Example: 2
    Example: 2

  - `transactionReceipt.statusId` (integer)
    Indicates the Flute transaction status code.
Example: 2
    Example: 2

  - `transactionReceipt.status` (string)
    Indicates the Flute transaction status type.
Example: Captured
    Example: Captured

  - `transactionReceipt.merchantName` (string)
    Indicates the merchant's name.

Example: Peppared Street Cafe
    Example: Peppared Street Cafe

  - `transactionReceipt.merchantAddress` (string)
    Indicates the merchant's address.

Example: 123 Main St, Springfield, IL 62701
    Example: 123 Main St, Springfield, IL 62701

  - `transactionReceipt.merchantPhoneNumber` (string)
    Indicates the merchant's phone number.
Example: +14155552309
    Example: +14155552309

  - `transactionReceipt.merchantEmailAddress` (string)
    Indicates the merchant's email address.
Example: peppared@example.com
    Example: peppared@example.com

  - `transactionReceipt.merchantWebsite` (string)
    Indicates the merchant's website.

Example: https://www.peppared.example.com
    Example: https://www.peppared.example.com

  - `transactionReceipt.authCode` (string)
    Indicates the authorization code returned by the card processor.

Example: 003772
    Example: 003772

  - `transactionReceipt.source` (object)
    Indicates the source of the transaction.

  - `transactionReceipt.source.typeId` (integer)
    Indicates the identifier of the source type.

Example: 1
    Example: 1

  - `transactionReceipt.source.type` (string)
    Indicates the name of the source type.

Example: Api
    Example: Api

  - `transactionReceipt.source.id` (string)
    Indicates the identifier of the source.

Example: 5c6d7e8f-9a0b-4c1d-8e2f-3a4b5c6d7e81
    Example: 5c6d7e8f-9a0b-4c1d-8e2f-3a4b5c6d7e81

  - `transactionReceipt.source.name` (string)
    Indicates the name of the source.

Example: Terminal 12
    Example: Terminal 12

  - `transactionReceipt.cardholderAuthenticationMethodId` (integer)
    Possible values:
| Value | Name |
|  --- | --- |
| 0 | NotAuthenticated |
| 1 | PIN |
| 2 | ElectronicSignatureAnalysis |
| 3 | ManualSignature |
| 4 | ManualOther |
| 5 | Unknown |
| 6 | SystematicOther |
| 7 | ETicketEnvAmex |
| 8 | OfflinePin |

Example: 0
    Example: 0

  - `transactionReceipt.cardholderAuthenticationMethod` (string)
    Indicates the name of the cardholder authentication method used for the transaction.

Example: PIN
    Example: PIN

  - `transactionReceipt.cvmResultMsg` (string)
    Indicates the CVM (cardholder verification method) result message returned by the card processor.

Example: Approved
    Example: Approved

  - `transactionReceipt.cardDataSourceId` (integer)
    Specifies the card data source.
Possible values:
| Value | Name | Description |
|  --- | --- | --- |
| 1 | Internet | Virtual Terminal, ISV API |
| 2 | Swipe | Track1, Track2 |
| 3 | NFC | EMV Tags, Track2 |
| 4 | EMV | EMV Tags |
| 5 | EMVContactless | EMV Tags |
| 6 | FallbackSwipe | Track 2 |
| 7 | Manual | Card present keyed transaction |

Example: 2
    Example: 2

  - `transactionReceipt.cardDataSource` (string)
    Indicates the name of the card data source used for the transaction.

Example: Swipe
    Example: Swipe

  - `transactionReceipt.responseCode` (string)
    Indicates a response code regarding the transaction.

Example: 000
    Example: 000

  - `transactionReceipt.responseDescription` (string)
    Indicates a free-formed description regarding the transaction.

Example: Command Successful. Approved.
    Example: Command Successful. Approved.

  - `transactionReceipt.cardProcessingDetails` (object)
    Indicates the card processing details for the transaction.

  - `transactionReceipt.cardProcessingDetails.authCode` (string)
    Indicates the authorization code returned by the card processor.

Example: 003772
    Example: 003772

  - `transactionReceipt.cardProcessingDetails.mid` (string)
    Indicates the MID (merchant identifier) assigned to this transaction.

Example: 43252511
    Example: 43252511

  - `transactionReceipt.cardProcessingDetails.tid` (string)
    Indicates the TID (terminal identifier) assigned to this transaction.

Example: 8820432549239101
    Example: 8820432549239101

  - `transactionReceipt.cardProcessingDetails.cardCreditDebitTypeId` (integer)
    Indicates the identifier of whether the card is credit or debit.
Possible values:
| Value | Name |
|  --- | --- |
| 1 | Credit |
| 2 | Debit |
| 3 | Unknown |

Example: 1
    Example: 1

  - `transactionReceipt.cardProcessingDetails.cardCreditDebitType` (string)
    Indicates the name of whether the card is credit or debit.

Example: Credit
    Example: Credit

  - `transactionReceipt.cardProcessingDetails.processCreditDebitTypeId` (integer)
    Indicates the identifier of whether the transaction was processed as credit or debit.
Possible values:
| Value | Name |
|  --- | --- |
| 1 | Credit |
| 2 | Debit |
| 3 | Unknown |

Example: 1
    Example: 1

  - `transactionReceipt.cardProcessingDetails.processCreditDebitType` (string)
    Indicates the name of whether the transaction was processed as credit or debit.

Example: Credit
    Example: Credit

  - `transactionReceipt.cardProcessingDetails.rrn` (string)
    Indicates the RRN (retrieval reference number).

This is a transaction tracking identifier used to specify and trace a transaction across systems.

Example: 10628361287F
    Example: 10628361287F

  - `transactionReceipt.cardProcessingDetails.cardTypeId` (integer)
    Indicates the Flute credit card type identifier code.
Example: 1
    Example: 1

  - `transactionReceipt.cardProcessingDetails.cardType` (string)
    Indicates the name of the credit card.
Example: Visa
    Example: Visa

  - `transactionReceipt.achProcessingDetails` (object)
    Indicates the ACH (automated clearing house) processing details for the transaction.

  - `transactionReceipt.achProcessingDetails.customerAccountNumber` (string)
    Indicates the customer's bank account number.

Example: 5413591081013511
    Example: 5413591081013511

  - `transactionReceipt.achProcessingDetails.customerRoutingNumber` (string)
    Indicates the customer's bank routing number.

Example: 026009593
    Example: 026009593

  - `transactionReceipt.achProcessingDetails.accountHolderType` (string)
    Indicates the name of the account holder type.

Example: Business
    Example: Business

  - `transactionReceipt.achProcessingDetails.accountHolderTypeId` (integer)
    Indicates the account holder type identifier.
Possible values:
| Type ID | Account Type | Description |
|  --- | --- | --- |
| 1 | Business | Business |
| 2 | Personal | Personal |

Example: 1
    Example: 1

  - `transactionReceipt.achProcessingDetails.accountType` (string)
    Indicates the name of the account type.

Example: Checking
    Example: Checking

  - `transactionReceipt.achProcessingDetails.accountTypeId` (integer)
    Indicates the account type identifier.
Possible values:
| Type ID | Account Type | Description |
|  --- | --- | --- |
| 1 | Checking | Checking |
| 2 | Savings | Savings |

Example: 1
    Example: 1

  - `transactionReceipt.achProcessingDetails.taxId` (string)
    Specifies the customer's TIN (tax identifier number).

Example: 98-7654321
    Example: 98-7654321

  - `transactionReceipt.availableOperations` (array)
    Available operations that can be performed on the transaction.

  - `transactionReceipt.availableOperations.typeId` (integer)
    Possible values:
| Id | Type | Description |
|  --- | --- | --- |
| 1 | Authorization |  |
| 2 | Sale |  |
| 3 | Capture |  |
| 4 | Void |  |
| 5 | Refund |  |
| 6 | CardAuthentication |  |
| 7 | RefundWORef | Refund without reference.As a warning, these are considered high-risk transaction types, as funds are debited directly from the merchant's account even if the original sale was not processed through Flute. |
| 8 | TipAdjustment |  |
| 11 | AchDebit |  |
| 12 | AchRefund |  |
| 13 | AchHold |  |
| 14 | AchUnHold |  |
| 15 | AchCancel |  |
| 16 | AchCredit |  |

  - `transactionReceipt.availableOperations.type` (string)
    Indicates the name of the transaction operation.

Example: Refund
    Example: Refund

  - `transactionReceipt.availableOperations.availableAmount` (number)
    Indicates the amount (in USD) available for this operation.
Example: 129.99 (for $129.99)
    Example: 129.99

  - `transactionReceipt.availableOperations.suggestedTips` (array)
    Suggested tip amounts for this operation.

  - `transactionReceipt.availableOperations.suggestedTips.tipAmount` (number)
    Specifies the absolute amount (in USD) of the tip to be added.
This amount adds to the base amount of the original transaction.
That transaction must be authorized first.

Values for `tipAmount` and `tipRate` are mutually exclusive.
Care must be taken to include one or the other but not both.
Example: 14.50 (for $14.50)
    Example: 14.5

  - `transactionReceipt.availableOperations.suggestedTips.tipPercent` (number)
    Specifies the tip rate as a percentage of the base amount to be added.
This amount adds to the base amount of the original transaction.
That transaction must be authorized first.

Values for `tipAmount` and `tipRate` are mutually exclusive.
Care must be taken to include one or the other but not both.
Example: 15 (as 15%)
    Example: 15

  - `transactionReceipt.avsResponse` (object)
    Indicates the Address Verification Service (AVS) response.

  - `transactionReceipt.avsResponse.actionId` (integer)
    Possible values:
| Value | Name |
|  --- | --- |
| 1 | Allow |
| 2 | Deny |

Example: 1
    Example: 1

  - `transactionReceipt.avsResponse.action` (string)
    Indicates the AVS action.
Valid values are:
| Value | Description |
|  --- | --- |
| Allow | The transaction is allowed to proceed. |
| Deny | The transaction is denied because of the AVS result. |

Example: Allow
    Example: Allow

  - `transactionReceipt.avsResponse.responseCode` (string)
    Indicates the AVS response code.

This is a processor-specific code describing the AVS match result.

Example: 0
    Example: 0

  - `transactionReceipt.avsResponse.groupId` (integer)
    Possible values:
| Value | Name |
|  --- | --- |
| 1 | NoMatch |
| 2 | PartialMatch |
| 3 | Incompatible |
| 4 | Unavailable |
| 5 | ValidGroup |

Example: 5
    Example: 5

  - `transactionReceipt.avsResponse.group` (string)
    Indicates the AVS code group.
Valid values are:
| Value | Description |
|  --- | --- |
| NoMatch | None of the address data matched. |
| PartialMatch | Some of the address data matched. |
| Incompatible | The address data could not be compared due to a format mismatch. |
| Unavailable | AVS is not available for this transaction or card type. |
| ValidGroup | All of the address data matched. |

Example: ValidGroup
    Example: ValidGroup

  - `transactionReceipt.avsResponse.resultId` (integer)
    Possible values:
| Value | Name |
|  --- | --- |
| 1 | Passed |
| 2 | Failed |

Example: 1
    Example: 1

  - `transactionReceipt.avsResponse.result` (string)
    Indicates the AVS response result.
Valid values are:
| Value | Description |
|  --- | --- |
| Passed | All address data is correct. |
| Failed | Some address data is incorrect. |

Example: Passed
    Example: Passed

  - `transactionReceipt.avsResponse.codeDescription` (string)
    Indicates the AVS response code description.

Example: Street Address and ZIP Code Match the information on file.
    Example: Street Address and ZIP Code Match the information on file.

  - `transactionReceipt.emvTags` (object)
    Indicates the EMV (Europay, Mastercard, and Visa) tag data for the transaction.

  - `transactionReceipt.emvTags.ac` (string)
    Indicates the EMV (Europay, Mastercard, and Visa) AC (application cryptogram).

Example: 4A2B6C8D0E1F2A3B
    Example: 4A2B6C8D0E1F2A3B

  - `transactionReceipt.emvTags.tvr` (string)
    Indicates the EMV (Europay, Mastercard, and Visa) TVR (terminal verification results).

Example: 0000008000
    Example: 0000008000

  - `transactionReceipt.emvTags.tsi` (string)
    Indicates the EMV (Europay, Mastercard, and Visa) TSI (transaction status information).

Example: 6800
    Example: 6800

  - `transactionReceipt.emvTags.aid` (string)
    Indicates the EMV (Europay, Mastercard, and Visa) AID (application identifier).

Example: A0000000031010
    Example: A0000000031010

  - `transactionReceipt.emvTags.applicationLabel` (string)
    Indicates the cardholder-visible EMV (Europay, Mastercard, and Visa) application label.

Example: VISA CREDIT
    Example: VISA CREDIT

  - `transactionReceipt.emvTags.rawTags` (array)
    Raw EMV (Europay, Mastercard, and Visa) tag data, as key-value pairs.

  - `transactionReceipt.emvTags.rawTags.key` (string)
    Indicates the key of the key-value pair.

Example: 9F26
    Example: 9F26

  - `transactionReceipt.emvTags.rawTags.value` (string)
    Indicates the value of the key-value pair.

Example: 4A2B6C8D0E1F2A3B
    Example: 4A2B6C8D0E1F2A3B

  - `transactionReceipt.orderNumber` (string)
    Indicates the order number associated with the transaction.

Example: ORD-10293
    Example: ORD-10293

  - `processedAmount` (number)
    Indicates which amount is authorized. The amount may differ from the amount in the request.

## Response 400:

  - `400` (unknown)
    Bad Request

## Response 400 fields (application/json):

  - `details` (string)
    Indicates details about the error.

Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error
    Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)
    Indicates the source of the error.

Example: FluteOpsDeveloper.MSG322
    Example: FluteOpsDeveloper.MSG322

  - `exceptionType` (string)
    Indicates the error's exception type.

Example: FluentValidation.ValidationException
    Example: FluentValidation.ValidationException

  - `correlationId` (string)
    Indicates the correlation identifier.

Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef
    Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef

  - `entityId` (string)
    Indicates the entity identifier.
Example:
null

  - `errorCode` (string)
    Indicates the error code.
Example:
null

  - `errors` (object)
    Indicates the collection of validation errors, keyed by field name.
Example:
{ "Email": ["'Email' is not a valid email address."] }

## Response 401:

  - `401` (unknown)
    Unauthorized

## Response 401 fields (application/json):

  - `details` (string)
    Indicates details about the error.

Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error
    Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)
    Indicates the source of the error.
Example: <Service>
    Example: FluteOpsDeveloper.MSG322

  - `exceptionType` (string)
    Indicates the error's exception type.

Example: FluentValidation.ValidationException
    Example: FluentValidation.ValidationException

  - `correlationId` (string)
    Indicates the correlation identifier.

Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef
    Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef

  - `entityId` (string)
    Indicates the entity identifier.
Example:
null

  - `errorCode` (string)
    Indicates the error code.
Example:
null

  - `title` (string)
    Indicates a short summary of the error.

Example: Validation failed
    Example: Validation failed

  - `cause` (string)
    Indicates the cause of the error.

Example: One or more fields failed validation rules.
    Example: One or more fields failed validation rules.

  - `resolution` (string)
    Indicates how to resolve the error.

Example: Review the errors and correct the invalid fields.
    Example: Review the errors and correct the invalid fields.

  - `documentationUrl` (string)
    Indicates a URL to relevant documentation about the error.

Example: https://developer.risewithaurora.com/
    Example: https://developer.risewithaurora.com/

## Response 404:

  - `404` (unknown)
    Resource not found

## Response 404 fields (application/json):

  - `details` (string)
    Indicates details about the error.

Example: Entity with ID 'aa6cfcd0-0295-4a4c-b074-8c901f114fef' was not found.
    Example: Entity with ID 'aa6cfcd0-0295-4a4c-b074-8c901f114fef' was not found.

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)
    Indicates the source of the error.

Example: FluteOpsDeveloper.MSG322
    Example: FluteOpsDeveloper.MSG322

  - `exceptionType` (string)
    Indicates the error's exception type.

Example: System.Collections.Generic.KeyNotFoundException
    Example: System.Collections.Generic.KeyNotFoundException

  - `correlationId` (string)
    Indicates the correlation identifier.

Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef
    Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef

  - `entityId` (string)
    Indicates the entity identifier.
Example:
null

  - `errorCode` (string)
    Indicates the error code.
Example:
null

## Response 500:

  - `500` (unknown)
    Internal Error

## Response 500 fields (application/json):

  - `details` (string)
    Indicates details about the error.

Example: An unexpected error occurred while processing the request.
    Example: An unexpected error occurred while processing the request.

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)
    Indicates the source of the error.
Example: <Service>
    Example: (Service)

  - `exceptionType` (string)
    Indicates the error's exception type.

Example: System.Exception
    Example: System.Exception

  - `correlationId` (string)
    Indicates the correlation identifier.

Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef
    Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef

  - `entityId` (string)
    Indicates the entity identifier.
Example:
null

  - `errorCode` (string)
    Indicates the error code.
Example:
null

## Response 200 examples:

  - `Authorization response` (unknown)
    Transaction, type Authorization, status = Authorized. Transaction status after an approved pre-authorization request

  - `Partial authorization response` (unknown)
    Transaction, type Authorization, status = PartiallyAuthorized.
Indicates that the issuer bank has approved only a portion of the requested payment amount.

  - `Sale response` (unknown)
    Transaction, type Sale, status = Captured. Transaction status after approved sale or capture request.

