Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
| Nome Físico | prgfin/apb/apb553za |
Objetivo: Efetuar pagamento online no módulos do Contas a Pagar
Esta API foi desenvolvida para atender ao processo de Pagamento Online com o Banco Santander, no módulo de Contas a Pagar.
Ela permite o envio dos títulos ao banco de forma eletrônica e o acompanhamento do status de cada pagamento.
Configurações e Cadastros
Antes de utilizar esta API, é necessário que o ambiente esteja devidamente configurado para o processo de Pagamento Online com o Banco Santander.
Para detalhes sobre cada etapa consulte os documentos abaixo:
Forma de Pagamento
A API está preparada para processar apenas as formas de pagamento do tipo:
PIX Transferência (sem chave)
PIX Transferência
PIX QR Code
Regras
PIX QR Code:
É obrigatório que o QR Code esteja informado no item do borderô. Caso não esteja, a API retornará rejeição.PIX Transferência:
Caso o campo de chave PIX não seja informado no item do borderô, a API irá buscar automaticamente a chave PIX preferencial cadastrada para o fornecedor financeiro.PIX Transferência (sem chave):
Se nenhuma informação bancária for informada no item do borderô, a API buscará automaticamente a conta corrente preferencial cadastrada para o fornecedor financeiro.
Parâmetros de Entrada
num_vers_integr_api: Versão da integração da API. Deve ser enviado com o valor 2.
tt_integr_item_pagto_online: será utilizado para determinar as informações referente ao Item do borderô que será pago online.
Parâmetros de Saída
tt_integr_item_pagto_online: Retorna os erros que ocorreram durante o processo de Pagamento Online.
Funcionamento
A sintaxe para executar a API/BO em modo persistente é:
run prgfin/apb/apb553za.py persistent set v_hdl_aux (input 2).
Importante: Sempre passar 2 como parâmetro.
run pi_main_code_api_process_pagto_online in v_hdl_aux (input-output table tt_integr_item_pagto_online).
A variável denominada v_hdl_aux irá receber o “handle” do programa, permitindo o acesso aos “métodos” internos da API.
Tabelas Temporárias
Tabela Temporária | Descrição | Entrada/Saída |
tt_integr_item_pagto_online | Conterá as informações do Item do borderô e status do pagamento online no retorno | Entrada/Saída |
Atributo | Tipo | Formato | Descrição | Obrig. | Evol. |
tta_cod_estab_bord | character | X(5) | Estabelecimento do Borderô | Sim | |
tta_cod_portador | character | X(5) | Portador | Sim | |
tta_num_bord_ap | integer | >>>>>9 | Número Borderô | Sim | |
tta_num_seq_bord | integer | >>>9 | Sequência do Item borderô | Sim | |
tta_cod_sit_pagto_online | character | x(20) | Situação Pagamento Online (Retorna a situação do pagamento) | Não | |
tta_des_rej | Character | X(200) | Descrição Rejeição (Retorna a descrição do erro ocorrido no pagamento) | Não | |
tta_cod_banco | Character | X(08) | Banco | Não |
def temp-table tt_integr_item_pagto_online
field tta_cod_estab_bord as character format "x(5)" label "Estabelecimento" column-label "Estab"
field tta_cod_portador as character format "x(5)" label "Portador" column-label "Portador"
field tta_num_bord_ap as integer format ">>>>>9" initial 0 label "Número Borderô" column-label "Borderô"
field tta_num_seq_bord as integer format ">>>9" initial 0 label "Sequência" column-label "Seq"
field tta_cod_sit_pagto_online as character format "x(20)" label "Sit Pagto Online" column-label "Sit Pagto Online"
field tta_des_rej as character format "x(200)" label "Rejeição" column-label "Rejeção"
field tta_cod_banco as character format "x(8)" label "Banco" column-label "Banco"
index tt_id is primary
tta_cod_estab_bord ascending
tta_cod_portador ascending
tta_num_bord_ap ascending
tta_num_seq_bord ascending
.
Interpretação do Retorno
Após a execução da API, o campo tta_cod_sit_pagto_online de cada registro indicará o resultado do processamento:
| Valor | Significado | Ação Requerida |
|---|---|---|
| Pago | Pagamento realizado com sucesso e o título foi liquidado no Contas a Pagar. | Nenhuma ação adicional. |
| Erro | Ocorreu um erro na tentativa de pagamento. O campo tta_des_rej trará a descrição detalhada da rejeição. | Corrigir o problema e reenviar o item para a API. |
| Aguardando Banco | O título está aguardando o processamento no banco. | Reenviar o pagamento posteriormente para atualizar o status. |
Observação
- A Temp-Table é utilizada como Input-Output, ou seja, o consumidor deve montar a estrutura de entrada e, após a execução, analisar os campos de saída.
Os títulos enviados ficarão visíveis na tela Monitor Pagamentos Online, onde também poderão ser analisados e, se necessário, reprocessados manualmente.
Para o reprocessamento de títulos com erro, eles deverão ser reenviados via API, com os devidos ajustes.
- A liquidação dos títulos ocorrerá apenas quando o status retornar como 'Pago'.
Documetação complementar:
01. Pagamento Online
02. Monitor Pagamentos Online
03. Configurações
04. Cadastros