ทดลองใช้งานจริง

การชำระเงินสำหรับซอฟต์แวร์ท่องเที่ยว

การเชื่อมต่อ Paddle API: เมื่อไรที่ merchant of record เหมาะกับธุรกิจท่องเที่ยว

Paddle ขายซอฟต์แวร์ SaaS และสินค้าดิจิทัลแทนคุณในฐานะ merchant of record (ผู้ขายตามกฎหมาย) จึงเหมาะมากกับบริษัทเทคโนโลยีท่องเที่ยวที่เรียกเก็บเงินค่าสมาชิกของตัวเอง แต่โดยมากไม่เหมาะกับการรับเงินค่าตั๋วเครื่องบิน โรงแรม และทัวร์ หน้านี้อธิบายความแตกต่าง วิธีทำงานของการเชื่อมต่อ Paddle และวิธีเชื่อมกับ PHPTRAVELS เมื่อกรณีใช้งานของคุณเข้ากัน

  • Merchant of record ไม่ใช่เกตเวย์
  • สร้างมาเพื่อซอฟต์แวร์และการสมัครสมาชิก
  • เว็บฮุกที่ลงลายเซ็น
  • เชื่อมต่อเป็นอินทิเกรชันแบบกำหนดเอง

สองโมเดลที่ต่างกัน

Merchant of record กับเกตเวย์ชำระเงิน

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

โมเดลนี้ช่วยให้บริษัทซอฟต์แวร์ลดงานภาษีและงานด้านการปฏิบัติตามข้อกำหนดไปได้มาก แต่ก็หมายความว่า Paddle เป็นผู้ตัดสินว่ายินดีขายต่อสิ่งใด แพลตฟอร์มของ Paddle สร้างมาเพื่อซอฟต์แวร์ SaaS และสินค้าดิจิทัล ไม่ใช่บริการท่องเที่ยวที่สายการบิน โรงแรม และผู้ให้บริการทัวร์เป็นผู้ส่งมอบ กลไกทั่วไปของการชำระเงินด้วยบัตรอธิบายไว้ในหน้า API เกตเวย์ชำระเงิน

แผนภาพขั้นตอนการชำระเงิน แสดงลูกค้าชำระเงินออนไลน์ โดยความรับผิดชอบด้านการชำระเงิน ภาษี และการจ่ายเงินส่งต่อกันระหว่างผู้ขายกับผู้ให้บริการชำระเงิน
คำถามPaddle (merchant of record)เกตเวย์ชำระเงิน
ใครคือผู้ขายPaddle คือผู้ขายตามกฎหมาย ใบเสร็จของลูกค้าและรายการในใบแจ้งยอดบัตรจะมาจากฝั่ง Paddleคุณคือผู้ขาย เกตเวย์เพียงประมวลผลการชำระเงินผ่านบัญชีผู้ค้าของคุณ
ใครจัดการภาษีขายและ VATPaddle คำนวณ เก็บ และนำส่งภาษีขายและ VAT ในพื้นที่ที่ขายให้คุณจัดการเอง ผ่านการจดทะเบียนภาษี นักบัญชี และการออกใบแจ้งหนี้ของคุณ
ใครออกใบแจ้งหนี้Paddle ออกใบแจ้งหนี้หรือใบเสร็จให้ผู้ซื้อระบบของคุณออกเอง เช่น ใบแจ้งหนี้การจองในหน้าผู้ดูแล
ใครจัดการชาร์จแบ็กPaddle จัดการข้อพิพาทและชาร์จแบ็กในฐานะผู้ขายคุณตอบข้อพิพาทพร้อมหลักฐานผ่านแดชบอร์ดหรือ API ของเกตเวย์
ขายอะไรได้บ้างซอฟต์แวร์ SaaS การสมัครสมาชิก และสินค้าดิจิทัล ภายใต้กฎการใช้งานที่ยอมรับได้ของ Paddleสินค้าและบริการที่เกตเวย์อนุมัติ รวมถึงการจองท่องเที่ยวสำหรับผู้ค้าท่องเที่ยวจำนวนมาก
ได้รับเงินอย่างไรPaddle จ่ายรายได้ของคุณหลังหักค่าธรรมเนียม ตามรอบการจ่ายเงินของ Paddleเงินที่เรียกเก็บสำเร็จจะเข้าบัญชีผู้ค้าหรือบัญชีธนาคารของคุณ หลังหักค่าธรรมเนียมของเกตเวย์

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

ตัวช่วยตัดสินใจ

Paddle เหมาะกับสิ่งที่คุณขายหรือไม่

เริ่มจากสิ่งที่ลูกค้าจ่ายเงินซื้อ แล้วเลือกสถานการณ์ที่ใกล้กับธุรกิจของคุณที่สุด

01

นักท่องเที่ยวจ่ายค่าตั๋วเครื่องบิน โรงแรม และทัวร์

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

มุมมองของเรา

ใช้เกตเวย์ชำระเงิน

ตรวจสอบกฎการใช้งานที่ยอมรับได้ของ Paddle ก่อนนำไปใช้กับการจองท่องเที่ยว ธุรกิจท่องเที่ยวส่วนใหญ่รับเงินค่าจองผ่านเกตเวย์ชำระเงิน เช่น Stripe, PayPal, Adyen หรือเกตเวย์ท้องถิ่น

02

คุณขายซอฟต์แวร์ท่องเที่ยวหรือ SaaS ของตัวเอง

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

มุมมองของเรา

Paddle อาจเหมาะ

นี่คือการขายแบบที่ merchant of record สร้างมาเพื่อรองรับ Paddle เรียกเก็บค่าสมาชิก จัดการภาษีในแต่ละประเทศ และจ่ายเงินให้คุณ คุณจึงไม่ต้องจดทะเบียน VAT ในทุกที่ที่ลูกค้าอยู่

03

คุณขายทั้งการจองและซอฟต์แวร์

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

มุมมองของเรา

ใช้ทั้งสองอย่าง แต่แยกกัน

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

วิธีทำงาน

การเชื่อมต่อ Paddle ทำงานอย่างไรตั้งแต่ต้นจนจบ

Paddle Billing ทำงานกับสินค้าและราคาที่คุณสร้างใน Paddle หน้าชำระเงินที่ Paddle.js เปิดขึ้น และเว็บฮุกที่แจ้งเซิร์ฟเวอร์ของคุณว่าเกิดอะไรขึ้น

  1. 01

    สินค้าและราคา

    คุณสร้างแต่ละแพ็กเกจใน Paddle เพียงครั้งเดียว เช่น ราคารายเดือนและรายปี แล้วเก็บรหัสราคาไว้ในระบบของคุณ

    pri_…
  2. 02

    หน้าชำระเงิน Paddle.js

    หน้าเว็บของคุณโหลด Paddle.js และเปิดหน้าชำระเงินเป็นโอเวอร์เลย์หรือเฟรมแบบฝัง พร้อมรหัสราคาและรหัสอ้างอิงลูกค้าของคุณเอง

    Paddle.Checkout.open()
  3. 03

    ธุรกรรมเสร็จสมบูรณ์

    ผู้ซื้อชำระเงิน Paddle เรียกเก็บจากบัตรหรือกระเป๋าเงิน คำนวณภาษี และสร้างธุรกรรม รวมถึงสร้างการสมัครสมาชิกเมื่อราคานั้นเรียกเก็บซ้ำ

    txn_…
  4. 04

    เว็บฮุกที่ลงลายเซ็น

    Paddle ส่งอีเวนต์ เช่น transaction.completed ไปยังเอนด์พอยต์ของคุณ โดยลงลายเซ็นในเฮดเดอร์ Paddle-Signature

    transaction.completed
  5. 05

    ระบบของคุณดำเนินการ

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

    200 OK

เก็บคีย์ API ไว้บนเซิร์ฟเวอร์ของคุณเท่านั้น เบราว์เซอร์ใช้โทเคนฝั่งไคลเอนต์แยกต่างหาก และสภาพแวดล้อมแซนด์บ็อกซ์กับสภาพแวดล้อมจริงต่างมีคีย์ ราคา และรหัสลับของเว็บฮุกเป็นของตัวเอง

ความปลอดภัยของเว็บฮุก

การตรวจสอบเฮดเดอร์ Paddle-Signature

ใครก็ตามที่รู้ URL เอนด์พอยต์ของคุณก็ปลอมเว็บฮุกได้ การตรวจสอบลายเซ็นของทุกอีเวนต์คือสิ่งที่ทำให้การเปิดใช้งานบัญชีจากเว็บฮุกปลอดภัย

paddle-webhook.php
 1$raw    = file_get_contents("php://input"); 2$header = $_SERVER["HTTP_PADDLE_SIGNATURE"] ?? "";  // ts=…;h1=… 3parse_str(str_replace(";", "&", $header), $sig); 4 5$expected = hash_hmac("sha256", $sig["ts"] . ":" . $raw, $endpointSecret); 6if (!hash_equals($expected, $sig["h1"] ?? "")) { 7    http_response_code(400); exit;            // not from Paddle 8} 9if (time() - (int) $sig["ts"] > $tolerance) exit; // too old1011$event = json_decode($raw, true);12if (alreadyHandled($event["event_id"])) exit;      // repeat delivery13if ($event["event_type"] === "transaction.completed") {14    activatePlan($event["data"]["custom_data"]["account_id"]);15}16http_response_code(200);

ตัวอย่างประกอบแบบ PHP ล้วน โปรดทำตามเอกสารล่าสุดของ Paddle หรือ SDK ทางการสำหรับรูปแบบที่แน่ชัด

  1. 01

    ใช้เนื้อหาต้นฉบับ

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

  2. 02

    เวลาประทับพร้อมแฮช

    เฮดเดอร์มีเวลาประทับและแฮช HMAC-SHA256 ที่สร้างด้วยรหัสลับของเอนด์พอยต์ ให้สร้างขึ้นใหม่และเปรียบเทียบแบบใช้เวลาคงที่

  3. 03

    ปฏิเสธอีเวนต์เก่าและซ้ำ

    ปฏิเสธอีเวนต์ที่เวลาประทับเก่าเกินไป และเก็บรหัสอีเวนต์ทุกรายการ เพื่อไม่ให้การส่งซ้ำถูกประมวลผลสองครั้ง

  4. 04

    เริ่มที่แซนด์บ็อกซ์

    พัฒนาและทดสอบในแซนด์บ็อกซ์ของ Paddle ด้วยบัตรทดสอบ แล้วจึงสลับคีย์ ราคา และรหัสลับไปใช้งานจริง

PHPTRAVELS และ Paddle

การเชื่อมต่อ Paddle กับ PHPTRAVELS

ขอตอบตามจริงก่อน แล้วค่อยดูตัวเลือก

Paddle ไม่ใช่คอนเน็กเตอร์สำเร็จรูป

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

  • สำหรับการชำระค่าจอง: เกตเวย์สำเร็จรูป

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

  • สำหรับการขายซอฟต์แวร์: Paddle เป็นอินทิเกรชันแบบกำหนดเอง

    เมื่อกรณีใช้งานของคุณเข้ากับกฎของ Paddle นักพัฒนาของเราสามารถเชื่อมต่อเป็น การเชื่อมต่อ API แบบกำหนดเอง ได้ ประกอบด้วยหน้าชำระเงิน Paddle.js บนเพจของคุณ เอนด์พอยต์เว็บฮุกที่ผ่านการตรวจสอบ และการบันทึกการชำระเงินกับลูกค้าของคุณ งานจะมีใบเสนอราคาก่อนเริ่ม

  • หรือพัฒนาเองบนซอร์สโค้ด

    PHPTRAVELS ติดตั้งบนเซิร์ฟเวอร์ของคุณเองและมาพร้อมซอร์สโค้ดครบชุด นักพัฒนาของคุณจึงเพิ่ม Paddle สำหรับการสมัครสมาชิกควบคู่ไปกับเอนจินการจองได้ หน้า ราคา ระบุสิ่งที่แต่ละใบอนุญาตรวมอยู่

พร้อมสำหรับการชำระค่าจอง

เกตเวย์ชำระเงินที่เชื่อมต่อกับ PHPTRAVELS แล้ว

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

ซับเอเจนต์ยังชำระเงินจากยอดเงินที่เติมไว้ล่วงหน้าหรือวงเงินเครดิตผ่าน กระเป๋าเงินเอเจนต์ B2B ได้ ซึ่งไม่ต้องใช้เกตเวย์เลย

คำถามที่พบบ่อย

การเชื่อมต่อ Paddle API: คำถามที่พบบ่อย

คุยกับฝ่ายขาย

ไม่ได้รองรับในรูปแบบคอนเน็กเตอร์สำเร็จรูป Paddle ไม่อยู่ในรายการเกตเวย์ชำระเงินของ PHPTRAVELS หากกรณีใช้งานของคุณเข้ากับกฎของ Paddle เช่น การขายการสมัครสมาชิกซอฟต์แวร์ของคุณเอง ก็เพิ่มเป็นอินทิเกรชันแบบกำหนดเอง หรือให้นักพัฒนาของคุณสร้างบนซอร์สโค้ดที่ให้มาได้

Paddle เป็น merchant of record ที่สร้างมาเพื่อซอฟต์แวร์ SaaS และสินค้าดิจิทัล จึงโดยทั่วไปไม่ใช่เครื่องมือสำหรับตั๋วเครื่องบิน โรงแรม หรือทัวร์ ตรวจสอบกฎการใช้งานที่ยอมรับได้ของ Paddle ก่อนนำไปใช้กับการจองท่องเที่ยว ธุรกิจท่องเที่ยวส่วนใหญ่รับเงินค่าจองผ่านเกตเวย์ชำระเงิน เช่น Stripe, PayPal, Adyen หรือเกตเวย์ท้องถิ่น

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

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

เมื่อคุณขายซอฟต์แวร์ของตัวเองแทนที่จะขายทริป เช่น เครื่องมือจอง API ปลั๊กอิน หรือพอร์ทัลไวต์เลเบลที่เอเจนซีจ่ายเป็นรายการสมัครสมาชิก Paddle จะเรียกเก็บเงินจากพวกเขาและจัดการภาษีในแต่ละประเทศให้ได้

Paddle ส่งอีเวนต์ เช่น ธุรกรรมที่เสร็จสมบูรณ์หรือการต่ออายุสมาชิก ไปยัง URL ที่คุณลงทะเบียนไว้ แต่ละคำขอมีเฮดเดอร์ Paddle-Signature ที่ประกอบด้วยเวลาประทับและแฮช เซิร์ฟเวอร์ของคุณตรวจสอบด้วยรหัสลับของเอนด์พอยต์ก่อนดำเนินการ

ได้ Paddle มีสภาพแวดล้อมแซนด์บ็อกซ์แยกต่างหาก พร้อมบัญชี คีย์ API ราคา และบัตรทดสอบของตัวเอง พัฒนาและทดสอบที่นั่น แล้วจึงย้ายการตั้งค่าไปยังสภาพแวดล้อมจริง

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