Daily updates from Odoo
Friday, July 12, 2019
1 change · master
Security fixes and vulnerability patches
This change updates Ingenico (Ogone) payments so card details are sent directly through Ingenico's alias gateway instead of being processed by Odoo's server. This reduces handling of sensitive payment information while keeping the existing token-based payment flow for customers.
Original PR description
Description of the issue/feature this PR addresses: This PR modify the flow of payment with the Ingenico (Ogone) payment provider. Current behavior before PR: Currently the token (Alias) is obtained…
Description of the issue/feature this PR addresses:
This PR modify the flow of payment with the Ingenico (Ogone) payment provider.
Current behavior before PR:
Currently the token (Alias) is obtained from Ogone by a s2s communication. This imply that sensitive information are processed by the back end: credit card number, CVS, card holder name and expiry date.
Currently:
- customer enters card details in the Odoo form (the s2s form view for Ogone)
- the payment_form.js code intercepts the event, parse the input data and send it to the json route to create the token via rpc
- the odoo server sends the card data to s2s_process on the payment.acquirer (payment/ogone/s2s/create_json)
- s2s_process creates the token and the override of payment.token contacts the ingenico API to create an alias and save its reference in the created token
- the token id is sent back to the JS code, which inserts the relevant data in the form that gets submitted to another controller which will actually charge the token (e.g. /shop/payment/token, but it depends on the payment flow)
Desired behavior after PR is merged:
The sensitive information are handled in the client in javascript. No sensitive information related to credit card are processed by the back end. The token (Alias) is processed by the back end in the same way than previously.
- customer enters card details in the Odoo form
- form's action url is the alias gateway of ingenico, which should return to an ingenico route that creates the token for the customer based on the ingenico post data
- the route redirect to the correct payment flow which will actually charge the token (e.g. /shop/payment/token, but it depends on the payment flow)
Note: need to gracefully handle error via the EXCEPTIONURL param in the alias gateway that should redirect back to the payment page with error message
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr