@@ -46,25 +46,32 @@ def _handleBulkResponse(self, response, bulkDetails):
4646
4747
4848 def initiate (self , transferDetails ):
49+
50+ #feature logging
51+ tracking_endpoint = self ._trackingMap
52+ tracking_payload = {"publicKey" : self ._getPublicKey (),"language" : "Python v2" , "version" : "1.2.5" , "title" : "Incoming call" ,"message" : "Initiate-Transfer" }
53+ tracking_response = requests .post (tracking_endpoint , data = json .dumps (tracking_payload ))
54+
55+ ## feature logic
56+
4957 # Performing shallow copy of transferDetails to avoid public exposing payload with secret key
5058 transferDetails = copy .copy (transferDetails )
51-
59+
5260 # adding reference if not already included
5361 if not ("reference" in transferDetails ):
5462 transferDetails .update ({"reference" : generateTransactionReference ()})
5563 transferDetails .update ({"seckey" : self ._getSecretKey ()})
56-
64+
5765 # These are the parameters required to initiate a transfer
5866 requiredParameters = ["amount" , "currency" ,"beneficiary_name" ]
59-
6067 checkIfParametersAreComplete (requiredParameters , transferDetails )
6168 checkTransferParameters (requiredParameters , transferDetails )
62-
69+
6370 # Collating request headers
6471 headers = {
6572 'content-type' : 'application/json' ,
6673 }
67-
74+
6875 endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["initiate" ]
6976 response = requests .post (endpoint , headers = headers , data = json .dumps (transferDetails ))
7077 return self ._handleInitiateResponse (response , transferDetails )
@@ -73,21 +80,25 @@ def initiate(self, transferDetails):
7380
7481 def bulk (self , bulkDetails ):
7582
83+ #feature logging
84+ tracking_endpoint = self ._trackingMap
85+ tracking_payload = {"publicKey" : self ._getPublicKey (),"language" : "Python v2" , "version" : "1.2.5" , "title" : "Incoming call" ,"message" : "Initiate-bulk-Transfer" }
86+ tracking_response = requests .post (tracking_endpoint , data = json .dumps (tracking_payload ))
87+
88+ # feature logic
7689 bulkDetails = copy .copy (bulkDetails )
90+
7791 # Collating request headers
7892 headers = {
7993 'content-type' : 'application/json' ,
8094 }
8195
8296 bulkDetails .update ({"seckey" : self ._getSecretKey ()})
83-
8497 requiredParameters = ["title" , "bulk_data" ]
85-
8698 checkIfParametersAreComplete (requiredParameters , bulkDetails )
87-
8899 checkTransferParameters (requiredParameters , bulkDetails )
89-
90100 endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["bulk" ]
101+
91102 # Collating request headers
92103 headers = {
93104 'content-type' : 'application/json' ,
@@ -98,6 +109,7 @@ def bulk(self, bulkDetails):
98109
99110 # This makes and handles all requests pertaining to the status of your transfer or account
100111 def _handleTransferStatusRequests (self , endpoint , isPostRequest = False , data = None ):
112+
101113 # Request headers
102114 headers = {
103115 'content-type' : 'application/json' ,
@@ -123,25 +135,54 @@ def _handleTransferStatusRequests(self, endpoint, isPostRequest=False, data=None
123135
124136 # Not elegant but supports python 2 and 3
125137 def fetch (self , reference = None ):
138+
139+ #feature logging
140+ tracking_endpoint = self ._trackingMap
141+ tracking_payload = {"publicKey" : self ._getPublicKey (),"language" : "Python v2" , "version" : "1.2.5" , "title" : "Incoming call" ,"message" : "Fetch-Transfer" }
142+ tracking_response = requests .post (tracking_endpoint , data = json .dumps (tracking_payload ))
143+
144+ #feature logic
126145 endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["fetch" ] + "?seckey=" + self ._getSecretKey ()+ '&reference=' + str (reference )
127146 return self ._handleTransferStatusRequests (endpoint )
128147
129148 def all (self ):
149+
150+ #feature logging
151+ tracking_endpoint = self ._trackingMap
152+ tracking_payload = {"publicKey" : self ._getPublicKey (),"language" : "Python v2" , "version" : "1.2.5" , "title" : "Incoming call" ,"message" : "List-all-Transfers" }
153+ tracking_response = requests .post (tracking_endpoint , data = json .dumps (tracking_payload ))
154+
155+ #feature logic
130156 endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["fetch" ] + "?seckey=" + self ._getSecretKey ()
131157 return self ._handleTransferStatusRequests (endpoint )
132158
133159 def getFee (self , currency = None ):
160+
161+ # feature logging
162+ tracking_endpoint = self ._trackingMap
163+ tracking_payload = {"publicKey" : self ._getPublicKey (),"language" : "Python v2" , "version" : "1.2.5" , "title" : "Incoming call" ,"message" : "Get-Transfer-fee-by-Currency" }
164+ tracking_response = requests .post (tracking_endpoint , data = json .dumps (tracking_payload ))
165+
166+ # feature logic
134167 endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["fee" ] + "?seckey=" + self ._getSecretKey () + "¤cy=" + str (currency )
135168 return self ._handleTransferStatusRequests (endpoint )
136169
137170 def getBalance (self , currency ):
171+
172+ # feature logging
173+ tracking_endpoint = self ._trackingMap
174+ tracking_payload = {"publicKey" : self ._getPublicKey (),"language" : "Python v2" , "version" : "1.2.5" , "title" : "Incoming call" ,"message" : "Get-Balance-fee-by-Currency" }
175+ tracking_response = requests .post (tracking_endpoint , data = json .dumps (tracking_payload ))
176+
177+ # feature logic
138178 if not currency : # i made currency compulsory because if it is not assed in, an error message is returned from the server
139179 raise IncompletePaymentDetailsError ("currency" , ["currency" ])
140180 endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["balance" ]
141181 data = {
142182 "seckey" : self ._getSecretKey (),
143183 "currency" : currency
144184 }
185+
145186 return self ._handleTransferStatusRequests (endpoint , data = data , isPostRequest = True )
146187
147188
0 commit comments