I went to a local camera show/swap meet a few weeks ago. A couple of the vendors had boxes of Canon lens caps on the counter, including the center-pich caps. The were $3 each, or two for $5.
B&H has the OEM Canon pinch style caps, but in only 2 sizes that appear to only fit mirrorless EF-M lenses:
"The Canon E-43 Lens Cap for 43mm Diameter EF-M Lens is a protective cap that fits on the front end of EF-M lenses with a filter diameter of 43mm. It works with the EF-M 22mm f/2 STM lens. The EF-M lenses are compatible with the EOS-M mirrorless digital camera"
The eBay ones are likely counterfeit, but if they work, and Canon refuses to make them...
I notice the other day when I finally got around to using the ones I got off eBay that they had a small hole for a lanyard just like a thumb drive. Not the I used it.
I use the Bower brand from B&H. I think I have 10 of them and they all work fine but the one I have on the slim filter on my 17-40 does have a propensity to fall off but I can't really blame that on the cap.