POSGOGO Platform Admin

เข้าสู่ระบบหลังบ้าน

สำหรับผู้ให้บริการ POS — จัดการแพ็กรายเดือน รายปี และร้านค้า

ยืนยัน Authy

เปิดแอป Authy หรือ Google Authenticator แล้วใส่รหัส 6 หลัก

POSGOGO

Platform Admin

จัดการร้านค้า & แพ็ก

ดาวน์โหลดแอป

Demo ออนไลน์

—

รายชื่อร้าน

ค้นหาและจัดการร้านค้าทั้งหมด

ร้าน แพ็ก สถานะ หมดอายุ

แจ้งเตือนใกล้หมดอายุ

รายการที่ระบบแจ้งเตือนอัตโนมัติ

กำลังโหลด...

แพ็กที่ให้บริการ

ราคาที่แสดงใน POS (เกี่ยวกับระบบ)

รายละเอียดร้าน

แก้ไขข้อมูลและต่ออายุแพ็ก · —


เข้าใช้ POS

ลิงก์ POS (ทุกร้านใช้เหมือนกัน) https://app.posgogo.com/
ผู้ดูแลระบบ ตัวอย่าง 0812345678 · ค่าเริ่มต้นรหัสผ่านเดียวกับชื่อผู้ใช้ · ถ้าร้านตั้งรหัสเอง ระบบอ่านไม่ได้
ชื่อผู้ใช้ admin
รหัสผ่าน —
พนักงาน พนักงานจริงของร้าน (ซิงค์จากเครื่องร้าน) — เพิ่มพนักงานและรหัสเชิญได้ในเมนูจัดการพนักงานของร้าน

Admin: admin+เบอร์ · พนักงาน: user+เบอร์+เลขเครื่อง · ค่าเริ่มต้นรหัสผ่านเดียวกับชื่อผู้ใช้ · รหัสที่ร้านตั้งเองเก็บเป็นค่าเข้ารหัส อ่านกลับไม่ได้ — ถ้าร้านลืมให้กด สร้างรหัสใหม่


จัดการข้อมูลร้าน

กำลังโหลด...
สินค้า

สมาชิก

POS โหลดข้อมูลใหม่เมื่อเครื่องออนไลน์


เขตอันตราย

ใช้เมื่อลูกค้าร้องขอเท่านั้น — ล้างข้อมูลบนคลาวด์ POS จะ sync ตามเมื่อออนไลน์

คืนค่าเริ่มต้น = ล้างข้อมูลธุรกิจ + ตั้งค่าระบบ + คูปอง + พนักงาน + ออเดอร์ออนไลน์ + เครื่องที่ผูกไว้ ให้เหมือนร้านเปิดใหม่ · ไม่ลบร้าน ไม่ลบยูสเซอร์/รหัสผ่าน ไม่ลบประวัติชำระเงิน · เครื่องพิมพ์ตั้งไว้ที่เครื่องไหนยังอยู่ที่เครื่องนั้น

ลบร้าน = ลบข้อมูล POS + บัญชีเข้าสู่ระบบ + ประวัติชำระเงินของร้านนี้ (กู้คืนไม่ได้) · ห้ามลบ default


เอกสารการเงิน

เลือกร้านเพื่อดูเอกสาร


ลิงก์ต่ออายุ (ลูกค้า)

—


ประวัติชำระเงิน

เลือกร้านเพื่อดูประวัติ

สร้าง Demo

ร้านทดลอง 1 เครื่อง · 7 วัน · รหัส POS อัตโนมัติ

เพิ่มร้านใหม่

สร้างร้านและเริ่มทดลองใช้ · รหัส POS 6 หลัก + admin อัตโนมัติ

สถานะระบบ & ความปลอดภัย

Backend, Firestore, POS API และการตั้งค่าความปลอดภัย

—

กำลังโหลด...

—

—

ข้อผิดพลาดจากเครื่องร้าน (24 ชม.)

กำลังโหลด...

การใช้งาน 7 วันล่าสุด

กำลังโหลดกราฟ...

Login Platform / POS (ครั้งต่อวัน)

ดึงสินค้าจาก cloud & จำนวนร้าน

เหตุการณ์ด้านความปลอดภัย / การโจมตี (ครั้งต่อวัน)

ผู้เข้าชมเว็บไซต์

posgogo.com — ผู้เข้าชม (คน) และการเปิดหน้า (ครั้ง) ตามเวลาไทย

ผู้เข้าชมรายวัน

กำลังโหลด...

ผู้เข้าชม (คน) / เปิดหน้า (ครั้ง) ต่อวัน

มาจากช่องทางไหน

กดไปหน้าไหนบ้าง

เข้าจากอุปกรณ์อะไร

มาจากประเทศไหน

ประมาณจากโซนเวลาของเครื่องผู้เข้าชม

เว็บที่ลิงก์มา

ตั้งค่าระบบ

เปลี่ยนรหัส Platform Admin

ใช้รหัสนี้ login ที่หน้านี้ — แยกจากรหัส POS ในร้าน

Cloudflare Turnstile

ป้องกันบอทตอน login Platform Admin — สร้าง Widget ที่ Cloudflare Dashboard

—

Site key ใส่ที่นี่ · Secret ใส่ Firebase Console → App Check · โดเมน posgogo.com ใน reCAPTCHA Admin

Firebase Console → App Check → Cloud Firestore → ตั้งเป็น Enforce (คู่กับ Firestore rules ที่บังคับ App Check แล้ว)

Authy — ยืนยันตัวตน 2 ชั้น

ใช้แอป Authy หรือ Google Authenticator สแกน QR

—

QR Code Authy

หรือใส่ Secret ด้วยมือ:

ช่องทางชำระเงิน

แสดงในหน้า POS และหน้า /renew/ ของลูกค้า

—

—

—

วิธีเชื่อม Omise (PromptPay)
  1. เอาคีย์ — Omise / Opn Dashboard → เมนู API → Keys → คัดลอก Secret key (skey_test_… สำหรับทดสอบ, skey_live_… สำหรับใช้จริง)
  2. ตั้ง webhook — dashboard.omise.co/test/webhooks (ใช้จริงคือ /live/webhooks)
    https://asia-southeast1-posgogo-e6917.cloudfunctions.net/omiseWebhook
    Omise ส่งทุก event มาที่ URL เดียว ระบบจะหยิบเฉพาะ charge.complete เอง แล้วถามกลับไปที่ Omise ว่าจ่ายจริงไหมก่อนต่ออายุ
  3. ใส่คีย์ในเซิร์ฟเวอร์
    printf 'skey_test_xxx' | npx firebase functions:secrets:set OMISE_SECRET_KEY --data-file=- npx firebase deploy --only functions:storeApi,functions:omiseWebhook,functions:platformApi
  4. ติ๊กเปิดช่องทางด้านบน แล้วทดสอบที่หน้า /renew/ — จะได้ QR พร้อมเพย์ พอสแกนจ่ายแล้วแพ็กเกจร้านต้องต่ออายุเอง
ใส่คีย์ตรงนี้ได้เลย บันทึกแล้วมีผลทันที ไม่ต้อง deploy · เว้นว่างไว้ = ไม่แก้ของเดิม
วิธีเชื่อม Stripe
  1. เอาคีย์ — Stripe Dashboard → Developers → API keys · สลับเป็น Test mode ก่อน คัดลอก Secret key (sk_test_…)
  2. ตั้ง webhook — เปิด dashboard.stripe.com/test/webhooks ตรง ๆ (ใช้จริงคือ /webhooks) — เมนู Developers เดิมย้ายไปอยู่ใน Workbench → แท็บ Webhook แล้ว
    • กดปุ่มม่วง + เพิ่มปลายทาง (ภาษาอังกฤษคือ Create an event destination — ชื่อเดิม Add endpoint)
    • ขอบเขตเลือก บัญชีของคุณ (Your account) — ไม่ใช่ บัญชีที่เชื่อมโยง ซึ่งเป็นของ Connect
    • เวอร์ชัน API ปล่อยค่าเดิมได้ ระบบถามกลับไปที่ Stripe อีกครั้งก่อนต่ออายุอยู่แล้ว
    • แท็บ เหตุการณ์ที่เลือก (อย่าเลือก เหตุการณ์ทั้งหมด) → กางหมวด Checkout แล้วติ๊ก checkout.session.completed และ checkout.session.async_payment_succeeded → กด ดำเนินการต่อ
    • ประเภทปลายทางเลือก ปลายทาง Webhook แล้ววาง URL นี้ในช่อง Endpoint URL
      https://asia-southeast1-posgogo-e6917.cloudfunctions.net/stripeWebhook
    • สร้างเสร็จ กดที่ คลิกเพื่อแสดง (Click to reveal) เพื่อคัดลอก Signing secret (whsec_…)
    เช็กว่าอยู่ในโหมดทดสอบ (Sandbox) หรือโหมดจริงให้ตรงกับคีย์ที่ใส่ — signing secret ของสองโหมดคนละตัวกัน
  3. ใส่คีย์ในเซิร์ฟเวอร์ — รันในเครื่องที่ deploy โปรเจกต์นี้
    printf 'sk_test_xxx' | npx firebase functions:secrets:set STRIPE_SECRET_KEY --data-file=- printf 'whsec_xxx' | npx firebase functions:secrets:set STRIPE_WEBHOOK_SECRET --data-file=- npx firebase deploy --only functions:storeApi,functions:stripeWebhook,functions:platformApi
  4. เปิดสวิตช์ด้านบน แล้วทดสอบที่หน้า /renew/ ด้วยบัตร 4242 4242 4242 4242 — พอจ่ายสำเร็จ แพ็กเกจร้านต้องต่ออายุเอง
  5. ใช้จริงค่อยสลับเป็น Live mode แล้วเซ็ต sk_live_… กับ signing secret ของ endpoint ฝั่ง live ทับ (คนละตัวกับ test)
ใส่คีย์ตรงนี้ได้เลย บันทึกแล้วมีผลทันที ไม่ต้อง deploy · เว้นว่างไว้ = ไม่แก้ของเดิม
วิธีเชื่อม Beam Checkout
  1. เปิดบัญชีร้านค้ากับ Beam (ผ่าน KYC นิติบุคคล) แล้วเข้าระบบหลังบ้านของเขาชื่อ Lighthouse
  2. เอาคีย์ — Lighthouse → Developers → Merchant ID และ Merchant API Key
    อย่าใช้ Publishable Key (อันนั้นสำหรับฝั่งเบราว์เซอร์) และคีย์ Playground กับ Production ใช้ข้ามกันไม่ได้
  3. ตั้ง webhook — event charge.succeeded
    https://asia-southeast1-posgogo-e6917.cloudfunctions.net/beamWebhook
    แล้วคัดลอก HMAC key (เป็น base64) มาใส่เป็น BEAM_WEBHOOK_SECRET
  4. ใส่คีย์ในเซิร์ฟเวอร์
    printf '<merchantId>' | npx firebase functions:secrets:set BEAM_MERCHANT_ID --data-file=- printf '<apiKey>' | npx firebase functions:secrets:set BEAM_API_KEY --data-file=- printf '<hmacKey>' | npx firebase functions:secrets:set BEAM_WEBHOOK_SECRET --data-file=- npx firebase deploy --only functions:storeApi,functions:beamWebhook,functions:platformApi
  5. จะลอง Playground ก่อนก็แก้ functions/.env บรรทัด BEAM_API_BASE เป็น https://playground.api.beamcheckout.com แล้ว deploy ใหม่ — ใช้จริงค่อยเปลี่ยนกลับ
ใส่คีย์ตรงนี้ได้เลย บันทึกแล้วมีผลทันที ไม่ต้อง deploy · เว้นว่างไว้ = ไม่แก้ของเดิม
ชื่อธนาคาร (ธนาคารไทย)

ข้อมูลผู้ขาย

ใบเสนอราคา · ใบเสร็จ · ใบกำกับภาษี

ชื่อธนาคาร (ธนาคารไทย)

แจ้งชำระจากลูกค้า

สลิปโอนเงินจากหน้า /renew/ · อนุมัติแล้วต่ออายุร้านอัตโนมัติ

วันที่ ร้าน แพ็ก ยอด สถานะ
กำลังโหลด...

รายละเอียด

—

เปิดสลิปเต็ม
สลิป

อุปกรณ์หน้าร้าน

สินค้าที่แสดงบน posgogo.com/shop และคำสั่งซื้อที่เข้ามา

อัปโหลดแล้วรูปเก็บใน Storage ของระบบ · ไฟล์ไม่เกิน 2 MB

กำลังโหลด...

คำสั่งซื้ออุปกรณ์

ลูกค้าสั่งจากหน้าเว็บ ค่าส่งแจ้งตอนยืนยัน

กำลังโหลด...

บทความบนเว็บไซต์

เขียนแล้วเผยแพร่ขึ้น posgogo.com/blog ทันที · ค้นเจอใน Google ได้

เปิดหน้าเว็บ

กำลังโหลด...

ยังไม่ได้ตรวจ
    เนื้อหา
    จะเขียนเรื่องอะไร
    ฉบับร่าง

    ฐานข้อมูลสินค้ากลาง

    บาร์โค้ด ชื่อ หมวดหมู่ หน่วย และรูป ที่ทุกร้านใช้ร่วมกัน · แก้ที่นี่ที่เดียว

    —
    ดึงจากหน้าเว็บวางลิงก์ → ระบบเติมช่องด้านล่างให้ → ตรวจแล้วกดเพิ่ม

    ดึงได้เฉพาะโฮสต์ที่เพิ่มไว้ และเฉพาะหน้าที่ robots.txt อนุญาต · รูปเก็บเป็นลิงก์ต้นทาง ไม่คัดลอกมา เว้นแต่บันทึกสิทธิ์ใช้ภาพไว้

    เพิ่มด้วยมือบาร์โค้ดกับชื่อจำเป็น · หมวดหมู่ หน่วย รูป ใส่เพิ่มได้
    ย่อรูปให้เองก่อนส่ง · jpg png webp
    นำเข้า / ส่งออกไฟล์ต้องมีคอลัมน์บาร์โค้ดและชื่อ
    รูปบาร์โค้ดชื่อหมวดหมู่หน่วยร้านยืนยัน
    กำลังโหลด...

    ค่าใช้จ่าย

    บันทึกรายจ่ายของแพลตฟอร์ม · เก็บบน Firebase

    —

    วันที่ หมวด รายละเอียด ยอด ร้าน
    กำลังโหลด...

    GCP Billing Auto-sync

    ดึงค่าใช้จ่ายจาก BigQuery Billing Export

    ตั้งค่าใน Google Cloud Console → Billing → Billing export → BigQuery (Standard usage cost)

    —

    บันทึกรายจ่าย

    เก็บใน Firebase · platformExpenses

    แชทใหม่ —