คู่มือการใช้งาน

คู่มือฉบับนี้จะช่วยแนะนำการใช้งานระบบรับชำระเงินของโอมิเซะตั้งแต่ขั้นตอนแรกไปถึงวิธีเขียนเว็บไซต์เพื่อเรียกใช้งาน API โดยเราได้จัดเรียงเนื้อหาพร้อมแนบตัวอย่างตามลำดับการใช้งานจริง ดังนี้:

  1. สร้างบัญชีผู้ใช้
  2. การรับชำระเงิน
  3. การถอนเงิน
  4. การติดตั้งโอมิเซะบนเว็บไซต์
  5. การเปิดโหมดใช้งานจริง

 

1. สร้างบัญชีผู้ใช้

เริ่มต้นที่ Registration บนเว็บไซต์โอมิเซะ

register button on top left

เมื่อกดปุ่มจะเข้าสู่หน้า Register โดยจะปรากฏช่องให้กรอกอีเมล์และตั้งรหัสผ่าน

รหัสผ่านจะต้องประกอบด้วย:

  1. ตัวอักษรภาษาอังกฤษทั้งตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่ และตัวเลข
  2. อักขระพิเศษอย่างน้อยหนึ่งตัว เช่น @ & # ?
  3. มีความยาวอย่างน้อย 10 ตัวอักษร

เมื่อลงทะเบียนเรียบร้อยเว็บไซต์จะพาไปยังแดชบอร์ดพร้อมแจ้งเตือนให้เช็คอีเมล์เพื่อยืนยันตัวตน หากไม่ได้รับอีเมล์ให้กด Request another email เพื่อให้ระบบส่งอีเมล์อีกครั้ง

dashboard page

ที่ด้านบนสุดของแดชบอร์ดจะพบ โหมดทดสอบ และ โหมดใช้งานจริง ซึ่งเป็นตัวเลือกโหมดการทำงานของระบบ

  • โหมดทดสอบ ใช้เพื่อทดสอบและให้ผู้ใช้ได้ทำความคุ้นเคยกับการทำงานของระบบ
  • โหมดใช้งานจริง เป็นการทำรายการจริง

โหมดการทำงานทั้ง 2 นี้จะแยกออกจากกันโดยสิ้นเชิง

วิธีการเปิดใช้งานโหมดทดสอบ จะอยู่ในลำดับสุดท้ายของคู่มือฉบับนี้

 

2. การรับชำระเงิน

ในการรับชำระเงินจากลูกค้า (ผู้ถือบัตร) ให้เลือกที่ Charges สำหรับการใช้งานครั้งแรกระบบจะแจ้งว่ายังไม่มีรายการใดๆ ให้เริ่มต้นทดสอบการสร้างรายการด้วยตนเองโดยเรียก API ผ่าน command line

สำหรับผู้ใช้ mac: ให้เปิดโปรแกรม Terminal

ไปที่ Finder และเข้าไปที่ Application > Utilities > Terminal เมื่อเปิดโปรแกรมจะปรากฏหน้าจอดังภาพทางขวา

open terminal application

สำหรับผู้ใช้ Windows: แนะนำให้ใช้โปรแกรม Git-Bash เพื่อเรียกใช้คำสั่ง curl

สามารถดาวน์โหลดโปรแกรมได้จาก Git-SCM หลังจากติดตั้งแล้ว โปรแกรมจะมีรูปแบบการใช้งานดังภาพ

git bash

เมื่อเตรียมโปรแกรมเรียบร้อย ให้กดที่ Create a charge with a token เพื่อเรียกดูคำสั่งรับชำระเงินทั้งหมด

charge page

เมื่อเปิดจะปรากฏ code ทั้งหมด 2 ชุด ชุดแรกใช้เพื่อสร้าง Token ส่วนชุดที่ 2 เป็นคำสั่งที่ใช้รับชำระเงิน (สร้าง charge)

open charge command line

เริ่มโดยคัดลอกตัวอย่าง code ชุดแรกลงโปรแกรม terminal (Code ชุดนี้มีข้อมูลบัตรและ key บันทึกไว้แล้ว) เมื่อนำไปเรียกผ่าน Terminal จะปรากฏผลลัพธ์ดังภาพ

call request token api

ดูตัวอย่างเป็น ภาพเคลื่อนไหว บน youtube

ข้อมูลที่ส่งกลับมาจะอยู่ในรูปแบบ JSON โดย Token ซึ่งจะถูกนำไปใช้เป็นตัวแทนของบัตรจะแสดงอยู่ที่ “id” ให้คัดลอกตัวอย่าง code ชุดที่ 2 ลงโปรแกรม terminal แล้วจึงคัดลอก Token ที่ได้รับมาแทนที่ token_id ในหัวข้อ card=token_id พร้อมทั้งใส่เครื่องหมาย " ปิดท้าย ตัวอย่างดังภาพ

call_charge_api

ข้อมูลที่ส่งให้กับโอมิเซะประกอบด้วย

  • user id:: เป็น key ที่ได้จากแดชบอร์ดใช้อ้างอิงตัวผู้เรียกใช้ API
  • Description: เพื่อใช้อ้างอิงกับร้านค้า เช่นหมายเลย invoice หรือหมายเลขสินค้า และสามารถใช้ตรวจสอบข้อมูลภายหลังได้
  • Amount: เป็นจำนวนเงินที่ตัดบัตรเครดิต โดยมีหน่วยเป็นสตางค์ เช่นใส่ 100000 จะมีค่าเท่ากับ 1,000 บาท
  • Currency: เป็นหน่วยของเงิน ปัจจุบันรองรับแค่ thb
  • return_url: คือ URL ที่ระบบจะเรียกเมื่อทำรายการสำเร็จ
  • card: เป็น token ที่ได้จากคำสั่งแรก ใช้เพื่ออ้างอิงตัวบัตรเครดิต

ตรวจสอบสถานะรายการได้จาก Status ซึ่งในภาพมีสถานะเป็น Successful เมื่อกลับไปยังหน้า Charge จะพบรายการเรียกเก็บเงินหนึ่งรายการ ดังภาพ

got charge from charge page

สามารถถอนเงินออกจากบัญชีผู้ใช้ได้จาก Transfers ในกรณีที่ไม่มีการยกเลิกรายการ ซึ่งการยกเลิกรายการเกิดขึ้นได้จาก 2 กรณีคือ ร้านค้าทำการคืนเงิน (Refund) หรือผู้ถือบัตรปฏิเสธรายการ (chargeback)

 

3. การถอนเงิน

เมื่อร้านค้าได้รับชำระ ยอดเงินที่ได้รับมาจะปรากฏในบัญชีผู้ใช้ทันทีที่ On hold ซึ่งยังไม่สามารถถอนออกมาได้ ระบบจะรักษายอดเงินไว้เป็นเวลา 7 วัน แล้วจึงจะย้ายยอดดังกล่าวไปยัง Transferable Balance หรือ “ยอดที่ถอนได้”

หมายเหตุ: ในการใช้งานโหมดทดสอบ ระบบจะไม่รักษายอดเงินไว้เป็นยอด On hold เหมือนกับการใช้งานในโหมดใช้งานจริง แต่ยอดที่ได้รับชำระจะไปปรากฏที่ Transferable Balance ทันที ดังภาพ

เมื่อต้องการถอนเงินให้กดที่ Setup a transfer

transfer page

การถอนเงินมี 2 แบบคือ Full Transfer (ถอนทั้งหมด) หรือ Partial Transfer (ถอนแบบระบุจำนวน) ดังภาพ

request full transfer

เมื่อ Setup Transfer แล้วระบบจะสร้างรายการขึ้น โดยในเบื้องต้นจะมีสถานะเป็น Pending กระทั่งถึงรอบ Transfer (ระบบจะถอนเงินวันละ 1 ครั้งตามกำหนดเวลา)

overview of transfer process

เมื่อธนาคารโอนเงินให้กับร้านค้าแล้ว จะส่งรายการ Transfer Success หรือหากไม่สำเร็จจะเป็น Transfer Failed มายังโอมิเซะโดยเราจะทำการแจ้งเตือนร้านค้าต่อไป ในการใช้โหมดทดสอบ สามารถจำลองการส่งข้อมูลไปยังธนาคารได้โดยกดที่ Mark as sent และ จำลองการตอบรับจากธนาคารได้โดยกดที่ Mark as paid

mark as sent button

เมื่อส่งคำสั่งถอนเงินไปยังธนาคาร ยอดเงินจาก Transferable Balance จะถูกหักออกไป

send request to bank show in transfer page

เมื่อธนาคารได้รับคำสั่ง Transfer จะทำการโอนเงินเข้าบัญชีในวันทำการถัดไป ส่วนการทดสอบระบบสามารถจำลองการตอบรับจากธนาคารได้โดยกดที่ Mark as paid

mark as paid button

**หากยอดเงินที่ต้องการถอนจากบัญชีผู้ใช้มีจำนวนมากกว่ายอดคงเหลือใน Transferable Balance (ยอดที่ถอนได้) ระบบจะดำเนินการอีกครั้งในวันถัดไปและรายการจะสำเร็จเมื่อมียอดเงินเพียงพอ

 

4. การติดตั้งโอมิเซะบนเว็บไซต์

ร้านค้าที่ใช้งานระบบอีคอมเมิร์ซ สามารถอ่านวิธีการติดตั้งปลั๊กอินของเราได้จากคู่มือต่อไปนี้:

หากเป็นไซต์คอมเมิร์ซที่ปลั๊กอินของเรายังไม่รองรับหรือเป็นเว็บไซต์ที่สร้างขึ้นเอง สามารถเรียกใช้งาน SDK ในภาษาต่างๆ ของเราได้

การติดตั้งบนแอปพลิเคชันมือถือ

การติดตั้งบนเว็บไซต์

ตัวอย่างการใช้งาน Omise API ผ่านเว็บไซต์ภาษา PHP โดยไม่ผ่านปลั๊กอิน หรือ Composer ใดๆ

เริ่มจากการสร้างไฟล์ index.html และใส่ตัวอย่างโปรแกรมด้านล่างลงไป

<html>
<head>
</head>
<body>
<form name="checkoutForm" method="POST" action="checkout.php">
  <script type="text/javascript" src="https://cdn.omise.co/omise.js"
    data-key="pkey_test_52jyu0r8o4307z0zz00"
    data-image="http://bit.ly/customer_image"
    data-frame-label="Merchant site name"
    data-button-label="Pay now"
    data-submit-label="Submit"
    data-location="no"
    data-amount="10025"
    data-currency="thb"
    >
  </script>
  <!--the script will render <input type="hidden" name="omiseToken"> for you automatically-->
</form>

<!-- data-key="YOUR_PUBLIC_KEY" -->
</body>
</html>

จะเห็นว่าเราไม่ต้องสร้างฟอร์มสำหรับกรอกข้อมูลบัตรเครดิตเลย เพราะว่า Omise.js ได้เตรียมฟอร์มสำเร็จรูปไว้ให้แล้ว เพียงเปลี่ยน YOUR_PUBLIC_KEY เป็น Key ของคุณที่ได้จากแดชบอร์ดและเปลี่ยน PATH_TO_LOGO_IMAGE เป็น URL ของรูปภาพ เช่น http://bit.ly/customer_image ก็สามารถใช้งานได้เลย

กรณีที่ต้องการสร้างฟอร์มเองสามารถดูตัวอย่างได้ที่ การรับข้อมูลบัตร

เมื่อสร้างไฟล์ index.html เพื่อใช้เป็นฟอร์มสำหรับการรับข้อมูลบัตรแล้ว ให้สร้างไฟล์ checkout.php เพื่อทำการ charge บัตร โดยโปรแกรมสามารถเรียกใช้งาน library omise.php เพื่อความสะดวกในการพัฒนา

นักพัฒนาสามารถดาวน์โหลด library ได้จาก github.com/omise/omise-php โดยแตก zip ไฟล์และเปลี่ยนชื่อ folder เป็น omise-php

ในการใช้งานจริง แนะนำให้ใช้ git clone แทนการ download เพื่อความสะดวกในการปรับปรุง code ให้ทันสมัย

<?php

require_once dirname(__FILE__).'/omise-php/lib/Omise.php';
define('OMISE_API_VERSION', '2015-11-17');
// define('OMISE_PUBLIC_KEY', 'PUBLIC_KEY');
// define('OMISE_SECRET_KEY', 'SECRET_KEY');
define('OMISE_PUBLIC_KEY', 'pkey_test_52jyu0r8o4307z0zz00');
define('OMISE_SECRET_KEY', 'skey_test_52jyu0r8mim84ylp454');

$charge = OmiseCharge::create(array(
  'amount' => 10025,
  'currency' => 'thb',
  'card' => $_POST["omiseToken"]
));

echo($charge['status']);

print('<pre>');
print_r($charge);
print('</pre>');

นำ PUBLIC_KEY และ SECRET_KEY จากแดชบอร์ดมาเปลี่ยนใน code PHP แล้วทดลองเรียกไฟล์ index.html

example in browser

ในหน้าจอแรกจะมีปุ่ม Pay now ซึ่งสร้างขึ้นด้วยโปรแกรม Omise.js เมื่อกดจะปรากฏแบบฟอร์มสำหรับกรอกข้อมูลบัตร ในการทดสอบสามารถใช้บัตรเครดิตเป็น

Name: JOHN DOE
Number: 4242424242424242
Expired month: 12
Expired year: 2020
Security code: 123

เมื่อกด Submit และระบบสามารถ Charge บัตรได้ จะปรากฏข้อความ Success
อ่านเพิ่มเติมเกี่ยวกับข้อมูลทางเทคนิคได้ที่ Documentation หรือหากมีข้อสงสัยเกี่ยวกับการทำงานไปที่ส่วนช่วยเหลือ เมื่อพร้อมใช้งานในโหมดใช้งานจริง อ่านขั้นตอนการส่งเอกสารได้ในบทต่อไป

 

5. การเปิดโหมดใช้งานจริง

เมื่อพร้อมรับชำระเงินจากลูกค้าแล้ว สิ่งที่ต้องทำต่อไปคือขอเปิดโหมดใช้งานจริงกับเจ้าหน้าที่ของเรา

สิ่งที่ต้องเตรียม:

  • บัญชีผู้ใช้โอมิเซะที่มีอีเมล์ซึ่งได้รับการยืนยันแล้ว
  • เว็บไซต์ร้านค้าที่เสร็จสมบูรณ์และสามารถเข้าชมได้
  • เว็บไซต์ของร้านค้าจะต้องชี้แจงนโยบายการคืนเงิน (refund) ไว้อย่างชัดเจนที่ใดที่หนึ่ง: term and condition - ในลำดับหน้าก่อนขั้นตอนเช็คเอาท์สุดท้าย โดยจะต้องมีปุ่ม “คลิกเพื่อยอมรับ” หรือปุ่มอื่นๆ เพื่อให้ผู้ถือบัตรกดเพื่อยืนยันการรับทราบข้อมูล หรือ
    - ในหน้าเช็คเอาท์ใกล้กันกับปุ่ม “ยืนยัน” หรือ ปุ่ม “คลิกเพื่อยอมรับ”
    หมายเหตุ: คำชี้แจงจะต้องไม่เป็นลิงก์ที่ redirect ผู้ใช้ไปยังหน้าอื่น
  • เอกสารตามคำแนะนำด้านล่างสำหรับอัพโหลด ในรูปแบบไฟล์ PDF JPG หรือ PNG

หากเป็นธุรกิจต้องใช้เอกสารดังนี้

  • หนังสือรับรองบริษัท (DBD) มีอายุไม่เกิน 60 วัน
  • แบบ บอจ. 3 รายการจดทะเบียนจัดตั้ง
  • แบบ บอจ. 5 สำเนาบัญชีรายชื่อผู้ถือหุ้น

    • สำเนาบัตรประชาชนผู้ถือหุ้นตั้งแต่ 25% ขึ้นไป (สำหรับชาวต่างชาติ ใช้พาสปอร์ต)
  • ใบทะเบียนภาษีมูลค่าเพิ่ม ภ.พ. 20 (ถ้ามี)

  • สำเนาบัตรประชาชนคณะกรรมการผู้มีอำนาจลงนาม

  • สำหรับชาวต่างชาติ ใช้พาสปอร์ต ใบอนุญาตทำงานในประเทศไทย และหลักฐานยืนยันที่อยู่:

    • ทะเบียนบ้าน ท.ร. 13 (เล่มสีเหลือง) หรือ
    • ใบแจ้งยอดบัตรเครดิต หรือใบแจ้งยอดสาธารณูปโภค ซึ่งระบุชื่อและที่อยู่ปัจจุบัน
  • หน้าแรกของสมุดบัญชีธนาคารที่ต้องการใช้เชื่อมกับบัญชีโอมิเซะ เพื่อรับเงินโอนเข้า โดยบัญชีจะต้องเป็นของธนาคารในประเทศไทย และชื่อบัญชีจะต้องตรงกับชื่อที่ระบุบนหนังสือรับรองบริษัท

  • รายการเดินบัญชีย้อนหลัง (อาจจำเป็นต้องใช้ในบางกรณี)

สำเนาเอกสารทั้งหมดต้องลงลายมือชื่อโดยคณะกรรมการผู้มีอำนาจลงนาม พร้อมรับรองสำเนาถูกต้อง และประทับตราสำคัญของบริษัท

หากเป็นบัญชีส่วนบุคคลต้องใช้เอกสารดังนี้

  • บัตรประจำตัวประชาชน
  • สำหรับชาวต่างชาติ ใช้พาสปอร์ต ใบอนุญาตทำงานในประเทศไทย และหลักฐานยืนยันที่อยู่:

    • ทะเบียนบ้าน ท.ร.13 (เล่มสีเหลือง) หรือ
    • ใบแจ้งยอดบัตรเครดิต หรือใบแจ้งยอดสาธารณูปโภค ซึ่งระบุชื่อและที่อยู่ปัจจุบัน
  • หน้าแรกของสมุดบัญชีธนาคารที่ต้องการใช้เชื่อมกับบัญชีโอมิเซะ เพื่อรับเงินโอนเข้า โดยบัญชีจะต้องเป็นของธนาคารในประเทศไทย และชื่อบัญชีจะต้องตรงกับชื่อบนบัตรประชาขน

  • รายการเดินบัญชีย้อนหลัง (อาจจำเป็นต้องใช้ในบางกรณี)

สำเนาเอกสารทั้งหมดต้องลงลายมือชื่อ (ไม่ใช่ลายเซ็นอิเล็กทรอนิกส์) พร้อมรับรองสำเนาถูกต้อง และประทับตราสำคัญของบริษัท

ขั้นตอน

live dashboard

  • ลงชื่อเข้าใช้งานแล้วคลิกที่โหมดทดสอบ
  • ระบบจะพาไปยังหน้า Register ให้กรอกข้อมูลพร้อมทั้งอัพโหลดไฟล์ตามประเภทบัญชีที่ได้ชี้แจงไปข้างต้น

เอกสารจะต้องเป็นไฟล์ PDF JPG หรือ PNG เท่านั้น โดยสามารถอัพโหลดไฟล์พร้อมกันทีละหลายๆ ไฟล์ หรือจะแยกอัพโหลดทีละไฟล์ก็ได้ (ไม่ต้อง zip รวมเป็นไฟล์เดียว)

submit document

เมื่อกรอกรายละเอียดครบถ้วนให้คลิก Submit for approval หรือหากต้องการกลับมาแก้ไขอีกครั้งให้ Save as draft ไว้ก่อน

เมื่อทีมงานของเราได้รับเอกสารครบทั้งหมดจะใช้เวลาพิจารณาอนุมัติการใช้งาน 2-3 วันทำการ โดยเราอาจต้องติดต่อคุณหากมีคำถามเพิ่มเติมหรือในกรณีที่เอกสารไม่ครบ