Ann Wood, 73, bought a concessionary ticket at her local station in Kirkcaldy, Fife, before boarding a 9.25am train for Edinburgh.
She took a seat before an announcement said that concessionary tickets were not valid.
Mrs Wood thought she would be able to pay the £3 difference to travel at full price rate, but a conductor claimed that her ticket was not valid.
She agreed and said she wanted to pay the extra but was told she had to pay for a full-price ticket at £7.60.
At Haymarket station, she was met by two police officers who told her she could either pay in full or they would charge her with fraud.
Mrs Wood said: "I was completely shocked at being faced with a criminal charge and I reluctantly agreed to pay with my card. It was a horrendous experience and I was left feeling shocked and upset."
A ScotRail spokesman said it did its best to help concession card holders and would be happy to address her concerns.