# Retrieves payment session details by ID

<a id="flute-v2-get-payment-sessions-paymentSessionId"></a>
<span class="api-endpoint">GET {{<a href="#urlbases">baseURL</a>}}/v2/payment-sessions/{{paymentSessionId}}</span>
This endpoint retrieves the details of the specified payment session by ID.
<span class="api-seealso">See Also:</span><br>
To create a new payment session, see `POST /v2/payment-sessions`.<br>
To cancel a payment session, see `POST /v2/payment-sessions/{{paymentSessionId}}/cancel`.

Endpoint: GET /v2/payment-sessions/{paymentSessionId}
Version: V2 Beta
Security: Bearer

## Path parameters:

  - `paymentSessionId` (string, required)
    Specifies the payment session identifier.

## Response 200 fields (application/json):

  - `status` (string)
    Indicates the payment session status.
Valid values:
| Status | Description |
|  --- | --- |
| Created | Payment session was initialized but not yet processed. |
| Completed | Payment session was completed. Check transaction details to verify if the payment was approved or not. |
| Cancelled | Payment session was cancelled before completion. |
| Expired | Payment session expired before being completed. |
| Failed | Payment was attempted but did not succeed. A new session must be created for a new payment attempt. |

Example: Created
    Example: Created

  - `mode` (string)
    Indicates the intent of the session.
| Name | Description |
|  --- | --- |
| Payment | Standard payment session. |
| SaveMethod | Vault-only session to store a payment method. The amount must be zero.No payment is processed. This stores the customer's card details for future use. `vaultedPaymentMethodId` is returned on the session once confirmed. |
| PaymentAndSave | Charge the payment and store the customer's card details for future use.`vaultedPaymentMethodId` is returned on the session once confirmed. |

Example: Payment
    Enum: "Payment", "SaveMethod", "PaymentAndSave"

  - `skipAddressVerification` (boolean)
    Indicates to bypass the AVS (address verification service) in the payment gateway.
This value is applicable only to `Payment` and `PaymentAndSave` from `mode`.
If `true`, bypasses AVS in the payment gateway.
If `false`, does not bypass AVS in the payment gateway.
Example: true
    Example: true

  - `customerId` (string)
    Identifies the customer to link this payment method to.

This value may be null when this payment method is an orphan owned by the merchant directly.
An orphan payment method is a payment method in the merchant's vault but has no customer record associated with it.

Example: 8fa8e727-73c6-436e-b56f-6f55aabf3b1c
    Example: 8fa8e727-73c6-436e-b56f-6f55aabf3b1c

  - `vaultedPaymentMethodId` (string)
    Indicates the identifier of the vaulted payment method when the session involves saving or using a stored payment method.

Example: 990a65f4-519c-44f9-a615-fc9c7781190c
    Example: 990a65f4-519c-44f9-a615-fc9c7781190c

  - `referenceId` (string)
    Indicates a reference identifier provided by the merchant.

This is included in the duplicate-check key.
It allows the same card and amount combination to be charged multiple times when the reference identifiers are different.

Example: REF-EXT-12345
    Example: REF-EXT-12345

  - `tipAmount` (number)
    Indicates the absolute amount (in USD) of the tip to be added.
If this value is provided, it must be greater than zero.
Example: 14.50 (for $14.50)
    Example: 14.5

  - `checkoutUrl` (string)
    Indicates full URL of the hosted checkout page for this payment session.

Example: https://api.payments.flute.com/xOut/sessions/session-complete.html
    Example: https://api.payments.flute.com/xOut/sessions/session-complete.html

  - `checkoutUrlShort` (string)
    Indicates the shortened URL of the hosted checkout page for this payment session.

Example: https://smallurl.com/4kxm9p2
    Example: https://smallurl.com/4kxm9p2

  - `successUrl` (string)
    Indicates the URL to redirect the payer to after a successful payment.

This value is not needed if using Flute Elements and Flute Checkout.

Example: https://api.payments.flute.com/xOut/sessions/session-complete.html
    Example: https://api.payments.flute.com/xOut/sessions/session-complete.html

  - `paymentMethodTypes` (array)
    Indicates payment methods to be shown at checkout.
Valid values are:
| Payment method | Type |
|  --- | --- |
| Card | Credit or debit card payment |
| ACH | ACH (automated clearing house) payment |

Example: Card
    Example: Card

  - `afterCompletionMessage` (string)
    Specifies a message shown to the payer after the payment session completes.

This value is not needed if using Flute Elements and Flute Checkout.

Example: Thank you for shopping with us.
    Example: Thank you for shopping with us.

  - `pageName` (string)
    Specifies the display name shown on the checkout page.

This is a free-formed name that is convenient for the merchant to recognize. 

Example: Peppared Street Cafe's Preferred Payment
    Example: Peppared Street Cafe's Preferred Payment

  - `isMultiUse` (boolean)
    Specifies the checkout URL can be used for multiple payments.
This value is applied only if using Flute Elements or Flute Checkout.
If `true`, the checkout URL can be used for multiple payments.
If `false`, the checkout URL cannot be used for multiple payments.
Example: true
    Example: true

  - `expiresAt` (string)
    Specifies the expiration timestamp (in an ISO 8601 date-time UTC format) for the payment session.

The time must be in the future.

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

  - `paymentNotes` (string)
    Specifies additional notes shown to the payer on the checkout page.

Example: The client's server is being repaired.
    Example: The client's server is being repaired.

  - `achAccountLast2` (string)
    Indicates the last two digits of an ACH (automated clearing house) bank account number.

Example: 84
    Example: 84

  - `achRoutingLast2` (string)
    Indicates the last two digits of an ACH (automated clearing house) bank routing number.

Example: 62
    Example: 62

  - `surchargeAmount` (number)
    Specifies the surcharge amount (in USD) applied.
Example: 18.45 (for $18.45)
    Example: 18.45

  - `transactionDetails` (object)

  - `transactionDetails.transactionReceiptUrl` (string)
    Indicates the direct URL link to the transaction receipt.

Example: https://receipts.flute.com/r/90d084d6-55b8-4fb8-b658-861534d07f9a
    Example: https://receipts.flute.com/r/90d084d6-55b8-4fb8-b658-861534d07f9a

  - `transactionDetails.transactionReceiptShortUrl` (string)
    Indicates the shortened direct URL link to the transaction receipt.

Example: "https://s.flute.com/745iZYxF83t"
    Example: https://s.flute.com/745iZYxF83t

  - `transactionDetails.source` (object)
    Transaction source information.

  - `transactionDetails.source.name` (string)
    Indicates the name of that specific instance.

This is a free-formed type name that is convenient for the merchant to recognize.

Example: Front Counter Terminal
    Example: Front Counter Terminal

  - `transactionDetails.source.type` (string)
    Indicates the description of the source.

This is a free-formed type name that is convenient for the merchant to recognize.

Example: Terminal
    Example: Terminal

  - `transactionDetails.source.id` (string)
    Indicates an identifier specifying the instance of the source.

Example: 5e6e2ad1-8c9d-4e0f-1a2b-3c4d5e6f7a03
    Example: 5e6e2ad1-8c9d-4e0f-1a2b-3c4d5e6f7a03

  - `transactionDetails.source.typeId` (integer)
    Reserved for internal use only.

Do not use.

  - `transactionDetails.source.version` (string)
    Indicates the version.

Example: 1.4.2
    Example: 1.4.2

  - `transactionDetails.transactionReceipt` (object)
    Transaction receipt information.

  - `transactionDetails.transactionReceipt.transactionId` (string)
    Indicates the attached transaction identifier.

This value is available after processing.

Example: f01339ec-8184-48c7-b58d-0780d6499ef4
    Example: f01339ec-8184-48c7-b58d-0780d6499ef4

  - `transactionDetails.transactionReceipt.transactionDateTime` (string)
    Indicates the date-time (in an ISO 8601 date-time format) of the transaction.

Example: 2026-05-05T14:30:42.938Z
    Example: 2026-05-05T14:30:42.938Z

  - `transactionDetails.transactionReceipt.amount` (object)

  - `transactionDetails.transactionReceipt.amount.baseAmount` (number)
    Specifies the base transaction amount before adjustments.

Example: 99.99
    Example: 99.99

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

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

  - `transactionDetails.transactionReceipt.amount.cashDiscountAmount` (number)
    Identifies the cash discount amount (in USD) taken off.
Example: 12.50 (for $12.50)
    Example: 12.5

  - `transactionDetails.transactionReceipt.amount.cashDiscountRate` (number)
    Identifies the discount percentage for a cash (or cash-equivalent) discount.
Example: 1.5 (for 1.5%)
    Example: 1.5

  - `transactionDetails.transactionReceipt.amount.surchargeAmount` (number)
    Specifies the surcharge amount (in USD) applied.
Care must be taken that a value other than zero can be provided to either `surchargeAmount` or `surchargeRate`.
A non-zero value cannot be provided to both.
Example: 22 (for $22)
    Example: 22

  - `transactionDetails.transactionReceipt.amount.surchargeRate` (number)
    Indicates the percent of transaction surcharge amount.
This value is added to the base amount after `PercentageOffRate` has been applied.
Care must be taken that a value other than zero can be provided to either `surchargeAmount` or `surchargeRate`.
A non-zero value cannot be provided to both.
Example: 2.5 (for 2.5%)
    Example: 2.5

  - `transactionDetails.transactionReceipt.amount.tipAmount` (number)
    Indicates the absolute amount (in USD) of the tip to be added.
If this value is provided, it must be greater than zero.
This amount adds to the base amount of the original transaction.
That transaction must be authorized first (`POST /pay-api/v1/transactions/auth`).

Care must be taken that a value other than zero can be provided to either `tipAmount` or `tipRate`.
A non-zero value cannot be provided to both.

Example: 14.50 (for $14.50)
    Example: 14.5

  - `transactionDetails.transactionReceipt.amount.tipRate` (number)
    Indicates a percentage of the tip to be added.
If this value is provided, it must be greater than zero.
This amount adds to the base amount of the original transaction.
That transaction must be authorized first (`POST /pay-api/v1/transactions/auth`).

Care must be taken that a value other than zero can be provided to either `tipAmount` or `tipRate`.
A non-zero value cannot be provided to both.

Example: 18.50 (for 18.50%)
    Example: 18.5

  - `transactionDetails.transactionReceipt.amount.taxAmount` (number)
    Indicates the tax amount established on a product.
Example: 3.75 (for 3.75%)
    Example: 3.75

  - `transactionDetails.transactionReceipt.amount.taxRate` (number)
    Indicates the default level 2 autoFill sales tax rate.
Examples:
5.0 (for 5.0%)
8.5 (for 8.5%)
10.25 (for 10.25%)
    Example: 8.5

  - `transactionDetails.transactionReceipt.amount.totalAmount` (number)
    Indicates the final total amount (in USD).

Example: 124.99
    Example: 124.99

  - `transactionDetails.transactionReceipt.currency` (string)
    Identifies the transaction's currency code (in ISO 4217 currency code).

Example: USD
    Example: USD

  - `transactionDetails.transactionReceipt.processorId` (string)
    Identifies the payment processor.

Example: 76215e54-a85b-4d42-9553-163fe393cb02
    Example: 76215e54-a85b-4d42-9553-163fe393cb02

  - `transactionDetails.transactionReceipt.processor` (string)
    Indicates the name of the payment processor.

Example: TSYS
    Example: TSYS

  - `transactionDetails.transactionReceipt.operationTypeId` (integer)
    For internal use only.

Do not use.

  - `transactionDetails.transactionReceipt.operationType` (string)
    Identifies the type of the operation.
Valid values are:
| Item | Explanation |
|  --- | --- |
| PayNow | One-time charge for a service. |
| Subscription | Recurring charge for ongoing service. |

Example: PayNow
    Enum: "PayNow", "Subscription"

  - `transactionDetails.transactionReceipt.paymentMethodTypeId` (integer)
    For internal use only.

Do not use.

  - `transactionDetails.transactionReceipt.paymentMethodType` (string)
    Identifies the payment method type.
Valid values are:
| Type | Description |
|  --- | --- |
| ACH | Payment made through an ACH bank transfer. |
| Card | Payment made with a credit or debit card. |
| Cash | Payment made with physical currency. |

Example: Card
    Enum: "Card", "ACH", "Cash"

  - `transactionDetails.transactionReceipt.transactionTypeId` (integer)
    For internal use only.

Do not use.

  - `transactionDetails.transactionReceipt.transactionType` (string)
    Identifies the type of the transaction.
Valid values are:
| Type | Explanation |
|  --- | --- |
| AchCancel | Cancels a pending ACH transaction. |
| AchCredit | Sends funds to a bank account. |
| AchDebit | Pulls funds from a bank account. |
| AchHold | Holds an ACH transaction temporarily. |
| AchRefund | Returns funds from an ACH payment. |
| AchUnHold | Releases a held ACH transaction. |
| Authorization | Reserves funds for later capture. |
| Capture | Collects funds from an authorization. |
| CardAuthentication | Confirms cardholder identity before payment. |
| Refund | Returns funds from a transaction. |
| RefundWORef | Refunds a transaction without a reference. |
| Sale | Authorizes and captures funds together. |
| Settle | Submits a batch for final processing. |
| TipAdjustment | Changes the tip amount on a transaction. |
| Void | Cancels a transaction before settlement. |

Example: AchDebit
    Enum: "AchCancel", "AchCredit", "AchDebit", "AchHold", "AchRefund", "AchUnHold", "Authorization", "Capture", "CardAuthentication", "Refund", "RefundWORef", "Sale", "Settle", "TipAdjustment", "Void"

  - `transactionDetails.transactionReceipt.customerPan` (string)
    Indicates the masked card number.
This displays only the last four numbers.
Example: ************1111
    Example: ************1111

  - `transactionDetails.transactionReceipt.cardTokenType` (string)
    Indicates the type of the token.
Valid values are:
| Type | Meaning |
|  --- | --- |
| Local | Tokenized and stored within Flute's own vault |
| Network | Tokenized through a card network, such as Visa or Mastercard, using their network tokenization services |

Example: Local
    Enum: "Local", "Network"

  - `transactionDetails.transactionReceipt.statusId` (integer)
    For internal use only.

Do not use.

  - `transactionDetails.transactionReceipt.status` (string)
    Indicates the status of the transaction.
Valid values are:
| Status | Explanation |
|  --- | --- |
| Cancelled | The transaction was cancelled before completion. |
| Completed | The payment attempt finished processing. This does not mean the payment was approved — check `responseCode` and `responseDescription` on this same object to confirm approval or decline. |
| Created | The transaction was initialized but not yet processed. |
| Failed | The payment was attempted but did not succeed. A new session is needed. |

Example: Completed
    Enum: "Cancelled", "Completed", "Created", "Failed"

  - `transactionDetails.transactionReceipt.merchantName` (string)
    Indicates the name of the customer's company or organization.

Example: Peppared Street Cafe
    Example: Peppared Street Cafe

  - `transactionDetails.transactionReceipt.merchantAddress` (string)
    Indicates the customer's company address.

Example: 123 Main St, Suite 100, New York
    Example: 123 Main St, Suite 100, New York

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

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

  - `transactionDetails.transactionReceipt.merchantWebsite` (string)
    Indicates the customer's URL.

Example: PepparedStreetCafe.example.com
    Example: PepparedStreetCafe.example.com

  - `transactionDetails.transactionReceipt.authCode` (string)
    Indicates the authorization code from the card processor.

This authorization does not apply to tip adjustments.
The code explicitly falls back to the original.

Example: ABC123
    Example: ABC123

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

  - `transactionDetails.transactionReceipt.source.name` (string)
    Indicates the name of that specific instance.

This is a free-formed type name that is convenient for the merchant to recognize.

Example: Front Counter Terminal
    Example: Front Counter Terminal

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

This is a free-formed type name that is convenient for the merchant to recognize.

Example: Terminal
    Example: Terminal

  - `transactionDetails.transactionReceipt.source.id` (string)
    Indicates an identifier specifying the instance of the source.

Example: 5e6e2ad1-8c9d-4e0f-1a2b-3c4d5e6f7a03
    Example: 5e6e2ad1-8c9d-4e0f-1a2b-3c4d5e6f7a03

  - `transactionDetails.transactionReceipt.source.typeId` (integer)
    Reserved for internal use only.

Do not use.

  - `transactionDetails.transactionReceipt.cardholderAuthenticationMethodId` (string)
    Indicates the method the cardholder was authenticated with.
Valid values are:
| Item | Explanation |
|  --- | --- |
| ElectronicSignatureAnalysis | Electronic signature captured and analyzed. |
| ETicketEnvAmex | E-ticket environment specific to American Express. |
| ManualOther | Other manual verification method. |
| ManualSignature | Paper or screen signature obtained. |
| NotAuthenticated | No cardholder verification performed. |
| OfflinePin | Offline PIN verified by card chip, no network. |
| PIN | Online PIN verified by issuer. |
| SystematicOther | Systematic or automated method not listed. |
| Unknown | Verification method is unknown. |

Example: PIN
    Enum: "NotAuthenticated", "PIN", "ElectronicSignatureAnalysis", "ManualSignature", "ManualOther", "Unknown", "SystematicOther", "ETicketEnvAmex", "OfflinePin"

  - `transactionDetails.transactionReceipt.cvmResultMsg` (string)
    Indicates a message describing the CVM (cardholder verification method) the terminal attempted.
It also indicates whether the verification succeeded or failed.
Examples:
CVM Failed
Signature Verified
    Example: Signature Verified

  - `transactionDetails.transactionReceipt.cardDataSourceId` (string)
    For internal use only.

Do not use.

  - `transactionDetails.transactionReceipt.cardDataSource` (string)
    Indicates the source of the card (credit or debit).
Valid values are:
| Item | Explanation |
|  --- | --- |
| EMV | Chip read using EMV tags. |
| EMVContactless | Tap chip read using EMV tags. |
| FallbackSwipe | Swipe used after failed chip read. |
| Internet | Virtual terminal or API entry. |
| Manual | Card present, keyed entry. |
| NFC | Contactless tap using EMV tags and track data. |
| Swipe | Magnetic stripe track data read. |

Example: Swipe
    Enum: "Internet", "Swipe", "NFC", "EMV", "EMVContactless", "FallbackSwipe", "Manual"

  - `transactionDetails.transactionReceipt.responseCode` (string)
    Indicates the response code from processor.
Examples:
00
051
    Example: 00

  - `transactionDetails.transactionReceipt.responseDescription` (string)
    Indicates a human-readable message that explains the response and response code.
Examples:
Approved or completed successfully
Declined - Do Not Honor
    Example: Declined - Do Not Honor

  - `transactionDetails.transactionReceipt.cardProcessingDetails` (object)

  - `transactionDetails.transactionReceipt.cardProcessingDetails.authCode` (string)
    Indicates the authorization code from the card processor.

This authorization does not apply to tip adjustments.
The code explicitly falls back to the original.

Example: ABC123
    Example: ABC123

  - `transactionDetails.transactionReceipt.cardProcessingDetails.mid` (string)
    Indicates the MID (merchant identifier).

This is an identifier the acquirer or processor assigns to a specific merchant account. 

Example: 700123456789
    Example: 700123456789

  - `transactionDetails.transactionReceipt.cardProcessingDetails.tid` (string)
    Indicates the TID (terminal identifier).

This is an identifier of the specific physical terminal or device used in the transaction.

Example: 00012345
    Example: 00012345

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

This is a card-network, such as for Visa or Mastercard, reference number assigned to every card transaction.
It is used to trace or retrieve the transaction later, such as for chargebacks or disputes.

Example: 625031412345
    Example: 625031412345

  - `transactionDetails.transactionReceipt.cardProcessingDetails.cardCreditDebitType` (string)
    Indicates the card is either credit or debit.
Valid values are:
| Type | Description |
|  --- | --- |
| Credit | Card draws funds from a credit line. |
| Debit | Card draws funds from a bank account. |
| Unknown | Card funding type could not be determined. |

Example: Credit
    Enum: "Credit", "Debit", "Unknown"

  - `transactionDetails.transactionReceipt.cardProcessingDetails.cardType` (string)
    Indicates the type of the card.
Valid values are:
| Type | Description |
|  --- | --- |
| AmericanExpress | Card issued by American Express network. |
| DinersClub | Card issued by the Diners Club network. |
| Discover | Card issued by the Discover network. |
| JCB | Card issued by the Japan Credit Bureau network. |
| MasterCard | Card issued by the MasterCard network. |
| Unknown | Card type could not be determined. |
| Visa | Card issued by the Visa network. |

Example: Visa
    Enum: "Unknown", "Visa", "MasterCard", "AmericanExpress", "DinersClub", "Discover", "JCB"

  - `transactionDetails.transactionReceipt.achProcessingDetails` (object)

  - `transactionDetails.transactionReceipt.achProcessingDetails.customerAccountNumber` (string)
    Indicates the ACH account number.

This displays only the last four numbers.

Example: 4111111111111111
    Example: 4111111111111111

  - `transactionDetails.transactionReceipt.achProcessingDetails.customerRoutingNumber` (string)
    Indicates the ACH routing number.

Example: 867320021
    Example: 867320021

  - `transactionDetails.transactionReceipt.achProcessingDetails.accountHolderType` (string)
    Identifies the holder type of the account.
Valid values are:
| Type | Description |
|  --- | --- |
| Business | Card issued to a business or company account. |
| Personal | Card issued to an individual for personal use. |

Example: Business
    Enum: "Business", "Personal"

  - `transactionDetails.transactionReceipt.achProcessingDetails.accountType` (string)
    Identifies the type of the account.
Valid values are:
| Type | Description |
|  --- | --- |
| Checking | Account used for regular daily transactions. |
| Savings | Account used to hold and grow funds over time. |

Example: Checking
    Enum: "Checking", "Savings"

  - `transactionDetails.transactionReceipt.achProcessingDetails.taxId` (string)
    Specifies the tax identifier.

Example: 12-3456789
    Example: 12-3456789

  - `transactionDetails.transactionReceipt.availableOperations` (array)

  - `transactionDetails.transactionReceipt.availableOperations.availableAmount` (number)
    Indicates the maximum amount (in USD) eligible for the specified operation type.
See the field `type`.
Example: 49.99 (for $49.99)
    Example: 49.99

  - `transactionDetails.transactionReceipt.availableOperations.suggestedTips` (array)

  - `transactionDetails.transactionReceipt.availableOperations.suggestedTips.tipPercent` (number)
    Indicates a percentage of the tip to be added.
If this value is provided, it must be greater than zero.
This amount adds to the base amount of the original transaction.
That transaction must be authorized first (`POST /pay-api/v1/transactions/auth`).

Care must be taken that a value other than zero can be provided to either `tipAmount` or `tipRate`.
A non-zero value cannot be provided to both.

Example: 18.50 (for 18.50%)
    Example: 18.5

  - `transactionDetails.transactionReceipt.availableOperations.suggestedTips.tipAmount` (number)
    Indicates the absolute amount (in USD) of the tip to be added.
If this value is provided, it must be greater than zero.
This amount adds to the base amount of the original transaction.
That transaction must be authorized first (`POST /pay-api/v1/transactions/auth`).

Care must be taken that a value other than zero can be provided to either `tipAmount` or `tipRate`.
A non-zero value cannot be provided to both.

Example: 14.50 (for $14.50)
    Example: 14.5

  - `transactionDetails.transactionReceipt.avsResponse` (object)
    Indicates the AVS (address verification service) response.

  - `transactionDetails.transactionReceipt.avsResponse.action` (string)
    Indicates allowing an action after address verification.
Valid values are:
| Status | Explanation |
|  --- | --- |
| Allow | If address verification passes, the payment proceeds. |
| Deny | If address verification does not pass, the payment is denied. |

Example: Allow
    Enum: "Allow", "Deny"

  - `transactionDetails.transactionReceipt.avsResponse.responseCode` (string)
    Indicates the response code from processor.
For a simplified explanation of the result, see the field `codeDescription`.
Example: Y
    Example: Y

  - `transactionDetails.transactionReceipt.avsResponse.codeDescription` (string)
    Indicates a simplified explanation of the result.
For the actual AVS (address verification service) result, see the field `responseCode`.
Example: Address and ZIP code match
    Example: Address and ZIP code match

  - `transactionDetails.transactionReceipt.avsResponse.group` (string)
    Indicates the AVS (address verification service) group type.
Valid values are:
| Status | Explanation |
|  --- | --- |
| Incompatible | The card issuer does not support this address check. |
| NoMatch | The billing address and postal code did not match. |
| PartialMatch | One part of the billing address matched, not both. |
| Unavailable | The address check result was not available. |
| ValidGroup | The billing address and postal code matched. |
    Enum: "NoMatch", "PartialMatch", "Incompatible", "Unavailable", "ValidGroup"

  - `transactionDetails.transactionReceipt.avsResponse.result` (string)
    Indicates the AVS (address verification service) result.
Valid values are:
| Status | Explanation |
|  --- | --- |
| Failed | The address check failed. |
| Passed | The address check passed. |
    Enum: "Passed", "Failed"

  - `transactionDetails.transactionReceipt.emvTags` (object)

  - `transactionDetails.transactionReceipt.emvTags.ac` (string)
    Indicates the AC (application cryptogram).

This is the cryptographic value generated by the card chip so the issuer can authenticate the transaction.

Example: A123456789ABCDEF
    Example: A123456789ABCDEF

  - `transactionDetails.transactionReceipt.emvTags.tvr` (string)
    Indicates the TVR (terminal verification results).

This is a bitmask showing which checks the terminal ran and the success status of each one.
The individual checks include data authentication, cardholder verification, and risk management.

Example: 0000008000
    Example: 0000008000

  - `transactionDetails.transactionReceipt.emvTags.tsi` (string)
    Indicates the TSI (transaction status information).

This is a bitmask showing which processes were actually performed during the transaction.

Example: E800
    Example: E800

  - `transactionDetails.transactionReceipt.emvTags.aid` (string)
    Indicates the AID (application identifier).

This identifies the specific card payment application on the chip, such as Visa Credit or Mastercard Debit.

Example: A0000000031010
    Example: A0000000031010

  - `transactionDetails.transactionReceipt.emvTags.applicationLabel` (string)
    Indicates the application Label.

This is the human-readable name of that application, often shown on the terminal display.

Example: VISA CREDIT
    Example: VISA CREDIT

  - `transactionDetails.transactionReceipt.emvTags.rawTags` (array)
    Indicates the EMV chip transaction data elements, or tags. 

Each data element is identified by its own hex tag number according to the EMV specifications.
For example, the five most commonly needed ones are: ac (9F26), tvr (95), tsi (9B), aid (4F), and applicationLabel (50).
An actual EMV transaction can return many more tags than that, sometimes with dozens of possible values.

This tag array object contains all the returned pairings.

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

Example: ac
    Example: ac

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

Example: 9F26
    Example: 9F26

  - `transactionDetails.transactionReceipt.orderNumber` (string)
    Indicates a merchant-assigned order or invoice identifier associated to the transaction.

Example: ORD-4521
    Example: ORD-4521

  - `transactionDetails.id` (string)
    Indicates the payment method identifier.

This is the identifier of a previously saved ACH account to charge.

Example: 39a95e35-6d50-45ec-884b-c2417edf005d
    Example: 39a95e35-6d50-45ec-884b-c2417edf005d

  - `transactionDetails.date` (string)
    Indicates the date-time (in an ISO 8601 date-time format) of the transaction.

Example: 2025-02-19T20:24:52.934Z
    Example: 2025-02-19T20:24:52.934Z

  - `transactionDetails.amount` (object)

  - `transactionDetails.amount.baseAmount` (number)
    Identifies the base transaction amount (in USD) before adjustments.
Examples:
125
125.5
125.50
    Example: 125.5

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

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

  - `transactionDetails.amount.cashDiscountAmount` (number)
    Identifies the cash discount amount (in USD) taken off.
Example: 12.50 (for $12.50)
    Example: 12.5

  - `transactionDetails.amount.cashDiscountRate` (number)
    Identifies the discount percentage for a cash (or cash-equivalent) discount.
Example: 1.5 (for 1.5%)
    Example: 1.5

  - `transactionDetails.amount.surchargeAmount` (number)
    Specifies the surcharge amount (in USD) applied.
Care must be taken that a value other than zero can be provided to either `surchargeAmount` or `surchargeRate`.
A non-zero value cannot be provided to both.
Example: 22 (for $22)
    Example: 22

  - `transactionDetails.amount.surchargeRate` (number)
    Indicates the percent of transaction amount.
This value is added to the base amount after `PercentageOffRate` has been applied.
Care must be taken that a value other than zero can be provided to either `surchargeAmount` or `surchargeRate`.
A non-zero value cannot be provided to both.
Example: 2.5 (for 2.5%)
    Example: 2.5

  - `transactionDetails.amount.tipAmount` (number)
    Indicates the absolute amount (in USD) of the tip to be added.
If this value is provided, it must be greater than zero.
This amount adds to the base amount of the original transaction.
That transaction must be authorized first (`POST /pay-api/v1/transactions/auth`).

Care must be taken that a value other than zero can be provided to either `tipAmount` or `tipRate`.
A non-zero value cannot be provided to both.

Example: 14.50 (for $14.50)
    Example: 14.5

  - `transactionDetails.amount.tipRate` (number)
    Indicates a percentage of the tip to be added.
If this value is provided, it must be greater than zero.
This amount adds to the base amount of the original transaction.
That transaction must be authorized first (`POST /pay-api/v1/transactions/auth`).

Care must be taken that a value other than zero can be provided to either `tipAmount` or `tipRate`.
A non-zero value cannot be provided to both.

Example: 18.50 (for 18.50%)
    Example: 18.5

  - `transactionDetails.amount.taxAmount` (number)
    Indicates the tax amount established on a product.
Example: 3.75 (for 3.75%)
    Example: 3.75

  - `transactionDetails.amount.taxRate` (number)
    Indicates the default level 2 autoFill sales tax rate.
Examples:
5.0 (for 5.0%)
8.5 (for 8.5%)
10.25 (for 10.25%)
    Example: 8.5

  - `transactionDetails.amount.totalAmount` (number)
    Indicates the final total amount (in USD).

Example: 124.99
    Example: 124.99

  - `transactionDetails.createdBy` (string)
    Indicates the creator of the transaction.

Example: Alexandro Peppared
    Example: Alexandro Peppared

  - `transactionDetails.merchant` (string)
    Indicates the name of the customer's company or organization.

Example: Peppared Street Cafe
    Example: Peppared Street Cafe

  - `transactionDetails.processor` (string)
    Indicates the name of the payment processor.

Example: TSYS
    Example: TSYS

  - `transactionDetails.paymentMethodName` (string)
    Indicates the name of the payment method.

This is a free-formed name that is convenient for the merchant to recognize.

Example: Cafe Peppared Payments
    Example: Cafe Peppared Payments

  - `transactionDetails.customerName` (string)
    Indicates the name of the customer's company or organization.

Example: Alexandro Peppared
    Example: Alexandro Peppared

  - `transactionDetails.customerCompany` (string)
    Indicates the name of the customer's company or organization.

Example: Peppared Street Cafe
    Example: Peppared Street Cafe

  - `transactionDetails.customerPan` (string)
    Indicates the masked card number.
This displays only the last four numbers.
Example: ************1111
    Example: ************1111

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

## Response 404 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: <Service>

  - `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)

  - `cause` (string)

  - `resolution` (string)

  - `documentationUrl` (string)
    https://developer.flute.com/

## Response 500 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: <Service>

  - `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)

  - `cause` (string)

  - `resolution` (string)

  - `documentationUrl` (string)
    https://developer.flute.com/

