ببخشید، آیا این کدی که من دارم استفاده می کنم مشکلی داره؟
می شه اگه امکانش هست تست کنید؟ چون من همش تو مرحله verify دارم invalid payment می گیریم.
کد PHP:
<?php$pin = 'siba1u123'; //PIN$amount = 1000;$orderId = 1;$callbackUrl = "http://localhost/SibaPal/verify.php?orderId={$orderId}";
$res = request($pin, $amount, $callbackUrl, $orderId);if (empty($res)) { echo 'Unable to connect to server.';} elseif (intval($res['result']) == 1) { $au = $res['au']; $form = $res['form']; echo "<div style='display:none'>{$form}</div><script>document.siba.submit();</script>";} else { $msg = urldecode($res['msg']); echo "<meta charset=utf-8>{$msg}";}
function request($pin, $amount, $callbackUrl, $orderId){ $params = array( 'pin' => $pin, 'amount' => $amount, 'callback' => urlencode($callbackUrl), 'order_id' => $orderId ); $params = json_encode($params);
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://www.sibapal.com/eserviceapi/request?params={$params}"); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); $res = curl_exec($ch); curl_close($ch);
return json_decode($res, TRUE);}
کد PHP:
<?php$pin = 'siba1u123'; //PIN$amount = 1000;$orderId = intval($_GET['orderId']);$au = 'aud12345r12345u123'; //au$bankReturn = $_POST + $_GET;
$res = verify($pin, $amount, $au, $orderId, $bankReturn);if (empty($res)) { echo 'Unable to connect to server.';} elseif (intval($res['result']) == 1) { $bankAu = $res['bank_au']; echo $bankAu;} else { $msg = urldecode($res['msg']); echo "<meta charset=utf-8>{$msg}";}
function verify($pin, $amount, $au, $orderId, $bankReturn){ $params = array( 'pin' => $pin, 'amount' => $amount, 'au' => $au, 'order_id' => $orderId, 'bank_return' => base64_encode(json_encode($bankReturn)) ); $params = json_encode($params);
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://www.sibapal.com/eserviceapi/verify?params={$params}"); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); $res = curl_exec($ch); curl_close($ch);
return json_decode($res, TRUE);}