سلام
خواستم سوالم رو تو یک تاپیک دیگه بپرسم ولی احساس کردم همینجا بهترین جاست .
لینک ها تنها برای اعضای سایت قابل نمایش است.
عزیز گفتن که باید آدرس verify.php رو کامل وارد کنم . کامل وارد کردم و درست شد . فقط به مشکلی دارم .
من تو فایل index.php از طریق فرمی که گذاشتم قیمیت رو از کاربر میگیرم . مثل فرم زیر :
<form id="TransactionAddForm" action="pay.php" method="post">مبلغ خرید (تومان)<br />
<input id="TransactionAmount" type="text" maxlength="9" name="Amount" /></p>
حالا این مقداری که از کاربر گرفته میشه داخل فایل pay.php مقدارش میره داخل متغیر Amount .
<?php
if($_POST['PG']=='ZG'){
require_once('lib/nusoap.php');
$MerchantID = '5255554f9-de48-450d-bba2-3e1f5ee8a9d4'; //Required
$Amount = $_POST['Amount'];
$Description = $_POST['Description'];
$Email = $_POST['Email'];
$CallbackURL = 'verify.php'; // Required
// URL also Can be https://ir.zarinpal.com/pg/services/WebGate/wsdl
$client = new nusoap_client('https://de.zarinpal.com/pg/services/WebGate/wsdl', 'wsdl');
$client->soap_defencoding = 'UTF-8';
$result = $client->call('PaymentRequest', array(
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'];
}
}
?>
تا اینجا مشکلی نیست .
طرف وارد صفحه بانک میشه و بعد از پرداخت میره به آدرسی که بهش دادم .
من هم آدرس sitekhodam.ir/zarin/verify.php رو بهش دادم
الان گیر کار من رو همین کدهای داخل verify.php هست .
کد verify.php به صورت زیر است
<?php
require_once('nusoap.php');
require_once('ZarinMerchent.php');
$Amount = 100;
$Authority = $_GET['Authority'];
if($_GET['Status'] == 'OK'){
// URL also Can be https://ir.zarinpal.com/pg/services/WebGate/wsdl
$client = new nusoap_client('https://de.zarinpal.com/pg/services/WebGate/wsdl', 'wsdl');
$client->soap_defencoding = 'UTF-8';
$result = $client->call('PaymentVerification', array(
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';
}
?>
خب اصل مطلب اینه که بعد از پرداخت وقتی پیغام پرداخت موفق میده که مقدار متغیر Amount توی فایل pay.php و فایل verify.php یکی باشه .
اما توی pay.php مقدار Amount از طریق فرم index.php داده میده ولی توی verify.php مقدار Amount به صورت پیشفرض 100 تومان است .
سوال اینجاست من چطور میتونم مقدار Amount داخل verify.php رو از طریق index.php یا pay.php فراخونی کنم ؟
یعنی اون 100 تومن داخل verify.php بشه همون مقداری که کاربر توی index.php وارد میکنه ؟