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); }
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); }
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", "")); }
public static string SerializeToJsonString(BaseRequestV2 request) { return(JsonConvert.SerializeObject(request, new JsonSerializerSettings() { Formatting = Formatting.None, NullValueHandling = NullValueHandling.Ignore, DefaultValueHandling = DefaultValueHandling.Ignore, ContractResolver = new CamelCasePropertyNamesContractResolver() })); }
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); }
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); }
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); }
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); }
public static StringContent ToJsonString(BaseRequestV2 request) { return(new StringContent(SerializeObjectToPrettyJson(request), Encoding.UTF8, "application/json")); }
// 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)); }
// 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))); }