9
9
10
10
from config import settings
11
11
from events .models import Event , Participant
12
+ from events .exceptions import ParticipantNotFoundError
12
13
13
14
logger = logging .getLogger (settings .LOGGER )
14
15
@@ -20,20 +21,25 @@ def dispatch(self, *args, **kwargs):
20
21
21
22
@staticmethod
22
23
def get (request ):
23
- logger .info (f'Pay Notify -> post: { dict (request .POST .items ())} ' )
24
- logger .info (f'Pay Notify -> get: { dict (request .GET .items ())} ' )
25
- logger .info (f'Pay Notify -> get meta: { dict (request .META .items ())} ' )
26
- logger .info (f'Pay Notify -> body: { dict (request .BODY .items ())} ' )
27
- logger .info (f'Pay Notify -> data: { dict (request .DATA .items ())} ' )
28
24
return HttpResponse (status = 200 )
29
25
30
26
@staticmethod
31
27
def post (request ):
32
- logger .warning (f'Pay Notify -> post: { dict (request .POST .items ())} ' )
33
- logger .warning (f'Pay Notify -> get: { dict (request .GET .items ())} ' )
34
- logger .warning (f'Pay Notify -> body: { dict (request .BODY .items ())} ' )
35
- logger .warning (f'Pay Notify -> data: { dict (request .DATA .items ())} ' )
36
- logger .warning (f'Pay Notify -> get meta: { dict (request .META .items ())} ' )
28
+ if True or 'label' in request .POST :
29
+ label = request .POST ['label' ]
30
+ label = label .split ('_' )
31
+ for part in label :
32
+ if part .startswith ('e' ):
33
+ event_id = int (part [1 :])
34
+ if part .startswith ('p' ):
35
+ participant_id = int (part [1 :])
36
+ try :
37
+ event = Event .objects .get (id = event_id )
38
+ participant = Participant .objects .get (id = participant_id , event = event )
39
+ participant .paid = True
40
+ participant .save ()
41
+ except ParticipantNotFoundError as e :
42
+ logger .error (e )
37
43
return HttpResponse (status = 200 )
38
44
39
45
@@ -45,7 +51,7 @@ def get(request, event_id, p_id):
45
51
if participant .paid :
46
52
return redirect ('pay_ok' , event_id )
47
53
amount = event .price
48
- order_id = f"e{ event_id } _p{ p_id } _ { participant . last_name } _ { participant . first_name } "
54
+ order_id = f"e{ event_id } _p{ p_id } "
49
55
success_uri = request .build_absolute_uri (reverse ('pay_ok' , args = (event_id ,)))
50
56
return render (
51
57
request = request ,
0 commit comments