Detalhes do banco de dados

O banco de dados do Sterling™ Order Management System contém dados de pagamento principalmente em seis tabelas, YFS_CHARGE_TRANSACTION, YFS_CHARGE_TRAN_DIST, YFS_ORDER_HEADER, YFS_CHARGE_TRAN_REQUEST, YFS_CHARGE_TRAN_RQ_MAP e YFS_PMNT_TRANS_ERROR.

O sistema utiliza a tabela YFS_CHARGE_TRANSACTION como a tabela motivadora para estabelecer interface com as transações acionadas por tempo para o processamento de autorizações e de encargos. A tabela motivadora também serve como o diário para todos os créditos e débitos com relação ao pedido a qualquer momento.

tabela YFS_CHARGE_TRANSACTION

Os campos-chave e seus valores na tabela YFS_CHARGE_TRANSACTION são detalhados abaixo.

Tabela 1. Campos da tabela YFS_CHARGE_TRANSACTION
Campo Descrição
Status Este campo possui os seguintes valores válidos:
  • OPEN – Um novo pedido é criado na tabela YFS_CHARGE_TRANSACTION. Esses registros são selecionados pelas transações de Pagamento.
  • CLOSED - A cobrança do pagamento foi realizada externamente ao Sterling Order Management System e relatou detalhes da cobrança por meio da API recordCollection( ) ou os pagamentos foram autorizados ou cobrados usando a transação acionada pelo Payment Execution Time.
  • CHECKED - O registro na tabela YFS_CHARGE_TRANSACTION foi validado. Nenhum processamento adicional ocorre nesses registros.
  • ERROR - A autorização ou cobrança do método de pagamento associado falhou.
CHARGE_TYPE Este campo possui os seguintes valores válidos:
  • ADDITION - A Quantidade Solicitada de uma linha de pedido foi aumentada.
  • ADJUSTMENTS - Há uma incompatibilidade entre o TotalAmount especificado pelo usuário de um pedido e o TotalAmount calculado.
  • AUTORIZAÇÃO – Uma autorização é solicitada. A solicitação pode ser criada ao chamar a API requestCollection ou pode ser criada através da transação acionada por tempo Coleção de Pagamento.
  • CANCEL - Um pedido ou parte de um pedido foi cancelada.
  • CASH_BACK - Devolução em dinheiro é solicitada.
  • CHANGE_PRICE - Um pedido foi reprecificado. Um pedido pode ser reprecificado ao alterar o preço unitário, encargos e impostos.
  • CHARGE – Uma cobrança é solicitada. A solicitação pode ser criada ao chamar a API requestCollection ou pode ser criada através da transação acionada por tempo Coleção de Pagamento. Essas solicitações são feitas para pedidos ou remessas abertas.
  • CREATE_ORDER - Um pedido foi criado no sistema.
  • ORDER_INVOICE - Um pedido foi parcialmente ou completamente faturado usando a transação CREATE_ORDER_INVOICE.
  • REQUEST_SETTLEMENT – A Quantidade Solicitada (parcialmente ou completamente) de uma linha de pedido foi quitada antes do faturamento. Isso ocorre durante as solicitações de pré-quitação.
  • REFUND_SETTLEMENT – O valor da quitação foi reembolsado para a quantia de reembolso.
  • RETURN – O pedido de devolução está parcialmente ou completamente faturado.
 
  • SHIPMENT – Um pedido ou parte de um pedido foi enviada e, em seguida, faturada utilizando a transação acionada por tempo Criar Fatura de Remessa.
  • SHIPMENT_ADJUSTMENT – Essa solicitação de cobrança será criada se qualquer ajuste for necessário após um pedido ser totalmente enviado.
  • SPLIT_LINE – Pedido de linha é dividido e a nova linha requer processamento de pagamento.
  • TRANSFER_IN – Esse registro é exibido quando as quantias tiverem sido transferidas para outro pedido ou a partir dele. Clicar nesse link leva o usuário para o pedido a partir do qual as quantias tiverem sido transferidas.
  • TRANSFER_OUT – Esse registro é exibido quando as quantias tiverem sido transferidas para outro pedido. Clicar nesse link leva o usuário para o pedido para o qual as quantias tiverem sido transferidas.
CREDIT_AMOUNT A quantia creditada ao cliente com relação ao método de pagamento associado para o pedido. Essa quantia reflete os fundos coletados do cliente. Ela aumenta somente após as coleções reais de fundo tiverem ocorrido.
DEBIT_AMOUNT A quantia debitada para o cliente com relação a esse pedido.
BOOK_AMOUNT A quantia do pedido aberto. Em qualquer ponto, ela reflete a quantia total do pedido que ainda não foi enviada. A quantia é aumentada pela criação de pedido, inclusão da Quantidade Solicitada, inclusão de linhas, aumento do preço, encargos e impostos e reduzida por cancelamentos, redução nos preços, encargos e impostos e faturamento.
OPEN_AUTHORIZED_ AMOUNT A quantia autorizada com relação ao método de pagamento do cliente. As autorizações são utilizadas para a coleção real de fundos.
REQUEST_AMOUNT A quantia pela qual uma solicitação de autorização ou de encargos foi feita.
SETTLED_AMOUNT A quantia para a qual uma solicitação de pré-quitação foi feita.
USER_EXIT_STATUS Este campo é atualizado para 'INVOKED' quando a transação de Execução de Pagamento seleciona registros para processamento. Enquanto aguarda o processamento de um sistema de pagamento externo, esse campo é atualizado para ‘ONLINE', que evita que agentes selecionem o registro. Ele é configurado de volta para < blank> quando a transação retorna com êxito. Se este campo permanecer preenchido, isso indica que ocorreu um problema com a chamada do sistema externo e requer intervenção manual.
VOID_TRANSACTION A transação de encargo foi criada para um cancelamento, não para uma devolução. valores válidos são:
  • V - Cancelar
  • R - Reembolso Forçado
  • S - Enviado. A transação do encargo original para o qual o cancelamento ou reembolso foi criado é atualizada com este valor para indicar que um cancelamento ou reembolso foi enviado para o registro.
  • C - Registro de erro encerrado, já criado
  • NULL - Nenhum valor
STATUS_DE_SOLICITAÇÃO_DE_AUTENTICAÇÃO
A transação é válida para uma chamada para autorização. valores válidos são:
  • REQUIRES_CALL – uma chamada de autorização deve ser feita
  • AUTH_CODE_ACQUIRED – o código de autorização foi inserido
  • CLOSED – o gateway de pagamento foi contatado e os fundos transferidos
  • NULL - Nenhum valor

A tabela a seguir descreve as várias quantias registradas na tabela YFS_CHARGE_TRANSACTION em diferentes pontos no ciclo de vida do pedido.

Tabela 2. Quantias de encargos de pagamento dentro do ciclo de vida do pedido
Quando Tipo de Encargos Quantia de Crédito Quantia de Débito Quantia de Registros Quantia Autorizada Quantia Solicitada
Criação de Pedido ORDER_CREATE     + TOTAL AMOUNT no pedido    
Autorizações executadas no frontend e transmitidas com CreateOrder XML AUTORIZAÇÃO       + Quantia Autorizada como transmitida  
Fundos coletados no front-end e transmitidos com CreateOrder XML CARGA + Quantia de Encargos como transmitida        
Cancelamentos CANCELAR     - Cancelar Quantia como    
Remessas quando a coleção de pagamento é registrada no banco de dados do Console REMESSA   + Quantia de Remessa - Quantia de Remessa    
Remessas quando a coleção de pagamento não é registrada no banco de dados do Console REMESSA + Quantia de Remessa + Quantia de Remessa - Quantia de Remessa    
A criação de solicitações de autorização AUTORIZAÇÃO         Quantidade de autorização
A criação de solicitações de encargos CARGA         Quantia de Encargos
Autorização Real         Quantia Autorizada  
Coleção do Fundo Real CARGA Quantia Coletada        
Reversão de Autorização AUTORIZAÇÃO     -
Quantia
Autorizada
   
Mudança de Preço por meio da API/ Console CHANGE_PRICE     Quantia de mudança de preço    
Aviso de Débito AJUSTE   Quantia em Memorando      
Aviso de Crédito AJUSTE   Valor negativo no memorando      
Return DEVOLUÇÃO   Negativo do crédito total concedido ao cliente      
Aumentos da quantidade pedida das linhas ADDITION     Quantia adicional    
Pedido é faturado ORDER_INVOICE   Quantia Faturada Negativo da quantia Faturada    
A linha de pedido é dividida SPLIT_LINE     Mudança na Quantia Total    
Criação da Última de Remessa SHIPMENT_ ADJUSTMENT     Diferença entre a quantia de reserva do pedido e da quantia total faturada    
Criação de Pedido de Devolução TRANSFER_IN Quantia transferida para pedido        
Criação de Pedido de Devolução TRANSFER_OUT Negativo da quantia transferida para o pedido        
Crédito Adiado DEFERRED_CREDIT Quantia Adiada        

Tabela YFS_CHARGE_TRAN_DIST

Essa tabela contém os registros para fundos pré-coletados que estão sendo reembolsados. Também contém as chaves das transações do encargo pré-coletado (transferir de, encargo), as transações do encargo para o qual ele foi reembolsado (transferência para, encargo negativo) e a quantia reembolsada.

Tabela 3. Campos da tabela YFS_CHARGE_TRAN_DIST
Campo Descrição
DISTRIBUTED_FROM_CT_KEY A transação do encargo que está associada a esta distribuição de transação de encargo. Esta é a transação de encargos que distribuiu os fundos.
DISTRIBUTED_TO_CT_KEY A transação do encargo que está associada a esta distribuição de transação de encargo. Esta é a transação de encargos para a qual os fundos foram distribuídos.
CHARGE_AMOUNT A quantidade que foi distribuída para o registro de transação de encargo, DISTRIBUTED_TO_CT_KEY, a partir do registro de transação de encargo, DISTRIBUTED_TO_CT_KEY.
CASH_BACK A transação do encargo que está associada a esta distribuição de transação de encargo. Esta é a transação de encargos para a quantia de devolução em dinheiro.

Tabela YFS_ORDER_HEADER

O campo-chave relacionado ao processamento de pagamento na tabela YFS_ORDER_HEADER é PAYMENT_STATUS.

Tabela YFS_CHARGE_TRAN_REQUEST

Esta tabela contém as solicitações para autorização e identificadores de pagamento. A combinação do ORDER_HEADER_KEY e do identificador cria um conjunto de grupos exclusivos para o pedido. As autorizações serão divididas de forma que cada autorização seja para apenas um identificador.

Tabela 4. Campos da tabela YFS_CHARGE_TRAN_REQUEST
Campo Descrição
CHARGE_TRAN_REQUEST_KEY Chave primária
ORDER_HEADER_KEY O pedido para o qual a solicitação é destinada.
CHARGE_TRAN_REQUEST_ID O identificador exclusivo para uma solicitação da quantia em um pedido.
PAYMENT_STATUS Semelhante ao status de pagamento na tabela YFS_ORDER_HEADER.
REQUEST_SEQUENCE O pedido no qual os grupos estão autorizados. Os registros com REQUEST_SEQUENCE não null são processados primeiro; sequências null são ordenadas por CHARGE_TRAN_REQUEST_ID, em ordem crescente.
MAX_REQUEST_AMOUNT A quantia máxima que esse identificador exclusivo representa antes de a distribuição para outro grupo começar a se tornar Autorizado.

Tabela YFS_CHARGE_TRAN_RQ_MAP

Esta tabela mapeia as solicitações de transação de encargo para as transações de encargos preenchê-las. Os registros não são mais inseridos nessa tabela no modo CTR dinâmico.

Tabela 5. Campos da tabela YFS_CHARGE_TRAN_RQ_MAP
Campo Descrição
CHARGE_TRAN_REQUEST_ MAP_KEY Chave primária
CHARGE_TRANSACTION_KEY Referência à tabela YFS_CHARGE_TRANSACTION.
CHARGE_TRAN_REQUEST_ KEY Referência à tabela YFS_CHARGE_TRAN_REQUEST.
REQUEST_AMOUNT A quantia solicitada na transação de encargo mapeada.
PROCESSED_AMOUNT A quantia processada na transação de encargo mapeada.

Tabela YFS_PMNT_TRANS_ERROR

Esta tabela contém um conjunto de mensagens de erro obtido a partir da geração da saída do usuário durante o processamento de pagamento. Quando os registros de uma transação de encargo são removidos, qualquer erro de transação associado à transação do encargo também deverá ser removido. Isso se aplica à API changeOrder(), à API deleteOrder() e ao PurgeOrderAgent.

Tabela 6. Campos da tabela YFS_PMNT_TRANS_ERROR
Campo Descrição
PMNT_TRANS_ERROR_KEY O identificador exclusivo que está associado a esse registro de erro de operação de pagamento.
CHARGE_TRANSACTION_KEY A transação de encargo que está associada a essa mensagem de erro da transação de pagamento. Cada transação de encargos pode ter várias mensagens.
MESSAGE_TYPE O tipo de mensagem de erro para este registro de erro de operação de pagamento.
MENSAGEM As mensagens de erro para este registro de erro de operação de pagamento.