Ενσωμάτωση με το TripPay
Αυτό το άρθρο περιέχει ένα ολοκληρωμένο παράδειγμα για τον τρόπο ενσωμάτωσης με το TripPay.
Συνιστάται να έχετε ήδη διαβάσει:
- Πληρωμή > Χαρτογράφηση.
- Πληρωμή > Ενσωμάτωση.
- Στοιχείο Ιστού Πληρωμών.
- API πληρωμών.Διαβάστε την ενότητα σχετικά με
Create payable contracts
Ακολουθούν τα βήματα για να χρησιμοποιήσετε με επιτυχία το TripPay για να πληρώσετε για μια κράτηση:
- Βεβαιωθείτε ότι οι δικαιούχοι που αναφέρετε στη σύμβαση κράτησης έχουν χαρτογραφηθεί.
- Αφήστε τον ταξιδιώτη να επιλέξει το απόθεμα που θέλει να κάνει κράτηση και να είναι έτοιμος να πληρώσει.
- Δημιουργήστε ένα
payable contract
με το TripPay που περιέχει τα είδη προς κράτηση. - Αφήστε τον ταξιδιώτη να πληρώσει χρησιμοποιώντας το TripPay Web Component.
Υποθέτουμε ότι έχετε ήδη ολοκληρώσειStep 1
καιStep 2
και είστε έτοιμοι να ενημερώσετε την TripPay για την κράτηση.
Δημιουργία πληρωτέας σύμβασης
Section titled “Δημιουργία πληρωτέας σύμβασης”:::σημείωση Μεταβείτε στο Payment API για να μάθετε περισσότερα σχετικά με τις απαιτήσεις για τη δημιουργία μιας πληρωτέας σύμβασης. :::
Αίτηση
Section titled “Αίτηση”Ακολουθεί ένα δείγμα αιτήματος JSON που περιλαμβάνει όλα όσα χρειάζεστε για να δημιουργήσετε για το πρώτο σας πληρωτέα συμβόλαιο.
{ "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" } ] } ] } ]}
Εξήγηση:
Δεν θα εξηγήσουμε εδώ κάθε σημείο δεδομένων, καθώς καλύπτονται ήδη στα έγγραφα του 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% στον δικό της δικαιούχο. :::
Απάντηση
Section titled “Απάντηση”Όταν το 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.
Ενσωμάτωση TripPay
Section titled “Ενσωμάτωση TripPay”:::σημείωση Βεβαιωθείτε ότι έχετε φορτώσει τα στυλ και την Javascript μας εκ των προτέρων. :::
Σε αυτό το σημείο, είστε έτοιμοι να ενσωματώσετε τοPayment Web Component
στον ιστότοπό σας και δείξτε το στον χρήστη.
<trip-pay id="contract-1"></trip-pay>
Όσον αφορά την ενσωμάτωση, αυτό είναι το μόνο που χρειάζεται να κάνετε. Όλη η δύσκολη δουλειά γίνεται από την TripPay από εδώ και στο εξής.