Rivya AI Docs

คู่มือการชำระเงินและ Checkout ใน Rivya

ทำความเข้าใจ checkout สำหรับแผนและแพ็กเครดิตของ Rivya การ redirect ของ Stripe สะพาน /payment, webhooks, การอัปเดต billing และการตรวจหลังซื้อ

ตรวจล่าสุดเมื่อ 2026/04/28

ใช้คู่มือการชำระเงินและ checkout นี้เมื่อคุณต้องเข้าใจว่าเกิดอะไรขึ้นหลังซื้อแผนหรือแพ็กเครดิตใน Rivya

สิ่งที่คนมักเข้าใจผิดเกี่ยวกับการชำระเงินใน Rivya คือ:

Stripe ทำการชำระเงินสำเร็จแล้ว ไม่ใช่ขั้นตอนสุดท้าย ผลิตภัณฑ์ยังต้องตามให้ทันและสะท้อนการเปลี่ยนแปลงนั้นอย่างถูกต้อง

นั่นคือเหตุผลที่ขั้นตอน checkout ไม่ได้จบที่ Stripe และไม่ได้จบในวินาทีที่เบราว์เซอร์กลับมา

ขั้นตอนการชำระเงินมีสามช่วงจริง

ตอนนี้ checkout เข้าใจง่ายขึ้นเมื่อแบ่งเป็นสามช่วง:

  1. Rivya สร้าง checkout session
  2. ผู้ใช้ทำ Stripe Checkout เสร็จ
  3. Rivya รอให้สถานะผลิตภัณฑ์กลับมาเชื่อถือได้อีกครั้ง

ช่วงที่สามนี่เองคือเหตุผลที่ /payment มีอยู่

Checkout เริ่มจากที่ใดได้บ้าง

ตอนนี้ checkout เริ่มจากที่ที่ตรงกับเจตนาของผู้ใช้อยู่แล้ว:

  • Pricing
  • /settings/billing
  • /settings/credits

และรูปแบบการซื้อหลักมีสองแบบ:

  • checkout สำหรับแผน subscription
  • checkout สำหรับแพ็กเครดิตแบบครั้งเดียว

สองแบบนี้เป็นการตัดสินใจเชิงพาณิชย์ที่ต่างกัน แต่ยังมาบรรจบในเส้นทางยืนยันเดียวกัน

Checkout แผนและแพ็กเครดิตคล้ายกัน แต่ไม่เหมือนกัน

checkout แผนมีรูปทรงแบบ subscription

checkout แพ็กเครดิตมีรูปทรงเหมือนการเติม wallet แบบครั้งเดียว

ความต่างนี้สำคัญ เพราะหลังชำระเงิน Rivya ต้องรู้ว่าควรรีเฟรช:

  • สถานะ subscription
  • หรือสถานะ wallet

นี่คือเหตุผลที่ช่วง Stripe success เดียวกันยังอาจส่งคุณกลับไปยังพื้นที่ผลิตภัณฑ์คนละส่วนได้ในภายหลัง

ทำไม /payment จึงต้องมีอยู่

/payment ไม่ใช่หน้าใบเสร็จในความหมายทั่วไป

มันคือสะพานประมวลผล

หน้าที่ของมันคือ:

  • อ่าน Stripe session_id
  • ตรวจว่าระเบียนการชำระเงินฝั่งผลิตภัณฑ์ settled แล้วหรือไม่
  • polling ต่ออีกช่วงสั้นๆ หากจำเป็น
  • จากนั้นจึงส่งคุณกลับไปยังส่วนที่ถูกต้องของแอป

ทำให้มันเหมือนหน้าซิงก์สถานะมากกว่าหน้าเนื้อหา

จากมุมมองผลิตภัณฑ์ Payment “เสร็จจริง” เมื่อใด

จากมุมมองผู้ใช้ payment ดูเหมือนเสร็จแล้วเมื่อ Stripe บอกว่าทำงานสำเร็จ

แต่จากมุมมองผลิตภัณฑ์ payment จะเสร็จจริงก็ต่อเมื่อสถานะบัญชีใน Rivya อัปเดตให้เห็นแล้ว

โดยปกติหมายถึง:

  • ระเบียน payment ถูกทำเครื่องหมายเป็น paid หรือ completed
  • ผลของ subscription หรือ wallet มองเห็นได้
  • คุณกลับไป billing หรือ credits ได้โดยไม่เห็นสถานะเก่า

นี่คือเหตุผลจริงที่ผลิตภัณฑ์รอที่ /payment แทนที่จะโยนผู้ใช้กลับเข้าแอปทันที

ทำไม Webhooks ยังสำคัญแม้ /payment จะ Poll

/payment ไม่ได้แทนที่ Stripe webhooks

Webhooks ยังคงเป็นสิ่งที่อัปเดตสถานะ backend ที่คงอยู่

หน้า /payment มีอยู่เพื่อให้ประสบการณ์ผู้ใช้รอจนกว่าสถานะนั้นสะท้อนชัดพอให้เชื่อถือได้ก่อนส่งผู้ใช้กลับ

นี่คือความต่างระหว่าง:

  • “Stripe ประมวลผลบางอย่างแล้ว”
  • กับ “Rivya ตอนนี้สะท้อนการเปลี่ยนแปลงนั้นชัดเจนแล้ว”

หลังชำระเงิน คุณจะไปที่ใด

เส้นทางกลับตั้งใจผูกกับสิ่งที่เปลี่ยนไป

หากการซื้อเกี่ยวกับ subscription โดยทั่วไปคุณจะถูกส่งกลับไปทาง billing

หากการซื้อเป็นแพ็กเครดิต โดยทั่วไปคุณจะถูกส่งกลับไปทาง credits

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

  • แผนของฉันอัปเดตหรือยัง
  • หรือ wallet ของฉันอัปเดตหรือยัง

Timeout หรือ Failure หมายความว่าอะไรจริง

หาก /payment timeout หรือล้มเหลว นั่นไม่ได้แปลอัตโนมัติว่า payment หายไป

บ่อยครั้งหมายถึงหนึ่งในสิ่งเหล่านี้:

  • ระเบียน payment ฝั่งผลิตภัณฑ์ยังไม่ settled
  • การส่งกลับกำลังรอสถานะที่ยังตามไม่ทัน
  • หน้า account ยังจะดูเก่าหากผู้ใช้ถูกส่งกลับเร็วเกินไป

นั่นคือเหตุผลที่สถานะ timeout ดีกว่าสถานะสำเร็จปลอม มันบอกผู้ใช้ว่าส่วนที่ยังไม่เสร็จคือการยืนยันฝั่งผลิตภัณฑ์

วิธีตรวจที่ดีที่สุดว่า Payment เข้าจริงหรือไม่

หลัง checkout เส้นทางตรวจสอบที่สะอาดที่สุดคือ:

  1. ปล่อยให้ /payment ทำขั้นตอนให้จบ
  2. ตรวจ /settings/billing หากการซื้อคือแผน
  3. ตรวจ /settings/credits หากการซื้อคือแพ็ก
  4. ตรวจ ศูนย์การแจ้งเตือน หากบัญชียังดูไม่ตรงกัน

โดยทั่วไปวิธีนี้ดีกว่าการรีเฟรชหน้าสุ่มๆ แล้วเดา

Payment ยังกลายเป็นความทรงจำของบัญชี

Payment ไม่ใช่แค่การกระทำ checkout แต่มันกลายเป็นส่วนหนึ่งของประวัติบัญชีผ่านเหตุการณ์ที่คงอยู่ เช่น:

  • เริ่ม subscription
  • ต่ออายุ subscription
  • การชำระเงินล้มเหลว
  • เพิ่มแพ็กเครดิตแล้ว

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

วิธีคิดที่ง่ายกว่า

วิธีที่ง่ายที่สุดในการมอง checkout ของ Rivya คือ:

  • Stripe จัดการการเคลื่อนของเงิน
  • /payment จัดการการกลับเข้าผลิตภัณฑ์อย่างถูกต้อง

หากแยกสองบทบาทนี้ออกจากกัน ขั้นตอนทั้งหมดจะเข้าใจง่ายขึ้นมาก

อ่านต่อ

เช็กลิสต์สถานะ Checkout

เมื่อการซื้อดูเหมือนยังไม่เสร็จหรือสับสน ให้ตรวจว่า:

  • ยืนยันว่า Checkout เริ่มจากที่ใด: public pricing, billing settings หรือ credits settings
  • ตรวจว่า Stripe ทำ payment สำเร็จและพาผู้ใช้กลับมาที่ /payment หรือไม่
  • รอให้ Rivya รีเฟรชสถานะ subscription, pack, invoice และ wallet ก่อนเริ่มงานที่ต้องจ่ายเงินอีกครั้ง
  • ใช้หน้า billing สำหรับ subscription และหน้า credits สำหรับ pack หรือประวัติ wallet
  • อย่าถือว่าการส่งกลับของเบราว์เซอร์เป็นหลักฐานว่า webhook และสถานะบัญชี settled แล้ว

ตรวจซ้ำก่อน Retry Payment

ตรวจซ้ำก่อนลองจ่ายอีกครั้ง หากผู้ใช้เห็นแผนเก่า เครดิตหาย หน้าต่าง Checkout ซ้ำ payment failed หรือใบเสร็จ Stripe สำเร็จแต่ยังไม่สะท้อนใน Rivya

สารบัญ