Skip to content

Ενσωμάτωση με το TripPay

Αυτό το άρθρο περιέχει ένα παράδειγμα από άκρη σε άκρη για το πώς να ενσωματωθείτε με το TripPay.

Συνιστάται να έχετε ήδη διαβάσει:

Ακολουθούν τα βήματα για να χρησιμοποιήσετε επιτυχώς το TripPay για να πληρώσετε μια κράτηση:

  1. Βεβαιωθείτε ότι οι δικαιούχοι που αναφέρετε στο συμβόλαιο κράτησης έχουν αντιστοιχιστεί.
  2. Αφήστε τον ταξιδιώτη να επιλέξει το απόθεμα που θέλει να κλείσει και να ετοιμαστεί για πληρωμή.
  3. Δημιουργήστε ένα πληρωτέο συμβόλαιο με το TripPay που περιέχει τα αντικείμενα προς κράτηση.
  4. Αφήστε τον ταξιδιώτη να πληρώσει χρησιμοποιώντας το TripPay Web Component.

Υποθέτουμε ότι έχετε ήδη ολοκληρώσει το Βήμα 1 και το Βήμα 2 και είστε έτοιμοι να ενημερώσετε το TripPay για την κράτηση.

Δημιουργία πληρωτέου συμβολαίου

Section titled “Δημιουργία πληρωτέου συμβολαίου”

Ακολουθεί ένα δείγμα JSON αιτήματος που περιλαμβάνει όλα όσα χρειάζεστε για να δημιουργήσετε το πρώτο σας πληρωτέο συμβόλαιο.

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

Επεξήγηση:

Δεν θα εξηγήσουμε κάθε σημείο δεδομένων εδώ καθώς έχουν ήδη καλυφθεί στα έγγραφα του API.

  • Γραμμές: 2 - 7 είναι ο χρήστης υπεύθυνος για την κράτηση. Υπάρχουν δύο τύποι κρατούντων:
    • Ταξιδιώτης.
    • Ταξιδιωτικός πράκτορας.
  • Γραμμές: 8 - 9 είναι ο λογαριασμός TripPay που διευκολύνει την κράτηση. Μπορεί να είναι:
    • Ο λογαριασμός ενσωμάτωσης TripPay σας.
    • Αν διαχειρίζεστε ένα δίκτυο συνεργατών, μπορεί να είναι ο συνεργάτης σας.
  • Χρησιμοποιήστε ένα traceId για να ομαδοποιήσετε πολλαπλές κρατήσεις από πολλούς προμηθευτές. Με αυτόν τον τρόπο μπορείτε να ακυρώσετε μια ομαδική κράτηση.
  • Το redirectUrl ενημερώνει το TripPay σε ποια σελίδα να ανακατευθύνει μετά την ολοκλήρωση της πληρωμής.
  • Το sourceUrl είναι ο ιστότοπος / εφαρμογή όπου πραγματοποιήθηκε η κράτηση.

Ο πίνακας contractList περιέχει το/τα αντικείμενο/α που θέλει να αγοράσει ο ταξιδιώτης από πολλούς προμηθευτές. Κάθε αντικείμενο περιλαμβάνει:

  • Το identifier είναι ένα έγκυρο UUID που δημιουργείτε.
  • Τον προμηθευτή από τον οποίο θέλετε να κλείσετε απόθεμα.
  • Το απόθεμα που θέλετε να κλείσετε από αυτόν τον προμηθευτή. Όλα αυτά καθορίζονται στον εμφωλευμένο πίνακα contractItemList.
  • Κάθε εγγραφή κάτω από το contractItemList περιέχει:
    • Χρήστη επισκέπτη Αυτός είναι ο χρήστης που θα φτάσει στον χώρο.
    • Όνομα στα Αγγλικά Το όνομα του αποθέματος στην αγγλική γλώσσα.
    • Περιγραφή στα Αγγλικά Μια πιο εκτενής περιγραφή του αποθέματος στην αγγλική γλώσσα.
    • Τιμή Η τιμή του αντικειμένου.
    • Διαδρομή Πότε πρέπει να γίνει η κράτηση αυτού του αντικειμένου.
    • Τύπος τιμολόγησης Πώς υπολογίστηκε η τιμή.
    • Τύπος αποθέματος Τι είδους απόθεμα είναι αυτό.
    • Πληρωτέο Πότε πρέπει να χρεωθεί ο ταξιδιώτης. Προς το παρόν υποστηρίζουμε μόνο επιλογές άμεσης πληρωμής.
    • Πολιτική Περιλαμβάνει κανόνες πολιτικής ακύρωσης.
    • Κατάλογος ημερήσιων τιμών Αν το αντικείμενο που κλείνεται είναι δωμάτιο, μπορείτε να επιλέξετε να συμπεριλάβετε πόσο κοστίζει το δωμάτιο για κάθε νύχτα που μένει ο επισκέπτης.
    • Δικαιούχοι Περιλαμβάνει ποιοι λογαριασμοί TripPay πρέπει να λάβουν ποιο ποσό της τιμής του αντικειμένου. Υποστηρίζονται σταθερά / ποσοστιαία ποσά.

Όταν το TripPay απαντήσει στο αίτημά σας, θα μοιάζει κάπως έτσι:

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

Αποθηκεύστε το id στη γραμμή 3. Θα το χρησιμοποιήσετε για να το περάσετε στο TripPay web component.

Σε αυτό το σημείο, είστε έτοιμοι να ενσωματώσετε το Payment Web Component στον ιστότοπό σας και να το εμφανίσετε στον χρήστη.

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

Όσον αφορά την ενσωμάτωση, αυτό είναι όλο ό,τι χρειάζεται να κάνετε. Όλη η βαριά δουλειά γίνεται από το TripPay από εδώ και πέρα.