iyzipay-rust
Unofficial rust client for iyzipay.
You can sign up for an iyzico account at https://iyzico.com
Requirements
Rust 1.41.0 or newer
Usage
let mut options = new;
options.set_api_key;
options.set_secret_key;
options.set_base_url;
let mut request = new;
request.set_locale;
request.set_conversation_id;
request.set_price;
request.set_paid_price;
request.set_currency;
request.set_installment;
request.set_basket_id;
request.set_payment_channel;
request.set_payment_group;
let mut payment_card = new;
payment_card.set_card_holder_name;
payment_card.set_card_number;
payment_card.set_expire_month;
payment_card.set_expire_year;
payment_card.set_cvc;
payment_card.set_register_card;
request.set_payment_card;
let mut buyer = new;
buyer.set_id;
buyer.set_name;
buyer.set_surname;
buyer.set_gsm_number;
buyer.set_email;
buyer.set_identity_number;
buyer.set_last_login_date;
buyer.set_registration_date;
buyer.set_registration_address;
buyer.set_ip;
buyer.set_city;
buyer.set_country;
buyer.set_zip_code;
request.set_buyer;
let mut shipping_address = new;
shipping_address.set_contact_name;
shipping_address.set_city;
shipping_address.set_country;
shipping_address.set_address;
shipping_address.set_zip_code;
request.set_shipping_address;
let mut billing_address = new;
billing_address.set_contact_name;
billing_address.set_city;
billing_address.set_country;
billing_address.set_address;
billing_address.set_zip_code;
request.set_billing_address;
let mut basket_items: = Vec new;
let mut first_basket_item = new;
first_basket_item.set_id;
first_basket_item.set_name;
first_basket_item.set_category1;
first_basket_item.set_category2;
first_basket_item.set_item_type;
first_basket_item.set_price;
basket_items.push;
let mut second_basket_item = new;
second_basket_item.set_id;
second_basket_item.set_name;
second_basket_item.set_category1;
second_basket_item.set_category2;
second_basket_item.set_item_type;
second_basket_item.set_price;
basket_items.push;
let mut third_basket_item = new;
third_basket_item.set_id;
third_basket_item.set_name;
third_basket_item.set_category1;
third_basket_item.set_category2;
third_basket_item.set_item_type;
third_basket_item.set_price;
basket_items.push;
request.set_basket_items;
let payment = create.unwrap;
See other samples under tests/sample package.
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 |
4130111111111118 | General error |
4131111111111117 | Success but mdStatus is 0 |
4141111111111115 | Success but mdStatus is 4 |
4151111111111112 | 3dsecure initialize failed |
4151111111111393 | Restricted for online transactions |
Testing
api_key=yourApiKey secret_key=yourSecretKey base_url=https://sandbox-api.iyzipay.com cargo test sample::payment_sample::should_create_payment -- --exact
api_key=yourApiKey secret_key=yourSecretKey base_url=https://sandbox-api.iyzipay.com cargo test sample::apm_sample::should_initialize_apm_payment -- --exact