Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > ระบบเติมทรูมันนี่ เค้าทำกันยังไง มันยากไหม มาดูกันครับ



 

ระบบเติมทรูมันนี่ เค้าทำกันยังไง มันยากไหม มาดูกันครับ

 



Topic : 112138



โพสกระทู้ ( 34 )
บทความ ( 0 )



สถานะออฟไลน์




ระบบเติมเงินด้วยบัตรทรูมันนี่ สามารถทำไปใช้งานได้หลายอย่างมากๆ เช่น เติมแต้มในเกมส์, เติม VIP เว็บ..., เติมนู้นเติมนี่เติมนั้น บลาๆ

พอดีผมว่างๆก็เลยศึกษาเรื่องนี้ดู ประกอบกับมีน้องคนนึงที่ให้ผมทำโปรเจคให้เค้าได้ทิ้งมรดกไว้ให้ผม เป็นอุปกรณ์ที่สำคัญมากๆสำหรับโปรเจคที่เรากำลังจะทำกัน

ขอบอกว่าผมไม่ได้มาจากเว็บไหน หรือเป็นคู่แข่งใคร ทุกอย่างที่ผมทำเองคิดระบบเอง น่ะจ้ะ

มาเริ่มกันเลย!

อย่างแรกคือฐานข้อมูลก่อนเป็นที่ๆเก็บเลขบัตรทรูมันนี่ที่เติมแล้วและยังไม่ได้เติม
ผมใช้ Web Hosting ปกติๆ ไม่ใช่ VPS หรือ COLO สร้างตามผม

Code (SQL)
-- phpMyAdmin SQL Dump
-- version 2.11.11.3
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Oct 24, 2014 at 12:01 PM
-- Server version: 5.5.40
-- PHP Version: 5.3.3

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Database: `web`
--

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

--
-- Table structure for table `truemoney`
--

CREATE TABLE IF NOT EXISTS `truemoney` (
  `ID` int(10) NOT NULL AUTO_INCREMENT,
  `TranID` varchar(12) NOT NULL,
  `TM` varchar(14) NOT NULL,
  `CusID` varchar(10) NOT NULL,
  `Ref1` varchar(50) CHARACTER SET tis620 NOT NULL,
  `Ref2` varchar(50) CHARACTER SET tis620 NOT NULL,
  `Ref3` varchar(50) CHARACTER SET tis620 NOT NULL,
  `Status` enum('WAIT','SUCCESS','INVALID','USED') NOT NULL DEFAULT 'WAIT',
  `Amount` enum('NO','50','90','150','300','500','1000') NOT NULL DEFAULT 'NO',
  `Time` datetime NOT NULL,
  `IP` varchar(15) NOT NULL,
  PRIMARY KEY (`ID`),
  UNIQUE KEY `TranID` (`TranID`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=227 ;

--
-- Dumping data for table `truemoney`
--




TranID = ค่าที่ระบบ Random ขึ้นมา
TM = คือเลขบัตรทรูมันนี่ 14 หลัก

เพื่อที่ว่าถ้ามีคนใส่เลขบัตรทรูมันนี่ชุดเดียวกัน2ครั้งหรือมากกว่า เราจะได้แยกออกว่ามันไม่ได้เข้ามาครั้งเดียว,
CusID คล้ายๆกับหมายเลขร้านค้า(สำหรับเอาไปเปิดเป็นธุรกิจไม่ได้ใช้เอง)
ส่วน Ref1,2,3 ก็คล้ายๆกับระบบทั่วๆจำเป็นไปต้องมี อธิบายแค่นี้พอ ที่เหลือผมว่าหลายท่านเข้าใจกันดีอยู่แล้ว

ขั้นต่อมาทำหน้าต่างเติมเงินสำหรับทดสอบกันเลย

Config database ทั้วๆไป
conf.php
<?php
$SQL_host = 'localhost';
$SQL_user = 'root';
$SQL_pass = 'password';
$SQL_db = 'web';
?>


หน้าต่างเทส ที่มันจะสุ่ม TranID, TM, CusID, Ref1,2,3
test.php
<?php 

function generateID($length) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, strlen($characters) - 1)];
    }
    return $randomString;
}
function generateTM($length) {
    $characters = '0123456789';
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, strlen($characters) - 1)];
    }
    return $randomString;
}


function generateRef($length) {
    $characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, strlen($characters) - 1)];
    }
    return $randomString;
}


?>

<html>
<head>
<title>True money Tutorials</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
<body>
<form name="form1" method="post" action="test_sc.php">
  <table width="400" border="1" style="width: 400px">
    <tbody>
      <tr>
        <td width="125"> &nbsp;ID</td>
        <td width="180">
          <input name="TranID" type="text" id="TranID" size="20" value="<?php echo generateID(12);?>">
        </td>
      </tr>
      <tr>
        <td width="125"> &nbsp;TM</td>
        <td width="180">
          <input name="TM" type="text" id="TM" size="20" value="<?php echo generateTM(14);?>">
          <input name="CusID" type="hidden" id="CusID" size="20" value="<?php echo generateRef(10);?>">
          <input name="Ref1" type="hidden" id="Ref1" size="20" value="<?php echo generateRef(10);?>">
          <input name="Ref2" type="hidden" id="Ref2" size="20" value="<?php echo generateRef(10);?>">
          <input name="Ref3" type="hidden" id="Ref3" size="20" value="<?php echo generateRef(10);?>">
        </td>
      </tr>
    </tbody>
  </table>
  <br>
  <input type="submit" name="Submit" value="Add">
</form>
</body>
</html>


test_sc.php
<?php	
	include 'conf.php';
	mysql_connect($SQL_host,$SQL_user,$SQL_pass);
	mysql_select_db($SQL_db);
	$TranID = $_POST["TranID"];
	$TM = $_POST["TM"];
	$CusID = $_POST["CusID"];
	$Ref1 = $_POST["Ref1"];
	$Ref2 = $_POST["Ref2"];
	$Ref3 = $_POST["Ref3"];
	$Time = date("Y-m-d H:i:s");
	$strSQL = "INSERT INTO truemoney (ID,TranID,TM,CusID,Ref1,Ref2,Ref3,Status,Amount,Time,IP) VALUES ('','".$TranID."','".$TM."','".$CusID."','".$Ref1."','".$Ref2."','".$Ref3."','WAIT','NO','".$Time."','".$_SERVER['REMOTE_ADDR']."')";
	$objQuery = mysql_query($strSQL);
	echo "OK";	
	mysql_close();
?>


ขอพักไว้ก่อน เดี๋ยวกลับมาต่อเรื่องอุปกรณ์และการเขียนโปรแกรมเชื่อมต่อกับ Truemove



Tag : PHP, MySQL, WebService, VB.NET, VS 2010 (.NET 4.x)









ประวัติการแก้ไข
2014-10-24 19:28:57
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-10-24 19:22:33 By : stbungaof View : 3622 Reply : 7
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

รอชมครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-25 07:33:00 By : mr.win
 


 

No. 2



โพสกระทู้ ( 34 )
บทความ ( 0 )



สถานะออฟไลน์


มาแล้วครับ พาทนี้จะพูดถึงการเตรียมอุปกรณ์

อุปกรณ์มีแค่ 2 อย่าง
อย่างที่1 Arduino MEGA 2560 R3

Arduino MEGA 2560 R3

5

6

อย่างที่2 SIM900 GSM/GPRS Shield for Arduino UNO MEGA 2560

SIM900 GSM/GPRS Shield for Arduino UNO MEGA 2560

7

8

ขั้นแรกเราก็อัดโปรแกรมใส่ Arduino MEGA กันก่อนเลย
โปรแกรมที่ใช้ในการเบิร์น AVR ตามลิ้งค์นี้เลยครับ

http://downloads.arduino.cc/arduino-1.0.6-windows.exe

เริ่มจากเอาเจ้า Arduino MEGA เสียบกับคอมเราก่อน จากนั้นเปิดโปรแกรม Arduino ขึ้นมา
เข้าไปที่ Tools -> Board -> Arduino MEGA 2560 or MEGA ADK

1

จากนั้นเลือก Serial Port ตามรูป

2

วางโค้ดนี้ลงไป แล้วกด Upload

3

Code (Java)
#define GSM_ON                9 
#define GSM_RESET             10
void setup()
{
  Serial1.begin(9600);               // the GPRS baud rate   
  Serial.begin(9600);                 // the GPRS baud rate
  pinMode(GSM_ON, OUTPUT);               // sets pin 9 as output
  pinMode(GSM_RESET, OUTPUT);  
  digitalWrite(GSM_ON, HIGH);
  delay(1200);
  digitalWrite(GSM_ON, LOW);
  delay(5000);
}
 
void loop()
{
  if (Serial1.available()>0)
    Serial.write(Serial1.read());
  if (Serial.available()>0)
    Serial1.write(Serial.read());  
 
}


ถ้าขึ้นแบบนี้แสดงว่าผ่านครับ

4

จากนั้นเอาอุปกรณ์ทั้งหมดมาต่อเข้าด้วย พร้อมเสียบสาย tx rx ตามรูป

9
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-25 12:51:04 By : stbungaof
 

 

No. 3

Guest


สุดยอดครับ รอชมว่าจะเอาเจ้าเครื่องนี้ไปต่อกับ hosting ยังไงเพราะเช่าเขามาๆม่ได้วางเอง :)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-26 01:28:58 By : รอ
 


 

No. 4



โพสกระทู้ ( 34 )
บทความ ( 0 )



สถานะออฟไลน์


หายไปนาน กลับมาแล้วครับ

อันนี้เป็น php ที่เอาไว้ติดต่อกับโปรแกรม
cmd.php
<?php
	include 'conf.php';
	$Key = $_GET["pass"];
	$Do = $_GET["do"];
	$Pass = "thongramai";
	if ($Key == $Pass && $Do == "get")
	{
		
		mysql_connect($SQL_host,$SQL_user,$SQL_pass);
		mysql_select_db($SQL_db);
		$strSQL1 = "SELECT * FROM truemoney WHERE Status = 'WAIT'";
		$objQuery1 = mysql_query($strSQL1);
		$objResult1 = mysql_fetch_array($objQuery1);
		if(!$objResult1)
		{
			echo "STANDBY";
		}
		else
		{	
			$objConnect = mysql_connect($SQL_host,$SQL_user,$SQL_pass);
			$objDB = mysql_select_db($SQL_db);
			$strSQL = "SELECT * FROM truemoney WHERE Status = 'WAIT'";
			$objQuery = mysql_query($strSQL);
			while($objResult = mysql_fetch_array($objQuery))
			{
				$TranID = $objResult["TranID"];
				$TM = $objResult["TM"];
				$CusID = $objResult["CusID"];
				$Ref1 = $objResult["Ref1"];
				$Ref2 = $objResult["Ref2"];
				$Ref3 = $objResult["Ref3"];
				$Time = $objResult["Time"];
				echo '<TranID>'.$TranID.'</TranID><TM>'.$TM.'</TM><CusID>'.$CusID.'</CusID><Ref1>'.$Ref1.'</Ref1><Ref2>'.$Ref2.'</Ref2><Ref3>'.$Ref3.'</Ref3><Time>'.$Time.'</Time><br/>';
			}
			mysql_close();
		}
		mysql_close();
	}
	else if ($Key == $Pass && $Do == "post")
	{
		$TranID = $_GET["TranID"];
		$Status = $_GET["status"];
		$Amount = $_GET["amount"];
		mysql_connect($SQL_host,$SQL_user,$SQL_pass);
		mysql_select_db($SQL_db);
		$strSQL = "UPDATE truemoney SET Status = '".$Status."' , Amount = '".$Amount."' WHERE TranID = '".$TranID."' ";
		$objQuery = mysql_query($strSQL);
		
		$strSQL2 = "SELECT * FROM truemoney WHERE TranID = '".$TranID."' and Status = '".$Status."' and Amount = '".$Amount."'";
		$objQuery2 = mysql_query($strSQL2);
		$objResult = mysql_fetch_array($objQuery2);
		if(!$objResult)
		{
			echo "ERROR|POST";
		}
		else
		{	
			echo "OK";
		}
		mysql_close();
	}
	else
	{
		echo "ERROR";
	}
?>


นี่ไฟล์ VB.NET 2010 ครับ
http://www.mediafire.com/?rkt4nal9cjey08o

แก้ที่ Port Name ก่อนน้ะครับ ให้ตรงกับเจ้าอุปรณ์ของเรา
Code (VB.NET)
Dim Portname As String = "COM3" 'แก้ตรงนี้ครับ



ประวัติการแก้ไข
2014-10-27 06:02:46
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 05:58:31 By : stbungaof
 


 

No. 5



โพสกระทู้ ( 34 )
บทความ ( 0 )



สถานะออฟไลน์


ไฟล์ VB ลองเอาไปเล่นกันดูน้ะครับ ผมเขียนไว้แบบง่ายๆ
ใครจะเอาไปดัดแปลงไปทำอะไรก็ตามใจน้ะครับ แต่ขออย่างเดียวห้ามนำไปขายต่อ
ใครเอาไปขายต่อขอให้ไม่เจริญ!!

อุปกรณ์หาซื้อได้ที่
http://www.arduino.in.th/
http://www.arduinoall.com/

บายๆครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 06:01:41 By : stbungaof
 


 

No. 6



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

สเต็บเทพครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 08:55:01 By : mr.win
 


 

No. 7



โพสกระทู้ ( 34 )
บทความ ( 0 )



สถานะออฟไลน์


เดี๋ยวผมทำโปรเจคอะไรเจ๋งๆ จะเอามาแจกอีกครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 10:48:52 By : stbungaof
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ระบบเติมทรูมันนี่ เค้าทำกันยังไง มันยากไหม มาดูกันครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่