دسته بندی : نمونه کد ها | نمونه کد استفاده از سرویس زرینک نوشته شده به زبان PHP

نمونه کد استفاده از سرویس زرینک نوشته شده به زبان PHP

آخرین بروزرسانی مهر 6, 1395.

نمونه کد استفاده از سرویس زرینک زرین پال نوشته شده به زبان 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';
}

(7,725 دانلود)
لینک اشتراک گذاری
نظرات
وحید - 1395/07/24 22:18

سلام با تشکر لطفا در مورد خطا های وب سرویس هم توضیحاتی تهیه کنید مثلا خطای ERR: -1

علیرضا یوسفی - 1395/07/25 11:32

توضیحات در مورد خطاهای سرویس را می توانید در مستندات زرین پال مشاهده فرمایید

سیدمحمد - 1395/08/06 14:27

وقت بخیر
بعد از دریافت Authority دو تا مشکل وجود داره :
1- درخواست ارسالی منقضی شده است.
2- فرمی که یه صورت پاپ آپ بالا میاد خطا داره و نمیتونه لود بشه

مسعود امینی - 1395/08/10 11:51

لطفا این مشکل رو با ارسال تیکت پیگیری نمایید

آرش - 1395/10/30 22:56

سلام
من یه قالب وردپرس دارم که از ووکامرس پشتیبانی نمیکنه می خواستم بدونم چطور می تونم این قابلیت رو روی اون اضافخ کنم و از درگاه های شما استفاده کنم ممنون میشم اگر شما انجام میدین این رو با من در میان بگذارید.

میلاد شاهی - 1395/11/05 18:58

با سلام
برای این مورد میتونید با برنامه نویس های وردپرس تماس حاصل کنید و یا برای اطلاعات بیشتر از طریق پنل کاربری تیکت ارسال فرمایید.

alireza - 1396/05/21 17:46

سلام در شرط
if ($result->Status == 100)
استاتوس به هیچ وجح 100 نمیشه یا -33 هست یا 101 مشکل از کجاس ؟

عباس - 1396/05/22 09:29

سلام
این کدهای خطا در مستندات زرین پال مشخص شده اند. 101 یعنی عملیات موفق بوده و قبلا وریفای شده است و -33 یعنی رقم پرداخت شده با رقم تراکنش مطابقت ندارد.

alireza - 1396/05/24 19:48

سلام دوباره جناب هر سری چه موفق باشه چه ناشه چ تکراری باشیه چه نه -33 برمیگردونه

عباس - 1396/10/12 13:20

سلام
مبلغ پرداختی باید با مبلغ ارسال شده به متد Verify مطابقت داشته باشد.

جواد - 1396/09/19 16:50

سلام ، من اینو پیاده کردم و کار میکنه و به درگاه متصل میشه …
ولی یه مشکل هست که وقتی قیمت کمتر از 10 هزار تومان وارد میکنم بعد از باز کردن لینک ، چاپ میکنه درخواست منتضی شده !
ولی وقتی خود 10000 و بالاتر از اون وارد میکنم به درگاه متصل میشه ..
مشکل از کجاست ؟ الان باید چیکار کنم ؟

عباس - 1396/10/12 13:08

سلام
باید کدها را به درستی تنظیم کرده باشید، از طریق تیکت اقدام کنید تا بررسی شود.

سید کاظم - 1397/03/12 21:53

باسلام من میخوام توی لینک مثلا مینویسم
مبلغ=http://www.site.ir/file.php?Authority
بجای مبلغ هر مبلغی که خاستم بنویسم و توی درگاه بره و با همون قیمتی که بجای مبلغ مینویسم بنویسه
باید چیکار کنم؟ شما کدش رو ندارید؟

عباس - 1397/03/31 18:20

سلام
به این روش نمیتوانید. باید از نمونه کدها استفاده کنید و طبق مستندات فنی پیاده سازی کنید. میتوانید از یک برنامه نویس برای موردی که گفتید کمک بگیرید.

ali - 1397/03/29 20:36

سلام خسته نباشید .من میتونم شماره مدرس رو داشته باشم سوال دارم ازشون در ویدیو اموزشی که گذاشتین

عباس - 1397/03/30 19:30

سلام
میتوانید از طریق تیکت سوال خود را مطرح نمایید.

ارسال نظر