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>
1.9 KiB
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
- The "Authorize Currency" field is replaced by the generic "Currencies" field of
16.0- Archiving a token no longer deactivates the related payment method on Authorize. odoo/odoo#93774
15.4- The support for full refunds is added. odoo/odoo#92279
15.0- Support for ACH payments is added. odoo/odoo#75289
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