Servicio de proceso de pago

El servicio de proceso de pago es un servicio web de entrada responsable de procesar transacciones financieras en línea, tales como autorizaciones de pagos y capturas de pagos. Este servicio web de entrada habitualmente lo invoca un sistema externo en soluciones integradas cuando el sistema externo no tiene integración directa con proveedores de servicio de pago, pero depende del sistema de proceso de pago de HCL Commerce y de sus plugins de pago para procesar transacciones financieras en línea.

Casos de uso típico

  • Autorización de pago para una tarjeta de crédito que todavía no se ha capturado como instrucción de pago
  • Captura de pago con pago ya autorizado en una transacción financiera anterior

URL de punto final y operación

El URL de punto final predeterminado de este servicio web de entrada es https://hostname:8000/webapp/wcs/services/PaymentServices. La operación de este servicio web de entrada es ProcessFinancialTransaction, con el BOD ProcessFinancialTransaction como petición y BOD AcknowledgeFinancialTransaction como respuesta.

Solicitud

Las peticiones de este servicio web de entrada están en formato de BOD ProcessFinancialTransaction. Se correlacionarán con el mandato PaymentProcessFinancialTransaction y deben contener la siguiente información:

XPath* Tipo Se correlaciona con el siguiente parámetro de mandato Descripción: Obligatorio
DataArea/Process/ActionCriteria/ ActionExpression/@actionCode string actionCode El código de acción. Debe ser "Approve", "Deposit", "ApproveAndDeposit", "Credit", "ReverseApproval", "ReverseDeposit" o "ReverseCredit". Y
DataArea/FinancialTransaction@type string actionCode Debe ser igual al código de acción. Y
DataArea/FinancialTransaction/ RequestedAmount decimal amount La cantidad solicitada. Y
DataArea/FinancialTransaction/ RequestedAmount@currency string currency Moneda de la cantidad solicitada. Y
DataArea/FinancialTransaction/Payment/

PaymentIdentifier/PaymentID

long paymentId El ID de pago del pago de HCL Commerce que se va a asociar con la transacción financiera. Se creará un nuevo pago si no se especifica paymentID. Es opcional para los códigos de acción "Approve" y "ApproveAndDeposit", necesario para "Deposit", "ReverseApproval" y "ReverseDeposit". N
DataArea/FinancialTransaction/Credit/ CreditIdentifier/CreditID long creditId El ID de abono del abono de HCL Commerce que se va a asociar con la transacción financiera. Se creará un nuevo abono si no se especifica creditID. Es opcional para los códigos de acción "Credit", necesario para "ReverseCredit". N
DataArea/FinancialTransaction/*/ PaymentInstruction/PaymentInstructionIdentifier/ PaymentInstructionID long paymentInstructionId El ID de las instrucciones de pago de HCL Commerce que se va a asociar con la transacción financiera y el pago (o abono). Si no se especifica un ID de pago (o un ID de abono) ni un ID de instrucción de pago, se creará un nuevo pago y una nueva instrucción de pago a partir de la información proporcionada. N
DataArea/FinancialTransaction/*/ PaymentInstruction/StoreID int storeId HCL Commerce ID de tienda de la instrucción de pago. Es necesario si se crea una nueva instrucción de pago. N
DataArea/FinancialTransaction/*/ PaymentInstruction/OrderIdentifier/OrderID long orderId HCL Commerce ID de pedido de la instrucción de pago, si procede. Se utiliza si se crea una nueva instrucción de pago. N
DataArea/FinancialTransaction/*/ PaymentInstruction/PaymentConfigurationID string paymentConfigurationGroupId ID de configuración de pago de HCL Commerce. Debe establecerse en "default" salvo que se indique lo contrario. Es necesario si se crea una nueva instrucción de pago. N
DataArea/FinancialTransaction/*/ PaymentInstruction/PaymentSystemName string paymentSystemName Nombre del sistema de pago de HCL Commerce que se va a asociar con la instrucción de pago, por ejemplo, "SimpleOffline". Es necesario si se crea una nueva instrucción de pago y no se especifica el nombre del método de pago. N
DataArea/FinancialTransaction/*/ PaymentInstruction/PaymentMethodName string paymentMethodName Nombre del método de pago de HCL Commerce que se va a asociar con la instrucción de pago, por ejemplo, "VISA". Es necesario si se crea una nueva instrucción de pago y no se especifica el nombre del sistema de pago. N
DataArea/FinancialTransaction/*/ PaymentInstruction/ExtendedData[i]/@name string extendedDataName_i Nombre de los i-th datos ampliados de la instrucción de pago. Es necesario si se crea una nueva instrucción de pago. Algunos plug-ins de pago pueden requerir datos ampliados adicionales específicos del plug-in. Para obtener detalles, consulte su documentación correspondiente. N
DataArea/FinancialTransaction/*/ PaymentInstruction/ExtendedData[i] string extendedDataValue_j Nombre de los i-th datos ampliados de la instrucción de pago. Es necesario si se crea una nueva instrucción de pago. N

* Los prefijos de espacios de nombres se ignoran para una mayor sencillez.

Ejemplos

Respuesta

Las respuestas de este servicio web de entrada están en formato de BOD AcknowledgeFinancialTransaction. Incluirán la siguiente información:

XPath* Tipo Descripción:
DataArea/FinancialTransaction/FinancialTransactionIdentifier/ FinancialTransactionID long ID de la transacción financiera de HCL Commerce.
DataArea/FinancialTransaction/RequestedAmount decimal La cantidad solicitada.
DataArea/FinancialTransaction/RequestedAmount/@currency string Moneda de la cantidad solicitada.
DataArea/FinancialTransaction/ProcessedAmount decimal La cantidad que se ha procesado realmente (por ejemplo, aprobada). 0 si la transacción financiera está pendiente.
DataArea/FinancialTransaction/ProcessedAmount/@currency string Moneda de la cantidad procesada.
DataArea/FinancialTransaction/State string Estado de la transacción financiera. El estado puede ser:
  • "Pendiente": la transacción financiera está pendiente, normalmente el caso de una transacción financiera fuera de línea.
  • "Satisfactoria": la transacción financiera se realiza satisfactoriamente.
  • "Anómala": la transacción financiera ha fallado.
  • "Cancelada": la transacción financiera se ha cancelado antes de completarse.
DataArea/FinancialTransaction/ReferenceNumber string Número de referencia de la transacción financiera devuelta por el proveedor de servicios de pago.
DataArea/FinancialTransaction/ResponseCode string Código de respuesta devuelto por el proveedor de servicios de pago. Normalmente se establece en 0 si la transacción financiera es satisfactoria o un valor distinto de cero si no lo es; de lo contrario es específico del plug-in de pago. Consulte el Especificación de los plug-ins de pago para obtener más información.
DataArea/FinancialTransaction/ReasonCode string Código de razón (código de respuesta secundario) devuelto por el proveedor de servicios de pago. Normalmente se establece en 0 si la transacción financiera es satisfactoria o un valor distinto de cero si no lo es; de lo contrario es específico del plug-in de pago. Consulte el Especificación de los plug-ins de pago para obtener más información.
DataArea/FinancialTransaction/ReasonMessage string Mensaje de razón devuelto por el proveedor de servicios de pago. Normalmente solo se establece si falla la transacción financiera; de lo contrario, es especifico del plug-in de pago. Consulte el Especificación de los plug-ins de pago para obtener más información.
DataArea/FinancialTransaction/TrackingID string ID de seguimiento devuelto por el plug-in de pago. Consulte el Especificación de los plug-ins de pago para obtener más información.
DataArea/FinancialTransaction/TimeCreated dateTime Hora en que se creó la transacción financiera.
DataArea/FinancialTransaction/TimeUpdated dateTime Hora en que se actualizó la transacción financiera.
DataArea/FinancialTransaction/Payment/PaymentIdentifier/PaymentID long ID del pago de HCL Commerce asociado con la transacción financiera. Se debe almacenar para futuras transacciones financieras en el mismo pago, por ejemplo, la petición de captura de pago que sigue a una petición de autorización de pago.

* Los prefijos de espacios de nombres se ignoran para una mayor sencillez.

Ejemplos

Excepciones

Todas las excepciones se devolverán en formato de BOD AcknowledgeFinancialTransaction con un elemento ResponseCriteria bajo del verbo Acknowledge. Incluirán la siguiente información:

XPath* Tipo Descripción:
DataArea/Acknowledge/ResponseCriteria/ChangeStatus/Code string El identificador de correlación. Se puede utilizar para identificar de forma exclusiva una excepción en los registros de servidor.
DataArea/Acknowledge/ResponseCriteria/ChangeStatus/ReasonCode string El código de razón, que es un HCL Commercecódigo de error del sistema HCL Commercecódigo de error del sistema, más un código de error secundario opcional si el código de error del sistema de HCL Commerce no está disponible (generalmente en el caso de excepciones de aplicación).
DataArea/Acknowledge/ResponseCriteria/ChangeStatus/Reason string El mensaje de excepción.

* Los prefijos de espacios de nombres se ignoran para una mayor sencillez.

Ejemplos

Nota: Los atributos releaseID y versionID deben estar en blanco al llamar al servicio de proceso de pago e ignorar los atributos devueltos en el BOD de respuesta.