I have written a contract to mint NFT in solidity. I intend to deploy it to Polygon eventually. There’s a slight confusion, I have put the price in my contract as 0.1 ether which works fine on Rinkeby. When I deploy the same contract on Mumbai Polygon price value 0.1 is deducted but in matic instead of ether. Now this makes sense because ether essentially represents the default coin of deployed chain. My requirement is to ask users to bridge their ethers to Polygon (just like we do for OpenSea) and then pay using ether. How can I force this check that incoming value is in ether otherwise reject transaction?
You will need to accept Wrapped Ether. (Wrapped Ether is a version of Ethereum pegged onto Polygon or any other chain)
You will implement this just like accepting any other token on Solidity, see this: deposite and withdraw erc20 token using smart contract