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