mamadcity
سه شنبه 29 مهر 1393, 13:06 عصر
سلام خدمت دوستان عزیز این نمونه کد هایی هست که خود زرین پال برای پرداخت گذاشته :
request
<?php
$MerchantID = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'; //Required
$Amount = 1000; //Amount will be based on Toman - Required
$Description = 'توضیحات تراکنش تستی'; // Required
$Email = 'UserEmail@Mail.Com'; // Optional
$Mobile ='09123456789'; // Optional
$CallbackURL = 'http://www.m0b.ir/verify.php'; // Required
// URL also Can be https://ir.zarinpal.com/pg/services/WebGate/wsdl
$client = new SoapClient('https://de.zarinpal.com/pg/services/WebGate/wsdl', array('encoding' => 'UTF-8'));
$result = $client->PaymentRequest(
array(
'MerchantID' => $MerchantID,
'Amount' => $Amount,
'Description' => $Description,
'Email' => $Email,
'Mobile' => $Mobile,
'CallbackURL' => $CallbackURL
)
);
//Redirect to URL You can do it also by creating a form
if($result->Status == 100)
{
Header('Location: https://www.zarinpal.com/pg/StartPay/'.$result->Authority);
} else {
echo'ERR: '.$result->Status;
}
?>
و این هم کد دریافت اطلاعات بازگشتی verify :
<?php
$MerchantID = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX';
$Amount = 1000; //Amount will be based on Toman
$Authority = $_GET['Authority'];
if($_GET['Status'] == 'OK'){
// URL also Can be https://ir.zarinpal.com/pg/services/WebGate/wsdl
$client = new SoapClient('https://de.zarinpal.com/pg/services/WebGate/wsdl', array('encoding' => 'UTF-8'));
$result = $client->PaymentVerification(
array(
'MerchantID' => $MerchantID,
'Authority' => $Authority,
'Amount' => $Amount
)
);
if($result->Status == 100){
echo 'Transation success. RefID:'. $result->RefID;
} else {
echo 'Transation failed. Status:'. $result->Status;
}
} else {
echo 'Transaction canceled by user';
}
?>
این کدها بدون مشکل اجرا میشن ولی متاسفانه فقط برای درخواست از طریق وب کار میکنه ولی اگر درخواست کاربر برای پرداخت توسط ussd انجام بشه
توسط کد های verify اطلاعات پرداختی نشون داده نمیشه لطفا دوستانی که تجربه دارن کمک کنند سپاس
request
<?php
$MerchantID = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'; //Required
$Amount = 1000; //Amount will be based on Toman - Required
$Description = 'توضیحات تراکنش تستی'; // Required
$Email = 'UserEmail@Mail.Com'; // Optional
$Mobile ='09123456789'; // Optional
$CallbackURL = 'http://www.m0b.ir/verify.php'; // Required
// URL also Can be https://ir.zarinpal.com/pg/services/WebGate/wsdl
$client = new SoapClient('https://de.zarinpal.com/pg/services/WebGate/wsdl', array('encoding' => 'UTF-8'));
$result = $client->PaymentRequest(
array(
'MerchantID' => $MerchantID,
'Amount' => $Amount,
'Description' => $Description,
'Email' => $Email,
'Mobile' => $Mobile,
'CallbackURL' => $CallbackURL
)
);
//Redirect to URL You can do it also by creating a form
if($result->Status == 100)
{
Header('Location: https://www.zarinpal.com/pg/StartPay/'.$result->Authority);
} else {
echo'ERR: '.$result->Status;
}
?>
و این هم کد دریافت اطلاعات بازگشتی verify :
<?php
$MerchantID = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX';
$Amount = 1000; //Amount will be based on Toman
$Authority = $_GET['Authority'];
if($_GET['Status'] == 'OK'){
// URL also Can be https://ir.zarinpal.com/pg/services/WebGate/wsdl
$client = new SoapClient('https://de.zarinpal.com/pg/services/WebGate/wsdl', array('encoding' => 'UTF-8'));
$result = $client->PaymentVerification(
array(
'MerchantID' => $MerchantID,
'Authority' => $Authority,
'Amount' => $Amount
)
);
if($result->Status == 100){
echo 'Transation success. RefID:'. $result->RefID;
} else {
echo 'Transation failed. Status:'. $result->Status;
}
} else {
echo 'Transaction canceled by user';
}
?>
این کدها بدون مشکل اجرا میشن ولی متاسفانه فقط برای درخواست از طریق وب کار میکنه ولی اگر درخواست کاربر برای پرداخت توسط ussd انجام بشه
توسط کد های verify اطلاعات پرداختی نشون داده نمیشه لطفا دوستانی که تجربه دارن کمک کنند سپاس