วิธีตั้งค่า 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" ที่สอง:

  1. สามารถระบุตัวแปรในฟิลด์ข้อความ:

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

  1. สามารถระบุตัวแปรในฟิลด์ 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":