วิธีการเชื่อมต่อ

ในการเชื่อมต่อระบบชำระเงิน bePaid คุณจะต้องมี Store ID, secret key และ public key เมื่อได้รับข้อมูลประจำตัวเหล่านี้แล้ว ให้ไปที่การตั้งค่าระบบชำระเงินใน MaviBot

หากต้องการรับ Store ID, secret key และ public key โปรดติดต่อฝ่ายสนับสนุนทางเทคนิคของ bePaid

ใน MaviBot ให้เปิดส่วน Acquiring เลือก bePaid และป้อนข้อมูลประจำตัวที่คุณได้รับ

หมายเหตุ: ฟิลด์สุดท้ายเป็นสวิตช์ที่ใช้เลือกปลายทาง API ตามประเทศที่ใช้งาน: เบลารุส หรือ รัสเซีย


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

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

เมื่อตั้งค่าตัวแปร payment_sum แล้ว ตัวแปร bepaid_pay_url จะถูกสร้างขึ้นโดยอัตโนมัติ คุณสามารถแสดงตัวแปรนี้เป็นลิงก์ในข้อความ หรือใช้ในปุ่มที่มีข้อความ "Pay"

พารามิเตอร์ฟังก์ชัน คำอธิบาย ข้อมูลเพิ่มเติม
currency สกุลเงินการชำระเงินในรูปแบบ ISO 4217 ตัวอย่างเช่น: USD
language ภาษาของหน้าชำระเงิน ค่าเริ่มต้น: en ค่าที่อนุญาต:
en — อังกฤษ
es — สเปน
tr — ตุรกี
de — เยอรมัน
it — อิตาลี
ru — รัสเซีย
zh — จีน
fr — ฝรั่งเศส
da — เดนมาร์ก
sv — สวีเดน
no — นอร์เวย์
fi — ฟินแลนด์
pl — โปแลนด์
ja — ญี่ปุ่น
uk — ยูเครน
be — เบลารุส
ka — จอร์เจีย
ro — โรมาเนีย
payment_description คำอธิบายการชำระเงิน
link_expired วันหมดอายุของลิงก์ชำระเงิน กำหนดวันที่หมดอายุในรูปแบบ dd.mm.yyyy (ตัวอย่างเช่น: 25.06.2025) โดยค่าเริ่มต้น การชำระเงินจะต้องเสร็จสิ้นภายใน 24 ชั่วโมง คุณยังสามารถใช้ฟิลด์ Assign Variables on Redirect ได้:

link_expired = current_date + 2 — ลิงก์จะใช้ได้ 2 วัน จนถึง 00:00

• คุณสามารถระบุวันที่และเวลาหมดอายุที่แน่นอนในรูปแบบ dd.mm.yyyy hh:mm (ตัวอย่างเช่น: 25.06.2025 12:23)

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

python\ntime = current_time + 30\nlink_expired = "#{current_date} #{time}"\n
russian_host ตัวบ่งชี้สำหรับร้านค้าที่ลงทะเบียนบนโฮสต์ bePaid ของรัสเซีย ตั้งค่าพารามิเตอร์นี้เป็น 1 หากร้านค้าของคุณลงทะเบียนบน bepaid.tech หากต้องการเปลี่ยนไปใช้โฮสต์ของเบลารุส ให้ตั้งค่าพารามิเตอร์นี้เป็น "" (ค่าว่าง)
test_payments เปิดใช้งาน การชำระเงินทดสอบ กำหนดค่าใดๆ ให้กับตัวแปรนี้ก่อนสร้างลิงก์ชำระเงิน
bepaid_attempts ระบุ จำนวนครั้งที่พยายามชำระเงิน โดยค่าเริ่มต้น อนุญาตให้ 1 ครั้ง
customer_data ออบเจ็กต์ JSON ที่ประกอบด้วย first_name, last_name และ email ของผู้ชำระเงิน ข้อมูลนี้จำเป็นสำหรับการส่งใบเสร็จรับเงินและสามารถแก้ไขได้ในหน้าชำระเงิน พารามิเตอร์ต้องถูกส่งเป็น ออบเจ็กต์ในรูปแบบ JSON

ตัวอย่าง:

python\ncustomer_data = {\n \"first_name\": \"Sam\",\n \"last_name\": \"Smith\",\n \"email\": \"[email protected]\"\n}\n
bepaid_contract (จำเป็นตามเงื่อนไข) วัตถุประสงค์การชำระเงินสำหรับการชำระเงินแบบโทเค็น ค่าที่อนุญาต:

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

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

https://checkout.bepaid.by/widget/hpp.html?token=a05eabd3f9368725efbc175614c7d469da08f198cc51916b07fb75e53f9a3e1a

ก่อนกำหนดค่าให้กับ payment_sum คุณสามารถกำหนดตัวแปรเสริมเพิ่มเติมเพื่อปรับแต่งการชำระเงินได้

โดยค่าเริ่มต้น สกุลเงินการชำระเงินคือ รูเบิลเบลารุส (BYN) หากคุณต้องการใช้สกุลเงินอื่น ให้กำหนดค่าให้กับตัวแปร currency

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

คุณสามารถดึงค่าที่ต้องการจากพจนานุกรมนี้ได้โดยใช้ฟังก์ชัน get()

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

ในการทำการชำระเงินทดสอบ ให้กำหนดค่าใดๆ ให้กับตัวแปร test_payments ก่อน ตั้งค่าตัวแปร payment_sum

สำคัญ: ลบตัวแปร test_payments ก่อนที่จะเปลี่ยนบอทของคุณเป็นโหมดจริง

บัตรทดสอบ

หมายเลขบัตร ผลลัพธ์
4200000000000000 การชำระเงินสำเร็จ
4005550000000019 การชำระเงินล้มเหลว

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

ตัวอย่างต่อไปนี้สร้างลิงก์ชำระเงินสำหรับ 100 รูเบิลเบลารุส (สกุลเงินเริ่มต้น)

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

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


การจัดการการสมัครสมาชิก

การรวม bePaid ช่วยให้คุณสร้างการสมัครสมาชิกสำหรับลูกค้าของคุณ

ก่อนใช้ฟังก์ชันนี้ใน MaviBot ให้สร้างแผนการสมัครสมาชิกในบัญชี bePaid ของคุณ

หากส่วน Plans และ Subscriptions ไม่พร้อมใช้งานในบัญชีของคุณ โปรดติดต่อผู้จัดการบัญชีของคุณ


การสร้างการสมัครสมาชิกและสร้างลิงก์ชำระเงิน

ใช้ฟังก์ชัน get_bepaid_subscription_url และส่งพารามิเตอร์ plan_id

ฟังก์ชันจะสร้างการสมัครสมาชิกและส่งคืนลิงก์ชำระเงิน

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

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

  • การสมัครสมาชิกจะถูกเปิดใช้งาน
  • ดีลจะได้รับตัวแปร:
    • bepaid_subscription_id
    • bepaid_subscription_status
  • การตอบกลับจะถูกส่งไปยังบอท (ดู วิธีการจัดการผลลัพธ์)

การดึงข้อมูลการสมัครสมาชิก

ในการดึงข้อมูลการสมัครสมาชิกปัจจุบัน ให้ใช้ฟังก์ชัน get_bepaid_subscription_info

ส่งพารามิเตอร์ subscription_id ค่าของมันสามารถนำมาจากตัวแปร bepaid_subscription_id


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

ในการยกเลิกการสมัครสมาชิก ให้ใช้ฟังก์ชัน cancel_bepaid_subscription

ฟังก์ชันรับพารามิเตอร์เดียว:

  • subscription_id — ค่าสามารถนำมาจากตัวแปร bepaid_subscription_id

หลังจากยกเลิกสำเร็จ:

  • ตัวแปร bepaid_subscription_status จะถูกตั้งค่าเป็น "canceled"
  • การตอบกลับจะถูกส่งไปยังบอท (ดู วิธีการจัดการผลลัพธ์)

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

สถานะ คำอธิบาย
trial การสมัครสมาชิก ช่วงทดลองใช้ ที่ใช้งานอยู่หรือถูกยกเลิก
active การสมัครสมาชิกที่ใช้งานอยู่โดย ชำระเงินตรงเวลา
failed การสมัครสมาชิกล้มเหลว bePaid ไม่สามารถดำเนินการชำระเงินครั้งถัดไปได้
error เกิดข้อผิดพลาดขณะที่ bePaid พยายามดำเนินการชำระเงิน
canceled การสมัครสมาชิกถูก ยกเลิก และไม่ทำงานอีกต่อไป

การชำระเงินแบบประจำ

คุณยังสามารถตั้งค่าการชำระเงินแบบประจำได้โดยไม่ต้องสร้างแผนการสมัครสมาชิกในบัญชี bePaid ของคุณ

ในการทำเช่นนี้ คุณต้องมี โทเค็นบัตร ของลูกค้า

การรับโทเค็นบัตร

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

ก่อนกำหนดค่าให้กับ payment_sum ให้ตั้งค่าตัวแปร bepaid_contract เพื่อกำหนดวัตถุประสงค์ของการชำระเงินแบบโทเค็นในอนาคต

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

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

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

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

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

พารามิเตอร์ต้องถูกส่งตามลำดับต่อไปนี้:

amount → currency → description → contract

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

ค่าของพารามิเตอร์ contract ต้องตรงกับค่าที่ระบุเมื่อสร้างลิงก์ชำระเงินครั้งแรกทุกประการ

พารามิเตอร์ คำอธิบาย
amount (จำเป็น) จำนวนเงินที่ชำระ ค่าต้องเป็นจำนวนเต็มหรือทศนิยม เช่น: 100 หรือ 100.5
currency (จำเป็น) สกุลเงินการชำระเงิน ในรูปแบบ ISO 4217 เช่น: USD
description (จำเป็น) คำอธิบายการชำระเงิน เช่น: "การชำระค่าสมัครสมาชิกรายสัปดาห์สำหรับการเข้าร่วมชมรมงานอดิเรก"
contract (จำเป็น) วัตถุประสงค์การชำระเงินโดยโทเค็น ค่าที่อนุญาต: recurring หรือ card_on_file

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

  • ฟังก์ชันจะส่งคืนข้อความ "Successful charge via bePaid token"
  • บอทจะได้รับการตอบกลับการชำระเงินที่สำเร็จ
  • ตัวแปร bepaid_token_payment_completed จะถูกตั้งค่าเป็น True

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

  • ฟังก์ชันจะส่งคืนข้อความที่อธิบายสาเหตุของความล้มเหลว
  • บอทจะได้รับการตอบกลับที่มีส่วนต่อท้าย _fail
  • ตัวแปร bepaid_token_payment_completed จะถูกตั้งค่าเป็น False

หากธนาคารต้องการการยืนยันตัวตนเพิ่มเติมจากลูกค้า ฟังก์ชันจะส่งคืนลิงก์ที่ลูกค้าสามารถทำ การตรวจสอบสิทธิ์ 3-D Secure ได้


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

ในการตอบสนองต่อการกระทำของลูกค้า บอทจะได้รับการตอบกลับที่ประกอบด้วย 20 ตัวอักษรแรก ของ secret key ตามด้วยส่วนต่อท้ายที่ระบุประเภทการดำเนินการและผลลัพธ์

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

การตอบกลับการชำระเงิน

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

  • keyNumber_success — การชำระเงินสำเร็จ
  • keyNumber_fail — การชำระเงินล้มเหลว

คุณยังสามารถติดตามผลลัพธ์การชำระเงินได้โดยใช้ตัวแปรต่อไปนี้:

  • bepaid_payment_completed — การชำระเงินเสร็จสมบูรณ์โดยลูกค้า
  • bepaid_token_payment_completed — การชำระเงินอัตโนมัติเสร็จสมบูรณ์โดยใช้โทเค็นบัตรของลูกค้า

การตอบกลับการสมัครสมาชิก

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

keyNumber_success

หากยกเลิกการสมัครสมาชิก บอทจะได้รับ:

keyNumber_canceled

หากการชำระเงินค่าสมัครสมาชิกล้มเหลว บอทจะได้รับ:

keyNumber_fail