PDA

View Full Version : راه اندازی سیستم زرین پال



speeed
شنبه 29 بهمن 1390, 13:52 عصر
سلام
دوستان من یه سیستم دارم که در مرحله اول ایمیل و شماره موبایل را وارد میکنه
در مرحله دوم نوع شارژ را انتخاب میکنه مثلا 1000 تومنی و در مرحله بانک رو انتخاب میکنه.
حالا یه سوال من از زرین پال سه تا فایل دانلود کردم که میزارم اینجا میشه راهنمایی کنید که چطوری هست قضیه اش چیه
این فایل request.php

<?php

$merchantID = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX';
$amount = 1000; //Amount will be based on Toman
$callBackUrl = 'http://www.2ir.com/verify.php';

$client = new SoapClient('http://www.zarinpal.com/WebserviceGateway/wsdl', array('encoding'=>'UTF-8'));
$res = $client->PaymentRequest($merchantID, $amount, $callBackUrl, urlencode('تراکنش تستی') );

//Redirect to URL You can do it also by creating a form
Header('Location: https://www.zarinpal.com/users/pay_invoice/'.$res);

?>

این فایل verify.php

<?php

$merchantID = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX';
$amount = 1000; //Amount will be based on Toman
$au = $_GET['au'];

$client = new SoapClient('http://www.zarinpal.com/WebserviceGateway/wsdl', array('encoding'=>'UTF-8'));
$res = $client->PaymentVerification($merchantID, $au, $amount);


?>

و یه فایل بزرگ به اسم nusoap

MostafaEs3
شنبه 29 بهمن 1390, 16:02 عصر
//////////

speeed
شنبه 29 بهمن 1390, 19:00 عصر
خیلی کارم واجبه داداش
آیدی دارید ؟

speeed
شنبه 29 بهمن 1390, 22:00 عصر
دوستان دیگه نظری ندارن؟؟

speeed
یک شنبه 30 بهمن 1390, 23:49 عصر
یعنی هیچکی یه سیستم زرین پال راه نداخته توی این سایت

narsic
دوشنبه 01 اسفند 1390, 00:25 صبح
این فایل ها برای کار با وب سرویس از نوع Soap هستن.
مشکلتون با اینا چیه؟
*لطفا منتظر پاسخ بمونید و پست اظافه نفرستید

speeed
دوشنبه 01 اسفند 1390, 11:52 صبح
الان چطوری باید با اینا کار کرد؟

MostafaEs3
دوشنبه 01 اسفند 1390, 12:36 عصر
//////////

$ M 3 H R D A D $
شنبه 18 آذر 1391, 17:46 عصر
یک توصیح راحب verify میدین؟ یعنی پیو وری میکنه؟ هدف چیه ؟

$ M 3 H R D A D $
شنبه 18 آذر 1391, 20:13 عصر
من میخوام پرداخت انلاین داشته باشم میشه یکی راهنمایی کنه ؟ تا حالا این کارو انجام ندادم
یکی هم لطف کنه فرق پرداخت ساده با اون یکی دیگه و بگه تو زرین پال

$ M 3 H R D A D $
دوشنبه 20 آذر 1391, 15:38 عصر
مدریت لطفا پاسخ

rezaonline.net
دوشنبه 20 آذر 1391, 16:44 عصر
یک توصیح راحب verify میدین؟ یعنی پیو وری میکنه؟ هدف چیه ؟
فرض کنید شما پرداخت رو انجام میدید و از سایت زرین پال برگشت داده میشوید به صفحه ای که خودتان تنظیم کرده اید .
خب بانک ها و زرین پال معمولا یک یا دو پارامتر بصورت GET یا POST برمیگردونن که فلان تراکنش درست بوده یا نه .
خب اما هیچ تضمینی نیست که بفهمید واقعا از طرف بانک برگشته یا نه .
پس میای خودت از اینو صحت اون رو با verfy کردن بررسی میکنی .
همین .

rezaonline.net
دوشنبه 20 آذر 1391, 17:15 عصر
یکی هم لطف کنه فرق پرداخت ساده با اون یکی دیگه و بگه تو زرین پال
ساده پرداز فقط درخواست رو میفرستید و اطلاعات توی خود زرین پال ذخیره میشه .
اما استفاده از وبسرویس برگست داده میشه و از اینور میتونی خودت یه کارایی انجام بدی .
مثلا یه فایل دانلود کنی براش ، حساب کاربریش رو افزایش بدی و ...
نمونه اش رو من دارم استفاده میکنم
http://rezaworkshop.ir/post/2/download-shop

$ M 3 H R D A D $
دوشنبه 20 آذر 1391, 19:57 عصر
میخوام بدونم وریفای چجوری میشه ؟من ورودی ها همون مقدار برگشتی و عوض میکنم اما بازم تشخصی استباه میده میشه از دوتاش نمونه کد بدید ؟ خود زرید مقال نداره ؟

rezaonline.net
دوشنبه 20 آذر 1391, 21:49 عصر
try
{
@$client = new SoapClient('http://www.zarinpal.com/WebserviceGateway/wsdl', array('encoding'=>'UTF-8'));
@$res = $client->PaymentVerification($this->merchantID, $au, $price);
}
catch (Exception $e)
{
_show_error($e->getMessage());
}

//check result
if($res==1)
{
return true;
}
elseif($res == -1)
_show_error('اطلاعات ناقص است');
elseif($res == -2)
_show_error('وبسرویس نامعتبر است');
elseif($res == 0)
_show_error(' عملیات پرداخت بصورت کامل طی نشده است');
elseif($res == -11)
_show_error('مقدار تراکنش ارسال شده با مقدار پرداختی در دروازه پرداخت مطابقت نمیکند');
elseif($res == -12)
_show_error('مان فعال جهت پرداخت صورت حساب طی شده و کاربر عمليات پرداخت را تکميل نکرده است !');
else
_show_error("خطا در اعتبارسنجی وضعیت پرداخت");

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

rezaonline.net
دوشنبه 20 آذر 1391, 21:50 عصر
نمونه کد هم خواستید این ماژول زرین پال برای دانلود شاپ هست .
دو تا متد رو بررسی کنید
http://rezaworkshop.ir/static/file/zarinpal.zip

$ M 3 H R D A D $
سه شنبه 21 آذر 1391, 10:23 صبح
refID برای چیه پس ؟
من باید مقدار au تو بانکم بریزم و هر دفعه که مقدار true برگردوند از تابع بالا که گفتید بگم پرداخت درست بوده ؟ یعنی قبلش تو جدول سفارشات باید آخرین رکوردم مقدار قیمت و لود کنم و با قیمت این پرداخت چک کنم و بعدش این سفارش و اتمام شده در نظر بگیرم که دفعه بعد این لینک و صدا زد بگم پرداخته دیگه؟

$ M 3 H R D A D $
سه شنبه 21 آذر 1391, 10:32 صبح
رضا جان یک کلاس گذاشتید تو فایل زیپ میشه توضیح بدی در مورد استفادش؟

rezaonline.net
سه شنبه 21 آذر 1391, 15:22 عصر
اون کلاس یه نمونه ماژول هست .
ببینید شما کلا این کارو کنید ،
بنا به درخواست مشتری برای خرید ، اون مبلغ رو به زرین پال میفرستید ، زرین پال یک au برمیگدونه .
حالا اون au , price رو توی دیتابیس بریزید مشتری رو بفرستید به زرین پال .
از زرین پال که برگشت داده شد کاری به اطلاعات برگشتی نداشته باشید ، خودتون دو باره با وبسرویس با استفاده از اون au صحت پرداخت رو چک کنید .

$ M 3 H R D A D $
سه شنبه 21 آذر 1391, 16:16 عصر
اشتباه توضیح ندادید>دوبار بفرستم زرین ؟

rezaonline.net
سه شنبه 21 آذر 1391, 20:11 عصر
مهرداد یه ذره تحلیلش کنی دستت میاد .
اینجا آموزش اتصال به درگاه بانک پارسیان رو نوشتم
فقط بخونش خودت متوجه میشی .
http://forum.iranphp.org/Thread-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%AF%D8%B1%DA%AF%D8%A7%D9%87-%D9%BE%D8%B1%D8%AF%D8%A7%D8%AE%D8%AA-%D8%A8%D8%A7%D9%86%DA%A9-%D9%BE%D8%A7%D8%B1%D8%B3%DB%8C%D8%A7%D9%86
در کل برای هر افزایش موجودی کاربر ، باید دو بار به وبسرویس وصل بشی .