Prechádzať zdrojové kódy

苹果内购不同意退款

linhaohong 8 mesiacov pred
rodič
commit
5f6d91c8ed
1 zmenil súbory, kde vykonal 4 pridanie a 1 odobranie
  1. 4 1
      Controller/InAppPurchaseController.py

+ 4 - 1
Controller/InAppPurchaseController.py

@@ -750,7 +750,7 @@ class InAppPurchaseView(View):
                                                                                  refund_progress=2)
                 return HttpResponse(status=200)
 
-            elif str(decoded_payload.rawNotificationType) == "REFUND_DECLINED":
+            elif str(decoded_payload.rawNotificationType) == "REFUND_REVERSED":
                 # 一种通知类型,表示 App Store 由于客户提出的争议而撤销了先前批准的退款。如果您的应用程序因相关退款而撤销了内容或服务,则需要恢复这些内容或服务。
                 # 此通知类型可适用于任何应用程序内购买类型:消耗品、非消耗品、不可续订订阅和自动续订订阅。对于自动续订,当 App Store 撤销退款时,续订日期保持不变。
                 decoded_transaction_information = signed_data_verifier.verify_and_decode_signed_transaction(
@@ -758,6 +758,7 @@ class InAppPurchaseView(View):
                 transaction_id = decoded_transaction_information.transactionId
                 logger.info(
                     'App Store服务器通知,撤销了批准的退款,不恢复套餐,手动处理 transaction_id:{}'.format(transaction_id))
+                return HttpResponse(status=200)
 
             elif str(decoded_payload.rawNotificationType) == "REFUND_DECLINED":
                 decoded_transaction_information = signed_data_verifier.verify_and_decode_signed_transaction(
@@ -766,6 +767,8 @@ class InAppPurchaseView(View):
                 orders_qs = Order_Model.objects.filter(transaction_id=transaction_id)
                 if not orders_qs.exists():
                     return HttpResponse(status=400)
+                logger.info(
+                    'App Store服务器通知, 不批准退款, transaction_id:{}'.format(transaction_id))
                 InAppRefund.objects.filter(transaction_id=transaction_id).update(refund_progress=3)
 
             else: