def parseMessage[A : Decoder]()

in payment-failure/src/main/scala/com/gu/identity/paymentfailure/SqsService.scala [23:30]


  def parseMessage[A : Decoder](sqsMessage: SQSMessage): Either[Throwable, A] = {
    logger.info(s"attempting to parse message body ${sqsMessage.getBody}")
    for {
      jsonMessage <- parse(sqsMessage.getBody)
      body <- jsonMessage.hcursor.downField("Message").as[String]
      data <- decode[A](body)
    } yield data
  }