زمان کنونی: 2020/08/13، 10:36 AM درود مهمان گرامی! (ورودثبت نام)
کاربران عزیز برای طرح هر گرونه سوال مرتبط با موضوع انجمن لطفا ابتدا در انجمن عضو شده و سپس با ورود ب بخش مورد نظر سوالتان را مطرح کنید.



امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش اتصال ربات تلگرام به درگاه زرین پال
#1
برای اتصال ربات تلگرامی خود به درگاه زرین پال به شکل زیر عمل کنید

ابتدا تابع pay را به شکل زیر در سورس ربات خود تعریف کنید


کد php:
function pay($chat_id,$Amount){
    
$client 
= new SoapClient('https://www.zarinpal.com/pg/services/WebGate/wsdl', ['encoding' => 'UTF-8']);
$result $client->PaymentRequest(
[
'MerchantID' => "مرچنت کد",
'Amount' => $Amount,
'Description' => "موضوع پرداخت",
'Email' => 'Email@Mail.Com',
'Mobile' => '09360000000',
'CallbackURL' => "adress/back.php?id=$chat_id&amount=$Amount",
]);
if (
$result->Status == 100){return "https://www.zarinpal.com/pg/StartPay/".$result->Authority."/ZarinGate";}
}
  

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

برای این کار در ربات خود دکمه ای را با عنوان مثلا "شارژ حساب" تعریف کنید و پاسخ این دکمه را به صورت زیر تعریف کنید:

کد php:
elseif ($text == 'شارژ حساب'){
sendMessage($chat_id,'? درحال ساخت لینک پرداخت...');
bot('sendmessage',[
'chat_id'=>$chat_id,
'text'=>"
⚠️ برو روی مبلغ دلخواه کلیک کنید سپس به صفحه پرداخت می روید و پس از پرداخت وجه اتوماتیک حساب شما شارژ میشود.

?  پس از پرداخت حتما صبر کنید تا پیام حساب شما شارژ شد برای شما نمایش داده شود و تا این پیام را دریافت نکردید صفحه مرورگر را نبندید تا تراکنش شما کامل شود و حسابتان شارژ شود.
"
,
'parse_mode'=>'HTML',
'reply_markup'=>json_encode([
'inline_keyboard'=>[
[[
'text'=>"? 2,000 تومان",'url'=>pay($chat_id,'2000')],['text'=>"? 3,000 تومان",'url'=>pay($chat_id,'3000')]],
[[
'text'=>"? 4,000 تومان",'url'=>pay($chat_id,'4000')],['text'=>"? 5,000 تومان",'url'=>pay($chat_id,'5000')]],
[[
'text'=>"? 10,000 تومان",'url'=>pay($chat_id,'10000')],['text'=>"? 20,000 تومان",'url'=>pay($chat_id,'20000')]],
]
])
]);


اکنون وقتی کاربر دکمه "شارژ حساب" را بزند در پاسخ به او لینک های پرداخت با قیمت های متفاوت نمایش داده خواهد شد و کاربر می توانید هر کدام را انتخاب کنید.
وقتی کاربر قیمت مورد نظرش را انتخاب کرد، قیمت مورد نظر به همراه ایدی عددی او به تابع pay فرستاده می شود و کاربر به صفحه پرداخت هدایت خواهد شد تا مبلغ مورد نظر را بپردازد.

بعد از اینکه کاربر پرداخت مورد نظر را انجام داد شما باید در ربات خود حساب کاربری فرد مورد نظر را شارژ کنید و یا امکاناتی را ک در نظر دارید در اختیارش قرار دهید.

برای این کار در فولدر های ربات خود فایلی را با عنوان back.php تعریف کنید و ادرس ان را در تابع pay به خط زیر قرار دهید

کد php:
adress/back.php 

به عنوان مثال 

کد php:
hbportal.ir/bot/back.php 

وقتی پرداخت انجام شد نتیجه پرداخت به همراه قیمت پرداختی و ایدی کاربر از طریق زرین پال به ادرس فایل back.php برگردانده می شود و شما می توانید بر حسب نتیجه پرداخت (موفق یا ناموفق) تصمیم گیری کنید.

در فایل back.php متغیر های زیر را تعریف کنید:

کد php:
$MerchantID "مرچنت کد";
$Amount $_GET['amount'];
$Authority $_GET['Authority'];
$user $_GET['id']; 

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

کد php:
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 'پرداخت با موفقیت انجام شد و حساب شما شارژ شد';
        
// دستورات برای حالتی ک پرداخت موفق بوده است را اینجا وارد کنید
 
   } else {
 
       echo 'پرداخت شما قبلا ثبت شده است';
        
// دستور برای پرداخت های تکراری
 
   }
} else {
 
   echo 'پرداخت انجام نشد';
     
//دستورات برای حالتی که پرداخت ناموفق بوده را اینجا وارد کنید


امضاء hamzeh
لیست خدمات ما در تلگرام



شماره تماس

09172088446

پاسخ
#2
استاد باسلام.
میتونم درگاه پرداخت بانک ملت و سامان رو به ربات تلگرامم متصل کنم؟
ضمنا می خوام پرداختم به شکل پرداخت دلخواه باشه به اینصورت که کاربر هر مبلغی که دلش خواست رو خودش تعیین کنه و بعدش به صفحه پرداخت هدایت بشه.
و یک حالت دیگه هم مدنظرم هست و اون اینکه من خودم مبلغی رو مشخص کنم و توصیحات مد نطر خودم رو هم بنویسم و در قالب یک لینک برای کاربر ارسال کنم و کاربر با کلیک بر روی لینک مستقیم به صفحه پرداخت هدایت شده و عملیات پرداخت رو انجام بده.
پاسخ
#3
سلام
اینکه انتخاب مبلغ ب شکل دلخواه انجام بشه ب راحتی قایل نوشتنه
کافیه شما مبلغ رو از ورودی بگیرید و همون مبلغ دریافتی رو برای درگاه ارسال کنید
برای درگاه های ملت و سامان هم وقتی api ارائه دادند پس میشه برای ربات ها هم نوشت و محدودیتی نداره البته قوانین خود درگاه ها رو دیگه باید بسته ب نوع ربات تون برسی کنید
امضاء hamzeh
لیست خدمات ما در تلگرام



شماره تماس

09172088446

پاسخ
#4
(2020/05/09، 09:57 PM)hamzeh نوشته است: سلام
اینکه انتخاب مبلغ ب شکل دلخواه انجام بشه ب راحتی قایل نوشتنه
کافیه شما مبلغ رو از ورودی بگیرید و همون مبلغ دریافتی رو برای درگاه ارسال کنید
برای درگاه های ملت و سامان هم وقتی api ارائه دادند پس میشه برای ربات ها هم نوشت و محدودیتی نداره البته قوانین خود درگاه ها رو دیگه باید بسته ب نوع ربات تون برسی کنید

استاد با توجه به اینکه تلگرام فیلتر هست آیا درگاههای بانکی مثل بانک ملت و سامان قابلیت اتصال به تلگرام دارن؟

یه سؤال هم دارم که غیر مرتبط به موضوع هست و اون اینه که چرا من در قسمت اشتراک در موضوع " اشتراک و دریافت ایمیل اطلاع رسانی پس از ارسال هر پاسخ جدید در موضوع " تیک زدم ولی دیروز که شما پاسخ پیام من رو دادید هیچ پیامی درایمیل برای من نیومد. میشه بپرسم چرا؟
پاسخ
#5
از نظر برنامه نویسی امکانش وجود داره اما اینکه با قوانین بانک ها و تناقض داره یا ن دیگه باید از خود پشتیبان درگاه ها بپرسید
در مورد سوال دوم باید برسی کنم ببینم مشکل از کجاست
امضاء hamzeh
لیست خدمات ما در تلگرام



شماره تماس

09172088446

پاسخ
#6
(2020/05/11، 11:35 AM)hamzeh نوشته است: از نظر برنامه نویسی امکانش وجود داره اما اینکه با قوانین بانک ها و تناقض داره یا ن دیگه باید از خود پشتیبان درگاه ها بپرسید
در مورد سوال دوم باید برسی کنم ببینم مشکل از کجاست

استاد عزیز باتوجه به توضیحات خوبیکه دادید بله متوجه هستم. ولی نکته ای که سوال اصلی منه اینه که دررحالیکه من مرچنت کد بانک و رمز عبور رو دارم و از لحاظ نرم افزاری هم مشکلی وجود نداره آیا مشکل دیگه ای از سوی بانک می تونه بر سر راه اجرای این پروژه قرار بگیره؟ باتوجه به اینکه شما تجربه زیادی در اجرای درگاه های پرداخت تلگرام دارید آیا میتونه مشکلی وجود داشته باشه؟  دوباره جهت یادآوری خدمت شما عرض کنم که من درگاههای ملت و سامان رو دارم.
پاسخ
#7
مثلا چ مشکلی؟
در مورد امکان اتصال ربات ب درگاه، هر درگاهی ک api ارائه داده باشه میشه بهش وصل شد
در مورد مشکلات احتمالی بهتره با پشتیبان درگاه مورد نظرتون در این باره مشورت کنید
امضاء hamzeh
لیست خدمات ما در تلگرام



شماره تماس

09172088446

پاسخ




کاربرانِ درحال بازدید از این موضوع: 2 مهمان