วิธีเพิ่ม Prodamus

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

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

รหัสลับสามารถรับได้จากบัญชีส่วนตัว ซึ่งคุณต้องระบุ URL ที่ใช้ส่งการแจ้งเตือน (notification) ด้วย

คำแนะนำฉบับเต็มเกี่ยวกับวิธีการทำ

ที่อยู่สำหรับการแจ้งเตือน:
https://chatter.mavibot.ai/prodamus\_callback/result

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

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

ที่อยู่สำหรับการแจ้งเตือนต้องระบุในสองตำแหน่งในการตั้งค่าระบบชำระเงิน: ในแท็บ "การตั้งค่าฟอร์ม" — สำหรับการชำระเงินแบบครั้งเดียว (ปกติ) และในแท็บ "การสมัครสมาชิก" — สำหรับการชำระเงินตามการสมัครสมาชิก

ที่อยู่สำหรับการแจ้งเตือน:
https://chatter.mavibot.ai/prodamus\_callback/result

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

https://chatter.mavibot.ai/prodamus\_callback/result

โปรดทราบ! หลังจากป้อน URL แล้ว ต้องกดปุ่ม "บันทึก"

ในการเพิ่ม Prodamus ต้องไปที่ส่วน "การรับชำระเงิน"

จากนั้นเพียงป้อนข้อมูลที่กล่าวถึงข้างต้นลงในฟอร์ม:

สำคัญ! เมื่อระบุ URL ของฟอร์มชำระเงิน อย่าใส่ https://

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

วิธีสร้างลิงก์สำหรับการชำระเงิน

ปุ่มที่มีฟังก์ชัน "ชำระเงิน"

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

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

ตอนนี้เรามาดูพารามิเตอร์ที่เป็นไปได้ทั้งหมดของปุ่มนี้

พารามิเตอร์ที่จำเป็นของปุ่ม "ชำระเงิน" สำหรับ Prodamus

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

เมื่อไปที่หน้าสั่งซื้อ ข้อมูลเกี่ยวกับสินค้าและราคาจะแสดงไว้ล่วงหน้า และลูกค้าเพียงป้อนข้อมูลติดต่อของตนเอง

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

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

ฟิลด์ "ฟังก์ชัน" – เลือกฟังก์ชัน "ชำระเงิน" เพื่อสร้างปุ่มที่นำไปสู่ลิงก์ชำระเงิน

ฟิลด์ "ระบบชำระเงิน" – ระบบชำระเงินที่เชื่อมต่อกับโปรเจกต์จะแสดงในรายการ
หากไม่มีระบบชำระเงินใดเชื่อมต่อกับโปรเจกต์ ปุ่มประเภทนี้จะไม่สามารถใช้งานได้

ฟิลด์ "ชื่อสินค้า" (จำเป็น) – ต้องระบุชื่อสินค้าที่ชัดเจน ตัวอย่างเช่น: ไม่ใช่ "โทรศัพท์" แต่ "สมาร์ทโฟน Xiaomi รุ่น ..."
หมายเหตุ: ห้ามใช้เครื่องหมายคำพูดคู่ในชื่อสินค้า ให้นำออกหรือแทนที่ด้วยเครื่องหมายคำพูดเดี่ยว

ฟิลด์ "จำนวนเงิน" (จำเป็น) – ระบุราคาสินค้า

เมนู "ข้อมูลเพิ่มเติม" – จะเปิดฟิลด์เพิ่มเติมสำหรับสร้างลิงก์เมื่อคลิกปุ่มนี้:

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

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

จากข้อความนี้ คุณสามารถตั้งค่าลอจิกการทำงานของบอทต่อไปได้
ระบบชำระเงินหลายระบบรองรับเครื่องบันทึกเงินสดออนไลน์บนคลาวด์ ซึ่งจำเป็นตามข้อกำหนดของ 54-FZ

โปรดอ่านรายละเอียดการออกใบเสร็จบนเว็บไซต์ของระบบชำระเงินที่เลือก เพื่อหลีกเลี่ยงปัญหากับสำนักงานสรรพากร

นี่คือลักษณะของหน้าชำระเงินที่เปิดขึ้นเมื่อคลิกลิงก์ในปุ่ม "ชำระเงิน":

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

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

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

ฟิลด์ "ตัวแปร Email ของผู้ซื้อ" (ไม่บังคับ หากระบุหมายเลขโทรศัพท์) – ที่นี่ระบุ Email ของผู้ใช้ (ลูกค้า) คุณสามารถใช้ตัวแปรที่เก็บ Email ได้ เช่น: #{email}

ฟิลด์ "ตัวแปรหมายเลขโทรศัพท์ของผู้ซื้อ" (ไม่บังคับ หากระบุ Email) – ที่นี่คุณสามารถใช้ตัวแปรที่ระบุหมายเลขโทรศัพท์ของผู้ซื้อ ในรูปแบบ: 79000000000 เช่น: #{phone}
ต้องมี Email และ/หรือโทรศัพท์

ฟิลด์ "อายุการใช้งานของลิงก์" – คุณสามารถระบุวันที่ในรูปแบบ วว.ดด.ปปปป ชช:นน (เช่น 25.01.2021 11:00) หรือกำหนดเวลาหมดอายุของลิงก์ผ่านตัวแปร เช่น: #{link_expired}

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

ฟิลด์ "เนื้อหาที่ชำระเงินแล้ว" (จำเป็นตามเงื่อนไข) – ข้อมูลนี้จำเป็นสำหรับการออกใบเสร็จผ่าน Prodamus หากคุณไม่มีเครื่องบันทึกเงินสดออนไลน์ของตัวเอง ฟิลด์นี้ระบุคำอธิบายการซื้อ ราคา และลิงก์ไปยังเนื้อหา
ตัวอย่าง: คอร์ส 'การถักเปีย' ราคา 3000 รูเบิล ลิงก์ไปยังหน้าคอร์ส: https://nbu.su/krasota/master-po-pleteniyu-kos/?yclid=13602995275739430911

ปุ่มที่มีฟังก์ชัน "ชำระเงิน"

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

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

2. เมื่อผู้ใช้ขอลิงก์ แต่เขาไม่ได้ใช้งานอยู่ในขณะนั้น
ในกรณีนี้ ปุ่มจะไม่แสดง ตัวแปร "error_payment_button" จะปรากฏในตัวแปรของลูกค้า โดยมีค่าดังนี้:
."ข้อผิดพลาด: อายุการใช้งานของลิงก์ต้องอยู่หลังจากวันที่ปัจจุบัน"

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

สร้างบล็อกเงื่อนไขดังนี้:
หากได้รับข้อความต่อไปนี้:
error_payment_button == "ข้อผิดพลาด: อายุการใช้งานของลิงก์ต้องอยู่หลังจากวันที่ปัจจุบัน"

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

ตัวแปรลูกค้าที่สร้างขึ้นโดยอัตโนมัติเมื่อใช้ปุ่มที่มีฟังก์ชัน "ชำระเงิน"

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

ตัวแปรลูกค้าบริการ __payments – ตัวแปรนี้เก็บจำนวนเงินและ ID ของลิงก์ที่สร้างขึ้น และจำเป็นสำหรับการระบุ hook ที่มาจากระบบชำระเงิน

ห้ามปิดหรือแก้ไขตัวแปรลูกค้าบริการ __payments!

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

ค่าของตัวแปรจะอัปเดตเมื่อไปยังบล็อกถัดไป

วิธีจัดการผลลัพธ์

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

ตัวอย่าง: ovg58keefc_success 44 โดยที่:

  • ovg58keefc – อักขระ 10 ตัวแรกของรหัสลับของระบบชำระเงิน
  • _success – ผลลัพธ์ของการประมวลผลคำขอ (การชำระเงินสำเร็จ)
  • 44 – จำนวนเงินที่ชำระ

ผู้ใช้ จะไม่เห็น callbacks (ข้อความ) ที่มาจากระบบชำระเงิน จะแสดงเฉพาะในแท็บ "ลูกค้า" และผู้ให้บริการจะมองเห็น

ตัวอย่างการใช้งาน:
ขั้นตอนที่ 1. เพิ่มปุ่มที่มีฟังก์ชัน "ชำระเงิน" ในบล็อก "มีปุ่มชำระเงิน"
ขั้นตอนที่ 2. ระบุ callback ในฟิลด์ เงื่อนไขการเชื่อมต่อ ที่ไปยังบล็อก "การชำระเงินสำเร็จ" จากบล็อกนี้
ในทำนองเดียวกัน หากระบุ callback การชำระเงินสำเร็จในเงื่อนไขของบล็อก "เงื่อนไขเริ่มต้น" การทำงานจะดำเนินการในลักษณะเดียวกัน

สำคัญ: เลือก "ตรงทั้งหมด" หรือ "ตามการมีคำหลัก"

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

ในแผนผังที่ลูกค้าเคลื่อนที่ระหว่างบล็อก การใช้ตัวเลือกในการระบุ callback ในบล็อก "เงื่อนไขเริ่มต้น" จะมีประสิทธิภาพมากกว่า

การชำระเงินสำเร็จสำหรับสินค้าที่มีการสมัครสมาชิกอัตโนมัติ

หลังจากชำระเงินสำเร็จ CALLBACK จะถูกส่งไปยังบอทโดยอัตโนมัติ ซึ่งประกอบด้วยอักขระ 10 ตัวแรกของรหัสลับของระบบชำระเงิน คำว่า _success และ ID ของสินค้าสำหรับการสมัครสมาชิก

ตัวอย่าง: 214009eefc_success 618117 โดยที่:

  • 009eefc – อักขระ 10 ตัวแรกของรหัสลับของระบบชำระเงิน
  • _success – ผลลัพธ์ของการประมวลผลคำขอ (การชำระเงินสำเร็จ)
  • 618117 – ID ของสินค้าสำหรับการสมัครสมาชิก

การชำระเงินผิดพลาด
ในกรณีที่เกิดข้อผิดพลาดในการชำระเงิน CALLBACK จะถูกส่งไปยังบอทโดยอัตโนมัติ ซึ่งประกอบด้วยอักขระ 10 ตัวแรกของรหัสลับของระบบชำระเงิน คำว่า _fail และจำนวนเงินที่ชำระ

ตัวอย่าง: ovg58keefc_fail 44 โดยที่:

  • ovg58keefc – อักขระ 10 ตัวแรกของรหัสลับของระบบชำระเงิน
  • _fail – ผลลัพธ์ของการประมวลผลคำขอ (การชำระเงินไม่สำเร็จหรือเกิดข้อผิดพลาด)
  • 44 – จำนวนเงินที่ชำระ

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

หากจำนวนเงินที่ระบุในการตั้งค่าปุ่มแตกต่างจากจำนวนเงินที่ลูกค้าชำระ CALLBACK จะถูกส่งไปยังบอทโดยอัตโนมัติ ซึ่งประกอบด้วยอักขระ 10 ตัวแรกของรหัสลับของระบบชำระเงิน คำว่า _different_amounts และ ID เฉพาะของการชำระเงิน

Мысалы: ovg58keefc_different_amounts 123456, мұндағы:

  • ovg58keefc – төлем жүйесінің құпия кілтінің алғашқы 10 символы
  • _different_amounts – сұраныстың өңделу нәтижесі (төлем сомасы сілтемедегі сомадан өзгеше)
  • 123456 – төлемнің бірегей ID-сі

Калькулятордағы get_prodamus_payment_url функциясы

Төлемге сілтеме жасау үшін Калькулятор блокындағы get_prodamus_payment_url функциясын пайдалануға болады.
Калькулятор өрісінде айнымалыға осы функцияның мәнін тағайындаймыз: get_prodamus_payment_url.

Айнымалының атын өзіңіз таңдайсыз. Скриншоттарда айнымалылардың атын беру мысалдары көрсетілген.

Осы айнымалыға төлемге арналған сілтеме жазылады. Айнымалыны хабарламада сілтеме ретінде көрсетуге немесе «Төлеу» мәтіні бар батырмаға орналастыруға болады.

Төлемге сілтеме мысалы: https://payform.kz/7p3JR8/

Калькулятор

Мысал 1:

Параметрлердің сипаттамасы

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

Төлем сілтемесінің жарамдылық уақытыдд.мм.гггг форматында (мысалы, 25.01.2021).
Сонымен қатар, Калькулятор өрісінде былай көрсетуге болады:
expired = current_date + 2 (сілтеме 2 күн бойы 00:00-ге дейін жарамды болады).

Нақты уақытты көрсету де мүмкін: дд.мм.гггг чч:мм (мысалы, 25.01.2021 12:23).

Стандартты айнымалыларды да қолдануға болады, мысалы, сілтеменің жарамдылығын 30 минутқа орнату:

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

Егер бұл параметрді өткізіп жібергіңіз келсе, орнына бір тырнақша, қос тырнақша немесе None мәнін беруге болады.

customer_phone Сатып алушының телефон нөмірі – міндетті емес, егер customer_email параметрі берілсе.
Осы параметрді өткізіп жібергіңіз келсе, орнына бір тырнақша немесе қос тырнақша беруге болады.
customer_email Сатып алушының Email мекенжайы – міндетті емес, егер customer_phone параметрі берілсе.
Осы параметрді өткізіп жібергіңіз келсе, орнына бір тырнақша немесе қос тырнақша беруге болады.
discount Жеңілдік мөлшері – параметрді бүтін сан немесе нүктесі бар сан ретінде беруге болады: 25 немесе 63.5.
Бұл параметрді өткізіп жібергіңіз келсе, орнына бір тырнақша немесе қос тырнақша беруге болады.
description Тауар сипаттамасы (егер көрсетілмесе, автоматты түрде 'Оплата счета order_id' толтырылады).
Осы параметрді өткізіп жібергіңіз келсе, орнына бір тырнақша немесе қос тырнақша беруге болады.
extra_params

Қосымша параметрлер, осы функцияда жоқ параметрлер.
Қолжетімді қосымша параметрлерді төлем жүйесінің API-мен жұмыс істеу құжаттамасынан қарауға болады: Prodamus REST API

Мысалы:

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

Бұл параметрді өткізіп жібергіңіз келсе, орнына бір тырнақша/қос тырнақша немесе None мәнін беруге болады.

products_for_receipt

50-тен 4000 символға дейінгі жол форматында "тапсырыс сипаттамасы - баға - сатып алынатын ресурсқа сілтеме".
Мысалы:
“Курс ‘Лещ аулау’, бағасы 4999 рубль, курс бетіне сілтеме: https://www.lovilescha.ru/courses/poimai_kilogram/"

Бұл параметр міндетті, егер сізде өзіңіздің онлайн кассаңыз болмаса, Prodamus арқылы төлемді фискализациялау үшін қажет.

Мысал

extra_params = {"payments_limit": "3"}

products_for_receipt = "Курс ‘Лещ аулау’, бағасы 4999 теңге, курс бетіне сілтеме: https://www.lovilescha.ru/courses/poimai\_kilogram/" 

link_prodamus_url = get_prodamus_payment_url( 4999, 'Курс ‘Лещ аулау’', '27.03.2023 17:00', '79167777771', '[email protected]', 20, 'Нарықтағы ең үздік курс', extra_params, products_for_receipt

Бұл мысалда:

  • extra_params – қосымша параметрлер (мысалы, төлем шегі).
  • products_for_receipt – чекте көрсетілетін тауар туралы ақпарат.
  • get_prodamus_payment_url функциясы арқылы төлемге сілтеме жасалады.

Егер блокта бірнеше сілтеме алу функциялары болса және қате жіберілсе, қате мәні error_payment_func айнымалысына жазылады.

Қате соңғы функция бойынша Калькуляторда жазылады.

payment_sum айнымалысы және қосымша параметрлер арқылы сілтемені жасау

Назар аударыңыз: payment_sum айнымалысына мән соңғы айнымалыдан беріледі, яғни міндетті емес айнымалылардан кейін: payment_description, product_name және т.б.

Төлемге сілтеме жасау үшін Калькулятор өрісінде payment_sum айнымалысының мәнін орнату жеткілікті.
Осыдан кейін автоматты түрде prodamus_pay_url айнымалысы пайда болады.

Төлемге сілтеме мысалы: https://payform.ru/7p3JR8/

Осы айнымалыны хабарламада сілтеме ретінде көрсетуге немесе «Төлеу» мәтіні бар батырмаға орналастыруға болады.

payment_sum айнымалысын жарияламас бұрын мына міндетті емес айнымалыларды көрсетуге болады:

Параметры функции Описание параметра
product_name Тауардың атауы (егер көрсетілмесе, автоматты түрде "Шотты төлеу order_id' толтырылады) – төмендегі скриншотта қай жерде көрсетілетіні көрсетілген.
payment_description Тауар сипаттамасы (егер көрсетілмесе, автоматты түрде 'Оплата счета order_id' толтырылады) – төмендегі скриншотта қай жерде көрсетілетіні көрсетілген.
discount_value Жеңілдік мөлшері (мысалы, discount_value = 25 немесе discount_value = 50.25)
customer_phone Сатып алушының телефон нөмірі – міндетті емес, егер басқа параметр берілсе.
customer_email Сатып алушының Email мекенжайы
link_expired

Төлем сілтемесінің жарамдылық уақытыдд.мм.гггг форматында (мысалы, 25.01.2021).
Сонымен қатар, Калькулятор өрісінде былай көрсетуге болады:
link_expired = current_date + 2 (сілтеме 2 күн бойы 00:00-ге дейін жарамды болады).

link_expired

Сонымен қатар, нақты уақытты көрсетуге болады, формат: дд.мм.гггг чч:мм (мысалы, 25.01.2021 12:23).
Стандартты айнымалыларды да пайдалануға болады, мысалы, сілтеменің жарамдылық уақытын 30 минутқа орнату:
time = current_time + 30 link_expired = "#{current_date} #{time}"

currency

Төлем валютасы, әдепкі бойынша "rub".
Толық аргументтер тізімі:

  • rub
  • usd
  • eur
  • kzt

Бұл параметр кіші әріптермен берілуі керек.

payment_title

Төлем тақырыбы (127 символға дейін). Егер көрсетілмесе, автоматты түрде келесі мәтінмен толтырылады:
Шотты төлеу payment_id” (payment_id – MaviBot-тағы тапсырыс идентификаторы).

payment_description Төлемнің қысқаша сипаттамасы (127 символға дейін)
locale

Төлем бетінің тіліen-US, fr-XC және т.б. форматта көрсетіледі. Әдепкі мән – ru-RU.
Толық тізімді мына сілтемеден қарауға болады

products_for_receipt

50-тен 4000 символға дейінгі жол форматында "тапсырыс сипаттамасы - баға - сатып алынатын ресурсқа сілтеме".
Мысалы:
“Курс ‘Лещ аулау’, бағасы 4999 теңге, курс бетіне сілтеме: https://www.lovilescha.ru/courses/poimai_kilogram/"

Бұл міндетті параметр, егер сізде өзіңіздің онлайн кассаңыз болмаса, Prodamus арқылы төлемді фискализациялау үшін қажет.

payment_sum (міндетті) төлем сомасы

ตัวแปร discount_value, customer_phone, customer_email และ link_expired ก็เกี่ยวข้องกับการสมัครสมาชิกเช่นกัน

ตัวอย่างการนำไปใช้
ในบล็อกแรก เรากำหนดยอดชำระ:

ในขั้นตอนถัดไป เราจะแสดงลิงก์ prodamus_pay_url ในตำแหน่งที่ต้องการ:

ตัวแปร prodamus_available_payment_methods จะถูกกำหนดก่อนที่จะประกาศ payment_sum
ค่าที่เป็นไปได้:

AC ชำระเงินด้วยบัตรที่ออกในสหพันธรัฐรัสเซีย
ACkz ชำระเงินด้วยบัตรคาซัคสถาน
ACf ชำระเงินด้วยบัตรของประเทศ CIS ยกเว้นสหพันธรัฐรัสเซีย
ACEURNMBX ชำระเงินด้วยบัตร EUR ของทุกประเทศ ยกเว้นรัสเซียและเบลารุส
SBP ชำระเงินด่วน โดยไม่ต้องกรอกข้อมูลบัตร สำหรับบัตรรัสเซีย
QW Qiwi wallet
PC Юmoney
GP เครื่องชำระเงิน
sbol Sberbank Online
invoice ชำระเงินตามใบแจ้งหนี้
installment ผ่อนชำระผ่าน Prodamus
installment_5_21 ผ่อนชำระ 3 เดือนผ่าน Prodamus
installment_6_28 ผ่อนชำระ 6 เดือนผ่าน Prodamus
installment_10_28 ผ่อนชำระ 10 เดือนผ่าน Prodamus
installment_12_28 ผ่อนชำระ 12 เดือนผ่าน Prodamus
installment_0_0_3 ผ่อนชำระ 3 เดือนผ่าน Tinkoff
installment_0_0_4 ผ่อนชำระ 4 เดือนผ่าน Tinkoff
installment_0_0_6 ผ่อนชำระ 6 เดือนผ่าน Tinkoff
installment_0_0_10 ผ่อนชำระ 10 เดือนผ่าน Tinkoff
installment_0_0_12 ผ่อนชำระ 12 เดือนผ่าน Tinkoff
installment_0_0_24 ผ่อนชำระ 24 เดือนผ่าน Tinkoff
installment_0_0_36 ผ่อนชำระ 36 เดือนผ่าน Tinkoff
credit สินเชื่อผ่าน Tinkoff
vsegdada_installment_0_0_4 ผ่อนชำระ 4 เดือนผ่าน “ВсегдаДа” (ใช้กับ available_payment_methods ไม่ได้)
vsegdada_installment_0_0_6 ผ่อนชำระ 6 เดือนผ่าน “ВсегдаДа”
vsegdada_installment_0_0_10 ผ่อนชำระ 10 เดือนผ่าน “ВсегдаДа”
vsegdada_installment_0_0_12 ผ่อนชำระ 12 เดือนผ่าน “ВсегдаДа”
vsegdada_installment_0_0_24 ผ่อนชำระ 24 เดือนผ่าน “ВсегдаДа”
vsegdada_installment_0_0_36 ผ่อนชำระ 36 เดือนผ่าน “ВсегдаДа”
sbrf_installment_0_0_6 ผ่อนชำระ 6 เดือนผ่าน Sberbank
sbrf_installment_0_0_10 ผ่อนชำระ 10 เดือนผ่าน Sberbank
sbrf_installment_0_0_12 ผ่อนชำระ 12 เดือนผ่าน Sberbank
sbrf_installment_0_0_24 ผ่อนชำระ 24 เดือนผ่าน Sberbank
sbrf_installment_0_0_36 ผ่อนชำระ 36 เดือนผ่าน Sberbank
otp_installment_0_0_6 ผ่อนชำระ 6 เดือนผ่าน “ธนาคาร OTP”
otp_installment_0_0_10 ผ่อนชำระ 10 เดือนผ่าน “ธนาคาร OTP”
otp_installment_0_0_12 ผ่อนชำระ 12 เดือนผ่าน “ธนาคาร OTP”
otp_installment_0_0_24 ผ่อนชำระ 24 เดือนผ่าน “ธนาคาร OTP”
otp_installment_0_0_36 ผ่อนชำระ 36 เดือนผ่าน “ธนาคาร OTP”
mts_installment_0_0_6 ผ่อนชำระ 6 เดือนผ่าน “ธนาคาร MTS”
mts_installment_0_0_10 ผ่อนชำระ 10 เดือนผ่าน “ธนาคาร MTS”
mts_installment_0_0_12 ผ่อนชำระ 12 เดือนผ่าน “ธนาคาร MTS”
mts_installment_0_0_24 ผ่อนชำระ 24 เดือนผ่าน “ธนาคาร MTS”
mts_installment_0_0_36 ผ่อนชำระ 36 เดือนผ่าน “ธนาคาร MTS”
monetaworld บัตรของธนาคารทั่วโลก ยกเว้นรัสเซีย
sbrf_bnpl ผ่อนชำระผ่าน Sber

อนุญาตให้ระบุหลายค่าโดยคั่นด้วย เครื่องหมายเส้นแนวตั้ง
ตัวอย่าง:

prodamus_available_payment_methods = "AC|PC|QW"

prodamus_currency – นี่คือพารามิเตอร์เพิ่มเติมอีกตัวหนึ่ง ที่ช่วยให้แสดงจำนวนเงินในสกุลเงินที่กำหนด

สกุลเงินที่เป็นไปได้:

  • kzt – สำหรับ tenge
  • eur – สำหรับยูโร
  • usd – สำหรับดอลลาร์

ด้วยวิธีนี้ จำนวนเงินที่แสดงในลิงก์จะอยู่ในสกุลเงินที่เลือก

เมื่อได้รับ callback payment_callback จำเป็นต้องใส่ใจกับพารามิเตอร์ currency และ currency_sum ซึ่งระบุสกุลเงินและจำนวนเงิน

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

วิธีจัดการกับผลลัพธ์

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

สำคัญ: หลังจากชำระเงินสำเร็จหรือไม่สำเร็จ บอทจะได้รับ callbacks ซึ่งคุณสามารถระบุได้ว่าการชำระเงินสำเร็จหรือไม่

Callbacks จะปรากฏในระบบเหมือนข้อความจากผู้ใช้ แต่ผู้ใช้ไม่สามารถส่งได้ ข้อความเหล่านี้จะอยู่ในรูปแบบของการรวมกันของคีย์ลับและสถานะ ตัวอย่าง:

453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_success

หรือ

453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_fail

หลังจากชำระเงินสำเร็จ ตัวแปร prodamus_payment_completed จะรับค่า True โดยอัตโนมัติ

หมายเหตุ: Callbacks อาจมาช้าเล็กน้อย ดังนั้นหลังจากส่งลิงก์ให้ผู้ใช้แล้ว ควรส่งข้อความ:

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


โครงสร้าง Callback

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

<คีย์ลับ>_success <ยอดชำระ>

ตัวอย่าง:

ovg58keefc_success
  • ovg58keefc – คีย์ลับทั้งหมดของระบบชำระเงิน
  • _success – ผลลัพธ์ของการประมวลผลคำขอ (การชำระเงินสำเร็จ)

การนำไปใช้ในทางปฏิบัติ

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

ประเภทการเปรียบเทียบต้องเป็น "Full match" / "Полное совпадение"

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

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

นอกจากนี้ ในระบบ Prodamus ยังมีการแจ้งเตือนเกี่ยวกับการเปิดใช้งานหรือการหยุดการสมัครสมาชิก:

“ผู้ใช้ปิดการสมัครสมาชิก” – หากการสมัครสมาชิกถูกหยุดด้วยตนเอง (เช่น ในกรณีที่ยกเลิกการสมัครสมาชิก)
ข้อความนี้อาจมาก่อนที่รอบระยะเวลาที่ชำระแล้วจะสิ้นสุดลง การดำเนินการขึ้นอยู่กับการตัดสินใจของคุณ: เพิกเฉย, จับตาดู หรือพยายามให้ผู้ใช้กลับมา

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

“ปิดใช้งานการสมัครสมาชิก” – ในกรณีที่การสมัครสมาชิกถูกหยุดหลังจากชำระเงินไม่สำเร็จหลายครั้ง

การบันทึกค่าจาก Callback

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

ตัวอย่าง Callback:

{
  "date": "2021-03-30T11:44:43+03:00",
  "order_id": "757679",
  "order_num": "",
  "domain": "demo.payform.ru",
  "sum": "14.50",
  "customer_phone": "+77777777777",
  "customer_extra": "Товар",
  "payment_type": "Пластиковая карта Visa, MasterCard, МИР",
  "commission": "3.5",
  "commission_sum": "0.51",
  "attempt": "1",
  "discount_value": "10.5",
  "products[0][name]": "Доступ к обучающим материалам",
  "products[0][price]": "14.50",
  "products[0][quantity]": "1",
  "products[0][sum]": "14.50",
  "payment_status": "success",
  "payment_status_description": "Успешная оплата",
  "payment_init": "manual"
}

เมื่อสร้างลิงก์ คุณสามารถระบุตัวแปร product_name และ payment_description ได้ เมื่อได้รับ callback คุณสามารถดึงข้อมูลได้ดังนี้:

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

โปรดทราบ: ตัวแปร payment_sum จะได้รับค่าสุดท้าย ซึ่งอยู่หลังจาก ตัวแปรที่ไม่บังคับ: payment_description, product_name

คุณสามารถรับจำนวนเงินได้ดังนี้:

summa = get(payment_callback, 'sum')

Callbacks ที่มีให้ใช้งาน

นอกจาก callbacks การชำระเงินสำเร็จหลักแล้ว ยังมีข้อความที่ผู้ใช้ในแชทไม่เห็น ดังนี้:

callbacks
  • ผู้ติดตามปิดใช้งานการสมัครสมาชิก (รายละเอียดเพิ่มเติมที่นี่)
  • ผู้ติดตามเปิดใช้งานการสมัครสมาชิกอีกครั้ง (รายละเอียดเพิ่มเติมที่นี่)
  • การสมัครสมาชิกสิ้นสุดลง
  • การชำระเงินไม่สำเร็จ - พร้อมคำอธิบาย (ในภาพหน้าจอด้านบน)
  • การแจ้งเตือนการหักเงินที่จะเกิดขึ้น - วันที่และเวลาของการหักเงินที่จะเกิดขึ้น
  • คำขอผ่อนชำระพร้อมสถานะ
ตัวอย่าง Callbacks ในการสนทนากับลูกค้า
  • ผู้ติดตามปิดใช้งานการสมัครสมาชิก
  • ผู้ติดตามเปิดใช้งานการสมัครสมาชิกอีกครั้ง
  • การสมัครสมาชิกสิ้นสุดลง
  • การชำระเงินไม่สำเร็จ - เงินไม่พอ
  • การชำระเงินไม่สำเร็จ - บัตรหมดอายุ
  • การชำระเงินไม่สำเร็จ - เกินวงเงินบัตร
  • การชำระเงินไม่สำเร็จ - บัตรสูญหาย
  • การชำระเงินไม่สำเร็จ - ข้อผิดพลาดของระบบ
  • การชำระเงินไม่สำเร็จ - ธุรกรรมถูกปฏิเสธ โปรดติดต่อธนาคารผู้ออกบัตร
  • การชำระเงินไม่สำเร็จ - ปฏิเสธการทำธุรกรรมโดยธนาคารผู้ออกบัตร
  • การชำระเงินไม่สำเร็จ - ปฏิเสธการทำธุรกรรมโดยธนาคาร
  • การแจ้งเตือนการหักเงินที่จะเกิดขึ้น - วว.ดด.ปปปป ชช:นน
  • คำขอผ่อนชำระได้รับการอนุมัติ
  • คำขอผ่อนชำระถูกยกเลิก
  • คำขอผ่อนชำระถูกปฏิเสธ

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

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

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

ใน Callback ทั้งหมด หากข้อความมีคำว่า «Төлем сәтсіз» (การชำระเงินล้มเหลว) ระบบจะส่งข้อความตามที่คุณกำหนดไปยังผู้ใช้

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

วิธีสร้างการสมัครสมาชิก

ในการสร้างการสมัครสมาชิก ก่อนอื่นคุณต้องสร้าง สินค้าแบบสมัครสมาชิก ก่อน
คำแนะนำฉบับเต็ม: วิธีสร้างและตั้งค่าการสมัครสมาชิก

จากนั้นคัดลอก ID ของสินค้าแบบสมัครสมาชิก ตัวอย่างด้านล่างแสดงตำแหน่งที่ต้องนำ:

Создание подписного товара

ในการสร้างลิงก์ชำระเงินแบบสมัครสมาชิก คุณต้องกำหนด ID ของสินค้าแบบสมัครสมาชิกให้กับตัวแปร prodamus_subscription หลังจากนั้น ตัวแปร prodamus_pay_url จะถูกสร้างขึ้นโดยอัตโนมัติ

คุณสามารถแสดงตัวแปร prodamus_pay_url เป็นลิงก์บนหน้าจอ หรือวางไว้ในปุ่มที่มีข้อความ «Төлеу» (ชำระเงิน) ตัวอย่างลิงก์: https://payform.kz/7p3JR8/

การจัดการผลลัพธ์จะดำเนินการเช่นเดียวกับการชำระเงินแบบครั้งเดียว (ตามที่คุณอ่านข้างต้น)

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

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

วิธีสร้างลิงก์สมัครสมาชิกด้วยฟังก์ชัน get_prodamus_subscription_url

มาดูวิธีอื่นในการสร้างลิงก์ชำระเงินแบบสมัครสมาชิกสำหรับสินค้า

  1. สร้างสินค้าแบบสมัครสมาชิกในบัญชี Prodamus
    ดูคำแนะนำฉบับเต็มได้ที่ลิงก์:
    วิธีสร้างและตั้งค่าการสมัครสมาชิก
  2. จากนั้นคัดลอก ID ของสินค้าแบบสมัครสมาชิก ตัวอย่างด้านล่างแสดงตำแหน่งที่ต้องนำ:
Создание подписного товара

ในการรับลิงก์ชำระเงินสำหรับสินค้าแบบสมัครสมาชิกใน Calculator ให้ระบุฟังก์ชัน

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

Calculator

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

คำอธิบายพารามิเตอร์

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

พารามิเตอร์ของฟังก์ชัน:

พารามิเตอร์ ค่าพารามิเตอร์
subscription_id ID ของสินค้าสมัครสมาชิก – สามารถคัดลอกจากบัญชี Prodamus (พารามิเตอร์ที่จำเป็น)
product_name ชื่อสินค้า (พารามิเตอร์ที่จำเป็น)
expired

อายุการใช้งานของลิงก์ชำระเงิน – ในรูปแบบ วว.ดด.ปปปป (เช่น 25.01.2021)

นอกจากนี้ยังสามารถระบุในฟิลด์ «Calculator» ได้:

expired = current_date + 2  # ลิงก์จะใช้งานได้ 2 วัน จนถึงเวลา 00:00 น.

สามารถระบุพารามิเตอร์ expired พร้อมเวลาที่แน่นอนได้ ในรูปแบบ: วว.ดด.ปปปป ชช:นน (เช่น 25.01.2021 12:23)

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

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

หากต้องการข้ามพารามิเตอร์นี้ ให้ใส่เครื่องหมายคำพูดเดี่ยวหรือคู่ หรือค่า None แทน

customer_phone

หมายเลขโทรศัพท์ของผู้ชำระเงิน – ไม่จำเป็น หากระบุพารามิเตอร์ customer_email

หากต้องการข้ามพารามิเตอร์นี้ ให้ใส่เครื่องหมายคำพูดเดี่ยวหรือคู่แทน

customer_email

อีเมลของผู้ชำระเงิน – ไม่จำเป็น หากระบุพารามิเตอร์ customer_phone

หากต้องการข้ามพารามิเตอร์นี้ ให้ใส่เครื่องหมายคำพูดเดี่ยวหรือคู่แทน

discount

จำนวนส่วนลด – สามารถระบุพารามิเตอร์เป็นจำนวนเต็มหรือทศนิยม: 25 หรือ 63.5

หากต้องการข้ามพารามิเตอร์นี้ ให้ใส่เครื่องหมายคำพูดเดี่ยวหรือคู่แทน

description

คำอธิบายสินค้า – หากไม่ระบุ ค่าเริ่มต้นจะเป็น 'Оплата счета order_id'

หากต้องการข้ามพารามิเตอร์นี้ ให้ใส่เครื่องหมายคำพูดเดี่ยวหรือคู่แทน

extra_params

พารามิเตอร์เพิ่มเติม ที่ไม่มีในฟังก์ชันนี้
สามารถดูพารามิเตอร์เพิ่มเติมที่เป็นไปได้จากเอกสาร API ของระบบชำระเงิน:
คู่มือ Prodamus REST API

ตัวอย่าง:

extra_params = {"payments_limit": "3"}

หากต้องการข้ามพารามิเตอร์นี้ ให้ใส่เครื่องหมายคำพูดเดี่ยว/คู่ หรือค่า None แทน

products_for_receipt

สตริงที่มีความยาว 50–4000 ตัวอักษร ในรูปแบบ: "คำอธิบายคำสั่งซื้อ - ราคา - ลิงก์ไปยังทรัพยากรที่ซื้อ"

ตัวอย่าง:
คอร์ส «Курс ловли леща» ราคา 4999 tenge ลิงก์ไปยังหน้าคอร์ส: https://www.lovilescha.ru/courses/poimai_kilogram/

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

ตัวอย่างโค้ดสำหรับคัดลอก

extra_params = {"payments_limit": "3"}

products_for_receipt = "Курс 'Курс ловли леща', ежемесячная подписка стоимость 2000 тенге, ссылка на страницу курса: https://www.lovilescha.ru/courses/poimai\_kilogram/" ;

link_prodamus_sub = get_prodamus_subscription_url(618988, 'Курс 'Курс ловли леща'', '27.03.2023 17:02', '79167777771', '[email protected]', 20, 'Лучший курс на рынке', extra_params, products_for_receipt)

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

ข้อผิดพลาดจะถูกบันทึกใน Calculator ตามฟังก์ชันสุดท้าย

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

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

ในการจัดการการสมัครสมาชิก จำเป็นต้องระบุพารามิเตอร์ 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 ของฟอร์มชำระเงิน นำมาจากการตั้งค่าใน Constructor
  • secret_key – คีย์ลับจากการตั้งค่า
  • id_subscription – ID ของสินค้าสมัครสมาชิก
  • customer_phone – โทรศัพท์ของเจ้าของการสมัครสมาชิก
  • switcher – การจัดการการสมัครสมาชิก: 0 – หยุดการสมัครสมาชิก, 1 – เปิดใช้งานการสมัครสมาชิกอีกครั้ง
  • profile_id – ID โปรไฟล์ในระบบ Prodamus

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

ตัวอย่าง: การตั้งค่าบล็อกการสมัครสมาชิก

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

ฟังก์ชันสำหรับจัดการการสมัครสมาชิก

prodamus_subscription_switch_status(subscription_id, switcher, customer_phone, customer_email, profile_id) พารามิเตอร์:

subscription_id – ID ของสินค้าสมัครสมาชิก

switcher – การจัดการการสมัครสมาชิก: 0 – หยุดการสมัครสมาชิก, 1 – เปิดใช้งานการสมัครสมาชิกอีกครั้ง

customer_phone – โทรศัพท์ของเจ้าของการสมัครสมาชิก; ไม่จำเป็นหากระบุ customer_email

customer_email – ที่อยู่อีเมลของเจ้าของการสมัครสมาชิก; ไม่จำเป็นหากระบุ customer_phone

profile_id – ID โปรไฟล์ในระบบ Prodamus

ตัวอย่างที่ 1: ระบุพารามิเตอร์ customer_phone ข้าม customer_email:

stat = prodamus_subscription_switch_status('618117', '0', '75431312321')

ตัวอย่างที่ 2: ระบุพารามิเตอร์ customer_email ข้าม customer_phone:

stat = prodamus_subscription_switch_status('618117', '0', '', '[email protected]')

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

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

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

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

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

  • subscription_id – ID ของการสมัครสมาชิก
  • discount – เลขทศนิยมที่มีความแม่นยำสองตำแหน่งหลังจุด; ค่าต้องมากกว่าศูนย์และไม่เกินราคาพื้นฐานของการสมัครสมาชิก
  • customer_phone – หมายเลขโทรศัพท์ของลูกค้า ในรูปแบบ: +79999999999 (ไม่จำเป็นหากมีตัวแปร customer_email; ตัวแปรนี้จะปรากฏหลังจากการชำระเงินครั้งแรก)
  • num – จำนวนครั้งที่ใช้ส่วนลด (ไม่จำเป็น; หากไม่ระบุ ส่วนลดจะใช้กับการชำระเงินทั้งหมด)
  • profile_id – ID โปรไฟล์ในระบบ Prodamus

หากคำขอสำเร็จ ฟังก์ชันจะคืนค่า 'ok'; หากเกิดข้อผิดพลาด ฟังก์ชันจะคืนค่าคำอธิบายข้อผิดพลาด

จำนวนส่วนลดและช่วงเวลาจะถูกเขียนทับเมื่อเรียกใช้ฟังก์ชันอีกครั้งด้วยค่าใหม่เท่านั้น!

ตัวอย่าง:

1. ให้ส่วนลด 1₽ สำหรับการชำระเงินอัตโนมัติครั้งถัดไปทั้งหมด (ไม่ระบุหมายเลขโทรศัพท์ เนื่องจากจะถูกดึงจากตัวแปร customer_phone โดยอัตโนมัติ; จำนวนส่วนลดจะใช้กับระยะเวลาทั้งหมดของการสมัครสมาชิกตามค่าเริ่มต้น):

r = prodamus_subscription_discount('624034', '1')

2. ตัวอย่างการให้ส่วนลด 2₽ สำหรับการชำระเงิน 3 ครั้งถัดไป (ระบุหมายเลขโทรศัพท์เป็นเครื่องหมายคำพูดว่าง เนื่องจากจะถูกดึงจากตัวแปร customer_phone โดยอัตโนมัติ):

r = prodamus_subscription_discount('624034', '2', '', '3')

3. ตัวอย่างการระบุส่วนลดเป็นทศนิยม (ตัวคั่นคือจุด ระบุค่าโดยไม่ต้องใส่เครื่องหมายคำพูด) สามารถระบุหมายเลขโทรศัพท์ผ่านตัวแปรได้

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

วิธีตั้งค่าวันที่ชำระเงินครั้งถัดไปของการสมัครสมาชิก

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

ตัวอย่างเช่น สามารถใช้เป็นโบนัสให้กับสมาชิกได้

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

prodamus_subscription_payment_date(subscription_id, date, customer_phone, profile_id)

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

  • subscription_id – ตัวระบุของการสมัครสมาชิก
  • date – วันที่ในรูปแบบ วว.ดด.ปปปป ชม:นาที หรือ วว.ดด.ปปปป; หากระบุเฉพาะ วว.ดด.ปปปป เวลาจะเป็น 00:00
  • customer_phone – ไม่บังคับ; หากไม่ระบุ จะดึงจากตัวแปร customer_phone; หากไม่พบ ฟังก์ชันจะไม่ทำงาน
  • profile_id – ID ของโปรไฟล์ในระบบ Prodamus

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

ในการส่งพารามิเตอร์ที่จำเป็น (เช่น วันที่เริ่มต้นการสมัครสมาชิก การปิดการผ่อนชำระ ฯลฯ) ไปยังระบบ Prodamus ให้เพิ่มคำนำหน้า prodamus_ ที่ชื่อตัวแปร

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

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

ทดสอบเฉพาะการชำระเงินเท่านั้น!

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

ก่อนอื่นให้เปลี่ยนหน้าชำระเงินของคุณเป็น โหมด DEMO
อย่าลืมกดปุ่ม "บันทึก"

คุณสามารถใช้บัญชีทดสอบเพื่อทำการชำระเงินทดสอบได้

บัตรทดสอบของ Sberbank:

МИР
หมายเลขบัตร: 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

❗️เมื่อชำระเงินด้วยบัญชีทดสอบ ฟังก์ชันและระบบรวมที่ตั้งค่าทั้งหมดจะ ทำงานเหมือนกับการชำระเงินปกติ❗️

แบบฟอร์มได้รับการตรวจสอบแล้ว

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