Skip to content

Commit e439ff7

Browse files
Merge pull request #10 from pruebasepayco/14.0
14.0
2 parents 0ea052d + 3266a7a commit e439ff7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+299
-1890
lines changed

payment_epayco/__init__.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
# -*- coding: utf-8 -*-
2-
# Copyright 2019 ePayco.co
3-
# - Manuel Marquez <buzondemam@gmail.com>
4-
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
2+
# Part of Odoo. See LICENSE file for full copyright and licensing details.
53

6-
from . import controllers
74
from . import models
5+
from . import controllers
6+
from odoo.addons.payment.models.payment_acquirer import create_missing_journal_for_acquirers
7+
from odoo.addons.payment import reset_payment_provider
8+
9+
def uninstall_hook(cr, registry):
10+
reset_payment_provider(cr, registry, 'epayco')

payment_epayco/__manifest__.py

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,20 @@
11
# -*- coding: utf-8 -*-
2-
# Copyright 2019 ePayco.co
3-
# - Manuel Marquez <buzondemam@gmail.com>
4-
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
2+
53
{
64
'name': 'Epayco Payment Acquirer',
7-
'summary': 'Epayco Payment Acquirer for the eCommerce.',
8-
'category': 'Accounting',
9-
'author': 'ePayco',
10-
"maintainers": ["mamcode"],
11-
'development_status': 'Production/Stable',
12-
'website': 'https://epayco.co/',
13-
'license': 'AGPL-3',
14-
'version': '12.0.1.0.0',
5+
'category': 'Accounting/Payment',
6+
'sequence': 365,
7+
'summary': 'Payment Acquirer: Epayco Implementation',
8+
'version': '1.0',
159
'description': """Epayco Payment Acquirer""",
16-
'depends': ['payment', 'l10n_co', 'website_sale'],
10+
'depends': ['payment'],
1711
'data': [
18-
'security/ir.model.access.csv',
19-
'data/payment_icon.xml',
12+
'views/payment_views.xml',
2013
'views/payment_epayco_templates.xml',
21-
'data/payment_acquirer.xml',
22-
'data/epayco_franchise.xml',
23-
'data/epayco_tx_state.xml',
24-
'data/epayco_document_type.xml',
25-
'views/payment_acquirer_views.xml',
26-
'views/payment_transaction_views.xml',
14+
'data/payment_acquirer_data.xml',
2715
],
2816
'installable': True,
17+
'application': True,
18+
'post_init_hook': 'create_missing_journal_for_acquirers',
19+
'uninstall_hook': 'uninstall_hook',
2920
}
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
# -*- coding: utf-8 -*-
2-
# Copyright 2019 ePayco.co
3-
# - Manuel Marquez <buzondemam@gmail.com>
4-
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
2+
# Part of Odoo. See LICENSE file for full copyright and licensing details.
53

64
from . import main

payment_epayco/controllers/main.py

Lines changed: 42 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# -*- coding: utf-8 -*-
2-
# Copyright 2019 ePayco.co
3-
# - Manuel Marquez <buzondemam@gmail.com>
4-
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
2+
# Part of Odoo. See LICENSE file for full copyright and licensing details.
53

64
import logging
75
import pprint
@@ -10,48 +8,48 @@
108

119
from odoo import http
1210
from odoo.http import request, Response
11+
from werkzeug import urls
1312

1413
_logger = logging.getLogger(__name__)
1514

1615

1716
class EpaycoController(http.Controller):
18-
_response_url = '/payment/epayco/response/'
19-
_confirmation_url = '/payment/epayco/confirmation/'
20-
21-
@http.route(
22-
['/payment/epayco/checkout/'], type='http', csrf=False, website=True)
23-
def epayco_checkout(self, **post):
24-
"""Render template to redirect to ePayco checkout."""
17+
@http.route(['/payment/epayco/checkout'], type='http', website=True, csrf=False)
18+
def epayco_return(self, **post):
19+
""" Epayco."""
2520
order = request.website.sale_get_order()
21+
print(order)
22+
print(type(order))
23+
print('_____________________ _______________')
2624
post_data = {
2725
'amount_tax': order.amount_tax,
2826
'amount_untaxed': order.amount_untaxed,
2927
}
3028
post.update(post_data)
29+
print(post)
3130
return request.render('payment_epayco.checkout', post)
3231

33-
def _post_process_tx(self, data):
34-
"""Post process transaction to confirm the sale order and
35-
to generate the invoices if needed."""
36-
tx_reference = data.get('x_id_invoice')
37-
payment_transaction = request.env['payment.transaction'].sudo()
3832

39-
tx = payment_transaction.search([('reference', '=', tx_reference)])
40-
41-
if not tx:
42-
_logger.exception('Transaction post processing failed. '
43-
'Not found any transaction with reference %s',
44-
tx_reference)
45-
46-
if tx.state == 'done':
47-
return tx.sudo()._post_process_after_done()
48-
elif tx.state != 'pending':
49-
return tx.sudo()._log_payment_transaction_received()
33+
@http.route(['/payment/epayco/response/'], type='http', website=True, csrf=False)
34+
def epayco_return_url(self, **post):
35+
"""Process response from ePayco after process payment."""
36+
return self._epayco_process_response(post)
5037

38+
@http.route(
39+
['/payment/epayco/confirmation/'],
40+
type='http',
41+
csrf=False,
42+
website=True,
43+
auth='public')
44+
def epayco_payment_confirmation_url(self, **post):
45+
"""Process payment confirmation from ePayco."""
46+
return self._epayco_process_response(post, confirmation=True)
47+
5148
def _epayco_process_response(self, data, confirmation=False):
5249
if not confirmation:
5350
ref_payco = data.get('ref_payco')
54-
51+
print('ref_payco')
52+
print(ref_payco)
5553
if ref_payco is None:
5654
_logger.debug('User error in ePayco checkout: %s', data)
5755
return werkzeug.utils.redirect('/shop/payment')
@@ -74,22 +72,22 @@ def _epayco_process_response(self, data, confirmation=False):
7472
data, 'epayco')
7573
self._post_process_tx(data)
7674
return Response(status=200)
75+
7776

78-
@http.route(
79-
['/payment/epayco/response/'],
80-
type='http',
81-
csrf=False,
82-
website=True)
83-
def epayco_return_url(self, **post):
84-
"""Process response from ePayco after process payment."""
85-
return self._epayco_process_response(post)
77+
def _post_process_tx(self, data):
78+
"""Post process transaction to confirm the sale order and
79+
to generate the invoices if needed."""
80+
tx_reference = data.get('x_id_invoice')
81+
payment_transaction = request.env['payment.transaction'].sudo()
8682

87-
@http.route(
88-
['/payment/epayco/confirmation/'],
89-
type='http',
90-
csrf=False,
91-
website=True,
92-
auth='public')
93-
def epayco_payment_confirmation_url(self, **post):
94-
"""Process payment confirmation from ePayco."""
95-
return self._epayco_process_response(post, confirmation=True)
83+
tx = payment_transaction.search([('reference', '=', tx_reference)])
84+
85+
if not tx:
86+
_logger.exception('Transaction post processing failed. '
87+
'Not found any transaction with reference %s',
88+
tx_reference)
89+
90+
if tx.state == 'done':
91+
return tx.sudo()._post_process_after_done()
92+
elif tx.state != 'pending':
93+
return tx.sudo()._log_payment_transaction_received()

payment_epayco/data/epayco_document_type.xml

Lines changed: 0 additions & 37 deletions
This file was deleted.

payment_epayco/data/epayco_franchise.xml

Lines changed: 0 additions & 98 deletions
This file was deleted.

payment_epayco/data/epayco_tx_state.xml

Lines changed: 0 additions & 73 deletions
This file was deleted.

0 commit comments

Comments
 (0)