|
@@ -1,21 +1,25 @@
|
|
|
-import datetime as date_time
|
|
|
-import json
|
|
|
-import logging
|
|
|
+from Ansjer.config import PAYPAL_CRD, SERVER_DOMAIN, SERVER_DOMAIN_SSL, PAYPAL_WEB_HOOK_ID, PAYPAL_WEB_HOOK_ID_TWO
|
|
|
+from Model.models import PayCycleConfigModel, Order_Model, Store_Meal, UID_Bucket, PromotionRuleModel, \
|
|
|
+ Unused_Uid_Meal, Device_Info, CouponModel, Order_Model, PaypalWebHookEvent
|
|
|
+from Service.CommonService import CommonService
|
|
|
+from django.http import JsonResponse, HttpResponseRedirect, HttpResponse
|
|
|
+import requests
|
|
|
import time
|
|
|
-
|
|
|
+import sys
|
|
|
+from Object.TokenObject import TokenObject
|
|
|
+from Object.UidTokenObject import UidTokenObject
|
|
|
+from Object.ResponseObject import ResponseObject
|
|
|
import paypalrestsdk
|
|
|
-from django.db import transaction
|
|
|
-from django.db.models import Q, F
|
|
|
-from django.http import HttpResponseRedirect, HttpResponse
|
|
|
+from paypalrestsdk import BillingAgreement
|
|
|
from django.views.generic.base import View
|
|
|
-
|
|
|
-from Ansjer.config import PAYPAL_CRD, SERVER_DOMAIN_SSL, PAYPAL_WEB_HOOK_ID, PAYPAL_WEB_HOOK_ID_TWO
|
|
|
+from django.db import transaction
|
|
|
from Controller import CloudStorage
|
|
|
-from Model.models import PayCycleConfigModel, Store_Meal, UID_Bucket, PromotionRuleModel, \
|
|
|
- Unused_Uid_Meal, Device_Info, CouponModel, Order_Model, PaypalWebHookEvent
|
|
|
-from Object.ResponseObject import ResponseObject
|
|
|
-from Object.TokenObject import TokenObject
|
|
|
-from Service.CommonService import CommonService
|
|
|
+from django.db.models import Q, F, Count
|
|
|
+from paypalrestsdk.notifications import WebhookEvent
|
|
|
+import logging
|
|
|
+import json
|
|
|
+from paypalrestsdk import BillingPlan
|
|
|
+import datetime as date_time
|
|
|
|
|
|
|
|
|
# 周期扣款相关
|
|
@@ -302,16 +306,6 @@ class PaypalCycleNotify(View):
|
|
|
red_url = "{SERVER_DOMAIN_SSL}web/paid2/en_fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
|
return HttpResponseRedirect(red_url)
|
|
|
|
|
|
- @staticmethod
|
|
|
- def paypal_webhook_log(**params):
|
|
|
- try:
|
|
|
- params['agreement_desc'] = 'webhook'
|
|
|
- PaypalWebHookEvent.objects.create(**params)
|
|
|
- return True
|
|
|
- except Exception as e:
|
|
|
- print(repr(e))
|
|
|
- return True
|
|
|
-
|
|
|
def do_paypal_webhook_notify(self, request_dict, request, response):
|
|
|
logger = logging.getLogger('pay')
|
|
|
logger.info('--------进入周期扣款钩子--------')
|
|
@@ -344,7 +338,6 @@ class PaypalCycleNotify(View):
|
|
|
'resource': json_agreement_str,
|
|
|
'created_time': int(time.time()),
|
|
|
}
|
|
|
- self.paypal_webhook_log(**PaypalWebHookEventInsert)
|
|
|
if event_type != 'PAYMENT.SALE.COMPLETED':
|
|
|
logger.info('----钩子异常----')
|
|
|
self.find_subscription_transactions(billing_agreement_id)
|