What happens
You hold the card to the reader, the charger beeps or blinks red and doesn't start. Underneath, the charger sent an Authorize with the card number and the platform answered Invalid, Blocked or Expired, or it never got asked at all.
Check it in two minutes
Connect the charger to the test server and tap the card: it shows you the exact number the charger sends, which is the one you have to register. Any card is accepted there, so if it starts there and not on your platform, the problem is the registration. Open the OCPP test server →
The causes, most likely first
1. The number the charger reads isn't the one you registered
The same card can come out as 04A1B2C3, 04a1b2c3, C3B2A104 (bytes reversed) or in decimal, depending on the reader. The number printed on the card often isn't the UID at all. The platform compares the exact text.
How to fix it: Don't copy the number off the card: tap it on the charger and register exactly what arrives in the Authorize.
2. The card isn't in that account, or it's blocked or expired
Invalid means “I don't know it”; Blocked and Expired mean “I know it but it can't charge”. Some platforms also block a prepaid card with no balance.
How to fix it: Check on the platform that the card is registered in the same account as the charger, active, and not past its expiry date.
3. There's no network and the charger doesn't know what to do without it
Offline, the charger can only decide with its local list or its cache. In OCPP 1.6, if LocalAuthorizeOffline is false, the local list isn't used offline even if it's loaded.
How to fix it: Send the list with SendLocalList, check it arrived with GetLocalListVersion, and set LocalAuthorizeOffline=true.
4. The charger hasn't been accepted on the platform yet
A charger that connects but nobody has registered has no confirmed owner, so there's no tariff and no account to bill: serious platforms reject its cards.
How to fix it: Register or accept the charger first; the card will work afterwards without touching anything else.
5. The number is too long
In OCPP 1.6 the idTag allows 20 characters at most. Some long-UID cards and fobs, written in hex, go over, and the message breaks the schema.
How to fix it: Check what arrives in the Authorize; if it's over 20 characters, the manufacturer has to shorten it or use another format.
What askacharge.com does
Cards are registered per brand, with the exact number the charger sends, and can be tied to a customer with their own tariff. A card from another brand in the network is authorised through the Hub if its owner has a saved payment card, and a prepaid card with no balance answers Blocked instead of charging for free.
Frequently asked questions
Why does my OCPP charger say Invalid when I tap the card?
Because the platform doesn't recognise that number in that account. Most often the registered number isn't exactly what the charger reads (case, byte order, decimal versus hex).
Does the RFID card work if the charger loses internet?
Only if the charger has the card in its local list or cache and is set to use it offline (in OCPP 1.6, LocalAuthorizeOffline=true).