async def METHOD_NAME(self, checking_id: str) -> PaymentStatus:
    ws = create_connection(self.endpoint)
    ws.send(f"check-payment --hash {checking_id}")
    r = ws.recv()
    data = json.loads(r)
    if data.get("error") is not None and data["error"].get("message"):
        logger.error(data["error"]["message"])
        return PaymentStatus(None)
    payment = data["result"]
    statuses = {"pending": None, "complete": True, "failed": False}
    return PaymentStatus(
        statuses[payment["status"]],
        payment.get("fee_msatoshi"),
        payment.get("preimage"),
    )