Skip to content

Интеграција са TripPay-ом

Овај чланак садржи пример како се интегрисати са TripPay-ом.

Препоручује се да сте већ прочитали:

Ево корака за успешно коришћење TripPay-а за плаћање резервације:

  1. Уверите се да су корисници које поменете у уговору о резервацији мапирани.
  2. Нека путник изабере инвентар који жели да резервише и нека се спреми за плаћање.
  3. Направите payable contract са TripPay-ом који садржи ставке које треба резервисати.
  4. Дозволите путнику да плати користећи TripPay веб компоненту.

Претпостављамо да сте већ завршилиStep 1иStep 2и спремни су да обавесте TripPay о резервацији.

Направите уговор о плаћању

Section titled “Направите уговор о плаћању”

:::напомена Идите на API за плаћање да бисте сазнали више о захтевима за креирање уговора о плаћању. :::

Ево примера 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 рачунима треба доделити који износ цене ставке.Подржани су фиксни / процентуални износи.

:::напомена У горњем JSON примеру имамо 3 корисника:

  • 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.