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

Stripe ส่งเหตุการณ์ออกมาเมื่อการสมัครสมาชิก ใบแจ้งหนี้ และการชำระเงินเปลี่ยนแปลง เหตุการณ์เหล่านั้นใช้เริ่มอีเมลที่มีประโยชน์ได้ แต่ข้อความแต่ละฉบับก็ยังต้องกำหนดผู้รับ วัตถุประสงค์ และกฎที่ใช้ตัดสินว่าข้อความนั้นยังทันเวลาอยู่หรือไม่ให้ชัดเจน
การเชื่อมต่อ Stripe ของ Brew ดูแลทั้งการเชื่อมต่อแบบ OAuth และการตั้งค่าเว็บฮุกให้ ส่วนคู่มือนี้อธิบายวิธีออกแบบงานอีเมลที่ต่อยอดจากการเชื่อมต่อนั้น หากเป็นโฟลว์ที่เริ่มจากเหตุการณ์ในผลิตภัณฑ์แทนการเรียกเก็บเงิน ดูอีเมลอัตโนมัติด้วย AI
| ผลลัพธ์ที่ต้องการ | เหตุการณ์ที่ใช้ได้ | สิ่งที่ต้องตรวจทานก่อนส่ง |
|---|---|---|
| ต้อนรับผู้สมัครสมาชิก | customer.subscription.created |
หลีกเลี่ยงอีเมลต้อนรับซ้ำจากเหตุการณ์เซสชันชำระเงิน |
| อธิบายว่าช่วงทดลองใช้กำลังจะสิ้นสุด | customer.subscription.trial_will_end |
กำหนดสิ้นสุดที่แท้จริง และจะมีการเรียกเก็บเงินหรือไม่ |
| แจ้งว่าการชำระใบแจ้งหนี้ไม่สำเร็จ | invoice.payment_failed |
ใบแจ้งหนี้ปัจจุบัน ลิงก์การเรียกเก็บเงิน และการแจ้งเตือนที่ Stripe ส่งอยู่แล้ว |
| อธิบายการเปลี่ยนแพ็กเกจ | customer.subscription.updated |
ฟิลด์ใดเปลี่ยนไป และการเปลี่ยนแปลงนั้นสำคัญหรือไม่ |
| รับทราบการยกเลิก | customer.subscription.deleted |
สิทธิ์การใช้งานสิ้นสุดเมื่อไร และลูกค้าขออะไรไว้ |
| อธิบายการคืนเงิน | refund.created |
ฟิลด์เฉพาะของการคืนเงินที่มีในเหตุการณ์ |
ใช้ข้อมูลอ้างอิงเหตุการณ์ของ Stripe ควบคู่กับสคีมาของทริกเกอร์ Brew ที่เลือก การอัปเดตการสมัครสมาชิกอาจหมายถึงการเปลี่ยนแปลงได้หลายแบบ จึงไม่ควรส่งอีเมลแจ้งเปลี่ยนแพ็กเกจทุกครั้งที่มีการอัปเดตโดยไม่ตรวจข้อมูลก่อน
อนุญาตการเข้าถึง Stripe ในหน้า “การเชื่อมต่อ” ของ Brew แล้ว Brew จะลงทะเบียนเว็บฮุกและจัดเตรียมทริกเกอร์ที่รองรับให้ โดยไม่มีสวิตช์เปิดหรือปิดเหตุการณ์ และเฉพาะระบบอัตโนมัติที่ “ทำงานอยู่” ซึ่งผูกกับเหตุการณ์นั้นเท่านั้นที่จะทำงาน
หากต้องการนำเข้าผู้ติดต่อย้อนหลัง ให้ใช้ “ซิงค์ลูกค้าจาก Stripe” ทั้งนี้การนำเข้าผู้ติดต่อจากระบบเรียกเก็บเงินไม่ถือเป็นความยินยอมรับอีเมลการตลาด ส่วนการตั้งค่า “ซิงค์ชื่อ-นามสกุล” ของแต่ละเหตุการณ์ใช้ควบคุมการอัปเดตชื่อ ไม่ได้กำหนดว่าอีเมลจะถูกส่งหรือไม่
สร้างระบบอัตโนมัติตัวแรกเป็นฉบับร่าง ตรวจดูอีเมลที่สร้างขึ้น และทดสอบกับผู้รับที่ควบคุมได้ก่อนเผยแพร่ ส่วนรายละเอียดการเชื่อมต่อ ให้ทำตามคู่มือการตั้งค่า Stripe ทั้งนี้ Brew เชื่อมต่อกับบัญชี Stripe ที่ใช้งานจริง และเหตุการณ์จากโหมดทดสอบจะไม่เริ่มระบบอัตโนมัติ
อีเมลแจ้งการชำระเงินไม่สำเร็จที่ส่งทันทีเริ่มได้จาก invoice.payment_failed อธิบายว่าเกิดอะไรขึ้น และลิงก์ไปยังหน้าการเรียกเก็บเงินของคุณเอง อย่าสัญญาว่า Brew จะลองเรียกเก็บเงินอีกครั้ง เพราะ Stripe เป็นผู้ดูแลการชำระเงิน
สำหรับอีเมลเตือนในอีก 3 วันต่อมา ให้แอปพลิเคชันของคุณตั้งเวลาตรวจสถานะใบแจ้งหนี้ หากใบแจ้งหนี้ยังไม่ได้ชำระและลูกค้ายังเข้าเกณฑ์อยู่ ให้ส่งเหตุการณ์เตือนของ Brew แยกต่างหาก แต่หากการชำระเงินกลับมาสำเร็จแล้ว ก็จบการทำงานโดยไม่ต้องส่งเหตุการณ์นั้น
หลังขั้นตอน “รอ” ฟิลด์ของเหตุการณ์จะยังเป็นเพย์โหลดเดิม เงื่อนไขบน contact.stripe_subscription_status จะอ่านค่าปัจจุบันของฟิลด์ผู้ติดต่อใน Brew ตอนที่โหนดนั้นทำงาน โดยไม่ได้ดึงข้อมูลจาก Stripe และไม่ได้ยืนยันว่าใบแจ้งหนี้ใบนี้ได้รับการชำระแล้ว ทั้งนี้เหตุการณ์ invoice.paid ที่ตามมาทีหลังจะไม่ยกเลิกรอบการทำงานก่อนหน้าโดยอัตโนมัติ และการอัปเดตวิธีการชำระเงินก็ไม่ใช่หลักฐานว่าชำระเงินแล้วเช่นกัน
ทดสอบทั้งกรณีที่การชำระเงินกลับมาสำเร็จก่อนถึงเวลาตรวจ กรณีที่ใบแจ้งหนี้ยังไม่ได้ชำระ และกรณีที่งานถูกลองซ้ำ ใช้คีย์ idempotency เดิมสำหรับเหตุการณ์เดียวกันในเชิงตรรกะภายในช่วงเวลาลองซ้ำที่ระบุไว้ในเอกสาร
Brew ซิงค์ฟิลด์การเรียกเก็บเงินเข้าสู่ผู้ติดต่อได้ รวมถึงสถานะการสมัครสมาชิกและแพ็กเกจ แต่เพย์โหลดของเหตุการณ์กับฟิลด์ผู้ติดต่อเป็นแหล่งข้อมูลคนละแหล่งกัน ให้อ่านสคีมาของทริกเกอร์ก่อนใช้ amount, currency, invoiceNumber, previousPlan, newPlan หรือ failureMessage เพราะไม่ใช่ทุกเหตุการณ์ที่มีฟิลด์เหล่านี้ครบ
ID ของออบเจ็กต์ Stripe จะถูกตัดออกจากเพย์โหลดของระบบอัตโนมัติ อย่าสร้าง URL ของพอร์ทัลลูกค้าจาก ID ใบแจ้งหนี้หรือ ID การสมัครสมาชิกที่คาดเดาเอาเอง ให้ใช้หน้าการเรียกเก็บเงินในแอปพลิเคชันของคุณที่ต้องยืนยันตัวตนก่อนเข้า หรือลิงก์ที่ตั้งใจส่งมาในเหตุการณ์ที่กำหนดเอง และทำตามคู่มือแท็กตัวแปร
ตรวจสอบการตั้งค่าอีเมลถึงลูกค้าของ Stripe แล้วกำหนดว่าระบบใดเป็นผู้ส่งใบเสร็จ อีเมลแจ้งการชำระเงินไม่สำเร็จ และอีเมลเตือน การเปิดระบบอัตโนมัติใน Brew ไม่ได้ปิดอีเมลของ Stripe ให้
อย่าใส่เนื้อหาโปรโมชันในอีเมลแจ้งเรื่องบัญชี เว้นแต่คุณจะตรวจทานวัตถุประสงค์และสิทธิ์ในการส่งข้อความนั้นแล้ว อีเมลเตือนเชิงการตลาดต้องมีความยินยอมที่สอดคล้องกัน และต้องจัดการการยกเลิกการรับข่าวสารให้ถูกต้อง
ตรวจให้แน่ใจว่ามีเหตุการณ์แสดงใน Brew แล้ว ระบบอัตโนมัติที่ผูกไว้อยู่ในสถานะ “ทำงานอยู่” และประวัติการทำงานแสดงผู้รับและผลลัพธ์ตามที่คาดไว้ จากนั้นตรวจอีเมลที่ได้รับและลิงก์การเรียกเก็บเงิน หากเหตุการณ์เข้ามาแล้วแต่ไม่มีการส่งข้อความ ให้ตรวจตัวกรอง การระงับการส่ง และความพร้อมของโดเมนผู้ส่ง ก่อนจะสรุปว่าเว็บฮุกมีปัญหา
เริ่มจากเหตุการณ์ 1 รายการกับอีเมล 1 ฉบับที่ทดสอบแล้ว แล้วค่อยเพิ่มอีเมลเตือนที่ตามมา เมื่อการทดสอบของแอปพลิเคชันครอบคลุมการตรวจสถานะปัจจุบันและพฤติกรรมการลองซ้ำแล้วเท่านั้น
