Интеграција са TripPay-ом
Овај чланак садржи пример како се интегрисати са TripPay-ом.
Препоручује се да сте већ прочитали:
- Плаћање > Мапирање.
- Плаћање > Интеграција.
- Веб компонента плаћања.
- API за плаћање.Прочитајте одељак о
Create payable contracts
Ево корака за успешно коришћење TripPay-а за плаћање резервације:
- Уверите се да су корисници које поменете у уговору о резервацији мапирани.
- Нека путник изабере инвентар који жели да резервише и нека се спреми за плаћање.
- Направите
payable contract
са TripPay-ом који садржи ставке које треба резервисати. - Дозволите путнику да плати користећи TripPay веб компоненту.
Претпостављамо да сте већ завршилиStep 1
иStep 2
и спремни су да обавесте TripPay о резервацији.
Направите уговор о плаћању
Section titled “Направите уговор о плаћању”:::напомена Идите на API за плаћање да бисте сазнали више о захтевима за креирање уговора о плаћању. :::
Захтев
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" } ] } ] } ]}
Објашњење:
Нећемо овде објашњавати сваку тачку података јер су већ обухваћене API документацијом.
- Линије:2 - 7је корисник одговоран за резервацију. Постоје две врсте резерватора:
- Путник.
- Туристички агент.
- Линије:8 - 9да ли је TripPay налог који олакшава резервацију. То може бити:
- Ваш TripPay интеграторски налог.
- Ако водите партнерску мрежу, она може бити ваш партнер.
- Користите
traceId
да групишете више резервација код више добављача. На овај начин можете отказати групну резервацију. redirectUrl
омогућава TripPay-у да зна на коју страницу да преусмери корисника након што је плаћање завршено.sourceUrl
је сајт/апликација на којој је резервација обављена.
ThecontractList
Низ садржи артикал(е) које путник жели да купи од више добављача. Сваки артикал садржи:
- The
identifier
је важећи UUID који генеришете. - Добављач од кога желите да резервишете залихе.
- Залихе које желите да резервишете од тог добављача. Све су наведене у угнежђеном низу.
contractItemList
. - Сваки унос испод
contractItemList
садржи:- Гостујући корисникОво је корисник који ће стићи на локацију.
- Име на енглескомНазив инвентара на енглеском језику.
- Опис на енглескомДужи опис инвентара на енглеском језику.
- ЦенаЦена ставке.
- План путовањаКада ову ставку треба резервисати.
- Тип ценеКако је цена израчуната.
- Тип инвентараКоја је ово врста инвентара?
- Доспело за плаћањеКада путник треба да буде наплаћен.Тренутно подржавамо само опције тренутног плаћања.
- ПолитикаУкључите правила о отказивању.
- Дневна листа ценаАко се резервише соба, можете да укључите колико кошта та соба за сваку ноћ у којој гост борави.
- КориснициНаведите којим TripPay рачунима треба доделити који износ цене ставке.Подржани су фиксни / процентуални износи.
:::напомена У горњем JSON примеру имамо 3 корисника:
- 1,5% је додељено платформи која је омогућила резервацију.нпр. Намигивање
- Партнерском програму је додељено 9,85% као провизија.нпр. Ким Кардашијан
- 88,65% је додељено добављачу за резервацију собе.нпр. Хилтон
Када TripPay одговори уговором о плаћању, приметићете да је убризгао сопственог корисника са 4,0%. :::
Одговор
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”:::напомена Уверите се да сте претходно учитали наше стилове и Јаваскрипт. :::
У овом тренутку, спремни сте да уградитеPayment Web Component
на вашу веб страницу и прикажите је кориснику.
<trip-pay id="contract-1"></trip-pay>
Што се тиче интеграције, то је све што треба да урадите. Од сада па надаље сав тежак посао обавља TripPay.