Tovább a tartalomhoz

Integráció a TripPay-jel

Ez a cikk egy teljes körű példát tartalmaz a TripPay-jel való integrációra.

Ajánlott, hogy már elolvasd:

Íme a lépések a TripPay sikeres használatához a foglalás kifizetéséhez:

  1. Győződjön meg róla, hogy a foglalási szerződésben említett kedvezményezettek fel vannak térképezve.
  2. Hagyd, hogy az utazó válassza ki a lefoglalni kívánt felszerelést, és készüljön fel a fizetésre.
  3. Hozz létre egy payable contract a TripPay-jel, amely tartalmazza a lefoglalandó tételeket.
  4. Fizessen az utazó a TripPay webes komponens használatával.

Feltételezzük, hogy már elvégeztedStep 1ésStep 2és készen állnak arra, hogy értesítsék a TripPay-t a foglalásról.

:::megjegyzés A fizetendő szerződés létrehozásának követelményeiről a Fizetési API-ban tudhat meg többet. :::

Itt egy JSON minta kérés, amely mindent tartalmaz, 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": "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"
}
]
}
]
}
]
}

Magyarázat:

Nem fogunk itt minden adatpontot elmagyarázni, mivel azok már szerepelnek az API dokumentációban.

  • Sorok:2 - 7a foglalásért felelős felhasználó. Kétféle foglaló létezik:
    • Utazó.
    • Utazási ügynök.
  • Sorok:8-9a foglalást lehetővé tevő TripPay-fiók. Ez lehet:
    • Az Ön TripPay integrátori fiókja.
    • Ha partnerhálózatot üzemeltetsz, az lehet a te partnered.
  • Használjon egytraceIdtöbb foglalás csoportosítása több szolgáltatónál. Így lemondhatja a csoportos foglalást.
  • redirectUrltudatja a TripPay-jel, hogy melyik oldalra kell átirányítani a fizetés befejezése után.
  • sourceUrlaz a weboldal/alkalmazás, amelyen a foglalás történt.

AcontractListA tömb tartalmazza azokat a tételeket, amelyeket az utazó több szállítótól szeretne megvásárolni. Minden tétel a következőket tartalmazza:

  • Aidentifieregy érvényes, általad létrehozott UUID.
  • A beszállító, akitől készletet szeretne foglalni.
  • A beszállítótól lefoglalni kívánt készlet. Ezek mind beágyazott tömbben vannak megadva.contractItemList.
  • Minden bejegyzés a következő alatt:contractItemListtartalmaz:
    • VendégfelhasználóEz a felhasználó fog megérkezni a helyszínre.
    • Név angolulA leltár neve angol nyelven.
    • Leírás angolulA leltár hosszabb leírása angol nyelven.
    • ÁrA tétel ára.
    • ÚtitervMikor kell ezt a tételt lefoglalni?
    • Árazási típusHogyan számolták ki az árat.
    • KészlettípusMilyen típusú leltár ez?
    • KifizetendőMikor kell az utazót megterhelni?Jelenleg csak az azonnali fizetési lehetőségeket támogatjuk.
    • PolitikaTartalmazza a lemondási szabályzatot.
    • Napi árlistaHa a lefoglalt tétel egy szoba, akkor megadhatja, hogy mennyibe kerül a szoba a vendég által eltöltött éjszakákért.
    • KedvezményezettekTüntesse fel, hogy a tétel árának melyik TripPay-számlához/számlákhoz milyen összeget/összegeket kell hozzárendelni.Fix/százalékos összegek támogatottak.

Amikor a TripPay válaszol a kérésére, nagyjából í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"
}
}
]

Mentse el aida 3. sorban. Ezt fogod használni a TripPay webes komponensbe való beillesztéshez.

:::megjegyzés Előzőleg győződjön meg róla, hogy betöltötte a stílusainkat és a Javascriptet. :::

Ezen a ponton készen állsz a beágyazásraPayment Web Componentbe a weboldaladra, és mutasd meg a felhasználónak.

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

Ami az integrációt illeti, ennyi az egész. Innentől kezdve az összes nehéz munkát a TripPay végzi el.