
Decode that!
Check out my feeble attempt of writing my first Javascript*. The script looks into the data of QR codes and shows the content in human-readable format. It understands a bit of generic ASN.1, EMV and some other standards that are built on top of the EMV standards, for instance, QCAT, GCASH Transit and QRPH.
If you have any fare collection or payment QR code, you can find out what data it contains. Please consider sending it to me for further improvement of this little javascript app.
(* I cheated a bit and used Kotlin/Multiplatform, but still …)
You can find the source code on Github.
The State of Fare Collection in the Philipines in 2025
Let’s review what public transport systems are available in the Philippines and how the fare is currently collected.

Manila MRT3 EMV and QR Acceptance - The GCash Commuter QR Code
As reported earlier, on July 25, 2025, MRT-3 in Manila started to accept GCash QR codes directly at the gate, without the need to buy a prepaid ticket.
I have not found reports of first-hand experience with this new feature. All I can talk about here is what I can deduce from the user experience with the GCash application and from comparing the QR code data to the QCAT specification. I cannot say anything about processing until I have tried it myself.
In summary, there does not seem to be much support for interoperability. I would say that the e-wallets may have missed a chance to compete with the payment cards schemes in the AFCS market.

QRPh Part 2 - The EMV Roots
:toc:preamble
Banks and their regulators have been conditioned to believe that EMV is the global standard for card payments. It is therefore not surprising that all domestic QR payment standards, including QRPh, are based on the EMV QR specifications. For this reason, I am covering the design of the EMV specification, before I will go into the QRPh specification in one of the next posts.