-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpayment.py
54 lines (47 loc) · 1.59 KB
/
payment.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import requests
from config import recibos_ref
from datetime import datetime as dt
URL = 'http://127.0.0.1:3000/pay'
def format_ref(date):
response = str(date).replace('-', '')
response = str(response).replace(' ', '')
response = str(response).replace(':', '')
response = str(response).replace('.', '')
return response
def pay(msisdn, reference, amount):
third_party_reference = format_ref(dt.today())
payment_data = {
"amount": amount,
"msisdn": msisdn,
"reference": reference,
"third_party_reference": third_party_reference
}
response = requests.post(URL, json=payment_data)
if response.status_code == 200:
data = response.json()
if data.get("success"):
res = "Payment successful"
response_data = {
'amount': amount,
'msisdn': msisdn,
'reference': reference,
'date': str(dt.now().strftime("%Y-%m-%d %H:%M")),
'status': res
}
recibos_ref.child(third_party_reference).set(response_data)
return res, response_data
else:
res = "Payment failed"
response_data = {
'amount': amount,
'msisdn': msisdn,
'reference': reference,
'date': str(dt.now().strftime("%Y-%m-%d %H:%M")),
'status': res
}
recibos_ref.child(third_party_reference).set(response_data)
return res, response_data
else:
data = ' '
res = "Request failed"
return res, data