summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang Taferner <wtaferner@users.noreply.github.com>2014-09-20 19:18:42 +0200
committerMartin Trigaux <mat@openerp.com>2014-09-25 15:01:16 +0200
commit29fefafcd684cc15f74d0441232bb3bfeda376f8 (patch)
treeed3a656fcb4998bb9d1d2c581cc4a0fd703a42b3
parentff5e7a749c8e49001914ee51e6cb80600c4dabb2 (diff)
[FIX] paymnet_ogon: add missing SHA OUT keys
The SHA OUT list was incomplete and therefore SHASIGN was not matching anymore List of keys from https://viveum.v-psp.com/Ncol/Viveum_e-Com-BAS_EN.pdf
-rw-r--r--addons/payment_ogone/models/ogone.py62
1 files changed, 60 insertions, 2 deletions
diff --git a/addons/payment_ogone/models/ogone.py b/addons/payment_ogone/models/ogone.py
index 80b5e0d567e..268487d1040 100644
--- a/addons/payment_ogone/models/ogone.py
+++ b/addons/payment_ogone/models/ogone.py
@@ -69,8 +69,66 @@ class PaymentAcquirerOgone(osv.Model):
if inout == 'in':
return True
else:
- keys = "ORDERID CURRENCY AMOUNT PM ACCEPTANCE STATUS CARDNO ALIAS ED CN TRXDATE PAYID NCERROR BRAND ECI IP COMPLUS".split()
- return key.upper() in keys
+ # SHA-OUT keys
+ # source https://viveum.v-psp.com/Ncol/Viveum_e-Com-BAS_EN.pdf
+ return [
+ 'AAVADDRESS',
+ 'AAVCHECK',
+ 'AAVMAIL',
+ 'AAVNAME',
+ 'AAVPHONE',
+ 'AAVZIP',
+ 'ACCEPTANCE',
+ 'ALIAS',
+ 'AMOUNT',
+ 'BIC',
+ 'BIN',
+ 'BRAND',
+ 'CARDNO',
+ 'CCCTY',
+ 'CN',
+ 'COMPLUS',
+ 'CREATION_STATUS',
+ 'CURRENCY',
+ 'CVCCHECK',
+ 'DCC_COMMPERCENTAGE',
+ 'DCC_CONVAMOUNT',
+ 'DCC_CONVCCY',
+ 'DCC_EXCHRATE',
+ 'DCC_EXCHRATESOURCE',
+ 'DCC_EXCHRATETS',
+ 'DCC_INDICATOR',
+ 'DCC_MARGINPERCENTAGE',
+ 'DCC_VALIDHOURS',
+ 'DIGESTCARDNO',
+ 'ECI',
+ 'ED',
+ 'ENCCARDNO',
+ 'FXAMOUNT',
+ 'FXCURRENCY',
+ 'IBAN',
+ 'IP',
+ 'IPCTY',
+ 'NBREMAILUSAGE',
+ 'NBRIPUSAGE',
+ 'NBRIPUSAGE_ALLTX',
+ 'NBRUSAGE',
+ 'NCERROR',
+ 'NCERRORCARDNO',
+ 'NCERRORCN',
+ 'NCERRORCVC',
+ 'NCERRORED',
+ 'ORDERID',
+ 'PAYID',
+ 'PM',
+ 'SCO_CATEGORY',
+ 'SCORING',
+ 'STATUS',
+ 'SUBBRAND',
+ 'SUBSCRIPTION_ID',
+ 'TRXDATE',
+ 'VC'
+ ]
items = sorted((k.upper(), v) for k, v in values.items())
sign = ''.join('%s=%s%s' % (k, v, key) for k, v in items if v and filter_key(k))