Skip to content

Integracija s TripPayom

Ovaj članak sadrži primjer kako se integrirati s TripPayom.

Preporučuje se da ste već pročitali:

Evo koraka za uspješno korištenje TripPaya za plaćanje rezervacije:

  1. Provjerite jesu li korisnici koje spomenete u ugovoru o rezervaciji mapirani.
  2. Neka putnik odabere inventar koji želi rezervirati i neka se pripremi za plaćanje.
  3. Stvori payable contract s TripPayom koji sadrži stavke koje treba rezervirati.
  4. Neka putnik plati putem TripPay web komponente.

Pretpostavljamo da ste već završiliStep 1iStep 2i spremni su obavijestiti TripPay o rezervaciji.

Idite na API za plaćanje kako biste saznali više o zahtjevima za izradu ugovora s mogućnošću plaćanja.

Evo primjera JSON zahtjeva koji uključuje sve što vam je potrebno za izradu vašeg prvog ugovornog ugovora.

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

Obrazloženje:

Ovdje nećemo objašnjavati svaku podatkovnu točku jer su već obrađene u API dokumentaciji.

  • Linije:2 - 7je korisnik odgovoran za rezervaciju. Postoje dvije vrste korisnika koji rezerviraju:
    • Putnik.
    • Turistički agent.
  • Linije:8 - 9je TripPay račun koji omogućuje rezervaciju. Može biti:
    • Vaš TripPay integracijski račun.
    • Ako vodite partnersku mrežu, ona može biti vaš partner.
  • KoristitetraceIdgrupirati više rezervacija kod više dobavljača. Na taj način možete otkazati grupnu rezervaciju.
  • redirectUrlobavještava TripPay na koju stranicu ga preusmjeriti nakon što je plaćanje dovršeno.
  • sourceUrlje stranica/aplikacija na kojoj je rezervacija izvršena.

ThecontractListNiz sadrži artikl(e) koje putnik želi kupiti od više dobavljača. Svaki artikl sadrži:

  • Theidentifierje valjani UUID koji generirate.
  • Dobavljač od kojeg želite rezervirati zalihe.
  • Zalihe koje želite rezervirati od tog dobavljača. Sve su navedene u ugniježđenom nizucontractItemList.
  • Svaki unos ispodcontractItemListsadrži:
    • Gostujući korisnikOvo je korisnik koji će stići na lokaciju.
    • Ime na engleskomNaziv inventara na engleskom jeziku.
    • Opis na engleskomDuži opis inventara na engleskom jeziku.
    • CijenaCijena artikla.
    • Plan putovanjaKada ovu stavku treba rezervirati.
    • Vrsta cijeneKako je cijena izračunata.
    • Vrsta inventaraKoja je ovo vrsta inventara.
    • PlativoKada putniku treba naplatiti naknadu.Trenutno podržavamo samo opcije trenutnog plaćanja.
    • PolitikaUključite pravila o otkazivanju.
    • Dnevni cjenikAko se rezervira soba, možete odabrati da uključite cijenu te sobe za svaku noć boravka gosta.
    • KorisniciNavedite kojem TripPay računu treba dodijeliti koji iznos cijene artikla.Podržani su fiksni / postotni iznosi.

U gornjem JSON primjeru imamo 3 korisnika:

  • 1,5% je dodijeljeno platformi koja je omogućila rezervaciju.npr. Namig
  • Partneru je dodijeljeno 9,85% kao provizija.npr. Kim Kardashian
  • Dobavljaču je dodijeljeno 88,65% za rezervaciju sobe.npr. Hilton

Kada TripPay odgovori ugovorom o plaćanju, primijetit ćete da je uplatio vlastitog korisnika s 4,0%. :::

Kada TripPay odgovori na vaš zahtjev, to će izgledati otprilike ovako:

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

Spremiidu retku 3. Ovo ćete koristiti za ubrizgavanje u web komponentu TripPay.

Provjerite jeste li prethodno učitali naše stilove i Javascript.

U ovom trenutku spremni ste za ugradnjuPayment Web Componentna vašu web stranicu i prikažite je korisniku.

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

Što se tiče integracije, to je sve što trebate učiniti. Od sada nadalje, sav teški posao obavlja TripPay.