Skip to content

Pagsasama sa TripPay

Naglalaman ang artikulong ito ng isang end-to-end na halimbawa kung paano makipagsama sa TripPay.

Inirerekomenda na nabasa mo na ang:

Narito ang mga hakbang upang matagumpay na magamit ang TripPay para magbayad ng booking:

  1. Siguraduhing na-map na ang mga beneficiary na binanggit mo sa booking contract.
  2. Hayaan ang traveler na pumili ng inventory na nais nilang i-book at ihanda silang magbayad.
  3. Gumawa ng payable contract sa TripPay na naglalaman ng mga item na i-book.
  4. Hayaan ang traveler na magbayad gamit ang TripPay Web Component.

Ipinagpapalagay namin na natapos mo na ang Step 1 at Step 2 at handa ka nang ipaalam sa TripPay ang tungkol sa booking.

Narito ang isang JSON sample request na naglalaman ng lahat ng kailangan mo para gumawa ng iyong unang payable contract.

{
"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"
}
]
}
]
}
]
}

Paliwanag:

Hindi namin ipapaliwanag ang bawat data point dito dahil nasaklaw na ito sa API docs.

  • Mga Linya: 2 - 7 ay ang user na responsable sa booking. May dalawang uri ng bookers:
    • Traveler.
    • Travel agent.
  • Mga Linya: 8 - 9 ay ang TripPay account na nagpapadali ng booking. Maaari itong:
    • Iyong TripPay integrator account.
    • Kung nagpapatakbo ka ng affiliate network, maaari itong iyong affiliate.
  • Gumamit ng traceId upang pagsamahin ang maraming booking mula sa maraming supplier. Sa ganitong paraan maaari mong kanselahin ang isang group booking.
  • Ang redirectUrl ay nagsasabi sa TripPay kung saang pahina ito magre-redirect pagkatapos makumpleto ang pagbabayad.
  • Ang sourceUrl ay ang site / app kung saan naganap ang booking.

Ang contractList array ay naglalaman ng item(s) na nais bilhin ng traveler mula sa maraming supplier. Bawat item ay naglalaman ng:

  • Ang identifier ay isang valid na UUID na iyong gagawin.
  • Ang supplier na nais mong i-book ng inventory.
  • Ang inventory na nais mong i-book mula sa supplier na iyon. Lahat ito ay tinukoy sa nested array na contractItemList.
  • Bawat entry sa ilalim ng contractItemList ay naglalaman ng:
    • Guest user Ito ang user na darating sa lugar.
    • Name in English Ang pangalan ng inventory sa wikang Ingles.
    • Description in English Isang mas mahabang paglalarawan ng inventory sa wikang Ingles.
    • Price Ang presyo ng item.
    • Itinerary Kailan dapat i-book ang item na ito.
    • Pricing type Paano kinuwenta ang presyo.
    • Inventory type Anong uri ng inventory ito.
    • Payable Kailan dapat singilin ang traveler. Sa kasalukuyan, sinusuportahan lang namin ang mga opsyon para sa agarang pagbabayad.
    • Policy Isama ang mga patakaran sa pagkansela.
    • Daily rate list Kung ang item na bine-book ay isang kuwarto, maaari mong isama kung magkano ang halaga ng kuwarto para sa bawat gabi ng pananatili ng guest.
    • Beneficiaries Isama kung aling TripPay account(s) ang dapat makatanggap ng anong halaga ng presyo ng item. Sinusuportahan ang Fixed / Percent na halaga.

Kapag sumagot ang TripPay sa iyong request, ganito ang magiging itsura nito:

[
{
"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"
}
}
]

I-save ang id sa linya 3. Gagamitin mo ito para i-inject sa TripPay web component.

Sa puntong ito, handa ka nang i-embed ang Payment Web Component sa iyong website at ipakita ito sa user.

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

Hanggang dito na lang ang kailangan mong gawin para sa integration. Ang lahat ng mabibigat na gawain ay gagawin na ng TripPay mula rito.