PDA

View Full Version : سوال: استفاده از کد زرین پال برای پرداخت



moalla
سه شنبه 05 شهریور 1392, 19:00 عصر
دارم از زرین پال برای پرداختهای سایتم استفاده میکنم. سیستم پرداخت رو خودم باید برنامه نویسی کنم. کدی نمونه ای که اونها در اختیارم گذاشتن کدهای زیره:


<?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;
}
?>

مشکلی که الان من دارم اینه که نمیفهمم فرم Html رو چطوری باید طراحی کنم و با این کدها مرتبطش کنم.
من باید یه فرم html داشته باشم. چه متدی داشته باشه؟ اکشن فرم چی باشه؟ متغییرهای اول کد بالا رو چطوری با اجزای فرم مرتبطش کنم؟
ممنون میشم اگه یکی از دوستان phpکار یه نمونه فرم ساده رو با کدهای بالا ادغام کنن و کدش رو بنویسن

moalla
سه شنبه 05 شهریور 1392, 19:02 عصر
کدهای پست قبل برای صفحه پرداخت میشه.
همونطور که میبیند یه متغییر callbackurl داره که کدهاش رو باز میارم:


<?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
)
);

echo $result->Status; // Status of payment
echo $result->RefID; // RefID of Payment
} else {
echo 'Transaction canceled by user';
}


?>

moalla
پنج شنبه 07 شهریور 1392, 11:23 صبح
با این جواب تونستم درست کنم:
کدهای پست اول رو توی یه فایل با نام request.php ذخیره کردم
یه صفحه Html جدا ساختم و مقادیر رو از صفحه Html به صورت POST يا GET به صفحه request.php ارسال کردم.

فقط بایددقت بشه MerchantID خودتون که جدا از سایت زرین پال دریافت کردین ثبت بشه