Before this commit, it was not possible to partially capture a transaction from Odoo, and doing so in the provider backend would often result in a full capture in Odoo when capture was supported. With this commit, partial captures are made available in Odoo directly from the sales order or invoice, for providers that support them. Provider can either only support full capture or also support partial ones. It also optionally managed the automatic void of the remaining amount at the user request when multiple captures are supported by the provider. As of now, the only acquirer allowing partial capture is Adyen. task-2728768 closes odoo/odoo#87251 Related: odoo/enterprise#35205 Related: odoo/documentation#2063 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.