protected override string generate(string itemName, Money amount, string command, object[] args) { //FOR BTC MIN AMOUNT IS 0.001 try { var ApiKey = account.APIKey; var ApiSecret = account.APISecret; var clientAPI = new LocalBitcoinsAPI(ApiKey, ApiSecret); var currencyCode = AppSettings.Site.CurrencyCode; //command#args var customFields = string.Join(ArgsDelimeter.ToString(), args); var hashingValues = HashingManager.Base64Encode(command + joinSymbol + customFields); decimal finalAmount; if (AppSettings.Site.CurrencyCode != "BTC") { finalAmount = Convert.ToDecimal(amount.ToShortClearString()); } else { finalAmount = Convert.ToDecimal(amount.ToClearString()); } var createdInvoiceDetails = clientAPI.NewInvoice(currencyCode, finalAmount, hashingValues, SUCCESS_URL).ToString(); var data = JObject.Parse(createdInvoiceDetails); return(data.data.invoice.url); } catch (Exception e) { throw new MsgException(e.Message); } }
private bool CheckInvoice() { var gateway = PaymentAccountDetails.GetFirstIncomeGateway <LocalBitcoinsAccountDetails>(); var clientAPI = new LocalBitcoinsAPI(gateway.APIKey, gateway.APISecret); var json = clientAPI.GetInvoiceInformations(Id); return(json.data.invoice.state == creditingAllowState); }