11import re
22from decimal import Decimal
3- from . transactions import TRANSACTION_TYPES
3+
44from .currencies import CURRENCIES
55from .languages import LANGUAGES
6+ from .transactions import TRANSACTION_TYPES
67
78# General parameters
8- MERCHANT_CODE = ' Ds_Merchant_MerchantCode'
9- TERMINAL = ' Ds_Merchant_Terminal'
10- TRANSACTION_TYPE = ' Ds_Merchant_TransactionType'
11- ORDER = ' Ds_Merchant_Order'
12- CURRENCY = ' Ds_Merchant_Currency'
13- AMOUNT = ' Ds_Merchant_Amount'
9+ MERCHANT_CODE = " Ds_Merchant_MerchantCode"
10+ TERMINAL = " Ds_Merchant_Terminal"
11+ TRANSACTION_TYPE = " Ds_Merchant_TransactionType"
12+ ORDER = " Ds_Merchant_Order"
13+ CURRENCY = " Ds_Merchant_Currency"
14+ AMOUNT = " Ds_Merchant_Amount"
1415
1516# Recurring transaction parameters
16- SUM_TOTAL = ' Ds_Merchant_SumTotal'
17- DATE_FREQUENCY = ' Ds_Merchant_DateFrecuency'
18- CHARGE_EXPIRY_DATE = ' Ds_Merchant_ChargeExpiryDate'
19- TRANSACTION_DATE = ' Ds_Merchant_TransactionDate'
20- AUTHORIZATION_CODE = ' Ds_Merchant_AuthorisationCode'
17+ SUM_TOTAL = " Ds_Merchant_SumTotal"
18+ DATE_FREQUENCY = " Ds_Merchant_DateFrecuency"
19+ CHARGE_EXPIRY_DATE = " Ds_Merchant_ChargeExpiryDate"
20+ TRANSACTION_DATE = " Ds_Merchant_TransactionDate"
21+ AUTHORIZATION_CODE = " Ds_Merchant_AuthorisationCode"
2122
2223# Not required parameters
23- MERCHANT_DATA = ' Ds_Merchant_MerchantData'
24+ MERCHANT_DATA = " Ds_Merchant_MerchantData"
2425
2526# Redirect client paramenters
26- MERCHANT_NAME = ' Ds_Merchant_MerchantName'
27- PRODUCT_DESCRIPTION = ' Ds_Merchant_ProductDescription'
28- TITULAR = ' Ds_Merchant_Titular'
29- MERCHANT_URL = ' Ds_Merchant_MerchantURL'
30- URL_OK = ' Ds_Merchant_UrlOK'
31- URL_KO = ' Ds_Merchant_UrlKO'
32- CONSUMER_LANGUAGE = ' Ds_Merchant_ConsumerLanguage'
27+ MERCHANT_NAME = " Ds_Merchant_MerchantName"
28+ PRODUCT_DESCRIPTION = " Ds_Merchant_ProductDescription"
29+ TITULAR = " Ds_Merchant_Titular"
30+ MERCHANT_URL = " Ds_Merchant_MerchantURL"
31+ URL_OK = " Ds_Merchant_UrlOK"
32+ URL_KO = " Ds_Merchant_UrlKO"
33+ CONSUMER_LANGUAGE = " Ds_Merchant_ConsumerLanguage"
3334
3435# Credit card data parameters
35- PAN = ' Ds_Merchant_Pan'
36- EXPIRY_DATE = ' Ds_Merchant_ExpiryDate'
37- CVV2 = ' Ds_Merchant_Cvv2'
36+ PAN = " Ds_Merchant_Pan"
37+ EXPIRY_DATE = " Ds_Merchant_ExpiryDate"
38+ CVV2 = " Ds_Merchant_Cvv2"
3839
3940MERCHANT_PARAMETERS_MAP = {
40- ' merchant_code' : MERCHANT_CODE ,
41- ' terminal' : TERMINAL ,
42- ' transaction_type' : TRANSACTION_TYPE ,
43- ' order' : ORDER ,
44- ' currency' : CURRENCY ,
45- ' amount' : AMOUNT ,
46- ' sum_total' : SUM_TOTAL ,
47- ' date_frequency' : DATE_FREQUENCY ,
48- ' charge_expiry_date' : CHARGE_EXPIRY_DATE ,
49- ' transaction_date' : TRANSACTION_DATE ,
50- ' authorization_code' : AUTHORIZATION_CODE ,
51- ' merchant_data' : MERCHANT_DATA ,
52- ' merchant_name' : MERCHANT_NAME ,
53- ' product_description' : PRODUCT_DESCRIPTION ,
54- ' titular' : TITULAR ,
55- ' merchant_url' : MERCHANT_URL ,
56- ' url_ok' : URL_OK ,
57- ' url_ko' : URL_KO ,
58- ' consumer_language' : CONSUMER_LANGUAGE ,
59- ' pan' : PAN ,
60- ' expiry_date' : EXPIRY_DATE ,
61- ' cvv2' : CVV2
41+ " merchant_code" : MERCHANT_CODE ,
42+ " terminal" : TERMINAL ,
43+ " transaction_type" : TRANSACTION_TYPE ,
44+ " order" : ORDER ,
45+ " currency" : CURRENCY ,
46+ " amount" : AMOUNT ,
47+ " sum_total" : SUM_TOTAL ,
48+ " date_frequency" : DATE_FREQUENCY ,
49+ " charge_expiry_date" : CHARGE_EXPIRY_DATE ,
50+ " transaction_date" : TRANSACTION_DATE ,
51+ " authorization_code" : AUTHORIZATION_CODE ,
52+ " merchant_data" : MERCHANT_DATA ,
53+ " merchant_name" : MERCHANT_NAME ,
54+ " product_description" : PRODUCT_DESCRIPTION ,
55+ " titular" : TITULAR ,
56+ " merchant_url" : MERCHANT_URL ,
57+ " url_ok" : URL_OK ,
58+ " url_ko" : URL_KO ,
59+ " consumer_language" : CONSUMER_LANGUAGE ,
60+ " pan" : PAN ,
61+ " expiry_date" : EXPIRY_DATE ,
62+ " cvv2" : CVV2 ,
6263}
6364
6465
@@ -67,6 +68,7 @@ class Request(object):
6768 Defines an atomic request with all the required parameters and sanitize
6869 their values according to the platform specifications
6970 """
71+
7072 _parameters = {}
7173
7274 def __getattr__ (self , item ):
@@ -84,7 +86,9 @@ def prepare_parameters(self):
8486 parameters = {}
8587 for key , value in self ._parameters .items ():
8688 prepare = getattr (self , "prepare_%s" % key , None )
87- parameters [MERCHANT_PARAMETERS_MAP [key ]] = prepare (value ) if prepare else value
89+ parameters [MERCHANT_PARAMETERS_MAP [key ]] = (
90+ prepare (value ) if prepare else value
91+ )
8892 return parameters
8993
9094 def prepare_amount (self , value ):
0 commit comments