[IMP] payment_acquirer_paypal: improved urls in rendered button, now using urljoin; improve dbutton; removed dead method; slightly improved controllers

bzr revid: tde@openerp.com-20131115133133-qhij4k0c48k96mfq
This commit is contained in:
Thibault Delavallée 2013-11-15 14:31:33 +01:00
parent 9e1753e98b
commit f5a6f12ead
4 changed files with 27 additions and 15 deletions

View File

@ -35,9 +35,11 @@ class PaypalController(http.Controller):
_notify_url = '/payment/paypal/ipn/'
_return_url = '/payment/paypal/dpn/'
_cancel_url = '/payment/paypal/cancel/'
# _ipn_url2 = '/payment/paypal/<int:acquirer_id>/ipn/'
@website.route('/payment/paypal/<int:acquirer_id>/ipn/', type='http', auth='admin')
@website.route([
'/payment/paypal/test/ipn/'
'/payment/paypal/ipn/',
], type='http', auth='admin')
def paypal_ipn(self, **post):
print 'Entering paypal_ipn with post', post
# step 1: return an empty HTTP 200 response -> will be done at the end by returning ''
@ -65,10 +67,22 @@ class PaypalController(http.Controller):
@website.route([
'/payment/paypal/test/dpn',
'/payment/paypal/dpn',
], type='http', auth="public")
def paypal_test_success(self, **post):
def paypal_dpn(self, **post):
""" TODO
"""
cr, uid, context = request.cr, request.uid, request.context
print post
print 'Entering paypal_dpn with post', post
return ''
@website.route([
'/payment/paypal/test/cancel',
'/payment/paypal/cancel',
], type='http', auth="public")
def paypal_cancel(self, **post):
""" TODO
"""
cr, uid, context = request.cr, request.uid, request.context
print 'Entering paypal_cancel with post', post
return ''

View File

@ -64,16 +64,16 @@ class AcquirerPaypal(osv.Model):
'item_number': reference,
'amount': amount,
'currency_code': currency and currency.name or 'EUR',
'address1': partner and ' '.join((partner.street, partner.street2)).strip() or ' '.join((partner_values.get('street', ''), partner_values.get('street2', ''))).strip(),
'address1': partner and ' '.join((partner.street or '', partner.street2 or '')).strip() or ' '.join((partner_values.get('street', ''), partner_values.get('street2', ''))).strip(),
'city': partner and partner.city or partner_values.get('city', ''),
'country': partner and partner.country_id and partner.country_id.name or partner_values.get('country_name', ''),
'email': partner and partner.email or partner_values.get('email', ''),
'zip': partner and partner.zip or partner_values.get('zip', ''),
'first_name': partner and partner.name or partner_values.get('name', '').split()[-1:],
'last_name': partner and partner.name or partner_values.get('name', '').split()[:-1],
'return': '%s/%s' % (base_url, PaypalController._return_url),
'notify_url': '%s/%s' % (base_url, PaypalController._notify_url),
'cancel_return': '%s/%s' % (base_url, PaypalController._cancel_url),
'return': '%s' % urlparse.urljoin(base_url, PaypalController._return_url),
'notify_url': '%s' % urlparse.urljoin(base_url, PaypalController._notify_url),
'cancel_return': '%s' % urlparse.urljoin(base_url, PaypalController._cancel_url),
}
if tx_custom_values:
tx_values.update(tx_custom_values)
@ -235,7 +235,3 @@ class TxPaypal(osv.Model):
response.get("reason_code")))
)
return response
def _transaction_feedback_paypal(self, **values):
print values
return True

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View File

@ -4,9 +4,9 @@
<template id="paypal_acquirer_button">
<form t-if="acquirer.paypal_email_id" t-att-action="acquirer.paypal_tx_url" method="post" target="_self">
<input type="hidden" name="cmd" value="tx_values['cmd']"/>
<input type="hidden" name="cmd" t-att-value="tx_values['cmd']"/>
<input type="hidden" name="business" t-att-value="tx_values['business']"/>
<input type="hidden" name="item_name" t-attf-value="tx_values['item_name']"/>
<input type="hidden" name="item_name" t-att-value="tx_values['item_name']"/>
<input type="hidden" name="item_number" t-att-value="tx_values['item_number']"/>
<input type="hidden" name="amount" t-att-value="tx_values['amount']"/>
<input type="hidden" name="currency_code" t-att-value="tx_values['currency_code']"/>
@ -26,7 +26,9 @@
<input t-if="tx_values['cancel_return']" type="hidden" name="cancel_return"
t-att-value="tx_values['cancel_return']"/>
<!-- button -->
<input type="image" name="submit" src="https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif"/>
<input type="image" name="submit" id="payment_submit"
width="100px"
src="/payment_acquirer_paypal/static/src/img/paypal_logo.png"/>
</form>
</template>