Постачальник платежів

class odoo.addons.payment.models.payment_provider.PaymentProvider[source]
_compute_feature_support_fields()[source]

Обчисліть поля підтримки функцій на основі постачальника.

Поля підтримки функцій використовуються для визначення додаткових функцій, що підтримуються певним постачальником. Ці поля мають такий вигляд:

  • support_express_checkout: Чи підтримується функція «експрес-оформлення замовлення». За замовчуванням False.

  • support_manual_capture: Чи підтримується функція «ручного захоплення». За замовчуванням False.

  • support_refund: Який тип функції «повернення коштів» підтримується: None, 'full_only' або 'partial'. None за замовчуванням.

  • support_tokenization: Чи підтримується «функція токенізації». За замовчуванням False.

Щоб постачальник міг вказати, що він підтримує додаткові функції, він повинен перевизначити цей метод і встановити відповідні поля підтримки функцій на потрібне значення у відповідних записах payment.provider.

Повертає

Жоден

_compute_view_configuration_fields()[source]

Обчисліть поля конфігурації подання на основі постачальника.

Поля конфігурації представлення використовуються для приховування певних елементів (сторінок блокнота, полів тощо) з перегляду форми постачальників платежів. За замовчуванням для цих полів встановлено значення True, і вони мають такий вигляд:

  • show_credentials_page: Чи слід показувати сторінку блокнота «Облікові дані».

  • show_allow_tokenization: Чи слід показувати поле allow_tokenization.

  • show_allow_express_checkout: Чи слід показувати поле allow_express_checkout.

  • show_pre_msg: Чи слід показувати поле pre_msg.

  • show_pending_msg: Чи слід показувати поле pending_msg.

  • show_auth_msg: Чи слід показувати поле auth_msg.

  • show_done_msg: Чи слід показувати поле done_msg.

  • show_cancel_msg: Чи слід показувати поле cancel_msg.

  • require_currency: Чи має бути обов’язковим поле available_currency_ids.

Щоб постачальник міг приховати певні елементи форми, він повинен перевизначити цей метод і встановити відповідні поля конфігурації представлення у значення False у відповідних записах payment.provider.

Повертає

Жоден

_get_compatible_providers(company_id, partner_id, amount, currency_id=None, force_tokenization=False, is_express_checkout=False, is_validation=False, **kwargs)[source]

Шукати та повертати постачальників, що відповідають критеріям сумісності.

Критерії сумісності полягають у тому, що постачальники повинні: не бути вимкненими; перебувати в компанії, яка надається; підтримувати країну партнера, якщо вона існує; бути сумісними з валютою, якщо вона надається. Якщо вони надаються, додаткові аргументи ключових слів ще більше уточнюють критерії.

Параметри
  • company_id (int) – Компанія, до якої мають належати постачальники, як id res.company.

  • partner_id (int) – Партнер, який здійснює платіж, як id res.partner.

  • amount (float) – Сума до сплати. 0 для транзакцій підтвердження.

  • currency_id (int) – Валюта платежу, якщо вона відома заздалегідь, як id res.currency.

  • force_tokenization (bool) – Чи можна зіставити лише постачальників, які дозволяють токенізацію.

  • is_express_checkout (bool) – Чи здійснюється оплата через експрес-кассу.

  • is_validation (bool) – Чи є операція перевіркою.

  • kwargs (dict) – Необов’язкові дані. Цей параметр тут не використовується.

Повертає

Сумісні постачальники.

Тип повернення

payment.provider

_get_redirect_form_view(is_validation=False)[source]

Повернути вигляд шаблону, який використовується для відображення форми перенаправлення.

Щоб постачальник повернув різне представлення залежно від того, чи є операція перевіркою, він повинен перевизначити цей метод і повернути відповідне представлення.

Примітка: self.ensure_one()

Параметри

is_validation (bool) – Чи є операція перевіркою.

Повертає

Вигляд шаблону форми перенаправлення.

Тип повернення

запис ir.ui.view

_get_validation_amount()[source]

Повернути суму, яку потрібно використовувати для операцій перевірки.

Щоб постачальник підтримував токенізацію, він повинен перевизначити цей метод і повернути суму перевірки. Якщо вона дорівнює 0, створювати перевизначення не потрібно.

Примітка: self.ensure_one()

Повертає

Сума підтвердження.

Тип повернення

float

_get_validation_currency()[source]

Повернути валюту для використання в операціях перевірки.

Валюта перевірки повинна підтримуватися як постачальником, так і способом оплати. Якщо спосіб оплати не пройшов перевірку, враховуються тільки валюти, що підтримуються постачальником. Якщо відповідної валюти не знайдено, замість неї повертається валюта компанії постачальника.

Щоб постачальник підтримував токенізацію та вказував іншу валюту перевірки, він повинен перевизначити цей метод та повернути відповідну валюту перевірки.

Примітка: self.ensure_one()

Повертає

Валюта підтвердження.

Тип повернення

набір записів res.currency

_is_tokenization_required(**kwargs)[source]

Повертає, чи потрібна токенізація транзакції, враховуючи її контекст.

Щоб модуль зробив токенізацію обов’язковою на основі контексту платежу, він повинен перевизначити цей метод і повернути інформацію про те, чи потрібна вона.

Параметри

kwargs (dict) – Контекст платежу. Цей параметр тут не використовується.

Повертає

Чи потрібна токенізація транзакції.

Тип повернення

bool

_should_build_inline_form(is_validation=False)[source]

Повертає, чи слід створювати екземпляр вбудованої форми оплати.

Щоб провайдер міг обробляти як прямі платежі, так і платежі з перенаправленням, він повинен перевизначити цей метод і повернути значення, яке вказує, чи слід інстанціювати вбудовану форму оплати (тобто чи слід здійснювати прямий платіж) на основі операції (онлайн-платіж або перевірка).

Параметри

is_validation (bool) – Чи є операція перевіркою.

Повертає

Чи слід створювати екземпляр вбудованої форми.

Тип повернення

bool

_get_removal_values()[source]

Повертає значення для оновлення постачальника після видалення його модуля.

Щоб модуль міг вказати додаткові значення видалення, він повинен перевизначити цей метод і доповнити загальні значення своїми специфічними значеннями.

Повертає

Значення видалення, які потрібно використовувати для оновлення видаленого постачальника.

Тип повернення

dict