|
@@ -335,18 +335,19 @@ class PaypalCycleNotify(View):
|
|
|
logger.info(paypal_body.get('state'))
|
|
|
return HttpResponse('Fail', status=500)
|
|
|
|
|
|
- #记录钩子日志
|
|
|
- PaypalWebHookEvent.objects.create(
|
|
|
- webhook_event_id=json_obj.get('id'),
|
|
|
- resource_type=json_obj.get('resource_type'),
|
|
|
- event_type=1,
|
|
|
- summary=summary,
|
|
|
- agreement_id=billing_agreement_id,
|
|
|
- trade_no=paypal_transaction_id,
|
|
|
- resource=json_agreement_str,
|
|
|
- created_time=int(time.time()),
|
|
|
- )
|
|
|
+ PaypalWebHookEventInsert = {
|
|
|
+ 'webhook_event_id': json_obj.get('id'),
|
|
|
+ 'resource_type': json_obj.get('resource_type'),
|
|
|
+ 'event_type': 1,
|
|
|
+ 'summary': summary,
|
|
|
+ 'agreement_id': billing_agreement_id,
|
|
|
+ 'trade_no': paypal_transaction_id,
|
|
|
+ 'resource': json_agreement_str,
|
|
|
+ 'created_time': int(time.time()),
|
|
|
+ }
|
|
|
if not billing_agreement_id:
|
|
|
+ # 记录钩子日志
|
|
|
+ PaypalWebHookEvent.objects.create(**PaypalWebHookEventInsert)
|
|
|
#普通支付,更新paypal交易id
|
|
|
paymentID = paypal_body.get('parent_payment')
|
|
|
if paymentID and paypal_transaction_id:
|
|
@@ -358,6 +359,9 @@ class PaypalCycleNotify(View):
|
|
|
|
|
|
agreement_id = paypal_body.get('billing_agreement_id')
|
|
|
billing_agreement = paypalrestsdk.BillingAgreement.find(agreement_id)
|
|
|
+ # 记录钩子日志
|
|
|
+ PaypalWebHookEventInsert['agreement_desc'] = json.dumps(billing_agreement)
|
|
|
+ PaypalWebHookEvent.objects.create(**PaypalWebHookEventInsert)
|
|
|
|
|
|
# 订阅续费订单(如果完成周期数`==0,则是自动续费第一次扣款。否则说明是续费订单)
|
|
|
if billing_agreement.agreement_details.cycles_completed == '0':
|
|
@@ -542,18 +546,35 @@ class PaypalCycleNotify(View):
|
|
|
elif event_type == 'Subscription payment failed':
|
|
|
event_type_code = 5
|
|
|
|
|
|
+ PaypalWebHookEventInsert = {
|
|
|
+ 'webhook_event_id': json_obj.get('id'),
|
|
|
+ 'resource_type': json_obj.get('resource_type'),
|
|
|
+ 'event_type': 1,
|
|
|
+ 'summary': summary,
|
|
|
+ 'agreement_id': billing_agreement_id,
|
|
|
+ 'trade_no': paypal_transaction_id,
|
|
|
+ 'resource': json_agreement_str,
|
|
|
+ 'created_time': int(time.time()),
|
|
|
+ }
|
|
|
+ if not billing_agreement_id:
|
|
|
+ # 记录钩子日志
|
|
|
+ PaypalWebHookEvent.objects.create(**PaypalWebHookEventInsert)
|
|
|
+ # 普通支付,更新paypal交易id
|
|
|
+ paymentID = paypal_body.get('parent_payment')
|
|
|
+ if paymentID and paypal_transaction_id:
|
|
|
+ Order_Model.objects.filter(paymentID=paymentID).update(
|
|
|
+ updTime=int(time.time()),
|
|
|
+ trade_no=paypal_transaction_id
|
|
|
+ )
|
|
|
+ return HttpResponse('success')
|
|
|
+
|
|
|
+ agreement_id = paypal_body.get('billing_agreement_id')
|
|
|
+ billing_agreement = paypalrestsdk.BillingAgreement.find(agreement_id)
|
|
|
# 记录钩子日志
|
|
|
- PaypalWebHookEvent.objects.create(
|
|
|
- webhook_event_id=json_obj.get('id'),
|
|
|
- resource_type=json_obj.get('resource_type'),
|
|
|
- event_type=event_type_code,
|
|
|
- summary=summary,
|
|
|
- agreement_id=billing_agreement_id,
|
|
|
- trade_no=paypal_transaction_id,
|
|
|
- resource=json_agreement_str,
|
|
|
- created_time=int(time.time()),
|
|
|
- )
|
|
|
+ PaypalWebHookEventInsert['agreement_desc'] = json.dumps(billing_agreement)
|
|
|
+ PaypalWebHookEvent.objects.create(**PaypalWebHookEventInsert)
|
|
|
return HttpResponse('success')
|
|
|
+
|
|
|
except Exception as e:
|
|
|
print(e)
|
|
|
logger.info('----进入订阅失败----')
|