SDK_UnityMoney/Assets/Script/SDKManager/Purchase/IAPGoogleJsonInfo.cs

87 lines
2.4 KiB
C#
Raw Normal View History

2025-09-18 13:49:57 +00:00
#if UNITY_PURCHASE
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace WZ
{
public class IAPGoogleJsonInfo
{
public struct GoogleToken
{
public string packageName;
public string productId;
public string token;
public string projectId;
}
public class ProductData
{
public string productId;
public int checkStatus;
public string timestamp;
public string sign;
}
public class GooglePurchaseData
{
// INAPP_PURCHASE_DATA
public string inAppPurchaseData;
// INAPP_DATA_SIGNATURE
public string inAppDataSignature;
public GooglePurchaseJson json;
[System.Serializable]
private struct GooglePurchaseReceipt
{
public string Payload;
}
[System.Serializable]
private struct GooglePurchasePayload
{
public string json;
public string signature;
}
[System.Serializable]
public struct GooglePurchaseJson
{
public string packageName;
public string productId;
public long purchaseTime;
public int purchaseState;
public string purchaseToken;
public string orderId;
public bool autoRenewing;
}
public GooglePurchaseData(string receipt)
{
try
{
var purchaseReceipt = JsonUtility.FromJson<GooglePurchaseReceipt>(receipt);
var purchasePayload = JsonUtility.FromJson<GooglePurchasePayload>(purchaseReceipt.Payload);
var inAppJsonData = JsonUtility.FromJson<GooglePurchaseJson>(purchasePayload.json);
inAppPurchaseData = purchasePayload.json;
inAppDataSignature = purchasePayload.signature;
json = inAppJsonData;
}
catch
{
Debug.Log("Could not parse receipt: " + receipt);
inAppPurchaseData = "";
inAppDataSignature = "";
}
}
}
}
}
#endif