using System; using System.Threading.Tasks; namespace Bit.Core.Utilities { public class BitPayClient { private readonly NBitpayClient.Bitpay _bpClient; public BitPayClient(GlobalSettings globalSettings) { if(CoreHelpers.SettingHasValue(globalSettings.BitPay.Base58Secret)) { var btcSecret = new NBitcoin.BitcoinSecret(globalSettings.BitPay.Base58Secret, globalSettings.BitPay.Production ? null : NBitcoin.Network.TestNet); _bpClient = new NBitpayClient.Bitpay(btcSecret.PrivateKey, new Uri(globalSettings.BitPay.Production ? "https://bitpay.com/" : "https://test.bitpay.com/")); } } public Task TestAccessAsync() { return _bpClient.TestAccessAsync(NBitpayClient.Facade.Merchant); } public Task GetInvoiceAsync(string id) { return _bpClient.GetInvoiceAsync(id); } public Task CreateInvoiceAsync(NBitpayClient.Invoice invoice) { return _bpClient.CreateInvoiceAsync(invoice); } } }