@@ -46,25 +46,32 @@ def _handleBulkResponse(self, response, bulkDetails):
46
46
47
47
48
48
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
+
49
57
# Performing shallow copy of transferDetails to avoid public exposing payload with secret key
50
58
transferDetails = copy .copy (transferDetails )
51
-
59
+
52
60
# adding reference if not already included
53
61
if not ("reference" in transferDetails ):
54
62
transferDetails .update ({"reference" : generateTransactionReference ()})
55
63
transferDetails .update ({"seckey" : self ._getSecretKey ()})
56
-
64
+
57
65
# These are the parameters required to initiate a transfer
58
66
requiredParameters = ["amount" , "currency" ,"beneficiary_name" ]
59
-
60
67
checkIfParametersAreComplete (requiredParameters , transferDetails )
61
68
checkTransferParameters (requiredParameters , transferDetails )
62
-
69
+
63
70
# Collating request headers
64
71
headers = {
65
72
'content-type' : 'application/json' ,
66
73
}
67
-
74
+
68
75
endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["initiate" ]
69
76
response = requests .post (endpoint , headers = headers , data = json .dumps (transferDetails ))
70
77
return self ._handleInitiateResponse (response , transferDetails )
@@ -73,21 +80,25 @@ def initiate(self, transferDetails):
73
80
74
81
def bulk (self , bulkDetails ):
75
82
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
76
89
bulkDetails = copy .copy (bulkDetails )
90
+
77
91
# Collating request headers
78
92
headers = {
79
93
'content-type' : 'application/json' ,
80
94
}
81
95
82
96
bulkDetails .update ({"seckey" : self ._getSecretKey ()})
83
-
84
97
requiredParameters = ["title" , "bulk_data" ]
85
-
86
98
checkIfParametersAreComplete (requiredParameters , bulkDetails )
87
-
88
99
checkTransferParameters (requiredParameters , bulkDetails )
89
-
90
100
endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["bulk" ]
101
+
91
102
# Collating request headers
92
103
headers = {
93
104
'content-type' : 'application/json' ,
@@ -98,6 +109,7 @@ def bulk(self, bulkDetails):
98
109
99
110
# This makes and handles all requests pertaining to the status of your transfer or account
100
111
def _handleTransferStatusRequests (self , endpoint , isPostRequest = False , data = None ):
112
+
101
113
# Request headers
102
114
headers = {
103
115
'content-type' : 'application/json' ,
@@ -123,25 +135,54 @@ def _handleTransferStatusRequests(self, endpoint, isPostRequest=False, data=None
123
135
124
136
# Not elegant but supports python 2 and 3
125
137
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
126
145
endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["fetch" ] + "?seckey=" + self ._getSecretKey ()+ '&reference=' + str (reference )
127
146
return self ._handleTransferStatusRequests (endpoint )
128
147
129
148
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
130
156
endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["fetch" ] + "?seckey=" + self ._getSecretKey ()
131
157
return self ._handleTransferStatusRequests (endpoint )
132
158
133
159
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
134
167
endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["fee" ] + "?seckey=" + self ._getSecretKey () + "¤cy=" + str (currency )
135
168
return self ._handleTransferStatusRequests (endpoint )
136
169
137
170
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
138
178
if not currency : # i made currency compulsory because if it is not assed in, an error message is returned from the server
139
179
raise IncompletePaymentDetailsError ("currency" , ["currency" ])
140
180
endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["balance" ]
141
181
data = {
142
182
"seckey" : self ._getSecretKey (),
143
183
"currency" : currency
144
184
}
185
+
145
186
return self ._handleTransferStatusRequests (endpoint , data = data , isPostRequest = True )
146
187
147
188
0 commit comments