• 07-05-2021, 00:06:41
    #1
    Merhaba arkadaşlar bir sorumuz olucaktı, iyzico entegrasyon sırasında aşağıdaki hatayı almaktayız tüm paremetreleri doğru yolluyoruz ama gözümüzden kaçan birşey mi var acaba çünkü test modda başarı bir şekilde 3d para çekmektedir.Gerçek moda aldığımızda aşağıdaki hatayla karşılaşıyoruz ?


    array(5) { ["status"]=> string(7) "failure" ["paymentId"]=> string(0) "" ["conversationData"]=> string(0) "" ["conversationId"]=> string(9) "123456789" ["mdStatus"]=> string(1) "0" }
    array(6) { ["status"]=> string(7) "failure" ["errorCode"]=> string(4) "5002" ["errorMessage"]=> string(34) "paymentId gönderilmesi zorunludur" ["locale"]=> string(2) "tr" ["systemTime"]=> int(1620335150551) ["conversationId"]=> string(9) "123456789" }

  • 07-05-2021, 00:08:17
    #2
    paymentId değerini kontrol ettiniz mi. Hata bu değerin boş veya hiç gönderilmediğini söylüyor.
  • 07-05-2021, 00:09:09
    #3
    paymentId gönderilmesi zorunludur, hatası almışsınız sanırım paymentid'yi yanlış formatta gönderiyorsunuz yada hiç göndermiyorsunuz
  • 07-05-2021, 00:11:04
    #4
    PaymentId alanı sizin sipariş numaranız. Sonrasında bu id ile iptal vs. işlemlerini yapacaksınız. Dolayısı ile önemli bir değer.
  • 07-05-2021, 00:21:37
    #5
    yalnız daha 3d'ye gitmeden önce paymentid eklemye calıstım ama öyle birşey yok dio benım sorunumuz 3d kısmında sanırım post değerleri boş geliyor.Daha önce çok entregasyon yaptım ama neden böyle oldu anlamadım gözümden kaçan birşeymi var acaba
    Fatal error: Uncaught Error: Call to undefined method IyzipayRequestCreatePaymentRequest::setPaymentId()
    https://github.com/iyzico/iyzipay-php

    IyzipayBootstrap::init();
    # create request class
    $options = new IyzipayOptions();
    $options->setApiKey($iyziId);
    $options->setSecretKey($iyziKey);
    $options->setBaseUrl($iyziBaseurl);
    
    
    $request = new IyzipayRequestCreatePaymentRequest();
    $request->setLocale(IyzipayModelLocale::TR);
    $request->setConversationId("123456789");
    $request->setPrice($toplamtutar);
    $request->setPaidPrice($toplamtutar);
    $request->setCurrency(IyzipayModelCurrency::TL);
    $request->setInstallment($taksit);
    $request->setBasketId("B67832");
    $request->setPaymentChannel(IyzipayModelPaymentChannel::WEB);
    $request->setPaymentGroup(IyzipayModelPaymentGroup::PRODUCT);
    
    
    
    $paymentCard = new IyzipayModelPaymentCard();
    $paymentCard->setCardHolderName($cardadsoyad);
    $paymentCard->setCardNumber($cardnumber);
    $paymentCard->setExpireMonth($ccay);
    $paymentCard->setExpireYear($ccyil);
    $paymentCard->setCvc($cvc);
    $paymentCard->setRegisterCard(0);
    $request->setPaymentCard($paymentCard);
    
    
    
    
    /*$paymentCard = new IyzipayModelPaymentCard();
    $paymentCard->setCardHolderName("John Doe");
    $paymentCard->setCardNumber("5528790000000008");
    $paymentCard->setExpireMonth("12");
    $paymentCard->setExpireYear("2030");
    $paymentCard->setCvc("123");
    $paymentCard->setRegisterCard(0);
    $request->setPaymentCard($paymentCard);*/
    
    
    
    $buyer = new IyzipayModelBuyer();
    $buyer->setId("BY789");
    $buyer->setName($uyebul['ad']);
    $buyer->setSurname($uyebul['soyad']);
    $buyer->setGsmNumber($uyebul['telefon']);
    $buyer->setIdentityNumber('14633115734');
    $buyer->setEmail($uyebul['email']);
    $buyer->setRegistrationAddress('test');
    $buyer->setZipCode("34732");
    $buyer->setCity("Istanbul");
    $buyer->setCountry("Turkey");
    $buyer->setIp(getenv('REMOTE_ADDR'));
    $request->setBuyer($buyer);
    
    
    
    
    // adres bilgileri
    $shippingAddress = new IyzipayModelAddress();
    $shippingAddress->setContactName($uyebul['ad']." ".$uyebul['soyad']);
    $shippingAddress->setCity("Eskisehir");
    $shippingAddress->setCountry("Turkey");
    $shippingAddress->setAddress("Arifi");
    $request->setShippingAddress($shippingAddress);
    // fatura adres
    $billingAddress = new IyzipayModelAddress();
    $billingAddress->setContactName($uyebul['ad']." ".$uyebul['soyad']);
    $billingAddress->setAddress('Arifiye Mah');
    $billingAddress->setCity("Eskisehir");
    $billingAddress->setCountry("Turkey");
    $request->setBillingAddress($billingAddress);
    
    
    $basketItems = array();
    $firstBasketItem = new IyzipayModelBasketItem();
    $firstBasketItem->setId("BI101");
    $firstBasketItem->setName($set['seo']['t']);
    $firstBasketItem->setCategory1($set['seo']['t']);
    $firstBasketItem->setItemType(IyzipayModelBasketItemType::PHYSICAL);
    $firstBasketItem->setPrice($toplamtutar);
    $basketItems[0] = $firstBasketItem;
    $request->setBasketItems($basketItems);
    
    
    $request->setPaymentId("123123");
    $request->setCallbackUrl($set['siteurl']."/include/modules/odeme/3dsonuc.php");
    
    $threedsInitialize = IyzipayModelThreedsInitialize::create($request,$options);
    # print result
    
    $detaylar = $threedsInitialize->getRawResult();
    $resultJson = json_decode($detaylar,true);
  • 07-05-2021, 14:09:56
    #6
    $request değişkeninde 3d işlemini başlatmadan payment id yi çağırmışsınız bu yüzden paymentid yi tanımlayamıyor.Önce işlemi başlatıp sonra paymentid yi tanımlamanız gerekiyor.Örnek:
    $request = new \Iyzipay\Request\CreateThreedsPaymentRequest(); $request->setPaymentId("1");
  • 07-05-2021, 18:05:43
    #7
    arkadaş boş gönderiyorsun dedide bilerek koydum ben 3d gitmeden önce paymentid koymuyoruz 3d kısmında sorun alıyorum

    HelluvA adlı üyeden alıntı: mesajı görüntüle
    paymentId gönderilmesi zorunludur, hatası almışsınız sanırım paymentid'yi yanlış formatta gönderiyorsunuz yada hiç göndermiyorsunuz
    Aktimur adlı üyeden alıntı: mesajı görüntüle
    PaymentId alanı sizin sipariş numaranız. Sonrasında bu id ile iptal vs. işlemlerini yapacaksınız. Dolayısı ile önemli bir değer.
    HelluvA adlı üyeden alıntı: mesajı görüntüle
    $request değişkeninde 3d işlemini başlatmadan payment id yi çağırmışsınız bu yüzden paymentid yi tanımlayamıyor.Önce işlemi başlatıp sonra paymentid yi tanımlamanız gerekiyor.Örnek:
    $request = new \Iyzipay\Request\CreateThreedsPaymentRequest(); $request->setPaymentId("1");
  • 07-05-2021, 18:22:56
    #8
    sorunu çözdüm arkadaşlar bin numaradan dolayı (kartımdan kaylanıyor) kaynaklanıyor.İlginizden dolayı teşekkurler.
  • 08-05-2021, 03:00:53
    #9
    zelter adlı üyeden alıntı: mesajı görüntüle
    sorunu çözdüm arkadaşlar bin numaradan dolayı (kartımdan kaylanıyor) kaynaklanıyor.İlginizden dolayı teşekkurler.
    Zaten paymentId payment işlemi gerçekleştirildikten sonra response olarak döner ve eğer sistem üzerinden refund vb yapacaksanız onu kullanırsınız, onun dışında bir işinize yaramaz diye yazacaktım ki, sorunu çözmüşsünüz. paymentID değerini biz göndermeyiz arkadaşlar, oradan bize döner. Bilgilerinize...