การผสานรวมกับ TripPay
บทความนี้มีตัวอย่างตั้งแต่ต้นจนจบของวิธีการผสานรวมกับ TripPay
แนะนำให้คุณได้อ่านแล้ว:
- Payment > Mapping.
- Payment > Integration.
- Payment Web Component.
- Payment API. อ่านส่วนที่เกี่ยวกับ
Create payable contracts
นี่คือขั้นตอนในการใช้ TripPay เพื่อชำระเงินสำหรับการจองอย่างสำเร็จ:
- ตรวจสอบให้แน่ใจว่าผู้รับผลประโยชน์ที่คุณระบุในสัญญาการจองได้รับการแมปแล้ว
- ให้ผู้เดินทางเลือกสินค้าคงคลังที่ต้องการจองและเตรียมพร้อมสำหรับการชำระเงิน
- สร้าง
payable contractกับ TripPay ที่มีรายการที่จะจอง - ให้ผู้เดินทางชำระเงินโดยใช้ TripPay Web Component
เราสมมติว่าคุณได้ทำ ขั้นตอนที่ 1 และ ขั้นตอนที่ 2 เสร็จแล้วและพร้อมที่จะให้ TripPay รับทราบเกี่ยวกับการจอง
สร้าง payable contract
Section titled “สร้าง payable contract”นี่คือตัวอย่างคำขอ JSON ที่รวมทุกอย่างที่คุณต้องสร้างสำหรับ payable contract แรกของคุณ
{ "user": { "userIdentifier": "191d5729-0b90-4000-85df-1bea7a6e9a01", "firstName": "John", "lastName": "Smith", }, "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", "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 ที่ควรได้รับส่วนแบ่งราคาแต่ละส่วน รองรับจำนวนเงินแบบคงที่/เปอร์เซ็นต์
การตอบกลับ
Section titled “การตอบกลับ”เมื่อ 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
ฝัง TripPay
Section titled “ฝัง TripPay”ในจุดนี้ คุณพร้อมที่จะฝัง Payment Web Component ลงในเว็บไซต์ของคุณและแสดงให้ผู้ใช้เห็น
<trip-pay id="contract-1"></trip-pay>สำหรับการผสานรวม นั่นคือทั้งหมดที่คุณต้องทำ งานหนักทั้งหมดจะถูกจัดการโดย TripPay ตั้งแต่ตรงนี้เป็นต้นไป