• 16-03-2024, 21:54:53
    #1
    Sorun burada mı anlamadım arada bir çift çekim yapıyor, bulamadım da kafa durdu sanırım
    kod aşağıdaki şeklide
    2 kere de çağırmıyorum hatayı farkeden var mı


    
    
        
    // XML request sablonu
    $request= "DATA=<?xml version=\"1.0\" encoding=\"ISO-8859-9\"?>
    <CC5Request>
    <Name>{NAME}</Name>
    <Password>{PASSWORD}</Password>
    <ClientId>{CLIENTID}</ClientId>
    <IPAddress>{IP}</IPAddress>
    <Email>{EMAIL}</Email>
    <Mode>P</Mode>
    <OrderId>{OID}</OrderId>
    <GroupId></GroupId>
    <TransId></TransId>
    <UserId></UserId>
    <Type>{TYPE}</Type>
    <Number>{CCNO}</Number>
    <Expires>{CCTAR}</Expires>
    <Cvv2Val>{CV2}</Cvv2Val>
    <Total>{TUTAR}</Total>
    <Currency>949</Currency>
    <Taksit>{TAKSIT}</Taksit>
    <BillTo>
    <Name></Name>
    <Street1></Street1>
    <Street2></Street2>
    <Street3></Street3>
    <City></City>
    <StateProv></StateProv>
    <PostalCode></PostalCode>
    <Country></Country>
    <Company></Company>
    <TelVoice></TelVoice>
    </BillTo>
    <ShipTo>
    <Name></Name>
    <Street1></Street1>
    <Street2></Street2>
    <Street3></Street3>
    <City></City>
    <StateProv></StateProv>
    <PostalCode></PostalCode>
    <Country></Country>
    </ShipTo>
    <Extra></Extra>
    </CC5Request>
    ";
    //Deðiþken parametrelerin XML sablona yazilmasi
            $request=str_replace("{NAME}",$name,$request);
            $request=str_replace("{PASSWORD}",$password,$request);
            $request=str_replace("{CLIENTID}",$clientid,$request);
            $request=str_replace("{IP}",$lip,$request);
            $request=str_replace("{OID}",$oid,$request);
            $request=str_replace("{TYPE}",$type,$request);
            $request=str_replace("{CCNO}",$ccno,$request);
            $request=str_replace("{CCTAR}","$ccay/$ccyil",$request);
            $request=str_replace("{CV2}","$cv2",$request);
            $request=str_replace("{TUTAR}",$tutar,$request);
            $request=str_replace("{TAKSIT}",$taksit,$request);
    
            
            $url = "https://spos.isbank.com.tr/servlet/cc5ApiServer";  //TEST
            $ch = curl_init();    // initialize curl handle
            curl_setopt($ch, CURLOPT_URL,$url); // set url to post to
            curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
            curl_setopt($ch, CURLOPT_TIMEOUT, 90); // times out after 4s
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $request); // add POST fields
            $result = curl_exec($ch); // run the whole process
    
           if (curl_errno($ch)) {
               print curl_error($ch);
           } else {
               curl_close($ch);
               //echo $result;
               //returns <xml>...</xml>
           }
    
           $xml_oku=simplexml_load_string($result);
           $Response= $xml_oku->Response;
           $HOSTMSG = $xml_oku->HOSTMSG;
           $ErrMsg = $xml_oku->ErrMsg;
        
        
        
        
        
         
     
    if($Response=="Approved"){  
        $status=20;  // onaylandı
        $payment_status=24;
    }else { 
     
    $status=10; 
    $payment_hata = $ErrMsg.''.$HOSTMSG;
    $payment_status=10;
    }
  • 16-03-2024, 22:02:21
    #2
    Kodda birşey yok. Ödeme sonrası takılıp kalıyor muhtemelen ya SMTP den yada SQL adımlarından. Müşteri sayfayı yeniliyor öyle olunca da çekim tekrarlıyor.
  • 17-03-2024, 02:07:31
    #3
    kucukomer adlı üyeden alıntı: mesajı görüntüle
    Kodda birşey yok. Ödeme sonrası takılıp kalıyor muhtemelen ya SMTP den yada SQL adımlarından. Müşteri sayfayı yeniliyor öyle olunca da çekim tekrarlıyor.
    Yenileme konusu mantıklı. Mobildeyim kodlara bakamadım ancak order id oluşturmalı ve status olmalı, status kontrolune gore işlem yapmalı

    Status : 0 bekleniyor
    Status : 2 işleniyor

    Eğer status 2 yani işleniyor ise işlem tekrar uygulanmasın vs.

    Status : 1Tamamlandı gibi