آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

درگاه بانک ملت و آندروید (آموزش) کد کامل شد

احمد  9 سال پیش  4 سال پیش
+6 0

سلام خدمت همه دوستان با عرض معذرت بابت تاخیر ..... برای اتصال اول بخش php را توضیح میدم. ما به یک دیتابیس برای ذخیره سازی نیاز داریم مثلا: my_payment که داخل اون دو تا دیتابیس داریم 1- bankdata که اطلاعات درگاه بانکی توش ریخته میشه 2- pay که پرداخت ها داخلش ذخیره میشه بریم سراغ کد:

بخش اول : کد مربوط به پایگاه داده:

 -- phpMyAdmin SQL Dump
-- version 4.6.6
-- https://www.phpmyadmin.net/
--
-- Host: localhost:3306
-- Generation Time: Jul 22, 2017 at 05:28 AM
-- Server version: 5.6.35-log
-- PHP Version: 5.6.30

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `my_payment`
--

-- --------------------------------------------------------

--
-- Table structure for table `bankdata`
--

CREATE TABLE `bankdata` (
`id` int(10) UNSIGNED NOT NULL,
`terminalid` varchar(20) DEFAULT NULL,
`username` varchar(20) DEFAULT NULL,
`password` varchar(20) DEFAULT NULL,
`namespace` varchar(100) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Table structure for table `pay`
--

CREATE TABLE `pay` (
`pay_id` int(10) NOT NULL,
`pay_amount` varchar(200) NOT NULL,
`RefId` varchar(100) NOT NULL,
`ResCode` int(1) NOT NULL,
`OrderId` int(30) NOT NULL,
`SaleReferenceId` varchar(30) NOT NULL,
`email` varchar(1000) NOT NULL,
`user_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL,
`tozihat` text CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Indexes for dumped tables
--

--
-- Indexes for table `bankdata`
--
ALTER TABLE `bankdata`
ADD PRIMARY KEY (`id`);

--
-- Indexes for table `pay`
--
ALTER TABLE `pay`
ADD PRIMARY KEY (`pay_id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `bankdata`
--
ALTER TABLE `bankdata`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
--
-- AUTO_INCREMENT for table `pay`
--
ALTER TABLE `pay`
MODIFY `pay_id` int(10) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=172;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

 ادامه دارد ..........

0 0
دوستان شاید این لینک هم بتونه برای اتصال به درگاه بانک کمکتون کنه لینک (8 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
احمد  9 سال پیش
+1 0

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

1- فایل index.php: نمایش فرم اویه اطلاعات که از طریق برنامه ارسال میشه

 <html>
<head>
<title>پرداخت</title>
<meta charset='UTF-8'>
<meta name="robots" content="noindex">
<link rel="stylesheet" type="text/css" href="mystyle.css">
<link rel="icon" href="image/pey.png">
</head>
<body>
<div class="container">
<form action="location.php" method="post">
<div id="contact">
<h3>فرم پرداخت وجه</h3>
<fieldset>
<input placeholder="نام شما" name="name" type="text" tabindex="1" readonly required value="<?php echo $_REQUEST['name']; ?>">
</fieldset>
<fieldset>
<input placeholder="ایمیل / رایانامه" name="email" type="email" tabindex="2" readonly required
value="<?php echo $_REQUEST['email']; ?>">
</fieldset>
<fieldset>
<input placeholder="مبلغ" name="amount" type="text" tabindex="3" required value="<?php echo $_REQUEST['amount']; ?>">
</fieldset>
<fieldset>
<input placeholder="توضیحات" name="tozihat" type="text" tabindex="4" readonly required
value="<?php echo $_REQUEST['tozihat']; ?>">
</fieldset>
<fieldset>
<button name="submit" type="submit" id="message">ادامه</button>
</fieldset>
<input type="hidden" name="tid" value="<?php echo $_REQUEST['tid']; ?>" >
<input type="hidden" name="tuser" value="<?php echo $_REQUEST['tuser']; ?>" >
<input type="hidden" name="tpass" value="<?php echo $_REQUEST['tpass']; ?>" >

</div>
</form>
</div>
</body>
</html>

البته میتونید tid و tuser و tpass را حدف کنید چون از دیتابیس میخونیم 
2- فایل location.php: برای ارسال اطلاعات به درگاه بانکی برای پرداخت

 <html>
<head>
<title>انتقال به درگاه بانک</title>
<meta charset='UTF-8'>
<meta name="robots" content="noindex">
<link rel="stylesheet" type="text/css" href="mystyle.css">
<link rel="icon" href="image/pey.png">

<script>
function postRefId(refIdValue) {
var form = document.createElement("form");
form.setAttribute("method", "POST");
form.setAttribute("action", "https://bpm.shaparak.ir/pgwchannel/startpay.mellat");
form.setAttribute("target", "_self");
var hiddenField = document.createElement("input");
hiddenField.setAttribute("name", "RefId");
hiddenField.setAttribute("value", refIdValue);
form.appendChild(hiddenField);
document.body.appendChild(form);
form.submit();
document.body.removeChild(form);
}
</script>
</head>
<body>

<div class="container">
<div id="contact">
<h4>در حال انتقال به صفحه پرداخت بانکی</h4>
</br>
<h4>کمی صبر کنید...</h4>
</br>
<?php
require_once('bank_mellat.php');

$tid = $_REQUEST['tid'];
$tuser = $_REQUEST['tuser'];
$tpass = $_REQUEST['tpass'];

$tid = trim($tid);
$tuser = trim($tuser);
$tpass = trim($tpass);

$bank_mellat = new bank_mellat($tid, $tuser, $tpass);

$bank_mellat->pay($_REQUEST['name'], $_REQUEST['email'], $_REQUEST['amount'], $_REQUEST['tozihat']);
?>
</div>
</div>

</body>
</html>

یه نکته دیگه من چون اول از طریق برنامه اطلاعات درگاه را ارسال میکردم ممکن کد های اضافی و بی استفاده باشه که ویرایش میکنم و کد بهینه را میزارم

پاسخ به سوال 
احمد  9 سال پیش
+1 0

3- فایل bnkconfig.php خوندن اطلاعات مربوط به درگاه بانکی

 <?php
require_once('config.php');


$servername = Host;
$username = Username;
$password = Password;
$dbname = Dbname;

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT * FROM bankdata where id = 1";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$id = $row["terminalid"];
$user = $row["username"];
$pass = $row["password"];
$namespace= $row["namespace"];
}

define('TID', $id);
define('TUSER',$user);
define('TPASS', $pass);
define('NAMESPASE',$namespace);
// echo "1 results";

} else {
// echo "0 results";
}
$conn->close();
?>

4- config.php: اطلاعات مربوط به پایگاه داده

 <?php
define('Host', "localhost");
define('Dbname', "my_payment");
define('Username', "user");
define('Password', "password");

$host = Host;
$dbname = Dbname;
$username = Username;
$password = Password;
$dsn = "mysql:host=$host;dbname=$dbname";
try
{
$connect =new PDO($dsn,$username,$password);
}
catch(Exception $error)
{
echo $error;
}
?>
پاسخ به سوال 
احمد  9 سال پیش
+1 0

5- nusoap.php : فایل مربوط به بانک ملت هست برای اتصال به بانک و ..... تغییرش ندین اصلا

لینک فایل : لینک

6- respan.php

 <!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0" />
<title>Media Responsive Web page</title>


<style type="text/css">

#banner {
margin-left:auto;
margin-right:auto;
width:1000px;
}

#banner img {
max-width:1000px;
max-height:300px;
}

#main {
margin-left:auto;
margin-right:auto;
width:1000px;
}

#main-content {
padding:20px;
width:625px;
float:left;
}

#widget-container {
padding:15px;
width:280px;
float:right;
}

.widget-content {
margin:20px;
padding:1px;
width:250px;
background-color:#DDDDDD;
}

.widget-title {
font-weight:bold;
padding:10px;
background-color:#EEEEEE;
}

.widget-text {
padding:10px;
background-color:#FCFCFC;
}

@media (min-width: 481px) and (max-width: 768px) {
#banner { width:740px; }
#banner img { max-width:740px; max-height:222px; }
#main { width:740px; }
#main-content { width:450px; float:left; }
#widget-container { width:200px; float:right; }
.widget-content { width:160px; }
}

@media (min-width: 321px) and (max-width: 480px) {
#banner { width:450px; }
#banner img { max-width:450px; max-height:135px; }
#main { width:450px; }
#main-content { width:400px;}
#widget-container { width:400px; }
.widget-content { width:120px; margin:5px; float:left;}
.widget-text { display:none; }
}

@media (max-width: 320px) {
#banner { width:275px; }
#banner img { max-width:275px; max-height:83px; }
#main { width:250px; }
#main-content { width:250px;padding:0px;}
#widget-container { width:250px; padding:0px; }
.widget-content { width:250px; margin:5px;}
.widget-text { display:none; }
}

</style>

</head>

<body>
<div id="banner"><img src="https://www.ibm.com/developerworks/mydeveloperworks/blogs/bobleah/resource/sky.gif"></div>
<div id="main">
<div id="widget-container">
<div class="widget-content">
<div class="widget-title">
Proin eu magna a purus feugiat
</div>
<div class="widget-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sem felis, rutrum sed sagittis non,
suscipit quis mauris. Vivamus lobortis varius tempus. Etiam commodo sem quis enim bibendum bibendum.
Aliquam eleifend, nisl eget faucibus hendrerit.
</div>
</div>

<div class="widget-content">
<div class="widget-title">
Proin eu magna a purus feugiat
</div>
<div class="widget-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sem felis, rutrum sed sagittis non,
suscipit quis mauris. Vivamus lobortis varius tempus. Etiam commodo sem quis enim bibendum bibendum.
Aliquam eleifend, nisl eget faucibus hendrerit.
</div>
</div>

<div class="widget-content">
<div class="widget-title">
Proin eu magna a purus feugiat
</div>
<div class="widget-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sem felis, rutrum sed sagittis non,
suscipit quis mauris. Vivamus lobortis varius tempus. Etiam commodo sem quis enim bibendum bibendum.
Aliquam eleifend, nisl eget faucibus hendrerit.
</div>
</div>
</div>
<div id="main-content">
<p>
Etiam at purus id ipsum sodales vehicula. Nam purus nunc, luctus ut laoreet et, pharetra eget est. Nulla
nisi tellus, euismod vel hendrerit dignissim, egestas eget ante. Morbi pellentesque, tellus ut adipiscing
vestibulum, purus orci gravida felis, sit amet rhoncus quam nulla non massa. Sed volutpat porttitor lectus
accumsan hendrerit. Donec lectus urna, euismod ut accumsan ac, congue in risus. Fusce pretium arcu vel
turpis adipiscing nec adipiscing lectus ultricies. Sed ultricies commodo tellus, lacinia iaculis velit
hendrerit interdum. Nam congue ante sit amet tortor lobortis ac euismod magna fringilla. Curabitur semper
nulla vel arcu blandit quis sagittis lectus feugiat. Sed vel ipsum in diam vulputate convallis sed ut tellus.
</p>
<p>
Etiam at purus id ipsum sodales vehicula. Nam purus nunc, luctus ut laoreet et, pharetra eget est. Nulla
nisi tellus, euismod vel hendrerit dignissim, egestas eget ante. Morbi pellentesque, tellus ut adipiscing
vestibulum, purus orci gravida felis, sit amet rhoncus quam nulla non massa. Sed volutpat porttitor lectus
accumsan hendrerit. Donec lectus urna, euismod ut accumsan ac, congue in risus. Fusce pretium arcu vel
turpis adipiscing nec adipiscing lectus ultricies. Sed ultricies commodo tellus, lacinia iaculis velit
hendrerit interdum. Nam congue ante sit amet tortor lobortis ac euismod magna fringilla. Curabitur semper
nulla vel arcu blandit quis sagittis lectus feugiat. Sed vel ipsum in diam vulputate convallis sed ut tellus.
</p>
<p>
Etiam at purus id ipsum sodales vehicula. Nam purus nunc, luctus ut laoreet et, pharetra eget est. Nulla
nisi tellus, euismod vel hendrerit dignissim, egestas eget ante. Morbi pellentesque, tellus ut adipiscing
vestibulum, purus orci gravida felis, sit amet rhoncus quam nulla non massa. Sed volutpat porttitor lectus
accumsan hendrerit. Donec lectus urna, euismod ut accumsan ac, congue in risus. Fusce pretium arcu vel
turpis adipiscing nec adipiscing lectus ultricies. Sed ultricies commodo tellus, lacinia iaculis velit
hendrerit interdum. Nam congue ante sit amet tortor lobortis ac euismod magna fringilla. Curabitur semper
nulla vel arcu blandit quis sagittis lectus feugiat. Sed vel ipsum in diam vulputate convallis sed ut tellus.
</p>
<p>
Etiam at purus id ipsum sodales vehicula. Nam purus nunc, luctus ut laoreet et, pharetra eget est. Nulla
nisi tellus, euismod vel hendrerit dignissim, egestas eget ante. Morbi pellentesque, tellus ut adipiscing
vestibulum, purus orci gravida felis, sit amet rhoncus quam nulla non massa. Sed volutpat porttitor lectus
accumsan hendrerit. Donec lectus urna, euismod ut accumsan ac, congue in risus. Fusce pretium arcu vel
turpis adipiscing nec adipiscing lectus ultricies. Sed ultricies commodo tellus, lacinia iaculis velit
hendrerit interdum. Nam congue ante sit amet tortor lobortis ac euismod magna fringilla. Curabitur semper
nulla vel arcu blandit quis sagittis lectus feugiat. Sed vel ipsum in diam vulputate convallis sed ut tellus.
</p>
<p>
Etiam at purus id ipsum sodales vehicula. Nam purus nunc, luctus ut laoreet et, pharetra eget est. Nulla
nisi tellus, euismod vel hendrerit dignissim, egestas eget ante. Morbi pellentesque, tellus ut adipiscing
vestibulum, purus orci gravida felis, sit amet rhoncus quam nulla non massa. Sed volutpat porttitor lectus
accumsan hendrerit. Donec lectus urna, euismod ut accumsan ac, congue in risus. Fusce pretium arcu vel
turpis adipiscing nec adipiscing lectus ultricies. Sed ultricies commodo tellus, lacinia iaculis velit
hendrerit interdum. Nam congue ante sit amet tortor lobortis ac euismod magna fringilla. Curabitur semper
nulla vel arcu blandit quis sagittis lectus feugiat. Sed vel ipsum in diam vulputate convallis sed ut tellus.
</p>
</div>
</div>

</body>
</html>
0 0
سروس درج شده به علت طولانی بودن حذف شد ، لفطا سورس را درجایی آپلود کنید و لینک آن را قرار دهید. (9 سال پیش)
0 0
ممنونم مهندس لطف کردین (9 سال پیش)
+1 0
تمام فایل ها را در این لینک قرار دادم لینک (9 سال پیش)
0 0
ای بابا ی آموزش مفید هم که هست پاک میکنید چرا من الان نیاز دارم به پرداخت درون برنامه از طریق درگاه شخصی (4 سال پیش)

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