示例#1
0
 public virtual IAsyncEnumerable <LineItem> ListLineItemsAutoPagingAsync(string sessionId, SessionListLineItemsOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
 {
     return(this.ListRequestAutoPagingAsync <LineItem>($"{this.InstanceUrl(sessionId)}/line_items", options, requestOptions, cancellationToken));
 }
示例#2
0
 public virtual IEnumerable <LineItem> ListLineItemsAutoPaging(string sessionId, SessionListLineItemsOptions options = null, RequestOptions requestOptions = null)
 {
     return(this.ListRequestAutoPaging <LineItem>($"{this.InstanceUrl(sessionId)}/line_items", options, requestOptions));
 }
示例#3
0
 public virtual StripeList <LineItem> ListLineItems(string sessionId, SessionListLineItemsOptions options = null, RequestOptions requestOptions = null)
 {
     return(this.Request <StripeList <LineItem> >(HttpMethod.Get, $"{this.InstanceUrl(sessionId)}/line_items", options, requestOptions));
 }
示例#4
0
 public virtual Task <StripeList <LineItem> > ListLineItemsAsync(string sessionId, SessionListLineItemsOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
 {
     return(this.RequestAsync <StripeList <LineItem> >(HttpMethod.Get, $"{this.InstanceUrl(sessionId)}/line_items", options, requestOptions, cancellationToken));
 }
        public SessionServiceTest(
            StripeMockFixture stripeMockFixture,
            MockHttpClientFixture mockHttpClientFixture)
            : base(stripeMockFixture, mockHttpClientFixture)
        {
            this.service = new SessionService(this.StripeClient);

            this.createOptions = new SessionCreateOptions
            {
                CancelUrl         = "https://stripe.com/cancel",
                ClientReferenceId = "1234",
                LineItems         = new List <SessionLineItemOptions>
                {
                    new SessionLineItemOptions
                    {
                        Images = new List <string>
                        {
                            "https://stripe.com/image1",
                        },
                        PriceData = new SessionLineItemPriceDataOptions
                        {
                            Currency          = "usd",
                            Product           = "prod_123",
                            UnitAmountDecimal = 0.01234567890m, // Ensure decimals work
                        },
                        Name     = "item name",
                        Quantity = 2,
                    },
                    new SessionLineItemOptions
                    {
                        Images = new List <string>
                        {
                            "https://stripe.com/image1",
                        },
                        PriceData = new SessionLineItemPriceDataOptions
                        {
                            Currency  = "usd",
                            Product   = "prod_ABC",
                            Recurring = new SessionLineItemPriceDataRecurringOptions
                            {
                                Interval      = "day",
                                IntervalCount = 15,
                            },
                            UnitAmountDecimal = 0.01234567890m, // Ensure decimals work
                        },
                        Quantity = 2,
                    },
                },
                PaymentIntentData = new SessionPaymentIntentDataOptions
                {
                    Description = "description",
                    Shipping    = new ChargeShippingOptions
                    {
                        Name    = "name",
                        Phone   = "555-555-5555",
                        Address = new AddressOptions
                        {
                            State      = "CA",
                            City       = "City",
                            Line1      = "Line1",
                            Line2      = "Line2",
                            PostalCode = "90210",
                            Country    = "US",
                        },
                    },
                },
                PaymentMethodTypes = new List <string>
                {
                    "card",
                },
                SuccessUrl = "https://stripe.com/success",
            };

            this.listOptions = new SessionListOptions
            {
                Limit = 1,
            };

            this.listLineItemsOptions = new SessionListLineItemsOptions
            {
                Limit = 1,
            };
        }