Integracija su „TripPay“
Šiame straipsnyje pateikiamas išsamus „TripPay“ integravimo pavyzdys.
Rekomenduojama, kad jau būtumėte perskaitę:
- Mokėjimas > Susiejimas.
- Mokėjimas > Integracija.
- Mokėjimų žiniatinklio komponentas.
- Mokėjimo API.Perskaitykite skyrių apie
Create payable contracts
Štai kaip sėkmingai apmokėti užsakymą naudojant „TripPay“:
- Įsitikinkite, kad rezervavimo sutartyje nurodyti naudos gavėjai yra pažymėti žemėlapyje.
- Leiskite keliautojui pasirinkti norimą užsisakyti inventorių ir pasiruošti mokėti.
- Sukurti
payable contract
su „TripPay“, kuriame yra užsakomos prekės. - Leiskite keliautojui mokėti naudojant „TripPay“ žiniatinklio komponentą.
Manome, kad jau baigėteStep 1
irStep 2
ir yra pasiruošę pranešti „TripPay“ apie užsakymą.
Sukurkite mokėtiną sutartį
Section titled “Sukurkite mokėtiną sutartį”Prašymas
Section titled “Prašymas”Č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", }, "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", "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.
- Naudokite
traceId
sugrupuoti kelis užsakymus keliems tiekėjams. Tokiu būdu galite atšaukti grupinį užsakymą. redirectUrl
leidžia „TripPay“ žinoti, į kurį puslapį nukreipti atlikus mokėjimą.sourceUrl
yra svetainė / programėlė, kurioje buvo atliktas užsakymas.
ThecontractList
masyve yra prekė(-ės), kurią(-ias) keliautojas nori įsigyti iš kelių tiekėjų. Kiekviena prekė yra:
- The
identifier
yra 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 po
contractItemList
sudė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.
Atsakymas
Section titled “Atsakymas”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šsaugotiid
3 eilutėje. Tai naudosite norėdami įterpti į „TripPay“ žiniatinklio komponentą.
Įterpti „TripPay“
Section titled “Įterpti „TripPay“”Š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“.