Tovább a tartalomhoz

Integráció a TripPay-jel

Ez a cikk egy végponttól végpontig terjedő példát tartalmaz arra, hogyan integrálhatod a TripPay-t.

Ajánlott, hogy már elolvastad:

Íme a lépések, hogy sikeresen használd a TripPay-t egy foglalás kifizetésére:

  1. Győződj meg róla, hogy a foglalási szerződésben említett kedvezményezettek már fel vannak térképezve.
  2. Hagyd, hogy az utazó kiválassza a foglalni kívánt készletet, és készüljön fel a fizetésre.
  3. Hozz létre egy payable contract-ot a TripPay-vel, amely tartalmazza a foglalni kívánt tételeket.
  4. Hagyd, hogy az utazó a TripPay Web Component segítségével fizesse ki a foglalást.

Feltételezzük, hogy már befejezted az 1. lépést és a 2. lépést, és készen állsz arra, hogy a TripPay-nek jelezd a foglalást.

Íme egy JSON minta kérés, amely tartalmaz mindent, amire szükséged van az első fizetendő szerződésed létrehozásához.

{
"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": "Ez a legjobb deluxe king, amit pénzért meg lehet venni.",
"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"
}
]
}
]
}
]
}

Magyarázat:

Nem magyarázunk el minden adatpontot, mert azok már szerepelnek az API dokumentációban.

  • Sorok: 2 - 7 a foglalásért felelős felhasználó. Kétféle foglaló létezik:
    • Utazó.
    • Utazási ügynök.
  • Sorok: 8 - 9 a TripPay fiók, amely a foglalást kezeli. Ez lehet:
    • A te TripPay integrátor fiókod.
    • Ha affiliate hálózatot működtetsz, lehet az affiliate fiókod.
  • Használj traceId-t, hogy több foglalást csoportosíts több beszállító között. Így egy csoportos foglalást is törölhetsz.
  • A redirectUrl megmondja a TripPay-nek, hogy melyik oldalra irányítsa a felhasználót a fizetés befejezése után.
  • A sourceUrl az a weboldal vagy alkalmazás, ahol a foglalás történt.

A contractList tömb tartalmazza azokat a tételeket, amelyeket az utazó több beszállítótól szeretne megvásárolni. Minden tétel tartalmazza:

  • Az identifier egy érvényes UUID, amit te generálsz.
  • A beszállító, akitől a készletet foglalni szeretnéd.
  • A készlet, amit az adott beszállítótól foglalni szeretnél. Ezek mind a beágyazott contractItemList tömbben vannak megadva.
  • Minden bejegyzés a contractItemList alatt tartalmazza:
    • Vendég felhasználó Ez az a felhasználó, aki meg fog érkezni a helyszínre.
    • Név angolul A készlet angol nyelvű neve.
    • Leírás angolul A készlet hosszabb angol nyelvű leírása.
    • Ár A tétel ára.
    • Útvonal Mikor kell lefoglalni ezt a tételt.
    • Árképzés típusa Hogyan lett kiszámítva az ár.
    • Készlet típusa Milyen típusú készletről van szó.
    • Fizetendő Mikor kell az utazónak fizetnie. Jelenleg csak az azonnali fizetési lehetőségeket támogatjuk.
    • Szabályzat Tartalmazza a lemondási szabályokat.
    • Napi árlista Ha a foglalás egy szoba, megadhatod, hogy mennyibe kerül az adott szoba minden éjszakára, amit a vendég eltölt.
    • Kedvezményezettek Megadhatod, hogy mely TripPay fiókoknak milyen összeget kell kiosztani a tétel árából. Fix vagy százalékos összegek támogatottak.

Amikor a TripPay válaszol a kérésedre, valahogy így fog kinézni:

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

Mentsd el a 3. sorban lévő id-t. Ezt fogod használni a TripPay web komponensbe való beillesztéshez.

Ezen a ponton készen állsz arra, hogy beágyazd a Payment Web Component-et a weboldaladba, és megjelenítsd a felhasználónak.

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

Az integráció szempontjából ennyi a teendőd. A TripPay végzi a nehezét innentől kezdve.