• 03-04-2019, 09:20:44
    #1
    Merhabalar vakıf bank için sanal pos yazılımına ihtiyacım var. Daha önce vakıfbank 3d secure vpos yapmış olan birileri olursa çok güzel olur, biraz acil, kendim oturup uğraşmak istemediğimden hazır elinde olan birilerinden almak istedim.

    Yazılım entegrasyonunu ben yapacağım, php class şeklinde verebilirsiniz veya iki sayfadan oluşan (kredi kartı bilgilerinin girildiği ve sonuç durumunun yazdığı) bir örnek de işimi görür fark etmez Elinde hazırda olan birileri fiyat verirse çok daha güzel olur benim için, dediğim gibi aciliyeti olan bir iş.

    Şimdiden teşekkürler
  • 03-04-2019, 10:56:14
    #2
    Yazıp bekleyene kadar yapmıştınız,
                   $mpiServiceUrl=   "BANKA_MPI_URL"
                    $sonKullanmaTarihi = $son_yil.$son_ay;
                    $karttipi = $this->check_cc($kartno);
                    if($karttipi=="Visa"){
                        $kartTipi = 100;
                    } else {
                        $kartTipi = 200;
                    }    
    
                    if($siparis_temp->taksit==0 or $siparis_temp->taksit==1){
                        $taksitSayisi="";                       //Taksit sayisi Pesin satislarda bos gonderilmelidir, "0" gecerli sayilmaz.
                    } else {
                        $taksitSayisi= $siparis_temp->taksit;                       //Taksit sayisi Pesin satislarda bos gonderilmelidir, "0" gecerli sayilmaz.
                    }
                   
                    $islemNumarasi =  $siteayar->kisaad.$sp_id.rand(15555,99999);
                    $uyeIsyeriNumarasi = $_POST["MerchantId"];
                    $uyeIsYeriSifresi = $_POST["MerchantPassword"];
                    $SuccessURL = SUCCESS_URL;      
                    $FailureURL = FAILURE_URL;
                   
                    $ch = curl_init();
                    curl_setopt($ch,CURLOPT_URL,$mpiServiceUrl);
                    curl_setopt($ch,CURLOPT_POST,TRUE);    
                    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
                    curl_setopt($ch,CURLOPT_HTTPHEADER,array("Content-Type"=>"application/x-www-form-urlencoded"));
                    curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
                    curl_setopt($ch,CURLOPT_POSTFIELDS,"Pan=".$kartno."&ExpiryDate=$sonKullanmaTarihi&PurchaseAmount=".$siparis_temp->toplamtutar."&Currency=949&BrandName=$kartTipi&VerifyEnrollmentRequestId=$islemNumarasi&SessionInfo=&MerchantId=".$bankabak->kullaniciadi."&MerchantPassword=".$bankabak->sifre."&SuccessUrl=$SuccessURL&FailureUrl=$FailureURL&InstallmentCount=$taksitSayisi");
                    $resultXml = curl_exec($ch);    
                    curl_close($ch);        
    
    
                    $result = $this->sonucuOku($resultXml);
               
                    if($result["Status"]=="Y") {
                    ?>
                    <html>
                        <head>
                            <title>Get724 Mpi 3D-Secure İşlem Sayfası</title>
                        </head>
                        <body>
                       
                            <form name="downloadForm" action="<?php echo $result['ACSUrl']?>" method="POST">
                    <!--        <noscript>-->
                            <br>
                            <br>
                            <div id="image1" style="position:absolute; overflow:hidden; left:0px; top:0px; width:180px; height:180px; z-index:0"><img src="" alt="" title="" border=0 width=180 height=180></div>
                            <center>
                            <h1>3-D Secure İşleminiz yapılıyor</h1>
                            <h2>
                            Tarayıcınızda Javascript kullanımı engellenmiştir.
                            <br></h2>
                            <h3>
                                3D-Secure işleminizin doğrulama aşamasına geçebilmek için Gönder butonuna basmanız gerekmektedir
                            </h3>
                            <input type="submit" value="Gönder">
                            </center>
                    <!--</noscript>-->
                            <input type="hidden" name="PaReq" value="<?php echo $result['PaReq']?>">
                            <input type="hidden" name="TermUrl" value="<?php echo $result['TermUrl']?>">
                            <input type="hidden" name="MD" value="<?php echo $result['MerchantData']?>">
                            </form>
                        <SCRIPT LANGUAGE="Javascript" >
                            document.downloadForm.submit();
                        </SCRIPT>
                        </body>
                    </html>                
                    <?php    
                    exit;
            } else  {
                $this->yonlen(urldecode($FailureURL));
            }
    ÖDEME TAMAMLAMA
                 if($_POST["Status"]=="Y"){
                    $PostUrl      = BANKA_ODEME_TAMAMLAMA_URL;
               
                    $KartNo       = $_POST["KartNo"];
                    $KartAy       = $_POST["KartAy"];
                    $KartYil      = $_POST["KartYil"];
                    $KartCvv      = $_POST["KartCvv"];
                    $Tutar        = $_POST["Tutar"];
                    $SiparID      = $_POST["SiparID"];
                    $IslemTipi    = $_POST["IslemTipi"];
                    $TutarKodu    = $_POST["TutarKodu"];
                    $ClientIp     = get_ip();
                    $islemNumarasi =  $siteayar->kisaad.$sp_id.rand(15555,99999);
                    if($siparis_temp->taksit==0 or $siparis_temp->taksit==1){
                        $taksitSayisi="";                  
                    } else {
                        $taksitSayisi= $siparis_temp->taksit;
                    }
                    $PosXML = 'prmstr=<VposRequest><MerchantId>'.$bankabak->kullaniciadi.'</MerchantId><Password>'.$bankabak->sifre.'</Password><TerminalNo>'.$bankabak->guvenlikkodu.'</TerminalNo><TransactionType>Sale</TransactionType><TransactionId>'.$islemNumarasi.'</TransactionId><CurrencyAmount>'.$siparis_temp->toplamtutar.'</CurrencyAmount><CurrencyCode>949</CurrencyCode><Pan>'.$_POST["Pan"].'</Pan><Expiry>20'.$_POST["Expiry"].'</Expiry><ECI>'.$_POST["Eci"].'</ECI><CAVV>'.$_POST["Cavv"].'</CAVV><MpiTransactionId>'.$_POST["VerifyEnrollmentRequestId"].'</MpiTransactionId><TransactionDeviceSource>0</TransactionDeviceSource><NumberOfInstallments>'.$taksitSayisi.'</NumberOfInstallments><ClientIp>'.$ClientIp.'</ClientIp></VposRequest>';
    
                    /*echo '<h1>Vpos Request</h1>';
                    echo $PostUrl."<br>";
                    echo '<textarea rows="15" cols="60">'.$PosXML.'</textarea>';*/
                    $ch = curl_init();
                                               
                    curl_setopt($ch, CURLOPT_URL,$PostUrl);
                    curl_setopt($ch, CURLOPT_POST, 1);
                    curl_setopt($ch, CURLOPT_POSTFIELDS,$PosXML);
                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 5);
                    curl_setopt($ch, CURLOPT_TIMEOUT, 59);
                    curl_setopt($ch, curl.options,array("CURLOPT_SSLVERSION"=>"CURL_SSLVERSION_TLSv1_1"));
                    // curl_setopt ($ch, CURLOPT_CAINFO, "c:/php/ext/cacert.pem");
    
                    $result = curl_exec($ch);            
                    curl_close($ch);
                    $xml = simplexml_load_string($result);
    
                    if($xml->ResultDetail=="İŞLEM BAŞARILI"){
                        $array = array(
                            "status" => "success",
                            "bank" => $banka,
                            "paymentId" => $xml->AuthCode
                        );    
                    } else {
                        $array = array(
                            "status" => "failure",
                            "errorDetail" => "3D Onay Alınamadı"
                        );
                    }
                    /*
                       
                        echo '<h1>Vpos Response</h1>';
                        echo '<textarea rows="15" cols="60">'.$result.'</textarea>';
    
                        exit;
                    */
                } else {
                    $array = array(
                        "status" => "failure",
                        "errorDetail" => "3D Onay Alınamadı"
                    );
                }
    kendinize göre kullanın.
  • 08-04-2019, 15:37:57
    #3
    NeLph adlı üyeden alıntı: mesajı görüntüle
    Yazıp bekleyene kadar yapmıştınız,
                   $mpiServiceUrl=   "BANKA_MPI_URL"
                    $sonKullanmaTarihi = $son_yil.$son_ay;
                    $karttipi = $this->check_cc($kartno);
                    if($karttipi=="Visa"){
                        $kartTipi = 100;
                    } else {
                        $kartTipi = 200;
                    }    
    
                    if($siparis_temp->taksit==0 or $siparis_temp->taksit==1){
                        $taksitSayisi="";                       //Taksit sayisi Pesin satislarda bos gonderilmelidir, "0" gecerli sayilmaz.
                    } else {
                        $taksitSayisi= $siparis_temp->taksit;                       //Taksit sayisi Pesin satislarda bos gonderilmelidir, "0" gecerli sayilmaz.
                    }
                  
                    $islemNumarasi =  $siteayar->kisaad.$sp_id.rand(15555,99999);
                    $uyeIsyeriNumarasi = $_POST["MerchantId"];
                    $uyeIsYeriSifresi = $_POST["MerchantPassword"];
                    $SuccessURL = SUCCESS_URL;      
                    $FailureURL = FAILURE_URL;
                  
                    $ch = curl_init();
                    curl_setopt($ch,CURLOPT_URL,$mpiServiceUrl);
                    curl_setopt($ch,CURLOPT_POST,TRUE);    
                    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
                    curl_setopt($ch,CURLOPT_HTTPHEADER,array("Content-Type"=>"application/x-www-form-urlencoded"));
                    curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
                    curl_setopt($ch,CURLOPT_POSTFIELDS,"Pan=".$kartno."&ExpiryDate=$sonKullanmaTarihi&PurchaseAmount=".$siparis_temp->toplamtutar."&Currency=949&BrandName=$kartTipi&VerifyEnrollmentRequestId=$islemNumarasi&SessionInfo=&MerchantId=".$bankabak->kullaniciadi."&MerchantPassword=".$bankabak->sifre."&SuccessUrl=$SuccessURL&FailureUrl=$FailureURL&InstallmentCount=$taksitSayisi");
                    $resultXml = curl_exec($ch);    
                    curl_close($ch);        
    
    
                    $result = $this->sonucuOku($resultXml);
              
                    if($result["Status"]=="Y") {
                    ?>
                    <html>
                        <head>
                            <title>Get724 Mpi 3D-Secure İşlem Sayfası</title>
                        </head>
                        <body>
                      
                            <form name="downloadForm" action="<?php echo $result['ACSUrl']?>" method="POST">
                    <!--        <noscript>-->
                            <br>
                            <br>
                            <div id="image1" style="position:absolute; overflow:hidden; left:0px; top:0px; width:180px; height:180px; z-index:0"><img src="" alt="" title="" border=0 width=180 height=180></div>
                            <center>
                            <h1>3-D Secure İşleminiz yapılıyor</h1>
                            <h2>
                            Tarayıcınızda Javascript kullanımı engellenmiştir.
                            <br></h2>
                            <h3>
                                3D-Secure işleminizin doğrulama aşamasına geçebilmek için Gönder butonuna basmanız gerekmektedir
                            </h3>
                            <input type="submit" value="Gönder">
                            </center>
                    <!--</noscript>-->
                            <input type="hidden" name="PaReq" value="<?php echo $result['PaReq']?>">
                            <input type="hidden" name="TermUrl" value="<?php echo $result['TermUrl']?>">
                            <input type="hidden" name="MD" value="<?php echo $result['MerchantData']?>">
                            </form>
                        <SCRIPT LANGUAGE="Javascript" >
                            document.downloadForm.submit();
                        </SCRIPT>
                        </body>
                    </html>                
                    <?php    
                    exit;
            } else  {
                $this->yonlen(urldecode($FailureURL));
            }
    ÖDEME TAMAMLAMA
                 if($_POST["Status"]=="Y"){
                    $PostUrl      = BANKA_ODEME_TAMAMLAMA_URL;
              
                    $KartNo       = $_POST["KartNo"];
                    $KartAy       = $_POST["KartAy"];
                    $KartYil      = $_POST["KartYil"];
                    $KartCvv      = $_POST["KartCvv"];
                    $Tutar        = $_POST["Tutar"];
                    $SiparID      = $_POST["SiparID"];
                    $IslemTipi    = $_POST["IslemTipi"];
                    $TutarKodu    = $_POST["TutarKodu"];
                    $ClientIp     = get_ip();
                    $islemNumarasi =  $siteayar->kisaad.$sp_id.rand(15555,99999);
                    if($siparis_temp->taksit==0 or $siparis_temp->taksit==1){
                        $taksitSayisi="";                  
                    } else {
                        $taksitSayisi= $siparis_temp->taksit;
                    }
                    $PosXML = 'prmstr=<VposRequest><MerchantId>'.$bankabak->kullaniciadi.'</MerchantId><Password>'.$bankabak->sifre.'</Password><TerminalNo>'.$bankabak->guvenlikkodu.'</TerminalNo><TransactionType>Sale</TransactionType><TransactionId>'.$islemNumarasi.'</TransactionId><CurrencyAmount>'.$siparis_temp->toplamtutar.'</CurrencyAmount><CurrencyCode>949</CurrencyCode><Pan>'.$_POST["Pan"].'</Pan><Expiry>20'.$_POST["Expiry"].'</Expiry><ECI>'.$_POST["Eci"].'</ECI><CAVV>'.$_POST["Cavv"].'</CAVV><MpiTransactionId>'.$_POST["VerifyEnrollmentRequestId"].'</MpiTransactionId><TransactionDeviceSource>0</TransactionDeviceSource><NumberOfInstallments>'.$taksitSayisi.'</NumberOfInstallments><ClientIp>'.$ClientIp.'</ClientIp></VposRequest>';
    
                    /*echo '<h1>Vpos Request</h1>';
                    echo $PostUrl."<br>";
                    echo '<textarea rows="15" cols="60">'.$PosXML.'</textarea>';*/
                    $ch = curl_init();
                                              
                    curl_setopt($ch, CURLOPT_URL,$PostUrl);
                    curl_setopt($ch, CURLOPT_POST, 1);
                    curl_setopt($ch, CURLOPT_POSTFIELDS,$PosXML);
                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 5);
                    curl_setopt($ch, CURLOPT_TIMEOUT, 59);
                    curl_setopt($ch, curl.options,array("CURLOPT_SSLVERSION"=>"CURL_SSLVERSION_TLSv1_1"));
                    // curl_setopt ($ch, CURLOPT_CAINFO, "c:/php/ext/cacert.pem");
    
                    $result = curl_exec($ch);            
                    curl_close($ch);
                    $xml = simplexml_load_string($result);
    
                    if($xml->ResultDetail=="İŞLEM BAŞARILI"){
                        $array = array(
                            "status" => "success",
                            "bank" => $banka,
                            "paymentId" => $xml->AuthCode
                        );    
                    } else {
                        $array = array(
                            "status" => "failure",
                            "errorDetail" => "3D Onay Alınamadı"
                        );
                    }
                    /*
                      
                        echo '<h1>Vpos Response</h1>';
                        echo '<textarea rows="15" cols="60">'.$result.'</textarea>';
    
                        exit;
                    */
                } else {
                    $array = array(
                        "status" => "failure",
                        "errorDetail" => "3D Onay Alınamadı"
                    );
                }
    kendinize göre kullanın.
    Çok teşekkür ederim Konu kapatılabilir ihtiyaç kalmadı.
  • 06-03-2020, 10:06:51
    #4
    benim sıkıntım su formu submit edince smsi girdim sonfa /error sayfasına yonlendiriyor beni.
  • 10-10-2020, 10:38:21
    #5
    Merhabalar, kodu çalıştıramadım. Yardımcı olabilecek var mıdır?