Adyen for Platforms

adyen_platforms
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/14.0/adyen_platforms
VERSION
VERSION 1.0
CATEGORY
CATEGORY
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Pierre Masereel, Antoine Prieels, Xavier-Do
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 18:42:54
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Base Module for Adyen for Platforms, used in eCommerce and PoS

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
adyen_account_view_form adyen.account.view.form adyen.account form New
adyen_bank_account_view_form adyen.bank.account.view.form adyen.bank.account form New
adyen_payout_view_form adyen.payout.view.form adyen.payout form New
adyen_shareholder_view_form adyen.shareholder.view.form adyen.shareholder form New
adyen_transaction_view_form adyen.transaction.view.form adyen.transaction form New
adyen_transaction_view_list adyen.transaction.view.list adyen.transaction tree New
assets_backend Adyen for Platforms Backend Assets ir.ui.view qweb Inherits web.assets_backend
kyc_status_message kyc_status_message ir.ui.view qweb New
Models touched (8)

New fields (23)
  • account_holder_code Char
    default=<expr> args: 'Account Holder Code'
  • adyen_uuid Char
    args: 'Adyen UUID'
  • bank_account_ids One2many → adyen.bank.account
    string='Bank Accounts' args: 'adyen.bank.account', 'adyen_account_id'
  • company_id Many2one → res.company
    default=<expr> args: 'res.company'
  • date_of_birth Date
    args: 'Date of birth'
  • document_number Char
    help='The type of ID Number required depends on the country:\nUS: Social Security Number (9 digits or last 4 digits)\nCanada: Social Insurance Number\nItaly: Codice fiscale\nAustralia: Document Number' args: 'ID Number'
  • document_type Selection
    default='ID' selection=[('ID', 'ID'), ('PASSPORT', 'Passport'), ('VISA', 'Visa'), ('DRIVINGLICENSE', 'Driving license')] string='Document Type'
  • doing_business_as Char
    args: 'Doing Business As'
  • email Char
    required=True args: 'Email'
  • first_name Char
    args: 'First Name'
  • full_name Char
    compute='_compute_full_name'
  • is_business Boolean
    required=True args: 'Is a business'
  • kyc_status Selection
    default='pending' required=True selection=[('awaiting_data', 'Data to provide'), ('pending', 'Waiting for validation'), ('passed', 'Confirmed'), ('failed', 'Failed')] string='KYC Status'
  • kyc_status_message Char
    readonly=True args: 'KYC Status Message'
  • last_name Char
    args: 'Last Name'
  • legal_business_name Char
    args: 'Legal Business Name'
  • payout_ids One2many → adyen.payout
    string='Payouts' args: 'adyen.payout', 'adyen_account_id'
  • phone_number Char
    required=True args: 'Phone Number'
  • proxy_token Char
    args: 'Proxy Token'
  • registration_number Char
    args: 'Registration Number'
  • shareholder_ids One2many → adyen.shareholder
    string='Shareholders' args: 'adyen.shareholder', 'adyen_account_id'
  • transaction_ids One2many → adyen.transaction
    string='Transactions' args: 'adyen.transaction', 'adyen_account_id'
  • transactions_count Integer
    compute='_compute_transactions_count'
Public methods (6)
  • action_create_redirect(self)
    @api.model
    Accessing the FormView to create an Adyen account needs to be done through this action. The action will redirect the user to accounts.odoo.com to link an Odoo user_id to the Adyen account. After logging in on odoo.com the user will be redirected to his DB with a token in the URL. This token is then needed to create the Adyen account.
  • action_show_transactions(self)
  • create(self, values)
    @api.model
  • get_status(self, statuses)
    @api.model
  • unlink(self)
  • write(self, vals)

New fields (8)
  • city Char
    required=True args: 'City'
  • country_code Char
    related='country_id.code'
  • country_id Many2one → res.country
    domain=[('code', 'in', ADYEN_AVAILABLE_COUNTRIES)] required=True string='Country' args: 'res.country'
  • house_number_or_name Char
    required=True args: 'House Number Or Name'
  • state_code Char
    related='state_id.code'
  • state_id Many2one → res.country.state
    domain="[('country_id', '=?', country_id)]" string='State' args: 'res.country.state'
  • street Char
    required=True args: 'Street'
  • zip Char
    required=True args: 'ZIP'
Public methods (0)

No public methods.

New fields (22)
  • account_number Char
    args: 'Account Number'
  • account_type Selection
    selection=[('checking', 'Checking'), ('savings', 'Savings')] string='Account Type'
  • adyen_account_id Many2one → adyen.account
    ondelete='cascade' args: 'adyen.account'
  • bank_account_reference Char
    default=<expr> args: 'Reference'
  • bank_account_uuid Char
    args: 'UUID'
  • bank_code Char
    args: 'Bank Code'
  • bank_statement Binary
    help="You need to provide a bank statement to allow payouts. The file must be a bank statement, a screenshot of your online banking environment, a letter from the bank or a cheque and must contain the logo of the bank or it's name in a unique font, the bank account details, the name of the account holder. Allowed formats: jpg, pdf, png. Maximum allowed size: 10MB." args: 'Bank Statement'
  • bank_statement_filename Char
  • branch_code Char
    args: 'Branch Code'
  • country_code Char
    related='country_id.code'
  • country_id Many2one → res.country
    domain=[('code', 'in', ADYEN_AVAILABLE_COUNTRIES)] required=True string='Country' args: 'res.country'
  • currency_id Many2one → res.currency
    required=True string='Currency' args: 'res.currency'
  • iban Char
    args: 'IBAN'
  • kyc_status Selection
    default='pending' required=True selection=[('awaiting_data', 'Data to provide'), ('pending', 'Waiting for validation'), ('passed', 'Confirmed'), ('failed', 'Failed')] string='KYC Status'
  • kyc_status_message Char
    readonly=True args: 'KYC Status Message'
  • owner_city Char
    args: 'Owner City'
  • owner_country_id Many2one → res.country
    string='Owner Country' args: 'res.country'
  • owner_house_number_or_name Char
    args: 'Owner House Number or Name'
  • owner_name Char
    required=True args: 'Owner Name'
  • owner_state_id Many2one → res.country.state
    domain="[('country_id', '=?', owner_country_id)]" args: 'res.country.state', 'Owner State'
  • owner_street Char
    args: 'Owner Street'
  • owner_zip Char
    args: 'Owner ZIP'
Public methods (3)
  • create(self, values)
    @api.model
  • unlink(self)
  • write(self, vals)

New fields (5)
  • id_back Binary
    help='Allowed formats: jpg, pdf, png. Maximum allowed size: 4MB.' args: 'Photo ID Back'
  • id_back_filename Char
  • id_front Binary
    help='Allowed formats: jpg, pdf, png. Maximum allowed size: 4MB.' args: 'Photo ID Front'
  • id_front_filename Char
  • id_type Selection
    selection=[('PASSPORT', 'Passport'), ('ID_CARD', 'ID Card'), ('DRIVING_LICENSE', 'Driving License')] string='Photo ID type'
Public methods (1)
  • write(self, vals)

New fields (7)
  • adyen_account_id Many2one → adyen.account
    ondelete='cascade' args: 'adyen.account'
  • adyen_bank_account_id Many2one → adyen.bank.account
    help='The bank account to which the payout is to be made. If left blank, a bank account is automatically selected' string='Bank Account' args: 'adyen.bank.account'
  • code Char
    args: 'Account Code'
  • name Char
    default='Default' required=True args: 'Name'
  • next_scheduled_payout Date
    compute=_compute_next_scheduled_payout store=True args: 'Next scheduled payout'
  • payout_schedule Selection
    default='week' required=True selection=[('day', 'Daily'), ('week', 'Weekly'), ('month', 'Monthly')] string='Schedule'
  • transaction_ids One2many → adyen.transaction
    string='Transactions' args: 'adyen.transaction', 'adyen_payout_id'
Public methods (3)
  • create(self, values)
    @api.model
  • send_payout_request(self, notify=True)
  • unlink(self)

New fields (10)
  • adyen_account_id Many2one → adyen.account
    ondelete='cascade' args: 'adyen.account'
  • date_of_birth Date
    required=True args: 'Date of birth'
  • document_number Char
    help='The type of ID Number required depends on the country:\nUS: Social Security Number (9 digits or last 4 digits)\nCanada: Social Insurance Number\nItaly: Codice fiscale\nAustralia: Document Number' args: 'ID Number'
  • first_name Char
    required=True args: 'First Name'
  • full_name Char
    compute='_compute_full_name'
  • kyc_status Selection
    default='pending' required=True selection=[('awaiting_data', 'Data to provide'), ('pending', 'Waiting for validation'), ('passed', 'Confirmed'), ('failed', 'Failed')] string='KYC Status'
  • kyc_status_message Char
    readonly=True args: 'KYC Status Message'
  • last_name Char
    required=True args: 'Last Name'
  • shareholder_reference Char
    default=<expr> args: 'Reference'
  • shareholder_uuid Char
    args: 'UUID'
Public methods (3)
  • create(self, values)
    @api.model
  • unlink(self)
  • write(self, vals)

New fields (8)
  • adyen_account_id Many2one → adyen.account
    args: 'adyen.account'
  • adyen_payout_id Many2one → adyen.payout
    args: 'adyen.payout'
  • amount Float
    args: 'Amount'
  • currency_id Many2one → res.currency
    string='Currency' args: 'res.currency'
  • date Datetime
    args: 'Date'
  • description Char
    args: 'Description'
  • reference Char
    args: 'Reference'
  • status Selection
    selection=[('PendingCredit', 'Pending Credit'), ('CreditFailed', 'Credit Failed'), ('Credited', 'Credited'), ('Converted', 'Converted'), ('PendingDebit', 'Pending Debit'), ('DebitFailed', 'Debit Failed'), ('Debited', 'Debited'), ('DebitReversedReceived', 'Debit Reversed Received'), ('DebitedReversed', 'Debit Reversed'), ('ChargebackReceived', 'Chargeback Received'), ('Chargeback', 'Chargeback'), ('ChargebackReversedReceived', 'Chargeback Reversed Received'), ('ChargebackReversed', 'Chargeback Reversed'), ('Payout', 'Payout'), ('PayoutReversed', 'Payout Reversed'), ('FundTransfer', 'Fund Transfer'), ('PendingFundTransfer', 'Pending Fund Transfer'), ('ManualCorrected', 'Manual Corrected')] string='Type'
Public methods (1)
  • sync_adyen_transactions(self)
    @api.model
    Method called by cron to sync transactions from Adyen. Updates the status of pending transactions and create missing ones.

New fields (1)
  • adyen_account_id Many2one → adyen.account
    readonly=True string='Adyen Account' args: 'adyen.account'
Public methods (0)

No public methods.