# Transactions

> For the complete machine-readable documentation index, see [llms.txt](https://apidocs.chargebee.com/llms.txt).


This resource represents the [transaction](https://www.chargebee.com/docs/transactions.html) event that has happened in your account.

## Sample Transaction

```json
{
  "amount": 1000,
  "amount_capturable": 1000,
  "authorization_reason": "blocking_funds",
  "currency_code": "USD",
  "customer_id": "__test__KyVnHhSBWltgF2p6",
  "date": 1600968316,
  "deleted": false,
  "exchange_rate": 1,
  "fraud_reason": "Payment complete.",
  "gateway": "stripe",
  "gateway_account_id": "gw___test__KyVnGlSBWltbL2AB",
  "id": "txn___test__KyVnHhSBWltv42pB",
  "id_at_gateway": "ch_1HUyC0Jv9j0DyntJiR6W37yv",
  "linked_payments": {},
  "masked_card_number": "************1111",
  "object": "transaction",
  "payment_method": "card",
  "payment_source_id": "pm___test__KyVnHhSBWltu42p7",
  "resource_version": 1517505917000,
  "status": "success",
  "type": "authorization",
  "updated_at": 1517505917
}
```

## Transactions attributes

## Input Parameters

- `id` (required, string, max chars=40)
  Uniquely identifies the transaction.

- `customer_id` (optional, string, max chars=50)
  Identifier of the customer for which this transaction is made

- `subscription_id` (optional, string, max chars=50)
  Identifier of the subscription for which this transaction is made.

- `gateway_account_id` (optional, string, max chars=50)
  The gateway account used for this transaction

- `payment_source_id` (optional, string, max chars=40)
  Identifier of the payment source for which this transaction is made

- `payment_method` (required, enumerated string, default=card)
  The payment method of this transaction
  Possible enum values:
    - `card`
      Card
    - `cash`
      Cash
    - `check`
      Check
    - `chargeback`
      Only applicable for a transaction of `[type](/docs/api/transactions/transaction-object#type)` = `refund`. This value is set by Chargebee when an automated [chargeback](https://www.chargebee.com/docs/chargeback.html#chargeback-process) occurs. You can also set this explicitly when [recording a refund](/docs/api/transactions/record-an-offline-refund) .
    - `bank_transfer`
      Bank Transfer
    - `amazon_payments`
      Amazon Payments
    - `paypal_express_checkout`
      Paypal Express Checkout
    - `direct_debit`
      Direct Debit
    - `alipay`
      Payments made via Alipay.
    - `unionpay`
      Unionpay
    - `apple_pay`
      Apple Pay
    - `wechat_pay`
      Payments made via WeChat Pay.
    - `ach_credit`
      ACH Credit
    - `sepa_credit`
      SEPA Credit
    - `ideal`
      IDEAL
    - `google_pay`
      Google Pay
    - `sofort`
      Sofort
    - `bancontact`
      Bancontact
    - `giropay`
      giropay
    - `dotpay`
      Dotpay
    - `other`
      Payment Methods other than the above types
    - `upi`
      upi
    - `netbanking_emandates`
      netbanking\_emandates
    - `custom`
      Custom
    - `boleto`
      boleto
    - `venmo`
      Venmo
    - `pay_to`
      PayTo
    - `faster_payments`
      Faster Payments
    - `sepa_instant_transfer`
      Sepa Instant Transfer
    - `automated_bank_transfer`
      Automated Bank Transfer
    - `klarna_pay_now`
      Klarna Pay Now
    - `online_banking_poland`
      Online Banking Poland
    - `payconiq_by_bancontact`
      Payments made via Payconiq by Bancontact.
    - `electronic_payment_standard`
      Electronic Payment Standard
    - `kbc_payment_button`
      KBC Payment Button
    - `pay_by_bank`
      Pay By Bank
    - `trustly`
      Trustly
    - `stablecoin`
      Payments made via Stablecoin.
    - `kakao_pay`
      Payments made via Kakao Pay.
    - `naver_pay`
      Payments made via Naver Pay.
    - `revolut_pay`
      Payments made via Revolut Pay.
    - `cash_app_pay`
      Payments made via Cash App Pay.
    - `pix`
      Pix
    - `twint`
      Payments made via Twint
    - `go_pay`
      Payments made via GoPay
    - `grab_pay`
      Payments made via GrabPay
    - `pay_co`
      Payments made via PayCo
    - `after_pay`
      Payments made via Afterpay
    - `swish`
      Payments made via Swish
    - `payme`
      Payments made via PayMe
    - `klarna`
      Payments made via Klarna.
    - `alipay_hk`
      Payments made via Alipay HK.
    - `paypay`
      PayPay
    - `gcash`
      Payments made via GCash.
    - `south_korean_cards`
      Payments made via South Korean Cards
    - `paynow`
    - `bizum`
    - `promptpay`
    - `dana`
      Payments made via Dana.
    - `touch_n_go`
      Payments made via Touch 'n Go.
    - `tamara`
      Payments made via Tamara.
    - `qpay`
      Payments made via Qpay.
    - `ovo`
    - `momo`
    - `mercado_pago`
    - `nequi`
    - `nupay`
    - `picpay`
    - `thai_qr`
    - `blik`
    - `fpx`
    - `wero`
    - `p24`
    - `affirm_pay`
    - `rakuten_pay`

- `reference_number` (optional, string, max chars=100)
  The reference number for this transaction. For example, the check number when `[payment_method](/docs/api/transactions/transaction-object#payment_method)` = `check` .

- `gateway` (required, enumerated string)
  Gateway through which this transaction was done. Applicable only for 'Card' Payment Method
  Possible enum values:
    - `chargebee`
      Chargebee test gateway.
    - `chargebee_payments`
      Chargebee Payments gateway
    - `adyen`
      Adyen is a payment gateway.
    - `stripe`
      Stripe is a payment gateway.
    - `wepay`
      WePay is a payment gateway.
    - `braintree`
      Braintree is a payment gateway.
    - `authorize_net`
      Authorize.net is a payment gateway
    - `paypal_pro`
      PayPal Pro Account is a payment gateway.
    - `pin`
      Pin is a payment gateway
    - `eway`
      eWAY Account is a payment gateway.
    - `eway_rapid`
      eWAY Rapid is a payment gateway.
    - `worldpay`
      WorldPay is a payment gateway
    - `balanced_payments`
      Balanced is a payment gateway
    - `beanstream`
      Bambora(formerly known as Beanstream) is a payment gateway.
    - `bluepay`
      BluePay is a payment gateway.
    - `elavon`
      Elavon Virtual Merchant is a payment solution.
    - `first_data_global`
      First Data Global Gateway Virtual Terminal Account
    - `hdfc`
      HDFC Account is a payment gateway.
    - `migs`
      MasterCard Internet Gateway Service payment gateway.
    - `nmi`
      NMI is a payment gateway.
    - `ogone`
      Ingenico ePayments (formerly known as Ogone) is a payment gateway.
    - `paymill`
      PAYMILL is a payment gateway.
    - `paypal_payflow_pro`
      PayPal Payflow Pro is a payment gateway.
    - `sage_pay`
      Sage Pay is a payment gateway.
    - `tco`
      2Checkout is a payment gateway.
    - `wirecard`
      WireCard Account is a payment service provider.
    - `amazon_payments`
      Amazon Payments is a payment service provider.
    - `paypal_express_checkout`
      PayPal Express Checkout is a payment gateway.
    - `gocardless`
      GoCardless is a payment service provider.
    - `orbital`
      Chase Paymentech(Orbital) is a payment gateway.
    - `moneris_us`
      Moneris USA is a payment gateway.
    - `moneris`
      Moneris is a payment gateway.
    - `bluesnap`
      BlueSnap is a payment gateway.
    - `cybersource`
      CyberSource is a payment gateway.
    - `vantiv`
      Vantiv is a payment gateway.
    - `checkout_com`
      Checkout.com is a payment gateway.
    - `paypal`
      PayPal Commerce is a payment gateway.
    - `ingenico_direct`
      Worldline Online Payments is a payment gateway.
    - `exact`
      Exact Payments is a payment gateway.
    - `mollie`
      Mollie is a payment gateway.
    - `quickbooks`
      Intuit QuickBooks Payments gateway
    - `razorpay`
      Razorpay is a fast growing payment service provider in India working with all leading banks and support for major local payment methods including Netbanking, UPI etc.
    - `global_payments`
      Global Payments is a payment service provider.
    - `bank_of_america`
      Bank of America Gateway
    - `ecentric`
      Ecentric provides a seamless payment processing service in South Africa specializing on omnichannel capabilities.
    - `metrics_global`
      Metrics global is a leading payment service provider providing unified payment services in the US.
    - `windcave`
      Windcave provides an end to end payment processing solution in ANZ and other leading global markets.
    - `pay_com`
      Pay.com provides payment services focused on simplicity and hassle-free operations for businesses of all sizes.
    - `ebanx`
      EBANX is a payment gateway, enabling businesses to accept diverse local payment methods from various countries for increased market reach and conversion.
    - `dlocal`
      Dlocal provides payment solutions for global commerce by accepting local payment methods.
    - `nuvei`
      Nuvei is a secure and reliable payment processing solution that allows you to accept payments from customers and suitable for various types of businesses.
      
      This feature is a **Private Beta Release**. [Request access](https://app.chargebee.com/login?forward=https://app.chargebee.com/request_access/nuvei&ref=feature) to enable Nuvei for your test and live sites.
    - `solidgate`
      Solidgate is a secure and reliable payment processing solution that allows you to accept payments from customers and suitable for various types of businesses.
      
      This feature is a **Private Beta Release**.
    - `paystack`
      Paystack is a payment gateway for businesses in Africa. It enables secure payment acceptance both online and offline.
      
      This feature is a **Private Beta Release**. [Request access](https://app.chargebee.com/login?forward=https://app.chargebee.com/request_access/paystack&ref=feature) to enable Paystack for your test and live sites.
    - `jp_morgan`
      J.P. Morgan Mobility Payment Solutions is a payment gateway that enables you to securely accept and manage digital payments across different [payment\_source\_type](/docs/api/payment_sources/payment_source-object#type).
      
      This feature is a **Private Beta Release**. [Request access](https://app.chargebee.com/login?forward=https://app.chargebee.com/request_access/jp-morgan-bacs&ref=feature) to enable the J.P. Morgan Mobility Payment Solutions gateway via payFURL for your test and live sites.
    - `deutsche_bank`
      Deutsche Bank is the leading German bank with strong European roots and a global network.
      
      This feature is a **Private Beta Release**.
    - `ezidebit`
      Ezidebit is a payment gateway integration based in Australia that supports automated direct debit, BPAY, and card payments for businesses.
      
      This feature is a **Private Beta Release**.
    - `twikey`
      Twikey is a payment service provider that specializes in processing direct debit payments across the EU.
    - `tempus`
      Tempus Technologies is a payment gateway and payments technology provider offering secure payment processing with point-to-point encryption (P2PE) and tokenization.
    - `moyasar`
      Moyasar is a fully integrated online payment service that makes accepting payments simple and secure.
    - `payway`
      Payway is a payment gateway that enables secure card and payment acceptance.
    - `payu`
    - `not_applicable`
      Indicates that payment gateway is not applicable for this resource.

- `type` (required, enumerated string)
  Type of the transaction.
  Possible enum values:
    - `authorization`
      The transaction represents an authorization for capturing the `[amount](/docs/api/transactions/transaction-object#amount)` from the customer's `[payment_source](/docs/api/payment_sources)` .
    - `payment`
      The transaction represents capture of `[amount](/docs/api/transactions/transaction-object#amount)` from the customer's `[payment_source](/docs/api/payment_sources)` .
    - `refund`
      The transaction represents a refund of `[amount](/docs/api/transactions/transaction-object#amount)` to the customer's `[payment_source](/docs/api/payment_sources)` .
    - `payment_reversal`
      Indicates a reversal transaction.

- `date` (optional, timestamp(UTC) in seconds)
  Indicates when this transaction occurred.

- `settled_at` (optional, timestamp(UTC) in seconds)
  Indicates the time at which the final status of the transaction has been marked.

- `exchange_rate` (optional, bigdecimal, min=1E-9, max=999999999.999999999)
  Exchange rate used for base currency conversion

- `currency_code` (required, string, max chars=3)
  The currency code (ISO 4217 format) for the transaction.

- `amount` (optional, in cents, min=0)
  Amount for this transaction.

- `id_at_gateway` (optional, string, max chars=100)
  The id with which this transaction is referred in gateway.

- `status` (optional, enumerated string)
  The status of this transaction.
  Possible enum values:
    - `in_progress`
      Transaction is being processed by the gateway. This typically happens for [direct debit transactions](https://www.chargebee.com/docs/direct-debit-payments.html) or, in case of cards, refund transactions. Such transactions can take 2-7 days to complete, depending on the gateway and payment method.
    - `success`
      The transaction is successful.
    - `voided`
      The transaction got voided or authorization expired at gateway.
    - `failure`
      Transaction failed. Refer the 'error\_code' and 'error\_text' fields to know the reason for failure
    - `timeout`
      Transaction failed because of Gateway not accepting the connection.
    - `needs_attention`
      When connection with the Gateway gets terminated abruptly. For `needs_attention` status Chargebee automatically reconcile the transaction for few gateways, for rest of the gateways you have to use the [Reconcile transaction API](/docs/api/transactions/reconcile-transaction). You can use this API to update the `id_at_gateway` (Gateway Transaction ID) and `status` for a [`needs_attention`](/docs/api/transactions/transaction-object#status) transaction to be reconciled at par with the gateway.
      
      [Learn more](https://www.chargebee.com/docs/payments/2.0/needs-attention-transactions.html) about `needs_attention` transaction status
    - `late_failure`
      Indicates that a successful payment transaction has failed now due to a late failure notification from the payment gateway, typically caused by issues like insufficient funds or a closed bank account.

- `fraud_flag` (optional, enumerated string)
  Indicates whether or not the transaction has been [identified as fraudulent](https://www.chargebee.com/docs/payments/2.0/fraud-management/chargebee-fraud-management).
  Possible enum values:
    - `safe`
      The transaction has been marked as safe
    - `suspicious`
      The transaction has been identified as potentially fraudulent by the gateway
    - `fraudulent`
      The transaction has been marked as fraudulent

- `initiator_type` (optional, enumerated string)
  Marker for on-session payments (3DS). null indicates 'merchant'.
  Possible enum values:
    - `customer`
      Customer initiated 3DS payment
    - `merchant`
      Payment initiated on stored payment method by the merchant

- `three_d_secure` (optional, boolean)
  Indicates whether this transaction has gone through 3DS. Applicable only for 'on-session' payments & verifications.If 3DS is not enforced by the gateway/bank or if the customers' card is not enrolled, this will be false.

- `authorization_reason` (optional, enumerated string)
  Type of authorization transaction.
  Possible enum values:
    - `blocking_funds`
      The transaction has been created to block the funds from payment method.
    - `verification`
      The transaction has been created for payment method verification.
    - `scheduled_capture`
      The transaction was authorized in advance for capture at a later time by a scheduled system job. The capture may succeed or fail, and its outcome is recorded as a linked transaction under `linked_payments` .

- `error_code` (optional, string, max chars=100)
  Error code received from the payment gateway on failure.

- `error_text` (optional, string, max chars=65k)
  Error message received from the payment gateway on failure.

- `voided_at` (optional, timestamp(UTC) in seconds)
  Timestamp indicating when the payment was voided or authorization expired at gateway.

- `resource_version` (optional, long)
  Version number of this resource. The `resource_version` is updated with a new timestamp in milliseconds for every change made to the resource. This attribute will be present only if the resource has been updated after 2016-09-28.

- `updated_at` (optional, timestamp(UTC) in seconds)
  Timestamp indicating when this transaction was last updated. This attribute will be present only if the resource has been updated after 2016-09-28.

- `fraud_reason` (optional, string, max chars=250)
  Short description why the transaction was marked as fraud/suspicious

- `custom_payment_method_id` (optional, string, max chars=50)
  Identifier of the custom payment method of this transaction.

- `amount_unused` (optional, in cents, min=0)
  This is the part of the `amount` which has not been invoiced yet and is therefore added to `[excess_payments](/docs/api/customers/customer-object#excess_payments)` for the customer. Applicable only for a transaction of `type` = `payment` .

- `masked_card_number` (optional, string, max chars=20)
  The masked card number used for this transaction. Applicable only for 'Card' Payment Method

- `reference_transaction_id` (optional, string, max chars=40)
  This is the `id` of the offline transaction that is being refunded or reversed. Applicable only for transaction of `type` = `refund` or `payment_reversal` .

- `refunded_txn_id` (optional, string, max chars=40)
  This is the `id` of the transaction (always of `type` = `payment` ) being refunded. Applicable only for transaction of `type` = `refund` .

- `reference_authorization_id` (optional, string, max chars=40)
  This is the `id` of the transaction (always of `type` = `authorization` ) which authorizes the payment being captured. Applicable only for transaction of `type` = `payment` .

- `amount_capturable` (optional, in cents, min=0)
  This is the part of the authorized `amount` that is yet to be captured. The payment capture is recorded as a transaction of of `type` = `payment`. Applicable only for a transaction of `type` = `authorization` .

- `reversal_transaction_id` (optional, string, max chars=40)
  Reversal transaction id. Applicable only for payment transactions.

- `deleted` (required, boolean)
  Indicates that this resource has been deleted.

- `iin` (optional, string, min chars=4, max chars=6)
  First 6 digits of the card payment method.

- `last4` (optional, string, min chars=4, max chars=4)
  Last 4 digits of the card payment method.

- `merchant_reference_id` (optional, string, max chars=500)
  A unique id used to track this transaction across various systems you integrate with. This id is passed to the payment gateway when the transaction is initiated. Supported only for the [Exact payment gateway](https://www.chargebee.com/docs/exact-direct.html) .

- `business_entity_id` (optional, string, max chars=50)
  The unique ID of the [business entity](/docs/api/getting-started) of this `transaction`. This is always the same as the business entity of the [customer](/docs/api/transactions/transaction-object#customer_id).

- `payment_method_details` (optional, string)
  Payment method details of the corresponding transaction

- `custom_payment_method_name` (optional, string, max chars=100)
  Name of the custom payment method of this transaction.

- `linked_invoices` (optional, list of invoice_transaction)
  Applicable only for 'Payment' transactions. The list of invoices this 'payment' transaction is applied to.
  - `invoice_id` (required, string, max chars=50)
    Identifier for the invoice.
  - `applied_amount` (required, in cents, min=0)
    The transaction amount applied to this invoice
  - `applied_at` (required, timestamp(UTC) in seconds)
    Timestamp at which the transaction is applied.
  - `invoice_date` (optional, timestamp(UTC) in seconds)
    The date this invoice is issued.
  - `invoice_total` (optional, in cents, min=0)
    Total amount of the invoice
  - `invoice_status` (required, enumerated string)
    Current status of this invoice.
    Possible enum values:
      - `paid`
        Indicates a paid invoice.
      - `posted`
        Indicates the payment is not yet collected and will be in this state till the due date to indicate the due period
      - `payment_due`
        Indicates the payment is not yet collected and is being retried as per retry settings.
      - `not_paid`
        Indicates the payment is not made and all attempts to collect is failed.
      - `voided`
        Indicates a voided invoice.
      - `pending`
        The [invoice](/docs/api/invoices/invoice-object#status) is yet to be closed (sent for payment collection). An invoice is generated with this `status` when it has line items that belong to items that are `metered` or when the `subscription.create_pending_invoices`attribute is set to `true`. The [invoice](/docs/api/v2/pcv-1/invoices/invoice-object#status) is yet to be closed (sent for payment collection). All invoices are generated with this `status` when [Metered Billing](https://www.chargebee.com/docs/1.0/metered_billing.html) is enabled for the site.

- `linked_credit_notes` (optional, list of credit_note_transaction)
  Applicable only for 'Refund' transactions. The list of Credit Notes this 'refund' transaction is associated with.
  - `cn_id` (required, string, max chars=50)
    Identifier for the credit-notes.
  - `applied_amount` (required, in cents, min=0)
    The transaction amount applied to this invoice
  - `applied_at` (required, timestamp(UTC) in seconds)
    Timestamp at which the transaction is applied.
  - `cn_reason_code` (optional, enumerated string)
    Credit note reason code. Deprecated use the cn\_create\_reason\_code parameter instead
    Possible enum values:
      - `write_off`
        This reason will be set automatically for the Credit Notes created during invoice [Write Off](https://www.chargebee.com/docs/invoice-operations.html#write-off) operation.
      - `subscription_change`
        This reason will be set automatically for Credit Notes created during Change Subscription operation when [proration](https://www.chargebee.com/docs/proration.html) is enabled
      - `subscription_cancellation`
        This reason will be set automatically for Credit Notes created during cancel subscription operation
      - `subscription_pause`
        This reason will be automatically set to credit notes created during pause/resume subscription operation.
      - `chargeback`
        Can be set when you are recording your customer Chargebacks
      - `product_unsatisfactory`
        Product Unsatisfactory
      - `service_unsatisfactory`
        Service Unsatisfactory
      - `order_change`
        Order Change
      - `order_cancellation`
        Order Cancellation
      - `waiver`
        Waiver
      - `other`
        Can be set when none of the above reason codes are applicable
      - `fraudulent`
        FRAUDULENT
  - `cn_create_reason_code` (optional, string, max chars=100)
    Credit note reason code
  - `cn_date` (optional, timestamp(UTC) in seconds)
    The date this credit note is created.
  - `cn_total` (optional, in cents, default=0, min=0)
    Total amount of the credit note
  - `cn_status` (required, enumerated string)
    The status of this Credit Note.
    Possible enum values:
      - `adjusted`
        When the Credit Note has been adjusted against an invoice.
      - `refunded`
        When the entire credits (Credit Note amount) have been used (i.e either allocated to invoices or refunded).
      - `refund_due`
        When the credits are yet to be used, or have been partially used.
      - `voided`
        When the Credit Note has been cancelled.
  - `cn_reference_invoice_id` (optional, string, max chars=50)
    The invoice number. Acts as a identifier for invoice and typically generated sequentially.

- `linked_refunds` (optional, list of txn_refunds_and_reversal)
  Applicable only for Payment transactions. It only returns values when the transaction is not associated with an invoice, and that there is a refund for the transaction.
  - `txn_id` (required, string, max chars=40)
    Uniquely identifies the transaction.
  - `txn_status` (required, enumerated string)
    The status of this transaction.
    Possible enum values:
      - `in_progress`
        Transaction is being processed by the gateway. This typically happens for [direct debit transactions](https://www.chargebee.com/docs/direct-debit-payments.html) or, in case of cards, refund transactions. Such transactions can take 2-7 days to complete, depending on the gateway and payment method.
      - `success`
        The transaction is successful.
      - `voided`
        The transaction got voided or authorization expired at gateway.
      - `failure`
        Transaction failed. Refer the 'error\_code' and 'error\_text' fields to know the reason for failure
      - `timeout`
        Transaction failed because of Gateway not accepting the connection.
      - `needs_attention`
        When connection with the Gateway gets terminated abruptly. For `needs_attention` status Chargebee automatically reconcile the transaction for few gateways, for rest of the gateways you have to use the [Reconcile transaction API](/docs/api/transactions/reconcile-transaction). You can use this API to update the `id_at_gateway` (Gateway Transaction ID) and `status` for a [`needs_attention`](/docs/api/transactions/transaction-object#status) transaction to be reconciled at par with the gateway.
        
        [Learn more](https://www.chargebee.com/docs/payments/2.0/needs-attention-transactions.html) about `needs_attention` transaction status
      - `late_failure`
        Indicates that a successful payment transaction has failed now due to a late failure notification from the payment gateway, typically caused by issues like insufficient funds or a closed bank account.
  - `txn_date` (required, timestamp(UTC) in seconds)
    Indicates when this refund occured.
  - `txn_amount` (required, in cents, min=0)
    Amount of this refund transaction.

- `linked_payments` (optional, list of linked_payment)
  The list of payments captured for this authorization transaction.
  - `id` (required, string, max chars=40)
    Uniquely identifies the transaction.
  - `status` (optional, enumerated string)
    The status of this transaction.
    Possible enum values:
      - `in_progress`
        Transaction is being processed by the gateway. This typically happens for [direct debit transactions](https://www.chargebee.com/docs/direct-debit-payments.html) or, in case of cards, refund transactions. Such transactions can take 2-7 days to complete, depending on the gateway and payment method.
      - `success`
        The transaction is successful.
      - `voided`
        The transaction got voided or authorization expired at gateway.
      - `failure`
        Transaction failed. Refer the 'error\_code' and 'error\_text' fields to know the reason for failure
      - `timeout`
        Transaction failed because of Gateway not accepting the connection.
      - `needs_attention`
        When connection with the Gateway gets terminated abruptly. For `needs_attention` status Chargebee automatically reconcile the transaction for few gateways, for rest of the gateways you have to use the [Reconcile transaction API](/docs/api/transactions/reconcile-transaction). You can use this API to update the `id_at_gateway` (Gateway Transaction ID) and `status` for a [`needs_attention`](/docs/api/transactions/transaction-object#status) transaction to be reconciled at par with the gateway.
        
        [Learn more](https://www.chargebee.com/docs/payments/2.0/needs-attention-transactions.html) about `needs_attention` transaction status
      - `late_failure`
        Indicates that a successful payment transaction has failed now due to a late failure notification from the payment gateway, typically caused by issues like insufficient funds or a closed bank account.
  - `amount` (optional, in cents, min=0)
    Amount for this transaction.
  - `date` (optional, timestamp(UTC) in seconds)
    Indicates when this transaction occurred.

- `error_detail` (optional, gateway_error_detail)
  Comprehensive information regarding the error experienced during an unsuccessful or declined transaction. Learn more about [gateway error references](/docs/api/v2/pcv-1/gateway_error_references)
  - `request_id` (optional, string, max chars=100)
    This is a unique identifier assigned by the payment gateway. It is used to track the request at the payment gateway
  - `error_category` (optional, string, max chars=100)
    This parameter categorizes the type of error that occurred for the request. It helps in understanding whether the error is due to API error, validation, processing, network issues, and more
  - `error_code` (optional, string, max chars=100)
    A gateway-specific code that corresponds to the particular error encountered for the request. This code can be used for identifying the error in a standardized manner across the gateway's services
  - `error_message` (optional, string, max chars=65k)
    A message provided by the gateway that describes the nature of the error encountered
  - `decline_code` (optional, string, max chars=100)
    When a transaction is declined, this code is provided by the gateway to specify the reason for the decline
  - `decline_message` (optional, string, max chars=65k)
    This message gives a descriptive explanation of the reason for the transaction's decline
  - `network_error_code` (optional, string, max chars=100)
    This code represents errors that originate from the payment network (such as Visa, MasterCard, and more). It is different from the gateway error code and is specific to the network's error-handling system
  - `network_error_message` (optional, string, max chars=65k)
    This the network related error message from the gateway, this is a detailed message provided by the payment network explaining the nature of the network error encountered
  - `error_field` (optional, string, max chars=100)
    This parameter indicates which specific data field or attribute in the request caused the error
  - `recommendation_code` (optional, string, max chars=100)
    After an error has occurred, the gateway or payment network may provide a recommendation code. This code suggests a course of action or remedy that you can follow to resolve the issue
  - `recommendation_message` (optional, string, max chars=65k)
    This message is intended to provide guidance or suggestions on action or remedy that you can follow to resolve the issue
  - `processor_error_code` (optional, string, max chars=100)
    This code is provided by the payment processor (the entity that handles the transaction between the bank accounts and the payment networks) and indicates errors that occur at this stage of the payment process
  - `processor_error_message` (optional, string, max chars=65k)
    This message describes the specific error that the payment processor encountered
  - `error_cause_id` (optional, string, max chars=150)
    A [Chargebee-defined code](/docs/api/errors) that corresponds to the specific error encountered during the request. This code helps in identifying and standardizing the error across different gateway services for consistent error handling.
  - `processor_advice_code` (optional, string, max chars=100)
    An advice code from the payment gateway or network that indicates how to handle a card decline. For example, the value `try_again_later` means you can retry the transaction.

