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>
Razorpay
Technical details
API: Recurring Payments API
version 1
Supported features
- Direct payment flow
- Webhook notifications
- Full manual capture
- Partial refunds
Not implemented features
- Partial manual capture
Module history
17.0- The previous Hosted Checkout API that allowed for redirect payments is replaced by the Recurring Payments API that supports direct payments and tokenization. odoo/odoo#143525
16.0- The first version of the module is merged. odoo/odoo#92848
Testing instructions
https://razorpay.com/docs/payments/payments/test-card-upi-details/
https://razorpay.com/docs/payments/payments/test-upi-details/
A valid Indian phone number must be set on the partner. Example: +91123456789
VISA
Card Number: 4111111111111111
Expiry Date: any future date
Card Secret: any
OTP: 1111
UPI
UPI ID: success@razorpay or failure@razorpay