Facebook
From Commodious Lizard, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 189
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine;
  5. using UnityEngine.Networking;
  6.  
  7. public class Game : MonoBehaviour
  8. {
  9.  
  10.     string txId = String.Empty;
  11.  
  12.     bool isProcessing = false;
  13.  
  14.     public void RotateShield(GameObject instance)
  15.     {
  16.         instance.transform.Rotate(90, 0, 0);
  17.     }
  18.    
  19.     private void Start()
  20.     {
  21.         StartCoroutine(Upload("Arcane", "arfinius", Guid.NewGuid().ToString()));
  22.     }
  23.  
  24.  
  25.     int counter = 0;
  26.  
  27.     private void Update()
  28.     {
  29.         if (isProcessing && counter > 300)
  30.         {
  31.             StartCoroutine(CheckId());
  32.             counter = 0;
  33.         }
  34.  
  35.         else
  36.             counter += 1;
  37.     }
  38.    
  39.  
  40.     IEnumerator Upload(string itemId, string login, string transactionId)
  41.     {
  42.         var randTransferId = Guid.NewGuid(); //trzeba bedzie za kazdym razem generowac nowy;
  43.         var item = "Arcane";
  44.         var amount = "10"; //10 = 1 gr 1000 = 1zł
  45.         var user = "arfinius";//GameController.Instance.login; // bedzie trzeba wyciagnac to z UI ( podaje usera na poczatku w grze )
  46.  
  47.         var data = String.Format("token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoyNSwic2FsdCI6Ijg1ZWY5NGUwLWExNzQtMTFlOS1hZjdlLTkxOWZkNjI4NjIzOSJ9LCJpYXQiOjE1NjI1ODU3NDR9.gppNGDXuJ9Pa6Cwwkjj2fpW5CtM8WhCkTs31rEM9LSQ&request=requestPaymentInitiation&params%5Btype%5D=NORMAL&params%5Bamount%5D%5Bamount%5D={0}&params%5Bamount%5D%5Bcurrency%5D=PLN&params%5BrequestData%5D%5Busername%5D={1}&params%5BrequestData%5D%5BuniqueTransferId%5D={2}&params%5BrequestData%5D%5Btitle%5D={3}&params%5BrequestData%5D%5BmerchantBrandName%5D=Sunny", amount, user, randTransferId, item);
  48.  
  49.         //var request = UnityWebRequest.Post("https://billon.me/api/v1", data);
  50.         //request.SendWebRequest();
  51.         WWWForm form = new WWWForm();
  52.  
  53.         form.AddField("token", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoyNSwic2FsdCI6Ijg1ZWY5NGUwLWExNzQtMTFlOS1hZjdlLTkxOWZkNjI4NjIzOSJ9LCJpYXQiOjE1NjI1ODU3NDR9.gppNGDXuJ9Pa6Cwwkjj2fpW5CtM8WhCkTs31rEM9LSQ");
  54.         form.AddField("request", "requestPaymentInitiation");
  55.         form.AddField("params[type]", "NORMAL");
  56.         form.AddField("params[amount][amount]", "10");
  57.         form.AddField("params[requestData][username]", "arfinius");
  58.         form.AddField("params[requestData][uniqueTransferId]", transactionId);
  59.         form.AddField("params[requestData][title]", "Arcane");
  60.         form.AddField("params[requestData][merchantBrandName]", "SunnyLand");
  61.         form.AddField("params[amount][currency]", "PLN");
  62.  
  63.  
  64.         using (UnityWebRequest www = UnityWebRequest.Post("https://billon.me/api/v1", form))
  65.         {
  66.             //www.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  67.  
  68.             yield return www.SendWebRequest();
  69.  
  70.             if (www.isNetworkError || www.isHttpError)
  71.             {
  72.                 Debug.Log(www.error);
  73.             }
  74.             else
  75.             {
  76.                 var response = www.downloadHandler.text;
  77.                 var idIndex = response.IndexOf("taskId");
  78.                 var data2 = response.Substring(idIndex + 9);
  79.                 txId = data2.Replace("\"}", "");
  80.                 Debug.Log(txId);
  81.  
  82.                 isProcessing = true;
  83.             }
  84.         }
  85.     }
  86.  
  87.     public IEnumerator CheckId()
  88.     {
  89.         WWWForm form = new WWWForm();
  90.  
  91.         form.AddField("token", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoyNSwic2FsdCI6Ijg1ZWY5NGUwLWExNzQtMTFlOS1hZjdlLTkxOWZkNjI4NjIzOSJ9LCJpYXQiOjE1NjI1ODU3NDR9.gppNGDXuJ9Pa6Cwwkjj2fpW5CtM8WhCkTs31rEM9LSQ");
  92.         form.AddField("request", "getTaskStatus");
  93.         form.AddField("params[taskId]", txId);
  94.  
  95.         using (UnityWebRequest www = UnityWebRequest.Post("https://billon.me/api/v1", form))
  96.         {
  97.             //www.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  98.  
  99.             yield return www.SendWebRequest();
  100.  
  101.             if (www.isNetworkError || www.isHttpError)
  102.             {
  103.                 Debug.Log(www.error);
  104.             }
  105.             else
  106.             {
  107.                 var response = www.downloadHandler.text;
  108.  
  109.                 var d = JsonUtility.FromJson<Resposne>(response);
  110.  
  111.                 Debug.Log(d.status);
  112.  
  113.                 if (d.status == "FINISHED_OK")
  114.                 {
  115.                     isProcessing = false;
  116.                     counter = 0;
  117.                     Debug.Log("Accepted");
  118.                 }
  119.                 else if (d.status.Contains("FINISHED_ERR"))
  120.                 {
  121.                     isProcessing = false;
  122.                     counter = 0;
  123.                     Debug.Log("Error");
  124.  
  125.                 }
  126.                 else if (d.status == "PREPARATION" || d.status == "SEARCHING" || d.status == "WAITING_FOR_USER_DECISION" || d.status == "TRANSFERRING")
  127.                 {
  128.                     Debug.Log("o");
  129.  
  130.                 }
  131.             }
  132.         }
  133.     }
  134.    
  135. }
  136.  
  137.  
  138. [Serializable]
  139. public class Resposne
  140. {
  141.     public string status;
  142.     public string progressPercent;
  143.     public string taskId;
  144. }