Before this commit, the lists of supported currencies by payment provider were hard-coded in the Python scripts, which made them unavailable to the users. With this commit, the implemented initial lists of supported currencies are displayed on the form view and are editable, because Odoo lists may not be up-to-date. Empty lists do not trigger any filtering on the payment providers to access payment methods. For Authorize.net and Asiapay payment providers, the specific `(authorize,asiapay)_currency_id` are removed and the generic payment provider field `available_currency_ids` is restricted to a single-item list when one of those providers is enabled. task-2926016 closes odoo/odoo#101018 Related: odoo/enterprise#34158 Related: odoo/documentation#2788 Related: odoo/upgrade#4069 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Razorpay
Implementation details
Supported features
- Payment with redirection flow
- Manual capture
- Partial refunds
- Several payment methods such as debit/credit cards, netbanking, UPI, and others.
- Webhook.
In addition, Razorpay also allows to implement tokenization but requires passing the card secret for each transaction.
API and gateway
We choose to integrate with Razorpay Hosted Checkout. The other gateways were ruled out. See the task's dev notes for the details on the other gateways.
The version of the API implemented by this module is v1.
Merge details
The first version of the module was specified in task
2800823 and merged with PR
odoo/odoo#92848 in saas-15.5.
Testing instructions
The partner's phone number must be a valid Indian phone number. Example: +91123456789
See https://razorpay.com/docs/payments/payments/test-card-upi-details/ for the list of test payment details.