Skip to content

การบูรณาการกับ TripPay

บทความนี้ประกอบด้วยตัวอย่างครบถ้วนเกี่ยวกับวิธีการบูรณาการกับ TripPay

ขอแนะนำให้คุณอ่านไปแล้ว:

นี่คือขั้นตอนในการใช้ TripPay เพื่อชำระเงินการจองสำเร็จ:

  1. ตรวจสอบให้แน่ใจว่าผู้รับผลประโยชน์ที่คุณกล่าวถึงในสัญญาการจองได้รับการระบุแล้ว
  2. ให้ผู้เดินทางเลือกสินค้าที่ต้องการจองและเตรียมพร้อมที่จะชำระเงิน
  3. สร้าง payable contract ด้วย TripPay ที่มีรายการที่ต้องการจอง
  4. ให้ผู้เดินทางชำระเงินโดยใช้ TripPay Web Component

เราถือว่าคุณได้ทำเสร็จเรียบร้อยแล้วStep 1 และ Step 2และพร้อมแจ้งให้ TripPay ทราบเกี่ยวกับการจองแล้ว

การสร้างสัญญาการจ่ายเงิน

Section titled “การสร้างสัญญาการจ่ายเงิน”

:::หมายเหตุ ไปที่ Payment API เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับข้อกำหนดในการสร้างสัญญาชำระเงิน :::

นี่คือคำขอตัวอย่าง JSON ที่มีทุกอย่างที่คุณต้องสร้างสำหรับสัญญาชำระเงินฉบับแรกของคุณ

{
"user": {
"userIdentifier": "191d5729-0b90-4000-85df-1bea7a6e9a01",
"firstName": "John",
"lastName": "Smith",
"email": "[email protected]"
},
"affiliateAccountIdentifier": "291d5729-0b91-4001-95df-2bec7a6e9a01",
"affiliateAccountIdentifierType": "INTERNAL",
"displayCurrency": "USD",
"traceId": "trace-1",
"redirectUrl": "/thank-you",
"sourceUrl": "https://www.travel.com",
"contractList": [
{
"identifier": "191d5729-0b90-4000-8298-72431beb1701",
"supplierIdentifier": "191d5729-0b90-4000-8b72-58186a642401",
"supplierIdentifierType": "EXTERNAL",
"contractItemList": [
{
"user": {
"userIdentifier": "191d5729-0b90-4000-8596-ed18f9876801",
"firstName": "John",
"lastName": "Smith",
"email": "[email protected]",
"telephone": "+1 212 555 1212",
},
"nameInEnglish": "Deluxe King",
"descriptionInEnglish": "This is the best deluxe king that money can buy.",
"price": {
"amount": 100,
"currency": "USD"
},
"itinerary": {
"startDate": "2024-12-24T00:00:00.000Z",
"endDate": "2024-12-25T00:00:00.000Z",
"adults": 2
},
"pricingType": "PER_STAY",
"type": "LODGING",
"payable": "PREPAY",
"policy": {
"refundable": true
},
"externalIdentifier": "room-type-1",
"dailyRateList": [
{
"date": "2024-12-24",
"price": {
"amount": 100,
"currency": "USD"
}
}
],
"beneficiaryList": [
{
"identifier": "account-0",
"identifierType": "INTERNAL",
"amountDue": {
"type": "PERCENTAGE",
"percent": 0.015
},
"type": "PLATFORM_FEE"
},
{
"identifier": "account-1",
"identifierType": "INTERNAL",
"amountDue": {
"type": "PERCENTAGE",
"percent": 0.0985
},
"type": "COMMISSION"
},
{
"identifier": "account-2",
"identifierType": "INTERNAL",
"amountDue": {
"type": "PERCENTAGE",
"percent": 0.8865
},
"type": "SALE"
}
]
}
]
}
]
}

คำอธิบาย:

เราจะไม่อธิบายจุดข้อมูลทุกจุดที่นี่ เนื่องจากมีครอบคลุมอยู่ในเอกสาร API อยู่แล้ว

  • เส้น:2 - 7คือผู้ใช้ที่รับผิดชอบการจอง มีผู้จองสองประเภท:
    • นักเดินทาง
    • ตัวแทนท่องเที่ยว
  • เส้น:8 - 9คือบัญชี TripPay ที่ช่วยอำนวยความสะดวกในการจอง สามารถทำได้ดังนี้:
    • บัญชีผู้รวม TripPay ของคุณ
    • หากคุณดำเนินการเครือข่ายพันธมิตรก็สามารถเป็นพันธมิตรของคุณได้
  • ใช้traceIdเพื่อจัดกลุ่มการจองหลายรายการให้กับซัพพลายเออร์หลายราย วิธีนี้ช่วยให้คุณยกเลิกการจองแบบกลุ่มได้
  • redirectUrlช่วยให้ TripPay ทราบว่าจะต้องเปลี่ยนเส้นทางไปที่หน้าไหนหลังจากการชำระเงินเสร็จสิ้น
  • sourceUrlคือเว็บไซต์/แอปที่ทำการจอง

การcontractListอาร์เรย์ประกอบด้วยรายการที่นักเดินทางต้องการซื้อจากซัพพลายเออร์หลายราย โดยแต่ละรายการประกอบด้วย:

  • การidentifierเป็น UUID ที่ถูกต้องที่คุณสร้าง
  • ซัพพลายเออร์ที่คุณต้องการจองสินค้าคงคลังจาก
  • สินค้าคงคลังที่คุณต้องการจองจากซัพพลายเออร์นั้น ทั้งหมดนี้ระบุไว้ในอาร์เรย์ซ้อนกันcontractItemList-
  • ทุกๆรายการภายใต้contractItemList ประกอบด้วย:
    • ผู้ใช้ที่เป็นแขกนี่คือผู้ใช้ที่จะมาถึงในสถานที่
    • ชื่อภาษาอังกฤษชื่อสินค้าคงคลังเป็นภาษาอังกฤษ
    • คำอธิบายเป็นภาษาอังกฤษคำอธิบายเพิ่มเติมเกี่ยวกับสินค้าคงคลังเป็นภาษาอังกฤษ
    • ราคาราคาของรายการ
    • แผนการเดินทางเมื่อใดจึงควรจองรายการนี้
    • ประเภทราคาราคาถูกคำนวณอย่างไร?
    • ประเภทสินค้าคงคลังนี่เป็นประเภทสินค้าอะไร
    • เจ้าหนี้เมื่อนักเดินทางจะต้องถูกเรียกเก็บเงินขณะนี้เราสนับสนุนตัวเลือกการชำระเงินทันทีเท่านั้น
    • นโยบายรวมถึงกฎเกณฑ์นโยบายการยกเลิก
    • รายการอัตราค่าบริการรายวันหากรายการที่จองเป็นห้องพัก คุณสามารถเลือกรวมค่าห้องสำหรับแต่ละคืนที่แขกเข้าพัก
    • ผู้รับผลประโยชน์รวมถึงบัญชี TripPay ที่ควรได้รับการจัดสรรและราคาของสินค้าเป็นจำนวนเท่าใดรองรับจำนวนเงินคงที่ / เปอร์เซ็นต์

:::หมายเหตุ ในตัวอย่าง JSON ข้างต้น เรามีผู้รับผลประโยชน์ 3 ราย:

  • 1.5% จะถูกจัดสรรให้กับแพลตฟอร์มที่อำนวยความสะดวกในการจองเช่น ขยิบตา
  • 9.85% ถูกจัดสรรให้กับพันธมิตรเป็นค่าคอมมิชชั่นเช่น คิม คาร์ดาเชี่ยน
  • 88.65% ได้รับการจัดสรรซัพพลายเออร์สำหรับการจองห้องพักเช่น ฮิลตัน

เมื่อ TripPay ตอบสนองด้วยสัญญาการชำระเงิน คุณจะสังเกตเห็นว่าได้เพิ่มผู้รับผลประโยชน์ของตนเองเป็น 4.0% :::

เมื่อ TripPay ตอบสนองต่อคำขอของคุณ จะมีลักษณะดังนี้:

[
{
"id": "contract-1",
"traceId": "trace-1",
"supplierContractIdentifier": "191d5729-0b90-4000-8298-72431beb1701",
"supplierIdentifier": "191d5729-0b90-4000-8b72-58186a642401",
"supplierName": "Hilton",
"totalPrice": {
"amount": 100,
"currency": "USD"
},
"totalDisplayPrice": {
"amount": 100,
"currency": "USD"
},
"totalSupplierPrice": {
"amount": 100,
"currency": "USD"
},
"totalInternalPrice": {
"amount": 100,
"currency": "USD"
},
"totalCapturePrice": {
"amount": 100,
"currency": "USD"
}
}
]

บันทึกidบรรทัดที่ 3 คุณจะใช้สิ่งนี้เพื่อฉีดเข้าในส่วนประกอบเว็บ TripPay

:::หมายเหตุ ตรวจสอบให้แน่ใจว่าคุณได้โหลดสไตล์และ Javascript ของเราไว้ล่วงหน้าแล้ว :::

เมื่อถึงจุดนี้ คุณก็พร้อมที่จะฝังแล้วPayment Web Componentลงในเว็บไซต์ของคุณและแสดงให้ผู้ใช้ดู

<trip-pay id="contract-1"></trip-pay>

สำหรับการบูรณาการ นั่นคือสิ่งที่คุณต้องทำทั้งหมด งานหนักทั้งหมดจะดำเนินการโดย TripPay ตั้งแต่บัดนี้เป็นต้นไป