Pagsasama sa TripPay
Naglalaman ang artikulong ito ng isang end-to-end na halimbawa kung paano makipagsama sa TripPay.
Inirerekomenda na nabasa mo na ang:
- Payment > Mapping.
- Payment > Integration.
- Payment Web Component.
- Payment API. Basahin ang seksyon tungkol sa
Create payable contracts
Narito ang mga hakbang upang matagumpay na magamit ang TripPay para magbayad ng booking:
- Siguraduhing na-map na ang mga beneficiary na binanggit mo sa booking contract.
- Hayaan ang traveler na pumili ng inventory na nais nilang i-book at ihanda silang magbayad.
- Gumawa ng
payable contractsa TripPay na naglalaman ng mga item na i-book. - Hayaan ang traveler na magbayad gamit ang TripPay Web Component.
Ipinagpapalagay namin na natapos mo na ang Step 1 at Step 2 at handa ka nang ipaalam sa TripPay ang tungkol sa booking.
Gumawa ng payable contract
Section titled “Gumawa ng payable contract”Request
Section titled “Request”Narito ang isang JSON sample request na naglalaman ng lahat ng kailangan mo para gumawa ng iyong unang payable contract.
{ "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" } ] } ] } ]}Paliwanag:
Hindi namin ipapaliwanag ang bawat data point dito dahil nasaklaw na ito sa API docs.
- Mga Linya: 2 - 7 ay ang user na responsable sa booking. May dalawang uri ng bookers:
- Traveler.
- Travel agent.
- Mga Linya: 8 - 9 ay ang TripPay account na nagpapadali ng booking. Maaari itong:
- Iyong TripPay integrator account.
- Kung nagpapatakbo ka ng affiliate network, maaari itong iyong affiliate.
- Gumamit ng
traceIdupang pagsamahin ang maraming booking mula sa maraming supplier. Sa ganitong paraan maaari mong kanselahin ang isang group booking. - Ang
redirectUrlay nagsasabi sa TripPay kung saang pahina ito magre-redirect pagkatapos makumpleto ang pagbabayad. - Ang
sourceUrlay ang site / app kung saan naganap ang booking.
Ang contractList array ay naglalaman ng item(s) na nais bilhin ng traveler mula sa maraming supplier. Bawat item ay naglalaman ng:
- Ang
identifieray isang valid na UUID na iyong gagawin. - Ang supplier na nais mong i-book ng inventory.
- Ang inventory na nais mong i-book mula sa supplier na iyon. Lahat ito ay tinukoy sa nested array na
contractItemList. - Bawat entry sa ilalim ng
contractItemListay naglalaman ng:- Guest user Ito ang user na darating sa lugar.
- Name in English Ang pangalan ng inventory sa wikang Ingles.
- Description in English Isang mas mahabang paglalarawan ng inventory sa wikang Ingles.
- Price Ang presyo ng item.
- Itinerary Kailan dapat i-book ang item na ito.
- Pricing type Paano kinuwenta ang presyo.
- Inventory type Anong uri ng inventory ito.
- Payable Kailan dapat singilin ang traveler. Sa kasalukuyan, sinusuportahan lang namin ang mga opsyon para sa agarang pagbabayad.
- Policy Isama ang mga patakaran sa pagkansela.
- Daily rate list Kung ang item na bine-book ay isang kuwarto, maaari mong isama kung magkano ang halaga ng kuwarto para sa bawat gabi ng pananatili ng guest.
- Beneficiaries Isama kung aling TripPay account(s) ang dapat makatanggap ng anong halaga ng presyo ng item. Sinusuportahan ang Fixed / Percent na halaga.
Response
Section titled “Response”Kapag sumagot ang TripPay sa iyong request, ganito ang magiging itsura nito:
[ { "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-save ang id sa linya 3. Gagamitin mo ito para i-inject sa TripPay web component.
I-embed ang TripPay
Section titled “I-embed ang TripPay”Sa puntong ito, handa ka nang i-embed ang Payment Web Component sa iyong website at ipakita ito sa user.
<trip-pay id="contract-1"></trip-pay>Hanggang dito na lang ang kailangan mong gawin para sa integration. Ang lahat ng mabibigat na gawain ay gagawin na ng TripPay mula rito.