iyzico’nun apisiyle birden fazla çekilde kredi kartı tahsilatı yapılabiliyor.
- Ortak ödeme sayfası dedikleri bir yöntem var kullanıcıyı kendi sayfanızdan iyzico ya yönlendiriyor işlem başarılı olursa tanımladığınız callbackurl adresine geri dönüş yapılıyor.
- Ortak ödemenin yönlendirme yapmadan kendi sayfanızda dialog halinde olanı var.
- Kendi formunuz oluşturup arka tarafta apileri kullanarak çekim yapıp sonuç döndüren yöntem
Uygulanması ve zaman tasarrufundan dolayı 1. seçenek en iyisi diyebilirim Taksit seçenekleri form alanları herşey hazır geliyor.Size kalan çekim yapıldıktan sonraki işlemler. Aşağida ortak ödeme sayfası için bir örnek mevcut. Döküman ve test ortamı bilgileri için https://dev.iyzipay.com/tr adresini kullanabilirsiniz.
php Kodu:
require_once('class/iyzipay/IyzipayBootstrap.php');
//api cagrimi ve ayarlar
IyzipayBootstrap::init();
$options = new \Iyzipay\Options();
$options->setApiKey(‘apikey’);
$options->setSecretKey(‘apisecret’);
$options->setBaseUrl(‘https://sandbox-api.iyzipay.com’);
//temel bilgiler
$request = new \Iyzipay\Request\CreateCheckoutFormInitializeRequest();
$request->setLocale(\Iyzipay\Model\Locale::TR);
$request->setConversationId(“987123”);
$request->setPrice(“20”);
$request->setPaidPrice(“20”);
$request->setCurrency(\Iyzipay\Model\Currency::TL);
$request->setBasketId(“123456”);
$request->setPaymentGroup(\Iyzipay\Model\PaymentGroup::PRODUCT);
$request->setCallbackUrl(“https://websitem/satin-al-tamamla/12”); // cekim islemi yapildiktan sonra geri donus yapilacak adres
$request->setEnabledInstallments(array(2, 3, 6, 9)); //kullanilabilir taksit secenekleri bu parametre iyzico ile anlsamaniza gore degisebilir
$buyer = new \Iyzipay\Model\Buyer();
//alici bilgileri
$buyer->setId(“12”);
$buyer->setName(“Ahmet”);
$buyer->setSurname(“Amca”);
$buyer->setGsmNumber(“+905490000000”);
$buyer->setEmail(“[email protected]”);
$buyer->setIdentityNumber(“74300864791”);
$buyer->setRegistrationAddress(“-“);
$buyer->setCity(“Istanbul”);
$buyer->setCountry(“Turkey”);
$buyer->setZipCode(“34732”);
$request->setBuyer($buyer);
// teslimat bilgileri
$shippingAddress = new \Iyzipay\Model\Address();
$shippingAddress->setContactName(“Mehmet Efendi”);
$shippingAddress->setCity(“Istanbul”);
$shippingAddress->setCountry(“Turkey”);
$shippingAddress->setAddress(“-“);
$shippingAddress->setZipCode(“34742”);
$request->setShippingAddress($shippingAddress);
//fatura bilgileri
$billingAddress = new \Iyzipay\Model\Address();
$billingAddress->setContactName(“Mehmet Efendi”);
$billingAddress->setCity(“Istanbul”);
$billingAddress->setCountry(“Turkey”);
$billingAddress->setAddress(“-“);
$billingAddress->setZipCode(“34742”);
$request->setBillingAddress($billingAddress);
$basketItems = array();
$firstBasketItem = new \Iyzipay\Model\BasketItem();
$firstBasketItem->setId(“SP12”);
$firstBasketItem->setName(“10 ADET POSTER”);
$firstBasketItem->setCategory1(“POSTERLER”);
$firstBasketItem->setItemType(\Iyzipay\Model\BasketItemType::PHYSICAL);
$firstBasketItem->setPrice(“20″);
$basketItems[0] = $firstBasketItem;
$request->setBasketItems($basketItems);
$check_out = \Iyzipay\Model\CheckoutFormInitialize::create($request, $options);
//hata dönmezse kullanıcı ortak ödeme sayfasına yönlendiriliyor
header(‘Location:’.$check_out->getPaymentPageUrl().”);
Çıktı:
{"status":"success","locale":"tr","systemTime":1483172479534,
"conversationId":"987123","token":"63d5f199-6610-4362-9660-d808f3879605","checkoutFormContent":"","tokenExpireTime":1800,
"paymentPageUrl":"https://sandbox-cpp.iyzipay.com?token=63d5f199-6610-4362-9660-d808f3879605&lang=tr"}
Yönlenilen sayfanın ekran görüntüsü aşagidaki gibi olacaktır. İşlem başarılı bir şekilde tamamlanınca kullanıcı post bilgisiyle (yapılan işleme ait benzersiz bir kod ile) https://websitem/satin-al-tamamla/12 adresine yönlendirilecek isterseniz tekrar bu sayfada sonucu sorgulayabilirsiniz yada direk siparişinizi bitirtebilirsiniz.