示例#1
0
        public IEnumerator CreateInvoice(InvoiceBtcpay invoice, Action <InvoiceBtcpay> invoiceAction)
        {
            invoice.Token = this.GetAccessToken(FACADE_MERCHANT);//get token by facade type
            invoice.Guid  = Guid.NewGuid().ToString();
            String json = JsonConvert.SerializeObject(invoice);

            Debug.Log("createInvoice(): About to post an initial Invoice " + json);

            CoroutineWithData cd = new CoroutineWithData(owner, Post("invoices", json, true));

            yield return(cd.Coroutine);

            string responseStr = (string)cd.Result;

            Debug.Log("createInvoice():  response:" + responseStr);

            JsonConvert.PopulateObject(this.ResponseToJsonString(responseStr), invoice);
            Debug.Log("createInvoice():  responsejson to Invoice Object done token1:id=" + invoice.Id + " token=" + invoice.Token + " json=" + JsonConvert.SerializeObject(invoice) + " toString:" + invoice.ToString());
            invoice = JsonConvert.DeserializeObject <InvoiceBtcpay>(this.ResponseToJsonString(responseStr));
            Debug.Log("createInvoice():  responsejson to Invoice Object done token2:id=" + invoice.Id + " token=" + invoice.Token + " json=" + JsonConvert.SerializeObject(invoice) + " toString:" + invoice.ToString());

            // Track the token for this invoice
            this.CacheToken(invoice.Id, invoice.Token);
            Debug.Log("createInvoice():  Taking InvoiceAction callback BEFORE");
            invoiceAction(invoice);
            Debug.Log("createInvoice():  Taking InvoiceAction callback AFTER");
        }
示例#2
0
        /// <summary>
        /// Create an invoice using the specified facade.
        /// </summary>
        /// <param name="invoice">An invoice request object.</param>
        /// <returns>A new invoice object returned from the server.</returns>
        public IEnumerator CreateInvoice(InvoiceBtcpay invoice, Action <InvoiceBtcpay> invoiceAction)
        {
            if (!this.isInitialized)
            {
                throw new BitPayException("Client is not initialized");
            }

            if (invoiceAction is null)
            {
                throw new ArgumentNullException(nameof(invoiceAction));
            }

            Debug.Log("createInvoice(): Curr" + invoice.Currency + " Price:" + invoice.Price + " " + invoice.BuyerEmail + " " + invoice.ItemDesc);

            return(btcPayLnService.CreateInvoice(invoice, invoiceAction));
        }