Agentiske betalinger
Du kan søge efter et hotel, vælge et værelse og fuldføre din booking gennem din AI-agent. Forbind den til Wink og en betalingswallet, og fortæl den, hvor du vil bo. Wink bruger Machine Payments Protocol (MPP) til at acceptere wallet-betalingen og returnere din bookingbekræftelse.
1. Forbind MCP-serverne
Sektion kaldt “1. Forbind MCP-serverne”For den komplette bookingproces har din agent brug for Wink Booking Engine og en betalingswallet.
| Forbindelse | Hvad den gør | Hvordan man tilføjer den |
|---|---|---|
| Wink Booking Engine — påkrævet | Finder destinationer, søger hoteller og værelsespriser, giver tilbud og bekræfter bookinger samt henter dine bookinger og kvitteringer. | Tilføj https://api.wink.travel/mcp/booking-engine som en fjern HTTP MCP-server. |
| Betalingswallet — påkrævet for betaling | Leverer betalingsoplysninger efter du har godkendt købet. | Forbind en wallet, der understøtter Stripe Shared Payment Tokens. Se Link-eksemplet nedenfor. |
| Wink Reference — valgfri | Opslag af lande, valutaer og andre referenceoplysninger. | https://api.wink.travel/mcp/reference |
| Wink Docs — valgfri | Hjælper din agent med at læse dokumentation og API-kontrakter. | https://docs.mcp.wink.travel/mcp |
Booking Engine MCP inkluderer allerede de nødvendige værktøjer til rejsebookingsflowet, når agentisk booking og betaling er aktiveret for det miljø. Winks separate Payment MCP er til finansielle operationer som regnskaber og udbetalinger; den er ikke nødvendig for at betale for et værelse.
Log ind og vælg tilladelser
Sektion kaldt “Log ind og vælg tilladelser”- Åbn din agents MCP- eller connector-indstillinger og tilføj Booking Engine-URL’en ovenfor. Giv den et navn som Wink Booking.
- Din agent åbner Wink-login-siden i din browser. Log ind med den Wink-konto, du vil booke under.
- På samtykkeskærmen vælger du de tilladelser, din agent har brug for, og godkender forbindelsen.
- Vend tilbage til din agent. Den indlæser de tilgængelige værktøjer og håndterer autentificering for efterfølgende MCP-kald.
For dette flow skal du vælge:
| Tilladelse | Hvorfor den er nødvendig |
|---|---|
AI-agent adgang (mcp.read) | Giver din agent mulighed for at forbinde til Wink MCP. |
Marketing læsning (marketing.read) | Lader agenten finde din kontos bookingkonfiguration, kaldet en customization. Din konto skal også have adgang til den konfiguration. |
Betalingsskrivning (payment.write) | Lader agenten betale for tilbuddet og bekræfte bookingen. |
Behold de login-tilladelser, som forbindelsen anmoder om. Din MCP-klient håndterer adgangstokens; du behøver ikke kopiere et token ind i chatten eller sætte anmodningsheaders. Hvis du har sprunget en nødvendig tilladelse over, skal du genforbinde via din klients login-flow og godkende den.
Forbind en betalingswallet
Sektion kaldt “Forbind en betalingswallet”For Stripe-betalinger er en mulighed Links agentwallet. Hvis din klient understøtter lokale MCP-servere, og Node.js er installeret, tilføj denne post til dens MCP-konfiguration:
{ "mcpServers": { "link": { "command": "npx", "args": ["@stripe/link-cli", "--mcp"] } }}Bed din agent om at forbinde din Link-konto, følg derefter verifikationslinket, den giver, og godkend forbindelsen. Link leverer Shared Payment Token, som bruges til at betale for bookingen. Link understøtter i øjeblikket amerikanske konti; tjek deres forbrugsgrænser før booking. Se Links opsætningsguide og MCP-konfiguration.
Hvis din agent allerede har en kompatibel wallet forbundet, brug den forbindelse. Wallet-opsætning og betalingsgodkendelse er adskilt fra login til Wink.
2. Bed din agent om at finde et værelse
Sektion kaldt “2. Bed din agent om at finde et værelse”For eksempel:
Find et værelse i Bangkok til to voksne fra 15. til 17. januar 2027. Vis mig de tilgængelige muligheder, samlet pris og afbestillingsbetingelser, før jeg vælger.
Din agent kan finde dine tilgængelige Wink-konti og deres bookingkonfigurationer. Hvis du har flere, skal du fortælle den, hvilken den skal bruge. Hvis du booker via et leveret bookingslink eller en konfiguration, skal du i stedet give det til agenten.
Agenten finder derefter din destination, tjekker tilgængelige hoteller og indlæser værelsespriser for dine datoer. Vælg et værelse og bed om et tilbud.
Dette betalingsflow understøtter i øjeblikket ét værelse, prissat i USD, kun for voksne. Et tilbud har en udløbstid. At anmode om et tilbud opkræver dig ikke eller bekræfter en booking.
3. Gennemgå og godkend betaling
Sektion kaldt “3. Gennemgå og godkend betaling”Tjek hotellet, værelset, datoerne, gæsterne, afbestillingsbetingelserne og det tilbudte totalbeløb. Når du er klar, bed din agent om at booke og fuldføre eventuel godkendelse, som din wallet kræver.
Walleten leverer en Stripe Shared Payment Token til at betale for tilbuddet.
Tempo stablecoin-betalinger kommer snart.
Efter betalingen er gennemført, giver din agent dig en bookingbekræftelseskode. Den kan også hente bookingdetaljer og kvittering via Booking Engine MCP.
Hvis betalingen stadig behandles, eller svaret går tabt, lad agenten tjekke samme betalingsforsøg. Den bør genbruge tilbuddet og betalingsoplysningerne i stedet for at starte en anden betaling. Hvis betalingen afvises, bed om et nyt tilbud og gennemgå det, før du prøver igen.
Værktøjsreference for agenter og udviklere
Sektion kaldt “Værktøjsreference for agenter og udviklere”Alle Wink-værktøjer nedenfor er tilgængelige via Booking Engine MCP. MCP-klienten sender automatisk autentificering ved hjælp af de tilladelser, der blev godkendt under login.
| Trin | Værktøjer og adfærd |
|---|---|
| Vælg bookingkontekst | managing_entity_list, derefter customization_get_primary eller customization_search for den valgte konto. Brug en leveret customization, hvis en allerede er kendt. |
| Find en destination | destination_lookup_search_suggestions og destination_lookup_get. |
| Søg hoteller og værelser | inventory_search_city eller inventory_search_geo, derefter property_inventory_get for priser og tilgængelighed. |
| Tilbud på det valgte værelse | agentic_booking_quote. Send værelsesdetaljer i dets request-argument. |
| Betal og bekræft | Få en Shared Payment Token fra den tilknyttede wallet, og kald derefter agentic_booking_pay med request.quoteId og request.spt. Brug samme indloggede Wink-bruger til tilbud og betaling. |
| Hent booking og kvittering | Brug booking_search eller booking_search_list til at finde den bekræftede booking, derefter booking_get og booking_receipt_get med bookingens identifikator. |
Tilbudsanmodningen kræver hotelIdentifier, roomRateIdentifier, checkIn, checkOut, adults, children og customizationIdentifier. Datoer bruger YYYY-MM-DD; checkOut skal følge efter checkIn. Sæt adults til mindst 1 og children til 0.
Tilbuddet returnerer quoteId, amountUsdCents, currency, expiresAt og mppChallenges. Vis USD-cent som dollars: 10000 betyder $100,00.
| Betalingsresultat | Næste trin |
|---|---|
PAYMENT_SUCCEEDED | Gem bookingConfirmationCode og chargeReference. |
IN_PROGRESS | Vent kort og prøv samme tilbud og legitimationsoplysninger igen. |
DECLINED | Anmod om et nyt tilbud og gennemgå det, før du prøver at betale igen. |
Et vellykket forsøg returnerer den eksisterende booking uden at opkræve igen. Behandl en timeout som et ukendt resultat og prøv samme betaling igen. Hvis det forbliver uafklaret, kontakt support med tilbuds-ID’et.
Betalingsbevidste MCP-klienter
Sektion kaldt “Betalingsbevidste MCP-klienter”Betalingsbevidste MCP-klienter kan bruge agentic_booking_book med værelsefelterne direkte i arguments. Det første kald returnerer fejl -32042 med betalingsudfordringer. Prøv samme kald igen med wallet-legitimationsoplysninger i params._meta["org.paymentauth/credential"]; succes inkluderer result._meta["org.paymentauth/receipt"]. Fejl -32043 indeholder en betalingsfejl og udfordring: en definitiv afvisning kræver et nyt tilbud, mens en ufuldstændig betalingspayload kan prøves igen med samme udfordring. For -32603 betyder data.failure.reason af payment-in-progress eller already-consumed, at samme legitimationsoplysninger kan prøves igen; fejlkoden alene er ikke nok.
Book via REST
Sektion kaldt “Book via REST”Brug REST, når du bygger en integration, der kalder Wink direkte over HTTP. Både tilbud og betaling bruger POST https://api.wink.travel/api/mpp/booking.
Din applikation skal have et Wink brugeradgangstoken med payment.write-tilladelse for at betale. Brug samme bruger til begge kald. Send token i Wink-Authorization, så Authorization er tilgængelig for walletens betalingslegitimationsoplysninger. Disse headers gælder for REST; en MCP-klient håndterer sin egen autentificering.
1. Anmod om et tilbud
Sektion kaldt “1. Anmod om et tilbud”Gem det valgte værelse som booking.json, og erstat eksempelidentifikatorerne og datoerne med dit valg. Værelsesfelterne går direkte i JSON-body’en uden en request-wrapper.
{ "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"}Sæt WINK_ACCESS_TOKEN til brugerens adgangstoken og send anmodningen:
curl -i https://api.wink.travel/api/mpp/booking \ -H "Wink-Authorization: Bearer $WINK_ACCESS_TOKEN" \ -H 'Content-Type: application/json' \ --data-binary @booking.jsonWink returnerer 402 Payment Required med en WWW-Authenticate: Payment ...-udfordring for hver tilbudt metode. JSON-body’en indeholder quoteId, amount, currency, expiresAt og methods. Her er amount en streng i USD-cent: "10000" betyder $100,00. Gennemgå tilbuddet før udløb; der er endnu ikke trukket nogen betaling.
2. Betal og bekræft
Sektion kaldt “2. Betal og bekræft”Lad wallet’en opfylde den returnerede Stripe-udfordring ved at levere en Shared Payment Token i payload.spt. Brug betalingsoplysningerne fra den udfordring.
Sæt MPP_CREDENTIAL til walletens kodede MPP-legitimationsoplysninger, som indeholder udfordringen og betalingspayloaden. Prøv samme anmodningsbody igen, og behold identitet-headeren:
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.jsonVed succes returnerer Wink 200 OK, en JSON-body med bookingConfirmationCode og en Payment-Receipt-header. Gem bekræftelsen og kvitteringen. Et vellykket forsøg returnerer den eksisterende booking uden at opkræve igen.
Håndter svar og genforsøg
Sektion kaldt “Håndter svar og genforsøg”| Svar | Hvad du skal gøre |
|---|---|
400 | Ret ugyldige værelsesdetaljer eller en forkert formateret legitimationsoplysning. |
401 / 403 | Tjek brugerens autentificering og betalingstilladelse. |
402 | Undersøg det returnerede problem og udfordring. En definitiv betalingsafvisning kræver et nyt tilbud; en ufuldstændig betalingspayload genbruger den oprindelige udfordring. Gennemgå prisen før betaling. |
409 | Betalingsresultatet er uafklaret. Vent kort, og prøv samme body og legitimationsoplysninger igen ved booking-endpointet. |
429 | Vent det antal sekunder, der står i Retry-After, og prøv igen. |
Et 409-svar har en application/problem+json-body. Match dens type mod disse præcise URL’er:
| Problemetype | Betydning |
|---|---|
| https://api.wink.travel/problems/payment-in-progress | Et betalingsforsøg kører stadig, eller afregning kan endnu ikke bekræftes. |
| https://api.wink.travel/problems/already-consumed | Udfordringen eller betalingsbeviset er allerede brugt af et muligvis vellykket forsøg. Dette bekræfter ikke alene bookingen. |
Begge betyder prøv samme betaling igen; betal ikke et nyt tilbud. URL’erne identificerer og dokumenterer problemet; de er ikke betalings- eller polling-endpoints. Prøv POST /api/mpp/booking igen, og brug problemets type frem for den fritekstede detail til at afgøre, hvad der skal gøres. Se problem-type reference for alle Wink betalingsproblemer.
En timeout, tabt svar eller serverfejl efter betaling kan også efterlade resultatet ukendt. Prøv samme betalingsanmodning igen. Hvis resultatet forbliver uafklaret, kontakt support med tilbuds-ID’et, før du starter en ny betaling.
