Consulta de estabelecimentos (ECs)
Siga o modelo abaixo para consultar a lista de ECs disponíveis no terminal:
data class EstablishmentsRequest(val clientID: String, val accessToken: String)
private fun listEstablishments() {
val request = EstablishmentsRequest("clientId", "accessToken")
val json: String = Gson().toJson(request).toString()
Log.d(TAG, "checkout JSON STRING = $json")
val base64 = getBase64(json)
val checkoutUri = "lio://establishments?request=$base64&urlCallback=$scheme://$establishmentsHost"
val i = Intent(Intent.ACTION_VIEW, Uri.parse(checkoutUri))
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
try {
startActivity(i)
} catch (e: Exception) {
Log.e(TAG, "ERROR", e)
logView.addText("ERROR=$e ${e.message}")
}
}
A resposta será entregue na activity que tiver como parâmetro o intent filter com os dados passado pelo integrador na urlCallback. O formato da resposta será uma lista de estabelecimentos, contendo os campos nome e código. O código retornado é o identificador que deve ser utilizado no momento do pagamento.
Exemplos de retorno
Retorno de sucesso
uriappsample://establishments_response?response=W3siY29kZSI6IjAwMTAwMDAyNDQ0NzAwMDEiLCJuYW1lIjoiTE9KQSBPTiJ9XQ==&responsecode=0
Após realizar a decodificaçao será obtido um objeto JSON:
{
"code":"0000000000000000",
"name":"EC NAME"
}
Retorno de erro
Caso ocorra algum erro durante o processo de consulta, será retornado um Base64 com o código e motivo do erro:
uriappsample://establishments_response?response=eyJjb2RlIjoyLCJyZWFzb24iOiJFcnJvIGFvIGJ1c2NhciBvcyBlc3RhYmVsZWNpbWVudG9zOiBFcnJvciB0byBnZXQgZXN0YWJsaXNobWVudHMifQ==
Depois de decodificar o resultado, os dados retornados terão a seguinte estrutura:
{
"code":1,
"reason":"Erro ao buscar os estabelecimentos: motivo do erro"
}
Updated 5 months ago
Did this page help you?