PDA

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



succes
August 12th, 2013, 00:19
سلام

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

این فایلی که باید اجرا بشه تا به بانک ارجاع بده :


<?php
include_once("sender.php");
$url = 'http://payline.ir/payment/gateway-send';
$api = 'cf36f-b5713-42b52-4846c-473a25ec33795537c397b2e9340c';
$amount = 1000;
$redirect = 'sent.php';
$result = send($url,$api,$amount,$redirect);
if($result > 0 && is_numeric($result)){
$go = "http://payline.ir/payment/gateway-$result";
header("Location: $go");
}
?>



این فایلی sender.php :



<?php
function send($url,$api,$amount,$redirect){
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POSTFIELDS,"api=$api&amount=$amount&redirect=$redirect");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$res = curl_exec($ch);
curl_close($ch);
return $res;
}
function get($url,$api,$trans_id,$id_get){
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POSTFIELDS,"api=$api&id_get=$id_get&trans_id=$trans_id");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$res = curl_exec($ch);
curl_close($ch);
return $res;
}
?>



و این هم فایل get.php


<?php
include_once("sender.php");
$url = 'http://payline.ir/payment/gateway-result-second';
$api = 'cf36f-b5713-42b52-4846c-473a25ec33795537c397b2e9340c';
$trans_id = $_POST['trans_id'];
$id_get = $_POST['id_get'];
$result = get($url,$api,$trans_id,$id_get);
?>



حالا من میخوام یه فرمی بسازم تا درش نامشون رو بنویسن و مبلغ دلخواه وارد کنند و بعد از submit فرم به بانک ارجاع داده بشه و بعد از پرداخت موفق و بازگشت به فایل فرضی ok.php یوزری برای اون در پایگاه داده insert بشه ...

لطفا کمک کنید من چه جوری میتونم این رو عملی کنم ؟؟

با تشکر

ahmad.m3710
August 12th, 2013, 08:44
در صورت تمایل برایتان خواهیم نوشت.
با سپاس

succes
August 12th, 2013, 22:22
در صورت تمایل برایتان خواهیم نوشت.
با سپاس

میخوام بجای ماهی دادن ، ماهیگیری رو یاد بدین !! ممکنه !؟

و مبلغ پیشنهادی برای نوشتن این رو هم بفرمایید...

sardarn
August 12th, 2013, 22:55
سلام
با 15 هزارتومان می تونم براتون بنویسم.
اما این توضیح رو می تونم بهتون بدم شاید خودتون بتونید.
در صفحه انتقال به پی لاین وقتی آدرس بدست میاد شما مشخصات رو در دیتابیس ذخیره کنید
بعد هنگام برگشت با توجه به شماره سفارش از دیتابیس اون پرداخت رو چک کنید که مبلغ قبل از انتقال و بعد از انتقال یکی هست یا نه.بعد اگه درست بود صحت تراکنش بررسی کنید فقط مواضب باشید مشکل امنیتی به وجود نیارید که بشه الکی یک تراکنش با مبلغ بالاتر رو بدون پرداخت به پرداخت شده تبدیل کرد.بعد از مشخص شدن نتیجه اطلاعات قبل از سفارش رو آپدیت کنید و اطلاعاتی مثل رسید و و ضعیت را در رکورد وارد کنید.

باتشکر

ahmad.m3710
August 12th, 2013, 23:08
میخوام بجای ماهی دادن ، ماهیگیری رو یاد بدین !! ممکنه !؟

و مبلغ پیشنهادی برای نوشتن این رو هم بفرمایید...

بله عزیز ممکن هست اما نه برای کدی که روی هم قسمت مدیریت و کاربر تعداد بسیاری کد دارد ...
دوست عزیز sardarn (http://www.webhostingtalk.ir/member/11060/) درست فرمودند می تونید طبق راهنمایی ایشون برید البته باید با پی اچ پی آشنا باشید...

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

با سپاس

succes
August 13th, 2013, 00:42
سلام
با 15 هزارتومان می تونم براتون بنویسم.
اما این توضیح رو می تونم بهتون بدم شاید خودتون بتونید.
در صفحه انتقال به پی لاین وقتی آدرس بدست میاد شما مشخصات رو در دیتابیس ذخیره کنید
بعد هنگام برگشت با توجه به شماره سفارش از دیتابیس اون پرداخت رو چک کنید که مبلغ قبل از انتقال و بعد از انتقال یکی هست یا نه.بعد اگه درست بود صحت تراکنش بررسی کنید فقط مواضب باشید مشکل امنیتی به وجود نیارید که بشه الکی یک تراکنش با مبلغ بالاتر رو بدون پرداخت به پرداخت شده تبدیل کرد.بعد از مشخص شدن نتیجه اطلاعات قبل از سفارش رو آپدیت کنید و اطلاعاتی مثل رسید و و ضعیت را در رکورد وارد کنید.

باتشکر


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

الگوریتمی که در ذهنم بود این بود که یه فرمی ایجاد کنم با یه مبلغ و یه تابع rand استفاده کنم تا موقع submit این اطلاعات به دیتابیس اینسرت شه و مثلا کوئری status صفر اینسرت شه و بعد از برگشت دادن به صفحه این شماره Rand$ که اینسرت کرده بود رو از دیتابیس پیدا کنه و status رو به 1 آپدیت کنه و این یعنی اینکه ایشون ثبت نام رو همراه با پرداخت موفق انجام داده ... مشکلم اینجاست که این کد $rand رو چه جوری به پی لاین بفرستم و موقع برگشت همین کد رو چه جوری (چه از طریق session یا get یا post) به صفحه پرداخت برگردونم تا اپدیت در تیبل رو اعمال کنه

sardarn
August 13th, 2013, 10:22
ممنون از توضیحاتون ... من فرم ایجاد کردم و با موفقیت به پی لاین و صفحه پرداخت ارجاع میده فقط نمی دونم موقع برگشت چطوری با چه متغیرهایی رکوردهای برگشتی رو بگیرم یا اصلا چه رکوردهایی برگشت داده میشه...

الگوریتمی که در ذهنم بود این بود که یه فرمی ایجاد کنم با یه مبلغ و یه تابع rand استفاده کنم تا موقع submit این اطلاعات به دیتابیس اینسرت شه و مثلا کوئری status صفر اینسرت شه و بعد از برگشت دادن به صفحه این شماره Rand$ که اینسرت کرده بود رو از دیتابیس پیدا کنه و status رو به 1 آپدیت کنه و این یعنی اینکه ایشون ثبت نام رو همراه با پرداخت موفق انجام داده ... مشکلم اینجاست که این کد $rand رو چه جوری به پی لاین بفرستم و موقع برگشت همین کد رو چه جوری (چه از طریق session یا get یا post) به صفحه پرداخت برگردونم تا اپدیت در تیبل رو اعمال کنه

سلام
اگر فایل راهنما درگاه بخونید معمولا خودشون یک سری متغر بهتون برگشت می دهند که با اون می تونید تارکنش رو پیدا کنید و مشخصات چک کنید.
در ضمن می توانید از این روش هم استفاده کنید در آدرس کال بک اون rand اضاف کنید مثلا به جای برگشت به آدرس
site/pay/callback.php
به این آدرs برگرده
site/pay/callback.php?rand=$rand
در هر دو صورت به یک فایل بر می گردم اما در روش دوم هنگام برگشت شما چند متغیر قبل می تونید فراخونی کنید.در ضمن این کار یک نوع ریسک امنیتی هست اگر بتونید بدون روش دوم این کار را بکنید برای امنیت بهتر هست.

ksohrabloo
August 26th, 2013, 12:08
دوستمون راست میگه کداش ایراد داره
یعنی سیستمش کم داره
اگه میخوای برو از jahanpay.com بگیر
اصلا این اسکریپتی که میخوای رو خودش داره
کارمزداشم نصف اینه
دوست عزیزی هم از طریق GET گفتن (( همون که عدد رندوم رو ته ریدایرکت بزاری)
عموما بعد Tampring کلا فرق زیادی تو امنیت گت و پست نیست و شیوه خوبیه
راه های دیگه ای هم داره
مثلا از session_id استفاده کنی
که البته الان دوستان میگن اگه سشن ها یه آی دی داشتن چی؟؟؟
خوب الگوریتم خودت بنویس
یه مقدار در مورد سشن ها بخون سخت نیست
ولی باید کوکی های کاربر رو چک کنی که فعال هستند یانه
خلاصه هر شیوه ای محدودیت حودش رو داره