Bom dia. Estou fazendo a integração através de uma API .net e ao efetuar os testes notei que o retorno da API EFIPay retorna objetos diferentes. Fiz uma implementação que acredito não ser a melhor opção mas funciona. Como vcs tratam isso? esses são os possíveis retornos:
==> Retorno 1
"{\"code\":3500034,\"error\":\"validation_error\",\"error_description\":{\"property\":\"/payment/credit_card/payment_token\",\"message\":\"Tipo inválido: number (esperado string).\"}}"
==> Retorno 2
"{\"code\":200,\"data\":{\"installments\":1,\"installment_value\":188000,\"charge_id\":44075256,\"status\":\"unpaid\",\"refusal\":{\"reason\":\"Dados do cartão inválidos.\",\"retry\":true},\"total\":188000,\"payment\":\"credit_card\"}}"
==> Retorno 3
"{\"code\":200,\"data\":{\"installments\":1,\"installment_value\":188000,\"charge_id\":44075296,\"status\":\"approved\",\"total\":188000,\"payment\":\"credit_card\"}}"
==> Retorno 4
"{\"code\":3500018,\"error\":\"already_used_payment_token\",\"error_description\":\"O [payment_token] fornecido já foi utilizado.\"}"