09-06-1395، 02:59 ب.ظ
10-06-1395، 08:28 ق.ظ
باید برای پرداخت یه کامپوننت بسازین و متدهای PaymentRequest و Verify و Settle رو داخلش بگذارین. پیشنهاد میکنم یه پوشه components درست کنید و داخل اون ذخیره کنید:
بعد این کامپوننت رو توی فایل تنظیمات تعریف کنید:
و بعد با کمک روش زیر از متدهاش استفاده کنید:
namespace appcomponents; class Mellat extends yiibaseComponent { public function paymentRequest(...) { // ... } public function verify(...) { // ... } public function settle(...) { // ... } }
بعد این کامپوننت رو توی فایل تنظیمات تعریف کنید:
'components' => [ 'mellat' => 'appcomponentsMellat', // ... ],
و بعد با کمک روش زیر از متدهاش استفاده کنید:
Yii::$app->mellat->paymentRequest(...)
19-02-1397، 03:33 ب.ظ
من کد های زیر رو نوشتم ولی به درگاه وصل نشد، میشه لطفاً راهنمایی بفرمایید
public function pay($id, $amount, $paymentId, $callback, $description = null)
{
$client = new SoapClient('https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl', array('soap_version' => SOAP_1_1));
$namespace='http://interfaces.core.sw.bps.com/';
$terminalId = '***';
$userName = '***';
$userPassword = '****';
$localDate = date("Ymd");
$localTime = date("His");
$parameters = array(
'terminalId' => $terminalId ,
'userName' => $userName ,
'userPassword' => $userPassword ,
'orderId' => $id ,
'amount' => $amount * 10 ,
'localDate' => $localDate ,
'localTime' => $localTime ,
'additionalData' => '' ,
'callBackUrl' => $callback ,
'payerId' => '0' ,
);
/*try{
$err = $client->getError();
if($err){
return -6;
}
} catch (Exception $ex) {
Yii::$app->session->setFlash('error', 'خطا در اتصال به درگاه پرداخت');
return -6;
}*/
$result = $client->__soapCall('bpPayRequest', array($parameters), array($namespace));
/*$res = explode (',', $result);
if( ! isset($res[0]) or $res[0] != "0" or ! isset($res[1]))
return -6;
else
{
return strip_tags($res[1]);
}*/
return $result;
}
public function pay($id, $amount, $paymentId, $callback, $description = null)
{
$client = new SoapClient('https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl', array('soap_version' => SOAP_1_1));
$namespace='http://interfaces.core.sw.bps.com/';
$terminalId = '***';
$userName = '***';
$userPassword = '****';
$localDate = date("Ymd");
$localTime = date("His");
$parameters = array(
'terminalId' => $terminalId ,
'userName' => $userName ,
'userPassword' => $userPassword ,
'orderId' => $id ,
'amount' => $amount * 10 ,
'localDate' => $localDate ,
'localTime' => $localTime ,
'additionalData' => '' ,
'callBackUrl' => $callback ,
'payerId' => '0' ,
);
/*try{
$err = $client->getError();
if($err){
return -6;
}
} catch (Exception $ex) {
Yii::$app->session->setFlash('error', 'خطا در اتصال به درگاه پرداخت');
return -6;
}*/
$result = $client->__soapCall('bpPayRequest', array($parameters), array($namespace));
/*$res = explode (',', $result);
if( ! isset($res[0]) or $res[0] != "0" or ! isset($res[1]))
return -6;
else
{
return strip_tags($res[1]);
}*/
return $result;
}