@saylar
Разработчик Unity C#

Google APP и Валидация. Токен fake?

Пытаюсь сделать валидацию на покупки с гугла.
Получил Json с API гугла, кинул пользака в гугл консоль, чтобы отвечал за покупки.
Идем дальше. Сделал скрипт покупок, сами покупки работают, все хорошо. Но мне нужно присылать Token и Id товара гугла, на сервак, где он будет все это дело проверять и если все четко (верно), начислять валюту.
Скрипт следующий.

public class ReceiptFull
{
    public string store;
    public string transactionId;
    public string payload;
}

public class ReceiptGooglePlay
{
    public string json;
    public string signature;
}

public class PurchaseToken
{
    public string orderId;
    public string packageName;
    public string productId;
    public string purchaseTime;
    public string purchaseState;
    public string purchaseToken;
}


public class HardShopeController : MonoBehaviour
{
    private HardCurrencyController hardCurrencyController;
    [SerializeField]
    PurchaseManager purchaseManager;

    private void Awake()
    {
        hardCurrencyController = FindObjectOfType<HardCurrencyController>();
    }

    private void Start()
    {
        PurchaseManager.OnPurchaseConsumable += PurchaseManager_OnPurchaseConsumable;
    }

    private void PurchaseManager_OnPurchaseConsumable(PurchaseEventArgs args)
    {
        Debug.Log("SUCSED BUY");
        StartCoroutine(BuyHardCurrencyCor(args));
    }

    //private void BuyHardCurrency(PurchaseEventArgs args)
    //{
    //    StartCoroutine(BuyHardCurrencyCor(token, productId));
    //}

    private IEnumerator BuyHardCurrencyCor(PurchaseEventArgs args)
    {

        
        ReceiptFull receiptFull = JsonConvert.DeserializeObject<ReceiptFull>(args.purchasedProduct.receipt);
        Debug.Log("TOKEN : " + args.purchasedProduct.receipt);
        ReceiptGooglePlay receiptGooglePlay = JsonConvert.DeserializeObject<ReceiptGooglePlay>(receiptFull.payload);
        PurchaseToken tokenFull = JsonConvert.DeserializeObject<PurchaseToken>(receiptGooglePlay.json);
        
        string token = tokenFull.purchaseToken;

        Debug.Log("token: " + token);

        string argsId = args.purchasedProduct.definition.id;
        var responce = ServerAPI.Billing.BuyProduct(token, argsId);
        yield return StartCoroutine(responce.WaitUntilComplete());
        

        if(responce.Data != null)
        {
            hardCurrencyController.ShoweVisualHardCurrencyOnServer();
        }
    }
}


Так вот, при Дебаге Токена Debug.Log("TOKEN : " + args.purchasedProduct.receipt); - выдается такая вот штука TOKEN : {"Store":"fake","TransactionID":"6b3c54ef-1893-4b65-848d-b5a05c785da5","Payload":"{ \"this\" : \"is a fake receipt\" }"}

При Отладке в Visual Studio, Выдается Null5bdacd5ac8ba1537822829.png
Что делать, помогите плз)
  • Вопрос задан
  • 142 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы