Consulta de pedido avulso
É possível realizar a consulta de pedido avulso de duas maneiras diferentes.
- Consultando um pedido pelo seu identificador (ID).
- Consultando um pedido por valor, nsu (Cielo code) e código de autorização.
Os dados de entrada são os JSONs abaixo:
JSON de busca por Identificador (ID)
{
"orderId": "orderId",
"clientID": "clientidtest",
"accessToken": "accesstokentest"
}
JSON de busca por valor, nsu e código de autorização
{
"amount": amount,
"authCode": "authCode",
"cieloCode": "cieloCode(nsu)",
"orderId": "orderId",
"clientID": "clientidtest",
"accessToken": "accesstokentest"
}
Defina um dos JSONs acima e o formate para Base64. A chamada deve ser feita da seguinte forma:
var base64 = getBase64(jsonString)
var checkoutUri = "lio://order?request=$base64&urlCallback=order://response"
Para recuperar os dados, acesse a intent na activity de resposta registrada no seu AndroidManifest.xml. Em seguida, utilize o parâmetro data para acessar a URI da seguinte forma:
val responseIntent = intent
if (Intent.ACTION_VIEW == responseIntent.action) {
val uri = responseIntent.data
val response = uri.getQueryParameter("response")
val data = Base64.decode(response, Base64.DEFAULT)
val json = String(data)
}
Exemplos de retorno
Retorno de sucesso
order://responseresponse=eyJhY2Nlc3NLZXkiOiJyU0FxTlBHdkZQSkkiLCJhbW91bnQiOjExMTYsImNyZWF0ZWRBdCI6IkFwciA0LCAyMDI0IDEwOjE4OjE4IEFNIiwiaWQiOiJkYTI1NzE2Ny1lODJhLTRjN2MtYjVlMC1mMDc2OWQ4MTg0M2MiLCJpdGVtcyI6W3siYW1vdW50IjoxMTE2LCJkZXNjcmlwdGlvbiI6InByb2R1dG8iLCJkZXRhaWxzIjoicHJvZHV0byIsImlkIjoiM2U4YjNjOGYtNDdlMC00YjNkLWFiMTQtNWYxNzY0ZjczN2FhIiwibmFtZSI6InByb2R1dG8iLCJxdWFudGl0eSI6MiwicmVmZXJlbmNlIjoicHJvZHV0byIsInNrdSI6IjY4NzU5IiwidW5pdE9mTWVhc3VyZSI6InVuaWRhZGUiLCJ1bml0UHJpY2UiOjU1OH1dLCJsYXN0TW9kaWZpY2F0aW9uRGF0ZSI6IkFwciA0LCAyMDI0IDEwOjE4OjE4IEFNIiwibm90ZXMiOiIiLCJudW1iZXIiOiIiLCJwYWlkQW1vdW50IjowLCJwZW5kaW5nQW1vdW50IjoxMTE2LCJyZWZlcmVuY2UiOiJSZWZlcmVuY2UiLCJyZWxlYXNlRGF0ZSI6IkFwciA0LCAyMDI0IDEwOjE4OjE4IEFNIiwic2VjcmV0QWNjZXNzS2V5IjoiWFpldm9VWUtta1ZyIiwic3RhdHVzIjoiRU5URVJFRCIsInRyYW5zYWN0aW9ucyI6W10sInR5cGUiOiJQQVlNRU5UIn0=&responsecode=0
Depois de decodificar o resultado, será obtida uma lista com o pedido encontrado.
{
"accessKey": "rSAqNPGvFPJI",
"amount": 1116,
"createdAt": "Apr 4, 2024 10:18:18 AM",
"id": "da257167-e82a-4c7c-b5e0-f0769d81843c",
"items": [
{
"amount": 1116,
"description": "produto",
"details": "produto",
"id": "3e8b3c8f-47e0-4b3d-ab14-5f1764f737aa",
"name": "produto",
"quantity": 2,
"reference": "produto",
"sku": "68759",
"unitOfMeasure": "unidade",
"unitPrice": 558
}
],
"lastModificationDate": "Apr 4, 2024 10:18:18 AM",
"notes": "",
"number": "",
"paidAmount": 0,
"pendingAmount": 1116,
"reference": "Reference",
"releaseDate": "Apr 4, 2024 10:18:18 AM",
"secretAccessKey": "XZevoUYKmkVr",
"status": "ENTERED",
"transactions": [],
"type": "PAYMENT"
}
Em transactions, haverá uma lista com os pagamentos feitos para o pedido.
Retorno de erro
Caso não encontre o pedido, o retorno será:
order://response?response=eyJjb2RlIjoxLCJyZWFzb24OiJDQU5DRUxBRE8gUEVMTyBVU1XDgVJJTyJ9&responsecode=2
Depois de decodificar o resultado, você verá o código e a mensagem de erro:
{
"code": 2,
"reason": "Order not found",
}
Updated 5 months ago
Did this page help you?