التكامل مع TripPay
تحتوي هذه المقالة على مثال شامل حول كيفية التكامل مع TripPay.
من المستحسن أن تكون قد قرأت بالفعل:
- الدفع > رسم الخرائط.
- الدفع > التكامل.
- مكون ويب الدفع.
- واجهة برمجة تطبيقات الدفع.اقرأ القسم الخاص بـ
Create payable contracts
فيما يلي الخطوات اللازمة لاستخدام TripPay بنجاح لدفع ثمن الحجز:
- تأكد من أن المستفيدين الذين ذكرتهم في عقد الحجز قد تم تعيينهم.
- دع المسافر يختار المخزون الذي يريد حجزه واجعله مستعدًا للدفع.
- إنشاء
payable contract
مع TripPay الذي يحتوي على العناصر التي سيتم حجزها. - دع المسافر يقوم بالدفع باستخدام مكون الويب TripPay.
نحن نفترض أنك قد أكملت بالفعلStep 1
و Step 2
وهم على استعداد لإبلاغ TripPay بالحجز.
إنشاء عقد قابل للدفع
Section titled “إنشاء عقد قابل للدفع”ملاحظة:
انتقل إلى واجهة برمجة تطبيقات الدفع لمعرفة المزيد حول متطلبات إنشاء عقد قابل للدفع.
ملاحظة:
فيما يلي نموذج طلب JSON يتضمن كل ما تحتاج إلى إنشائه لعقد الدفع الأول الخاص بك.
{ "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" } ] } ] } ]}
توضيح:
لن نقوم بشرح كل نقطة بيانات هنا لأنها مذكورة بالفعل في مستندات واجهة برمجة التطبيقات.
- الخطوط: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.
تضمين TripPay
Section titled “تضمين TripPay”ملاحظة: تأكد من تحميل أنماطنا وجافا سكريبت مسبقًا.
في هذه المرحلة، أنت جاهز لتضمينPayment Web Component
إلى موقع الويب الخاص بك وعرضه للمستخدم.
<trip-pay id="contract-1"></trip-pay>
فيما يتعلق بالتكامل، هذا كل ما عليك فعله. ستتولى TripPay جميع المهام الشاقة من الآن فصاعدًا.