With Smart Contract
interface Ether {
function resolveAddress(string calldata ether_name) external view returns (address);
}
contract EtherPay {
address ether_contract=0xDC7dBb61E31D7a79376063791183A6488E16C9ce;
address transfer_address;
string ether_name;
uint cost;
function Payment(string memory _ether_name) public payable
{
payable(Ether(ether_contract).resolveAddress(_ether_name)).transfer(msg.value);
}
}