วิธีการสร้างระบบชำระเงินด้วย omise โดยใช้ php

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
Ittichai_chupol
PHP VIP Members
PHP VIP Members
Posts: 3935
Joined: 19/09/2018 10:33 am

วิธีการสร้างระบบชำระเงินด้วย omise โดยใช้ php

Post by Ittichai_chupol » 16/01/2020 6:53 pm

ในการพัฒนาเว็บไซต์ ต่างๆ โดยเฉพาะเว็บไซต์ที่เกี่ยวข้องการการขายสินค้า หรือ เว็บไซต์ที่เกี่ยวข้องการกับบริการต่างๆที่มีการคิดค่าใช้จ่ายนั้น คงอยากจะมีส่วนที่ที่ไว้ใช้ชำระเงิน เพื่อที่จะได้อำนวยความสะดวกทั้งผู้ที่เป็นเจ้าของเว็บไซต์หรือแม้กรทั่งผู้ที่เข้ามาใช้บริการ หรือลูกค้า โดยปกติส่วนใหญ่คงจะเป็นการทำเพียงแปะข้อมูลบัญชีธนาคารเพื่อให้ผู้ที่เข้ามาใช้บริการทำการโอนเงิน แล้วส่งหลักฐานการโอนไปที่หลัง หรือ การแปะ QrCode สำหรับการโอนเงินผ่าน App ของธนาคารต่างๆที่มีให้ แต่ทั้งนี้ ถ้าหากต้องการที่จะใช้การตัดเงินจากบัตรเครดิตก็สามารถที่จะพัฒนา เว็บไซต์ เพื่อให้รองรับได้เช่นกัน โดยจากตัวอย่างนี้ จะเป็นการพัฒนาส่วนการชำระเงินด้วยบัตรเครดิต โดย php] และ ให้ตัวกลางในการชำระเงินก็คือ Omise โดยมีขั้นตอนดังนี้

1.สร้างโคด html เพื่อเป็นหน้ากรอกข้อมูลสำหรับการส่งไปยัง omise

Code: Select all


    <h2>ตั้งค่าทั่วไป</h2>
    <div class="panel">
        <div class="inner">
            <fieldset>
                <dl>
                    <dt><label>แพ็กเกจที่เลือก</label></dt>
                    <dd><input type="text"  class="inputbox autowidth" name="package_name"  size="20" maxlength="255" value="{PACKAGE_NAME_CONCLUDE}"></dd>
                </dl>
                <dl>
                    <dt><label>ราคา</label></dt>
                    <dd><input type="text"  class="inputbox autowidth" name="package_price" size="20" maxlength="255" value="{PACKAGE_PRICE_CONCLUDE}"></dd>
                </dl>
                <dl>
                    <dt><label for="timezone">วิธีการชำระเงิน</label></dt>
                    <dd>     
                        <form id="checkoutForm" method="POST" action="{T_ACTION}">
                            <input type="hidden" name="pay" value="save_cradit">
                            <input type="hidden" name="next_id" value="{ID_NEW}">
                            <input type="hidden" name="price" value="{PACKAGE_PRICE_OMISE}">
                            <script type="text/javascript" src="https://cdn.omise.co/omise.js"
                                    data-key="pkey_test_5icyktbp782n4udybo0" //ส่วนนี้เป็นส่วนที่จำใส่ key public จาก omise
                                    data-amount="{PACKAGE_PRICE_OMISE}"  //ส่วนนี้เป็นส่วนที่จะส่งค่าจำนวนเงิน
                                    data-currency="THB" //ใส่สกุลเงิน
                                    data-default-payment-method="credit_card">
                            </script>
                        </form>
                    </dd>
                </dl>
            </fieldset>
        </div>
    </div>

Selection_999(2396).png
Selection_999(2396).png (18.26 KiB) Viewed 126 times


จากนั้นก็กรอกข้อมูลในช่องกรอก
Selection_999(2397).png


2.ส่วนการทำงาน php สำหรับการส่งค่าให้กับ omise ** ก่อนอื่นต้องเข้าไปดาวน์โหลด library ของ omise มาก่อน ที่นี้

Code: Select all

  $key_token = $request->variable('omiseToken', ''); //ส่วนนี้เป็นส่วนที่จะดึงค่า  Token id 
            $price = $request->variable('price', 0);
            $url = 'https://api.omise.co/charges'; 
            require_once dirname(__FILE__) . '/omise-php/lib/Omise.php'; //ส่วนนี้เป็นส่วนที่เรียกค่าของ library
            define('OMISE_API_VERSION', '2019-05-29'); //เลขเวอชั่น omise ที่ใช้อยู่ในปัจจุบัน
            define('OMISE_PUBLIC_KEY', $row_cradit['data_cradit_public_key']);  //public_key ที่ได้รับมาจาก omise
            define('OMISE_SECRET_KEY', $row_cradit['data_cradit_private_key']); //private_key ที่ได้รับมาจาก omise

            $charge = \OmiseCharge::create(array(
                        'amount' => $price, //จำนวนเงิน
                        'currency' => 'thb', //สกุลเงิน
                        'card' => $key_token //  Token id 
            ));
            print('<pre>');
            print_r($charge);
ตัวอย่างผลลัพธ์ถ้าหากทำงานถูกต้อง
Selection_999(2398).png
Selection_999(2398).png (241.91 KiB) Viewed 126 times

บทความที่เกี่ยวข้อง

การสร้าง Extension ใน phpbb
การสร้าง controller สำหรับ phpbb
Event listenner - เขียน Extension บน phpBB 3.1
私を傷つけるすべてが終了します。

  • Similar Topics
    Replies
    Views
    Last post

Return to “PHP Knowledge”

Who is online

Users browsing this forum: No registered users and 9 guests