Skip to content

การผสานรวมกับ TripPay

บทความนี้มีตัวอย่างตั้งแต่ต้นจนจบของวิธีการผสานรวมกับ TripPay

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

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

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

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

นี่คือตัวอย่างคำขอ JSON ที่รวมทุกอย่างที่คุณต้องสร้างสำหรับ payable contract แรกของคุณ

{
"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 ที่ควรได้รับส่วนแบ่งราคาแต่ละส่วน รองรับจำนวนเงินแบบคงที่/เปอร์เซ็นต์

เมื่อ 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 web component

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

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

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