Платіжна транзакція

class odoo.addons.payment.models.payment_transaction.PaymentTransaction[source]
_compute_reference(provider_code, prefix=None, separator='-', **kwargs)[source]

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

Посилання відповідає префіксу, якщо іншої транзакції з цим префіксом ще не існує. В іншому випадку воно дотримується шаблону {computed_prefix}{separator}{sequence_number}, де:

  • {computed_prefix} це:

    • Наданий користувацький префікс, якщо такий є.

    • Результат обчислення _compute_reference_prefix(), якщо користувацький префікс не заповнений, але kwargs є.

    • `“tx-{datetime}““, якщо ні користувацький префікс, ні kwargs не заповнені.

  • {separator} – це рядок, який відокремлює префікс від порядкового номера.

  • {sequence_number} – це наступне ціле число в послідовності посилань з тим самим префіксом. Послідовність починається з 1, якщо є лише одне відповідне посилання.

Example

  • Враховуючи користувацький префікс `“example““, який не має збігу з існуючим посиланням, повне посилання буде `“example““.

  • Враховуючи користувацький префікс 'example', який відповідає існуючому посиланню 'example', та користувацький роздільник `“-„“, повне посилання буде `“example-1““.

  • З огляду на kwargs {'invoice_ids': [1, 2]}, власний роздільник '-' і відсутність власного префікса, повне посилання буде 'INV1-INV2' (або подібне), якщо жодне існуюче посилання не має такого самого префікса, або 'INV1-INV2-n', якщо n існуючих посилань мають такий самий префікс.

Параметри
  • provider_code (str) – Код постачальника, який обробляє транзакцію.

  • prefix (str) – Користувацький префікс, що використовується для обчислення повного посилання.

  • separator (str) – Роздільник, що використовується для відокремлення префікса від суфікса.

  • kwargs (dict) – Необов’язкові значення, що передаються до _compute_reference_prefix(), якщо не вказано власний префікс.

Повертає

Унікальне посилання на транзакцію.

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

str

_compute_reference_prefix(provider_code, separator, **values)[source]

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

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

Параметри
  • provider_code (str) – Код постачальника, який обробляє транзакцію.

  • separator (str) – Користувацький роздільник, який використовується для розділення частин обчисленого префікса посилання.

  • values (dict) – Значення транзакцій, що використовуються для обчислення префікса посилання.

Повертає

Обчислений префікс посилання.

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

str

_get_post_processing_values()[source]

Повертає словник значень, що використовуються для відображення стану транзакції.

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

Повернутий словник містить такі записи:

  • provider_code: Код постачальника.

  • provider_name: Назва постачальника.

  • reference: Посилання на транзакцію.

  • amount: Округлена сума транзакції.

  • currency_id: Валюта транзакції, як ідентифікатор res.currency.

  • state: Стан транзакції: draft, pending, authorized, done, cancel, або error.

  • state_message: Інформаційне повідомлення про стан.

  • operation: Операція транзакції.

  • is_post_processed: Чи була транзакція вже оброблена після обробки.

  • landing_route: Маршрут, на який перенаправляється користувач після транзакції.

  • Додаткові записи, що стосуються конкретного постачальника.

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

Повертає

Словник обробки значень.

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

dict

_get_specific_create_values(provider_code, values)[source]

Доповніть значення методу create значеннями, специфічними для постачальника.

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

Параметри
  • provider_code (str) – Код постачальника, який обробляв транзакцію.

  • values (dict) – Оригінал створює цінності.

Повертає

Словник про створення значень, специфічних для постачальника.

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

dict

_get_specific_processing_values(processing_values)[source]

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

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

Параметри

processing_values (dict) – Загальні значення обробки транзакції.

Повертає

Словник значень обробки, специфічних для постачальника.

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

dict

_get_specific_rendering_values(processing_values)[source]

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

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

Параметри

processing_values (dict) – Значення обробки транзакції.

Повертає

Словник значень рендерингу, специфічних для постачальника.

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

dict

_get_tx_from_notification_data(provider_code, notification_data)[source]

Знайдіть транзакцію на основі даних сповіщення.

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

Параметри
  • provider_code (str) – Код постачальника, який обробляє транзакцію.

  • notification_data (dict) – Дані сповіщення, надіслані постачальником.

Повертає

Транзакція, якщо її знайдено.

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

набір записів payment.transaction

_handle_notification_data(provider_code, notification_data)[source]

Зіставте транзакцію з даними сповіщення, оновіть її стан та поверніть її.

Параметри
  • provider_code (str) – Код постачальника, який обробляє транзакцію.

  • notification_data (dict) – Дані сповіщення, надіслані постачальником.

Повертає

Транзакція.

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

набір записів payment.transaction

_process_notification_data(notification_data)[source]

Оновіть стан транзакції та посилання на постачальника на основі даних сповіщення.

Цей метод зазвичай не слід викликати безпосередньо. Правильний метод для виклику після отримання даних сповіщення - _handle_notification_data().

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

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

Параметри

notification_data (dict) – Дані сповіщення, надіслані постачальником.

Повертає

Жоден

_send_capture_request(amount_to_capture=None)[source]

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

Для часткових захоплень створіть дочірню транзакцію, пов’язану з вихідною транзакцією.

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

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

Параметри

amount_to_capture (float) – Сума для захоплення.

Повертає

Створена дочірня транзакція захоплення, якщо така є.

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

payment.transaction

_send_payment_request()[source]

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

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

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

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

Повертає

Жоден

_send_refund_request(amount_to_refund=None)[source]

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

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

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

Параметри

amount_to_refund (float) – Сума, що підлягає поверненню.

Повертає

Транзакція повернення коштів, створена для обробки запиту на повернення коштів.

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

набір записів payment.transaction

_send_void_request(amount_to_void=None)[source]

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

Для часткових анульованих транзакцій створіть дочірню транзакцію, пов’язану з вихідною транзакцією.

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

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

Параметри

amount_to_void (float) – Сума, що підлягає анулюванню.

Повертає

Створена недійсна дочірня транзакція, якщо така є.

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

payment.transaction

_set_authorized(state_message=None, extra_allowed_states=())[source]

Оновіть стан транзакцій на authorized.

Параметри
  • state_message (str) – Причина встановлення стану транзакцій authorized.

  • extra_allowed_states (tuple[str]) – Додаткові стани, які слід вважати дозволеними цільовими станами для вихідного стану «авторизовано».

Повертає

Оновлені транзакції.

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

набір записів payment.transaction

_set_canceled(state_message=None, extra_allowed_states=())[source]

Оновіть стан транзакцій на cancel.

Параметри
  • state_message (str) – Причина встановлення транзакцій у стан cancel.

  • extra_allowed_states (tuple[str]) – Додаткові стани, які слід вважати дозволеними цільовими станами для вихідного стану „canceled“.

Повертає

Оновлені транзакції.

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

набір записів payment.transaction

_set_done(state_message=None, extra_allowed_states=())[source]

Оновіть стан транзакцій на done.

Параметри
  • state_message (str) – Причина встановлення транзакцій у стан done.

  • extra_allowed_states (tuple[str]) – Додаткові стани, які слід вважати дозволеними цільовими станами для вихідного стану „done“.

Повертає

Оновлені транзакції.

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

набір записів payment.transaction

_set_error(state_message, extra_allowed_states=())[source]

Оновіть стан транзакцій на error.

Параметри
  • state_message (str) – Причина встановлення транзакцій у стан error.

  • extra_allowed_states (tuple[str]) – Додаткові стани, які слід вважати дозволеними цільовими станами для вихідного стану „error“.

Повертає

Оновлені транзакції.

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

набір записів payment.transaction

_set_pending(state_message=None, extra_allowed_states=())[source]

Оновіть стан транзакцій на pending.

Параметри
  • state_message (str) – Причина встановлення транзакцій у стан pending.

  • extra_allowed_states (tuple[str]) – Додаткові стани, які слід вважати дозволеними цільовими станами для вихідного стану „pending“.

Повертає

Оновлені транзакції.

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

набір записів payment.transaction