تخطَّ إلى المحتوى

التكامل مع TripPay

تحتوي هذه المقالة على مثال شامل حول كيفية التكامل مع TripPay.

من المستحسن أن تكون قد قرأت بالفعل:

فيما يلي الخطوات اللازمة لاستخدام TripPay بنجاح لدفع ثمن الحجز:

  1. تأكد من أن المستفيدين الذين ذكرتهم في عقد الحجز قد تم تعيينهم.
  2. دع المسافر يختار المخزون الذي يريد حجزه واجعله مستعدًا للدفع.
  3. إنشاء payable contract مع TripPay الذي يحتوي على العناصر التي سيتم حجزها.
  4. دع المسافر يقوم بالدفع باستخدام مكون الويب TripPay.

نحن نفترض أنك قد أكملت بالفعلStep 1 و Step 2وهم على استعداد لإبلاغ TripPay بالحجز.

ملاحظة:

انتقل إلى واجهة برمجة تطبيقات الدفع لمعرفة المزيد حول متطلبات إنشاء عقد قابل للدفع.

ملاحظة:

فيما يلي نموذج طلب 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"
}
]
}
]
}
]
}

توضيح:

لن نقوم بشرح كل نقطة بيانات هنا لأنها مذكورة بالفعل في مستندات واجهة برمجة التطبيقات.

  • الخطوط:2 - 7المستخدم هو المسؤول عن الحجز. هناك نوعان من القائمين بالحجز:
    • مسافر.
    • وكيل السفر.
  • الخطوط:8 - 9هل حساب TripPay هو الذي يُسهّل الحجز؟ يُمكن أن يكون:
    • حساب تكامل TripPay الخاص بك.
    • إذا كنت تدير شبكة تابعة، فيمكن أن تكون هي الشبكة التابعة لك.
  • استخدمtraceIdلتجميع حجوزات متعددة لدى عدة موردين. بهذه الطريقة، يمكنك إلغاء حجز جماعي.
  • redirectUrlيتيح لـ TripPay معرفة الصفحة التي سيتم إعادة التوجيه إليها بعد اكتمال الدفع.
  • sourceUrlهو الموقع/التطبيق الذي تم الحجز عليه.

ال contractListتحتوي المصفوفة على العناصر التي يرغب المسافر في شرائها من موردين متعددين. يحتوي كل عنصر على:

  • ال identifierهو UUID صالح تقوم بإنشائه.
  • المورد الذي تريد حجز المخزون منه.
  • المخزون الذي ترغب في حجزه من هذا المورد. جميع هذه العناصر مُحددة في المصفوفة المتداخلة.contractItemList.
  • كل مدخل تحتcontractItemList يتضمن:
    • مستخدم ضيفهذا هو المستخدم الذي سيصل إلى المبنى.
    • الاسم باللغة الإنجليزيةاسم المخزون باللغة الإنجليزية.
    • الوصف باللغة الإنجليزيةوصف أطول للمخزون باللغة الإنجليزية.
    • سعرسعر السلعة.
    • مسار الرحلةمتى يجب حجز هذا العنصر؟
    • نوع التسعيركيف تم حساب السعر؟
    • نوع المخزونما هو نوع المخزون هذا؟
    • مستحق الدفعمتى يجب أن يتم فرض الرسوم على المسافر؟نحن ندعم حاليًا خيارات الدفع الفوري فقط.
    • سياسةتضمين قواعد سياسة الإلغاء.
    • قائمة الأسعار اليوميةإذا كان العنصر الذي يتم حجزه عبارة عن غرفة، فيمكنك اختيار تضمين تكلفة تلك الغرفة لكل ليلة يقيم فيها الضيف.
    • المستفيدونقم بتضمين حسابات TripPay التي يجب تخصيص المبلغ (المبالغ) الخاصة بسعر العنصر لها.يتم دعم المبالغ الثابتة / المئوية.

:::ملاحظة في مثال JSON أعلاه، لدينا ثلاثة مستفيدين:

  • تم تخصيص 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.

ملاحظة: تأكد من تحميل أنماطنا وجافا سكريبت مسبقًا.

في هذه المرحلة، أنت جاهز لتضمينPayment Web Componentإلى موقع الويب الخاص بك وعرضه للمستخدم.

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

فيما يتعلق بالتكامل، هذا كل ما عليك فعله. ستتولى TripPay جميع المهام الشاقة من الآن فصاعدًا.