TypeError: Member "checkRegisterPayment" not found or not visible after argument-dependent lookup in contract PaymentModule

When I conduct truffle compile, I came up with a TypeError.

TypeError: Member "checkRegisterPayment" not found or not visible after argument-dependent lookup in contract PaymentModule.
--> project:/contracts/RoyaltyBearingToken.sol:467:17:

:1234: Code to reproduce

Here is the checkRegisterPayment code in Paymentmodule:

function checkRegisterPayment(uint256 tokenId, address buyer) public view virtual returns (uint256) {
        if (registeredPayment[tokenId].buyer == buyer) return registeredPayment[tokenId].payment;
        else return 0;
    }

function checkRegisterPayment(
        uint256 tokenId,
        address buyer,
        string memory tokenType
    ) public view virtual returns (uint256) {
        if (registeredPayment[tokenId].buyer == buyer) {
            require(_isSameString(tokenType, registeredPayment[tokenId].tokenType), 'TokenType mismatch');
            return registeredPayment[tokenId].payment;
        } else return 0;
    }

function checkRegisterPayment(
        address buyer,
        uint256 tokenId,
        uint256 _payment,
        string memory tokenType
    ) public view virtual returns (uint256) {
        if((registeredPayment[tokenId].buyer == buyer) && (_isSameString(tokenType, registeredPayment[tokenId].tokenType))) {
            require(registeredPayment[tokenId].payment == _payment);
            return registeredPayment[tokenId].payment;
        } else return 0;
    }

Call checkRegisterPayment in RoyaltyBearingToken:

        require(paymentModule.checkRegisterPayment(_buyer, _tokenIds, _payment, _tokenType));

:computer: Environment

Truffle