public async Task<StripeResponse<Order>> PayOrder(OrderPayArguments arguments,
     CancellationToken cancellationToken = default(CancellationToken))
 {
     var request = new StripeRequest<OrderPayArguments, Order>
     {
         UrlPath = PathHelper.GetPath(Paths.Orders, arguments.OrderId, Paths.Pay),
         Model = arguments
     };
     return await _client.Post(request, cancellationToken);
 }
 public void Init()
 {
     _args = GenFu.GenFu.New<OrderPayArguments>();
 }
        public async Task PayOrderTest()
        {
            // Arrange
            var args = new OrderPayArguments
            {
                OrderId = "order-id"
            };
            _stripe.Post(
                Arg.Is<StripeRequest<OrderPayArguments, Order>>(
                    a => a.UrlPath == "orders/" + args.OrderId + "/pay" && a.Model == args), _cancellationToken)
                .Returns(Task.FromResult(new StripeResponse<Order>()));

            // Act
            var response = await _client.PayOrder(args, _cancellationToken);

            // Assert
            response.Should().NotBeNull();
        }