44
55import requests
66from Crypto .Cipher import DES3
7- from django . conf import settings
7+
88from azbankgateways .banks import BaseBank
99from azbankgateways .exceptions import BankGatewayConnectionError , SettingDoesNotExist
1010from azbankgateways .exceptions .exceptions import (
@@ -23,7 +23,10 @@ class BMI(BaseBank):
2323 def __init__ (self , ** kwargs ):
2424 super (BMI , self ).__init__ (** kwargs )
2525 if not self ._is_strict_origin_policy_enabled ():
26- raise SettingDoesNotExist ("SECURE_REFERRER_POLICY is not set to 'strict-origin-when-cross-origin' in django setting, it's mandatory for BMI gateway" )
26+ raise SettingDoesNotExist (
27+ "SECURE_REFERRER_POLICY is not set to 'strict-origin-when-cross-origin'"
28+ " in django setting, it's mandatory for BMI gateway"
29+ )
2730
2831 self .set_gateway_currency (CurrencyEnum .IRR )
2932 self ._token_api_url = "https://sadad.shaparak.ir/vpg/api/v0/Request/PaymentRequest"
@@ -105,7 +108,8 @@ def verify(self, transaction_code):
105108 if str (response_json ["ResCode" ]) == "0" :
106109 self ._set_payment_status (PaymentStatus .COMPLETE )
107110 extra_information = (
108- f"RetrivalRefNo={ response_json ['RetrivalRefNo' ]} ,SystemTraceNo={ response_json ['SystemTraceNo' ]} "
111+ f"RetrivalRefNo={ response_json ['RetrivalRefNo' ]} "
112+ ",SystemTraceNo={response_json['SystemTraceNo']}"
109113 )
110114 self ._bank .extra_information = extra_information
111115 self ._bank .save ()
@@ -116,10 +120,13 @@ def verify(self, transaction_code):
116120 def prepare_verify_from_gateway (self ):
117121 super (BMI , self ).prepare_verify_from_gateway ()
118122 request = self .get_request ()
119- for method in ["POST" , "GET" , "data" , "PUT" ]:
120- token = getattr (request , method , {}).get ("token" , None )
121- if token :
123+ method_data = getattr (request , "POST" , {})
124+ token = None
125+ for key , value in method_data .items ():
126+ if key .lower () == "token" :
127+ token = value
122128 break
129+
123130 if not token :
124131 raise BankGatewayStateInvalid
125132 self ._set_reference_number (token )
0 commit comments