Пытаюсь сделать валидацию на покупки с гугла.
Получил 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, Выдается Null
Что делать, помогите плз)