'How to take payment in USDT/Tether from metamask to using web3 js in html and javascript

I am using below code to take payment using ETH, but when i try to use for USDT it's showing eth 1000000000000.

<!DOCTYPE html>
<html>

<head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script src="https://unpkg.com/@metamask/legacy-web3@latest/dist/metamask.web3.min.js"></script>


</head>

<body>
    <div>
        <button class="pay-button">Pay</button>
        <div id="status"></div>
    </div>
    <script type="text/javascript">
        window.addEventListener('load', async() => {
            if (window.ethereum) {
                window.web3 = new Web3(ethereum);
                try {
                    //await ethereum.enable();
                    const accounts = await window.ethereum.request({
                        method: 'eth_requestAccounts'
                    });
                    initPayButton()
                } catch (err) {
                    $('#status').html('User denied account access', err)
                }
            } else if (window.web3) {
                window.web3 = new Web3(web3.currentProvider)
                initPayButton()
            } else {
                $('#status').html('No Metamask (or other Web3 Provider) installed')
            }
        })

        const initPayButton = () => {
            $('.pay-button').click(() => {
                // paymentAddress is where funds will be send to
                const paymentAddress = 'wallet address '
                const amountEth = 1

                web3.eth.sendTransaction({
                    to: paymentAddress,
                    value: web3.toWei(amountEth, 'tether')
                }, (err, transactionId) => {
                    if (err) {

                        console.log('Payment failed', err)
                        $('#status').html('Payment failed')
                    } else {
                        console.log('Payment successful', transactionId)
                        $('#status').html('Payment successful')
                    }
                })
            })
        }
    </script>
</body>

</html>

at value: web3.toWei(amountEth, 'tether') when i use 'ether' it works fine.

How to get payment in tether?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source