Πληρωμές Agentic
Μπορείτε να αναζητήσετε ένα ξενοδοχείο, να επιλέξετε δωμάτιο και να ολοκληρώσετε την κράτησή σας μέσω του AI agent σας. Συνδέστε το με το Wink και ένα πορτοφόλι πληρωμών, και πείτε του πού θέλετε να μείνετε. Το Wink χρησιμοποιεί το Machine Payments Protocol (MPP) για να αποδεχτεί την πληρωμή από το πορτοφόλι και να επιστρέψει την επιβεβαίωση της κράτησής σας.
1. Συνδέστε τους MCP servers
Ενότητα με τίτλο «1. Συνδέστε τους MCP servers»Για την πλήρη ροή κράτησης, ο agent σας χρειάζεται Wink Booking Engine και ένα πορτοφόλι πληρωμών.
| Σύνδεση | Τι κάνει | Πώς να το προσθέσετε |
|---|---|---|
| Wink Booking Engine — απαιτείται | Βρίσκει προορισμούς, αναζητά ξενοδοχεία και τιμές δωματίων, προσφέρει και επιβεβαιώνει κρατήσεις, και ανακτά τις κρατήσεις και αποδείξεις σας. | Προσθέστε το https://api.wink.travel/mcp/booking-engine ως απομακρυσμένο HTTP MCP server. |
| Πορτοφόλι πληρωμών — απαιτείται για πληρωμή | Παρέχει διαπιστευτήρια πληρωμής μετά την έγκριση της αγοράς. | Συνδέστε ένα πορτοφόλι που υποστηρίζει Stripe Shared Payment Tokens. Δείτε το παράδειγμα Link παρακάτω. |
| Wink Reference — προαιρετικό | Αναζητά χώρες, νομίσματα και άλλα δεδομένα αναφοράς. | https://api.wink.travel/mcp/reference |
| Wink Docs — προαιρετικό | Βοηθά τον agent σας να διαβάσει τεκμηρίωση και συμβόλαια API. | https://docs.mcp.wink.travel/mcp |
Το Booking Engine MCP περιλαμβάνει ήδη τα εργαλεία που χρειάζονται για τη ροή κράτησης ταξιδιώτη, όταν η agentic κράτηση και πληρωμή είναι ενεργοποιημένες για το περιβάλλον αυτό. Το ξεχωριστό Payment MCP του Wink είναι για χρηματοοικονομικές λειτουργίες όπως καθολικά και αναλήψεις· δεν χρειάζεται για την πληρωμή δωματίου.
Συνδεθείτε και επιλέξτε δικαιώματα
Ενότητα με τίτλο «Συνδεθείτε και επιλέξτε δικαιώματα»- Ανοίξτε τις ρυθμίσεις MCP ή connector του agent σας και προσθέστε το URL του Booking Engine παραπάνω. Δώστε του ένα όνομα όπως Wink Booking.
- Ο agent σας ανοίγει τη σελίδα σύνδεσης του Wink στον browser σας. Συνδεθείτε με τον λογαριασμό Wink που θέλετε να κάνετε κράτηση.
- Στην οθόνη συγκατάθεσης, επιλέξτε τα δικαιώματα που χρειάζεται ο agent σας και εγκρίνετε τη σύνδεση.
- Επιστρέψτε στον agent σας. Φορτώνει τα διαθέσιμα εργαλεία και διαχειρίζεται την αυθεντικοποίηση για τις επόμενες κλήσεις MCP.
Για αυτή τη ροή, επιλέξτε:
| Δικαίωμα | Γιατί χρειάζεται |
|---|---|
Πρόσβαση AI agent (mcp.read) | Επιτρέπει στον agent να συνδεθεί με το Wink MCP. |
Ανάγνωση marketing (marketing.read) | Επιτρέπει στον agent να βρει τη διαμόρφωση κράτησης του λογαριασμού σας, που ονομάζεται customization. Ο λογαριασμός σας πρέπει επίσης να έχει πρόσβαση σε αυτή τη διαμόρφωση. |
Εγγραφή πληρωμής (payment.write) | Επιτρέπει στον agent να πληρώσει για την προσφορά και να επιβεβαιώσει την κράτηση. |
Διατηρήστε τα δικαιώματα σύνδεσης που ζητά η σύνδεση. Ο MCP client σας διαχειρίζεται τα access tokens· δεν χρειάζεται να αντιγράψετε κάποιο token σε chat ή να ορίσετε headers αιτήματος. Αν παραλείψατε κάποιο απαραίτητο δικαίωμα, επανασυνδεθείτε μέσω της ροής σύνδεσης του client σας και εγκρίνετέ το.
Συνδέστε ένα πορτοφόλι πληρωμών
Ενότητα με τίτλο «Συνδέστε ένα πορτοφόλι πληρωμών»Για πληρωμές Stripe, μια επιλογή είναι το πορτοφόλι agent του Link. Αν ο client σας υποστηρίζει τοπικούς MCP servers και είναι εγκατεστημένο το Node.js, προσθέστε αυτή την εγγραφή στη διαμόρφωση MCP του:
{ "mcpServers": { "link": { "command": "npx", "args": ["@stripe/link-cli", "--mcp"] } }}Ζητήστε από τον agent σας να συνδέσει τον λογαριασμό Link σας, στη συνέχεια ακολουθήστε τον σύνδεσμο επαλήθευσης που παρέχει και εγκρίνετε τη σύνδεση. Το Link παρέχει το Shared Payment Token που χρησιμοποιείται για την πληρωμή της κράτησης. Το Link υποστηρίζει προς το παρόν λογαριασμούς ΗΠΑ· ελέγξτε τα όρια δαπανών πριν κάνετε κράτηση. Δείτε τον οδηγό ρύθμισης του Link και τη διαμόρφωση MCP.
Αν ο agent σας έχει ήδη συνδεδεμένο συμβατό πορτοφόλι, χρησιμοποιήστε αυτή τη σύνδεση. Η ρύθμιση πορτοφολιού και η έγκριση πληρωμής είναι ξεχωριστές από τη σύνδεση στο Wink.
2. Ζητήστε από τον agent σας να βρει δωμάτιο
Ενότητα με τίτλο «2. Ζητήστε από τον agent σας να βρει δωμάτιο»Για παράδειγμα:
Βρες ένα δωμάτιο στην Μπανγκόκ για δύο ενήλικες από 15 έως 17 Ιανουαρίου 2027. Δείξε μου τις διαθέσιμες επιλογές, τη συνολική τιμή και τους όρους ακύρωσης πριν επιλέξω.
Ο agent σας μπορεί να βρει τους προσβάσιμους λογαριασμούς Wink και τις διαμορφώσεις κράτησής τους. Αν έχετε πολλούς, πείτε του ποιον να χρησιμοποιήσει. Αν κάνετε κράτηση μέσω παρεχόμενου συνδέσμου κράτησης ή διαμόρφωσης, δώστε αυτόν στον agent.
Στη συνέχεια, ο agent επιλύει τον προορισμό σας, ελέγχει διαθέσιμα ξενοδοχεία και φορτώνει τιμές δωματίων για τις ημερομηνίες σας. Επιλέξτε δωμάτιο και ζητήστε προσφορά.
Αυτή η ροή πληρωμής υποστηρίζει προς το παρόν ένα δωμάτιο, τιμολογημένο σε USD, μόνο για ενήλικες. Μια προσφορά έχει χρόνο λήξης. Η αίτηση προσφοράς δεν χρεώνει ούτε επιβεβαιώνει κράτηση.
3. Ελέγξτε και εγκρίνετε την πληρωμή
Ενότητα με τίτλο «3. Ελέγξτε και εγκρίνετε την πληρωμή»Ελέγξτε το ξενοδοχείο, το δωμάτιο, τις ημερομηνίες, τους επισκέπτες, τους όρους ακύρωσης και το συνολικό ποσό της προσφοράς. Όταν είστε έτοιμοι, ζητήστε από τον agent να κάνει την κράτηση και να ολοκληρώσει οποιαδήποτε έγκριση ζητηθεί από το πορτοφόλι σας.
Το πορτοφόλι παρέχει ένα Stripe Shared Payment Token για την πληρωμή της προσφοράς.
Πληρωμές με Tempo stablecoin έρχονται σύντομα.
Μετά την επιτυχή πληρωμή, ο agent σας δίνει έναν κωδικό επιβεβαίωσης κράτησης. Μπορεί επίσης να ανακτήσει τις λεπτομέρειες της κράτησης και την απόδειξη μέσω του Booking Engine MCP.
Αν η πληρωμή βρίσκεται σε επεξεργασία ή η απάντηση έχει χαθεί, αφήστε τον agent να ελέγξει την ίδια προσπάθεια πληρωμής. Πρέπει να επαναχρησιμοποιήσει την προσφορά και το διαπιστευτήριο πληρωμής αντί να ξεκινήσει δεύτερη πληρωμή. Αν η πληρωμή απορριφθεί, ζητήστε νέα προσφορά και ελέγξτε την πριν δοκιμάσετε ξανά.
Αναφορά εργαλείων για agents και προγραμματιστές
Ενότητα με τίτλο «Αναφορά εργαλείων για agents και προγραμματιστές»Όλα τα εργαλεία Wink παρακάτω είναι διαθέσιμα μέσω του Booking Engine MCP. Ο MCP client στέλνει αυτόματα την αυθεντικοποίηση χρησιμοποιώντας τα δικαιώματα που εγκρίθηκαν κατά τη σύνδεση.
| Βήμα | Εργαλεία και συμπεριφορά |
|---|---|
| Επιλογή πλαισίου κράτησης | managing_entity_list, μετά customization_get_primary ή customization_search για τον επιλεγμένο λογαριασμό. Χρησιμοποιήστε παρεχόμενη customization όταν είναι ήδη γνωστή. |
| Εύρεση προορισμού | destination_lookup_search_suggestions και destination_lookup_get. |
| Αναζήτηση ξενοδοχείων και δωματίων | inventory_search_city ή inventory_search_geo, μετά property_inventory_get για τιμές και διαθεσιμότητα. |
| Προσφορά για το επιλεγμένο δωμάτιο | agentic_booking_quote. Περνάτε λεπτομέρειες δωματίου μέσα στο όρισμα request. |
| Πληρωμή και επιβεβαίωση | Λάβετε Shared Payment Token από το συνδεδεμένο πορτοφόλι, μετά καλέστε agentic_booking_pay με request.quoteId και request.spt. Κρατήστε τον ίδιο συνδεδεμένο χρήστη Wink για προσφορά και πληρωμή. |
| Ανάκτηση κράτησης και απόδειξης | Χρησιμοποιήστε booking_search ή booking_search_list για να βρείτε την επιβεβαιωμένη κράτηση, μετά booking_get και booking_receipt_get με το αναγνωριστικό κράτησης. |
Το αίτημα προσφοράς χρειάζεται hotelIdentifier, roomRateIdentifier, checkIn, checkOut, adults, children και customizationIdentifier. Οι ημερομηνίες χρησιμοποιούν YYYY-MM-DD· το checkOut πρέπει να ακολουθεί το checkIn. Ορίστε adults τουλάχιστον σε 1 και children σε 0.
Η προσφορά επιστρέφει quoteId, amountUsdCents, currency, expiresAt και mppChallenges. Εμφανίστε τα σεντ USD ως δολάρια: 10000 σημαίνει $100.00.
| Αποτέλεσμα πληρωμής | Επόμενο βήμα |
|---|---|
PAYMENT_SUCCEEDED | Αποθηκεύστε bookingConfirmationCode και chargeReference. |
IN_PROGRESS | Περιμένετε λίγο και δοκιμάστε ξανά την ίδια προσφορά και διαπιστευτήριο. |
DECLINED | Ζητήστε νέα προσφορά και ελέγξτε την πριν από άλλη πληρωμή. |
Μια επιτυχημένη επανάληψη επιστρέφει την υπάρχουσα κράτηση χωρίς επιπλέον χρέωση. Θεωρήστε το timeout ως άγνωστο αποτέλεσμα και δοκιμάστε ξανά την ίδια πληρωμή. Αν παραμένει άλυτο, επικοινωνήστε με την υποστήριξη με το ID της προσφοράς.
MCP clients με υποστήριξη πληρωμών
Ενότητα με τίτλο «MCP clients με υποστήριξη πληρωμών»Οι MCP clients με υποστήριξη πληρωμών μπορούν να χρησιμοποιήσουν agentic_booking_book με τα πεδία δωματίου απευθείας στα arguments. Η πρώτη κλήση επιστρέφει σφάλμα -32042 με προκλήσεις πληρωμής. Δοκιμάστε ξανά την ίδια κλήση με το διαπιστευτήριο πορτοφολιού στο params._meta["org.paymentauth/credential"]· η επιτυχία περιλαμβάνει result._meta["org.paymentauth/receipt"]. Το σφάλμα -32043 φέρει αποτυχία πληρωμής και πρόκληση: μια οριστική απόρριψη χρειάζεται νέα προσφορά, ενώ ένα ελλιπές payload πληρωμής μπορεί να ξαναδοκιμάσει με την ίδια πρόκληση. Για -32603, το data.failure.reason με τιμές payment-in-progress ή already-consumed σημαίνει επανάληψη με το ίδιο διαπιστευτήριο· ο κωδικός σφάλματος μόνος δεν αρκεί.
Κράτηση μέσω REST
Ενότητα με τίτλο «Κράτηση μέσω REST»Χρησιμοποιήστε REST όταν φτιάχνετε ενσωμάτωση που καλεί το Wink απευθείας μέσω HTTP. Τόσο η προσφορά όσο και η πληρωμή χρησιμοποιούν POST https://api.wink.travel/api/mpp/booking.
Η εφαρμογή σας χρειάζεται Wink user access token με δικαίωμα payment.write για να πληρώσει. Κρατήστε τον ίδιο χρήστη και για τις δύο κλήσεις. Στείλτε το token στο Wink-Authorization, αφήνοντας το Authorization διαθέσιμο για το διαπιστευτήριο πληρωμής του πορτοφολιού. Αυτά τα headers ισχύουν για REST· ένας MCP client διαχειρίζεται τη δική του αυθεντικοποίηση.
1. Ζητήστε προσφορά
Ενότητα με τίτλο «1. Ζητήστε προσφορά»Αποθηκεύστε το επιλεγμένο δωμάτιο ως booking.json, αντικαθιστώντας τα παραδείγματα αναγνωριστικών και ημερομηνιών με την επιλογή σας. Τα πεδία δωματίου πηγαίνουν απευθείας στο σώμα JSON, χωρίς wrapper request.
{ "hotelIdentifier": "YOUR_HOTEL_ID", "roomRateIdentifier": "YOUR_ROOM_RATE_ID", "checkIn": "2027-01-15", "checkOut": "2027-01-17", "adults": 2, "children": 0, "customizationIdentifier": "YOUR_CUSTOMIZATION_ID"}Ορίστε το WINK_ACCESS_TOKEN στο access token του χρήστη και στείλτε το αίτημα:
curl -i https://api.wink.travel/api/mpp/booking \ -H "Wink-Authorization: Bearer $WINK_ACCESS_TOKEN" \ -H 'Content-Type: application/json' \ --data-binary @booking.jsonΤο Wink επιστρέφει 402 Payment Required με πρόκληση WWW-Authenticate: Payment ... για κάθε προσφερόμενη μέθοδο. Το σώμα JSON περιλαμβάνει quoteId, amount, currency, expiresAt και methods. Εδώ, το amount είναι συμβολοσειρά σε σεντ USD: "10000" σημαίνει $100.00. Ελέγξτε την προσφορά πριν λήξει· δεν έχει γίνει ακόμα πληρωμή.
2. Πληρώστε και επιβεβαιώστε
Ενότητα με τίτλο «2. Πληρώστε και επιβεβαιώστε»Αφήστε το πορτοφόλι να εκπληρώσει την επιστρεφόμενη πρόκληση Stripe παρέχοντας Shared Payment Token στο payload.spt. Χρησιμοποιήστε τα στοιχεία πληρωμής από την πρόκληση.
Ορίστε το MPP_CREDENTIAL στο κωδικοποιημένο MPP διαπιστευτήριο του πορτοφολιού, που περιέχει την πρόκληση και το payload πληρωμής. Δοκιμάστε ξανά το ίδιο σώμα αιτήματος, κρατώντας το header ταυτότητας:
curl -i https://api.wink.travel/api/mpp/booking \ -H "Wink-Authorization: Bearer $WINK_ACCESS_TOKEN" \ -H "Authorization: Payment $MPP_CREDENTIAL" \ -H 'Content-Type: application/json' \ --data-binary @booking.jsonΣε επιτυχία, το Wink επιστρέφει 200 OK, σώμα JSON με bookingConfirmationCode και header Payment-Receipt. Αποθηκεύστε την επιβεβαίωση και την απόδειξη. Μια επιτυχημένη επανάληψη επιστρέφει την υπάρχουσα κράτηση χωρίς επιπλέον χρέωση.
Διαχείριση απαντήσεων και επαναλήψεων
Ενότητα με τίτλο «Διαχείριση απαντήσεων και επαναλήψεων»| Απόκριση | Τι να κάνετε |
|---|---|
400 | Διορθώστε λανθασμένες λεπτομέρειες δωματίου ή κακομορφωμένο διαπιστευτήριο. |
401 / 403 | Ελέγξτε την αυθεντικοποίηση χρήστη και το δικαίωμα πληρωμής. |
402 | Εξετάστε το επιστρεφόμενο πρόβλημα και την πρόκληση. Μια οριστική απόρριψη πληρωμής απαιτεί νέα προσφορά· ένα ελλιπές payload πληρωμής επαναχρησιμοποιεί την αρχική πρόκληση. Ελέγξτε την τιμή πριν πληρώσετε. |
409 | Το αποτέλεσμα πληρωμής είναι άλυτο. Περιμένετε λίγο και δοκιμάστε ξανά το ίδιο σώμα και διαπιστευτήριο στο endpoint κράτησης. |
429 | Περιμένετε τον αριθμό δευτερολέπτων που αναγράφεται στο Retry-After, μετά δοκιμάστε ξανά. |
Μια απόκριση 409 έχει σώμα application/problem+json. Αντιστοιχίστε το type της με αυτές τις ακριβείς διευθύνσεις URL:
| Τύπος προβλήματος | Σημασία |
|---|---|
| https://api.wink.travel/problems/payment-in-progress | Μια προσπάθεια πληρωμής είναι ακόμα σε εξέλιξη ή η εκκαθάριση δεν έχει επιβεβαιωθεί. |
| https://api.wink.travel/problems/already-consumed | Η πρόκληση ή η απόδειξη πληρωμής έχει ήδη χρησιμοποιηθεί από πιθανώς επιτυχημένη προσπάθεια. Αυτό από μόνο του δεν επιβεβαιώνει την κράτηση. |
Και τα δύο σημαίνουν δοκιμάστε ξανά την ίδια πληρωμή· μην πληρώσετε νέα προσφορά. Οι διευθύνσεις URL προσδιορίζουν και τεκμηριώνουν το πρόβλημα· δεν είναι endpoints πληρωμής ή polling. Δοκιμάστε ξανά POST /api/mpp/booking και χρησιμοποιήστε τον τύπο προβλήματος αντί για το ελεύθερο κείμενο detail για να αποφασίσετε τι να κάνετε. Δείτε την αναφορά τύπων προβλημάτων για όλα τα προβλήματα πληρωμών Wink.
Ένα timeout, χαμένη απόκριση ή σφάλμα server μετά την υποβολή πληρωμής μπορεί επίσης να αφήσει το αποτέλεσμα άγνωστο. Δοκιμάστε ξανά το ίδιο αίτημα πληρωμής. Αν το αποτέλεσμα παραμένει άλυτο, επικοινωνήστε με την υποστήριξη με το ID της προσφοράς πριν ξεκινήσετε άλλη πληρωμή.
