Merhaba arkadaşlar, elinde ziraat bankası için sanalpos çekim örneği olan varsa paylaşabilirmi?
çok acil lazım.
Ziraat Sanal Pos
2
●1.996
- 27-06-2014, 17:17:37
- 27-06-2014, 22:05:32
<html> <?php function GenerateSaleRequest($merchantId, $merchantPassword, $cardNumber, $expiry, $cvv2, $brand, $amountType,$amountCode, $amount, $eci, $cavv) { $xmlDocument = new DOMDocument( "1.0", "UTF-8" ); $posRequest = $xmlDocument->createElement( "PosRequest" ); $originator = $xmlDocument->createElement( "Originator" ); $acquirer = $xmlDocument->createElement( "Acquirer" ); $acquirer->setAttribute( "ID", "1" ); $merchant = $xmlDocument->createElement( "Merchant" ); $merchant->setAttribute( "HostMerchantId", $merchantId); $merchant->setAttribute( "Password", $merchantPassword ); $trnx = $xmlDocument->createElement( "Trnx" ); $trnx->setAttribute( "Type", "Sale" ); $payment = $xmlDocument->createElement( "Payment" ); $pan = $xmlDocument->createElement( "PAN" ); $pan->setAttribute( "PAN", $cardNumber); // Kart Numarası $pan->setAttribute( "Expiry", $expiry); $pan->setAttribute( "CVV2",$cvv2); $pan->setAttribute( "Brand", $brand); $pamount = $xmlDocument->createElement("Amount"); $pamount->setAttribute( "Amount", $amount); // 10,25 YTL $pamount->setAttribute( "Type", $amountType); $pamount->setAttribute( "Code", $amountCode); $originator->appendChild($acquirer); $originator->appendChild($merchant); $payment->appendChild($pan); $payment->appendChild($pamount); if( $eci != "" ) { $options = $xmlDocument->createElement("Options"); $peci = $xmlDocument->createElement("Item"); $peci->setAttribute("Name", "ECI"); $peci->setAttribute("Value", $eci); $pcavv = $xmlDocument->createElement("Item"); $pcavv->setAttribute("Name", "CAVV"); $pcavv->setAttribute("Value", $cavv); $options->appendChild($peci); $options->appendChild($pcavv); $payment->appendChild($options); } $posRequest->appendChild($originator); $posRequest->appendChild($trnx); $posRequest->appendChild($payment); $xmlDocument->appendChild($posRequest); return $xmlDocument->saveXML(); } $request = GenerateSaleRequest("000000000070780", "", "4446760000012552", "200910", "123", "Visa", "1","949", "1100", "", ""); // print $request; $client = new SoapClient("https://sanalpos-test.ziraatbank.com.tr/?WSDL"); $param=array('parameters' => array('xmlRequest'=>$request)); $result = $client->__call("Process",$param); print($result->ProcessResult); $resultDocument = new DOMDocument(); $resultDocument->loadXML($result->ProcessResult); $resultNode = $resultDocument->getElementsByTagName("Result")->item(0); $code = $resultNode->getElementsByTagName("Code")->item(0)->nodeValue; $trnxId = $resultDocument->getElementsByTagName("TrnxID")->item(0)->nodeValue; $host = $resultDocument->getElementsByTagName("Host")->item(0); $RC = null; $message = null; $authCode = null; $RRN = null; if($host != null ) { foreach($host->childNodes as $node) { switch($node->localName) { case "RC": $RC = $node->nodeValue; break; case "Message": $message = $node->nodeValue; break; case "AuthCode": $authCode = $node->nodeValue; break; case "RRN": $RRN = $node->nodeValue; break; } } } if( $code == 0 ) print("<br>İşlem Başarılı<br>"); else print("İşlem İsteği Reddedildi <br>"); print("İşlem Numarası :");print($trnxId);print("<br>"); print("Sanal Pos Cevabı :");print($code);print("<br>"); print("Provizyon Cevabı :");print($RC);print("<br>"); print("Provizyon Mesajı :");print($message);print("<br>"); print("Provizyon Kodu :");print($authCode);print("<br>"); print("Provizyon İşlem No :");print($RRN);print("<br>"); ?> </html>Daha önce Ziraat Bankası sanal pos entegrasyonu yapmadım bu yüzden netten biraz araştırma yaptım yukarıdaki kodları buldum bunları kendinize göre düzenleyip test edebilirsiniz.