|
@@ -52,7 +52,7 @@ from django.db.models import Q, F
|
|
|
|
|
|
from Service.ModelService import ModelService
|
|
from Service.ModelService import ModelService
|
|
|
|
|
|
-SERVER_DOMAIN = 'http://test.dvema.com/'
|
|
|
|
|
|
+# SERVER_DOMAIN = 'http://test.dvema.com/'
|
|
|
|
|
|
'''
|
|
'''
|
|
生成订单
|
|
生成订单
|
|
@@ -87,8 +87,6 @@ class CloudStorageView(View):
|
|
response = ResponseObject()
|
|
response = ResponseObject()
|
|
if operation is None:
|
|
if operation is None:
|
|
return response.json(444, 'error path')
|
|
return response.json(444, 'error path')
|
|
- elif operation == 'testpaly.m3u8':
|
|
|
|
- return self.do_test_play_m3u8(request_dict, response)
|
|
|
|
elif operation == 'dopaypalcallback':
|
|
elif operation == 'dopaypalcallback':
|
|
return self.do_pay_by_paypal_callback(request_dict, response)
|
|
return self.do_pay_by_paypal_callback(request_dict, response)
|
|
elif operation == 'doalicallback':
|
|
elif operation == 'doalicallback':
|
|
@@ -98,10 +96,6 @@ class CloudStorageView(View):
|
|
elif operation == 'getsignsts':
|
|
elif operation == 'getsignsts':
|
|
ip = CommonService.get_ip_address(request)
|
|
ip = CommonService.get_ip_address(request)
|
|
return self.do_get_sign_sts(request_dict, ip, response)
|
|
return self.do_get_sign_sts(request_dict, ip, response)
|
|
- elif operation == 'testgetsignsts':
|
|
|
|
- ip = CommonService.get_ip_address(request)
|
|
|
|
- return self.do_test_get_sign_sts(request_dict, ip, response)
|
|
|
|
- # return self.do_get_sign_sts_test(request_dict, ip, response)
|
|
|
|
elif operation == 'storeplaylist':
|
|
elif operation == 'storeplaylist':
|
|
return self.do_store_playlist(request_dict, response)
|
|
return self.do_store_playlist(request_dict, response)
|
|
elif operation == 'signplaym3u8':
|
|
elif operation == 'signplaym3u8':
|
|
@@ -145,28 +139,6 @@ class CloudStorageView(View):
|
|
else:
|
|
else:
|
|
return response.json(414)
|
|
return response.json(414)
|
|
|
|
|
|
-
|
|
|
|
- def do_test_play_m3u8(self, request_dict, response):
|
|
|
|
- playlist_entries = [
|
|
|
|
- {
|
|
|
|
- 'name': 'https://azvod1.s3-ap-northeast-1.amazonaws.com/test/output000.ts',
|
|
|
|
- 'duration': 10,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- 'name': 'https://azvod1.s3-ap-northeast-1.amazonaws.com/test/output000.ts',
|
|
|
|
- 'duration': 10,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- 'name': 'https://azvod1.s3-ap-northeast-1.amazonaws.com/test/output000.ts',
|
|
|
|
- 'duration': 10,
|
|
|
|
- },
|
|
|
|
- ]
|
|
|
|
- playlist = PlaylistGenerator(playlist_entries).generate()
|
|
|
|
- # return HttpResponse(playlist)
|
|
|
|
- # response = HttpResponse(playlist, content_type="application/octet-stream")
|
|
|
|
- response = HttpResponse(playlist, content_type="application/vnd.apple.mpegurl")
|
|
|
|
- return response
|
|
|
|
-
|
|
|
|
def do_query_order(self, request_dict, userID, response):
|
|
def do_query_order(self, request_dict, userID, response):
|
|
status = request_dict.get('status', None)
|
|
status = request_dict.get('status', None)
|
|
page = int(request_dict.get('page', None))
|
|
page = int(request_dict.get('page', None))
|
|
@@ -288,23 +260,6 @@ class CloudStorageView(View):
|
|
'''
|
|
'''
|
|
conn = session.client('s3')
|
|
conn = session.client('s3')
|
|
playlist_entries = []
|
|
playlist_entries = []
|
|
- # for i in range(fg):
|
|
|
|
- # thumbspng = '{uid}/vod{channel}/{time}/ts{i}.ts'. \
|
|
|
|
- # format(uid=uid, channel=channel, time=storeTime, i=i)
|
|
|
|
- # response_url = conn.generate_presigned_url(
|
|
|
|
- # 'get_object',
|
|
|
|
- # Params={
|
|
|
|
- # 'Bucket': bucket_name,
|
|
|
|
- # 'Key': thumbspng
|
|
|
|
- # },
|
|
|
|
- # ExpiresIn=3600
|
|
|
|
- # )
|
|
|
|
- # # m3u8 = '{uid}/vod{channel}/{time}/{time}.m3u8'. \
|
|
|
|
- # # format(uid=uid, channel=channel, time=vod['time'])
|
|
|
|
- # playlist_entries.append({
|
|
|
|
- # 'name': response_url,
|
|
|
|
- # 'duration': sec,
|
|
|
|
- # })
|
|
|
|
fg = int(fg)
|
|
fg = int(fg)
|
|
ts_count = fg & 0xf
|
|
ts_count = fg & 0xf
|
|
for i in range(ts_count):
|
|
for i in range(ts_count):
|
|
@@ -356,7 +311,7 @@ class CloudStorageView(View):
|
|
sts_qs = StsCrdModel.objects.filter(uid=uid, channel=channel). \
|
|
sts_qs = StsCrdModel.objects.filter(uid=uid, channel=channel). \
|
|
values("addTime", "data")
|
|
values("addTime", "data")
|
|
if sts_qs.exists():
|
|
if sts_qs.exists():
|
|
- endTime = int(sts_qs[0]["addTime"]) + 500
|
|
|
|
|
|
+ endTime = int(sts_qs[0]["addTime"]) + 5000
|
|
if endTime > now_time:
|
|
if endTime > now_time:
|
|
print(endTime)
|
|
print(endTime)
|
|
print(now_time)
|
|
print(now_time)
|
|
@@ -397,100 +352,7 @@ class CloudStorageView(View):
|
|
response = boto3_sts.get_federation_token(
|
|
response = boto3_sts.get_federation_token(
|
|
Name='{role_name}'.format(role_name=uid + '_' + str(channel)),
|
|
Name='{role_name}'.format(role_name=uid + '_' + str(channel)),
|
|
Policy=json.dumps(Policy),
|
|
Policy=json.dumps(Policy),
|
|
- DurationSeconds=900
|
|
|
|
- )
|
|
|
|
- ##############
|
|
|
|
- res = {
|
|
|
|
- 'AccessKeyId': response['Credentials']['AccessKeyId'],
|
|
|
|
- 'AccessKeySecret': response['Credentials']['SecretAccessKey'],
|
|
|
|
- 'SessionToken': response['Credentials']['SessionToken'],
|
|
|
|
- 'Expiration': response['Credentials']['Expiration'],
|
|
|
|
- 'expire': 900,
|
|
|
|
- 'endpoint': endpoint,
|
|
|
|
- 'bucket_name': bucket_name,
|
|
|
|
- 'arn': response['FederatedUser']['Arn'],
|
|
|
|
- 'code': 0,
|
|
|
|
- 'storage': storage,
|
|
|
|
- 'endTime': ubqs[0]['endTime'],
|
|
|
|
- 'ip': ip,
|
|
|
|
- 'region': region_id,
|
|
|
|
- 'bucket_mold':ubqs[0]['bucket__mold']
|
|
|
|
- }
|
|
|
|
- if sts_qs.exists():
|
|
|
|
- sts_qs.update(data=json.dumps(res, default=str), addTime=now_time)
|
|
|
|
- else:
|
|
|
|
- StsCrdModel.objects.create(uid=uid, channel=channel, data=json.dumps(res, default=str),
|
|
|
|
- addTime=now_time, type=1)
|
|
|
|
- return JsonResponse(status=200, data=res)
|
|
|
|
- # else:
|
|
|
|
- # res = {'code': 404, 'msg': 'data not exists!'}
|
|
|
|
- # return HttpResponse(json.dumps(res, ensure_ascii=False), content_type="application/json,charset=utf-8")
|
|
|
|
- res = {'code': 405, 'msg': 'Not purchased or expired!'}
|
|
|
|
- return HttpResponse(json.dumps(res, ensure_ascii=False), content_type="application/json,charset=utf-8")
|
|
|
|
-
|
|
|
|
- def do_test_get_sign_sts(self, request_dict, ip, response):
|
|
|
|
- uidToken = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiJYS1daU0M1RkNKWVQxOUI3MTExQSIsImNoYW5uZWwiOjF9.YvBCETPrKknw7B-RU3Mij-WJLKf46KGrDQvZMMN7dQk'
|
|
|
|
- reset = request_dict.get('reset', 0)
|
|
|
|
- utko = UidTokenObject(uidToken)
|
|
|
|
- if utko.flag is False:
|
|
|
|
- return response.json(444, 'uidToken')
|
|
|
|
- uid = utko.UID
|
|
|
|
- channel = utko.channel
|
|
|
|
- now_time = int(time.time())
|
|
|
|
- ubqs = UID_Bucket.objects.filter(uid=uid, channel=channel, endTime__gte=now_time). \
|
|
|
|
- values("bucket__mold", "bucket__bucket", "bucket__endpoint",
|
|
|
|
- "bucket__region", "endTime").order_by('addTime')[:1]
|
|
|
|
- if ubqs.exists():
|
|
|
|
- # 亚马逊 s3 sts
|
|
|
|
- sts_qs = StsCrdModel.objects.filter(uid=uid, channel=channel). \
|
|
|
|
- values("addTime", "data")
|
|
|
|
- if sts_qs.exists():
|
|
|
|
- endTime = int(sts_qs[0]["addTime"]) + 300
|
|
|
|
- # if reset == '0':
|
|
|
|
- # print(endTime)
|
|
|
|
- # print(now_time)
|
|
|
|
- # res = json.loads(sts_qs[0]["data"])
|
|
|
|
- # return JsonResponse(status=200, data=res)
|
|
|
|
- if reset == '0' and endTime > now_time:
|
|
|
|
- print(endTime)
|
|
|
|
- print(now_time)
|
|
|
|
- res = json.loads(sts_qs[0]["data"])
|
|
|
|
- return JsonResponse(status=200, data=res)
|
|
|
|
- # 套餐id
|
|
|
|
- storage = '{uid}/test/'.format(uid=uid)
|
|
|
|
- bucket_name = ubqs[0]['bucket__bucket']
|
|
|
|
- endpoint = ubqs[0]['bucket__endpoint']
|
|
|
|
- region_id = ubqs[0]['bucket__region']
|
|
|
|
- try:
|
|
|
|
- aws_access_key_id = AWS_ACCESS_KEY_ID[ubqs[0]["bucket__mold"]]
|
|
|
|
- aws_secret_access_key = AWS_SECRET_ACCESS_KEY[ubqs[0]["bucket__mold"]]
|
|
|
|
- aws_arn = AWS_ARN[ubqs[0]["bucket__mold"]]
|
|
|
|
- except:
|
|
|
|
- res = {'code': 404, 'msg': 'mold not exists!'}
|
|
|
|
- return HttpResponse(json.dumps(res, ensure_ascii=False), content_type="application/json,charset=utf-8")
|
|
|
|
-
|
|
|
|
- ###############
|
|
|
|
- boto3_sts = boto3.client(
|
|
|
|
- 'sts',
|
|
|
|
- aws_access_key_id=aws_access_key_id,
|
|
|
|
- aws_secret_access_key=aws_secret_access_key,
|
|
|
|
- region_name=region_id
|
|
|
|
- )
|
|
|
|
- Policy = {
|
|
|
|
- "Version": "2012-10-17",
|
|
|
|
- "Statement": [
|
|
|
|
- {
|
|
|
|
- "Effect": "Allow",
|
|
|
|
- "Action": "s3:*",
|
|
|
|
- "Resource": ["{aws_arn}:::{bucket_name}/{uid_channel}*".
|
|
|
|
- format(aws_arn=aws_arn, bucket_name=bucket_name, uid_channel=storage)]
|
|
|
|
- }
|
|
|
|
- ]
|
|
|
|
- }
|
|
|
|
- response = boto3_sts.get_federation_token(
|
|
|
|
- Name='{role_name}'.format(role_name=uid + '_' + str(channel)),
|
|
|
|
- Policy=json.dumps(Policy),
|
|
|
|
- DurationSeconds=900
|
|
|
|
|
|
+ DurationSeconds=7200
|
|
)
|
|
)
|
|
##############
|
|
##############
|
|
res = {
|
|
res = {
|
|
@@ -569,7 +431,7 @@ class CloudStorageView(View):
|
|
)
|
|
)
|
|
vod_url = '{server_domain}/cloudstorage/signplaym3u8?' \
|
|
vod_url = '{server_domain}/cloudstorage/signplaym3u8?' \
|
|
'uid={uid}&channel={channel}&time={time}&sign=tktktktk'. \
|
|
'uid={uid}&channel={channel}&time={time}&sign=tktktktk'. \
|
|
- format(server_domain=SERVER_DOMAIN, uid=TokenObject().encryption(data={'uid': uid}), channel=channel, time=vod['time'])
|
|
|
|
|
|
+ format(server_domain=SERVER_DOMAIN_SSL, uid=TokenObject().encryption(data={'uid': uid}), channel=channel, time=vod['time'])
|
|
ts_num = int(vod['fg']) & 0xf
|
|
ts_num = int(vod['fg']) & 0xf
|
|
vod_play_list.append({
|
|
vod_play_list.append({
|
|
'name': vod['time'],
|
|
'name': vod['time'],
|
|
@@ -655,10 +517,10 @@ class CloudStorageView(View):
|
|
return response.json(0)
|
|
return response.json(0)
|
|
utko = UidTokenObject()
|
|
utko = UidTokenObject()
|
|
utko.generate(data={'uid': uid, 'channel': channel})
|
|
utko.generate(data={'uid': uid, 'channel': channel})
|
|
- uidTkUrl = "{SERVER_DOMAIN}cloudstorage/getsignsts?uidToken={uidToken}". \
|
|
|
|
- format(uidToken=utko.token, SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
- storeHlsUrl = "{SERVER_DOMAIN}cloudstorage/storeplaylist?uidToken={uidToken}". \
|
|
|
|
- format(uidToken=utko.token, SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
|
|
+ uidTkUrl = "{SERVER_DOMAIN_SSL}cloudstorage/getsignsts?uidToken={uidToken}". \
|
|
|
|
+ format(uidToken=utko.token, SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
|
|
+ storeHlsUrl = "{SERVER_DOMAIN_SSL}cloudstorage/storeplaylist?uidToken={uidToken}". \
|
|
|
|
+ format(uidToken=utko.token, SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
return response.json(0, {'uidTkUrl': uidTkUrl, 'storeHlsUrl': storeHlsUrl})
|
|
return response.json(0, {'uidTkUrl': uidTkUrl, 'storeHlsUrl': storeHlsUrl})
|
|
|
|
|
|
def do_pay_error(self):
|
|
def do_pay_error(self):
|
|
@@ -919,17 +781,17 @@ class CloudStorageView(View):
|
|
order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
|
|
order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
|
|
sys_msg_text_list = ['成功购买云存', 'Successful purchase of cloud storage']
|
|
sys_msg_text_list = ['成功购买云存', 'Successful purchase of cloud storage']
|
|
self.do_vod_msg_Notice(UID, channel, userid, lang, sys_msg_text_list)
|
|
self.do_vod_msg_Notice(UID, channel, userid, lang, sys_msg_text_list)
|
|
- red_url = "{SERVER_DOMAIN}web/paid2/success.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
|
|
+ red_url = "{SERVER_DOMAIN_SSL}web/paid2/success.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
if lang != 'cn':
|
|
if lang != 'cn':
|
|
- red_url = "{SERVER_DOMAIN}web/paid2/en_success.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
|
|
+ red_url = "{SERVER_DOMAIN_SSL}web/paid2/en_success.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
return HttpResponseRedirect(red_url)
|
|
return HttpResponseRedirect(red_url)
|
|
return response.json(0, signature)
|
|
return response.json(0, signature)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
if order_qs:
|
|
if order_qs:
|
|
order_qs.update(status=10)
|
|
order_qs.update(status=10)
|
|
- red_url = "{SERVER_DOMAIN}web/paid2/fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
|
|
+ red_url = "{SERVER_DOMAIN_SSL}web/paid2/fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
if lang != 'cn':
|
|
if lang != 'cn':
|
|
- red_url = "{SERVER_DOMAIN}web/paid2/en_fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
|
|
+ red_url = "{SERVER_DOMAIN_SSL}web/paid2/en_fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
return HttpResponseRedirect(red_url)
|
|
return HttpResponseRedirect(red_url)
|
|
|
|
|
|
def do_pay_by_paypal_callback(self, request_dict, response):
|
|
def do_pay_by_paypal_callback(self, request_dict, response):
|
|
@@ -941,9 +803,9 @@ class CloudStorageView(View):
|
|
order_qs = Order_Model.objects.filter(orderID=orderID, status=0)
|
|
order_qs = Order_Model.objects.filter(orderID=orderID, status=0)
|
|
|
|
|
|
if not orderID:
|
|
if not orderID:
|
|
- red_url = "{SERVER_DOMAIN}web/paid2/fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
|
|
+ red_url = "{SERVER_DOMAIN_SSL}web/paid2/fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
if lang != 'cn':
|
|
if lang != 'cn':
|
|
- red_url = "{SERVER_DOMAIN}web/paid2/en_fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
|
|
+ red_url = "{SERVER_DOMAIN_SSL}web/paid2/en_fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
return HttpResponseRedirect(red_url)
|
|
return HttpResponseRedirect(red_url)
|
|
# else:
|
|
# else:
|
|
# order_qs.update(status=9)
|
|
# order_qs.update(status=9)
|
|
@@ -953,9 +815,9 @@ class CloudStorageView(View):
|
|
payres = payment.execute({"payer_id": PayerID})
|
|
payres = payment.execute({"payer_id": PayerID})
|
|
print(payres)
|
|
print(payres)
|
|
if not payres:
|
|
if not payres:
|
|
- red_url = "{SERVER_DOMAIN}web/paid2/fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
|
|
+ red_url = "{SERVER_DOMAIN_SSL}web/paid2/fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
if lang != 'cn':
|
|
if lang != 'cn':
|
|
- red_url = "{SERVER_DOMAIN}web/paid2/en_fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
|
|
+ red_url = "{SERVER_DOMAIN_SSL}web/paid2/en_fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
return HttpResponseRedirect(red_url)
|
|
return HttpResponseRedirect(red_url)
|
|
print("Payment execute successfully")
|
|
print("Payment execute successfully")
|
|
|
|
|
|
@@ -1017,18 +879,18 @@ class CloudStorageView(View):
|
|
self.do_vod_msg_Notice(UID, channel, userid, lang, sys_msg_text_list)
|
|
self.do_vod_msg_Notice(UID, channel, userid, lang, sys_msg_text_list)
|
|
|
|
|
|
# return response.json(0)
|
|
# return response.json(0)
|
|
- red_url = "{SERVER_DOMAIN}web/paid2/success.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
|
|
+ red_url = "{SERVER_DOMAIN_SSL}web/paid2/success.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
if lang != 'cn':
|
|
if lang != 'cn':
|
|
- red_url = "{SERVER_DOMAIN}web/paid2/en_success.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
|
|
+ red_url = "{SERVER_DOMAIN_SSL}web/paid2/en_success.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
|
|
|
|
return HttpResponseRedirect(red_url)
|
|
return HttpResponseRedirect(red_url)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
print(repr(e))
|
|
print(repr(e))
|
|
if order_qs:
|
|
if order_qs:
|
|
order_qs.update(status=10)
|
|
order_qs.update(status=10)
|
|
- red_url = "{SERVER_DOMAIN}web/paid2/fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
|
|
+ red_url = "{SERVER_DOMAIN_SSL}web/paid2/fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
if lang != 'cn':
|
|
if lang != 'cn':
|
|
- red_url = "{SERVER_DOMAIN}web/paid2/en_fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
|
|
+ red_url = "{SERVER_DOMAIN_SSL}web/paid2/en_fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
return HttpResponseRedirect(red_url)
|
|
return HttpResponseRedirect(red_url)
|
|
|
|
|
|
def do_pay_by_wechat_callback(self, request, response):
|
|
def do_pay_by_wechat_callback(self, request, response):
|
|
@@ -1175,13 +1037,13 @@ class CloudStorageView(View):
|
|
orderID = CommonService.createOrderID()
|
|
orderID = CommonService.createOrderID()
|
|
if pay_type == 1:
|
|
if pay_type == 1:
|
|
|
|
|
|
- cal_url = "{SERVER_DOMAIN}web/paid2/fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
|
|
+ cal_url = "{SERVER_DOMAIN_SSL}web/paid2/fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
if lang != 'cn':
|
|
if lang != 'cn':
|
|
- cal_url = "{SERVER_DOMAIN}web/paid2/en_fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
- call_sub_url = "{SERVER_DOMAIN}cloudstorage/dopaypalcallback?orderID={orderID}&lang={lang}". \
|
|
|
|
- format(SERVER_DOMAIN=SERVER_DOMAIN, orderID=orderID, lang=lang)
|
|
|
|
|
|
+ cal_url = "{SERVER_DOMAIN_SSL}web/paid2/en_fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
|
|
+ call_sub_url = "{SERVER_DOMAIN_SSL}cloudstorage/dopaypalcallback?orderID={orderID}&lang={lang}". \
|
|
|
|
+ format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL, orderID=orderID, lang=lang)
|
|
# call_sub_url = "http://binbin.uicp.vip/cloudstorage/dopaypalcallback?orderID={orderID}".format(
|
|
# call_sub_url = "http://binbin.uicp.vip/cloudstorage/dopaypalcallback?orderID={orderID}".format(
|
|
- # SERVER_DOMAIN=SERVER_DOMAIN, orderID=orderID)
|
|
|
|
|
|
+ # SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL, orderID=orderID)
|
|
call_clc_url = cal_url
|
|
call_clc_url = cal_url
|
|
paypalrestsdk.configure(PAYPAL_CRD)
|
|
paypalrestsdk.configure(PAYPAL_CRD)
|
|
payment = paypalrestsdk.Payment({
|
|
payment = paypalrestsdk.Payment({
|
|
@@ -1221,17 +1083,17 @@ class CloudStorageView(View):
|
|
# "out_trade_no": orderID,
|
|
# "out_trade_no": orderID,
|
|
# "total_amount": price,
|
|
# "total_amount": price,
|
|
# "product_code": "QUICK_WAP_PAY",
|
|
# "product_code": "QUICK_WAP_PAY",
|
|
- # "quit_url": "{SERVER_DOMAIN}web/paid2/fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
|
|
+ # "quit_url": "{SERVER_DOMAIN_SSL}web/paid2/fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
# # "qr_pay_mode":4
|
|
# # "qr_pay_mode":4
|
|
# }
|
|
# }
|
|
order_string = alipay.api_alipay_trade_wap_pay(
|
|
order_string = alipay.api_alipay_trade_wap_pay(
|
|
out_trade_no=orderID,
|
|
out_trade_no=orderID,
|
|
total_amount=price,
|
|
total_amount=price,
|
|
subject=subject,
|
|
subject=subject,
|
|
- return_url="{SERVER_DOMAIN}web/paid2/success.html".format(SERVER_DOMAIN=SERVER_DOMAIN),
|
|
|
|
|
|
+ return_url="{SERVER_DOMAIN_SSL}web/paid2/success.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL),
|
|
notify_url="{SERVER_DOMAIN_SSL}cloudstorage/doalicallback".format(
|
|
notify_url="{SERVER_DOMAIN_SSL}cloudstorage/doalicallback".format(
|
|
SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL),
|
|
SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL),
|
|
- quit_url="{SERVER_DOMAIN}web/paid2/fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN),
|
|
|
|
|
|
+ quit_url="{SERVER_DOMAIN_SSL}web/paid2/fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL),
|
|
passback_params=quote("lang="+lang)
|
|
passback_params=quote("lang="+lang)
|
|
# return_url="http://192.168.136.40/cloudstorage/payOK",
|
|
# return_url="http://192.168.136.40/cloudstorage/payOK",
|
|
# notify_url="http://192.168.136.40/cloudstorage/aliPayCallback"
|
|
# notify_url="http://192.168.136.40/cloudstorage/aliPayCallback"
|
|
@@ -1377,14 +1239,14 @@ class CloudStorageView(View):
|
|
|
|
|
|
sys_msg_text_list = ['成功购买云存', 'Successful purchase of cloud storage']
|
|
sys_msg_text_list = ['成功购买云存', 'Successful purchase of cloud storage']
|
|
# return response.json(0)
|
|
# return response.json(0)
|
|
- returnurl = "{SERVER_DOMAIN}cloudstorage/payOK?lang={lang}".format(SERVER_DOMAIN=SERVER_DOMAIN,lang=lang)
|
|
|
|
|
|
+ returnurl = "{SERVER_DOMAIN_SSL}cloudstorage/payOK?lang={lang}".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL,lang=lang)
|
|
if pay_type == 10:
|
|
if pay_type == 10:
|
|
ExperienceContextModel.objects.create(
|
|
ExperienceContextModel.objects.create(
|
|
experience_type=0,
|
|
experience_type=0,
|
|
uid=uid,
|
|
uid=uid,
|
|
do_time=nowTime
|
|
do_time=nowTime
|
|
)
|
|
)
|
|
- returnurl = "{SERVER_DOMAIN}cloudstorage/payOK?paytype=10&lang={lang}".format(SERVER_DOMAIN=SERVER_DOMAIN,lang=lang)
|
|
|
|
|
|
+ returnurl = "{SERVER_DOMAIN_SSL}cloudstorage/payOK?paytype=10&lang={lang}".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL,lang=lang)
|
|
sys_msg_text_list = ['成功体验云存', 'Successful experience of cloud storage']
|
|
sys_msg_text_list = ['成功体验云存', 'Successful experience of cloud storage']
|
|
|
|
|
|
if pay_type == 11:
|
|
if pay_type == 11:
|
|
@@ -1392,7 +1254,7 @@ class CloudStorageView(View):
|
|
update_dict['is_activate'] = 1
|
|
update_dict['is_activate'] = 1
|
|
update_dict['order'] = orderID
|
|
update_dict['order'] = orderID
|
|
CDKcontextModel.objects.filter(cdk=cdk).update(**update_dict)
|
|
CDKcontextModel.objects.filter(cdk=cdk).update(**update_dict)
|
|
- returnurl = "{SERVER_DOMAIN}cloudstorage/payOK?paytype=11&lang={lang}".format(SERVER_DOMAIN=SERVER_DOMAIN,lang=lang)
|
|
|
|
|
|
+ returnurl = "{SERVER_DOMAIN_SSL}cloudstorage/payOK?paytype=11&lang={lang}".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL,lang=lang)
|
|
sys_msg_text_list = ['成功兑换云存', 'Successful exchange of cloud storage']
|
|
sys_msg_text_list = ['成功兑换云存', 'Successful exchange of cloud storage']
|
|
|
|
|
|
|
|
|