Proceso de pago
Los servicios de proceso de pago son servicios de entrada proporcionados por el componente HCL Commerce Payments. El primer servicio, el servicio obtener entidad de pago, se utiliza para consultar el estado de abonos, pagos e instrucciones de pago. El segundo servicio, el servicio procesar acción de pago, se utiliza para procesar las siguientes acciones de pago:
- Aprobar pago
- Aprobar y depositar pago
- Consultar instrucción de pago
- Cerrar instrucción de pago
- Crear abono
- Crear pago
- Crear instrucción de pago
- eliminar instrucción de pago
- Depositar pago
- Editar abono
- Editar pago
- Editar instrucción de pago
- Anular pago aprobado
- Anular abono
- Anular pago depositado
- Validar instrucción de pago
Las solicitudes para el servicio obtener entidad de pago están en forma de documentos de objetos de negocio (BOD) GetPaymentEntity.
Las respuestas del servicio obtener entidad de pago están en forma de documentos de objetos de negocio (BOD) ShowPaymentEntity, o de errores SOAP en caso de excepciones.
Las solicitudes para el servicio procesar acción de pago están en forma de documentos de objetos de negocio (BOD) ProcessPaymentAction.
Las respuestas del servicio procesar acción de pago están en forma de documentos de objetos de negocio (BOD) AcknowledgePaymentAction, o de errores SOAP en caso de excepciones.
Mapping
El servicio obtener entidad de pago se correlaciona con el mandato PaymentEntityGet. La tabla siguiente describe cómo se correlacionará el BOD GetPaymentEntity con los parámetros de entrada de este mandato:
XPath | Descripción: | Parámetro de entrada | Obligatoria |
---|---|---|---|
DataArea/PaymentEntity/PaymentContext | este elemento describe el contexto de pago | ||
DataArea/PaymentEntity/PaymentContext/ChannelId | el ID de canal | channelId | y |
DataArea/PaymentEntity/PaymentContext/Locale | el entorno local | entorno nacional | y |
DataArea/PaymentEntity/PaymentContext/PaymentConfigurationGroupId | el ID de grupo de configuración de pago | paymentConfigurationGroupId | y |
DataArea/PaymentEntity/PaymentContext/StoreId | el ID de la tienda HCL Commerce. | storeId | y |
DataArea/PaymentEntity/Credit/Id | el ID de abono | creditId | n |
DataArea/PaymentEntity/Payment/Id | el ID de pago | paymentId | n |
DataArea/PaymentEntity/PaymentInstruction/Id | el ID de instrucción de pago | paymentInstructionId | n |
El servicio procesar acción de pago se correlaciona con el mandato PaymentActionProcess. La tabla siguiente describe cómo se correlacionará el BOD ProcessPaymentAction con los parámetros de entrada de este mandato:
XPath | Parámetro de entrada | Obligatoria | Descripción: |
---|---|---|---|
DataArea/PaymentAction/PaymentContext | este elemento describe el contexto de pago | ||
DataArea/PaymentAction/PaymentContext/ChannelId | channelId | y | el ID de canal |
DataArea/PaymentAction/PaymentContext/Locale | entorno nacional | y | el entorno local |
DataArea/PaymentAction/PaymentContext/PaymentConfigurationGroupId | paymentConfigurationGroupId | y | el ID de grupo de configuración de pago |
DataArea/PaymentAction/PaymentContext/StoreId | storeId | y | el ID de la tienda HCL Commerce |
DataArea/PaymentAction/Action | acción | y | la acción de pago. Puede ser una de las siguientes: createPaymentInstruction
|
DataArea/PaymentAction/Amount | amount | n | el importe a aprobar y/o depositar de un pago, o a abonar de un abono |
DataArea/PaymentAction/ReasonCode | reasonCode | n | el código de razón (para editPayment/editCredit) |
DataArea/PaymentAction/ReferenceNumber | referenceNumber | n | el número de referencia (para editPayment/editCredit) |
DataArea/PaymentAction/ResponseCode | responseCode | n | el código de respuesta (para editPayment/editCredit) |
DataArea/PaymentAction/ExtendedData | los datos ampliados (para editPayment/editCredit) | ||
DataArea/PaymentAction/ExtendedData/NameValuePair[i] | n | la pareja nombre-valor (NVP) de datos ampliados de i-th |
|
DataArea/PaymentAction/ExtendedData/NameValuePair[i]/Name | extendedDataName_i | n | el nombre de la i-th NVP |
DataArea/PaymentAction/ExtendedData/NameValuePair[i]/Value | extendedDataValue_i | n | el valor de la NVP de i-th |
DataArea/PaymentAction/PaymentEntity/Credit | este elemento describe el abono (para createCredit/editCredit/credit) | ||
DataArea/PaymentAction/PaymentEntity/Credit/Id | creditId | n | el ID de abono |
DataArea/PaymentAction/PaymentEntity/Credit/State | estado | n | el estado de abono |
DataArea/PaymentAction/PaymentEntity/Credit/PaymentInstruction/Id | paymentInstructionId | n | el ID de instrucción de pago |
DataArea/PaymentAction/PaymentEntity/Payment | este elemento describe el pago (para createPayment/editPayment/approve/approveAndDeposit) | ||
DataArea/PaymentAction/PaymentEntity/Payment/Id | paymentId | n | el ID de pago |
DataArea/PaymentAction/PaymentEntity/Payment/State | estado | n | el estado de pago |
DataArea/PaymentAction/PaymentEntity/Payment/PaymentInstruction/Id | paymentInstructionId | n | el ID de instrucción de pago |
DataArea/PaymentAction/PaymentEntity/PaymentInstruction | este elemento describe la instrucción de pago (para createPaymentInstruction, etc.) Nota: Solo se acepta una instrucción de pago para cada acción relacionada con PaymentInstruction |
||
DataArea/PaymentAction/PaymentEntity/PaymentInstruction/Id | paymentInstructionId | n | el ID de instrucción de pago |
DataArea/PaymentAction/PaymentEntity/PaymentInstruction/Amount | amount | n | la cantidad de la instrucción de pago |
DataArea/PaymentAction/PaymentEntity/PaymentInstruction/ | currency | n | la moneda de la instrucción de pago |
DataArea/PaymentAction/PaymentEntity/PaymentInstruction/OrderId | ordered | n | el ID de pedido de la instrucción de pago |
DataArea/PaymentAction/PaymentEntity/PaymentInstruction/PaymentSystemName | paymentSystemName | n | el nombre del sistema de pago de la instrucción de pago |
DataArea/PaymentAction/PaymentEntity/PaymentInstruction/ExtendedData | los datos ampliados de la instrucción de pago | ||
DataArea/PaymentAction/PaymentEntity/PaymentInstruction/ExtendedData/NameValuePair[i] | la NVP de datos ampliados de i-th de la instrucción de pago |
||
DataArea/PaymentAction/PaymentEntity/PaymentInstruction/ExtendedData/NameValuePair[i]/Name | extendedDataName_i | n | el nombre de la i-th NVP |
DataArea/PaymentAction/PaymentEntity/PaymentInstruction/ExtendedData/NameValuePair[i]/Value | extendedDataValue_i | n | el valor de la NVP de i-th |
Ejemplo
Lo siguiente es una solicitud de ejemplo para el servicio procesar acción de pago y la respuesta correspondiente:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>er>
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsswssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>wcsadmin</wsse:Username>
<wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wssusername-token-profile-1.0#PasswordText">*********</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<wc:ProcessPaymentAction
releaseID="9.0" version="9.1"
versionID="9.1"
xmlns:oa="http://www.openapplications.org/oagis/9"
xmlns:wc="http://www.ibm.com/xmlns/prod/WebSphereCommerce"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.ibm.com/xmlns/prod/WebSphereCommerce
../BODs/ProcessPaymentAction.xsd
">
<oa:ApplicationArea>
<oa:CreationDateTime>2001-12-31T12:00:00</oa:CreationDateTime>
<oa:BODID>2001-12-31T12:00:00[wcsadmin]localhost</oa:BODID>
</oa:ApplicationArea>
<wc:DataArea>
<oa:Process/>
<wc:PaymentAction>
<wc:PaymentContext>
<wc:ChannelId>-1</wc:ChannelId>
<wc:Locale>en_US</wc:Locale>
<wc:PaymentConfigurationGroupId>default</wc:PaymentConfigurationGroupId>
<wc:StoreId>10001</wc:StoreId>
</wc:PaymentContext>
<wc:Action>createPaymentInstruction</wc:Action>
<wc:PaymentEntity>
<wc:PaymentInstruction>
<wc:Amount>100.0</wc:Amount>
<wc:Currency>USD</wc:Currency>
<wc:PaymentSystemName>SimpleOffline</wc:PaymentSystemName>
<wc:ExtendedData>
<wc:NameValuePair>
<wc:Name>payment_method</wc:Name>
<wc:Value>VISA</wc:Value>
</wc:NameValuePair>
<wc:NameValuePair>
<wc:Name>cc_brand</wc:Name>
<wc:Value>VISA</wc:Value>
</wc:NameValuePair>
<wc:NameValuePair>
<wc:Name>account</wc:Name>
<wc:Value>4111111111111111</wc:Value>
</wc:NameValuePair>
<wc:NameValuePair>
<wc:Name>expire_month</wc:Name>
<wc:Value>01</wc:Value>
</wc:NameValuePair>
<wc:NameValuePair>
<wc:Name>expire_year</wc:Name>
<wc:Value>2010</wc:Value>
</wc:NameValuePair>
<wc:NameValuePair>
<wc:Name>account</wc:Name>
<wc:Value>4111111111111111</wc:Value>
</wc:NameValuePair>
<wc:NameValuePair>
<wc:Name>billto_address1</wc:Name>
<wc:Value>123 Main
Street</wc:Value>
</wc:NameValuePair>
<wc:NameValuePair>
<wc:Name>billto_city</wc:Name>
<wc:Value>Toronto</wc:Value>
</wc:NameValuePair>
<wc:NameValuePair>
<wc:Name>billto_stateprovince</wc:Name>
<wc:Value>ON</wc:Value>
</wc:NameValuePair>
<wc:NameValuePair>
<wc:Name>billto_country</wc:Name>
<wc:Value>CA</wc:Value>
</wc:NameValuePair>
<wc:NameValuePair>
<wc:Name>billto_zipcode</wc:Name>
<wc:Value>M1M1M1</wc:Value>
</wc:NameValuePair>
</wc:ExtendedData>
</wc:PaymentInstruction>
</wc:PaymentEntity>
</wc:PaymentAction>
</wc:DataArea>
</wc:ProcessPaymentAction>
</soapenv:Body>
</soapenv:Envelope>
Lo siguiente es una solicitud de ejemplo para el servicio obtener entidad de pago y la respuesta correspondiente:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>t;
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsswssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>wcsadmin</wsse:Username>t;
<wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wssusername-token-profile-1.0#PasswordText">wcs1admin</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>t;
<wc:GetPaymentEntity releaseID="9.0" version="9.1"
versionID="9.1"
xmlns:oa="http://www.openapplications.org/oagis/9"
xmlns:wc="http://www.ibm.com/xmlns/prod/WebSphereCommerce"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.ibm.com/xmlns/prod/WebSphereCommerce
../BODs/GetPaymentEntity.xsd ">
<oa:ApplicationArea>
<oa:CreationDateTime>2001-12-31T12:00:00</oa:CreationDateTime>
<oa:BODID>2001-12-31T12:00:00[wcsadmin]localhost</oa:BODID>
</oa:ApplicationArea>
<wc:DataArea>
<oa:Get>
<oa:Expression/>
</oa:Get>
<wc:PaymentEntity>
<wc:PaymentContext>
<wc:ChannelId>-1</wc:ChannelId>
<wc:Locale>en_US</wc:Locale>
<wc:PaymentConfigurationGroupId>default</wc:PaymentConfigurationGroupId>
<wc:StoreId>10001</wc:StoreId>
</wc:PaymentContext>
<wc:PaymentInstruction>
<wc:Id>14001</wc:Id>
</wc:PaymentInstruction>
</wc:PaymentEntity>
</wc:DataArea>
</wc:GetPaymentEntity>
</soapenv:Body>
</soapenv:Envelope>
Respuesta:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header/>
<soapenv:Body>
<wc:ShowPaymentEntity releaseID="9.0" versionID="9.1"
xmlns:oa="http://www.openapplications.org/oagis/9"
xmlns:wc="http://www.ibm.com/xmlns/prod/WebSphereCommerce">
<oa:ApplicationArea>
<oa:CreationDateTime>2006-01-03T12:55:37</oa:CreationDateTime>
<oa:BODID>2006-01-03T12:55:37[wcsadmin]</oa:BODID>
</oa:ApplicationArea>t;
<wc:DataArea>
<oa:Show/>
<wc:PaymentEntity>
<wc:PaymentInstruction>
<wc:Id>14001</wc:Id>
<wc:AccountNumber>***********11111</wc:AccountNumber>
<wc:Amount>100.00000</wc:Amount>
<wc:ApprovedAmount>0.00000</wc:ApprovedAmount>
<wc:ApprovingAmount>0.00000</wc:ApprovingAmount>
<wc:CreditedAmount>0.00000</wc:CreditedAmount>
<wc:CreditingAmount>0.00000</wc:CreditingAmount>
<wc:Currency>USD</wc:Currency>
<wc:DepositedAmount>0.00000</wc:DepositedAmount>
<wc:DepositingAmount>0.00000</wc:DepositingAmount>
<wc:OrderId/>
<wc:PaymentConfigurationId>default</wc:PaymentConfigurationId>
<wc:PaymentSystemName>SimpleOffline</wc:PaymentSystemName>
<wc:Retriable>false</wc:Retriable>
<wc:ReversingApprovedAmount>0.00000</wc:ReversingApprovedAmount>
<wc:ReversingCreditedAmount>0.00000</wc:ReversingCreditedAmount>
<wc:ReversingDepositedAmount>0.00000</wc:ReversingDepositedAmount>
<wc:RmaId/>
<wc:State>1</wc:State>
<wc:StoreId>10001</wc:StoreId>
<wc:TimeCreated>2006-01-03T12:51:55</wc:TimeCreated>
<wc:TimeUpdated>2006-01-03T12:51:56</wc:TimeUpdated>
<wc:ExtendedData>
<wc:NameValuePair>
<wc:Name>billto_country</wc:Name>
<wc:Value>CA</wc:Value>
</wc:NameValuePair>
<wc:NameValuePair>
<wc:Name>billto_stateprovince</wc:Name>
<wc:Value>ON</wc:Value>
</wc:NameValuePair>
<wc:NameValuePair>
<wc:Name>billto_address1</wc:Name>
<wc:Value>123 Main
Street</wc:Value>
</wc:NameValuePair>
<wc:NameValuePair>
<wc:Name>expire_year</wc:Name>
<wc:Value>2010</wc:Value>
</wc:NameValuePair>
<wc:NameValuePair>
<wc:Name>account</wc:Name>
<wc:Value>***********11111</wc:Value>
</wc:NameValuePair>
<wc:NameValuePair>
<wc:Name>billto_city</wc:Name>
<wc:Value>Toronto</wc:Value>
</wc:NameValuePair>
<wc:NameValuePair>
<wc:Name>billto_zipcode</wc:Name>
<wc:Value>M1M1M1</wc:Value>
</wc:NameValuePair>
<wc:NameValuePair>
<wc:Name>expire_month</wc:Name>
<wc:Value>01</wc:Value>
</wc:NameValuePair>
<wc:NameValuePair>
<wc:Name>cc_brand</wc:Name>
<wc:Value>VISA</wc:Value>
</wc:NameValuePair>
<wc:NameValuePair>
<wc:Name>payment_method</wc:Name>
<wc:Value>VISA</wc:Value>
</wc:NameValuePair>
</wc:ExtendedData>
</wc:PaymentInstruction>
</wc:PaymentEntity>
</wc:DataArea>
</wc:ShowPaymentEntity>
</soapenv:Body>
</soapenv:Envelope>
WSDL
El archivo WSDL de este servicio se encuentra en el archivo JAR siguiente:
- workspace_dir/WebSphereCommerceWebServices.jar
Bajo la vía de acceso siguiente:
META-INF/jaxrpc/WebSphereCommerce/WebSphereCommerce-OMS.wsdl