อุปสรรคใหญ่ในการทำการค้าออนไลน์ของเมืองไทยอย่างหนึ่งที่ทุกคนเจอกันคือการรับจ่ายเงินที่ยังทำได้ยาก การค้าออนไลน์จำนวนมากทุกวันนี้ยังอาศัยการโอนเงินแบบตัวต่อตัว ทำให้ไม่มีกระบวนการคืนเงิน เรายังคงได้ยินข่าวการหลอกลวงทั้งลูกค้าถูกพ่อค้าแม่ค้าหลอกลวง หรือฝั่งพ่อค้าแม่ค้าเองที่ถูกลูกค้าหลอกว่าโอนเงินแล้ว
วันนี้เราจึงมาคุยกับ Omise ผู้ให้บริการ payment gateway ที่จะเปิดโอกาสให้ร้านค้าออนไลน์สามารถรับจ่ายเงินผ่านบัตรเครดิตได้โดยง่าย สามารถตรวจสอบย้อนหลังได้ ฝั่งลูกค้าก็สามารถทำเรื่องขอคืนเงินได้ อุปสรรคสำคัญที่ทำให้บริการเช่นนี้ไม่สามารถเปิดให้บริการโดยคนทั่วไปเพราะต้องผ่านการรับรอง PCI-DSS ที่มีกระบวนการตรวจสอบเข้มงวด หลายแห่งใช้เวลาขอรับรองนานนับปี และปีนี้ก็เริ่มมีการปรับไปสู่ PCI-DSS 3.0
ผมมีโอกาสได้คุยกับ Ezra Don Harinsut ผู้ร่วมก่อตั้ง Omise, CTO ของบริษัท Robin Clart, และ CIO ของบริษัท Frederico Araujo
ข้อมูลเปิดเผย ทาง Omise เป็นผู้สนับสนุน Blognone ด้วยการซื้อพื้นที่โฆษณา อย่างไรก็ดีบทความนี้เป็นการติดต่อจากความสนใจของผมเอง (และจากผู้อ่านที่สังเกตจากยอด like ในข่าว) ไม่ได้เกี่ยวกับการสนับสนุนทางแบนเนอร์
เรารวมตัวกันเมื่อต้นปีที่ผ่านมาโดยความตั้งใจแรกของเราคือจะทำระบบอีคอมเมิร์ซ และเราพบว่าอุปสรรคอย่างหนึ่งคือไม่มี payment gateway ที่เราต้องการ เราเลยวางแผนพัฒนา payment gateway ของเราเองเข้าไว้ในแผนการพัฒนาด้วย
หลังจากได้คุยกับผู้ลงทุน เราได้รับคำแนะนำว่าควรโฟกัสกับบริการเพียงอย่างเดียวก่อน และในเมื่อบริการ payment gateway เป็นปัญหาใหญ่อยู่แล้วเราก็สามารถลงมาแก้ปัญหาตรงนี้และทำบริการที่เป็นธุรกิจได้ ทำให้เราตัดสินใจเข้ามาทำบริการนี้
เราเริ่มพัฒนาเมื่อช่วงกลางปีที่ผ่านมา รวมเวลาพัฒนาจนกระทั่งให้บริการประมาณสี่เดือน โดยพัฒนาบริการบน Amazon Web Service (AWS)
มาตรฐาน PCI-DSS เองจะแบ่งหมวดการตรวจสอบเป็น 12 หมวด เช่น ระบบการล็อกอิน, การเข้าถึงข้อมูล, การเข้าถึงตัวเซิร์ฟเวอร์ ฯลฯ บริการ AWS มีบริการ AWS PCI Compliance Package อยู่แล้วโดยทางอเมซอนจะได้รับการตรวจสอบ PCI-DSS 3.0 ไปแล้ว 2-3 หมวดทำให้เราไม่ต้องขอการรับรองในส่วนนี้ซ้ำอีก
กระบวนการตรวจสอบเซิร์ฟเวอร์ใน PCI-DSS เป็นเรื่องใหญ่ เราต้องตรวจสอบการเข้าถึงเซิร์ฟเวอร์, มีบันทึกการเข้าถึงทุกครั้ง, หรือบางครั้งก็ต้องปิดไม่ให้ใช้งานพอร์ต USB บนเซิร์ฟเวอร์เอง กระบวนการเหล่านี้ยุ่งยากและกินเวลาในการตรวจสอบมาก หลายองค์กรเตรียมการขอรับรอง PCI-DSS หลายปีก็ยังไม่สามารถขอได้
AWS PCI Compliance Package จะแยกออกจากบริการปกติและต้องร้องขอเป็นกรณีพิเศษ เซิร์ฟเวอร์เหล่านี้จะถูกแยกออกจากเซิร์ฟเวอร์ทั่วไปและคนที่จะเข้าถึงเซิร์ฟเวอร์ได้ต้องได้รับการรับรอง
เรามีปัญหากับธนาคารไม่มากนัก แต่คนที่ถามคำถามเรามากที่สุดคงเป็นธนาคารแห่งประเทศไทย ส่วนหนึ่งเพราะข้อมูลของเราอยู่ในสิงคโปร์ และเราไม่มีสิทธิ์เข้าถึงเซิร์ฟเวอร์ที่เราเก็บข้อมูลได้จริงๆ
ธนาคารแห่งประเทศไทยยังถามข้อมูลหลายอย่างที่เราเองก็ไม่มีข้อมูล อย่างรุ่นเมนบอร์ดหรือยี่ห้อเซิร์ฟเวอร์แต่ทั้งหมดก็สามารถทำความเข้าใจได้และได้รับใบอนุญาต
มาตรฐาน PCI-DSS 3.0 เป็นมาตรฐานเพื่อรับรองว่าระบบของเราปลอดภัยพอที่จะประมวลผล, รับส่งข้อมูล, หรือเก็บข้อมูลบัตรเครดิตได้ โดยปกติมาตรฐานนี้จะออกใหม่ทุกสามปีอยู่แล้ว มาถึงปีนี้มาตรฐานก็ออกใหม่อีกครั้งเป็นรุ่น 3.0
โดยปกติแล้วผู้ให้บริการบัตรเครดิตจะให้ยอมเชื่อมต่อระบบกับ payment gateway หรือผู้ค้าได้ จะบังคับว่าคนที่มาเชื่อมต่อจะต้องได้รับรอง PCI-DSS รุ่นที่ยังมีผลอยู่เสียก่อน
ส่วนรุ่น 3.0 ที่จริงแล้วรุ่นนี้มีความเปลี่ยนแปลงที่เหมาะกับเราหลายอย่าง โดยเฉพาะความยืดหยุ่นที่รองรับการให้บริการผ่านคลาวด์อย่าง AWS ได้ ตัว PCI-DSS 2.0 เองก็กำลังหมดอายุภายในสิ้นปีนี้ ตอนนี้คงไม่มีประโยชน์ที่จะขอรับรองอีกต่อไป
มาตรฐานรุ่น 2.0 เองแม้จะไม่ได้รับรองคลาวด์โดยตรง แต่โดยตัวมาตรฐานก็ระบุว่าในส่วนที่ไม่สามารถควบคุมได้จะต้องมีมาตรการความปลอดภัยเพิ่มเข้ามาทดแทน แต่ก็เป็นงานที่เพิ่มเข้ามา
เราต้องศึกษาก่อนว่า PCI-DSS ต้องทำตามมาตรฐานอย่างไรบ้าง และพัฒนาให้เป็นไปตามมาตรฐาน แล้วเรียกบริษัทที่ให้การรับรองเข้ามาตรวจสอบ
ก่อนที่บริษัทจะเข้ามาตรวจสอบเราต้องเตรียมเอกสารนโยบายแนวทางการทำงานของเราไว้ก่อน โดยให้เป็นไปตามมาตรฐาน ตัวอย่างเช่นนโยบายการแยกส่วนของข้อมูลออกจากกัน ตัวฐานข้อมูลมีเฉพาะผู้ดูแลฐานข้อมูลที่สามารถอ่านค่าที่เข้ารหัสไว้ ขณะที่ผู้ดูแลแอพพลิเคชั่นจะเข้าถึงกุญแจการเข้ารหัส แต่ไม่สามารถเข้าถึงตัวฐานข้อมูลได้โดยตรง
บริษัทที่รับรอง PCI-DSS จะตรวจสอบทุกส่วนของบริการ ตั้งแต่ซอฟต์แวร์ทุกบรรทัด ว่าเราจัดการกับข้อมูลอย่างไร ไปจนถึงกระบวนการตรวจสอบว่าเรามีกระบวนการจัดการอย่างไร เก็บกุญแจเข้ารหัสไว้ที่ไหน มีใครสามารถเข้าถึงเซิร์ฟเวอร์บ้าง รวมไปถึงการสแกนความปลอดภัยในแต่ละส่วน
กระบวนการขอตรวจสอบเพื่อรับรอง PCI-DSS กินเวลาประมาณสองสัปดาห์ หากผ่านการตรวจสอบแล้วต้องระวังไม่ให้มีอะไรผิดพลาดอีก ไม่อย่างนั้นเราจะถูกถอนใบรับรอง
ตัวมาตรฐานเองแบ่งออกเป็นหลายส่วนและเราสามารถเลือกที่จะไม่ทดสอบบางส่วนได้ เช่น การเก็บข้อมูลบัตรเครดิตไว้กับเรา ซึ่งจะทำให้เราไม่ต้องผ่านการตรวจสอบอีกหลายอย่าง
แต่การผ่านการรับรองการเก็บหมายเลขบัตรเครดิต จะทำให้เราสามารถให้บริการแบบ tokenize หรือการที่ผู้ใช้ไม่ต้องกรอกเลขบัตรเครดิตใหม่ทุกครั้งแบบเดียวกับ Amazon หรือ Google Wallet ทำให้ลูกค้าของเราที่เป็นหน้าร้านรับบัตรเครดิตสามารถให้บริการลูกค้าได้สะดวกขึ้นมาก
หลังจากได้รับรอง เราต้องทำตามแนวทางที่ระบุไว้ก่อนหน้า เราต้องเก็บล็อกบันทึกไว้เป็นเวลานานว่าใครเข้าไปแก้ไขอะไรด้วยเหตุผลอะไรบ้าง เราต้องอัพเดตช่องโหว่ซอฟต์แวร์ภายในเวลาอันรวดเร็ว
ทุกวันนี้เราใช้ Chef เพื่อเข้าไปแก้ไขอัพเดตระบบในแต่ละครั้ง เวลาที่มีอัพเดตเราต้องทดสอบกับระบบทดสอบล่วงหน้าด้วยสคริปต์อัพเดตที่เราเตรียมไว้แต่ละครั้ง จากนั้นก็รันสคริปต์อัพเดตในระบบจริงอีกครั้ง
ข้อจำกัดอย่างหนึ่งของซอฟต์แวร์คือเราต้องขอรับรองใหม่หากมีการแก้ไขโค้ดของระบบ กระบวนการนี้ทำให้เราต้องแบ่งโค้ดออกเป็นสองส่วนคือส่วนแกนและภายนอกแยกออกจากกัน ส่วนแกนกลางจะไม่ค่อยแก้ไขอะไรนักและการอัพเดตจะอัพเดตจากส่วนภายนอกเป็นหลัก
PCI-DSS เป็นการรับรองที่ได้แล้วไม่มีการถอยหลัง ถ้าเราทำพลาดอะไรในอนาคตเราอาจจะไม่ได้รับรองอีก ธุรกิจเราอาจจะจบไปเลย
โดยทั่วไปแล้วไม่ต้องทำอะไรเพราะหมายเลขบัตรเครดิตไม่เคยอยู่ที่ร้านค้า โดยทั่วไปเราแนะนำให้ใช้ TLS เพื่อเข้ารหัส เวลาที่ผู้ซื้อสินค้าจะกรอกหมายเลขบัตรเครดิต ที่ฟอร์มหน้าเว็บของร้านค้า และ จะมีการส่งข้อมูลโดย TLS มายัง Sever ของ Omise โดยไม่ผ่าน Server ของร้านค้า ข้อมูลจะส่งแบบเข้ารหัสมายัง Omise และจัดเก็บตามมาตรฐาน
กระบวนการเรียกเก็บเงินโดยทั่วไปเมื่อผู้ซื้อกรอกหมายเลขบัตร จะมีการสร้าง Token ซึ่งใช้แทนข้อมูลบัตร เพื่อเรียกเก็บเงิน ถ้ามีการแฮก ก็จะไม่สามารถนำข้อมูลของ Token ไปใช้ทำอะไรได้
ตอนนี้เรามีเสียงเรียกร้องให้มีบริการสำหรับการรับจ่ายเงินแบบต่อเนื่อง อย่างการสมัครนิตยสารที่ต้องจ่ายเงินอัตโนมัติรายปี หรือบริการรายเดือนต่างๆ
Comments
ขอบคุณครับ
เยี่ยมครับ!
การที่ผู้ใช้ไม่ต้องกรอกเลขบัตรเครดิตใหม่ทุกครั้ง.... อันนี้โครตน่ากลัวมากๆ
แต่ก็ยังดีที่มี TLS ให้ใช้ไว้ก่อน ปลอดภัยขึ้นมาหน่อยนึง
ตราบใดที่ยังแกะ TLS ไม่ได้
@ อันนี้แซว บทความนี้ เขียนดีใช้ดี เคารพคนอ่านหน่อยนึง ฮ่าๆๆ
อันนี้เป็นบทสัมภาษณ์ครับ ไม่ใช่บทความ สิ่งที่คุณวิจารณ์คือบริการที่ผู้ถูกสัมภาษณ์ให้บริการ คนเขียนคงไม่มีปัญหาอะไรกับการวิจารณ์ของคุณครับ
จะเรียกว่าวิจารณ์ก็คงได้ไม่เต็มปาก น่าจะเรียกว่า "ความรู้สึกที่มีต่อบริการ" มากกว่า
อันนี้ผมให้ความเห็นต่อคุณนะครับ ผมเชื่อว่าผู้มีสิทธิขาดในการจัดการกับยูสเซอร์ของเว็บนี้กำลังจ้องมองคุณอยู่ (admins are watching you!) และผมก็ไม่เห็นความจำเป็นใดๆ ที่คุณจะต้องทำให้ตัวเองโดนแบนครับ
อย่าทำอีกต่อไปเลยครับ
...
เขาทำอะไรผิดเหรอครับช่วยชี้แจงนิดนึง มันเป็นกฏข้อไหนผมจะได้ทำความเข้าใจไว้ เพราะถ้าไม่ชี้แจงให้ชัดเจนสำเนียงมันจะเหมือนมาเฟีย
ประกาศจำกัดจำนวนคอมเมนต์สำหรับสมาชิกทั่วไป
ขออนุญาติอธิบายครับ เข้าใจว่าไม่เกี่ยวกับข่าวโดยตรง (อย่าลงโทษ)
สาเหตุที่โดนจำกัดเหลือวันละเม้นครับ
ผมเล่าให้ฟังคร่าวๆ นะ คือมันเริ่มจากการที่เค้าวิจารณ์ BE.S.T award ครับ แล้วเค้าก็บอกว่า "มันกลั่นออกมาสมองของกรรมการพวกนั้นนะ" ก็มี 1 ในกรรมการไปพูดเชิงว่าควรจะให้เกียรติผู้ตัดสินบ้าง แล้วก็โต้กันไปมา จนเจ้าตัวบอกว่า "ควรเคารพคนอ่าน" นี่แหละครับ พอมาข่าวนี้ก็มาพูดแซวแบบเดิมอีก ผมว่า mk กับ lew คงเล็งไว้แล้วล่ะครับ
ในอดีต คนที่ทำแบบนี้จนโดนแบบก็มี ข้อหาคือก่อกวนครับ
ปล. ผมไม่เกี่ยวอะไรเลย ผมเองเป็นแค่คนที่โดนเตือนจนเกือบโดนแบนแล้วเหมือนกันครับ
ปล. อยากให้อ่านจากลิงค์แล้วใช้วิจารณญานของคุณเองครับ เพราะสิ่งที่ผมเล่า มันก็ออกมาจากมุมมองของผม ซึ่งอาจไปคนละทางกับคุณ
อนุญาติ > อนุญาต
ขอบคุณที่เสียสละเวลามาชี้แจงครับ เข้าใจแล้วครับ
ถ้าคุณไม่บอก ผมก็ไม่รู้นะว่าเขากวน
ถ้าคดีเก่าของเขาจะทำให้แอดมินเห็นว่ากวนแบบไม่มีการปรับปรุงตัว ผมว่าแอดมินเขาแบนเองแหละครับ
คนส่วนใหญ่ไม่รู้หรอกครับว่าเขามีคดีอะไรมาก่อน ถ้าเรามาคุยมาทักอะไรที่ไม่เกี่ยวกับกระทู้มากๆ มันจะ derail นะครับ แทนที่จะได้ discuss เนื้อหาข่าวกัน (น่าจะเข้ากรณี don't feed the troll ครับ)
ขอบคุณมากครับ ยินดีนำไปพิจารณา
อีคอมเมิร์ช => อีคอมเมิร์ซ
ดูแลผู้ดูแลฐานข้อมูล ?
ส่วย => ส่วน
ไม่สามรถ => ไม่สามารถ
ขอบคุณมากครับ สนใจจะติดตั้งระบบรับบัตรเครดิตอยู่เหมือนกัน ผม concern ส่วนของ UX มากๆ ปัจจุบันไม่ติดตั้งเพราะทั้ง paypal และ paysbuy นี่ ฟอร์มให้กรอกเยอะจริงๆ ให้ลูกค้าโอนเงิน atm ยังง่ายกว่า
อยากได้ระบบบัตรเครดิตที่ใช้ง่ายๆ เหมือนของ amazon ครับ เข้าไปดูของ omise แล้วสนใจมากๆ เลย
มีใครเคยลองใช้ไหมครับ มีภาษาไทย กับ โลโก้ security แบบ ทองๆ โบราณๆ หรือเปล่า (อันนี้สำคัญนะ ลูกค้าเห็นแล้ววางใจ)
omise ดีนะครับ ร้านค้าชอบคอนเซ็ปต์ เอามาทำ payment ในหน้าเว็บตัวเอง
แต่ลูกค้าคนจ่ายเงิน.... ผมไม่แน่ใจว่าจะชอบหรือเปล่า
ถ้าเป็นผม ผมไม่กรอกบัตรเครดิตลงไปในหน้า payment ของเว็บร้านค้าแน่ๆ
ปกติจะเชื่อถือแต่หน้า payment ของธนาคารต่างๆเท่านั้นครับ