التكامل مع TripPay
تحتوي هذه المقالة على مثال شامل من البداية للنهاية لكيفية التكامل مع TripPay.
يوصى بأن تكون قد قرأت مسبقًا:
- الدفع > التعيين.
- الدفع > التكامل.
- مكون الويب للدفع.
- واجهة برمجة تطبيقات الدفع. اقرأ القسم الخاص بـ
إنشاء عقود قابلة للدفع
فيما يلي الخطوات لاستخدام TripPay بنجاح للدفع مقابل الحجز:
- تأكد من أن المستفيدين الذين تذكرهم في عقد الحجز قد تم تعيينهم.
- دع المسافر يختار المخزون الذي يريد حجزه ويجهز نفسه للدفع.
- أنشئ
عقدًا قابلاً للدفعمع TripPay يحتوي على العناصر التي سيتم حجزها. - دع المسافر يدفع باستخدام مكون الويب الخاص بـ TripPay.
نفترض أنك قد أكملت بالفعل الخطوة 1 و الخطوة 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 التي يجب تخصيص مبلغ (مبالغ) من سعر العنصر لها. يتم دعم المبالغ الثابتة / النسب المئوية.
الاستجابة
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.
تضمين TripPay
Section titled “تضمين TripPay”في هذه المرحلة، أنت جاهز لتضمين مكون الويب للدفع في موقعك الإلكتروني وعرضه على المستخدم.
<trip-pay id="contract-1"></trip-pay>فيما يتعلق بالتكامل، هذا كل ما تحتاج إلى فعله. كل العمل الشاق يتم بواسطة TripPay من هذه النقطة فصاعدًا.