วิธีชำระเงินออนไลน์อย่างปลอดภัยในแอปของคุณ

เผยแพร่แล้ว: 2021-10-05

ในขณะที่แอพของเรากำลังเอาชนะการโจมตีของแฮ็กเกอร์ที่มีชื่อเสียง ดูเหมือนว่าจะไม่มีที่ไหนเลยและไร้ซึ่งปัญหาเพื่อท้าทายความปลอดภัยในการชำระเงินแอพมือถือของเรา ความมุ่งมั่นในการรักษาความปลอดภัยแอปพลิเคชันมือถือในธุรกิจขนาดใหญ่และขนาดเล็กได้เริ่มต้นขึ้นแล้ว ทุกที่ ตั้งแต่ร้านค้าอีคอมเมิร์ซไปจนถึงระบบการเงินของสถาบันระดับสูง ผู้คนร้องขอการพัฒนาแอปความปลอดภัยในการชำระเงินออนไลน์ คำขอที่มีผู้ค้นหามากที่สุดในปัจจุบันคือ: จะสร้างบางสิ่งที่มีระดับการป้องกันที่สูงขึ้นได้อย่างไร? เราจะพยายามทำให้ดีที่สุดเพื่อเน้นที่นี่

การรักษาความปลอดภัยเป็นสีดำใหม่

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

น่าเสียดายที่ไม่มียาครอบจักรวาลสำหรับการพัฒนาแอปพลิเคชันธนาคารบนมือถือจากการโจมตีทางไซเบอร์ แต่มีบางสิ่งที่เพิ่มการชำระเงินและความปลอดภัยของธุรกรรมอย่างแน่นอน ประการแรก มีการชำระเงิน 3 ประเภทที่โครงการของคุณมีความปลอดภัยสำหรับแอปพลิเคชันมือถืออาจเกี่ยวข้อง:

  • ขาเข้า

  • ขาออก

  • ธุรกรรมในระบบ

ลองใช้แอปพลิเคชันมือถือของ Uber และศึกษาทั้งสามประเภทตามตัวอย่าง การชำระเงินที่เข้ามาคือการชำระเงินที่ดำเนินการโดยลูกค้าสำหรับผลิตภัณฑ์หรือบริการบางอย่างที่แอปพลิเคชันของคุณช่วยให้เขาดำเนินการ เมื่อการโดยสาร Uber ของคุณสิ้นสุดลง บัตรเครดิตของคุณจะถูกเรียกเก็บเงิน การชำระเงินขาออกคือการชำระเงินที่ระบบดำเนินการเองให้กับพนักงานที่ย่อมาจาก เมื่อลูกค้าที่มีความสุขถูกส่งโดยคนขับ Uber ไปยังจุดปลายทาง ระบบจะคงอยู่ชั่วระยะเวลาหนึ่งแล้วจึงโอนเงินไปยังคนขับโดยอัตโนมัติ ระยะเวลารอคอยนี้ได้รับการออกแบบเพื่อให้ผู้ใช้มีโอกาสบ่นเกี่ยวกับคุณภาพการบริการที่เขาได้รับ ตัวเลือกนี้ต้องการการดูแลระดับหนึ่งจากผู้ใช้ - เมื่อสิ้นสุดระยะเวลานี้ ลูกค้าจะไม่สามารถกรอกรายงานการร้องเรียนได้อีกต่อไป ธุรกรรมทางการเงินทั้งขาเข้าและขาออกต้องการให้ผู้ให้บริการชำระเงินบุคคลที่สามรวมเข้ากับระบบ

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

วิธีรักษาความปลอดภัยแอพมือถือของคุณ? ดี,

ธนาคารบนมือถือ

...คุณต้องการให้พวกเขานำเสนอ

“ครีเอเตอร์ทุกคนยินดีที่จะเข้าร่วมกับความคิดของเขาเสมอ - เพื่อประโยชน์ในการเพิ่มความสามารถในการใช้งานของผลิตภัณฑ์!”

โดยทั่วไป กระเป๋าเงินมือถือทุกใบที่มีความปลอดภัยสำหรับแอพธนาคารบนมือถือเป็นแกนหลักนั้นต้องการคุณสมบัติจำนวนหนึ่งเพื่อให้น่าสนใจและ "ใช้โดยผู้ใช้" ต่อไปนี้คือรายการคุณลักษณะสั้นๆ ที่ถือเป็นคุณสมบัติที่จำเป็น:

  • เข้าถึงบัญชีธนาคารของคุณได้ทุกเวลา ไม่ว่าจะฝนตกหรือแดดออก

  • ความสามารถในการทำธุรกรรมทางการเงินโดยเฉพาะ:

ก) โอนเงินของคุณไปยังบัญชีใด ๆ ในระบบธนาคารนี้

ข) โอนเงินของคุณไปยังบัญชี บัตรเครดิต หรือบัตรเดบิตทั่วโลก

c) ชำระค่าบริการสื่อสารใด ๆ - เติมเงินโทรศัพท์มือถือของคุณ ชำระเงินให้กับผู้ให้บริการอินเทอร์เน็ตของคุณ ฯลฯ

ง) ชำระค่าบริการของบุคคลที่สามอื่น ๆ ที่รวมอยู่ในตรรกะทางธุรกิจของระบบธนาคาร - ตั๋วรถบัส/เครื่องบิน/รถไฟ อาหาร ผลิตภัณฑ์ความงามและเกม ตั๋วภาพยนตร์และฟุตบอล (หรือกีฬายอดนิยมอื่น ๆ ) จำนวนการชำระเงินต่างๆ ที่สามารถดำเนินการผ่านแอปพลิเคชันของคุณอาจแตกต่างกัน เนื่องจากทั้งหมดขึ้นอยู่กับตรรกะทางธุรกิจและข้อกำหนดที่สร้างขึ้นในขั้นตอนการวิเคราะห์ธุรกิจ

จ) ความสามารถในการชำระค่าใช้จ่ายของคุณก็เป็นเงื่อนงำเช่นกัน มันอาจจะเพิ่มการมีส่วนร่วมของผู้ใช้ภายในแอพ ตราบใดที่ผู้ใช้สามารถมีขอบเขตของสาธารณูปโภคทั้งหมด (ก๊าซ ไฟฟ้า น้ำ ความร้อนและอื่น ๆ ) อยู่

  • ความสามารถในการจัดการบัตรของคุณ (บล็อก/ปลดบล็อก กำหนดวงเงินการชำระเงินออนไลน์ เปลี่ยนรหัส PIN หรือ CW2 เพิ่ม สั่งซื้อ หรือปิดบัตรที่มีอยู่)

  • คุณลักษณะของการทำจุดจะทำงานได้ดีมากสำหรับแอปธนาคาร โดยบอกว่าคุณและลูกค้าของคุณมีส่วนเกี่ยวข้องกับองค์กรการกุศลทุกรูปแบบ

  • ความสามารถในการเข้าถึงตำแหน่งทางภูมิศาสตร์ของผู้ใช้และแสดงให้เขาเห็นตู้เอทีเอ็มในบริเวณใกล้เคียงและสาขาของธนาคารที่ใกล้ที่สุด

ขอบเขตของคุณสมบัติไม่ได้จบลงตามที่กล่าวไว้ข้างต้น - สิ่งเหล่านี้คือสิ่งที่นักวิเคราะห์ธุรกิจของเราสามารถคิดได้เมื่อพิจารณาถึงวิธีการรักษาความปลอดภัยการทำธุรกรรมออนไลน์ แต่ผู้สร้างทุกคนยินดีเสมอที่จะเข้าร่วมกับความคิดของเขา - เพื่อประโยชน์สูงสุด การใช้งานของผลิตภัณฑ์!

จำนวนและความซับซ้อนของคุณสมบัติที่กล่าวถึงจะต้องมีการรักษาความปลอดภัยสองเท่าสำหรับแอปพลิเคชันมือถือของธนาคาร จะทำธุรกรรมทางการเงินออนไลน์ของคุณให้ปลอดภัยได้อย่างไร?

1. ระบบไม่ต้องบันทึกข้อมูลรับรองทางการเงินของผู้ใช้

เมื่อการดำเนินการขาเข้า ขาออก หรือในระบบเสร็จสมบูรณ์ จำเป็นที่ข้อมูลเชิงพาณิชย์ของผู้ใช้ทั้งหมดจะถูกละทิ้งในผู้ให้บริการชำระเงินในขณะที่ทำธุรกรรมออนไลน์อย่างปลอดภัย โดยปกติแล้ว ผู้ให้บริการจะมีห้องนิรภัยและระบบ tokenization ในตัว ที่ดำเนินการและปกป้องการดำเนินการทางการเงินทั้งหมด ในเว็บไซต์ของคุณ (หรือในใบสมัครของคุณ) จะต้องใส่แบบฟอร์มเฉพาะซึ่งไม่ใช่ส่วนหนึ่งของโค้ดของโครงการทั้งหมด ดังที่แสดงด้านล่างในภาพ:

แบบแผนการชำระเงินแบบแถบ

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

แม้ว่าวิธีนี้จะเป็นที่รู้จักกันอย่างแพร่หลาย แต่ก็มีข้อผิดพลาดอยู่บ้าง เมื่อแอปพลิเคชันของคุณส่งข้อมูลของบัตรไปยังเซิร์ฟเวอร์ไปยังบริการชำระเงินโดยตรง จะไม่มีการระบุจำนวนเงินที่แน่นอนที่โอน ดังนั้น สมมุติฐานว่ามีโอกาสที่ระบบจะถอนเงินมากกว่าที่ควร - โดยความผิดพลาดหรือข้อบกพร่องของระบบ ปัญหานี้ยังไม่ได้รับการแก้ไข ดังนั้นแม้ว่า Stripe จะเป็นโซลูชันที่สะดวกง่ายดาย โดยที่ผู้ใช้จะไม่ถูกเปลี่ยนเส้นทางไปที่ใดก็ได้ แต่ก็ยังขาดกระบวนการรักษาความปลอดภัยที่เสถียร

อีกระบบหนึ่งที่เป็นที่รู้จักกันอย่างแพร่หลายคือ PayPal โดยมีปุ่ม "ชำระเงินผ่าน PayPal"

โครงการ PayPal

วิธีการทำงานของ PayPal คือ "การประมวลผลการชำระเงินของเว็บแอป" - เมื่อผู้ใช้เข้าสู่หน้าจอการชำระเงิน ระบบจะโอนสิทธิ์ผู้ใช้ไปยังแพลตฟอร์มของ PayPal โดยอัตโนมัติ เมื่อลูกค้าชำระเงินเพิ่มเติมผ่านบริการ แอพธนาคารบนมือถือของคุณต้องสร้างนิติบุคคลที่ส่งไปยัง PayPal ต่อไป ซึ่งจะแจ้งว่าได้รับการชำระเงินหรือไม่
จุดสำคัญที่ทำให้เกตเวย์การชำระเงินมือถือของ Stripe และ PayPal แตกต่างกันคือ ใน PayPal ช่วยให้คุณเห็นจำนวนเงินที่โอนจริง แต่จะเปลี่ยนเส้นทางคุณไปยังแพลตฟอร์มของพวกเขา ในทางกลับกัน Stripe ไม่ได้ทำให้คุณติดตามลิงก์ภายนอกใด ๆ แต่ปัญหาด้านความปลอดภัยในการชำระเงินผ่านมือถือ "ผลรวมที่แม่นยำ" อาจทำให้ผู้ใช้ในอนาคตของคุณเสียสมาธิ

2. ระบบต้องรักษาโทเค็นให้ปลอดภัย

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

อีกวิธีหนึ่งในการรักษาความปลอดภัยของธุรกรรมทางการเงินคือการเข้ารหัสการป้องกัน HTTPS ลงในโครงสร้างของเว็บไซต์ หากไม่มีเว็บไซต์ - ผู้ใช้ไม่ควรโอนเงินไปยังแหล่งข้อมูลของบุคคลที่สาม เพื่อความปลอดภัยของธุรกรรมทางการเงินออนไลน์ของคุณ

3. พยายามหลีกเลี่ยงข้อผิดพลาด "ข้อยกเว้น การจ่ายเงิน ทำซ้ำ"

สิ่งที่น่ากลัวที่สุดที่อาจเกิดขึ้นกับการจ่ายเงินของคุณ (การโอนเงิน เมื่อระบบโอนเงินไปยังผู้ใช้) คือ "วนซ้ำไม่รู้จบ" การจ่ายเงินให้กับผู้ใช้เป็นหนึ่งในงานเบื้องหลังที่ดำเนินการโดยระบบ และหากมีข้อยกเว้นเกิดขึ้น งานจะถูกรันใหม่ เป็นผลให้ทุกธุรกรรมสามารถส่งซ้ำแล้วซ้ำอีกให้กับผู้ใช้รายเดียวเท่านั้น

วิธีป้องกันสิ่งนี้:

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

แอพธนาคารที่ปลอดภัยจำเป็นต้องปฏิบัติตามกฎต่อไปนี้:

  • ไม่มีข้อมูลประจำตัวทางการเงินของผู้ใช้ในการจัดเก็บ

  • ไม่มีการโอนเงินไปยังแพลตฟอร์มที่ไม่มีการป้องกัน HTTPS

  • ทุกการตอบสนองหรือคำขอของเซิร์ฟเวอร์ ทุกการกระทำ เว็บฮุค หรือการโทรกลับควรบันทึกไว้ในรายละเอียดมากที่สุด

  • กระบวนการชำระเงินควรทำให้ง่ายขึ้นมากที่สุด โดยอาศัยผู้ให้บริการชำระเงินมากที่สุด หลีกเลี่ยงการสร้าง e-wallet ในองค์กรหากเป็นไปได้

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

  • ขอแนะนำให้ใช้ web hooks และ callbacks

  • ตรวจสอบรายงานที่ระบบการชำระเงินจัดเตรียมให้คุณเสมอ เนื่องจากคุณสามารถระบุได้ว่ามีปัญหาเกิดขึ้นที่นั่นหรือไม่

โมบายลูชั่นของทุกสิ่ง

หนึ่งในแนวโน้มที่พบบ่อยที่สุดที่ทุกธุรกิจมีในทุกวันนี้คือการใช้งานอุปกรณ์พกพาที่มีการรักษาความปลอดภัยแอพมือถือและการเข้ารหัสแอพมือถือ ตั้งแต่บริษัทการเงินขนาดใหญ่ไปจนถึงร้านค้าหัวมุมที่เล็กที่สุด อุปกรณ์อัจฉริยะเหล่านั้นได้ครอบครองทุกสิ่งที่โลกมี นอกจากนี้ ข้อมูลสรุปสั้นๆ จากข้อมูลเชิงลึกของ Statista ยังชี้ให้เห็นว่าแนวโน้มนี้จะเติบโตภายใน 7 ปีข้างหน้าเท่านั้น

ไม่ว่าคุณจะเลือกแพลตฟอร์มใด - ความปลอดภัยของแอปพลิเคชัน iOS หรือ Android การปกป้องธนาคารออนไลน์เป็นกระบวนการที่ซับซ้อน แต่เป็นกระบวนการที่คุ้มค่าอย่างแท้จริง ลองนึกภาพว่า คุณมีศักยภาพที่จะพัฒนาความรู้สึกปลอดภัยสำหรับผู้ใช้และเงินทุนของพวกเขา เพื่อให้ผู้คนนับล้านได้พักผ่อนอย่างสงบสุขในยามค่ำคืน... นั่นเป็นสิ่งที่มีอนาคตที่เปลี่ยนแปลงชีวิตใช่หรือไม่

เขียนโดย Alex Averyanov, Oleg Tsarenko และ Elina Bessarabova