วิธีเชื่อมต่อ Prodamus

ในการเชื่อมต่อ Prodamus คุณต้องมี URL ฟอร์มชำระเงินและคีย์ลับ

URL ฟอร์มชำระเงินจะได้รับหลังจากลงทะเบียน ตัวอย่าง:

demo.payform.ru

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

คำแนะนำโดยละเอียดเกี่ยวกับการกำหนดค่านี้

URL การแจ้งเตือน:
https://chatter.mavibot.ai/prodamus_callback/result

URL นี้ต้องระบุในสองตำแหน่งในการตั้งค่า

ในหน้าตั้งค่าหลัก คุณสามารถเลือกโหมดการทำงานของฟอร์มชำระเงิน:

  • โหมดทดสอบโดยไม่มีการชำระเงินจริง
  • โหมดจริงสำหรับรับชำระเงิน

ต้องระบุ URL การแจ้งเตือนในสองส่วนของการตั้งค่าระบบชำระเงิน:

  • ในแท็บ การตั้งค่าฟอร์ม สำหรับการชำระเงินครั้งเดียว
  • ในแท็บ การสมัครสมาชิก สำหรับการชำระเงินแบบสมัครสมาชิก

URL การแจ้งเตือน:
https://chatter.mavibot.ai/prodamus_callback/result

ในการกำหนดค่าการชำระเงินแบบสมัครสมาชิก ให้เปิดแท็บ การสมัครสมาชิก และป้อน URL การแจ้งเตือน:

https://chatter.mavibot.ai/prodamus_callback/result

สำคัญ: หลังจากป้อน URL แล้ว ตรวจสอบให้แน่ใจว่าได้คลิก บันทึก

ในการเชื่อมต่อ Prodamus ใน Mavibot ให้เปิดส่วน การรับชำระเงิน

จากนั้นป้อน URL ฟอร์มชำระเงินและคีย์ลับในฟิลด์ที่เกี่ยวข้อง

สำคัญ: อย่ารวม https:// เมื่อป้อน URL ฟอร์มชำระเงิน

การเชื่อมต่อเสร็จสมบูรณ์แล้ว ต่อไปเรามาดูวิธีการใช้ฟังก์ชันนี้กัน

การสร้างลิงก์ชำระเงิน

ปุ่มชำระเงิน

ลิงก์ชำระเงินสามารถสร้างได้โดยใช้ปุ่มที่มีฟังก์ชัน การชำระเงิน

ดูคำแนะนำในการสร้างปุ่มชำระเงิน:
/docs/chatbot-builder-buttons-payment-button

ส่วนด้านล่างอธิบายการตั้งค่าปุ่มทั้งหมดที่มี

พารามิเตอร์ที่จำเป็น

ในการสร้างลิงก์ชำระเงิน จำเป็นต้องมีฟิลด์ต่อไปนี้:

  • จำนวนเงิน
  • ชื่อผลิตภัณฑ์
  • ผลิตภัณฑ์สำหรับใบเสร็จ (จำเป็นเฉพาะเมื่อคุณไม่มีเครื่องบันทึกเงินสดออนไลน์ของตัวเองและต้องการให้ Prodamus สร้างใบเสร็จทางการเงิน)

เมื่อลูกค้าเปิดหน้าชำระเงิน ข้อมูลผลิตภัณฑ์และราคาจะถูกกรอกไว้แล้ว ลูกค้าเพียงแค่ต้องป้อนรายละเอียดการติดต่อ

หากอีเมลและ/หรือหมายเลขโทรศัพท์ของลูกค้าถูกระบุในการตั้งค่าปุ่ม ข้อมูลเหล่านั้นจะถูกกรอกไว้ล่วงหน้าบนหน้าชำระเงินด้วย

การตั้งค่าปุ่ม

ข้อความ – ข้อความที่แสดงบนปุ่มชำระเงิน

ฟังก์ชัน – เลือก การชำระเงิน เพื่อสร้างลิงก์ชำระเงิน

ระบบชำระเงิน – แสดงระบบชำระเงินที่เชื่อมต่อกับโปรเจกต์

หากไม่มีระบบชำระเงินที่เชื่อมต่อ ปุ่มประเภทนี้จะไม่สามารถใช้งานได้

ชื่อผลิตภัณฑ์ (จำเป็น) – ระบุชื่อผลิตภัณฑ์ที่แน่นอน

ตัวอย่างเช่น แทนที่จะใช้:

โทรศัพท์

ให้ใช้:

สมาร์ทโฟน Xiaomi รุ่น ...

หมายเหตุ: ไม่อนุญาตให้ใช้เครื่องหมายคำพูดคู่ (") ในชื่อผลิตภัณฑ์ ให้ลบออกหรือแทนที่ด้วยเครื่องหมายคำพูดเดี่ยว

จำนวนเงิน (จำเป็น) – จำนวนเงินที่ต้องชำระ

พารามิเตอร์เพิ่มเติม

คลิก ข้อมูลเพิ่มเติม เพื่อกำหนดค่าฟิลด์ที่ไม่บังคับ:

  • คำอธิบายคำสั่งซื้อ
  • ส่วนลด (รูเบิล)
  • ตัวแปรอีเมลลูกค้า
  • ตัวแปรโทรศัพท์ลูกค้า
  • วันที่หมดอายุของลิงก์
  • ID ผลิตภัณฑ์สมัครสมาชิก
  • ผลิตภัณฑ์สำหรับใบเสร็จ

แจ้งเตือนเมื่อคลิก – เปิดใช้งานตัวเลือกนี้หากคุณต้องการรับการแจ้งเตือนในการสนทนาของลูกค้าเมื่อพวกเขาคลิกปุ่มชำระเงิน

การแจ้งเตือนนี้สามารถใช้เพื่อสร้างตรรกะแชทบอทเพิ่มเติม

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

หน้าชำระเงินที่เปิดโดยปุ่มจะมีลักษณะดังนี้:

การตั้งค่าลิงก์ชำระเงินเพิ่มเติม

คำอธิบายคำสั่งซื้อ – ข้อความที่ป้อนในฟิลด์นี้จะแสดงบนหน้าชำระเงินในส่วน ข้อมูลเพิ่มเติม

ส่วนลด – ระบุจำนวนส่วนลดเป็นรูเบิล รองรับค่าทศนิยมโดยใช้จุดเป็นตัวคั่น (เช่น 50.99)

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

ตัวแปรอีเมลลูกค้า (ไม่บังคับหากระบุหมายเลขโทรศัพท์) – ที่อยู่อีเมลของลูกค้าหรือตัวแปรที่มีที่อยู่นั้น เช่น:

#{email}

ตัวแปรโทรศัพท์ลูกค้า (ไม่บังคับหากระบุที่อยู่อีเมล) – ตัวแปรที่มีหมายเลขโทรศัพท์ของลูกค้าในรูปแบบ:

79000000000

ตัวอย่าง:

#{phone}

ต้องระบุที่อยู่อีเมลหรือหมายเลขโทรศัพท์อย่างใดอย่างหนึ่ง

วันที่หมดอายุของลิงก์ – ระบุวันที่หมดอายุในรูปแบบ:

dd.MM.yyyy HH:mm

ตัวอย่าง:

25.01.2021 11:00

คุณยังสามารถใช้ตัวแปร เช่น:

#{link_expired}

ID ผลิตภัณฑ์สมัครสมาชิก – ป้อน ID ผลิตภัณฑ์สมัครสมาชิกเพื่อสร้างการชำระเงินที่เกิดซ้ำ

สำหรับข้อมูลเกี่ยวกับการสร้างผลิตภัณฑ์สมัครสมาชิก โปรดดูเอกสารของ Prodamus

หากระบุ ID ผลิตภัณฑ์สมัครสมาชิก:

  • จำนวนเงินที่ชำระจะถูกละเว้น
  • ข้อมูลผลิตภัณฑ์จะถูกโหลดจากผลิตภัณฑ์สมัครสมาชิกใน Prodamus
  • ต้องใช้หมายเลขโทรศัพท์ของลูกค้าในการจัดการการสมัครสมาชิก
  • การเรียกกลับ (callback) จะมี ID ผลิตภัณฑ์สมัครสมาชิกหลังจากการชำระเงินสำเร็จ

ผลิตภัณฑ์สำหรับใบเสร็จ (จำเป็นตามเงื่อนไข) – จำเป็นสำหรับการทำ fiscalization การชำระเงินผ่าน Prodamus หากคุณไม่ได้ใช้เครื่องบันทึกเงินสดออนไลน์ของตัวเอง

ระบุคำอธิบายผลิตภัณฑ์ ราคา และลิงก์ไปยังเนื้อหาที่ซื้อ

ตัวอย่าง:

คอร์ส "การถ่ายภาพขั้นสูง" ราคา 3000 รูเบิล
https://example.com/course

พฤติกรรมเมื่อลิงก์หมดอายุ

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

ลิงก์ที่หมดอายุ

หากลูกค้าเปิดลิงก์ชำระเงินหลังจากที่หมดอายุแล้ว จะไม่สามารถชำระเงินได้ และพวกเขาจะเห็นข้อความต่อไปนี้:

หมายเหตุ: วันที่หมดอายุต้องช้ากว่าวันที่ปัจจุบัน มิฉะนั้นลูกค้าจะไม่สามารถชำระเงินได้

ปุ่มชำระเงินที่ไม่ทำงาน

หากลูกค้าขอปุ่มชำระเงินหลังจากลิงก์หมดอายุแล้ว ปุ่มจะไม่แสดง

แต่จะมีการสร้างตัวแปรลูกค้าต่อไปนี้:

error_payment_button

ค่า:

ข้อผิดพลาด: วันที่หมดอายุของลิงก์ต้องช้ากว่าวันที่ปัจจุบัน

เราขอแนะนำให้จัดการกับสถานการณ์นี้ในโฟลว์แชทบอทของคุณ

สร้างเงื่อนไขที่ตรวจสอบ:

error_payment_button == "ข้อผิดพลาด: วันที่หมดอายุของลิงก์ต้องช้ากว่าวันที่ปัจจุบัน"

หากตรงตามเงื่อนไข ให้ส่งข้อความ เช่น:

ขออภัย คุณไม่สามารถชำระเงินได้ทันเวลา ลิงก์ชำระเงินหมดอายุแล้ว

ตัวแปรลูกค้าที่สร้างโดยปุ่มชำระเงิน

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

__payments

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

สำคัญ: ห้ามแก้ไขหรือลบตัวแปรระบบ __payments

error_payment_button

ตัวแปรนี้จะถูกสร้างขึ้นโดยอัตโนมัติหากเกิดข้อผิดพลาดขณะสร้างปุ่มชำระเงิน

ตัวแปรนี้มีข้อความแสดงข้อผิดพลาดที่สร้างโดย Mavibot หรือข้อผิดพลาดที่ส่งคืนโดยระบบชำระเงิน

ค่าตัวแปรจะพร้อมใช้งานหลังจากแชทบอทย้ายไปยังบล็อกถัดไป


การประมวลผลผลลัพธ์การชำระเงิน

การชำระเงินสำเร็จ

หลังจากการชำระเงินสำเร็จ Mavibot จะได้รับการเรียกกลับต่อไปนี้โดยอัตโนมัติ:

<อักขระ 10 ตัวแรกของคีย์ลับ>_success <จำนวนเงินที่ชำระ>

ตัวอย่าง:

ovg58keefc_success 44

โดยที่:

  • ovg58keefc — อักขระ 10 ตัวแรกของคีย์ลับ Prodamus
  • _success — ระบุว่าการชำระเงินสำเร็จ
  • 44 — จำนวนเงินที่ชำระ

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

ตัวอย่าง

ขั้นตอนที่ 1

สร้างบล็อกที่มีปุ่ม การชำระเงิน

ขั้นตอนที่ 2

สร้างบล็อก ทริกเกอร์ หรือกำหนดค่าลูกศรที่นำไปยังบล็อกถัดไป

วางการเรียกกลับการชำระเงินในทริกเกอร์หรือเงื่อนไขการจับคู่

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

สำคัญ: ใช้ ตรงกันทุกประการ หรือ มีคำสำคัญ เป็นประเภทการจับคู่

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


การชำระเงินสมัครสมาชิกสำเร็จ

สำหรับผลิตภัณฑ์สมัครสมาชิก รูปแบบการเรียกกลับคือ:

<อักขระ 10 ตัวแรกของคีย์ลับ>_success <ID ผลิตภัณฑ์สมัครสมาชิก>

ตัวอย่าง:

214009eefc_success 618117

โดยที่:

  • 214009eefc — อักขระ 10 ตัวแรกของคีย์ลับ
  • _success — การชำระเงินสำเร็จ
  • 618117 — ID ผลิตภัณฑ์สมัครสมาชิก


การชำระเงินล้มเหลว

หากการชำระเงินล้มเหลว Mavibot จะได้รับการเรียกกลับต่อไปนี้:

<อักขระ 10 ตัวแรกของคีย์ลับ>_fail <จำนวนเงินที่ชำระ>

ตัวอย่าง:

ovg58keefc_fail 44

โดยที่:

  • ovg58keefc — อักขระ 10 ตัวแรกของคีย์ลับ
  • _fail — การชำระเงินล้มเหลว
  • 44 — จำนวนเงินที่ชำระ

หมายเหตุ: ผู้ให้บริการชำระเงินบางรายไม่ส่งการเรียกกลับสำหรับการชำระเงินที่ล้มเหลว


จำนวนเงินที่ชำระไม่ตรงกัน

หากจำนวนเงินที่ชำระแตกต่างจากจำนวนเงินที่ระบุในปุ่มชำระเงิน Mavibot จะได้รับการเรียกกลับต่อไปนี้:

<อักขระ 10 ตัวแรกของคีย์ลับ>_different_amounts <ID การชำระเงิน>

ตัวอย่าง:

ovg58keefc_different_amounts 123456

โดยที่:

  • ovg58keefc — อักขระ 10 ตัวแรกของคีย์ลับ
  • _different_amounts — ระบุว่าจำนวนเงินที่ชำระแตกต่างจากจำนวนเงินที่คาดไว้
  • 123456 — ID การชำระเงินที่ไม่ซ้ำกัน

ฟังก์ชันเครื่องคิดเลข get_prodamus_payment_url

คุณสามารถสร้างลิงก์ชำระเงินได้โดยใช้ฟังก์ชัน get_prodamus_payment_url ในบล็อก เครื่องคิดเลข

กำหนดผลลัพธ์ของฟังก์ชันให้กับตัวแปรใดก็ได้

คุณสามารถเลือกชื่อตัวแปรใดก็ได้ ภาพหน้าจอด้านล่างใช้ชื่อตัวแปรตัวอย่าง

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

ตัวอย่างลิงก์ชำระเงิน:

https://payform.ru/7p3JR8/

ตัวอย่าง

ไวยากรณ์ของฟังก์ชัน

your_variable = get_prodamus_payment_url(
    amount,
    product_name,
    expired,
    customer_phone,
    customer_email,
    discount,
    description,
    extra_params,
    products_for_receipt
)

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
amount จำเป็น. จำนวนเงินที่ต้องชำระ รองรับจำนวนเต็มหรือทศนิยม (เช่น 25 หรือ 52.5)
product_name จำเป็น. ชื่อสินค้า
expired วันหมดอายุของลิงก์ชำระเงิน รูปแบบที่รองรับ: dd.MM.yyyy หรือ dd.MM.yyyy HH:mm คุณยังสามารถใช้ตัวแปรหรือนิพจน์ เช่น current_date + 2 ส่ง '', "" หรือ None เพื่อข้ามพารามิเตอร์นี้
customer_phone หมายเลขโทรศัพท์ของลูกค้า ไม่จำเป็นหากระบุ customer_email ส่ง '' หรือ "" เพื่อข้าม
customer_email ที่อยู่อีเมลของลูกค้า ไม่จำเป็นหากระบุ customer_phone ส่ง '' หรือ "" เพื่อข้าม
discount จำนวนส่วนลด รองรับจำนวนเต็มหรือทศนิยม (เช่น 25 หรือ 63.5) ส่ง '' หรือ "" เพื่อข้าม
description คำอธิบายสินค้า หากละเว้น Prodamus จะใช้ Payment for order order_id โดยอัตโนมัติ ส่ง '' หรือ "" เพื่อข้าม
extra_params พารามิเตอร์ API เพิ่มเติมของ Prodamus ที่ไม่รวมอยู่ในอาร์กิวเมนต์ของฟังก์ชัน ส่ง '', "" หรือ None เพื่อข้าม
products_for_receipt ข้อมูลใบเสร็จในรูปแบบ "product description - price - purchased content URL" จำเป็นหากคุณใช้การออกใบกำกับภาษีของ Prodamus โดยไม่มีเครื่องบันทึกเงินสดออนไลน์ของคุณเอง

ตัวอย่างวันหมดอายุ

หมดอายุหลังจากสองวัน:

expired = current_date + 2

หมดอายุใน 30 นาที:

time = current_time + 30
expired = "#{current_date} #{time}"

ตัวอย่าง extra_params

extra_params = {
    "payments_limit": "3",
    "payment_method": "vsegdada_installment_0_0_6"
}

ดูเอกสาร REST API ของ Prodamus สำหรับรายการพารามิเตอร์ที่รองรับทั้งหมด


ตัวอย่าง

extra_params = {
    "payments_limit": "3"
}

products_for_receipt = "Photography Course, price 4999 RUB, https://example.com/course"

payment_link = get_prodamus_payment_url(4999, "Photography Course", "27.03.2023 17:00", "79167777771", "[email protected]", 20, "The best photography course", extra_params, products_for_receipt)

ในตัวอย่างนี้:

  • extra_params มีพารามิเตอร์การชำระเงินเพิ่มเติม
  • products_for_receipt มีข้อมูลใบเสร็จทางการเงิน
  • payment_link เก็บ URL การชำระเงินที่สร้างขึ้น

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

การสร้างลิงก์ชำระเงินโดยใช้ payment_sum

หมายเหตุ: ค่าของ payment_sum จะถูกนำไปใช้หลังจากตัวแปรเสริมทั้งหมด เช่น payment_description, product_name และอื่นๆ

แทนที่จะเรียก get_prodamus_payment_url() คุณสามารถสร้างลิงก์ชำระเงินได้โดยการกำหนดค่าให้กับตัวแปร payment_sum ในบล็อก Calculator

หลังจากกำหนด payment_sum แล้ว Mavibot จะสร้างตัวแปร prodamus_pay_url ที่มีลิงก์ชำระเงินโดยอัตโนมัติ

ตัวอย่าง:

https://payform.ru/7p3JR8/

คุณสามารถแสดงตัวแปรนี้ในข้อความหรือใช้เป็น URL ของปุ่ม

ตัวแปรเสริม

สามารถกำหนดตัวแปรต่อไปนี้ ก่อน การกำหนด payment_sum

ตัวแปร คำอธิบาย
product_name ชื่อสินค้า หากละเว้น ค่าเริ่มต้นคือ Payment for order order_id
payment_description คำอธิบายสินค้าที่แสดงบนหน้าชำระเงิน
discount_value จำนวนส่วนลด ตัวอย่าง: 25 หรือ 50.25
customer_phone หมายเลขโทรศัพท์ของลูกค้า
customer_email ที่อยู่อีเมลของลูกค้า
link_expired วันหมดอายุของลิงก์ชำระเงิน
currency สกุลเงินที่ใช้ชำระเงิน ค่าที่รองรับ: rub, usd, eur, kzt ต้องเป็นตัวพิมพ์เล็ก
payment_title ชื่อเรื่องการชำระเงิน (สูงสุด 127 ตัวอักษร) ค่าเริ่มต้นคือ Payment payment_id
locale ภาษาของหน้าชำระเงิน (เช่น ru-RU, en-US, fr-FR)
products_for_receipt ข้อมูลใบเสร็จ จำเป็นหากคุณใช้การออกใบกำกับภาษีของ Prodamus โดยไม่มีเครื่องบันทึกเงินสดออนไลน์ของคุณเอง
payment_sum จำเป็น. จำนวนเงินที่ต้องชำระ

การหมดอายุของลิงก์

คุณสามารถระบุวันหมดอายุได้หลายวิธี

วันที่เฉพาะ:

25.01.2021

วันที่และเวลาเฉพาะ:

25.01.2021 12:23

การใช้ตัวแปร:

time = current_time + 30
link_expired = "#{current_date} #{time}"

หรือ:

link_expired = current_date + 2

ตัวอย่าง

ขั้นแรก กำหนดจำนวนเงินที่ต้องชำระ

จากนั้นใช้ตัวแปร prodamus_pay_url ที่สร้างขึ้นในตำแหน่งที่คุณต้องการส่งลิงก์ชำระเงิน

วิธีการชำระเงินที่มี

ต้องกำหนดตัวแปร prodamus_available_payment_methods ก่อน payment_sum

ค่าที่รองรับได้แก่:

ค่า คำอธิบาย
AC บัตรธนาคารของรัสเซีย
ACkz บัตรธนาคารของคาซัคสถาน
ACf บัตรธนาคารของ CIS (ไม่รวมรัสเซีย)
ACEURNMBX บัตร EUR (ไม่รวมรัสเซียและเบลารุส)
SBP ระบบการชำระเงินที่รวดเร็ว (รัสเซีย)
QW กระเป๋าเงิน QIWI
PC YooMoney
GP เครื่องชำระเงิน
sbol Sberbank Online
invoice การชำระเงินด้วยใบแจ้งหนี้
installment การผ่อนชำระของ Prodamus
credit สินเชื่อ T-Bank
monetaworld บัตรนานาชาติ (ไม่รวมรัสเซีย)

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

ตัวอย่าง:

prodamus_available_payment_methods = "AC|PC|QW"

สกุลเงิน

คุณสามารถระบุสกุลเงินที่ใช้ชำระเงินได้โดยใช้ตัวแปร prodamus_currency

ค่าที่รองรับ:

  • kzt
  • usd
  • eur

หน้าชำระเงินที่สร้างขึ้นจะแสดงจำนวนเงินในสกุลเงินที่เลือก

เมื่อประมวลผล callback payment_callback ให้ใส่ใจกับฟิลด์ต่อไปนี้:

  • currency
  • currency_sum

ฟิลด์เหล่านี้มีสกุลเงินที่ใช้ชำระเงินและจำนวนเงินที่ชำระ

หากไม่ได้ระบุวิธีการชำระเงิน หน้าชำระเงินจะไม่แสดงวิธีการชำระเงินใดๆ ที่พร้อมใช้งาน เปิดใช้งานวิธีการชำระเงินที่จำเป็นในบัญชี Prodamus ของคุณก่อน

การประมวลผลผลลัพธ์การชำระเงิน

Callback การชำระเงิน

หลังจากการชำระเงินสำเร็จหรือล้มเหลว Mavibot จะได้รับ callback ที่สามารถใช้เพื่อกำหนดสถานะการชำระเงิน

Callback จะปรากฏในการสนทนาเป็นข้อความระบบ ลูกค้าจะไม่เห็นหรือส่งข้อความเหล่านี้

ตัวอย่าง:

การชำระเงินสำเร็จ:

453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_success

การชำระเงินล้มเหลว:

453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_fail

หลังจากการชำระเงินสำเร็จ ตัวแปรลูกค้าต่อไปนี้จะถูกสร้างขึ้นโดยอัตโนมัติ:

prodamus_payment_completed = True

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

ตัวอย่างข้อความ:

หลังจากชำระเงินเสร็จสิ้น โปรดรอการยืนยันการชำระเงิน


รูปแบบ Callback

ลิงก์ชำระเงินที่สร้างโดยปุ่ม Payment หรือฟังก์ชัน get_prodamus_payment_url() จะส่งคืน callback ต่อไปนี้หลังจากการชำระเงินสำเร็จ:

<secret_key>_success

ตัวอย่าง:

ovg58keefc_success

โดยที่:

  • <secret_key> คือคีย์ลับ Prodamus ของคุณ
  • _success ระบุว่าการชำระเงินสำเร็จ

ตัวอย่าง

สร้างทริกเกอร์หรือบล็อกเงื่อนไขที่รอ callback จากนั้นดำเนินการต่อในโฟลว์แชทบอท

สำคัญ: ใช้ Exact match เป็นประเภทการจับคู่

หากคุณต้องการสร้างลิงก์ชำระเงินอื่นหลังจากการชำระเงินสำเร็จ ให้รีเซ็ตข้อมูลการชำระเงินที่มีอยู่ก่อน

ตั้งค่า:

payment_sum = 0

จากนั้นกำหนดค่าใหม่ให้กับ payment_sum เพื่อสร้างลิงก์ชำระเงินใหม่


Callback การสมัครสมาชิก

Prodamus ยังส่ง callback ที่เกี่ยวข้องกับสถานะการสมัครสมาชิก

ตัวอย่างได้แก่:

  • การสมัครสมาชิกถูกยกเลิกโดยลูกค้า
  • การสมัครสมาชิกถูกเปิดใช้งานอีกครั้งโดยลูกค้า
  • การสมัครสมาชิกถูกปิดใช้งานหลังจากความพยายามชำระเงินล้มเหลวหลายครั้ง

การสมัครสมาชิกถูกยกเลิก

ส่งเมื่อลูกค้ายกเลิกการสมัครสมาชิกด้วยตนเอง

รอบการเรียกเก็บเงินที่ชำระแล้วในปัจจุบันอาจยังคงทำงานอยู่

คุณสามารถใช้ callback นี้เพื่อ:

  • ไม่สนใจเหตุการณ์
  • แจ้งทีมของคุณ
  • ส่งข้อความรักษาลูกค้าให้กับลูกค้า

การสมัครสมาชิกถูกเปิดใช้งานอีกครั้ง

ส่งเมื่อลูกค้ากู้คืนการสมัครสมาชิกที่ถูกยกเลิกก่อนหน้านี้

ขึ้นอยู่กับตรรกะทางธุรกิจของคุณ คุณสามารถไม่สนใจ callback นี้หรือลบลูกค้าออกจากเวิร์กโฟลว์การรักษาลูกค้า

การสมัครสมาชิกถูกปิดใช้งาน

ส่งหลังจากความพยายามชำระเงินซ้ำไม่สำเร็จหลายครั้ง


การบันทึกข้อมูล Callback

หลังจากการชำระเงินสำเร็จ ข้อมูล callback ทั้งหมดจะถูกจัดเก็บในตัวแปรต่อไปนี้:

payment_callback

ประกอบด้วยข้อมูลการชำระเงินทั้งหมดที่ส่งคืนโดย Prodamus

ตัวอย่าง:

{
  "date": "2021-03-30T11:44:43+03:00",
  "order_id": "757679",
  "sum": "14.50",
  "customer_phone": "+77777777777",
  "customer_extra": "Product",
  "payment_status": "success"
}

หากคุณระบุ product_name และ payment_description ขณะสร้างลิงก์ชำระเงิน คุณสามารถดึงข้อมูลจาก callback ได้

ตัวอย่าง:

product = get(payment_callback, "products[0][name]")
description = get(payment_callback, "customer_extra")

ดึงจำนวนเงินที่ชำระ:

amount = get(payment_callback, "sum")

หมายเหตุ: ค่าของ payment_sum จะถูกกำหนดหลังจากตัวแปรเสริม เช่น payment_description และ product_name เสมอ

Callback ที่มี

นอกเหนือจาก callback การชำระเงินสำเร็จแล้ว Prodamus ยังส่ง callback ระบบต่างๆ ที่สามารถใช้เพื่อทำให้แชทบอทของคุณเป็นอัตโนมัติ

เหตุการณ์การสมัครสมาชิก

  • การสมัครสมาชิกถูกยกเลิกโดยลูกค้า
  • การสมัครสมาชิกถูกเปิดใช้งานอีกครั้งโดยลูกค้า
  • การสมัครสมาชิกหมดอายุ

เหตุการณ์การชำระเงินล้มเหลว

ขึ้นอยู่กับผู้ให้บริการชำระเงิน คุณอาจได้รับ callback พร้อมสาเหตุของความล้มเหลว เช่น:

  • การชำระเงินล้มเหลว – เงินไม่เพียงพอ
  • การชำระเงินล้มเหลว – บัตรหมดอายุ
  • การชำระเงินล้มเหลว – วงเงินบัตรเกิน
  • การชำระเงินล้มเหลว – บัตรถูกแจ้งว่าสูญหาย
  • การชำระเงินล้มเหลว – ข้อผิดพลาดของระบบ
  • การชำระเงินล้มเหลว – ธุรกรรมถูกปฏิเสธโดยธนาคารผู้ออกบัตร
  • การชำระเงินล้มเหลว – ธุรกรรมถูกปฏิเสธโดยธนาคาร

เหตุการณ์อื่นๆ

  • การแจ้งเตือนการชำระเงินซ้ำที่กำลังจะมาถึง
  • การสมัครผ่อนชำระได้รับการอนุมัติ
  • การสมัครผ่อนชำระถูกยกเลิก
  • การสมัครผ่อนชำระถูกปฏิเสธ

คุณสามารถสร้างโฟลว์แชทบอทที่ตอบสนองต่อ callback เหล่านี้ได้

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

ในการประมวลผลสาเหตุความล้มเหลวเฉพาะ ให้สร้างทริกเกอร์ที่ตรงกับ callback ที่เกี่ยวข้อง

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

Payment failed

callback ใดๆ ที่มีข้อความ Payment failed จะทริกเกอร์การดำเนินการของแชทบอทที่กำหนดค่าไว้


การชำระเงินแบบสมัครสมาชิก

การสร้างการสมัครสมาชิก

ก่อนที่จะรับชำระเงินแบบสมัครสมาชิก ให้สร้างผลิตภัณฑ์แบบสมัครสมาชิกในบัญชี Prodamus ของคุณ

สำหรับคำแนะนำโดยละเอียด โปรดดูเอกสารประกอบของ Prodamus

หลังจากสร้างผลิตภัณฑ์แบบสมัครสมาชิกแล้ว ให้คัดลอก รหัสผลิตภัณฑ์สมัครสมาชิก

กำหนดรหัสผลิตภัณฑ์สมัครสมาชิกให้กับตัวแปรต่อไปนี้:

prodamus_subscription

Mavibot จะสร้างตัวแปรต่อไปนี้โดยอัตโนมัติ:

prodamus_pay_url

URL ที่สร้างขึ้นสามารถแสดงในข้อความหรือแนบไปกับปุ่มได้

ตัวอย่าง:

https://payform.kz/7p3JR8/

การชำระเงินแบบสมัครสมาชิกจะดำเนินการในลักษณะเดียวกับการชำระเงินแบบครั้งเดียว

หลังจากชำระเงินแบบสมัครสมาชิกสำเร็จ หมายเลขโทรศัพท์ของลูกค้าจะถูกบันทึกไว้ในตัวแปร customer_phone โดยอัตโนมัติ

หากไม่ได้ระบุ customer_email จำเป็นต้องใช้ customer_phone สำหรับการจัดการการสมัครสมาชิก


get_prodamus_subscription_url

คุณยังสามารถสร้างลิงก์ชำระเงินแบบสมัครสมาชิกได้โดยใช้เครื่องคิดเลข

ฟังก์ชัน:

get_prodamus_subscription_url(
    subscription_id,
    product_name,
    expired,
    customer_phone,
    customer_email,
    discount,
    description,
    extra_params,
    products_for_receipt
)

ตัวอย่าง

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
subscription_id จำเป็น รหัสผลิตภัณฑ์สมัครสมาชิกจากบัญชี Prodamus ของคุณ
product_name จำเป็น ชื่อผลิตภัณฑ์
expired วันที่หมดอายุของลิงก์ชำระเงิน รองรับรูปแบบ dd.MM.yyyy หรือ dd.MM.yyyy HH:mm รองรับตัวแปรด้วย
customer_phone หมายเลขโทรศัพท์ของลูกค้า ไม่จำเป็นหากระบุ customer_email
customer_email ที่อยู่อีเมลของลูกค้า ไม่จำเป็นหากระบุ customer_phone
discount จำนวนส่วนลด
description คำอธิบายผลิตภัณฑ์
extra_params พารามิเตอร์ API เพิ่มเติมของ Prodamus
products_for_receipt ข้อมูลใบเสร็จ จำเป็นเมื่อใช้การออกใบเสร็จของ Prodamus โดยไม่มีเครื่องบันทึกเงินสดออนไลน์ของคุณเอง

ตัวอย่าง

extra_params = {
    "payments_limit": "3"
}

products_for_receipt = "Photography Course subscription, 2000 RUB/month, https://example.com/course"

subscription_link = get_prodamus_subscription_url(618988, "Photography Course", "27.03.2023 17:02", "79167777771", "[email protected]", 20, "Premium subscription", extra_params, products_for_receipt)

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

การจัดการสถานะการสมัครสมาชิก

การจัดการการสมัครสมาชิกใช้ได้เฉพาะกับการสมัครสมาชิกที่ใช้งานอยู่เท่านั้น ไม่รองรับในโหมดสาธิตเนื่องจากไม่ได้เชื่อมโยงบัตรชำระเงิน

ในการจัดการการสมัครสมาชิก ต้องมีพารามิเตอร์อย่างน้อยหนึ่งรายการต่อไปนี้:

  • customer_phone
  • customer_email

หากต้องการยกเลิกหรือเปิดใช้งานการสมัครสมาชิกอีกครั้ง ให้ใช้ฟังก์ชันต่อไปนี้:

delete_subscription_prodamus

ตัวอย่างพารามิเตอร์:

{
  "customer_phone": "#{customer_phone}",
  "id_subscription": "#{prodamus_subscription}",
  "url": "https://demo.payform.ru/",
  "secret_key": "453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66",
  "switcher": "0",
  "profile_id": "12345"
}

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
url URL แบบฟอร์มชำระเงินที่กำหนดค่าใน Mavibot
secret_key คีย์ลับ Prodamus ของคุณ
id_subscription รหัสผลิตภัณฑ์สมัครสมาชิก
customer_phone หมายเลขโทรศัพท์ของผู้สมัครสมาชิก
switcher การดำเนินการสมัครสมาชิก: 0 – ปิดใช้งาน, 1 – เปิดใช้งานอีกครั้ง
profile_id รหัสโปรไฟล์ลูกค้าใน Prodamus

หาก Prodamus ส่งคืนรหัสโปรไฟล์ รหัสนั้นจะถูกบันทึกไว้ในตัวแปร profile_id โดยอัตโนมัติ คุณสามารถใช้ตัวแปรนี้แทน customer_phone หรือ customer_email เมื่อจัดการการสมัครสมาชิก

ตัวอย่าง:

ฟังก์ชันจะส่งคืนค่าสถานะ

หากการดำเนินการสำเร็จ:

status = ok

prodamus_subscription_switch_status

คุณยังสามารถจัดการการสมัครสมาชิกได้โดยใช้เครื่องคิดเลข

prodamus_subscription_switch_status(
    subscription_id,
    switcher,
    customer_phone,
    customer_email,
    profile_id
)

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
subscription_id รหัสผลิตภัณฑ์สมัครสมาชิก
switcher 0 – ปิดใช้งานการสมัครสมาชิก, 1 – เปิดใช้งานการสมัครสมาชิกอีกครั้ง
customer_phone หมายเลขโทรศัพท์ของลูกค้า ไม่จำเป็นหากระบุ customer_email
customer_email ที่อยู่อีเมลของลูกค้า ไม่จำเป็นหากระบุ customer_phone
profile_id รหัสโปรไฟล์ลูกค้าใน Prodamus

ตัวอย่างที่ 1

ปิดใช้งานการสมัครสมาชิกโดยใช้หมายเลขโทรศัพท์ของลูกค้า

status = prodamus_subscription_switch_status(
    "618117",
    "0",
    "75431312321"
)

ตัวอย่างที่ 2

ปิดใช้งานการสมัครสมาชิกโดยใช้ที่อยู่อีเมลของลูกค้า

status = prodamus_subscription_switch_status(
    "618117",
    "0",
    "",
    "[email protected]"
)

ฟังก์ชันจะส่งคืน ok หากการดำเนินการสำเร็จ มิฉะนั้นจะส่งคืนข้อความแสดงข้อผิดพลาด


การจัดการส่วนลดการสมัครสมาชิก

ใช้ฟังก์ชันต่อไปนี้เพื่อใช้ส่วนลดกับการชำระเงินที่เกิดซ้ำในอนาคต

สามารถใช้ส่วนลดสำหรับการชำระเงินจำนวนจำกัดหรือไม่มีกำหนดก็ได้

prodamus_subscription_discount(
    subscription_id,
    discount,
    customer_phone,
    num,
    profile_id
)

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
subscription_id รหัสการสมัครสมาชิก
discount จำนวนส่วนลด ต้องมากกว่าศูนย์และไม่เกินราคาสมัครสมาชิก
customer_phone หมายเลขโทรศัพท์ของลูกค้า ไม่จำเป็นหากมีอยู่ใน customer_phone
num จำนวนการชำระเงินในอนาคตที่จะใช้ส่วนลด หากละเว้น ส่วนลดจะถาวร
profile_id รหัสโปรไฟล์ลูกค้าใน Prodamus

หากสำเร็จ ฟังก์ชันจะส่งคืน:

ok

มิฉะนั้นจะส่งคืนคำอธิบายข้อผิดพลาด

การอัปเดตส่วนลดหรือจำนวนการชำระเงินจำเป็นต้องเรียกใช้ฟังก์ชันอีกครั้งด้วยค่าใหม่

ตัวอย่าง

ส่วนลดถาวร

ใช้ส่วนลด 1 กับการชำระเงินแบบสมัครสมาชิกในอนาคตทั้งหมด

result = prodamus_subscription_discount(
    "624034",
    "1"
)

ส่วนลดสำหรับการชำระเงินสามครั้งถัดไป

result = prodamus_subscription_discount(
    "624034",
    "2",
    "",
    "3"
)

ส่วนลดทศนิยม

result = prodamus_subscription_discount(
    #{prodamus_subscription},
    10.25,
    #{customer_phone},
    3
)

การเปลี่ยนวันที่ชำระเงินแบบสมัครสมาชิกครั้งถัดไป

คุณสามารถเลื่อนการชำระเงินที่เกิดซ้ำครั้งถัดไปออกไปได้โดยการเปลี่ยนวันที่ที่กำหนดไว้

วันที่ชำระเงินใหม่จะต้อง ช้ากว่า วันที่ชำระเงินที่กำหนดไว้ในปัจจุบันเสมอ

คุณสมบัตินี้สามารถใช้ได้ เช่น เพื่อขยายระยะเวลาการสมัครสมาชิกของลูกค้าเป็นโบนัส

ใช้ฟังก์ชันต่อไปนี้:

prodamus_subscription_payment_date(
    subscription_id,
    date,
    customer_phone,
    profile_id
)

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
subscription_id รหัสการสมัครสมาชิก
date วันที่ชำระเงินใหม่ในรูปแบบ dd.MM.yyyy หรือ dd.MM.yyyy HH:mm หากไม่ระบุเวลา จะใช้ 00:00
customer_phone หมายเลขโทรศัพท์ของลูกค้า ไม่จำเป็น หากละเว้น ค่าจะถูกนำมาจากตัวแปร customer_phone
profile_id รหัสโปรไฟล์ลูกค้าใน Prodamus

การส่งพารามิเตอร์เพิ่มเติมไปยัง Prodamus

คุณสามารถส่งพารามิเตอร์เพิ่มเติมที่ Prodamus รองรับ (เช่น วันที่เริ่มต้นการสมัครสมาชิกหรือการตั้งค่าการผ่อนชำระ) เมื่อสร้างลิงก์ชำระเงิน

เพียงสร้างตัวแปรที่ชื่อขึ้นต้นด้วยคำนำหน้า prodamus_

ตัวอย่าง:

prodamus_some_parameter

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


การทดสอบการชำระเงิน

เฉพาะกระบวนการชำระเงินเท่านั้นที่ถูกจำลอง

ในขณะที่กำหนดค่าการรวมระบบและโฟลว์แชทบอทของคุณ คุณสามารถใช้บัตรทดสอบของ Prodamus เพื่อหลีกเลี่ยงการเรียกเก็บเงินจริง

ขั้นแรก ให้เปลี่ยนหน้าชำระเงินของคุณเป็น โหมดสาธิต

อย่าลืมคลิก บันทึก หลังจากเปลี่ยนโหมด

บัตรทดสอบ

MIR

ฟิลด์ ค่า
หมายเลขบัตร 2202 2050 0001 2424
วันหมดอายุ 05/35
CVV 669

Mastercard

ฟิลด์ ค่า
หมายเลขบัตร 5469 9801 0004 8525
วันหมดอายุ 05/26
CVV 041
รหัส 3-D Secure 111111

Visa

ฟิลด์ ค่า
หมายเลขบัตร 4006 8009 0096 2514
วันหมดอายุ 05/26
CVV 941
รหัส 3-D Secure 111111

สำคัญ: บัตรทดสอบจะทริกเกอร์ตรรกะแชทบอท การเรียกกลับ ระบบอัตโนมัติ และการรวมระบบเดียวกันกับการชำระเงินจริง

เมื่อการทดสอบเสร็จสิ้น ให้เปลี่ยนหน้าชำระเงินกลับเป็น โหมดจริง เพื่อเริ่มรับชำระเงินจริง

ต้องปิดสวิตช์โหมดสาธิต (สวิตช์สีแดงปิดอยู่)