Пример #1
0
        public void Should_Delete_IyziLink()
        {
            IyziLinkSaveRequest request = new IyziLinkSaveRequest();

            request.Locale               = Locale.TR.ToString();
            request.ConversationId       = "123456789";
            request.Name                 = "ft-name";
            request.Description          = "ft-description";
            request.Base64EncodedImage   = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8H8BwGwAF0QIs4BDpAAAAAABJRU5ErkJggg==";
            request.Price                = "1";
            request.Currency             = Currency.TRY.ToString();
            request.AddressIgnorable     = false;
            request.SoldLimit            = 1;
            request.InstallmentRequested = false;

            string        token     = IyziLink.Create(request, _options).Data.Token;
            BaseRequestV2 requestV2 = new BaseRequestV2();

            requestV2.Locale         = Locale.TR.ToString();
            requestV2.ConversationId = "123456789";

            IyzipayResourceV2 response = IyziLink.Delete(token, requestV2, _options);

            PrintResponse(response);

            Assert.AreEqual(Status.SUCCESS.ToString(), response.Status);
            Assert.AreEqual(Locale.TR.ToString(), response.Locale);
            Assert.AreEqual("123456789", response.ConversationId);
            Assert.NotNull(response.SystemTime);
        }
Пример #2
0
        private static string GetQueryParams(BaseRequestV2 request)
        {
            if (request == null)
            {
                return("");
            }

            string queryParams = "?conversationId=" + request.ConversationId;

            if (!String.IsNullOrEmpty(request.Locale))
            {
                queryParams += "&locale=" + request.Locale;
            }

            if (!(request is PagingRequest pagingRequest))
            {
                return(queryParams);
            }

            if (pagingRequest.Page != null)
            {
                queryParams += "&page=" + pagingRequest.Page;
            }

            if (pagingRequest.Count != null)
            {
                queryParams += "&count=" + pagingRequest.Count;
            }
            return(queryParams);
        }
Пример #3
0
            public static string SerializeObjectToPrettyJson(BaseRequestV2 value)
            {
                StringBuilder sb = new StringBuilder(256);
                StringWriter  sw = new StringWriter(sb, CultureInfo.InvariantCulture);

                var jsonSerializer = JsonSerializer.CreateDefault();

                jsonSerializer.NullValueHandling    = NullValueHandling.Ignore;
                jsonSerializer.DefaultValueHandling = DefaultValueHandling.Ignore;
                jsonSerializer.ContractResolver     = new CamelCasePropertyNamesContractResolver();
                jsonSerializer.Formatting           = Formatting.Indented;

                using (JsonTextWriter jsonWriter = new JsonTextWriter(sw))
                {
                    jsonWriter.Formatting  = Formatting.Indented;
                    jsonWriter.IndentChar  = '\t';
                    jsonWriter.Indentation = 1;

                    jsonSerializer.Serialize(jsonWriter, value, typeof(BaseRequestV2));
                }

                string json = sw.ToString();

                return(json.Replace("\r", ""));
            }
Пример #4
0
 public static string SerializeToJsonString(BaseRequestV2 request)
 {
     return(JsonConvert.SerializeObject(request, new JsonSerializerSettings()
     {
         Formatting = Formatting.None,
         NullValueHandling = NullValueHandling.Ignore,
         DefaultValueHandling = DefaultValueHandling.Ignore,
         ContractResolver = new CamelCasePropertyNamesContractResolver()
     }));
 }
Пример #5
0
        private static String PrepareAuthorizationStringWithRequestBody(BaseRequestV2 request, String url, Options options)
        {
            String randomKey = GenerateRandomKey();
            String uriPath   = FindUriPath(url);

            String payload       = request != null ? uriPath + JsonBuilder.SerializeObjectToPrettyJson(request) : uriPath;
            String dataToEncrypt = randomKey + payload;
            String hash          = HashGeneratorV2.GenerateHash(options.ApiKey, options.SecretKey, randomKey, dataToEncrypt);

            return(IYZIWS_V2_HEADER_NAME + hash);
        }
Пример #6
0
        public void Should_Delete_IyziLink()
        {
            BaseRequestV2 requestV2 = new BaseRequestV2();

            requestV2.Locale         = Locale.TR.ToString();
            requestV2.ConversationId = "123456789";

            IyzipayResourceV2 response = IyziLink.Delete("token", requestV2, options);

            PrintResponse(response);

            Assert.AreEqual(Status.SUCCESS.ToString(), response.Status);
            Assert.AreEqual(Locale.TR.ToString(), response.Locale);
            Assert.AreEqual("123456789", response.ConversationId);
            Assert.NotNull(response.SystemTime);
        }
Пример #7
0
        public void Should_Retrieve_IyziLink_With_Token()
        {
            BaseRequestV2 requestV2 = new BaseRequestV2();

            requestV2.Locale         = Locale.TR.ToString();
            requestV2.ConversationId = "123456789";

            ResponseData <IyziLinkItem> response = IyziLink.Retrieve("token", requestV2, options);

            PrintResponse(response);

            Assert.AreEqual(Status.SUCCESS.ToString(), response.Status);
            Assert.AreEqual(Locale.TR.ToString(), response.Locale);
            Assert.AreEqual("123456789", response.ConversationId);
            Assert.NotNull(response.SystemTime);
            Assert.AreEqual("ft-name", response.Data.Name);
            Assert.AreEqual("ft-description", response.Data.Description);
            Assert.AreEqual(Currency.TRY.ToString(), response.Data.Currency);
            Assert.AreEqual(IyziLinkStatus.ACTIVE, response.Data.IyziLinkStatus);
            Assert.AreEqual(false, response.Data.AddressIgnorable);
            Assert.NotNull(response.Data.ImageUrl);
        }
Пример #8
0
        public void Should_Retrieve_IyziLink_With_Token()
        {
            IyziLinkSaveRequest request = new IyziLinkSaveRequest();

            request.Locale               = Locale.TR.ToString();
            request.ConversationId       = "123456789";
            request.Name                 = "ft-name";
            request.Description          = "ft-description";
            request.Base64EncodedImage   = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8H8BwGwAF0QIs4BDpAAAAAABJRU5ErkJggg==";
            request.Price                = "1";
            request.Currency             = Currency.TRY.ToString();
            request.AddressIgnorable     = false;
            request.SoldLimit            = 1;
            request.InstallmentRequested = false;

            string        token     = IyziLink.Create(request, _options).Data.Token;
            BaseRequestV2 requestV2 = new BaseRequestV2();

            requestV2.Locale         = Locale.TR.ToString();
            requestV2.ConversationId = "123456789";

            ResponseData <IyziLinkItem> response = IyziLink.Retrieve(token, requestV2, _options);

            PrintResponse(response);

            Assert.AreEqual(Status.SUCCESS.ToString(), response.Status);
            Assert.AreEqual(Locale.TR.ToString(), response.Locale);
            Assert.AreEqual("123456789", response.ConversationId);
            Assert.NotNull(response.SystemTime);
            Assert.AreEqual("ft-name", response.Data.Name);
            Assert.AreEqual("ft-description", response.Data.Description);
            Assert.AreEqual("1", response.Data.Price.RemoveTrailingZeros());
            Assert.AreEqual(Currency.TRY.ToString(), response.Data.Currency);
            Assert.AreEqual(token, response.Data.Token);
            Assert.AreEqual(IyziLinkStatus.ACTIVE, response.Data.IyziLinkStatus);
            Assert.AreEqual(false, response.Data.AddressIgnorable);
            Assert.NotNull(response.Data.ImageUrl);
        }
Пример #9
0
 public static StringContent ToJsonString(BaseRequestV2 request)
 {
     return(new StringContent(SerializeObjectToPrettyJson(request), Encoding.UTF8, "application/json"));
 }
Пример #10
0
        // Async
        public static async Task <IyzipayResourceV2> DeleteAsync(string token, BaseRequestV2 request, Options options)
        {
            string uri = options.BaseUrl + V2_IYZILINK_PRODUCTS + "/" + token + GetQueryParams(request);

            return(await RestHttpClientV2.Create().DeleteAsync <IyzipayResourceV2>(uri, GetHttpHeadersWithRequestBody(request, uri, options), request));
        }
Пример #11
0
        // Async
        public static async Task <ResponseData <IyziLinkItem> > RetrieveAsync(string token, BaseRequestV2 request, Options options)
        {
            string uri = options.BaseUrl + V2_IYZILINK_PRODUCTS + "/" + token + GetQueryParams(request);

            return(await RestHttpClientV2.Create().GetAsync <ResponseData <IyziLinkItem> >(uri, GetHttpHeadersWithUrlParams(request, uri, options)));
        }