Skip to content

Integracija su „TripPay“

Šiame straipsnyje pateikiamas išsamus „TripPay“ integravimo pavyzdys.

Rekomenduojama, kad jau būtumėte perskaitę:

Štai kaip sėkmingai apmokėti užsakymą naudojant „TripPay“:

  1. Įsitikinkite, kad rezervavimo sutartyje nurodyti naudos gavėjai yra pažymėti žemėlapyje.
  2. Leiskite keliautojui pasirinkti norimą užsisakyti inventorių ir pasiruošti mokėti.
  3. Sukurti payable contract su „TripPay“, kuriame yra užsakomos prekės.
  4. Leiskite keliautojui mokėti naudojant „TripPay“ žiniatinklio komponentą.

Manome, kad jau baigėteStep 1irStep 2ir yra pasiruošę pranešti „TripPay“ apie užsakymą.

Čia pateikiamas JSON užklausos pavyzdys, kuriame yra viskas, ko reikia norint sukurti savo pirmąją mokėtiną sutartį.

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

Paaiškinimas:

Čia neaiškinsime kiekvieno duomenų taško, nes jie jau aprašyti API dokumentuose.

  • Linijos:2–7yra už užsakymą atsakingas naudotojas. Yra dviejų tipų užsakovai:
    • Keliautojas.
    • Kelionių agentas.
  • Linijos:8–9yra „TripPay“ paskyra, leidžianti užsisakyti. Tai gali būti:
    • Jūsų „TripPay“ integratoriaus paskyra.
    • Jei valdote filialų tinklą, jis gali būti jūsų filialas.
  • NaudokitetraceIdsugrupuoti kelis užsakymus keliems tiekėjams. Tokiu būdu galite atšaukti grupinį užsakymą.
  • redirectUrlleidžia „TripPay“ žinoti, į kurį puslapį nukreipti atlikus mokėjimą.
  • sourceUrlyra svetainė / programėlė, kurioje buvo atliktas užsakymas.

ThecontractListmasyve yra prekė(-ės), kurią(-ias) keliautojas nori įsigyti iš kelių tiekėjų. Kiekviena prekė yra:

  • Theidentifieryra galiojantis jūsų sugeneruotas UUID.
  • Tiekėjas, iš kurio norite užsakyti atsargas.
  • Atsargos, kurias norite užsakyti iš to tiekėjo. Visos jos nurodytos įdėtajame masyve.contractItemList.
  • Kiekvienas įrašas pocontractItemListsudėtyje yra:
    • Svečias vartotojasTai vartotojas, kuris atvyks į patalpas.
    • Vardas anglų kalbaInventoriaus pavadinimas anglų kalba.
    • Aprašymas anglų kalbaIšsamesnis inventoriaus aprašymas anglų kalba.
    • KainaPrekės kaina.
    • MaršrutasKada šis daiktas turėtų būti užsakytas.
    • Kainodaros tipasKaip buvo apskaičiuota kaina.
    • Atsargų tipasKokio tipo inventorius tai yra.
    • MokėtinaKada keliautojui turėtų būti taikomas mokestis.Šiuo metu palaikome tik momentinio mokėjimo parinktis.
    • PolitikaĮtraukite atšaukimo politikos taisykles.
    • Dienos įkainių sąrašasJei užsakomas kambarys, galite pasirinkti įtraukti, kiek tas kambarys kainavo už kiekvieną svečio viešnagės naktį.
    • GavėjaiNurodykite, kuriai (-ioms) „TripPay“ sąskaitai (-oms) turėtų būti priskirta kokia (-os) prekės kainos suma (-os).Palaikomos fiksuotos / procentinės sumos.

Kai „TripPay“ atsakys į jūsų užklausą, tai atrodys maždaug taip:

[
{
"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šsaugotiid3 eilutėje. Tai naudosite norėdami įterpti į „TripPay“ žiniatinklio komponentą.

Šiuo metu esate pasiruošę įterptiPayment Web Componentį savo svetainę ir parodykite ją vartotojui.

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

Kalbant apie integraciją, tai viskas, ką jums reikia padaryti. Nuo šiol visą sunkų darbą atlieka „TripPay“.