Detalles de base de datos

La base de datos del sistema de Sterling™ Order Management contiene los datos de pago principalmente en seis tablas, YFS_CHARGE_TRANSACTION, YFS_CHARGE_TRAN_DIST, YFS_ORDER_HEADER, YFS_CHARGE_TRAN_REQUEST, YFS_CHARGE_TRAN_RQ_MAP y YFS_PMNT_TRANS_ERROR.

El sistema utiliza la tabla YFS_CHARGE_TRANSACTION como la tabla de controlador para interactuar con las transacciones desencadenadas por tiempo para procesar autorizaciones y cargos. La tabla de controlador también sirve como diario para todos los créditos y débitos de la orden en cualquier momento.

Tabla YFS_CHARGE_TRANSACTION

Los campos de clave y sus valores en la tabla YFS_CHARGE_TRANSACTION se detallan a continuación.

Tabla 1. Campos de la tabla YFS_CHARGE_TRANSACTION
Campo Descripción
ESTADO Este campo tiene los valores válidos siguientes:
  • OPEN: se crea una solicitud en la tabla YFS_CHARGE_TRANSACTION. Estos registros se recogen en las transacciones de pago.
  • CERRADO - El cobro del pago se realizó de forma externa a Sterling Order Management System e informó de los detalles del cobro a través de la API recordCollection( ) o los pagos se autorizaron o cobraron utilizando la Transacción activada por tiempo de ejecución del pago.
  • CHECKED: el registro en la tabla YFS_CHARGE_TRANSACTION se ha validado. No se produce ningún proceso adicional en estos registros.
  • ERROR: la autorización o el cargo del método de pago asociado ha fallado.
CHARGE_TYPE Este campo tiene los valores válidos siguientes:
  • ADDITION: la cantidad pedida de una línea de pedido ha aumentado.
  • ADJUSTMENTS: existe una discrepancia entre TotalAmount especificado por el usuario de una orden y TotalAmount calculado.
  • AUTHORIZATION: se solicita una autorización. La solicitud se puede crear llamando a la API requestCollection API o se puede crear a través de la transacción desencadenada por tiempo Cobro de pago.
  • CANCEL: se ha cancelado una orden o parte de una orden.
  • CASH_BACK: se solicita una devolución.
  • CHANGE_PRICE: se ha ajustado el precio de una orden. Una orden se puede ajustar cambiando el precio unitario, los cargos y los impuestos.
  • CHARGE: se solicita un cargo. La solicitud se puede crear llamando a la API requestCollection API o se puede crear a través de la transacción desencadenada por tiempo Cobro de pago. Estas solicitudes se formalizan para órdenes abiertas o envíos.
  • CREATE_ORDER: se ha creado una orden en el sistema.
  • ORDER_INVOICE: se ha facturado parcial o totalmente una orden utilizando la transacción CREATE_ORDER_INVOICE.
  • REQUEST_SETTLEMENT: la cantidad pedida (parcial o totalmente) de una línea de pedido se ha resuelto antes de la facturación. Esto se produce durante las solicitudes de liquidación previa
  • REFUND_SETTLEMENT: el importe de la liquidación se ha reembolsado por el importe del reembolso.
  • RETURN: la orden de devolución se ha facturado parcial o totalmente.
 
  • SHIPMENT: se ha enviado una orden o parte de una orden y, a continuación, se ha facturado utilizando la transacción desencadenada por tiempo Crear factura de envío.
  • SHIPMENT_ADJUSTMENT: esta solicitud de cargo se crea si es necesario realizar algún ajuste después de que se haya enviado completamente una orden.
  • SPLIT_LINE: la línea de pedido se divide y la nueva línea requiere proceso de pago.
  • TRANSFER_IN: este registro se visualiza cuando se han transferido importes desde otra orden. Al pulsar en este enlace, el usuario se dirige a la orden de la que se han transferido los importes.
  • TRANSFER_OUT: este registro se visualiza cuando se han transferido importes a otra orden. Al pulsar en este enlace, el usuario se dirige a la orden a la que se han transferido los importes.
CREDIT_AMOUNT El importe abonado al cliente para el método de pago asociado para la orden. El importe refleja los fondos cobrados del cliente. Se incrementa únicamente después de que hayan tenido lugar cobros de fondos.
DEBIT_AMOUNT El importe cargado al cliente para esta orden.
BOOK_AMOUNT El importe de orden abierta. En cualquier momento, refleja el importe de orden total que todavía no se ha enviado. La cantidad se incrementa mediante la creación de orden, la suma de la cantidad solicitada, la suma de líneas, el incremento del precio, cargos e impuestos y se reduce mediante cancelaciones, la reducción del precio, cargos e impuestos y facturación.
OPEN_AUTHORIZED_ AMOUNT El importe autorizado para el método de pago del cliente. Las autorizaciones se utilizan para el cobro de fondos real.
REQUEST_AMOUNT El importe para el que se ha realizado una autorización o solicitud de cargo.
SETTLED_AMOUNT El importe para el que se ha realizado una solicitud de liquidación previa.
USER_EXIT_STATUS Este campo se actualiza en 'INVOKED' cuando la transacción Ejecución de pago recoge registros para procesar. Al esperar procesar desde un sistema de pago externo, este campo se actualiza a ‘ONLINE', lo que impide que los agentes recojan el registro. Se vuelve a establecer en < blank> cuando la transacción se devuelve correctamente. Si este campo permanece rellenado, significa que se ha producido un problema con la llamada al sistema externo y requiere intervención manual.
VOID_TRANSACTION La transacción de cargo fue creado para una anulación, no una devolución. Los valores válidos son:
  • V - Anulación
  • R - Reembolso forzoso
  • S - Enviado. La transacción de cargo original para la que se creó la anulación o reembolso se actualiza con este valor para indicar que se ha enviado una anulación o reembolso.
  • C - Registro de error cerrado, ya se ha vuelto a crear
  • NULL - Ningún valor
CALL_FOR_AUTH_
ESTADO
La transacción es válida para una petición de autorización. Los valores válidos son:
  • REQUIRES_CALL: se debe formalizar una petición de autorización
  • AUTH_CODE_ACQUIRED: el código de autorización se ha entrado
  • CLOSED: la pasarela de pago se ha contactado y los reembolsos se han transferido
  • NULL - Ningún valor

En la tabla siguiente se describen los distintos importes registrados en la tabla YFS_CHARGE_TRANSACTION en distintos puntos en el ciclo de vida de la orden.

Tabla 2. Importes de cargo por pago en el ciclo de vida de la orden
Cuando Tipo de cargo Importe del crédito Importe de débito Importe contable Importe autorizado Importe solicitado
Creación de la orden ORDER_CREATE     + TOTAL AMOUNT en la orden    
Autorizaciones realizadas en el front-end y pasadas con CreateOrder XML AUTORIZACIÓN       + Importe autorizado como pasado  
Fondos cobrados en el front-end y pasados con CreateOrder XML DE PRÉSTAMO + Importe de cargo como pasado        
Cancelaciones CANCELAR     - Cancelar importe como    
Envíos cuando el cobro del pago se registra en la base de datos de la consola Envío   + Importe de envío - Importe de envío    
Envíos cuando el cobro del pago no se registra en la base de datos de la consola Envío + Importe de envío + Importe de envío - Importe de envío    
Creación de solicitudes de autorización AUTORIZACIÓN         Importe de autorización
Creación de solicitudes de cargo DE PRÉSTAMO         Importe de cargo
Autorización real         Importe autorizado  
Cobro de fondo real DE PRÉSTAMO Importe cobrado        
Revocación de autorización AUTORIZACIÓN     -
Importe
autorizado
   
Cambio de precio a través de la API/ consola CHANGE_PRICE     Importe de cambio de precio    
Nota de cargo AJUSTE   Importe en nota      
Nota de abono AJUSTE   Importe negativo en la nota      
Devolución DEVOLUCIÓN   Negativo del crédito total otorgado al cliente      
Incrementos en la cantidad solicitada de líneas ADDITION     Importe adicional    
La orden se factura ORDER_INVOICE   Importe facturado Negativo de importe facturado    
La línea de pedido se divide SPLIT_LINE     Cambio en importe total    
Creación del último envío SHIPMENT_ ADJUSTMENT     Diferencia entre el importe contable y el importe facturado total    
Creación de orden de devolución TRANSFER_IN Importe transferido a la orden        
Creación de orden de devolución TRANSFER_OUT Negativo de importe transferido a la orden        
Crédito aplazado DEFERRED_CREDIT Importe diferido        

Tabla YFS_CHARGE_TRAN_DIST

Esta tabla contiene registros para reembolsos cobrados previamente que se están reembolsando. También contiene las claves de las transacciones de cargo cobrados previamente (transferencia dentro, cargo), las transacciones de cargos a las que se ha reembolsado (transferir fuera, cargo negativo) y el importe reembolsado.

Tabla 3. Campos de la tabla YFS_CHARGE_TRAN_DIST
Campo Descripción
DISTRIBUTED_FROM_CT_KEY Transacción de cargo que está asociada con esta distribución de transacción de cargo. Esta es la transacción de cargo que ha distribuido los fondos.
DISTRIBUTED_TO_CT_KEY Transacción de cargo que está asociada con esta distribución de transacción de cargo. Esta es la transacción de cargo a la que se han distribuido los fondos.
CHARGE_AMOUNT El importe que se ha distribuido al registro de transacción de cargo, DISTRIBUTED_TO_CT_KEY, desde el registro de transacción de cargo DISTRIBUTED_TO_CT_KEY.
CASH_BACK Transacción de cargo que está asociada con esta distribución de transacción de cargo. Esta es la transacción de cargo para el importe de devolución.

Tabla aYFS_ORDER_HEADER

El campo de clave relacionado con el proceso de pago en la tabla YFS_ORDER_HEADER es PAYMENT_STATUS.

Tabla YFS_CHARGE_TRAN_REQUEST

Esta tabla contiene las solicitudes para autorización de pago e identificadores La combinación de ORDER_HEADER_KEY y del identificador crea un conjunto de grupos exclusivo para la orden. Las autorizaciones se dividirán de forma que cada autorización sea para únicamente un identificador.

Tabla 4. Campos de la tabla YFS_CHARGE_TRAN_REQUEST
Campo Descripción
CHARGE_TRAN_REQUEST_KEY Clave primaria
ORDER_HEADER_KEY La orden de la solicitud.
CHARGE_TRAN_REQUEST_ID Identificador exclusivo para una solicitud del importe en una orden.
PAYMENT_STATUS Similar al estado de pago en la tabla YFS_ORDER_HEADER.
REQUEST_SEQUENCE Orden en el que los grupos están autorizados. Los registros con REQUEST_SEQUENCE no null se procesan primero; las secuencias null se ordenan por CHARGE_TRAN_REQUEST_ID, en orden ascendente.
MAX_REQUEST_AMOUNT El importe máximo que este identificador exclusivo representa antes de que la distribución a otro grupo empiece a autorizarse.

Tabla YFS_CHARGE_TRAN_RQ_MAP

Esta tabla correlaciona las solicitudes de transacción de cargo a las transacciones de cargos que las rellenan. Los registros ya no se insertan en esta tabla en modalidad CTR dinámica.

Tabla 5. Campos de la tabla YFS_CHARGE_TRAN_RQ_MAP
Campo Descripción
CHARGE_TRAN_REQUEST_ MAP_KEY Clave primaria
CHARGE_TRANSACTION_KEY Referencia a la tabla YFS_CHARGE_TRANSACTION.
CHARGE_TRAN_REQUEST_ KEY Referencia a la tabla YFS_CHARGE_TRAN_REQUEST.
REQUEST_AMOUNT Importe solicitado en la transacción de cargo correlacionada.
PROCESSED_AMOUNT Importe procesado en la transacción de cargo correlacionada.

Tabla YFS_PMNT_TRANS_ERROR

Esta tabla contiene un conjuntos de mensajes de error obtenidos de la salida de usuario durante el proceso de pago. Cuando los registros para una transacción de cargo se eliminan, cualquier error de transacción asociado con la transacción de cargo también se debe eliminar. Esto se aplica a la API changeOrder(), la API deleteOrder () y PurgeOrderAgent.

Tabla 6. Campos de la tabla YFS_PMNT_TRANS_ERROR
Campo Descripción
PMNT_TRANS_ERROR_KEY Identificador exclusivo que está asociado con este registro de error de transacción de pago.
CHARGE_TRANSACTION_KEY Transacción de cargo que está asociada con este mensaje de error de transacción de pago. Cada transacción de cargo puede tener varios mensajes.
MESSAGE_TYPE Tipo de mensaje de error para este registro de error de transacción de pago.
Mensaje Mensajes de error para este registro de error de transacción de pago.