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

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

آخرین بروزرسانی اردیبهشت 25, 1395.

کد نمونه استفاده از وب سرويس نوشته شده به زبان PHP که بر اساس ٢ کلاس SoapClient و Nusoap موجود در PHP عمل می نمايد.
جهت استفاده از اين نمونه کد اول تنها کافی است تا از نصب بودن Soap Extension بر روی سرور خود اطمينان حاصل نماييد. جهت راهنما می توانيد به اين قسمت مراجعه نماييد.
برای نمونه کد دوم نیازی به نصب بودن ماژول خاصی بر روی PHP نمی باشد.

کد نمونه شامل ٢ فايل می باشد که به سادگی قابل استفاده می باشند. توصيه می شود جهت استفاده از webservice ابتدا راهنمای استفاده از وب سرويس زرين پال را مطالعه نماييد.

 

نمونه ی کد ایجاد شناسه ی پرداخت و ارجاع کاربر به درگاه پرداخت زرین پال :


<?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.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) {
Header('Location: https://www.zarinpal.com/pg/StartPay/'.$result->Authority);
//برای استفاده از زرین گیت باید ادرس به صورت زیر تغییر کند:
//Header('Location: https://www.zarinpal.com/pg/StartPay/'.$result->Authority.'/ZarinGate');
} 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 'Transaction success. RefID:'.$result->RefID;
} else {
echo 'Transaction failed. Status:'.$result->Status;
}
} else {
echo 'Transaction canceled by user';
}

لینک دانلود دانلود نمونه کد Soap
لینک دانلود دانلود نمونه کد NuSoap
افزونه‌های مرتبط php زرین‌پال نمونه کد
(55,633 دانلود)
لینک اشتراک گذاری
نظرات
مهران - 1395/05/22 22:37

سلام من سایت خودم را با لاراول نوشتم و با درگاه زرین پال (با نمونه کد استفاده از وب سرویس نوشته شده به زبان PHP )به بانک متصل شدم بعد از خرید وجه به حسابم واریز می شود ولی نمی دونم چطوری کاربر را بعد از پرداخت به صفحه تایید پرداخت هدایت کنم تا شماره و تراکنش پرداخت که درگاه پرداخت میدهد از url گرفته و به کاربر نشون بدم همچنین تو پایگام ذخیره کنم ممنون میشم راهنمایم کنید.ینی بلد نیستم چطوری از نمونه کد تصدیق اصالت پس از پرداخت : استفاده کنم خیلی ممنون میشم راهنماییم کنید

میلاد شاهی - 1395/06/10 13:42

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

Diamond - 1395/05/28 09:31

سلام
اگه مثلا به $Mobile مقداری ارسال باشه که نامبریک نباشه مشکلی پیش میاد؟ یا مثلا اگه ایمیل وارد شده واقعا ایمیل نباشه.
اگه لطف کنید شرایت همه مقادیر ارسال شده رو هم بنویسید ممنون میشم

میلاد شاهی - 1395/06/10 13:11

با سلام،
لطفا فایل راهنمای استفاده از وب سرویس زرین پال را بخوانید. اگر موردی بود اعلام کنید.

محمد - 1395/06/15 02:33

سلام ، من نياز دارم براي سايت جوملايي و كامپوننت joombah درگاه پرداخت بنويسم ، فايل آموزشي در اين زمينه داريد ؟؟؟

عباس - 1396/05/25 10:07

سلام
میتوانید از نمونه کدهای موجود در آزمایشگاه استفاده کنید و همچنین مستندات را نیز مطالعه نمایید.

Ali - 1395/06/17 00:41

سلام نسخه انگلیسی پی دی اف راهنما ندارید ؟

میلاد شاهی - 1395/07/28 10:23

با سلام،
در حال حاضر فقط نسخه فارسی در دسترس می باشد.

با تشکر

سجاد - 1395/06/19 13:06

با سلام
سایت من با پی اچ پی طراحی شده اما من مرچنت کد شما رو وارد میکنم کاربر نمیتونه به درگاه پرداختتون وصل بشه کاش لااقل آموزشی رو در این مورد هم برای ما قرار میدادید و نه اینکه از آموزش های قدیمیتون
موفق باشید

میلاد شاهی - 1395/07/28 10:19

با سلام،
ویدئوی آموزشی تهیه شده است و نمونه کد هم قرارداده شده است. هم چنین کد نیز تست شد. چنانچه مشکلی برای سایت شما وجود دارد تیکت ارسال فرمایید تا کارشناسان ما بررسی کنند.

ستودگان - 1395/06/27 11:55

با سلام
به منظور پیشبرد سریعتر کار و رفع خطاها، بهتر است فایل راهنمایی تهیه کرده که در آن کد خطا و علت و یا توضیح آن خطا در آن ثبت شود، که با مراجعه به آن بتواند علت را جویا شد و نیاز به ارسال تیکت و پاسخ دهی نباشد. به عنوان مثال خطاهایی که در ابتدای اتصال به زرین پال ایجاد می شود و مربوط به کد خطای
$result->Status
می باشد.
با تشکر

عباس - 1396/05/17 17:47

سلام
کدهای خطا در فایلهای مستندات اتصال به درگاه و همچنین به صورت برنامه نویسی شده در برخی نمونه کدهای آزمایشگاه موجود است.

احسان جلائی - 1395/07/06 15:22

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

عباس - 1396/05/17 17:44

سلام، تشکر
این مورد به تیم طراحی ارجاع خواهد شد.

آرش آهمند - 1395/07/18 21:11

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

به نظرتون دلیلش چی میتونه باشه و تو این شرایط بهتره چیکار کنم

صفحه ای که برای نمونه قرار دادم : koliee.ir/index/pay.php
و صفحه ی سایتی که درست عمل می کنه : netwm.ir/login/pay.php

عباس - 1396/05/25 09:54

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

عالیشاه - 1395/07/30 22:38

مثالی از Nusoap در این صفحه نیست،”جهت راهنما می توانيد به اين قسمت مراجعه نماييد” که لینکی موجود نیست، بدنه تابع PaymentRequest به چه صورت می باشد؟!؟!؟!؟!؟!

عباس - 1396/05/17 17:42

نمونه کد Nusoap در انتهای مطلب در فایلهای پیوست موجود است.
در مورد PaymentRequest هم شما باید طبق کدها مقادیر لازم را ارسال کنید و خروجی $result->Authority را دریافت و لینک شروع پرداخت را بر اساس آن بسازید.

محمد حقیقت - 1395/08/11 11:29

با سلام و سپاس ، چطور میتونم در افزونه های جوملا از sandbox استفاده کنم لطفا کمی راهنمایی کنید…

میلاد شاهی - 1395/11/05 13:27

با سلام
بایستی داخل افزونه آدرس ها را تغییر دهید. راهنمای سند باکس به شرح ذیل تقدیم میگردد:
برای تست سرویس زرین پال می توانید از سند باکس زرین پال استفاده نمایید
نمونه کد های زبان php :
{کد}
https://www.zarinpal.com/lab/?p=32
{/کد}
مستندات فنی و راهنمای استفاده از وب سرويس زرين پال
{کد}
https://github.com/ZarinPal-Lab/Documentation-PaymentGateway/archive/master.zip

{/کد}

فقط توجه داشته باشید که در نمونه کد ها جهت استفاده از تست بجای ادرس های زیر :

{کد}
https://www.zarinpal.com/pg/services/WebGate/wsdl
https://www.zarinpal.com/pg/StartPay/
{/کد}
از این ادرس ها استفاده نمایید :
{کد}
https://sandbox.zarinpal.com/pg/services/WebGate/wsdl
https://sandbox.zarinpal.com/pg/StartPay/
{/کد}

زهره - 1395/08/18 14:21

با سلام
من در حال استفاده از درگاه پرداخت در برنامه اندروید هستم ولی با ارسال درخواست PaymentRequest
خطای زیر را دریافت میکنم لطفا راهنمایی فرمایید
: {“meta”:{“code”:404,”error_type”:”NotFound”,”error_message”:”404 NotFound.”}}

میلاد شاهی - 1395/11/05 14:39

با سلام
از طریق sdk دارین درخواست ارسال می کنین؟ جهت راهنمایی بیشتر تیکت ارسال فرمایید تا به تیم فنی متصل شوید.

علی - 1395/09/06 22:34

سلام خسته نباشید
من نمیتونم فایل های اسکریپت شمارو دانلود کنم با دانلود منیجر استفاده میکنم تا ۱ مگ دانلود میشه ولی دیگه دانلود از سر شروع میکنه اگه میشه فایل های اموزش و خود اسکریپت رو برام بفرستین . ممنون

عباس - 1396/05/17 17:37

سلام تشکر
مشکلی در لینکهای دانلود وجود ندارد، لطفا مجددا سعی کنید.

علی - 1395/09/06 22:45

با سلام خدمت شما

گزینه ای هست که بشه رو لوکال تست کرد ؟

میلاد شاهی - 1395/11/05 14:35

با سلام
برای تست سرویس زرین پال می توانید از سند باکس زرین پال استفاده نمایید
نمونه کد های زبان php :
{کد}
https://www.zarinpal.com/lab/?p=32
{/کد}
مستندات فنی و راهنمای استفاده از وب سرويس زرين پال
{کد}
https://github.com/ZarinPal-Lab/Documentation-PaymentGateway/archive/master.zip

{/کد}

فقط توجه داشته باشید که در نمونه کد ها جهت استفاده از تست بجای ادرس های زیر :

{کد}
https://www.zarinpal.com/pg/services/WebGate/wsdl
https://www.zarinpal.com/pg/StartPay/
{/کد}
از این ادرس ها استفاده نمایید :
{کد}
https://sandbox.zarinpal.com/pg/services/WebGate/wsdl
https://sandbox.zarinpal.com/pg/StartPay/
{/کد}

امیر حسین حبیبی - 1395/10/05 13:59

یک فانکشن آماده کردم برای دوستان توسعه دهنده که کد رو بدید ارور رو برگردونه

function get_error($id)
{
switch ($id) {
case ‘-1’:
return ‘اطلاعات ارسال شده ناقص است.’;
break;
case ‘-2’:
return ‘آی پی یا مرچنت کد پذیرنده صحیح نیست’;
break;
case ‘-3’:
return ‘با توجه به محدودیت های شاپرک امکان پرداخت با رقم درخواست شده میسر نمی باشد.’;
break;
case ‘-4’:
return ‘سطح تایید پذیرنده پایین تر از صطح نقره ای است.’;
break;
case ‘-11’:
return ‘درخواست مورد نظر یافت نشد.’;
break;
case ‘-12’:
return ‘امکان ویرایش درخواست میسر نمی باشد.’;
break;
case ‘-21’:
return ‘هیچ نوع عملیات مالی برای این تراکنش یافت نشد.’;
break;
case ‘-22’:
return ‘تراکنش نا موفق می باشد.’;
break;
case ‘-33’:
return ‘رقم تراکنش با رقم پرداخت شده مطابقت ندارد.’;
break;
case ‘-34’:
return ‘سقف تقسیم تراکنش از لحاظ تعداد با رقم عبور نموده است.’;
break;
case ‘-40’:
return ‘اجازه دسترسی به متد مربوطه وجود ندارد.’;
break;
case ‘-41’:
return ‘اطلاعات ارسال شده مربوط به AdditionalData غیر معتر می باشد.’;
break;
case ‘-42’:
return ‘مدت زمان معتبر طول عمر شناسه پرداخت بین 30 دقیقه تا 40 روز می باشد.’;
break;
case ‘-54’:
return ‘درخواست مورد نظر آرشیو شده است.’;
break;
case ‘100’:
return ‘عملیات با موفقیت انجام گردیده است.’;
break;
case ‘101’:
return ‘عملیات پرداخت موفق بوده و قبلا Payment Verification تراکنش انجام شده است’;
break;
default:
return $id;
break;
}
}

میلاد شاهی - 1395/11/05 15:31

با سلام
ضمن تشکر از شما که وقت گذاشتین نظر شما برای استفاده دیگر کاربران منتشر شد.

مصطفی - 1395/10/14 19:46

سلام. من این کد ها رو تست کردم اصلا صفحه request اجرا نمیشه و خروجی نداره (ضمنا هم نمایش خطا ها رو فعال کردم و هم از کنترل اکسپشن و خطا استفاده کردم) و هیچ خطایی هم نشون نمیده
نسخه php من 5.3 است
وجود soapclient هم چک کردم و بر روی هاست نصبه

میلاد شاهی - 1395/11/06 11:31

با سلام
نسخه 5.3 php پشتیبانی نمی شود. لطفا نسخه php خودتون رو به روز کنید و سپس دوباره تلاش کنید. چنانچه مشکل شما هم چنان حل نشد از طریق پنل کاربری تیکت ارسال فرمایید تا کارشناسان فنی بررسی نمایند.
شایان ذکر است برای مشاهده اطلاعات بیشتر در رابطه با پشتیبانی نسخه php میتوانید به صفحه زیر مراجعه کنید:
http://php.net/supported-versions.php

مصطفی - 1395/10/14 21:32

مشکل من با ارتقاء نسخه php به 5.5 رفع شد

محمد - 1395/11/02 09:59

سلام
لطفا پرداخت به کمک CURL رو هم اضافه کنید

عباس - 1396/05/17 17:36

سلام
این مورد به تیم فنی ارجاع خواهد شد.

محمد زارع - 1395/11/05 13:34

با سلام
من فایل راهنمای ارتباط با درگاه را خواندم ولی سوالم این است آیا برای ارتباط میتوانم از curl بجای soapClient استفاده کنم یا خیر؟؟؟

میلاد شاهی - 1395/11/05 19:02

با سلام
بله این امکان وجود دارد و می توانید از CURL استفاده کنید.

amir hoossein arabi - 1395/11/13 21:22

سلام من وقتی که میخام یه تراکنش رو چک کنم ببینم پرداخت شده یا نه کد -11 میده اما با توجه به داکیومنتی که واسه اموزش گذاشتی همه ورودی ها کامله
اگه تو تلگرام پشتیبانی دارید بدید اینجا نمیشه عکس اپلود کنم

عباس - 1396/05/14 01:41

سلام
این خطا نشان میدهد که شماره درخواست موردنظر نامعتبر است و احتمالا شماره تراکنش نامعتبر را ارسال می کنید.
برای راهنمایی بیشتر میتوانید تیکت بزنید.

امینی - 1395/11/20 19:09

سلام
این امکان وجود داره که مستقیم با url و بدون متد POST بتونم Authority بگیرم؟

عباس - 1396/05/14 01:36

سلام
خیر این امکان وجود ندارد

امینی - 1395/11/20 19:09

سلام
این امکان وجود داره که مستقیم با url و بدون متد POST یا مثلا با GET بتونم Authority بگیرم؟

عباس - 1396/05/14 01:36

سلام
خیر این امکان وجود ندارد

احسان - 1395/12/06 00:09

سلام
معمولا درگاه ها قبل از اتصال به درگاه یک شماره فاکتور تو ورودی وب سرویس میگیرند که و بعد از پرداخت همون شماره فاکتور را بازگشت می دهند تا تراکنش قابل شناسایی بشه
تو زرین پال ارسال شماره فاکتور به چه صورته؟

عباس - 1396/05/14 01:23

سلام
برای بررسی تراکنش از Authority استفاده میشود که موقع درخواست پرداخت از خروجی متد PaymentRequest دریافت میشود، و بعد از پرداخت هم به صورت Get در url برگشت داده میشود.

رضا احمدی - 1395/12/07 15:21

سلام خسته نباشید
من می خوام انتقال بدم اطلاعات رو به زرین پال خطای زیر رو میده
Fatal error: Uncaught Error: Class ‘SoapClient’ not found in C:\xampp\htdocs\wp-content\themes\istatik\request.php:11 Stack trace: #0 {main} thrown in C:\xampp\htdocs\wp-content\themes\istatik\request.php on line 11

و این
The test.istatikco.com page isn’t working

test.istatikco.com is currently unable to handle this request.
HTTP ERROR 500

عباس - 1396/05/17 17:35

سلام
احتمالا کلاسهای مربوط به Soap در سرور هاست شما فعال نیستند، به پشتیبانی هاست خودتون تیکت بزنید تا مشکل را رفع کنند.
خطای دوم هم مربوط به لینک سایتی است که از دسترس خارج است.

میلاد - 1395/12/16 13:24

با سلام
بنده از کد ایجاد شناسه ی پرداخت و ارجاع کاربر به درگاه پرداخت زرین پال استفاده کردم و مشکلی نبود و کاربر به صفحه پرداخت فرستاده شد. ولی متاسفانه نمی دونم از کجا و چگونه باید از کد اصالت استفاده کنم و چگونه و چه اطلاعاتی را در دیتابیس ذخیره کنم؟
کد ها شی گرا می باشد ولی من فقط با php عادی کار میکنم.
لطفاً بنده را راهنمایی کنید.

عباس - 1396/05/14 12:27

سلام
برای بررسی تراکنش باید حداقل Authority را در هنگام ثبت فاکتور در دیتابیس ذخیره کنید تا در موقع برگشت از درگاه پرداخت و تایید تراکنش بتوانید آن را بررسی کنید.

محمد - 1395/12/16 14:09

سلام من فرمی طراحی کردم که کاربر حق انتخاب مبلغ داشته باشه و مبالغ چند گزینه است
در فایل Rquest و verify چگونه تنظیم کنم که کاربر هر مبلغی را انتخاب کند با همان مبلغ پرداخت انجام شود
ممنون

عباس - 1396/05/14 01:03

سلام
برای اینکار باید مبلغ مربوط به هر گزینه را در هنگام درخواست پرداخت(request) به متد PaymentRequest ارسال کنید و در هنگام تایید پرداخت هم مبلغ را از دیتابیس یا session کنترل کنید. پیشنهاد میکنم در این مورد با یک برنامه نویس مشورت کنید.

مجتبی - 1396/01/17 21:33

سلام

واقعای جای نمونه کد برای فریمورک لاراول کم هست در آزمایشگاه زرین پال

برای لاراول از چه کدی استفاده کنم؟

عباس - 1396/05/19 08:09

سلام این مورد به تیم فنی ارجاع داده خواهد شد.

شایگان شکرالهی - 1396/02/03 14:29

سلام
اگر بخوایم نام کاربر رو بگیریم باید چی کار کنیم ؟
ممنون

عباس - 1396/05/17 17:33

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

حامد محمدی - 1396/02/18 15:20

خیلی ممنون از ماژول خوبتون، من از این کد ها برای اتصال ربات تلگرام به زرین پال استفاده کردم.
عالی بود

عباس - 1396/05/17 17:33

خواهش میکنم، هدف رضایت کاربران زرین پال است.
موفق باشید

masud - 1396/03/04 20:30

سلام درمورد زرین گیت هم توضیح بدید

عباس - 1396/05/14 11:42

در زمان استفاده از درگاه وب گیت (درگاه عادی) کاربر پس از کلیک بر روی دکمه پرداخت در سایت شما ابتدا وارد یک صفحه واسط در سایت زرین‌پال شده و جزییات تراکنش خود را مشاهده می‌کند و پس از کلیک روی دکمه پرداخت وارد سایت بانک شده و ادامه‌ی مراحل پرداخت دنبال می‌شود. در درگاه زرین گیت (درگاه مستقیم) صفحه واسط زرین‌پال حذف‌شده و کاربر پس از کلیک روی دکمه پرداخت در سایت شما مستقیماً وارد درگاه بانکی می‌شود،که زرین گیت را باید قبلا در پنل کاربری خودتان در زرین پال فعال کنید.

کیوان صمدی - 1396/03/06 17:36

با سلام خدمت شما
آیا در صورت پرداخت کاربر حالا به هر دلیلی میشه پول دوباره به کاربر پس داده شود؟

عباس - 1396/05/14 11:41

سلام
خیر بعد از تایید پرداخت، مبلغ از حساب خریدار کم میشود. برای موارد بعدی باید مستقل و از طریق ارتباط با خریدار اقدام نمایید.

ایمان - 1396/03/07 11:00

سلام، چطور می توانیم از واحد پولی ریال استفاده کنیم ؟
بسیار از مخاطبین مشکل در تومان دارن …

عباس - 1396/05/17 17:31

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

محمدرضا ابراهیمی - 1396/03/10 00:16

سلام و عرض ادب
ببخشید برای اجرای این درگاه روی لوکال شما مرچنت آی دی تست ندارید؟؟؟

عباس - 1396/05/14 00:27

سلام
خیر چنین امکانی از نظر فنی وجود ندارد.

کاظم - 1396/03/19 18:33

سلام.
شما اصلا هیچ امکان پرداختی برای برنامه های اندروید که از طریق api به سرور متصل هستن فراهم نکردید !!!!
الان من یک برنامه تست api دارم. نمیتونم از کتابخونه اندروید استفاده کنم چرا که اطلاعات باید داخل سرور ذخیره بشه و انتقال اطلاعات از اندروید به سرور یک کاری اشتباه است چرا که امنیت بی معنی میشه.
و همچنین امکان استفاده از webView هم ندارید. از custom tab هم استفاده کردم ولی اصلا قابل قبول نیست چرا که پس از پرداخت نمیتوان به برنامه بازگشت !!!!

عباس - 1396/05/17 17:26

سلام
یک نمونه کد برای پرداخت درون برنامه ای اندروید در آزمایشگاه موجود است، اما باز هم مواردی که فرمودید به تیم ارجاع داده خواهد شد.

حسین - 1396/03/29 22:11

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

عباس - 1396/05/17 17:23

سلام
این مورد جهت بررسی به تیم آزمایشگاه زرین پال ارجاع خواهد شد.

با سلام - 1396/04/08 14:37

ببخشید من نمی تونم با کد در لاراول متصل شم

فانوس تم - 1396/04/16 20:28

سلام
من برای تست طبق فایل ویدئو تغییرات رو اعمال کردم
ولی زمان اجرا request صفحه سفید میاد بدون هیچ پیغامی
error_log رو هم بررسی کردم پیغام
PHP Fatal error: Uncaught Error: Call to undefined function execute() in /home/iranb/public_html/zarinpal/request.php:25
میاد.
پیغام از execute هست !
میشِ راهنمایی کنین
ممنون

عباس - 1396/05/17 17:19

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

سعید - 1396/04/24 11:30

سلام خسته نباشید
من کد مرچنت رو دریافت کردم ولی نمیدونم چطور درگاه پرداخت زرین پال رو داخل سایت بزارم
میشه راهنماییم کنید؟

عباس - 1396/05/17 17:17

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

اکبری - 1396/05/22 21:53

سلام . $result->Status مقدار 100 را بر میگرداند ولی
Header(‘Location: https://www.zarinpal.com/pg/StartPay/‘.$result->Authority);
کار نمیکند و به صفحه پرداخت نمی رود . ممنون میشوم راهنمایی کنید .

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

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

reza - 1396/06/13 19:55

سلام پرداخت با موفقیت انجام میشه و از حساب کسر شده ولی err -1 میده .

عباس - 1396/06/15 18:27

سلام
مشکل خود را با جزئیات از طریق تیکت پیگیری نمایید.

علی - 1396/06/29 11:59

سلام و خسته نباشید ،
ارور = -1 به چه معناست ؟؟؟

عباس - 1396/06/29 18:37

سلام
یعنی اطلاعات ارسال شده ناقص است. لیست خطاها در مستندات فنی موجود است(از منوی بالای آزمایشگاه > بیشتر > دانلود مستندات راهنما).

پرهام - 1396/06/30 14:50

خود کلاسش کجاست؟
لینک کلاسش رو هم قرار بدید

عباس - 1396/06/31 12:17

این موارد باید در php شما در هاست نصب و فعال باشند.

مهرداد - 1396/07/08 11:47

چطور میشه شناسه پرداخت صادر شده رو نامعتبر کرد تا در صورتی که کاربر اگر در صفحه پرداخت باشه, حتی بعد از تکمیل اطلاعاتش نتونه پرداخت رو انجام بده و با خطا مواجه بشه؟

عباس - 1396/07/11 12:05

چنین امکانی وجود ندارد و تنها بعد از گذشت محدوده زمانی مهلت انجام تراکنش، این شناسه امکان پرداخت نخواهد داشت.

محمدرضا - 1396/07/15 14:38

سلام وقت بخیر
برای تست و develop کردن برنامم نمیشه صفر تومن بزارم مبلغ رو تا فقط تست کنم ؟
الان برای اینکه ببینم برنامم درسته هر دفعه باید خرید کنم ؟

عباس - 1396/07/15 17:14

سلام
میتونید از sandbox زرین پال استفاده کنید که نیازی به پرداخت ندارد.

مهدی شکرالهی - 1396/07/22 22:06

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

عباس - 1396/07/26 11:00

سلام
میتوانید با استفاده از نمونه کدها و مستندات موجود در آزمایشگاه زرین پال، افزونه پرداخت را به آن اضافه کنید.

مهدی شکرالهی - 1396/07/22 22:07

میشه اسکریپتم رو بهتون بدم برام اصلاحش کنید ؟

عباس - 1396/07/26 10:49

در صورتیکه افزونه موردنظر در آزمایشگاه زرین پال موجود نباشید خیر متاسفانه این امکان وجود ندارد.

علی - 1396/08/03 00:03

home/asalmasal/public_html/modules/zarinpalzg/zarinpalzg.php on line 9
من پایان خرید این خطا رو میبینم از چیه

عباس - 1396/08/04 19:39

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

majid - 1396/08/15 00:14

سلام….
چرا نحوه استفاده nusoap رو توضیح ندادید……
من این فایل رو دانلود کردم فقط نمیدونم کدوم فایل رو بلید انکاود کنم

عباس - 1396/08/15 01:21

سلام در صورتیکه از نمونه کدهای nusoap استفاده میکنید، باید nusoap.php را استفاده کنید.

طراحی سایت - 1396/08/24 18:14

خیلی عالیه که همه کد هایی که قرار دادین آموزش تصویری داره

اگر برای اسکریپتی طراحی انجام دادیم حتما در اختیارتون قرار میدیم.

عباس - 1396/09/01 14:38

تشکر

عباس - 1396/08/30 12:54

سلام. کد ۱۱- دقیقا برا جی هست؟ من رو لوکال تراکنش رو انجام میدم پول به حسابم‌میره ولی این اررور رو چاپ میکنه

عباس - 1396/09/01 14:34

سلام
توضیح کدهای خطا در مستندات فنی موجود است. این خطا به این معنی است که درخواست موردنظر یافت نشد. احتمالا در صفحه برگشت اطلاعات صحیح را به متد verify ارسال نمیکنید.

نیما - 1396/09/10 01:53

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

هرچی نمونه کد دارید و اصلاحیه لطفا در پاسخ بنویسید

عباس - 1396/09/10 22:50

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

مسعود - 1396/09/29 12:27

سلام
من از همین نمونه کد که قرار دادید استفاده می کنم. در ابتدا به دلیل اینکه بعضی کاربران www اول را وارد می کنند و بعضی ها وارد نمی کنند، آدرس فایل برگشت verify به مشکلی برمیخورد و خطا می داد.
این مشکل را با ریدایرکت کردن سایت به آدرس با www در سی پنل هاستم حل کردم و مشکل تا حد بسیار زیادی حل شد.
اما هنوز موارد انگشت شماری مشاهده می شود که پس از برگشت به سایت، کاربر با خطا مواجه می شود و اطلاعات شخص در سایت ما ثبت نمی شود.
مشکل چیست؟
ممنون میشم راهنمایی فرمایید

عباس - 1396/09/30 12:00

سلام
بله باید اصلاح آدرس www انجام شود.
در خصوص خطا، از طریق تیکت ارسال کنید تا بررسی شود.

طراحی سایت - 1396/10/06 12:50

بسیار عالی بود، ممنون و متشکر

محمد حسین - 1396/10/06 19:03

سلام
برای قرار دادن نام سایت خودم تو زرین گیت چه کاری باید انجام بدم؟

عباس - 1396/10/07 19:04

سلام

برای فعال کردن زرین گیت، باید از پنل زرین پال بخش درگاههای پرداخت اقدام کنید.

علی - 1396/10/07 10:33

سلام خسته نباشید من درگاه درست بود بعد مدستی این پیام داد مشکل از کد های منه یا سرور شما
Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL:

عباس - 1396/10/07 19:02

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

صهیب حاجی عزیزی - 1396/10/11 18:27

با سلام
من یک افزونه دارم که میخوام کد php رو به برگه مربوط به پرداخت در داخل افزونه اضافه کنم
من صفحه پرداخت رو در داخل خود افزونه درست کردم و میخوام این کدها رو به صفحه اضافه کنم اگه راهنمایی کنید ممنون میشم

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

سلام
باید از افزونه ها و نمونه کدهای موجود در آزمایشگاه استفاده نمایید، و یا از یک برنامه نویس کمک بگیرید.

امیرحسین آقاجانی - 1396/10/13 13:56

سلام من میخوام یه تکس باکس داشته باشم که کاربر مبلغ رو وارد کنه،
دکمه پرداخت رو که زد وارد صفحه پرداخت بشه!
باید از چه کدی استفاده کنم؟
با تشکر

عباس - 1396/11/02 12:29

سلام
میتوانید از همین نمونه کد استفاده کنید.
یا اینکه از اسکریپت فرم ساز PHP موجود در آزمایشگاه استفاده کنید.

Ramin - 1396/10/30 12:02

سلام روز بخیر
file_get_contents(‘Authority’);
من میخوام تو لاراول زرین پال رو استفاده کنم ولی اررور میده و این کد رو نمیشناسه

عباس - 1396/11/02 12:19

سلام
نمونه کد و وابستگی Composer مربوط به لاراول در آزمایشگاه موجود است و میتوانید از آن استفاده کنید.

مهدی طالبی - 1396/11/19 23:09

سلام خسته نباشید.وقتی درگاه را به وبلاگم متصل کردم،بعد از پرداخت کاربر چگونه می تواند فایل را در یافت کند؟

عباس - 1396/11/23 17:40

سلام
برای پیاده سازی درگاه و فروش فایل باید از یک برنامه نویس کمک بگیرید یا از افزونه های آماده وردپرس مانند EDD استفاده کنید.
در صورتیکه درگاه ندارید، میتوانید در زرین لینک، لینک پرداخت موفق را به فایل موردنظر اختصاص دهید تا بعد از پرداخت موفق، فایل را دانلود کنند.

صالح - 1396/12/13 22:19

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

عباس - 1396/12/21 11:19

سلام
برای ربات تلگرام در صورت برنامه نویسی با php میتوانید از همین نمونه کدها و مستندات فنی استفاده کنید، البته برای برنامه نویسی ربات یا باید خودتان توانایی داشته باشید یا از یک برنامه نویس کمک بگیرید. از گیت هاب زرین پال نیز میتوانید نمونه کدهای مختلف را استفاده کنید.

omid - 1396/12/16 12:31

من وقتی میخوام به درگاه وصل بشم این ایرور میده
SOAP-ERROR: Parsing WSDL: Couldn’t load from ‘https://de.zarinpal.com/pg/services/WebGate/wsdl’ : failed to load external entity “https://de.zarinpal.com/pg/services/WebGate/wsdl”
در ضمن من MerchantIDرو ندارم دارم مشکل از چی هست

عباس - 1396/12/21 11:14

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

احسان - 1396/12/25 01:38

سلام
سرویسی هست که من درگاه ایجاد شده با فایل request رو منقضی کنم ؟
منظورم اینه که وقتی کاربر تو برنامه من روی لغو پرداخت کلیک کرد من Authority ایجاد شده رو منقضی کنم که دیگه نتونه بعد از لغو داخل برنامه پرداخت رو ادامه بده

عباس - 1397/03/31 19:15

سلام
خیر زمان انقضای هر کد authority مشخص است و امکان لغو ندارد.

بهمنیان - 1397/01/16 11:23

سلام
چطور میشه متغیر مبلغ رو بصورت داینامیک ارسال کرد؟

عباس - 1397/01/26 12:13

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

محمد مهدی - 1397/02/02 00:16

سلام.کاربرانی که از طریق ussd پرداخت میکنند ، برخی بدون توجه به موارد گفته شده در صفحه فاکتور که باید به سایت برگردند ابتدا صفحه فاکتور رو میبندند و سپس پرداخت ussd انجام میدهند در این صورت پرداختشون انجام میشه اما کاربر به سایت ارجاع داده نمیشه ، آیا راهی هست که بشه به صورت اتومات تراکنش های این چنینی بررسی و اعتبار سنجی و وریفای بشه؟

عباس - 1397/02/03 18:52

سلام
در این صورت میتوانید سیستم پرداخت را در سایت خود به گونه ای پیاده سازی کنید که تراکنشهای نامشخص را برای مثال در پایان 15 دقیقه چک و وریفای کند.

بکاپ تلگرام - 1397/02/10 14:51

ممنون از تمام راهنمایی ها! طبق معمول زرین پال بهتر از بقیه… ♥

پریا تقیون - 1397/03/01 09:15

سلام
من می خوام در آخر اطلاعات رو به صورت پست شده بگیرم
این امکان وجود دارد که اطلاعات پست شوند و با متد get ارسال نشوند؟

عباس - 1397/03/01 16:11

سلام
اگر منظورتان در بازگشت از پرداخت است، خیر این امکان نیست. اما باید بعد از دریافت Authority ، با متد PaymentVerification صحت تراکنش را بررسی کنید.

Ali - 1397/03/11 11:00

سلام چجوری میشه بر اساس چیزی که کاربر میخره محتویات صفحه verity.php تغییر کنه ؟

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

سلام
در وریفای فقط باید مبلغ و مرچنت کد را برای مثال از دیتابیس بگیرید و به همراه اتوریتی به متد وریفای ارسال کنید تا صحت تراکنش را بررسی نمایید.
در این مورد میتوانید از یک برنامه نویس کمک بگیرید.

احسان مرادی - 1397/03/11 20:54

سلام
میخام چیزای دیگه ای هم باهاش بفرستم
مثل اسم پکیجی که خریداری کرده از این درگاه
تو آرایه payment request که گذاشتمش ارور داد
😀 چی کار کنم به نظرتون ؟

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

سلام
میتوانید به صورت کوئری استرینگ به لینک callback اضافه کنید.

یوسف شیخه - 1397/03/31 16:03

با سلام و خسته نباشید
وقتی محصولی رو از سایتم میخوام بخرم توی مرحله آخر قبل از اینکه به صفحه پرداخت بانک بره پیغام خطای زیر رو میده:
SOAP-ERROR: Parsing WSDL: Couldn’t load from ‘https://www.zarinpal.com/pg/services/WebGate/wsdl’ : Document is empty
لطفا راهنمایی بفرمایین باید چی کار کنم؟

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

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

رسول - 1397/04/04 17:59

سلام من php ژیاد یاد ندارم یه سوال داشتم من الان فایل registr.php رو روی سرور خودم قرار دادم و درست کار میکنه الان من میخوام مستقیم به صفحه برداخت بره که مستقیم کاربر شماره کارت و مشخصاتو وارد کنه و دیگه وارد قسمت خود سایت زرین بال نشه همچین امکانی وجود داره یا خیر

عباس - 1397/04/05 12:01

سلام
برای این مورد باید زرین گیت را از پنل زرین پال برای درگاه پرداخت خود فعال کنید و سپس لینک پرداخت را به زرین گیت تبدیل کنید(با اضافه کردن /ZarinGate به انتهای لینک پرداخت )

rasool - 1397/04/04 18:50

نمونه کدی میخوام که مستقیما به صفحه \رداخت بره همچین کدی موجود هست؟

عباس - 1397/04/05 11:59

باید طبق نمونه کدها برنامه نویسی کنید.

شاهرخ - 1397/04/05 08:30

سلام، من از کتابخانه ksoap میخوام در پروژه اندروید استفاده کنم ولی وقتی که لینک wsdl رو با سایت soapclient.com بررسی میکنم و مقادیر رو وارد میکنم مقدار برگشتی همیشه منفی 1 میشه در صورتی که وقتی که با کتابخانه خود شما توی اپ تست میکنم مشکلی نداره. لطفا راهنمایی کنید که چطوری میتونم فقط از wsdl استفاده کنم؟!

عباس - 1397/04/05 12:02

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

حمیدرضا - 1397/05/11 08:19

سلام کد مربوط در فریم ورک لاراول برایم بفرستید

عباس - 1397/06/04 00:04

سلام
نمونه کدهای لاراول

سیناراد - 1397/05/16 19:45

سلام مرسی کد های شما رو روی دو سرور با پنل ها و سیستم عامل های ویندوز – لینوکس CentOs چک کردم و کاملا صحیح کار میکنه

فقط خواستم تشکر کنم ممنون .

asghar - 1397/05/17 21:47

آقا سلام میگم

نمیشه یه کاری کرد با درگاه بصورت تستی کار کرد مثلا سایت pay.ir به کاربر این اجازه رو میداد مثلا به جای xxxx ها مینوشتی test ، اون موقع میشد کار تست را انجام داد
$MerchantID = ‘XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX’;

میگم راهی وجود نداره ما تست کنیم ، ممنون میشم جواب بدید

عباس - 1397/06/04 00:15

سلام
میتواند از سندباکس استفاده نمایید.

آرتین - 1397/05/26 16:20

ببخشید این مرچنت آیدی merchant id چیه ؟

عباس - 1397/05/28 20:38

کد درگاه پرداختی است که به سایت شما اختصاص داده میشود.

علیرضا - 1397/06/21 14:12

من میخوام وقتی دارم اطلاعات ارسال میکنم یک description ارسال کنم و موقع برگشت همون DESCRIPTION رو دریافت کنم.امکانش هست؟

عباس - 1397/06/21 17:04

میتوانید به صورت کوئری استرینگ به لینک کالبک اضافه کنید. برای مثل به این صورت:
verify.php?id=1&desc=2

رضا - 1397/07/07 13:40

سلام وقت بخیر برای تست روی لوکال MerchantID رو چی بذارم؟؟؟ امکان تست روی لوکال رو داره؟

عباس - 1397/07/07 18:41

سلام تشکر
میتوانید از سندباکس استفاده کنید و برای مرچنت کد 00 قرار دهید.

سینا - 1397/07/11 20:18

سلام ببخشید میخواستم ببینم با زرین پال میشه یک سبد خرید درست کرد مثلا کاربر وارد سایت فروشگاهی میشه بعد دو تا کالا با قیمت های 1000 تومن و 2000 تومن خرید میکنه و وارد سبد کالاش میکنه و جمع کل این دوتا محصول میشه 3000 تومان ایا قابل پرداخت با زرین پال هست یا نه؟

عباس - 1397/07/16 15:04

سلام
درصورتیکه میخواهید برنامه نویسی کنید، میتوانید این موضوع را در سایت خود پیاده سازی کنید و این موضوع به نوع پیاده سازی شما بستگی دارد.
اما اگر میخواهید سایتی راه اندازی کنید، میتوانید با وردپرس و برای مثال با افزونه ووکامرس این فروشگاه را ایجاد کنید که نیازی به برنامه نویسی ندارد و محصولات و سبدخرید هم دارد.

رزرو بلیط اتوبوس - 1397/07/14 10:06

سلام
برای جوملا چه طور میشه از این کد استفاده کرد- چه طور میتونم برای سایت جوملا درگاه پرداخت بنویسم؟
ممنون

عباس - 1397/07/16 14:53

سلام
برای جوملا ماژولهای دیگری هم در آزمایشگاه وجود دارد. اگر خوتان هم میخواهید پیاده سازی کنید باید با نمونه کدها و مستندات برنامه نویسی کنید.

saeid - 1397/07/27 21:11

با سلام و احترام میخواستم محتویات مثلا پست های یک سایت رو در یک صفحه اچ تی ایمل نشون بدم چه طوری میتونم این کارو بکنم

عباس - 1397/07/29 15:13

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

علی - 1397/09/13 13:33

سلام من سایت خودم را با html ساختم برای اتصال به درگاه پرداخت این کد ها را کجا باید وارد کنم؟

عباس - 1397/09/14 15:07

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

حقیقت - 1397/10/01 17:33

سلام
در صورت امکان در مقادیر برگشتی به سایت، شماره ماسکِ شده کارت پرداخت کننده که از PSP برگشت داده میشه را نیز قرار بدید تا امنیت پرداخت‌ها بالاتر بره

عباس - 1397/10/03 12:21

سلام

میتوانید در API به جای متد PaymentVerification از متد PaymentVerificationWithExtra استفاده کنید
هش کارت به صورت SHA256 و شماره کارت به صورت Mask بهتون برگشت داده میشود.

اگر با کارت پرداخت شود، اطلاعاتی که ذکر شد در فیلد ExtraDetail به صورت جیسون برگشت داده میشوند.

برای مثال خروجی به شکل زیر است.
{“Transaction”:{“CardPanHash”:”508SD8FDF8DSFDJFSKLDFJJSDJ88DF8CF”,”CardPanMask”:”603799******7300″}

لینک دانلود مستندات فنی اتصال به وب سرویس زرین پال :
https://github.com/SamanSystems/Zarinpal-Gateway-Documentation/archive/master.zip

الهام - 1397/10/03 19:27

سلام و عرض ادب…
ببخشید برای اجرای این درگاه روی لوکال شما مرچنت آی دی تست ندارید؟

عباس - 1397/10/03 23:18

سلام
میتوانید از سندباکس استفاده کنید.

قاسمی - 1397/10/13 15:14

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

عباس - 1397/10/13 17:22

سلام
باید از پنل زرین پال، برای درگاه خود زرین گیت را فعال کنید و سپس از افزونه های نسخه زرین گیت استفاده کنید یا در کدنویسی به انتهای لینک پرداخت، ZarinGate/ را اضافه کنید.

ارسال نظر