- วิธีตั้งค่า Paypal วิธีตั้งค่า Paypal
- วิธีสร้างลิงก์ชำระเงิน วิธีสร้างลิงก์ชำระเงิน
- วิธีสร้างการชำระเงินแบบประจำ วิธีสร้างการชำระเงินแบบประจำ
- วิธีประมวลผลผลลัพธ์ วิธีประมวลผลผลลัพธ์
วิธีตั้งค่า Paypal
ในการทำงานกับ Paypal คุณต้องได้รับคีย์สองคีย์: client_id และ secret
ไปที่หน้า https://developer.paypal.com/developer/applications/
และเลือกจากรายการหรือสร้างแอปพลิเคชันใหม่:
ที่ด้านบน ให้สลับไปที่โหมด Live และเลือกแอปพลิเคชันที่ต้องการ หน้า settings จะเปิดขึ้น ซึ่งมีข้อมูลที่เราต้องการ:
คัดลอกข้อมูลและวางลงในฟิลด์ที่เหมาะสมในการตั้งค่า Mavibot: ไปที่ส่วน "Acquiring" และค้นหาบริการ Paypal:

จากนั้นคลิก "Connect" และกรอกข้อมูลในฟิลด์ด้วย Secret Key และ Client ID ที่ได้รับก่อนหน้านี้:

จากนั้นคลิก "Save settings" เสร็จสิ้นการเชื่อมต่อ
วิธีสร้างลิงก์ชำระเงิน
การใช้ตัวแปร payment_sum
ในการสร้างลิงก์ชำระเงิน คุณต้องตั้งค่าของตัวแปร payment_sum และทันทีหลังจากนั้น ตัวแปร paypal_pay_url จะปรากฏขึ้น
| พารามิเตอร์ของฟังก์ชัน | คำอธิบายพารามิเตอร์ | หมายเหตุ |
|---|---|---|
| payment_title | (ตัวแปรเสริม)นี่คือชื่อผลิตภัณฑ์ | หากไม่ได้ระบุ จะถูกเติมด้วยข้อความ: “Invoice payment order_id" (order_id คือรหัสคำสั่งซื้อใน mavibot) |
| payment_description | คำอธิบายผลิตภัณฑ์ ฟิลด์เสริม | |
| company_name | ชื่อบริษัทของคุณจะแสดงที่ด้านบนสุดของหน้าชำระเงิน (ตัวอย่างด้านล่าง company) |

นอกจากนี้ ก่อนที่จะระบุ payment_sum คุณสามารถระบุภาษาที่หน้าชำระเงินจะแสดงได้
ในการดำเนินการนี้ ให้ตั้งค่าตัวแปร locale ภาษาเริ่มต้นคือ Russian (ru-RU). ตัวเลือกที่เป็นไปได้: da-DK, he-IL, id-ID, ja-JP, no-NO, pt-BR, ru-RU, sv-SE, th-TH, zh-CN, zh-HK, zh-TW, ฯลฯ (ชุดภาษาที่มีอยู่จะแตกต่างกันไป โปรดดูที่แหล่งที่มาดั้งเดิม) แหล่งที่มาดั้งเดิม)
คุณยังสามารถระบุสกุลเงินที่รับชำระเงินได้ ในการดำเนินการนี้ ให้ระบุตัวแปร currency โดยค่าเริ่มต้นคือ ruble (RUB) สำหรับดอลลาร์ ให้ตั้งค่าเป็น USD (currency = USD) ตัวเลือกสกุลเงินที่เป็นไปได้สามารถดูได้ที่ลิงก์ ลิงก์.
และพารามิเตอร์เสริมตัวที่สามคือ company_name - ชื่อบริษัทของคุณ แสดงที่ด้านบนสุดของหน้าชำระเงิน (ตัวอย่างด้านล่าง company )
ตัวแปร paypal_pay_url สามารถแสดงด้วยลิงก์หรือวางบนปุ่มที่มีข้อความ "Pay"
ลิงก์มีลักษณะดังนี้: https://www.paypal.com/checkoutnow?token=07N53571YM296381N
ตัวอย่างการนำไปใช้
การตั้งค่าจำนวนเงินที่ชำระและชื่อบริษัท

โปรดทราบ: ตัวแปร payment_sum ถูกกำหนดค่าสุดท้าย หลังจากตัวแปรเสริม payment_title, company_name, ฯลฯ
จากนั้น ระบุตัวแปร #{paypal_pay_url} ในบล็อก "Status" ที่สอง:
- สามารถระบุตัวแปรในฟิลด์ข้อความ:

- สามารถระบุตัวแปรในฟิลด์ url ในการตั้งค่าไฟล์แนบ:

- สามารถระบุตัวแปรในฟิลด์ url ในการตั้งค่าปุ่ม:

เมื่อเปิดลิงก์ชำระเงิน
การใช้ฟังก์ชันเครื่องคิดเลข paypal_payment_url
สร้างบล็อก funnel constructor และใช้ฟังก์ชัน paypal_payment_url ในเครื่องคิดเลข โดยส่งพารามิเตอร์ที่จำเป็น:
เมื่อตรงตามเงื่อนไขของบล็อก ลูกค้าจะได้รับลิงก์ชำระเงิน และตัวแปรลูกค้า paypal_payment_completed จะถูกสร้างขึ้นด้วยค่า False.

url = paypal_payment_url(2500,`` 'RUB', 'Invoice payment payment_id','payment description', 'organization name', 'ru-Ru')
วิธีสร้างการชำระเงินแบบประจำ
ในการสร้างและรับลิงก์เพื่อชำระเงินแบบประจำ คุณต้องสร้าง แผนการสมัครสมาชิก ในบัญชีส่วนตัวของคุณ


การเลือกข้อเสนอที่สร้างไว้แล้ว:

หรือพิมพ์ชื่อข้อเสนอในแถบค้นหาแล้วคลิก "Create"


เลือกประเภทการหักบัญชีอัตโนมัติ Fixed:

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

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

จากนั้น เปิดใช้งานการสมัครสมาชิก:


หลังจากสร้างแล้ว ID ของมันจะพร้อมใช้งาน ซึ่งเราจะใช้ในอนาคตเพื่อสร้างการสมัครสมาชิกและรับลิงก์ชำระเงิน

ลิงก์ชำระเงินถูกสร้างและส่งคืนโดยฟังก์ชัน:
paypal_subscription_url(plan_id, shipping_currency, shipping_payment_sum, start_time)
| พารามิเตอร์ของฟังก์ชัน | คำอธิบายพารามิเตอร์ |
|---|---|
| ! plan_id | ID แผนการสมัครสมาชิก |
| ! shipping_currency | หากการชำระเงินสำหรับแผนที่ระบุเป็นดอลลาร์ คุณไม่จำเป็นต้องโอนอะไรเลย มิฉะนั้นให้โอนรหัสสกุลเงินที่คุณระบุในแผน สกุลเงินที่ใช้ชำระค่าจัดส่งจะถูกส่งที่นี่ (แม้จะเป็นศูนย์) ค่าเริ่มต้นคือ USD |
| shipping_payment_sum | นี่คือพารามิเตอร์เสริมที่ระบุค่าจัดส่ง ค่าเริ่มต้นตั้งเป็นศูนย์ |
| start_time | พารามิเตอร์เสริม วันที่และเวลาเริ่มต้นการสมัครสมาชิก หากคุณไม่โอนอะไรเลย วันที่เริ่มต้นการสมัครสมาชิก = วันที่ชำระเงิน รูปแบบ: %d.%m.%Y หรือ %d.%m.%Y %H:%M. |

เมื่อสร้างลิงก์ ตัวแปร paypal_subscription_id จะปรากฏขึ้น ซึ่งจะมี ID การสมัครสมาชิก
ในระหว่างการชำระเงิน คุณจะได้รับ callback ซึ่งคล้ายกับการชำระเงินปกติ
paypal_subscription_data(paypal_subscription_id) - การรับข้อมูลเกี่ยวกับการสมัครสมาชิก
| พารามิเตอร์ของฟังก์ชัน | คำอธิบายพารามิเตอร์ |
|---|---|
| paypal_subscription_id | ID การสมัครสมาชิก |
ผลลัพธ์ ของการดำเนินการฟังก์ชัน - คืออาร์เรย์ที่มีข้อมูลทั้งหมดเกี่ยวกับการสมัครสมาชิก รวมถึงจำนวนการชำระเงิน จำนวนครั้งที่พยายามเรียกเก็บเงินไม่สำเร็จ สถานะ และอื่นๆ
วิธียกเลิกการสมัครสมาชิก
ฟังก์ชัน paypal_remove_subscription(paypal_subscription_id) จะช่วยให้ลูกค้ายกเลิกการสมัครสมาชิกบริการของคุณ
พารามิเตอร์:
| พารามิเตอร์ของฟังก์ชัน | คำอธิบาย |
|---|---|
| paypal_subscription_id | ID การสมัครสมาชิกที่บันทึกไว้ในตัวแปรของลูกค้าเมื่อสมัครสมาชิก |

วิธีประมวลผลผลลัพธ์
หลังจากชำระเงินสำเร็จ callbacks จะถูกส่งไปยังบอท ซึ่งจะแจ้งให้คุณทราบว่าการชำระเงินสำเร็จ
ในระบบ คุณจะเห็น callbacks เป็นข้อความจากผู้ใช้ แต่ผู้ใช้เองจะไม่เห็น: ข้อความเหล่านี้จะแสดงเฉพาะกับโอเปอเรเตอร์เท่านั้น
ในการประมวลผล callback ในบล็อกและส่งข้อความเกี่ยวกับสถานะการชำระเงินไปยังผู้ใช้ ให้ใช้ประเภทการเปรียบเทียบ "Exact match"
Callbacks อาจล่าช้า ดังนั้นหลังจากแสดงลิงก์ชำระเงินแก่ผู้ใช้แล้ว ขอแนะนำให้ส่งข้อความเช่น: “หลังจากชำระเงินแล้ว โปรดรอข้อความยืนยันว่าการชำระเงินสำเร็จ”
สำหรับการชำระเงินโดยตรง
Callback การชำระเงินที่สำเร็จประกอบด้วยอักขระ 10 ตัวแรกของ secret และลายเซ็นพร้อมสถานะ ตัวอย่างเช่น: EHsWHYOoWV_success
ตัวอย่างที่ 1: การตอบสนองต่อการชำระเงินที่สำเร็จโดยใช้บล็อก "Start condition":

ตัวอย่างที่ 2: การตอบสนองต่อการชำระเงินที่สำเร็จโดยใช้บล็อก "Start condition":

หากคุณไม่ต้องการนำผู้ใช้ออกจากโฟลว์หลักของแชทบอท ให้ใช้บล็อก "No-state with condition" — ผู้ใช้ไม่สามารถเปลี่ยนเส้นทางไปยังบล็อกนี้ได้โดยตรง ดังนั้นหลังจากชำระเงินสำเร็จ พวกเขาจะยังคงอยู่ใน funnel หลัก ในขณะเดียวกันก็ได้รับการแจ้งเตือนเกี่ยวกับการชำระเงินที่สำเร็จ
แต่ถ้าคุณต้องการดำเนินการ funnel ต่อตามเหตุการณ์การชำระเงินที่สำเร็จ ให้ใช้บล็อก "Start condition" ในกรณีนี้ หลังจากดำเนินการบล็อกการชำระเงินเสร็จสิ้น ผู้ใช้จะถูกเปลี่ยนเส้นทางไปยังบล็อก "Start condition" ซึ่งคุณสามารถสร้าง funnel ต่อได้
ข้อมูลเพิ่มเติมเกี่ยวกับบล็อกแบบมีเงื่อนไขมีอยู่ในบทความชื่อเดียวกัน บล็อกแบบมีเงื่อนไข
เมื่อชำระเงินสำเร็จ ตัวแปร paypal_payment_completed จะถูกตั้งค่าเป็น True
หลังจากชำระเงินเสร็จสิ้น ตัวแปร paypal_callback_data จะถูกเพิ่มให้กับลูกค้า ซึ่งมีข้อมูลระบบการชำระเงินล่าสุดเกี่ยวกับสถานะธุรกรรม คุณสามารถดึงข้อมูลที่จำเป็นจากพจนานุกรมที่ได้รับโดยใช้เมธอด get
ในการชำระเงินซ้ำ คุณต้องรีเซ็ตตัวแปร payment_sum ตัวแปรที่มีลิงก์ที่สร้างไว้ก่อนหน้านี้ จากนั้นกำหนดค่าตัวแปร payment_sum ใหม่หรือเรียกใช้ฟังก์ชันเพื่อรับลิงก์ใหม่
สำหรับการชำระเงินแบบสมัครสมาชิก
ฟังก์ชันการตั้งค่า callback สำหรับการดำเนินการที่เกี่ยวข้องกับการสมัครสมาชิกถูกเพิ่มเมื่อวันที่ 01/09/2024 เพื่อให้ callbacks ในหมวดนี้ทำงานได้อย่างถูกต้อง คุณต้องปิดการใช้งานและเชื่อมต่อการรวมระบบการชำระเงิน Paypal ในโปรเจ็กต์ของคุณอีกครั้ง
เมื่อชำระเงินแบบสมัครสมาชิก บอทจะได้รับข้อความใดข้อความหนึ่งต่อไปนี้:
- เกี่ยวกับการเปิดใช้งานการสมัครสมาชิก ตัวอย่างเช่น subscription_I-PTV5H4MRC1H3_activated;
- การแจ้งเตือนการชำระเงินแบบสมัครสมาชิกที่สำเร็จ ตัวอย่างเช่น subscription_I-PTV5H4MRC1H3_paid;
- หรือเกี่ยวกับข้อผิดพลาดในการชำระเงินแบบสมัครสมาชิก ตัวอย่างเช่น subscription_I-PTV5H4MRC1H3_not_paid;
ในตัวอย่างข้างต้น “I-PTV5H4MRC1H3” คือ ID การสมัครสมาชิกของลูกค้า ซึ่งสามารถเข้าถึงได้โดยใช้ตัวแปร paypal_subscription_id
Callback จะเพิ่มตัวแปร paypal_subscription_callback_data ให้กับลูกค้า ซึ่งมีข้อมูลระบบการชำระเงินปัจจุบันเกี่ยวกับสถานะธุรกรรม คุณสามารถดึงข้อมูลที่จำเป็นจากพจนานุกรมที่ได้รับโดยใช้เมธอด get
ตัวอย่างที่ 1: การตอบสนองต่อการเปิดใช้งานการสมัครสมาชิกโดยใช้บล็อก "Start condition":

ตัวอย่างที่ 1: การตอบสนองต่อการเปิดใช้งานการสมัครสมาชิกโดยใช้บล็อก "Not state with condition":



