1
+ import datetime
2
+
1
3
from django .db import transaction
2
4
from rest_framework .decorators import api_view
3
5
from rest_framework .response import Response
4
6
from rest_framework .views import APIView
5
7
6
8
from payment import enum
7
- from ticket .models import TicketType
9
+ from ticket .models import TicketType , Ticket
8
10
from payment .logic import generate_payment_key
9
11
from payment .models import Payment , PaymentHistory
10
12
@@ -23,6 +25,9 @@ def post(self, request):
23
25
if settings .DEBUG is False and request .META .get ("REMOTE_ADDR" ) not in portone_ips :
24
26
raise ValueError ("Not Allowed IP" )
25
27
28
+ if request .data ["status" ] != "paid" :
29
+ raise ValueError ("결제 승인건 이외의 요청" )
30
+
26
31
payment_key = request .data ["merchant_uid" ]
27
32
28
33
target_payment = Payment .objects .get (payment_key = payment_key )
@@ -36,8 +41,12 @@ def post(self, request):
36
41
)
37
42
payment_history .save ()
38
43
39
- if request .data ["status" ] != "paid" :
40
- raise ValueError ("결제 승인건 이외의 요청" )
44
+ ticket = Ticket .objects .create (
45
+ ticket_type = target_payment .ticket_type ,
46
+ bought_at = datetime .datetime .now (),
47
+ user = target_payment .user ,
48
+ )
49
+ ticket .save ()
41
50
42
51
dto = {
43
52
"msg" : "ok" ,
0 commit comments