in src/main/scala/ZuoraService.scala [247:257]
def resetFailedPaymentsCounter(accountId: String, defaultPaymentMethod: DefaultPaymentMethod): String \/ Unit = {
val update = UpdateDefaultPaymentMethod(consecutiveFailureCount = 0)
logInfo(accountId, s"attempting to update default payment method with the following details: ${update}")
val body = RequestBody.create(MediaType.parse("application/json"), Json.toJson(update).toString)
val request = buildRequest(config, s"object/payment-method/${defaultPaymentMethod.id}").put(body).build()
val call = restClient.newCall(request)
val response = call.execute
convertResponseToCaseClass[UpdateResult](accountId, response) match {
case \/-(result) => if (result.success) { \/-(()) } else { -\/("Zuora result indicated a failure when attempting to reset failed payments counter") }
case -\/(error) => -\/(error)
}