How to Add Any Boarding Pass to Google Wallet
You check in the night before on your laptop. The airline gives you a PDF and no “Add to Google Wallet” button anywhere. So at the airport you are the person scrolling through email attachments in the security line. Upload that PDF here instead and get a real wallet pass back — with the boarding zone, gate, seat and boarding time on it. 150 sats per pass, no account, no card, no signup.
Why the manual trick loses your boarding zone
Plenty of airlines never offer a wallet button on web check-in. Air Canada is the one we hit first: check in on a laptop and all you get is a PDF. The workaround everyone knows is to open the pass on your laptop, display the barcode big on screen, then scan it with your phone camera so Google offers to save it. Several steps across two screens, at the exact moment you least want them.
And after all that, the pass you end up with is incomplete. Here is the reason, and it is worth knowing. The barcode on a boarding pass follows the IATA BCBP standard, Resolution 792. That standard defines exactly what the barcode carries: passenger name, booking reference, flight number, date, seat and cabin. It does not carry the boarding zone, the gate, or the boarding time.
Those three fields live only as printed text on the face of the pass. So when you scan the barcode and nothing else, they are simply not there to be read. That is not a bug in Google Wallet. It is what the barcode contains.
- Passenger name
- Booking reference (PNR)
- Flight number and date
- Origin and destination
- Seat and cabin
- Boarding zone
- Gate
- Boarding time
- Terminal
A barcode-only scan drops all of these.
What this service does instead
It reads both halves of your boarding pass. The barcode, for the flight data and the signature. And the printed text, for the zone, gate, terminal and boarding time that the barcode never held. Then it builds one wallet pass out of the two, so what lands on your phone is the whole pass, not a partial one.
- The barcode is copied byte for byte. Nothing is regenerated. Many carriers digitally sign the barcode and the TSA verifies that signature on US routes, so a re-encoded barcode would be a real problem. This one is the airline’s original bytes, signature intact.
- Verified at real gates. We tested it on actual Air Canada flights in both directions. Priority security and lounge access worked too, because the business-class cabin code rides along inside the untouched barcode.
- The whole family in one upload. Drop in several files, or one file with several passengers on it. You get one save link per passenger, plus a single link that adds everybody at once.
- PDF or a photo. The airline’s PDF works best, but a clear screenshot or a photo of a printed pass works too.
How it works
Four steps, about a minute
Read this before you rely on it
The wallet pass is a static copy. It is a snapshot of what your boarding pass said at the moment you converted it. If the airline changes your gate or moves the departure time, the pass will not update itself. Check the departure boards like you always would, and keep the original boarding pass as backup.
If there is nothing to add, you do not pay
The whole point of this service is the fields the barcode does not carry. So if a pass turns out to hold nothing beyond its barcode, it is not charged at all — a free Google scan would give you the same thing, and charging for that would be dishonest. If you uploaded an image and it yields no extra fields, the sats come back to you as a claimable Lightning refund.
Your boarding pass is not stored
A boarding pass is personal data: your full name, your booking reference, where you are flying and when. Files are processed in memory and never written to disk. The save link is self-contained and expires 30 minutes after it is issued. Add the pass within that window; after that, nothing remains on our side. There is no account to hold your travel history, because there is no account.
For agents and travel automation
Booking bots, itinerary assistants, corporate travel pipelines
No API key needed. The endpoint speaks L402: send the boarding pass, get a 402 with a Lightning invoice, pay it, resend with the proof. An assistant that already watches your inbox for check-in emails can turn the attachment into a wallet pass and hand you the link, with no quota to manage and no signup on your behalf.
# Step 1: Send the boarding pass (returns 402 + invoice)
curl -X POST https://sats4ai.com/api/l402/boardingpass-wallet \
-H "Content-Type: application/json" \
-d '{"documents":["data:application/pdf;base64,<...>"]}'
# Step 2: Pay the Lightning invoice (150 sats per pass)
# Step 3: Resend with payment proof
curl -X POST https://sats4ai.com/api/l402/boardingpass-wallet \
-H "Content-Type: application/json" \
-H "Authorization: L402 <token>:<preimage>" \
-d '{"documents":["data:application/pdf;base64,<...>"]}'
# Response: one save_url per passenger, plus save_all_urlChain with other services
Convert the family's passes, then text each traveler their own save link so nobody has to forward a PDF around.
An assistant picks up the check-in PDF, builds the wallet pass, and emails the add-all link back before you have opened your laptop.
For a faded printout or an awkward photo, run plain OCR first to confirm the pass is legible before spending sats on the conversion.
Get the complete pass on your phone
150 sats per pass. Zone, gate, seat and boarding time included, barcode untouched. All you need is a Lightning wallet.