public void Should_Retrieve_Subscription() { RetrieveSubscriptionRequest request = new RetrieveSubscriptionRequest { Locale = Locale.TR.ToString(), ConversationId = "123456789", SubscriptionReferenceCode = "subscriptionReferenceCode" }; ResponseData <SubscriptionResource> response = Subscription.Retrieve(request, options); PrintResponse(response); Assert.AreEqual(Status.SUCCESS.ToString(), response.Status); Assert.IsNotNull(response.SystemTime); Assert.Null(response.ErrorMessage); Assert.AreEqual("subscriptionReferenceCode", response.Data.ReferenceCode); }
public void Should_Retrieve_Subscription() { string randomString = DateTime.Now.ToString("yyyyMMddHHmmssfff"); CreateProductRequest createProductRequest = new CreateProductRequest { Description = "product-description", Locale = Locale.TR.ToString(), Name = $"product-name-{randomString}", ConversationId = "123456789" }; ResponseData <ProductResource> createProductResponse = Product.Create(createProductRequest, _options); CreatePlanRequest createPlanRequest = new CreatePlanRequest() { Locale = Locale.TR.ToString(), Name = $"plan-name-{randomString}", ConversationId = "123456789", TrialPeriodDays = 3, Price = "5.23", CurrencyCode = Currency.TRY.ToString(), PaymentInterval = PaymentInterval.WEEKLY.ToString(), RecurrenceCount = 12, PaymentIntervalCount = 1, PlanPaymentType = PlanPaymentType.RECURRING.ToString(), ProductReferenceCode = createProductResponse.Data.ReferenceCode }; PlanResource planResource = Plan.Create(createPlanRequest, _options).Data; SubscriptionInitializeRequest subscriptionInitializeRequest = new SubscriptionInitializeRequest { Locale = Locale.TR.ToString(), Customer = new CheckoutFormCustomer { Email = $"iyzico-{randomString}@iyzico.com", Name = "customer-name", Surname = "customer-surname", BillingAddress = new Address { City = "İstanbul", Country = "Türkiye", Description = "billing-address-description", ContactName = "billing-contact-name", ZipCode = "010101" }, ShippingAddress = new Address { City = "İstanbul", Country = "Türkiye", Description = "shipping-address-description", ContactName = "shipping-contact-name", ZipCode = "010102" }, GsmNumber = "+905350000000", IdentityNumber = "55555555555" }, PaymentCard = new CardInfo { CardNumber = "5528790000000008", CardHolderName = "iyzico", ExpireMonth = "12", ExpireYear = "2029", Cvc = "123", RegisterConsumerCard = true }, ConversationId = "123456789", PricingPlanReferenceCode = planResource.ReferenceCode, SubscriptionInitialStatus = SubscriptionStatus.ACTIVE.ToString() }; ResponseData <SubscriptionCreatedResource> initializeResponse = Subscription.Initialize(subscriptionInitializeRequest, _options); RetrieveSubscriptionRequest request = new RetrieveSubscriptionRequest { Locale = Locale.TR.ToString(), ConversationId = "123456789", SubscriptionReferenceCode = initializeResponse.Data.ReferenceCode }; ResponseData <SubscriptionResource> response = Subscription.Retrieve(request, _options); PrintResponse(response); Assert.AreEqual(Status.SUCCESS.ToString(), response.Status); Assert.IsNotNull(response.SystemTime); Assert.Null(response.ErrorMessage); Assert.NotNull(response.Data.ReferenceCode); Assert.NotNull(response.Data.ParentReferenceCode); Assert.AreEqual(planResource.ReferenceCode, response.Data.PricingPlanReferenceCode); Assert.AreEqual(SubscriptionStatus.ACTIVE.ToString(), response.Data.SubscriptionStatus); Assert.AreEqual($"iyzico-{randomString}@iyzico.com", response.Data.CustomerEmail); Assert.AreEqual(3, response.Data.TrialDays); Assert.NotNull(response.Data.TrialStartDate); Assert.NotNull(response.Data.TrialEndDate); Assert.NotNull(response.Data.StartDate); }
public static ResponseData <SubscriptionResource> Retrieve(RetrieveSubscriptionRequest request, Options options) { string uri = $"{options.BaseUrl}/v2/subscription/subscriptions/{request.SubscriptionReferenceCode}"; return(RestHttpClientV2.Create().Get <ResponseData <SubscriptionResource> >(uri, GetHttpHeadersWithUrlParams(request, uri, options))); }