🚀Criando uma transação

Esta página contém instruções de como solicitar a criação de uma transação na API da 4P Finance.

Resumo

Para realizar transações, é necessário executar uma chamada para a API e obter como retorno o Identificador da Transação/TID ( Transation ID ), que deverá ser enviado para o smart contract / endereço, ambos retornados pela 4P Finance.

Com o TID e o endereço do smart contract, o próximo passo é executar o método DoTransaction do smart contract iniciando assim a transação, passando como parâmetro o TID e Valor a ser transferido, após o usuário aprovar na sua carteira.

Drawing

Solicitação de registro/transação

A requisição para realizar a criação/registro de uma transação deverá ter como corpo da solicitação JSON as informações necessárias para registrar a transação. Esses dados serão os dados referente a transação e os dados do produto ou serviço a ser cobrado.

Exemplo de requisição

Requisição

Solicita a criação/registro de uma transação.

POST https://api.4p.finance/v1/transaction/create/

Realiza a solicitação do registro de uma transação pelo gateway e o monitoramento da mesma.

Headers

Name
Type
Description

x-api-key*

String

Sua chave API.

Request Body

Name
Type
Description

transaction_data*

Object

Objeto que deverá conter os dados da transação.

transaction*

Object

Objeto principal.

buyer_name*

String

Nome do cliente/usuário.

buyer_email*

String

E-mail do cliente/usuário.

total_discount*

Integer

Total de desconto da transação. Exemplo: 2010 = R$ 20,10.

amount_brl*

Integer

Valor total da compra em BRL/REAL. Exemplo: 18990 = R$ 189,90.

amount_crypto*

String

Valor total da compra convertido para a criptomoeda/token e que será cobrado na transação.

chain_id*

String

ID da rede/blockchain que será executada a transação. Exemplo: 137.

currency_symbol*

String

Símbolo da moeda/token que será transferido na transação. Exemplo: MATIC.

custom_id*

String

Identificador único/personalizado da transação na sua aplicação. Esse identificador deverá ser gerado por sua aplicação para fins de controle.

notification_url*

String

URL de retorno de sua aplicação que receberá as notificações de status da transação via POST.

transaction_items*

Array

Array que deverá conter os dados dos objetos/itens ( produtos ou serviço ).

description*

String

Descrição do item / produto ou serviço.

quantity*

Integer

Quantidade do item.

discount*

Integer

Valor do desconto do item. Exemplo: 2000 = R$ 20,00.

amount*

Integer

Valor do item. Exemplo: 4999 = R$ 49,99.

Retorno

Observe que o retorno contém o data onde temos a chave address_smart_contract, e no seu valor, o endereço do smart contract, que deverá receber o Valor em criptomoeda a ser transferido.

Observe também, que dentro do data temos o tid e no seu valor o Identificador da Transação registrada. Esse valor deverá ser passado como parâmetro na execução do método DoTransaction do smart contract.

Execução da transferência

Veja abaixo um exemplo em JavaScript que executa a chamada do método DoTransaction enviado o TID como parâmetro.

Conclusão

Após a autorização do usuário na carteira e registro na blockchain, você receberá como retorno os dados da transação na blockchain. Também é possível aguardar a confirmação de blocos para garantir no front-end uma confirmação imediata para o usuário.

Embora sua aplicação receba, após a execução da transferência, retorno da blockchain com os dados da transação e confirmação via front-end; por segurança, o gateway também irá enviar notificações para a sua URL de retorno, assim que obter uma confirmação da transferência. Isso garantirá que, mesmo que o front-end ( em caso de aplicação web ) perca conexão, ou por algum motivo não receba o retorno da blockchain, a fim de confirmar a transação ao usuário, o webhook da 4P Finance irá enviar uma confirmação da transação para sua aplicação.

Saiba mais sobre as notificações e callbacks na próxima sessão.

Last updated