@ -0,0 +1,25 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					#    Copyright (C) 2017-TODAY Cybrosys Technologies(<http://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author:Cybrosys Technologies (<www.cybrosys.com>) | 
				
			||||
 | 
					#    you can modify it under the terms of the GNU LESSER | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    It is forbidden to publish, distribute, sublicense, or sell copies | 
				
			||||
 | 
					#    of the Software or modified copies of the Software. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import models | 
				
			||||
 | 
					import controllers | 
				
			||||
@ -0,0 +1,43 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					#    Copyright (C) 2017-TODAY Cybrosys Technologies(<http://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Hilar AK(<hilar@cybrosys.in>) | 
				
			||||
 | 
					#    you can modify it under the terms of the GNU LESSER | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    It is forbidden to publish, distribute, sublicense, or sell copies | 
				
			||||
 | 
					#    of the Software or modified copies of the Software. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					{ | 
				
			||||
 | 
					    'name': "WePay Payment Gateway", | 
				
			||||
 | 
					    'version': '9.0.1.0.0', | 
				
			||||
 | 
					    'summary': """Wepay Payment Gateway.""", | 
				
			||||
 | 
					    'description': """Payment Acquirer: Wepay""", | 
				
			||||
 | 
					    'author': 'Cybrosys Techno Solutions', | 
				
			||||
 | 
					    'company': 'Cybrosys Techno Solutions', | 
				
			||||
 | 
					    'website': "http://cybrosys.com/", | 
				
			||||
 | 
					    'category': 'eCommerce', | 
				
			||||
 | 
					    'depends': ['base', 'payment', 'website_sale'], | 
				
			||||
 | 
					    'data': [ | 
				
			||||
 | 
					        'views/views.xml', | 
				
			||||
 | 
					        'views/templates.xml', | 
				
			||||
 | 
					        'data/wepay.xml', | 
				
			||||
 | 
					    ], | 
				
			||||
 | 
					    'images': ['static/description/banner.jpg'], | 
				
			||||
 | 
					    'license': 'LGPL-3', | 
				
			||||
 | 
					    'installable': True, | 
				
			||||
 | 
					    'application': True | 
				
			||||
 | 
					} | 
				
			||||
@ -0,0 +1,3 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import main | 
				
			||||
@ -0,0 +1,117 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					import logging | 
				
			||||
 | 
					import pprint | 
				
			||||
 | 
					import requests | 
				
			||||
 | 
					import werkzeug | 
				
			||||
 | 
					import json | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					from openerp import http, SUPERUSER_ID | 
				
			||||
 | 
					from openerp.http import request | 
				
			||||
 | 
					from openerp.addons.payment.models.payment_acquirer import ValidationError | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					_logger = logging.getLogger(__name__) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class WepayController(http.Controller): | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @http.route(['/wepay/checkout'], type='http', auth='none', csrf=None, website=True) | 
				
			||||
 | 
					    def checkout(self, **post): | 
				
			||||
 | 
					        """ | 
				
			||||
 | 
					        Function which creates the checkout iframe after clicking on PayNow Button. It requires | 
				
			||||
 | 
					        wepay account id, and access tocken to create the checkout iframe. | 
				
			||||
 | 
					         Check https://developer.wepay.com/api-calls/checkout#create for more Information. | 
				
			||||
 | 
					         redirect and the callback_uri must be a full URL and must not include localhost or wepay.com. | 
				
			||||
 | 
					         redirect_uri must be a full uri (ex http://www.example.com) if you are in production mode. | 
				
			||||
 | 
					        :param post: | 
				
			||||
 | 
					        :return: Checkout uri provided after creating checkout, response from /checkout/create | 
				
			||||
 | 
					        """ | 
				
			||||
 | 
					        _logger.info('Wepay datas %s', pprint.pformat(post))  # debug | 
				
			||||
 | 
					        cr, uid, context, env = request.cr, SUPERUSER_ID, request.context, request.env | 
				
			||||
 | 
					        acquirer = env['payment.acquirer'].sudo().browse(eval(post.get('acquirer'))) | 
				
			||||
 | 
					        currency = env['res.currency'].sudo().browse(eval(post.get('currency_id'))).name | 
				
			||||
 | 
					        if currency not in ['CAD', 'GBP', 'USD']: | 
				
			||||
 | 
					            _logger.info("Invalid parameter 'currency' expected one of: 'CAD', 'GBP', 'USD'") | 
				
			||||
 | 
					            return request.redirect('/shop/cart') | 
				
			||||
 | 
					        url = "https://stage.wepayapi.com/v2/checkout/create" if acquirer.environment == 'test'\ | 
				
			||||
 | 
					            else "https://wepayapi.com/v2/checkout/create" | 
				
			||||
 | 
					        base_url = request.env['ir.config_parameter'].get_param('web.base.url') | 
				
			||||
 | 
					        return_url = base_url + '/wepay/checkout/confirm' | 
				
			||||
 | 
					        payload = json.dumps({ | 
				
			||||
 | 
					            "account_id": int(acquirer.wepay_account_id), | 
				
			||||
 | 
					            "amount": post.get('amount') or '', | 
				
			||||
 | 
					            "type": "goods", #Possible values:, goods, service, donation, event, and personal | 
				
			||||
 | 
					            "currency": currency, | 
				
			||||
 | 
					            "short_description": "Payment From Odoo E-commerce", | 
				
			||||
 | 
					            "long_description": "Payment From Odoo E-commerce", | 
				
			||||
 | 
					            "email_message": { | 
				
			||||
 | 
					                "to_payer": "Please contact us at 555-555-555 if you need assistance.", | 
				
			||||
 | 
					                "to_payee": "Please note that we cover all shipping costs." | 
				
			||||
 | 
					            }, | 
				
			||||
 | 
					            "callback_uri": return_url,#'http://example.com', | 
				
			||||
 | 
					            "reference_id": post.get('reference'), | 
				
			||||
 | 
					            "auto_release": True, | 
				
			||||
 | 
					            "hosted_checkout": { | 
				
			||||
 | 
					                "redirect_uri": return_url, | 
				
			||||
 | 
					                "shipping_fee": 0, | 
				
			||||
 | 
					                "mode": "regular", | 
				
			||||
 | 
					                "prefill_info": { | 
				
			||||
 | 
					                    "email": post.get('partner_email'), | 
				
			||||
 | 
					                    "name": post.get('billing_partner_name') or post.get('partner_name'), | 
				
			||||
 | 
					                    "address": { | 
				
			||||
 | 
					                        "address1": post.get("billing_partner_address") or '', | 
				
			||||
 | 
					                        "address2": post.get("billing_partner_address") or '', | 
				
			||||
 | 
					                        "city": post.get('billing_partner_city') or '', | 
				
			||||
 | 
					                        "region": post.get("billing_partner_state") or '', | 
				
			||||
 | 
					                        "postal_code": post.get('billing_partner_zip') or '', | 
				
			||||
 | 
					                        "country": env['res.country'].sudo().browse(eval(post.get("billing_partner_country_id"))).code or '' | 
				
			||||
 | 
					                    } | 
				
			||||
 | 
					                } | 
				
			||||
 | 
					            }, | 
				
			||||
 | 
					        }) | 
				
			||||
 | 
					        headers = { | 
				
			||||
 | 
					            'content-type': "application/json", | 
				
			||||
 | 
					            'authorization': "Bearer %s" % acquirer.wepay_access_tocken.replace(" ", ""), | 
				
			||||
 | 
					            'cache-control': "no-cache", | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					        response = requests.request("POST", url, data=payload, headers=headers) | 
				
			||||
 | 
					        vals = json.loads(response.text) | 
				
			||||
 | 
					        _logger.info(pprint.pformat(vals)) | 
				
			||||
 | 
					        return werkzeug.utils.redirect(vals.get('hosted_checkout')['checkout_uri']) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @http.route(['/wepay/checkout/confirm'], type='http', auth='none', csrf=None, website=True) | 
				
			||||
 | 
					    def checkout_confirm(self, **post): | 
				
			||||
 | 
					        """ | 
				
			||||
 | 
					        route which serves when a transaction is completed by wepay through checkout iframe, which we defines the | 
				
			||||
 | 
					         return uri while creating wepay checkout. ie, redirect_uri in hosted_checkout dict. | 
				
			||||
 | 
					         released,authorized are the successfull transactions and cancelled,falled are the error responses. | 
				
			||||
 | 
					        :param post: | 
				
			||||
 | 
					        :return: /shop/payment/validate if success else /shop | 
				
			||||
 | 
					        """ | 
				
			||||
 | 
					        cr, uid, context, env = request.cr, SUPERUSER_ID, request.context, request.env | 
				
			||||
 | 
					        acquirer = env['payment.acquirer'].sudo().search([('provider', '=', 'wepay')]) | 
				
			||||
 | 
					        url = "https://stage.wepayapi.com/v2/checkout/" if acquirer and acquirer.environment == 'test' \ | 
				
			||||
 | 
					            else "https://wepayapi.com/v2/checkout/" | 
				
			||||
 | 
					        headers = { | 
				
			||||
 | 
					            'content-type': "application/json", | 
				
			||||
 | 
					            'authorization': "Bearer %s" % acquirer.wepay_access_tocken.replace(" ", ""), | 
				
			||||
 | 
					            'cache-control': "no-cache", | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					        tx = request.website.sale_get_transaction() | 
				
			||||
 | 
					        tx.sudo().wepay_checkout_id = post.get('checkout_id') | 
				
			||||
 | 
					        response = requests.request("POST", url, data=json.dumps(post), headers=headers) | 
				
			||||
 | 
					        vals = json.loads(response.text) | 
				
			||||
 | 
					        _logger.info(pprint.pformat(vals)) | 
				
			||||
 | 
					        if vals.get('state') == 'authorized': | 
				
			||||
 | 
					            tx.state = 'done' | 
				
			||||
 | 
					            tx.wepay_checkout_id = vals.get('checkout_id') | 
				
			||||
 | 
					            tx.sale_order_id.with_context(dict(context, send_email=True)).action_confirm() | 
				
			||||
 | 
					            return request.redirect('/shop/payment/validate') | 
				
			||||
 | 
					        elif vals.get('state') in ['cancelled', 'falled']: | 
				
			||||
 | 
					            tx.state = 'error' | 
				
			||||
 | 
					            return request.redirect('/shop') | 
				
			||||
 | 
					        elif vals.get('state') in ['released']: | 
				
			||||
 | 
					            tx.state = 'pending' | 
				
			||||
 | 
					            tx.wepay_checkout_id = vals.get('checkout_id') | 
				
			||||
 | 
					            tx.sale_order_id.with_context(dict(context, send_email=True)).action_confirm() | 
				
			||||
 | 
					            return request.redirect('/shop/payment/validate') | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
@ -0,0 +1,18 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="utf-8"?> | 
				
			||||
 | 
					<openerp> | 
				
			||||
 | 
					    <data noupdate="1"> | 
				
			||||
 | 
					        <record id="payment_wepay_acquirer" model="payment.acquirer"> | 
				
			||||
 | 
					            <field name="name">WePay</field> | 
				
			||||
 | 
					            <field name="image" type="base64" file="payment_wepay_gateway/static/description/icon.png"/> | 
				
			||||
 | 
					            <field name="provider">wepay</field> | 
				
			||||
 | 
					            <field name="company_id" ref="base.main_company"/> | 
				
			||||
 | 
					            <field name="view_template_id" ref="wepay_button"/> | 
				
			||||
 | 
					            <field name="environment">test</field> | 
				
			||||
 | 
					            <field name="pre_msg"><![CDATA[ | 
				
			||||
 | 
					<p>You will be redirected to the Wepay payment window after clicking on the payment button.</p>]]></field> | 
				
			||||
 | 
					            <field name="wepay_merchant_id">dummy</field> | 
				
			||||
 | 
					            <field name="wepay_account_id">dummy</field> | 
				
			||||
 | 
					            <field name="wepay_access_tocken">dummy</field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					    </data> | 
				
			||||
 | 
					</openerp> | 
				
			||||
@ -0,0 +1,24 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					#    Copyright (C) 2017-TODAY Cybrosys Technologies(<http://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author:Cybrosys Technologies (<www.cybrosys.com>) | 
				
			||||
 | 
					#    you can modify it under the terms of the GNU LESSER | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    It is forbidden to publish, distribute, sublicense, or sell copies | 
				
			||||
 | 
					#    of the Software or modified copies of the Software. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import models | 
				
			||||
@ -0,0 +1,45 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					#    Copyright (C) 2017-TODAY Cybrosys Technologies(<http://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author:Cybrosys Technologies (<www.cybrosys.com>) | 
				
			||||
 | 
					#    you can modify it under the terms of the GNU LESSER | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    It is forbidden to publish, distribute, sublicense, or sell copies | 
				
			||||
 | 
					#    of the Software or modified copies of the Software. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import logging | 
				
			||||
 | 
					from openerp import models, fields, _ | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					_logger = logging.getLogger(__name__) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class Wepay(models.Model): | 
				
			||||
 | 
					    _inherit = 'payment.acquirer' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def _get_providers(self, cr, uid, context=None): | 
				
			||||
 | 
					        providers = super(Wepay, self)._get_providers(cr, uid, context=context) | 
				
			||||
 | 
					        providers.append(['wepay', 'WePay']) | 
				
			||||
 | 
					        return providers | 
				
			||||
 | 
					    wepay_merchant_id = fields.Char("Client Id") | 
				
			||||
 | 
					    wepay_account_id = fields.Char("Account Id") | 
				
			||||
 | 
					    wepay_access_tocken = fields.Char("Access Token") | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class WepayTransaction(models.Model): | 
				
			||||
 | 
					    _inherit = "payment.transaction" | 
				
			||||
 | 
					    wepay_checkout_id = fields.Char("Wepay Checkout Id") | 
				
			||||
 | 
					    acquirer_name = fields.Selection(related='acquirer_id.provider') | 
				
			||||
@ -0,0 +1,45 @@ | 
				
			|||||
 | 
					# Wepay Payment Gateway | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Wepay Payment Acquirer act as a new payment method in odoo e-commerce and easy checkout functionality with two steps. | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					  - We have two modes test & production | 
				
			||||
 | 
					  - Test Url - https://stage.wepay.com/ | 
				
			||||
 | 
					  - Production mode - https://www.wepay.com/ | 
				
			||||
 | 
					  - Follow here to create test account https://stage.wepay.com/register/ | 
				
			||||
 | 
					  - Follow here to create Production account https://www.wepay.com/register/ | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					  - expected one of currencies 'CAD', 'GBP', 'USD' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					### Depends | 
				
			||||
 | 
					Ecommerce, Website, Payment modules in odoo | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					### Tech | 
				
			||||
 | 
					* [Python] - Models,Controllers | 
				
			||||
 | 
					* [XML] - Odoo website templates, views | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					### Installation | 
				
			||||
 | 
					- www.odoo.com/documentation/9.0/setup/install.html | 
				
			||||
 | 
					- Install our custom addon, which also installs its depends [website, website_sale, payment] | 
				
			||||
 | 
					  | 
				
			||||
 | 
					### Usage | 
				
			||||
 | 
					> Provide Wepay test or active account credentials. | 
				
			||||
 | 
					> Account id, access_tocken, client id will be get after creating a client account on wepay. | 
				
			||||
 | 
					> Follow https://support.wepay.com/hc/en-us/articles/203609673-How-do-I-set-up-my-WePay-account- for account creation. | 
				
			||||
 | 
					> Wepay Support https://support.wepay.com/hc/en-us/articles/203609503-WePay-FAQ | 
				
			||||
 | 
					> Publish wepay acquirer for odoo e-commerce. | 
				
			||||
 | 
					> redirect and the callback_uri must be a full URL and must not include localhost or wepay.com. | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					### References | 
				
			||||
 | 
					https://developer.wepay.com/ | 
				
			||||
 | 
					https://www.wepay.com/developer | 
				
			||||
 | 
					https://www.wepay.com/developer/register | 
				
			||||
 | 
					https://stage-go.wepay.com/ | 
				
			||||
 | 
					https://go.wepay.com/ | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					License | 
				
			||||
 | 
					---- | 
				
			||||
 | 
					GNU LESSER GENERAL PUBLIC LICENSE, Version 3 (LGPLv3) | 
				
			||||
 | 
					(http://www.gnu.org/licenses/agpl.html) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
		
		
			
  | 
| 
		 After Width: | Height: | Size: 95 KiB  | 
| 
		 After Width: | Height: | Size: 59 KiB  | 
| 
		 After Width: | Height: | Size: 86 KiB  | 
| 
		 After Width: | Height: | Size: 53 KiB  | 
| 
		 After Width: | Height: | Size: 50 KiB  | 
| 
		 After Width: | Height: | Size: 15 KiB  | 
@ -0,0 +1,159 @@ | 
				
			|||||
 | 
					<section class="oe_container oe_dark"> | 
				
			||||
 | 
							<h2 class="oe_slogan" style="margin-top:20px;" >Wepay Payment Gateway</h2> | 
				
			||||
 | 
					        <h4 class="oe_slogan" style="font-size: 23px;">Author : Cybrosys Techno Solutions , www.cybrosys.com</h4> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<section class="oe_container"> | 
				
			||||
 | 
					    <div class="oe_container"> | 
				
			||||
 | 
					        <div class="row mt32 o_animate o_animate_in_children o_animate_offset_min" | 
				
			||||
 | 
					             style="animation-name: none; visibility: hidden; animation-play-state: paused;"> | 
				
			||||
 | 
					            <div class="col-md-5 col-md-offset-1" style="transition-delay: 0ms;"> | 
				
			||||
 | 
					                <h2 class=" mt32 mb16"><b>Expected one of currencies 'CAD', 'GBP', 'USD'</b></h2> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <div class="oe_container oe_dark"> | 
				
			||||
 | 
					        <div class="row mt32 o_animate o_animate_in_children o_animate_offset_min" | 
				
			||||
 | 
					             style="animation-name: none; visibility: hidden; animation-play-state: paused;"> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					            <div class="col-md-5 col-md-offset-1" style="transition-delay: 0ms;"> | 
				
			||||
 | 
					                <h2 class=" mt32 mb16"><b>Wepay Account Dashboard</b></h2> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <div class="col-md-6" style="transition-delay: 500ms;"> | 
				
			||||
 | 
					                <div class=" oe_demo oe_picture  oe_screenshot"> | 
				
			||||
 | 
					                    <img style="max-width: 100%;-moz-transform: scale(1.2);-webkit-transform: scale(1.2); -o-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2);" | 
				
			||||
 | 
											 src="apidashboard.png"> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <div class="oe_container"> | 
				
			||||
 | 
					        <div class="row mt32 o_animate o_animate_in_children o_animate_offset_min" | 
				
			||||
 | 
					             style="animation-name: none; visibility: hidden; animation-play-state: paused;"> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					            <div class="col-md-5 col-md-offset-1" style="transition-delay: 0ms;"> | 
				
			||||
 | 
					                <h2 class=" mt32 mb16"><b>Configure Wepay backend and Provide specified credentials</b></h2> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <div class="col-md-6" style="transition-delay: 500ms;"> | 
				
			||||
 | 
					                <div class=" oe_demo oe_picture  oe_screenshot"> | 
				
			||||
 | 
					                    <img style="max-width: 100%;-moz-transform: scale(1.2);-webkit-transform: scale(1.2); -o-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2);" | 
				
			||||
 | 
					                         src="wepaybackend.png"> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <div class="oe_container"> | 
				
			||||
 | 
					        <div class="row mt32 o_animate o_animate_in_children o_animate_offset_min" | 
				
			||||
 | 
					             style="animation-name: none; visibility: hidden; animation-play-state: paused;"> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					            <div class="col-md-5 col-md-offset-1" style="transition-delay: 0ms;"> | 
				
			||||
 | 
					                <h2 class=" mt32 mb16"><b>Checkout Form and Wepay Payment Method</b></h2> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <div class="col-md-6" style="transition-delay: 500ms;"> | 
				
			||||
 | 
					                <div class=" oe_demo oe_picture  oe_screenshot"> | 
				
			||||
 | 
					                    <img style="max-width: 100%;-moz-transform: scale(1.2);-webkit-transform: scale(1.2); -o-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2);" | 
				
			||||
 | 
					                         src="paymentshop.png"> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <div class="oe_container"> | 
				
			||||
 | 
					        <div class="row mt32 o_animate o_animate_in_children o_animate_offset_min" | 
				
			||||
 | 
					             style="animation-name: none; visibility: hidden; animation-play-state: paused;"> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					            <div class="col-md-5 col-md-offset-1" style="transition-delay: 0ms;"> | 
				
			||||
 | 
					                <h2 class=" mt32 mb16"><b>Wepay Checkout Iframe</b></h2> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <div class="col-md-6" style="transition-delay: 500ms;"> | 
				
			||||
 | 
					                <div class=" oe_demo oe_picture  oe_screenshot"> | 
				
			||||
 | 
					                    <img style="max-width: 100%;-moz-transform: scale(1.2);-webkit-transform: scale(1.2); -o-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2);" | 
				
			||||
 | 
					                         src="checkoutiframe.png"> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <div class="oe_container"> | 
				
			||||
 | 
					        <div class="row mt32 o_animate o_animate_in_children o_animate_offset_min" | 
				
			||||
 | 
					             style="animation-name: none; visibility: hidden; animation-play-state: paused;"> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					            <div class="col-md-5 col-md-offset-1" style="transition-delay: 0ms;"> | 
				
			||||
 | 
					                <h2 class=" mt32 mb16"><b>Confirm Wepay Checkout</b></h2> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <div class="col-md-6" style="transition-delay: 500ms;"> | 
				
			||||
 | 
					                <div class=" oe_demo oe_picture  oe_screenshot"> | 
				
			||||
 | 
					                    <img style="max-width: 100%;-moz-transform: scale(1.2);-webkit-transform: scale(1.2); -o-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2);" | 
				
			||||
 | 
					                         src="checkoutconfirm.png"> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <div class="oe_container"> | 
				
			||||
 | 
					        <div class="row mt32 o_animate o_animate_in_children o_animate_offset_min" | 
				
			||||
 | 
					             style="animation-name: none; visibility: hidden; animation-play-state: paused;"> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					            <div class="col-md-5 col-md-offset-1" style="transition-delay: 0ms;"> | 
				
			||||
 | 
					                <h2 class=" mt32 mb16"><b>Sale order status after successfull Payment</b></h2> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <div class="col-md-6" style="transition-delay: 500ms;"> | 
				
			||||
 | 
					                <div class=" oe_demo oe_picture  oe_screenshot"> | 
				
			||||
 | 
					                    <img style="max-width: 100%;-moz-transform: scale(1.2);-webkit-transform: scale(1.2); -o-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2);" | 
				
			||||
 | 
					                         src="shopconfirm.png"> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <div class="oe_container"> | 
				
			||||
 | 
					        <div class="row mt32 o_animate o_animate_in_children o_animate_offset_min" | 
				
			||||
 | 
					             style="animation-name: none; visibility: hidden; animation-play-state: paused;"> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					            <div class="col-md-5 col-md-offset-1" style="transition-delay: 0ms;"> | 
				
			||||
 | 
					                <h2 class=" mt32 mb16"><b>Payment Transaction and Wepay checkout Id</b></h2> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <div class="col-md-6" style="transition-delay: 500ms;"> | 
				
			||||
 | 
					                <div class=" oe_demo oe_picture  oe_screenshot"> | 
				
			||||
 | 
					                    <img style="max-width: 100%;-moz-transform: scale(1.2);-webkit-transform: scale(1.2); -o-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2);" | 
				
			||||
 | 
					                         src="transaction.png"> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<section class="oe_container oe_dark"> | 
				
			||||
 | 
							<h2 class="oe_slogan" style="margin-top:20px;" >Need Any Help?</h2> | 
				
			||||
 | 
							<div class="oe_slogan" style="margin-top:10px !important;"> | 
				
			||||
 | 
					            <div> | 
				
			||||
 | 
									<a  class="btn btn-primary btn-lg mt8" | 
				
			||||
 | 
									style="color: #FFFFFF !important;border-radius: 0;" href="http://www.cybrosys.com"><i | 
				
			||||
 | 
									class="fa fa-envelope"></i> Email </a> <a | 
				
			||||
 | 
									class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" | 
				
			||||
 | 
									href="http://www.cybrosys.com/contact/"><i | 
				
			||||
 | 
									class="fa fa-phone"></i> Contact Us </a> <a | 
				
			||||
 | 
									class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" | 
				
			||||
 | 
									href="http://www.cybrosys.com/odoo-customization-and-installation/"><i | 
				
			||||
 | 
									class="fa fa-check-square"></i> Request Customization </a> | 
				
			||||
 | 
						        </div> | 
				
			||||
 | 
					            <br> | 
				
			||||
 | 
							    <img src="cybro_logo.png" style="width: 190px; margin-bottom: 20px;" class="center-block"> | 
				
			||||
 | 
					            <div> | 
				
			||||
 | 
								  <a href="https://twitter.com/cybrosys" target="_blank"><i class="fa fa-2x fa-twitter" style="color:white;background: #00a0d1;width:35px;"></i></a></td> | 
				
			||||
 | 
					              <a href="https://www.linkedin.com/company/cybrosys-technologies-pvt-ltd" target="_blank"><i class="fa fa-2x fa-linkedin" style="color:white;background: #31a3d6;width:35px;padding-left: 3px;"></i></a></td> | 
				
			||||
 | 
					              <a href="https://www.facebook.com/cybrosystechnologies" target="_blank"><i class="fa fa-2x fa-facebook" style="color:white;background: #3b5998;width:35px;padding-left: 8px;"></i></a></td> | 
				
			||||
 | 
					              <a href="https://plus.google.com/106641282743045431892/about" target="_blank"><i class="fa fa-2x fa-google-plus" style="color:white;background: #c53c2c;width:35px;padding-left: 3px;"></i></a></td> | 
				
			||||
 | 
					              <a href="https://in.pinterest.com/cybrosys" target="_blank"><i class="fa fa-2x fa-pinterest" style="color:white;background: #ac0f18;width:35px;padding-left: 3px;"></i></a></td> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
							</div> | 
				
			||||
 | 
					</section> | 
				
			||||
| 
		 After Width: | Height: | Size: 107 KiB  | 
| 
		 After Width: | Height: | Size: 126 KiB  | 
| 
		 After Width: | Height: | Size: 228 KiB  | 
| 
		 After Width: | Height: | Size: 205 KiB  | 
| 
		 After Width: | Height: | Size: 243 KiB  | 
| 
		 After Width: | Height: | Size: 54 KiB  | 
@ -0,0 +1,29 @@ | 
				
			|||||
 | 
					<openerp> | 
				
			||||
 | 
					    <data> | 
				
			||||
 | 
					        <template id="wepay_button" name="Wepay Payment Button"> | 
				
			||||
 | 
					            <form t-if="acquirer.wepay_account_id and acquirer.wepay_merchant_id" action="/wepay/checkout" method="post" target="_self"> | 
				
			||||
 | 
					                <input type="hidden" name="acquirer" t-att-value="acquirer.id"/> | 
				
			||||
 | 
					                <input type="hidden" name="partner_name" t-att-value="partner_name"/> | 
				
			||||
 | 
					                <input type="hidden" name="reference" t-att-value="reference"/> | 
				
			||||
 | 
					                <input type="hidden" name="billing_partner_id" t-att-value="billing_partner_id"/> | 
				
			||||
 | 
					                <input type="hidden" name="billing_partner_name" t-att-value="billing_partner_name"/> | 
				
			||||
 | 
					                <input type="hidden" name="billing_partner_last_name" t-att-value="billing_partner_last_name"/> | 
				
			||||
 | 
					                <input type="hidden" name="billing_partner_address" t-att-value="billing_partner_address"/> | 
				
			||||
 | 
					                <input type="hidden" name="billing_partner_zip" t-att-value="billing_partner_zip"/> | 
				
			||||
 | 
					                <input type="hidden" name="street" t-att-value="street"/> | 
				
			||||
 | 
					                <input type="hidden" name="street2" t-att-value="street2"/> | 
				
			||||
 | 
					                <input type="hidden" name="currency_id" t-att-value="currency_id"/> | 
				
			||||
 | 
					                <input type="hidden" name="billing_partner_country_id" t-att-value="billing_partner_country_id"/> | 
				
			||||
 | 
					                <input type="hidden" name="billing_partner_city" t-att-value="billing_partner_city"/> | 
				
			||||
 | 
					                <input type="hidden" name="custom" t-att-value="custom"/> | 
				
			||||
 | 
					                <input type="hidden" name="partner_email" t-att-value="partner_email"/> | 
				
			||||
 | 
					                <input type="hidden" name="amount" t-att-value="amount"/> | 
				
			||||
 | 
					                <button type="submit" width="100px" | 
				
			||||
 | 
					                    t-att-class="submit_class"> | 
				
			||||
 | 
					                    <img t-if="not submit_txt" src="/payment_wepay_gateway/static/description/icon.png"/> | 
				
			||||
 | 
					                    <span t-if="submit_txt"><t t-esc="submit_txt"/> <span class="fa fa-long-arrow-right"/></span> | 
				
			||||
 | 
					                </button> | 
				
			||||
 | 
					            </form> | 
				
			||||
 | 
					        </template> | 
				
			||||
 | 
					    </data> | 
				
			||||
 | 
					</openerp> | 
				
			||||
@ -0,0 +1,37 @@ | 
				
			|||||
 | 
					<openerp> | 
				
			||||
 | 
					  <data> | 
				
			||||
 | 
					        <record id="acquirer_form_wepay" model="ir.ui.view"> | 
				
			||||
 | 
					            <field name="name">Wepay Acquirer Form</field> | 
				
			||||
 | 
					            <field name="model">payment.acquirer</field> | 
				
			||||
 | 
					            <field name="inherit_id" ref="payment.acquirer_form"/> | 
				
			||||
 | 
					            <field name="arch" type="xml"> | 
				
			||||
 | 
					                <xpath expr='//group[@name="acquirer"]' position='after'> | 
				
			||||
 | 
					                    <group attrs="{'invisible': [('provider', '!=', 'wepay')]}"> | 
				
			||||
 | 
					                        <field name="wepay_account_id"/> | 
				
			||||
 | 
					                        <field name="wepay_merchant_id"/> | 
				
			||||
 | 
					                        <field name="wepay_access_tocken" password="1"/> | 
				
			||||
 | 
					                        <a colspan="2" href="https://support.wepay.com/hc/en-us/articles/203609673-How-do-I-set-up-my-WePay-account-" | 
				
			||||
 | 
					                           target="_blank">How to configure your Wepay account?</a> | 
				
			||||
 | 
					                        <a colspan="2" href="https://support.wepay.com/hc/en-us/articles/203609503-WePay-FAQ" | 
				
			||||
 | 
					                           target="_blank">For more support</a> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                    </group> | 
				
			||||
 | 
					                </xpath> | 
				
			||||
 | 
					            </field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					      <record id="transaction_form_extend" model="ir.ui.view"> | 
				
			||||
 | 
					          <field name="name">Payment Transaction View Extend</field> | 
				
			||||
 | 
					          <field name="model">payment.transaction</field> | 
				
			||||
 | 
					          <field name="inherit_id" ref="payment.transaction_form"/> | 
				
			||||
 | 
					          <field name="arch" type="xml"> | 
				
			||||
 | 
					              <field name="reference" position="after"> | 
				
			||||
 | 
					                  <field name="acquirer_name" invisible="1"/> | 
				
			||||
 | 
					                  <field name="wepay_checkout_id" string="Wepay Checkout Id" | 
				
			||||
 | 
					                         attrs="{'invisible': [('acquirer_name', '!=', 'wepay')]}"/> | 
				
			||||
 | 
					              </field> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					          </field> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					      </record> | 
				
			||||
 | 
					  </data> | 
				
			||||
 | 
					</openerp> | 
				
			||||