نمونه کد استفاده از سرویس زرینک زرین پال نوشته شده به زبان PHP
<?php
$MerchantID = 'test'; //Required
$Amount = 1000; //Amount will be based on Toman - Required
$Description = 'توضیحات تراکنش تستی'; // Required
$Email = 'UserEmail@Mail.Com'; // Optional
$Mobile = '09123456789'; // Optional
$CallbackURL = 'http://www.yoursoteaddress.ir/verify.php'; // Required
$client = new SoapClient('https://www.zarinpal.com/pg/services/WebGate/wsdl', ['encoding' => 'UTF-8']);
$result = $client->PaymentRequest(
[
'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) {
echo'
<script type="text/javascript" src="https://cdn.zarinpal.com/zarinak/v1/checkout.js"></script>
<script>
Zarinak.setAuthority( ' . $result->Authority . ');
Zarinak.open();
</script>';
} else {
echo 'ERR: ' . $result->Status;
}
<?php
$MerchantID = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX';
$Amount = 1000; //Amount will be based on Toman
$Authority = $_GET['Authority'];
if ($_GET['Status'] == 'OK') {
$client = new SoapClient('https://www.zarinpal.com/pg/services/WebGate/wsdl', ['encoding' => 'UTF-8']);
$result = $client->PaymentVerification(
[
'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';
}
سلام با تشکر لطفا در مورد خطا های وب سرویس هم توضیحاتی تهیه کنید مثلا خطای ERR: -1
توضیحات در مورد خطاهای سرویس را می توانید در مستندات زرین پال مشاهده فرمایید
وقت بخیر
بعد از دریافت Authority دو تا مشکل وجود داره :
1- درخواست ارسالی منقضی شده است.
2- فرمی که یه صورت پاپ آپ بالا میاد خطا داره و نمیتونه لود بشه
لطفا این مشکل رو با ارسال تیکت پیگیری نمایید
سلام
من یه قالب وردپرس دارم که از ووکامرس پشتیبانی نمیکنه می خواستم بدونم چطور می تونم این قابلیت رو روی اون اضافخ کنم و از درگاه های شما استفاده کنم ممنون میشم اگر شما انجام میدین این رو با من در میان بگذارید.
با سلام
برای این مورد میتونید با برنامه نویس های وردپرس تماس حاصل کنید و یا برای اطلاعات بیشتر از طریق پنل کاربری تیکت ارسال فرمایید.
سلام در شرط
if ($result->Status == 100)
استاتوس به هیچ وجح 100 نمیشه یا -33 هست یا 101 مشکل از کجاس ؟
سلام
این کدهای خطا در مستندات زرین پال مشخص شده اند. 101 یعنی عملیات موفق بوده و قبلا وریفای شده است و -33 یعنی رقم پرداخت شده با رقم تراکنش مطابقت ندارد.
سلام دوباره جناب هر سری چه موفق باشه چه ناشه چ تکراری باشیه چه نه -33 برمیگردونه
سلام
مبلغ پرداختی باید با مبلغ ارسال شده به متد Verify مطابقت داشته باشد.
سلام ، من اینو پیاده کردم و کار میکنه و به درگاه متصل میشه …
ولی یه مشکل هست که وقتی قیمت کمتر از 10 هزار تومان وارد میکنم بعد از باز کردن لینک ، چاپ میکنه درخواست منتضی شده !
ولی وقتی خود 10000 و بالاتر از اون وارد میکنم به درگاه متصل میشه ..
مشکل از کجاست ؟ الان باید چیکار کنم ؟
سلام
باید کدها را به درستی تنظیم کرده باشید، از طریق تیکت اقدام کنید تا بررسی شود.
باسلام من میخوام توی لینک مثلا مینویسم
مبلغ=http://www.site.ir/file.php?Authority
بجای مبلغ هر مبلغی که خاستم بنویسم و توی درگاه بره و با همون قیمتی که بجای مبلغ مینویسم بنویسه
باید چیکار کنم؟ شما کدش رو ندارید؟
سلام
به این روش نمیتوانید. باید از نمونه کدها استفاده کنید و طبق مستندات فنی پیاده سازی کنید. میتوانید از یک برنامه نویس برای موردی که گفتید کمک بگیرید.
سلام خسته نباشید .من میتونم شماره مدرس رو داشته باشم سوال دارم ازشون در ویدیو اموزشی که گذاشتین
سلام
میتوانید از طریق تیکت سوال خود را مطرح نمایید.