public async Task TestShouldDeliverBill()
        {
            List <Item> items = new List <Item>();

            items.Add(new Item()
            {
                Price = 30.0, Quantity = 9, Description = "product-a"
            });
            items.Add(new Item()
            {
                Price = 14.0, Quantity = 16, Description = "product-b"
            });
            items.Add(new Item()
            {
                Price = 3.90, Quantity = 42, Description = "product-c"
            });
            items.Add(new Item()
            {
                Price = 6.99, Quantity = 12, Description = "product-d"
            });

            // create a bill then retrieve it through the get method - they should match
            var bill = new Bill()
            {
                Number   = "7",
                Currency = Currency.USD,
                Email    = "", //email address mandatory
                Items    = items
            };
            var basicBill = await _bitpay.CreateBill(bill);

            var result = await _bitpay.DeliverBill(basicBill.Id, basicBill.Token);

            // Retrieve the updated bill for status confirmation
            var retrievedBill = await _bitpay.GetBill(basicBill.Id);

            // Check the correct response
            Assert.AreEqual("Success", result);
            // Confirm that the bill is sent
            Assert.AreEqual(BillStatus.Sent, retrievedBill.Status);
        }