Skip to content

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

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

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

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

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

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

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

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

:::σημείωση Μεταβείτε στο Payment API για να μάθετε περισσότερα σχετικά με τις απαιτήσεις για τη δημιουργία μιας πληρωτέας σύμβασης. :::

Ακολουθεί ένα δείγμα αιτήματος 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 θα πρέπει να διατεθεί ποιο/ποια ποσό/α από την τιμή του αντικειμένου.Υποστηρίζονται σταθερά / ποσοστιαία ποσά.

:::σημείωση Στο παραπάνω παράδειγμα JSON, έχουμε 3 δικαιούχους:

  • Το 1,5% διατέθηκε στην πλατφόρμα που διευκόλυνε την κράτηση.π.χ. Wink
  • Το 9,85% κατανεμήθηκε στον συνεργάτη ως προμήθεια.π.χ. Κιμ Καρντάσιαν
  • Το 88,65% διατέθηκε στον προμηθευτή για την κράτηση του δωματίου.π.χ. Χίλτον

Όταν η TripPay απαντήσει με μια πληρωτέα σύμβαση, θα παρατηρήσετε ότι έκανε εισφορά 4,0% στον δικό της δικαιούχο. :::

Όταν το 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.

:::σημείωση Βεβαιωθείτε ότι έχετε φορτώσει τα στυλ και την Javascript μας εκ των προτέρων. :::

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

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

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