using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Networking; public class Game : MonoBehaviour { string txId = String.Empty; bool isProcessing = false; public void RotateShield(GameObject instance) { instance.transform.Rotate(90, 0, 0); } private void Start() { StartCoroutine(Upload("Arcane", "arfinius", Guid.NewGuid().ToString())); } int counter = 0; private void Update() { if (isProcessing && counter > 300) { StartCoroutine(CheckId()); counter = 0; } else counter += 1; } IEnumerator Upload(string itemId, string login, string transactionId) { var randTransferId = Guid.NewGuid(); //trzeba bedzie za kazdym razem generowac nowy; var item = "Arcane"; var amount = "10"; //10 = 1 gr 1000 = 1zł var user = "arfinius";//GameController.Instance.login; // bedzie trzeba wyciagnac to z UI ( podaje usera na poczatku w grze ) var data = String.Format("token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoyNSwic2FsdCI6Ijg1ZWY5NGUwLWExNzQtMTFlOS1hZjdlLTkxOWZkNjI4NjIzOSJ9LCJpYXQiOjE1NjI1ODU3NDR9.gppNGDXuJ9Pa6Cwwkjj2fpW5CtM8WhCkTs31rEM9LSQ&request=requestPaymentInitiation¶ms%5Btype%5D=NORMAL¶ms%5Bamount%5D%5Bamount%5D={0}¶ms%5Bamount%5D%5Bcurrency%5D=PLN¶ms%5BrequestData%5D%5Busername%5D={1}¶ms%5BrequestData%5D%5BuniqueTransferId%5D={2}¶ms%5BrequestData%5D%5Btitle%5D={3}¶ms%5BrequestData%5D%5BmerchantBrandName%5D=Sunny", amount, user, randTransferId, item); //var request = UnityWebRequest.Post("https://billon.me/api/v1", data); //request.SendWebRequest(); WWWForm form = new WWWForm(); form.AddField("token", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoyNSwic2FsdCI6Ijg1ZWY5NGUwLWExNzQtMTFlOS1hZjdlLTkxOWZkNjI4NjIzOSJ9LCJpYXQiOjE1NjI1ODU3NDR9.gppNGDXuJ9Pa6Cwwkjj2fpW5CtM8WhCkTs31rEM9LSQ"); form.AddField("request", "requestPaymentInitiation"); form.AddField("params[type]", "NORMAL"); form.AddField("params[amount][amount]", "10"); form.AddField("params[requestData][username]", "arfinius"); form.AddField("params[requestData][uniqueTransferId]", transactionId); form.AddField("params[requestData][title]", "Arcane"); form.AddField("params[requestData][merchantBrandName]", "SunnyLand"); form.AddField("params[amount][currency]", "PLN"); using (UnityWebRequest www = UnityWebRequest.Post("https://billon.me/api/v1", form)) { //www.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded"); yield return www.SendWebRequest(); if (www.isNetworkError || www.isHttpError) { Debug.Log(www.error); } else { var response = www.downloadHandler.text; var idIndex = response.IndexOf("taskId"); var data2 = response.Substring(idIndex + 9); txId = data2.Replace("\"}", ""); Debug.Log(txId); isProcessing = true; } } } public IEnumerator CheckId() { WWWForm form = new WWWForm(); form.AddField("token", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoyNSwic2FsdCI6Ijg1ZWY5NGUwLWExNzQtMTFlOS1hZjdlLTkxOWZkNjI4NjIzOSJ9LCJpYXQiOjE1NjI1ODU3NDR9.gppNGDXuJ9Pa6Cwwkjj2fpW5CtM8WhCkTs31rEM9LSQ"); form.AddField("request", "getTaskStatus"); form.AddField("params[taskId]", txId); using (UnityWebRequest www = UnityWebRequest.Post("https://billon.me/api/v1", form)) { //www.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded"); yield return www.SendWebRequest(); if (www.isNetworkError || www.isHttpError) { Debug.Log(www.error); } else { var response = www.downloadHandler.text; var d = JsonUtility.FromJson(response); Debug.Log(d.status); if (d.status == "FINISHED_OK") { isProcessing = false; counter = 0; Debug.Log("Accepted"); } else if (d.status.Contains("FINISHED_ERR")) { isProcessing = false; counter = 0; Debug.Log("Error"); } else if (d.status == "PREPARATION" || d.status == "SEARCHING" || d.status == "WAITING_FOR_USER_DECISION" || d.status == "TRANSFERRING") { Debug.Log("o"); } } } } } [Serializable] public class Resposne { public string status; public string progressPercent; public string taskId; }