สถาปัตยกรรมแพลตฟอร์ม

หนึ่งแกนกลาง หลายช่องทางใช้งาน — แพลตฟอร์มทำงานอย่างไรกันแน่

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

แกนกลาง

หนึ่ง ledger อยู่ใต้ทุกอย่าง

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

  1. 01บัญชีคู่: ทุกรายการสมดุล ยอดเดบิตเท่ากับเครดิต
  2. 02เพิ่มได้อย่างเดียว: การแก้ไขคือรายการใหม่ ไม่ใช่การแก้รายการเดิม
  3. 03โมเดลบัญชีเดียวสำหรับเงินเฟียต บัตร และคริปโต
  4. 04สถานะ KYC อยู่กับบัญชี ไม่ใช่ตารางแยก

การชำระเงินหนึ่งรายการ ตั้งแต่ต้นจนจบ

การชำระเงินหนึ่งรายการ จากสร้างถึงกระทบยอด

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

  1. 01

    Create

    เปิด intent ระบุจำนวนเงิน สกุลเงิน และบัญชีที่เกี่ยวข้อง ยังไม่มีการเคลื่อนย้ายเงิน ledger บันทึกรายการสถานะรอดำเนินการ

  2. 02

    Authorize

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

  3. 03

    Capture

    ยืนยันยอดที่กันไว้ ledger บันทึกรายการบัญชีคู่ที่เคลื่อนย้ายมูลค่าระหว่างสองบัญชีจริง

  4. 04

    Settle

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

  5. 05

    Reconcile

    แพลตฟอร์มจับคู่รายการของตัวเองกับรายงานการชำระดุลของช่องทาง รายการที่ไม่ตรงกันจะถูกแจ้งเตือน ไม่ถูกซ่อน

Webhook และ idempotency ทำงานอยู่ทุกจุดเชื่อมต่อของโฟลว์นี้ ระบบของคุณรู้ว่าการชำระเงินเคลื่อนไหวแล้วจากการรับอีเวนต์ ไม่ใช่การ polling และคำขอที่คุณส่งซ้ำหลังหมดเวลาจะถูกจัดการด้วย idempotency key ให้ได้ผลลัพธ์เดิมเสมอ การส่งซ้ำจึงไม่ตัดเงินซ้ำ บริการที่รัน authorize และ capture คือ payment gateway.

ชั้นแอป

แอป whitelabel อยู่ด้านบน แพลตฟอร์มเดียวอยู่ด้านล่าง

แกนกลางเปิดความสามารถให้ใช้งาน ส่วนชั้นแอปเปลี่ยนความสามารถเหล่านั้นให้เป็นผลิตภัณฑ์ แอปฝั่งลูกค้าแต่ละตัว ทั้งเว็บและมือถือ เป็นไคลเอนต์ whitelabel ที่แสดงบัญชี การชำระเงิน และบัตรชุดเดียวกันภายใต้แบรนด์ของตัวเอง การจัดธีมขับเคลื่อนด้วยโทเคน สี ตัวอักษร ความโค้งมน และระยะห่างมาจากระบบ design token (PDS) ผู้ให้บริการจึงเปลี่ยนหน้าตาทั้งหมดได้ด้วยการปรับโทเคน ไม่ต้อง fork แอป แพลตฟอร์มเดียวกันนี้ปรับไปใช้ได้หลากหลายทิศทาง ทั้ง neobank สำหรับผู้บริโภค แอป acquiring สำหรับร้านค้า โปรแกรมออกบัตร on/off-ramp คริปโต หรือเครื่องมือปฏิบัติการภายใน โดยไม่กลายเป็นห้าผลิตภัณฑ์แยกกัน เป็นแพลตฟอร์มเดียวที่สวมหลายลุค แต่ละแบบแค่กำหนดค่า ไม่ต้องสร้างใหม่

  1. 01ไคลเอนต์ whitelabel ทั้งเว็บและมือถือบน API ชุดเดียวกัน
  2. 02ธีมขับเคลื่อนด้วยโทเคน (PDS): ปรับหน้าตาด้วยการตั้งค่า ไม่ต้อง fork
  3. 03ห้าตัวอย่างทิศทาง — neobank, acquiring, issuing, ramp, ops
  4. 04ช่องทางใหม่ใช้การกำหนดค่า ไม่ต้องสร้างใหม่

การปฏิบัติการ

ควบคุมจากคอนโซล พร้อมเหตุผลที่บันทึกไว้

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

  1. 01อ่านได้กว้าง เขียนต้องผ่านการควบคุม — การกระทำพิเศษเป็นข้อยกเว้น
  2. 02ต้องระบุเหตุผลก่อนการกระทำใดที่แตะต้องเงิน
  3. 03audit trail ที่แก้ไขไม่ได้: ใคร ทำอะไร เมื่อไร เพราะอะไร
  4. 04สิทธิ์น้อยที่สุดตามบทบาทของผู้ปฏิบัติงาน

สะพานคริปโต

คริปโตและเงินเฟียตบน ledger เดียวกัน

คริปโตไม่ใช่ไซโลแยกบนแพลตฟอร์ม ที่อยู่คริปโตเป็นเพียงอีกบัญชีหนึ่งบน ledger เดียวกัน on/off-ramp แปลงระหว่างเงินเฟียตกับสินทรัพย์ดิจิทัลที่ขอบของระบบ ลูกค้าเติมยอดด้วยบัตรหรือการโอนแล้วรับเป็นคริปโต หรือขายคริปโตแล้วถอนเข้าบัญชีธนาคาร มูลค่าบนเชนชำระดุลต่อไปถึงช่องทางธนาคารได้ การชำระเงินออนเชนที่เข้ามาจะถูกบันทึกเข้าบัญชี แปลงค่า แล้วจ่ายออกไปยัง IBAN ผู้รับจึงเห็นเป็นเงินธรรมดาในบัญชีธนาคารธรรมดา เมื่อทั้งสองขาลงรายการบน ledger บัญชีคู่เดียวกัน รายการที่เริ่มบนเชนและจบด้วยการโอนผ่านธนาคารจึงเป็นประวัติเดียวที่กระทบยอดแล้ว ไม่ใช่สองระบบที่ต้องกระทบยอดด้วยมือ

  1. 01ที่อยู่คริปโตก็เป็นบัญชีเหมือนบัญชีอื่น
  2. 02On/off-ramp: แปลงเงินเฟียตและสินทรัพย์ดิจิทัลที่ขอบของระบบ
  3. 03ชำระดุลออนเชนต่อไปจนถึงการจ่ายออกเข้า IBAN
  4. 04ประวัติเดียวที่กระทบยอดแล้วตลอดทั้งสองขา

พื้นที่สำหรับการพัฒนา

API, webhook และ sandbox ไว้พัฒนา

ทุกอย่างที่แอปทำ ทำผ่าน API ที่มีเอกสารครบ ทั้งสร้างบัญชี เปิดการชำระเงิน ออกบัตร และเริ่ม ramp ตัวอย่างการเรียกเช่น POST /v1/wallets หรือ POST /v1/payments โครงสร้างเป็น REST โดยทุกการเขียนมี idempotency key การเปลี่ยนสถานะส่งมาเป็น webhook ระบบของคุณจึงตอบสนองต่ออีเวนต์ ไม่ต้อง polling คอยตรวจ การพัฒนาทำบน sandbox tenant ซึ่งเป็นสำเนาแยกของแพลตฟอร์มพร้อมช่องทางทดสอบ ใช้รันโฟลว์ตั้งแต่สร้างจนถึงกระทบยอดได้ครบโดยไม่ต้องเคลื่อนย้ายเงินจริง สิ่งที่แต่ละผลิตภัณฑ์เปิดให้คุณใช้ และในระดับใด ขึ้นอยู่กับ access band ของผลิตภัณฑ์นั้น หน้าของแต่ละผลิตภัณฑ์ระบุไว้ชัดเจนว่าแต่ละ band มีอะไรบ้าง

  1. 01REST API ที่มีเอกสาร การเขียนแบบ idempotent
  2. 02Webhook ทุกการเปลี่ยนสถานะ — ขับเคลื่อนด้วยอีเวนต์ ไม่ใช่ polling
  3. 03Sandbox tenant พร้อมช่องทางทดสอบ แยกจาก production
  4. 04ขอบเขตและวงเงินกำหนดโดย access band ของแต่ละผลิตภัณฑ์

เส้นแบ่งที่พูดกันตรง ๆ

Protocore สร้างซอฟต์แวร์ ใบอนุญาตคือผู้ถือเส้นแบ่งด้านกฎระเบียบ

ผลิตภัณฑ์การชำระเงินคือสองสิ่งที่หลอมรวมกัน คือสิทธิ์ตามกฎหมายในการถือครองและเคลื่อนย้ายเงิน กับซอฟต์แวร์ที่สั่งการ บันทึก และกระทบยอด Protocore สร้างซอฟต์แวร์ ส่วนกิจกรรมที่ต้องมีใบอนุญาต ไม่ว่าจะเป็นการถือเงินของลูกค้า การออกบัญชี หรือการเคลื่อนย้ายเงินบนเครือข่ายบัตร เป็นของใบอนุญาตของผู้ให้บริการเองหรือพันธมิตรที่ได้รับอนุญาต เช่น ธนาคาร EMI หรือ payment institution แพลตฟอร์มถูกสร้างให้เข้ากับช่องทางที่มีใบอนุญาตซึ่งคุณนำมา และเก็บข้อมูลบัตรไว้บนช่องทางนั้นเพื่อไม่ให้ผ่านเซิร์ฟเวอร์ของคุณ แต่แพลตฟอร์มไม่ใช่ และซอฟต์แวร์ใดก็ไม่อาจใช้แทนสิทธิ์นั้นได้ เส้นแบ่งด้านกฎระเบียบอยู่ตรงไหนเป็นการตัดสินใจที่คุณทำร่วมกับพันธมิตร และสถาปัตยกรรมออกแบบมาให้วางได้เรียบร้อยไม่ว่าจะอยู่ฝั่งใดของเส้นนั้น

  1. 01ชั้นซอฟต์แวร์ ไม่ใช่ใบอนุญาต
  2. 02กิจกรรมที่ต้องมีใบอนุญาตเป็นของผู้ให้บริการหรือพันธมิตรที่ได้รับอนุญาต
  3. 03ข้อมูลบัตรอยู่บนช่องทาง ไม่ผ่านเซิร์ฟเวอร์ของคุณ
  4. 04สร้างมาให้เข้ากับช่องทางที่มีใบอนุญาตซึ่งคุณนำมา

อยากได้สถาปัตยกรรมสำหรับงานของคุณไหม

บอกเราว่าคุณกำลังสร้างอะไร เราจะกลับมาพร้อมการออกแบบระบบและตำแหน่งของเส้นแบ่งด้านกฎระเบียบ ไม่ใช่ pitch deck