Browse Source

修复支付成功后部分交易号获取不到问题

lang 3 years ago
parent
commit
5db312a9a3
1 changed files with 16 additions and 1 deletions
  1. 16 1
      Controller/PaymentCycle.py

+ 16 - 1
Controller/PaymentCycle.py

@@ -347,7 +347,22 @@ class PaypalCycleNotify(View):
             if not billing_agreement_id:
                 # 记录钩子日志
                 PaypalWebHookEvent.objects.create(**PaypalWebHookEventInsert)
-                return HttpResponse('success')
+                # 普通支付,更新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
+                    )
+                    logger.info('----paypal_transaction_id----更新成功')
+                    logger.info('----paypal_transaction_id----:')
+                    logger.info(paypal_transaction_id)
+                    return HttpResponse('success')
+                else:
+                    logger.info('----paymentID and transactions_id某个为空')
+                    logger.info(paymentID)
+                    logger.info(paypal_transaction_id)
+                    return HttpResponse('fail', status=500)
 
             agreement_id = paypal_body.get('billing_agreement_id')
             billing_agreement = paypalrestsdk.BillingAgreement.find(agreement_id)