Trying to send eth to smart contract, but get Error: Returned error: The method eth_sendTransaction does not exist/is not available

Here is my function that should send one eth to a contract i have made.
´´´
function paySubscription(uint256 _period) external payable virtual {
if(msg.value != ethFee * _period) revert FailedEthTransfer();
if(paymentExpire[msg.sender] == 0) {
paymentExpire[msg.sender] = (block.timestamp) + (_period * 30 days);
} else {
paymentExpire[msg.sender] += _period * 30 days;
}

}

´´´

´´´
const init1 = async () => {
const web3 = new Web3(infuraUrl);
const networkId = await web3.eth.net.getId();
const myContract = new web3.eth.Contract(
MyContract.abi,
process.env.CONTRACT_ADDRESS
);

const tx = myContract.methods.paySubscription(1).send({ from: address });
const gas = await tx.estimateGas({ from: address });
const gasPrice = await web3.eth.getGasPrice();
const data = tx.encodeABI();
const nonce = await web3.eth.getTransactionCount(address);

const signedTx = await web3.eth.accounts.signTransaction(
{
to: process.env.CONTRACT_ADDRESS,
data,
value: 1 * 10 ** 9,
gas,
gasPrice,
nonce,
chainId: networkId,
},
privateKey
);

console.log(0.000000001 * gas * 1 * 10 ** 9);
/* console.log(Old data value: ${await myContract.methods.data().call()}); */
const receipt = await web3.eth.sendSignedTransaction(signedTx.rawTransaction);
console.log(Transaction hash: ${receipt.transactionHash});
console.log(New data value: ${await myContract.methods.data().call()});
};
´´´

You by the least need to tell us which line in your code throws this error.

Here is the full error,

Error: Returned error: The method eth_sendTransaction does not exist/is not available
    at Object.ErrorResponse (/Users/andreskjelbred/Desktop/twit_tools_2/node_modules/web3-core-helpers/lib/errors.js:28:19)
    at /Users/andreskjelbred/Desktop/twit_tools_2/node_modules/web3-core-requestmanager/lib/index.js:300:36
    at /Users/andreskjelbred/Desktop/twit_tools_2/node_modules/web3-providers-http/lib/index.js:127:13
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  data: null
}

it seems the error was with const tx = myContract.methods.paySubscription(1).send({from:address})

However now I am getting the error "execution reverted"

Please use triple backticks to surround your code in order to get proper formatting.

```
code here
```

You need to do some more proper effort here if you're hoping to get a proper answer.

What do you mean "now"?
How come the error in the title of your question has changed to what it is "now"?
You obviously made some changes for that to happen, so what are they?
Which line in your code throws the error? (please debug it and find out).
What is ethFee in your contract code?

As a side note, I can say that there are a bunch of problems in:

const tx = myContract.methods.paySubscription(1).send({ from: address });
const gas = await tx.estimateGas({ from: address });

First off, you are not passing any ETH in the transaction, so msg.value will necessarily be 0 when the contract function is executed; you can pass it by specifying value: in the same way that you specify from:.

Second, you cannot call estimateGas "on top of" send; it should be either estimateGas or send, but not both.

But again, it is not even clear if this is still a part of your code, so please spend a little bit of time and effort to clarify the question.