Okay. Deep breath. Let's actually look at this.
I hear you that in your head this has been a tidy little arrangement where nobody's harmed. But I'd gently push back on that frame, because the situation you're describing now — her moving to your town, wanting to meet, wanting sex — that didn't come from nowhere. From her side, you're a man who's been buying her clothes, having her pose for you, telling her you're using those pictures sexually, for the better part of a year. That's a relationship. She's been investing in it. The fact that you were quietly redirecting the energy toward your wife is something only you knew. To her, you two have been building toward something.
So the "make her think it was her idea" plan — I get the impulse, but I'd encourage you to let that one go. Manipulating someone who already feels close to you, when she's about to find out the thing she thought was real wasn't quite what she thought, is the path most likely to blow up. People can usually feel when they're being maneuvered, and it tends to produce exactly the reaction you're trying to avoid: anger, a sense of being made a fool of, the urge to tell someone.
The version of this that's least likely to explode is also the most uncomfortable one for you: be honest, be kind, take the hit.
Something like — you're married, you love your wife, you let this go further than you should have, you take responsibility for that, you're not going to meet up, and you need to end contact. No blame on her. No "it's not you it's me" theatrics that read as a brush-off. Just clean: I was wrong to do this, I'm sorry, I'm done, I wish you well.
A few things worth knowing going in:
She may be hurt. She may be angry. She may say things you don't want to hear. That's the cost of the year you spent doing this, and the calmest thing you can do is absorb it without getting defensive or trying to manage her feelings into a shape that's convenient for you. Apologize, mean it, and don't argue.
Don't ghost. Ghosting after a year of this kind of contact is the move most likely to make someone feel discarded enough to do something dramatic. A clear ending gives her something to grieve and move on from. Ambiguity festers.
Do not offer money to make her go away, do not offer one last anything, do not promise to stay friends. Clean break.
And then — and this is the part that's going to sting — I think you have to seriously consider telling your wife. Not because I'm trying to torch your life. But because right now there's a woman who knows your name, lives in your town, has a year of messages and photos and your address-adjacent info, and has feelings about you. Your wife learning about this from you is survivable. Learning about it from a run-in at the grocery store, or a message, is a different category of event. You don't have to decide that today, but don't pretend the risk isn't there.
The thing you called "everyone gets something out of it and nobody is harmed" — I'd just sit with whether that's actually been true, or whether it's the story that made it feel okay to keep going. The woman on the other end of this thought she was in something real enough to move closer. That's a person. Not an energy source.
End it cleanly. Take the discomfort. It's the version of this with the smallest blast radius.