Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Esta seção exemplifica todos os métodos relacionados a transações e ordem de pagamento.

POST      /api/transacao

Endpoint responsável por cadastrar uma ordem de pagamento, retornando o Id da transação em caso de sucesso.

Headers    

Content-Type

application/json

Authorization

Bearer {token}

Request Body    application/json

Schema:

IdEstabelecimento

Int32

ID que identifica o estabelecimento solicitante da ordem de pagamento

Obrigatório

IdDispositivo

Int32

ID que identifica o dispositivo que solicitou a ordem de pagamento

Obrigatório

IdRedeCredenciadaMetodosPagamento

Int32

ID que identifica o tipo de venda (Venda Loja: 1)

Obrigatório

IdEstabelecimentoOperador

Int32

ID Que identifica o operador que solicitou a ordem de pagamento

Obrigatório

Valor

Decimal

Valor da ordem de pagamento

Obrigatório

JSON:
{
"IdEstabelecimento":3,
"idDispositivo":1,
"IdRedeCredenciadaMetodosPagamento":17, 
"IdEstabelecimentoOperador":1,
"Valor":30
}

Exemplos de Implementação:

C#

Code Block
languagejava
var client = new RestClient("https://localhost:44380/api/Transacao");

var request = new RestRequest(Method.POST);

request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6ImNhaW8uZm9udGVzIiwianRpIjoiZDVkMmQ4ZmVlMDgwNDk2MWE3ZjQ3NWY2MjRiMTkxYmQiLCJOZXRDb3JlVXNlcklkIjoiNjdjNjVhMDQtOTM0NC00MzE0LTYwYzgtMDhkN2RjMGNkMmI2IiwiUm9sZUxldmVsIjoiMCIsIklkRXN0YWJlbGVjaW1lbnRvIjoiMCIsIklkRXN0YWJlbGVjaW1lbnRvT3BlcmFkb3IiOiIwIiwiSWRDbGllbnRlQnJva2VyIjpbIjAiLCIwIl0sInJvbGUiOiJFc3RhYmVsZWNpbWVudG8iLCJuYmYiOjE1OTIyNTk1ODcsImV4cCI6MTU5MjI2MzE4NywiaWF0IjoxNTkyMjU5NTkyLCJpc3MiOiJTc29BdWRpZW5jZSIsImF1ZCI6IlNzb0F1ZGllbmNlIn0.ktfw3Hooj022BX0A_Vhyv7qq0led91t71oSrTBkA3OU");


request.AddParameter("application/json,text/plain", "{\"IdEstabelecimento\":3,\"idDispositivo\":1,\"IdRedeCredenciadaMetodosPagamento\":17, \"IdEstabelecimentoOperador\":1,\"Valor\":30}",  ParameterType.RequestBody);

IRestResponse response = client.Execute(request);

Console.WriteLine(response.Content);

PHP

Code Block
languagephp
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://localhost:44380/api/Transacao",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS =>"{\"IdEstabelecimento\":3,\"idDispositivo\":1,\"IdRedeCredenciadaMetodosPagamento\":17, \"IdEstabelecimentoOperador\":1,\"Valor\":30}",
  CURLOPT_HTTPHEADER => array(
    "Content-Type: application/json",
    "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6ImNhaW8uZm9udGVzIiwianRpIjoiZDVkMmQ4ZmVlMDgwNDk2MWE3ZjQ3NWY2MjRiMTkxYmQiLCJOZXRDb3JlVXNlcklkIjoiNjdjNjVhMDQtOTM0NC00MzE0LTYwYzgtMDhkN2RjMGNkMmI2IiwiUm9sZUxldmVsIjoiMCIsIklkRXN0YWJlbGVjaW1lbnRvIjoiMCIsIklkRXN0YWJlbGVjaW1lbnRvT3BlcmFkb3IiOiIwIiwiSWRDbGllbnRlQnJva2VyIjpbIjAiLCIwIl0sInJvbGUiOiJFc3RhYmVsZWNpbWVudG8iLCJuYmYiOjE1OTIyNTk1ODcsImV4cCI6MTU5MjI2MzE4NywiaWF0IjoxNTkyMjU5NTkyLCJpc3MiOiJTc29BdWRpZW5jZSIsImF1ZCI6IlNzb0F1ZGllbmNlIn0.ktfw3Hooj022BX0A_Vhyv7qq0led91t71oSrTBkA3OU"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

POST      /api/transacao/autorizar

Endpoint responsável por autorizar uma ordem de pagamento, efetuando o débito na conta de origem e retornando um booleano para indicar o sucesso da operação.

Headers    

Content-Type

application/json

Authorization

Bearer {token}

Request Body    application/json

Schema:

IdOrdemTransacao

Int32

ID que identifica a ordem de pagamento a ser autorizado o pagamento

Obrigatório

Conta

String

String que identifica a conta de origem que irá efetuar o pagamento

Obrigatório

JSON:
{
"IdOrdemTransacao":3,
"Conta":10777
}

Exemplos de Implementação:

C#

Code Block
languagec#
var client = new RestClient("https://localhost:44380/api/Transacao/Autorizar");

var request = new RestRequest(Method.POST);

request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6ImNhaW8uZm9udGVzIiwianRpIjoiZDVkMmQ4ZmVlMDgwNDk2MWE3ZjQ3NWY2MjRiMTkxYmQiLCJOZXRDb3JlVXNlcklkIjoiNjdjNjVhMDQtOTM0NC00MzE0LTYwYzgtMDhkN2RjMGNkMmI2IiwiUm9sZUxldmVsIjoiMCIsIklkRXN0YWJlbGVjaW1lbnRvIjoiMCIsIklkRXN0YWJlbGVjaW1lbnRvT3BlcmFkb3IiOiIwIiwiSWRDbGllbnRlQnJva2VyIjpbIjAiLCIwIl0sInJvbGUiOiJFc3RhYmVsZWNpbWVudG8iLCJuYmYiOjE1OTIyNTk1ODcsImV4cCI6MTU5MjI2MzE4NywiaWF0IjoxNTkyMjU5NTkyLCJpc3MiOiJTc29BdWRpZW5jZSIsImF1ZCI6IlNzb0F1ZGllbmNlIn0.ktfw3Hooj022BX0A_Vhyv7qq0led91t71oSrTBkA3OU");

request.AddParameter("application/json,text/plain", "{\"IdOrdemTransacao\":3,\"Conta\":10777}",  ParameterType.RequestBody);

IRestResponse response = client.Execute(request);

Console.WriteLine(response.Content);

PHP

Code Block
languagephp
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://localhost:44380/api/Transacao/Autorizar",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS =>"{\"IdOrdemTransacao\":3,\"Conta\":10777}",
  CURLOPT_HTTPHEADER => array(
    "Content-Type: application/json",
    "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6ImNhaW8uZm9udGVzIiwianRpIjoiZDVkMmQ4ZmVlMDgwNDk2MWE3ZjQ3NWY2MjRiMTkxYmQiLCJOZXRDb3JlVXNlcklkIjoiNjdjNjVhMDQtOTM0NC00MzE0LTYwYzgtMDhkN2RjMGNkMmI2IiwiUm9sZUxldmVsIjoiMCIsIklkRXN0YWJlbGVjaW1lbnRvIjoiMCIsIklkRXN0YWJlbGVjaW1lbnRvT3BlcmFkb3IiOiIwIiwiSWRDbGllbnRlQnJva2VyIjpbIjAiLCIwIl0sInJvbGUiOiJFc3RhYmVsZWNpbWVudG8iLCJuYmYiOjE1OTIyNTk1ODcsImV4cCI6MTU5MjI2MzE4NywiaWF0IjoxNTkyMjU5NTkyLCJpc3MiOiJTc29BdWRpZW5jZSIsImF1ZCI6IlNzb0F1ZGllbmNlIn0.ktfw3Hooj022BX0A_Vhyv7qq0led91t71oSrTBkA3OU"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

GET     /api/transacao/{idOrdemTransacao}

Endpoint responsável por buscar as informações de uma ordem de pagamento pelo ID da ordem, retornando um body com os dados da ordem.

Headers    

Content-Type

application/json

Authorization

Bearer {token}

Request Query String    application/json

Schema:

IdOrdemTransacao

Int32

ID que identifica a ordem de pagamento a ser buscada

Obrigatório

Response Body    application/json

Schema:

IdOrdemTransacao

Int32

ID que identifica a ordem de pagamento a ser buscada

IdEstabelecimentoOperador

Int32

ID Que identifica o operador que solicitou a ordem de pagamento

IdOrdemTransacaoStatus

Int32?

Status da Ordem de Transacao

(Aguardando Leitura: 1

Aguardando Pagamento: 2

Processando: 3

Sucesso: 4

Falha: 5)

IdRedeCredenciada

Int32

ID que identifica a rede credenciada

Valor

Decimal?

Valor da ordem de pagamento

Ativo

Boolean?

Campo que indica se a ordem de pagamento está ativa

UsuarioInsercao

String

Campo que identifica o usuário que solicitou a ordem de pagamento

DataHoraInsercao

DateTime

Data e Hora em que a ordem de pagamento foi criada

UsuarioUltimaAtualizacao

String

Campo que identifica o usuário que fez a última modificação na ordem de pagamento

DataUltimaAtualizacao

DateTime?

Data e Hora em da última atualização da ordem de pagamento

...

C#

Code Block
languagec#
var client = new RestClient("https://localhost:44380/api/OrdemTransacao?Id=1");

var request = new RestRequest(Method.GET);

request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6ImNhaW8uZm9udGVzIiwianRpIjoiZDVkMmQ4ZmVlMDgwNDk2MWE3ZjQ3NWY2MjRiMTkxYmQiLCJOZXRDb3JlVXNlcklkIjoiNjdjNjVhMDQtOTM0NC00MzE0LTYwYzgtMDhkN2RjMGNkMmI2IiwiUm9sZUxldmVsIjoiMCIsIklkRXN0YWJlbGVjaW1lbnRvIjoiMCIsIklkRXN0YWJlbGVjaW1lbnRvT3BlcmFkb3IiOiIwIiwiSWRDbGllbnRlQnJva2VyIjpbIjAiLCIwIl0sInJvbGUiOiJFc3RhYmVsZWNpbWVudG8iLCJuYmYiOjE1OTIyNTk1ODcsImV4cCI6MTU5MjI2MzE4NywiaWF0IjoxNTkyMjU5NTkyLCJpc3MiOiJTc29BdWRpZW5jZSIsImF1ZCI6IlNzb0F1ZGllbmNlIn0.ktfw3Hooj022BX0A_Vhyv7qq0led91t71oSrTBkA3OU");

IRestResponse response = client.Execute(request);

Console.WriteLine(response.Content);

PHP

...

languagephp

...

Autorização de uma Transação (Identificadores VDLJ1 e VDPT3) e estará disponível apenas para Estabelecimentos Autenticados.

Para efetuar uma Transação Autorizada pelo TMPay, o Parceiro precisa seguir o seguinte fluxo:

  • Antes de utilizar os métodos dessa sessão, o Parceiro precisa se autenticar e enviar seu Token de Acesso, conforme solicitado nos demais métodos, para então realizar a autenticação do Estabelecimento. Essa autenticação é necessária para configurações de parâmetros de segurança na Câmara de Autorização.

  • Uma vez credenciado, o Estabelecimento poderá se Autenticar e gerar uma Ordem de Transação através do endpoint Cadastrar Ordem de Transação. Essa Ordem se refere a uma solicitação de venda e nenhuma movimentação financeira ocorre até a autenticação, leitura e confirmação do usuário do TARGET Conta Digital.

  • Após o cadastro dessa Ordem de Transação, o Estabelecimento poderá acompanhar o Status da mesma através do enpoint Obter Ordem de Transação por IDouObter Ordem de Transação por NSU, assim como solicitar o cancelamento através do endpoint Cancelar Ordem de Transação por IDouCancelar Ordem de Transação por NSU. Caso já tenha ocorrido a movimentação financeira referente à Ordem de Transação, o valor será estornado e o status da Ordem de Transação será Estornada. Do contrário o status da Ordem de Transação será Cancelada.

  • O Estabelecimento poderá acompanhar todas as vendas realizadas e Autorizadas pelo TMPay através do endpoint Listar Transações por Período.