Files
odoo_source/addons/payment_stripe
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
..
…
…
…

Stripe

Technical details

SDK: Stripe.js version 3

API: Stripe API version 2019-05-16

This module integrates Stripe using a custom implementation of the payment with redirection flow: no redirect form is rendered and, instead, a Checkout Session object is created from the server before the customer is redirected to the session's payment page from the front-end. This is achieved by following the Stripe-hosted page guide.

The module also offers a quick onboarding thanks to the Stripe Connect platform solution.

Supported features

  • Payment with redirection flow
  • Webhook notifications
  • Tokenization with or without payment
  • Full manual capture
  • Full and partial refunds
  • Express checkout

Not implemented features

  • Partial manual capture

Module history

  • 16.4
    • The previous Checkout API that allowed for redirect payments is replaced by the Payment Intents API that supports direct payments. odoo/odoo#123573
    • The support for eMandates for recurring payments is added. odoo/odoo#123573
    • The responses of webhook notifications are sent with the proper HTTP code. odoo/odoo#117940
  • 16.0
    • Stripe uses the payment methods set up on the account when none are assigned to the payment provider in Odoo, instead of only offering the "Card" payment method. odoo/odoo#107647
    • The support for express checkout is added. odoo/odoo#88374
  • 15.4
  • 15.3
    • Webhook notifications accept three new events based on the PaymentIntent and SetupIntent objects in place of the checkout.session.completed event to handle async payment status updates. odoo/odoo#84150
    • The support for manual capture is added. odoo/odoo#69598
  • 15.2
    • An HTTP 404 "Forbidden" error is raised instead of a Validation error when the authenticity of the webhook notification cannot be verified. odoo/odoo#81607
  • 15.0
    • A new button is added to create a webhook automatically. odoo/odoo#79621
    • The support for the Stripe Connect onboarding flow is added. odoo/odoo#79621
  • 14.3
    • The previous direct payment flow that was supported by the SetupIntent API is replaced by a payment with redirection flow using the Checkout API. odoo/odoo#141661

Testing instructions

https://stripe.com/docs/testing

Card Number: 4111111111111111

Expiry Date: any future date

CVC Code: any