문의를 남기실 경우 다음 항목을 작성해 주시면 빠른 답변 처리에 도움이 됩니다.
- 프로젝트명 : 데드킹
- 뒤끝SDK 버전 : 5.0.0
- 에러 코드 :
영수증 검증을 넣었는데 허위 결제로 생각되는 결제들이 발생하고 있습니다.
현상파악 및 수정해야되는 부분을 알려주시면 감사하겠습니다.
아래는 영수증 검증부 코드를 첨부합니다.
public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs e)
{
PurchaseProcessingResult result;
// if any receiver consumed this purchase we return the status
bool consumePurchase = false;
bool resultProcessed = false;
foreach (IAPButton button in activeButtons)
{
if (button.productId == e.purchasedProduct.definition.id)
{
result = button.ProcessPurchase(e);
if (result == PurchaseProcessingResult.Complete)
{
consumePurchase = true;
}
resultProcessed = true;
}
}
foreach (IAPListener listener in activeListeners)
{
result = listener.ProcessPurchase(e);
if (result == PurchaseProcessingResult.Complete)
{
consumePurchase = true;
}
resultProcessed = true;
}
// we expect at least one receiver to get this message
if (!resultProcessed)
{
Debug.LogError("Purchase not correctly processed for product \"" +
e.purchasedProduct.definition.id +
"\". Add an active IAPButton to process this purchase, or add an IAPListener to receive any unhandled purchase events.");
}
//return (consumePurchase) ? PurchaseProcessingResult.Complete : PurchaseProcessingResult.Pending;
if (consumePurchase)
{
//뒤끝 영수증 검증 처리
BackendReturnObject validation = Backend.Receipt.IsValidateGooglePurchase(e.purchasedProduct.receipt, "receiptDescription", false);
// 영수증 검증에 성공한 경우
if (validation.IsSuccess())
{
Debug.Log("영수증 검증 성공");
return PurchaseProcessingResult.Complete;
}
// 영수증 검증에 실패한 경우
else
{
Debug.Log("영수증 검증 실패");
return PurchaseProcessingResult.Pending;
}
}
return (consumePurchase) ? PurchaseProcessingResult.Complete : PurchaseProcessingResult.Pending;
}