Перейти до вмісту

Інтеграція з TripPay

Ця стаття містить повний приклад інтеграції з TripPay.

Рекомендується, щоб ви вже прочитали:

Ось кроки для успішного використання TripPay для оплати бронювання:

  1. Переконайтеся, що бенефіціарів, яких ви згадуєте в договорі бронювання, було зіставлено.
  2. Нехай мандрівник вибере потрібний йому інвентар і приготується до оплати.
  3. Створити payable contract за допомогою TripPay, який містить елементи для бронювання.
  4. Дозвольте мандрівнику сплатити за допомогою веб-компонента TripPay.

Ми вважаємо, що ви вже завершилиStep 1іStep 2і готові повідомити TripPay про бронювання.

Створити договір про сплату

Section titled “Створити договір про сплату”

Ось зразок 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"
}
]
}
]
}
]
}

Пояснення:

Ми не будемо пояснювати тут кожну точку даних, оскільки вони вже розглянуті в документації API.

  • Лінії:2 - 7користувач, відповідальний за бронювання. Існує два типи тих, хто бронює:
    • Мандрівник.
    • Туристичний агент.
  • Лінії:8 - 9це обліковий запис TripPay, який полегшує бронювання. Це може бути:
    • Ваш обліковий запис інтегратора TripPay.
    • Якщо ви керуєте партнерською мережею, вона може бути вашим партнером.
  • ВикористовуйтеtraceIdщоб згрупувати кілька бронювань у кількох постачальників. Таким чином, ви можете скасувати групове бронювання.
  • redirectUrlповідомляє TripPay, на яку сторінку перенаправляти після завершення оплати.
  • sourceUrlце сайт/додаток, на якому відбулося бронювання.

ThecontractListМасив містить товари, які мандрівник хоче придбати у кількох постачальників. Кожен товар містить:

  • Theidentifier– це дійсний UUID, який ви генеруєте.
  • Постачальник, у якого ви хочете забронювати товар.
  • Інвентар, який ви хочете забронювати у цього постачальника. Усі вони вказані у вкладеному масиві.contractItemList.
  • Кожен запис у розділіcontractItemListмістить:
    • ГістьЦе користувач, який прибуде на територію.
    • Ім’я англійською мовоюНазва інвентаризації англійською мовою.
    • Опис англійською мовоюДокладніший опис інвентарю англійською мовою.
    • ЦінаЦіна товару.
    • МаршрутКоли цей товар слід бронювати.
    • Тип ціноутворенняЯк розраховувалася ціна.
    • Тип інвентарюЩо це за тип інвентарю.
    • До сплатиКоли з мандрівника слід стягувати плату.Наразі ми підтримуємо лише варіанти негайної оплати.
    • ПолітикаВключіть правила політики скасування.
    • Список щоденних тарифівЯкщо бронюється номер, ви можете включити вартість номера за кожну ніч перебування гостя.
    • БенефіціариВкажіть, на який(і) рахунок(и) TripPay слід виділити яку(і) суму(и) від ціни товару.Підтримуються фіксовані/відсоткові суми.

На цьому етапі ви готові вбудуватиPayment Web Componentна ваш веб-сайт та покажіть його користувачеві.

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

Що стосується інтеграції, то це все, що вам потрібно зробити. Всю важку роботу відтепер виконує TripPay.