• 31-03-2014, 14:34:55
    #1
    3DModelResults.php de sorun var bir türlü çözemedim acaba nerden kaynaklanıyor..


    <html>
    <head>
        <title></title>
    </head>
    <body>
    <?php
        $strMDStatus = $_POST["mdstatus"];
    
        if($strMDStatus == "1"){
        echo "Tam Doğrulama";
        }if($strMDStatus == "2"){
        echo "Kart Sahibi veya bankası sisteme kayıtlı değil";
        }if($strMDStatus == "3"){
        echo "Kartın bankası sisteme kayıtlı değil";
        }if($strMDStatus == "4"){
        echo "Doğrulama denemesi, kart sahibi sisteme daha sonra kayıt olmayı seçmiş";
        }if($strMDStatus == "5"){
        echo "Doğrulama yapılamıyor";
        }if($strMDStatus == "7"){
        echo "Sistem Hatası";
        }if($strMDStatus == "8"){
        echo "Bilinmeyen Kart No";
        }if($strMDStatus == "0"){
        echo "Doğrulama Başarısız, 3-D Secure imzası geçersiz.";
        }
        
        //Tam Doğrulama, Kart Sahibi veya bankası sisteme kayıtlı değil, Kartın bankası sisteme kayıtlı değil
        //Doğrulama denemesi, kart sahibi sisteme daha sonra kayıt olmayı seçmiş responselarını alan
        //işlemler için Provizyon almaya çalışıyoruz
        if ($strMDStatus == "1" || $strMDStatus == "2" || $strMDStatus == "3" || $strMDStatus == "4") 
        {
            $strMode = $_POST['mode'];
            $strVersion = $_POST['apiversion'];
            $strTerminalID = $_POST['clientid'];
            $strTerminalID_ = "0".$_POST['clientid'];
            $strProvisionPassword = "Cs52Dx12"; // Terminal UserID şifresi
            $strProvUserID = $_POST['terminalprovuserid'];
            $strUserID = $_POST['terminaluserid'];
            $strMerchantID = $_POST['terminalmerchantid'];
            $strIPAddress = $_POST['customeripaddress'];
            $strEmailAddress = $_POST['customeremailaddress'];
            $strOrderID = $_POST['orderid'];
            $strNumber = ""; //Kart bilgilerinin boş gitmesi gerekiyor
            $strExpireDate = ""; //Kart bilgilerinin boş gitmesi gerekiyor
            $strCVV2 = ""; //Kart bilgilerinin boş gitmesi gerekiyor
            $strAmount = $_POST['txnamount'];
            $strCurrencyCode = $_POST['txncurrencycode'];
            $strInstallmentCount = $_POST['txninstallmentcount'];
            $strCardholderPresentCode = "13"; //3D Model işlemde bu değer 13 olmalı
            $strType = $_POST['txntype'];
            $strMotoInd = "N";
            $strAuthenticationCode = $_POST['cavv'];
            $strSecurityLevel = $_POST['eci'];
            $strTxnID = $_POST['xid'];
            $strMD = $_POST['md'];
            $SecurityData = strtoupper(sha1($strProvisionPassword.$strTerminalID_));
            $HashData = strtoupper(sha1($strOrderID.$strTerminalID.$strAmount.$SecurityData)); //Daha kısıtlı bilgileri HASH ediyoruz.
            $strHostAddress = "https://sanalposprov.garanti.com.tr/VPServlet"; //Provizyon için xml'in post edileceği adres
    
            //Provizyona Post edilecek XML Şablonu
            $strXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
                        <GVPSRequest>
                        <Mode>$strMode</Mode>
                        <Version>$strVersion</Version>
                        <ChannelCode></ChannelCode>
                        <Terminal><ProvUserID>$strProvUserID</ProvUserID><HashData>$HashData</HashData><UserID>$strUserID</UserID><ID>$strTerminalID</ID><MerchantID>$strMerchantID</MerchantID></Terminal>
                        <Customer><IPAddress>$strIPAddress</IPAddress><EmailAddress>$strEmailAddress</EmailAddress></Customer>
                        <Card><Number></Number><ExpireDate></ExpireDate><CVV2></CVV2></Card>
                        <Order><OrderID>$strOrderID</OrderID><GroupID></GroupID><AddressList><Address><Type>B</Type><Name></Name><LastName></LastName><Company></Company><Text></Text><District></District><City></City><PostalCode></PostalCode><Country></Country><PhoneNumber></PhoneNumber></Address></AddressList></Order><Transaction><Type>$strType</Type><InstallmentCnt>$strInstallmentCount</InstallmentCnt><Amount>$strAmount</Amount><CurrencyCode>$strCurrencyCode</CurrencyCode><CardholderPresentCode>$strCardholderPresentCode</CardholderPresentCode><MotoInd>$strMotoInd</MotoInd><Secure3D><AuthenticationCode>$strAuthenticationCode</AuthenticationCode><SecurityLevel>$strSecurityLevel</SecurityLevel><TxnID>$strTxnID</TxnID><Md>$strMD</Md></Secure3D>
                        </Transaction>
                        </GVPSRequest>";
    
            $ch=curl_init();
            curl_setopt($ch, CURLOPT_URL, $strHostAddress);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_POST, 1) ;
            curl_setopt($ch, CURLOPT_POSTFIELDS, "data=".$strXML);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
            $results = curl_exec($ch);
            curl_close($ch);
    
            echo "<b>Giden İstek </b><br />";
            echo $strXML;
            echo "<br /><b>Gelen Yanıt </b><br />";
            echo $results;
        }
    
    	foreach($_POST as $key => $value)
    	{
    	    echo "<br>".$key." : ".$value;
    	}
    ?>
    </body>
    </html>
  • 31-03-2014, 19:17:12
    #2
    sorun ne?
  • 01-04-2014, 10:42:25
    #3
    $strProvisionPassword = "Cs52Dx12"; // Terminal UserID şifresi

    bu alandaki şifre kabul etmiyor denemedigim şifre kalmadı..
  • 01-04-2014, 14:41:10
    #4
    venessabilisim adlı üyeden alıntı: mesajı görüntüle
    $strProvisionPassword = "Cs52Dx12"; // Terminal UserID şifresi

    bu alandaki şifre kabul etmiyor denemedigim şifre kalmadı..
    banka ile sıkıntı olabilir bazen hesabı açıyorlar ancak aktif etmiyorlar.
    test user pass ile denedinizmi çalışıyor mu?
  • 01-04-2014, 14:57:00
    #5
    Üyeliği durduruldu
    Sanal pos üyeliğini %90 aktif etmemişlerdir.
  • 01-04-2014, 16:27:30
    #6
    sorun çözüldü nasıl çözüldü bende bilmiyorum hem hata veriyor hem para çekiyormuş bankanın destek ekibi hiç şeyden anladıgı yok.