อยากรับจ่ายเงินผ่านทาง เว็บไซต์ต้องคิดอะไรบ้าง

thai

#1

ที่บริษัทเปิดเว็บไซต์ขึ้นมาใหม่ครับ

ตอนนี้ต้องการรับเงินจากลูกค้า ให้สามารถซื้อสินค้าและบริการจากทางเว็บไซต์ได้ ทราบมาว่าต้องใช้บริการของ Payment Gateway เพื่อรับเงิน

แต่ไม่มีความรู้พื้นฐานอยากได้รับคำแนะนำ


#2

ระบบ Payment Gatway เป็นตัวกลางในการรับชำระเงินผ่านทางช่องทางต่าง ๆ เช่น บัตรเครดิต internet banking และ counter service ครับ

โดยทั่วไปแล้วการใช้ Payment gateway จะช่วยลดงานในการพัฒนา รวมถึงงานดูแลรักษาในระยะยาว ถ้าเลือกใช้ตัวกลางที่มีความเสถียรสูง จะช่วยสร้างความมั่นใจในการชำระเงินให้กับลูกค้าของบริษัทด้วย ซึ่งส่งผลกระทบต่อการตัดสินใจจ่ายเงินของลูกค้าอย่างมาก

ที่ผ่านมามีระบบ Payment Gateway ให้คนไทยได้ลองใช้กันมากมาย โดยแบ่งออกเป็นสามแบบหลัก ๆ คือ

  1. ระบบ Payment ยุคแรกที่ผู้ใช้ต้องสร้างระบบส่วนใหญ่ขึ้นมาเอง เช่น Authorize.net, ChasePaymentech
  2. ระบบที่มีหน้าตัดบัตรเครดิตให้ เช่น Paypal, Google Checkout, Amazon Payment
  3. ระบบ Payment ยุคใหม่ที่ร้านค้าสร้างเฉพาะส่วนหน้าบ้าน เช่น Omise, Stripe

เราลองมาดูข้อดีข้อเสียของแต่ละระบบ

1. ระบบ Payment ยุคแรก

ระบบนี้ผู้ให้บริการจะเตรียมเฉพาะส่วนของการติดต่อกับทางผู้ให้บริการบัตรเครดิตให้ ส่วนระบบความปลอดภัยในการส่งข้อมูล ระบบการจัดเก็บบัตรเครดิต ระบบ dispute, refund หรือระบบการจัดการ transaction และรายงาน ทางร้านค้าจะต้องสร้างขึ้นมาเองทั้งหมด

ข้อดี

  • ควบคุมหน้าตาที่ผู้ใช้จะเห็นได้ 100%

ข้อเสีย

  • ต้องรับผิดชอบข้อมูลบัตรเครดิต และข้อมูลของผู้ใช้ ซึ่งมีความเสี่ยงสูง ซึ่งทำให้ต้องลงทุนทั้งเวลาและงบประมาณเพื่อให้ผ่านมาตรฐาน PCI
  • ต้องลงทะเบียนกับรัฐบาล/ธนาคาร ซึ่งใช้เวลานานและใช้เอกสารจำนวนมากที่ต้องทำให้ถูกต้อง
  • คำนวนค่าใช้จ่ายและคาดการได้ยาก
  • API เก่าใช้งานยาก ส่งผลถึงเวลาที่ใช้ในการพัฒนา และการดูแลระบบ

2. ระบบที่มีหน้า Payment ให้

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

ข้อดี

  • ลดภาระในการดูและความปลอดภัยในหน้า payment ซึ่งช่วยให้ผ่านมาตรฐาน PCI ในการรับชำระบัตรเครดิตได้ง่ายขึ้น
  • สามารถเริ่มต้นได้เร็ว โดยไม่ต้องขึ้นทะเบียนร้านค้ากับทางบัตรเครดิต VISA/MASTERCARD/JCB etc.
  • คิดราคาได้ง่าย นับจาก

ข้อเสีย

  • ผู้ใช้จะถูกส่งไปที่เว็บไซต์อื่น ซึ่งมีหน้าตาต่างจากเว็บเดิม ร้านค้าไม่สามารถกำหนด user experience ได้
  • API ไม่ชัดเจน และไม่ยืดหยุ่นให้ปรับแต่งอะไร
  • ผู้ใช้มักพบปัญหาในการจ่าย หรือใช้เวลานานในการจ่ายเมื่อระบบสงสัยว่ารายการนั้นเป็น fraud

3. ระบบ Payment ยุคใหม่

เป็นระบบที่แก้จุดบกพร้องและนำข้อดีของทั้งระบบที่ 1 และ 2 มารวมกัน เจ้าของร้านสามารถสร้างหน้าจ่ายเงินได้เอง ทำให้สามารถควบคุมประสบการณ์ของผู้ใช้ได้อย่างเต็มที่ โดยไม่เสียเรื่องความปลอดภัยและ ไม่จำเป็นต้องขอใบรับรองจากทาง Bank Of Thailand

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

ในภาพเป็น 3 ขั้นตอนในการจ่ายเงิน

ขั้นที่ 1 ข้อมูลบัตรจะถูกเข้ารหัสแล้วส่งตรงมาที่ Omise Server โดยใช้ Omise.js หรือ Omise SDK

ขั้นที่ 2 หลังจากข้อมูลบัตรผ่านการตรวจสอบแล้ว เราจะส่ง Token (รหัสตัวเลข) มาให้ร้านค้า

ขั้นที่ 3 ลูกค้าจะสั่งสินค้าพร้อมกับส่ง Token มาให้กับร้านค้า แล้วร้านค้าจึงใช้ Token ในการสั่งตัดบัตรเครดิตกับทาง Omise

จะเห็นว่าด้วยเทคนิคนี้ ร้านค้าสามารถมีหน้าจ่ายบัตรในแบบของตนเองได้ และไม่ต้องยุ่งกับระบบการเก็บและตรวจสอบบัตรเครดิตเลย

ข้อดี

  • สามารถควบคุมหน้าตาการจ่ายเงินได้ 100% ไม่ต้องส่งผู้ใช้ไปนอกเว็บ
  • ได้ระบบความปลอดภัยที่ผ่าน PCI ทันที ร้านค้าไม่ต้องกังวลกับข้อมูลที่มีความเสี่ยงสูง
  • API ทันสมัย พัฒนาได้เร็ว
  • ระบบแบบนี้ส่วนมากจะคิดคำนวนต้นทุนได้ง่าย เพราะเก็บตาม transaction ไม่ได้เป็นแบบเหมา

ข้อเสีย

  • ต้องสร้างหน้าจ่ายเงินเอง (ถ้าไม่ต้องการสร้างเอง ทาง Omise หรือ Stripe จะมีหน้าจ่ายเงินแบบ Open-source ไว้ให้เอาไปใช้)

รู้พื้นฐานแล้ว ต้องคิดอะไรอีก

  1. ต้องให้ทีมได้ทดลองใช้งานก่อนตัดสินใจ ระบบ Payment Gateway ที่ดีจะมีระบบให้ทดลองทำจ่ายแบบเหมือนจริง เพื่อให้เรารู้ว่าเวลาใช้งานจริง ผู้ใช้จะเห็นอะไร

  2. ต้องผ่าน PCI DSS ให้ครบทุก scope ที่จะใช้งาน ทั้ง Storage, Processing และ Transmit ถ้าขาดข้อ Storage ก็จะทำให้เราทำ one click check out ไม่ได้ หรืออาจจะมีความเสี่ยงเพิ่มขึ้นโดยไม่จำเป็น

  3. ต้องมีความเสถียรสูง แต่ไม่ได้หมายความว่า Server ไม่ล่มอย่างเดียวนะครับ ระบบต้องเสถียรในการตัดบัตรด้วย

  4. ต้องเตรียม Library, SDK ให้กับคนทำงาน เพราะทีมพัฒนาของเราไม่ใช่ผู้เชียวชาญด้านการจ่ายเงิน เราเชียวชาญด้านการขายของเป็นหลัก ทาง Payment ควรเตรียมไว้ให้

  5. สามารถเรียกดึงข้อมูลผ่าน API ได้ เช่นการดูรายการทั้งหมด การทำ refund การทำ dispute, trasfer เพื่อให้แน่ใจว่าต่อไปเราสามารถเรียกใช้งานผ่านทางโปรแกรมของบริษัทของเราเองได้ หรือเราสามารถสร้างระบบอัตโนมัติได้ในอนาคต

ถ้าทดลองใช้แล้วมันผ่านข้อหลัก ๆ ก็มั่นใจในการดำเนินการต่อได้มากขึ้นครับ ให้ทีมพัฒนาลองอ่านเอกสารในการพัฒนาต่อได้เลย

สำหรับ omise สามารถอ่านได้ที่ https://www.omise.co/docs
หรือดูแนวทางการพัฒนาแบบที่ละขั้นได้ที่ https://www.omise.co/step-by-step-guide

มีทั้งภาษาไทยและภาษาอังกฤษครับ :smile: