Files
odoo_source/addons/payment_authorize
Antoine Vandevenne (anv) 6858d5ca49 [IMP] payment, *: document technical details in README files
Each payment acquirer has its own implementation specificities: some
implement a 'payment with redirection' flow and others a 'direct payment
flow'; sometimes the 'payment with redirection' flow is even implemented
as a 'direct payment' flow through an iframe; one payment acquirer could
support webhooks while another does not and relies on another mechanism
to fetch payment status updates...

It can be tricky to guess where to look in the code to determine how a
payment acquirer is implemented.

On top of that, the online payments ecosystem evolves at a fast pace due
to competition, buyouts, and legislation enforcement. Acquirers are thus
frequently migrated to new APIs that might differ in implementation from
the previous API.

To help figure out the *which*, *why*, *how*, and *when* of payment API
implementations, a README.md file is added to the main directory of all
payment acquirer modules. They can be browsed in human-readable format
on GitHub.

task-2374916

closes odoo/odoo#156084

X-original-commit: 4c19f26df3d39394cce2f183d6df15c5b89c7d27
Related: odoo/enterprise#57921
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-03-04 15:15:54 +00:00
..
…

Authorize.net

Technical details

SDK: Accept.js version 1

API: Accept suite API version 1

This module renders a self-hosted payment form with regular (non iframe) inputs and relies on the Accept.js SDK to send the payment details to Authorize.net through a secure connection. The JS assets are loaded in JavaScript when the payment form is submitted.

Other communications with Authorize.net are performed via server-to-server API calls.

This combined solution allows the implementation of a simple direct payment flow whilst keeping the front-end development efforts low. As payment details are retrieved in clear but are immediately passed to the Accept.js SDK, the solution qualifies for SAQ A-EP.

Supported features

  • Direct payment flow
  • Tokenization with or without payment
  • Full manual capture
  • Full refunds

Missing features

  • Partial manual capture
  • Webhook notifications: not available

Module history

  • 16.1
    • The "Authorize Currency" field is replaced by the generic "Currencies" field of payment. odoo/odoo#101018
  • 16.0
    • Archiving a token no longer deactivates the related payment method on Authorize. odoo/odoo#93774
  • 15.4
  • 15.0
  • 14.3
    • The payment with redirection flow that existed alongside the direct payment flow is dropped. odoo/odoo#141661

Testing instructions

An HTTPS connection is required.

https://developer.authorize.net/hello_world/testing_guide.html

VISA

Card Number: 4111111111111111

MasterCard

Card Number: 5424000000000015

eCheck

Bank Name: whatever

Name On Account: whatever

Account Number: 123456

ABA Routing Number: 121122676