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/ |
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
- ProcessFinancialTransaction BOD 1 de ejemplo: petición de aprobación
- ProcessFinancialTransaction BOD 2 de ejemplo: petición de depósito
- ProcessFinancialTransaction BOD 3 de ejemplo: petición de aprobación y depósito
- ProcessFinancialTransaction BOD 4 de ejemplo: petición de abono
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:
|
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
- AcknowledgeFinancialTransaction BOD 1 de ejemplo: respuesta de una petición de aprobación satisfactoria
- AcknowledgeFinancialTransaction BOD 2 de ejemplo: respuesta de una petición de depósito satisfactoria
- AcknowledgeFinancialTransaction BOD 3 de ejemplo: respuesta de una petición de aprobación y depósito satisfactoria
- AcknowledgeFinancialTransaction BOD 4 de ejemplo: respuesta de una petición de abono satisfactoria
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
- AcknowledgeFinancialTransaction BOD 5 de ejemplo: respuesta de excepción cuando la tarjeta de crédito ha caducado
- AcknowledgeFinancialTransaction BOD 6 de ejemplo: respuesta de excepción cuando falta un parámetro necesario