Generally best to use the API version that the module was built for. That said, the module transmits its API version with its transaction requests, so it should auto-negotiate with Square for the right one to use on each communication attempt.