iyzico
iyzipay-dotnet
C#

iyzipay api .net client

Last updated Jun 10, 2026
163
Stars
64
Forks
2
Issues
0
Stars/day
Attention Score
87
Language breakdown
No language data available.
Files click to expand
README

iyzipay-dotnet

NuGet

You can sign up for an iyzico account at https://iyzico.com

Requirements

One of the runtime environment is required from below
  • .NET Framework 4.5

Installation

For now you'll need to install following libraries:

  • To install Iyzipay, run the following command in the Package Manager Console
Install-Package Iyzipay
Or you can download the latest .dll from: https://github.com/iyzico/iyzipay-dotnet/releases/latest For .NET Framework:
  • Newtonsoft.Json 13.0.2 from http://www.newtonsoft.com/json#
For .NET Standard 2.1:
  • Newtonsoft.Json 11.0.2 from http://www.newtonsoft.com/json#

Note

For .Net Framework usage, decimal deserialized to string with trim "0" operation from the end by newtonsoft library.

// true for .net 45
bool isEqual = payment.IyziCommissionRateAmount.Equals("0.028875")

For .Net Standard usage, decimal deserialized to string without trim operation by newtonsoft library.

// false for .net standard bool isEqual = payment.IyziCommissionRateAmount.Equals("0.028875");

// true for .net standard bool isEqual = payment.IyziCommissionRateAmount.Equals("0.02887500");

Usage

Options options = new Options();
options.ApiKey = "your api key";
options.SecretKey = "your secret key";
options.BaseUrl = "https://sandbox-api.iyzipay.com";
		
CreatePaymentRequest request = new CreatePaymentRequest();
request.Locale = Locale.TR.ToString();
request.ConversationId = "123456789";
request.Price = "1";
request.PaidPrice = "1.2";
request.Currency = Currency.TRY.ToString();
request.Installment = 1;
request.BasketId = "B67832";
request.PaymentChannel = PaymentChannel.WEB.ToString();
request.PaymentGroup = PaymentGroup.PRODUCT.ToString();

PaymentCard paymentCard = new PaymentCard(); paymentCard.CardHolderName = "John Doe"; paymentCard.CardNumber = "5528790000000008"; paymentCard.ExpireMonth = "12"; paymentCard.ExpireYear = "2030"; paymentCard.Cvc = "123"; paymentCard.RegisterCard = 0; request.PaymentCard = paymentCard;

Buyer buyer = new Buyer(); buyer.Id = "BY789"; buyer.Name = "John"; buyer.Surname = "Doe"; buyer.GsmNumber = "+905350000000"; buyer.Email = "email@email.com"; buyer.IdentityNumber = "74300864791"; buyer.LastLoginDate = "2015-10-05 12:43:35"; buyer.RegistrationDate = "2013-04-21 15:12:09"; buyer.RegistrationAddress = "Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1"; buyer.Ip = "85.34.78.112"; buyer.City = "Istanbul"; buyer.Country = "Turkey"; buyer.ZipCode = "34732"; request.Buyer = buyer;

Address shippingAddress = new Address(); shippingAddress.ContactName = "Jane Doe"; shippingAddress.City = "Istanbul"; shippingAddress.Country = "Turkey"; shippingAddress.Description = "Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1"; shippingAddress.ZipCode = "34742"; request.ShippingAddress = shippingAddress;

Address billingAddress = new Address(); billingAddress.ContactName = "Jane Doe"; billingAddress.City = "Istanbul"; billingAddress.Country = "Turkey"; billingAddress.Description = "Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1"; billingAddress.ZipCode = "34742"; request.BillingAddress = billingAddress;

List<BasketItem> basketItems = new List<BasketItem>(); BasketItem firstBasketItem = new BasketItem(); firstBasketItem.Id = "BI101"; firstBasketItem.Name = "Binocular"; firstBasketItem.Category1 = "Collectibles"; firstBasketItem.Category2 = "Accessories"; firstBasketItem.ItemType = BasketItemType.PHYSICAL.ToString(); firstBasketItem.Price = "0.3"; basketItems.Add(firstBasketItem);

BasketItem secondBasketItem = new BasketItem(); secondBasketItem.Id = "BI102"; secondBasketItem.Name = "Game code"; secondBasketItem.Category1 = "Game"; secondBasketItem.Category2 = "Online Game Items"; secondBasketItem.ItemType = BasketItemType.VIRTUAL.ToString(); secondBasketItem.Price = "0.5"; basketItems.Add(secondBasketItem);

BasketItem thirdBasketItem = new BasketItem(); thirdBasketItem.Id = "BI103"; thirdBasketItem.Name = "Usb"; thirdBasketItem.Category1 = "Electronics"; thirdBasketItem.Category2 = "Usb / Cable"; thirdBasketItem.ItemType = BasketItemType.PHYSICAL.ToString(); thirdBasketItem.Price = "0.2"; basketItems.Add(thirdBasketItem); request.BasketItems = basketItems;

Payment payment = Payment.Create(request, options);

See other samples under Iyzipay.Samples project.

Testing

You can run particular sample by passing your credential info to "Iyzipay.Samples/Sample.cs"

Mock test cards

Test cards that can be used to simulate a successful payment:

Card Number | Bank | Card Type ----------- | ---- | --------- 5890040000000016 | Akbank | Master Card (Debit) 5526080000000006 | Akbank | Master Card (Credit) 4766620000000001 | Denizbank | Visa (Debit) 4603450000000000 | Denizbank | Visa (Credit) 4729150000000005 | Denizbank Bonus | Visa (Credit) 4987490000000002 | Finansbank | Visa (Debit) 5311570000000005 | Finansbank | Master Card (Credit) 9792020000000001 | Finansbank | Troy (Debit) 9792030000000000 | Finansbank | Troy (Credit) 5170410000000004 | Garanti Bankası | Master Card (Debit) 5400360000000003 | Garanti Bankası | Master Card (Credit) 374427000000003 | Garanti Bankası | American Express 4475050000000003 | Halkbank | Visa (Debit) 5528790000000008 | Halkbank | Master Card (Credit) 4059030000000009 | HSBC Bank | Visa (Debit) 5504720000000003 | HSBC Bank | Master Card (Credit) 5892830000000000 | Türkiye İş Bankası | Master Card (Debit) 4543590000000006 | Türkiye İş Bankası | Visa (Credit) 4910050000000006 | Vakıfbank | Visa (Debit) 4157920000000002 | Vakıfbank | Visa (Credit) 5168880000000002 | Yapı ve Kredi Bankası | Master Card (Debit) 5451030000000000 | Yapı ve Kredi Bankası | Master Card (Credit)

Cross border test cards:

Card Number | Country ----------- | ------- 4054180000000007 | Non-Turkish (Debit) 5400010000000004 | Non-Turkish (Credit)

Test cards to get specific error codes:

Card Number | Description ----------- | ----------- 5406670000000009 | Success but cannot be cancelled, refund or post auth 4111111111111129 | Not sufficient funds 4129111111111111 | Do not honour 4128111111111112 | Invalid transaction 4127111111111113 | Lost card 4126111111111114 | Stolen card 4125111111111115 | Expired card 4124111111111116 | Invalid cvc2 4123111111111117 | Not permitted to card holder 4122111111111118 | Not permitted to terminal 4121111111111119 | Fraud suspect 4120111111111110 | Pickup card 4130111111111118 | General error 4131111111111117 | Success but mdStatus is 0 4141111111111115 | Success but mdStatus is 4 4151111111111112 | 3dsecure initialize failed

🔗 More in this category

© 2026 GitRepoTrend · iyzico/iyzipay-dotnet · Updated daily from GitHub