IEnumerator GetPaymentID(string accessToken) { PayPalPaymentCreation Payment = new PayPalPaymentCreation(); if (jsonStrings != null) { Payment = JsonUtility.FromJson <PayPalPaymentCreation>(jsonStrings[0].ToString()); //Order can easily be setup ui buttons etc or gameplay elements. Payment.transactions[0].invoice_number += System.Guid.NewGuid().ToString(); } var request = new UnityWebRequest(_paymentURL, "POST"); string PaymentString = (JsonUtility.ToJson(Payment)); byte[] bodyRaw = Encoding.UTF8.GetBytes(PaymentString); request.uploadHandler = new UploadHandlerRaw(bodyRaw); request.downloadHandler = new DownloadHandlerBuffer(); request.SetRequestHeader("Content-Type", "application/json"); request.SetRequestHeader("Authorization", "Bearer " + accessToken); yield return(request.SendWebRequest()); if (request.isNetworkError || !string.IsNullOrEmpty(request.error)) { Debug.LogError(request.downloadHandler.text); Debug.LogError(request.error); } else { var data = JsonUtility.FromJson <PayPalPaymentCreation>(request.downloadHandler.text); Payment = data; Debug.Log("request sent"); Application.OpenURL(Payment.links[1].href); StartCoroutine(GetPayerID(Payment.links[0].href, accessToken)); } }
void OnEnable() { Order = new PayPalPaymentCreation(); path = Application.dataPath + "/Resources/Orders/"; }