Odoo 19.0 Community · Persistent

payment.transaction: fields, relations and API

The payment.transaction model ("Payment Transaction") is a persistent model declared by the Payment Engine module, then extended by 30 other modules. It exposes 48 fields, 42 of them declared directly on the model; 8 fields from other models point to it. Below you will find every field with its technical name, type, label and relations, followed by an Odoo 19 JSON-2 API call.

Model identity

Technical name
payment.transaction
Label
Payment Transaction
Type
Persistent (models.Model)
SQL table
payment_transaction
Origin module
Payment Engine (payment)
Extended by
account_payment, sale, payment_custom, delivery, payment_adyen, payment_aps, payment_asiapay, payment_authorize, payment_buckaroo, payment_demo, payment_dpo, payment_ecpay, payment_flutterwave, payment_iyzico, payment_mercado_pago, payment_mollie, payment_nuvei, payment_paymob, payment_paypal, payment_payu, payment_razorpay, payment_redsys, payment_stripe, payment_toss_payments, payment_worldline, payment_xendit, pos_online_payment, pos_online_payment_self_order, website_payment, website_sale_collect
Default order (_order)
id desc
Display field (_rec_name)
reference

Model fields

42 own fields, 0 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.

48 of 48 fields shown

Technical nameLabelTypeDetails
amountAmountmonetary
requiredread-only
capture_manuallyCapture Manuallyboolean

related: provider_id.capture_manually

added by Payment Provider: Demo (payment_demo)

child_transaction_idsChild Transactions

The child transactions of the transaction.

one2many
read-only

inverse: source_transaction_id

company_idCompanymany2one

related: provider_id.company_id

currency_idCurrencymany2one
requiredread-only
invoice_idsInvoicesmany2many
read-only

added by Payment - Account (account_payment)

invoices_countInvoices Countinteger
computed

added by Payment - Account (account_payment)

is_donationIs donationboolean

added by Website Payment (website_payment)

is_liveProduction Environment

Whether the transaction happened in a production environment. False for transactions created before this tracking was implemented.

boolean
is_post_processedIs Post-processed

Has the payment been post-processed

boolean
landing_routeLanding Route

The route the user is redirected to after the transaction

char
last_state_changeLast State Change Datedatetime
read-only
operationOperationselection
read-only

Values: online_redirect (Online payment with redirection), online_direct (Online direct payment), online_token (Online payment by token), validation (Validation of the payment method), offline (Offline payment by token), refund (Refund)

partner_addressAddresschar
partner_cityCitychar
partner_country_idCountrymany2one
partner_emailEmailchar
partner_idCustomermany2one
requiredread-only
partner_langLanguageselection

Values computed at runtime

partner_namePartner Namechar
partner_phonePhonechar
partner_state_idStatemany2one
partner_zipZipchar
payment_idPaymentmany2one
read-only

added by Payment - Account (account_payment)

payment_method_codePayment Method Codechar

related: payment_method_id.code

payment_method_idPayment Methodmany2one
requiredread-only
paypal_typePayPal Transaction Typechar

added by Payment Provider: Paypal (payment_paypal)

pos_order_idPOS Order

The Point of Sale order linked to the payment transaction

many2one
read-only

added by Point of Sale online payment (pos_online_payment)

primary_payment_method_idPrimary Payment Methodmany2one
computed
provider_codeProvider Codeselection

related: provider_id.code

provider_idProvidermany2one
requiredread-only
provider_referenceProvider Reference

The provider reference of the transaction

char
read-only
referenceReference

The internal reference of the transaction

char
requiredread-only
refunds_countRefunds Countinteger
computed
sale_order_idsSales Ordersmany2many
read-only

added by Sales (sale)

sale_order_ids_nbr# of Sales Ordersinteger
computed

added by Sales (sale)

source_transaction_idSource Transaction

The source transaction of the related child transactions

many2one
read-only
stateStatusselection
requiredread-only

Values: draft (Draft), pending (Pending), authorized (Authorized), done (Confirmed), cancel (Canceled), error (Error)

state_messageMessage

The complementary information message about the state

text
read-only
token_idPayment Tokenmany2one
read-only
tokenizeCreate Token

Whether a payment token should be created when post-processing the transaction

boolean
toss_payments_payment_secretToss Payments Payment Secretchar

added by Payment Provider: Toss Payments (payment_toss_payments)

create_dateCreated ondatetime
read-onlyautomatic
create_uidCreated bymany2one
read-onlyautomatic
display_nameDisplay Namechar
read-onlycomputedautomatic
idIDinteger
read-onlyautomatic
write_dateLast Updated ondatetime
read-onlyautomatic
write_uidLast Updated bymany2one
read-onlyautomatic

Relations

Models linked from this model

Fields of other models pointing here

Reading this model through the API

Odoo 19 JSON-2 API call reading the first five records with real fields of the model. Replace the instance, database and API key with your own.

curl
curl -X POST "https://your-instance.odoo.com/json/2/payment.transaction/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: your-db" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["reference","amount","currency_id","partner_id","payment_method_id"],"limit":5}'
Python (requests)
import requests

BASE_URL = "https://your-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "your-db"}

res = requests.post(
    f"{BASE_URL}/payment.transaction/search_read",
    headers=headers,
    json={"domain": [], "fields": ["reference","amount","currency_id","partner_id","payment_method_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())
  • External API access requires Odoo's Custom plan.
  • XML-RPC and JSON-RPC will be removed in Odoo 22 (fall 2028): use JSON-2.
  • The access rights and record rules of the key's user apply.

Cite this tool

Writing a tutorial, internal documentation or a forum answer? Copy this link to send your readers to the up-to-date reference.

<a href="https://aidoo.ai/en/outils/explorateur-modeles-odoo/payment-transaction">payment.transaction (Odoo 19.0)</a>

Sources

Data verified on September 23, 2026 · Odoo 19.0 Community

Have an Odoo project, or want to put your ERP to work with AI? Let's talk

Implementation, custom module development, connecting Claude or ChatGPT to your data: tell us about your context and we will reply within 24 business hours.