El código XML siguiente es el perfil de cajero estándar que se proporciona en WebSphere Commerce para el casete para SET.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Profile SYSTEM "../../../../xml/PaymentManager/profile.dtd">
<!--
//*==================================================================
//* Material bajo licencia - Propiedad de IBM
//*
//* 5724-A18
//*
//* (c) Copyright IBM Corp. 2001
//*
//* Derechos restringidos de los usuarios del Gobierno de EE.UU. - Utilización,
//* duplicación o divulgación restringida por el GSA ADP Schedule Contract con IBM Corp.
//*
//*================================================================== -->
<!-- ==================================================================
Este es el perfil de cajero WC 5.1 estándar para el casete para SET
de Payment Manager
================================================================== -->
<Profile useWallet="true" enableTrace="true" >
<CollectPayment>
<!-- ==================================================================
Los parámetros que necesita Payment Manager para la creación de pedidos
================================================================== -->
<Parameter name="PAYMENTTYPE"><CharacterText>SET</CharacterText></Parameter>
<Parameter name="MERCHANTNUMBER"><CharacterText>{storeId}</CharacterText></Parameter>
<Parameter name="ORDERNUMBER"><CharacterText>{orderId}</CharacterText></Parameter>
<Parameter name="CURRENCY"><CharacterText>{CURRENCY}</CharacterText></Parameter>
<Parameter name="AMOUNT"><CharacterText>{AMOUNT}</CharacterText></Parameter>
<Parameter name="AMOUNTEXP10"><CharacterText>{AMOUNTEXP10}</CharacterText></Parameter>
<!-- ==================================================================
Parámetros opcionales para Payment Manager
================================================================== -->
<!-- Indica cómo se debe intentar la aprobación automática del pedido
Los valores soportados son:
0 - sin aprobación automática
1 - aprobación automática síncrona - Payment Manager intenta la aprobación
como parte de la operación de creación de pedidos
2 - aprobación automática asíncrona - Payment Manager planifica una operación
de aprobación una vez creado el pedido
El valor por omisión es 0.
Dado que se utiliza una aplicación monedero, Payment Manager ha de devolver un mensaje de
activación a WC para que lo envíe al comprador. De este modo, se completa el mandato DoPayment.
Especificar un valor de 1 para APPROVEFLAG significa que la aplicación monedero recibirá la
respuesta de compra de Payment Manager después de que se haya recibido la respuesta
de autorización de la pasarela de pago.
-->
<Parameter name="APPROVEFLAG"><CharacterText>1</CharacterText></Parameter>
<!-- El importe que debe utilizarse cuando se aprueba un pedido. Generalmente,
será igual al importe del pedido. Este campo es necesario
si APPROVEFLAG se establece en 1 ó 2. -->
<Parameter name="PAYMENTAMOUNT"><CharacterText>{approval_amount}</CharacterText></Parameter>
<!-- El número de pago que debe utilizarse cuando se aprueba un pedido.
Generalmente será 1. Este campo es obligatorio si APPROVEFLAG
se establece en 1 ó 2. -->
<Parameter name="PAYMENTNUMBER"><CharacterText>1</CharacterText></Parameter>
<!-- Indica si el depósito debe intentarse automáticamente.
Este distintivo sólo es válido si APPROVEFLAG se establece en 1 ó 2.
Los valores soportados son:
0 - Los fondos no deben depositarse automáticamente.
1 - Los fondos deben depositarse automáticamente.
El valor por omisión es 0.
-->
<Parameter name="DEPOSITFLAG"><CharacterText></CharacterText></Parameter>
<!-- Los dos parámetros siguientes son opcionales. Puede utilizarse cualquiera de
los dos para pasar el número de orden de compra del comprador a Payment Manager. El
primer parámetro sólo acepta texto ASCII. Si los números de orden de compra de su
sistema pueden contener series no ASCII, utilice entonces el parámetro ORDERDATA2.
-->
<Parameter name="TRANSACTIONID" maxBytes="128" encoding="ASCII"><CharacterText>{PONumber}</CharacterText></Parameter>
<Parameter name="ORDERDATA2"><CharacterText></CharacterText></Parameter>
<!-- ==================================================================
Los parámetros que necesita el casete
================================================================== -->
<Parameter name="$SUCCESSURL"><CharacterText>http://{WCHostName}{WebPath}/PaySuccessView?storeId={storeId}&orderId={orderId}&langId={buyer_language_id}</CharacterText></Parameter>
<Parameter name="$FAILUREURL"><CharacterText>http://{WCHostName}{WebPath}/PayResetPM?storeId={storeId}&orderId={orderId}&fail=1&langId={buyer_language_id}&URL=PayFailureView</CharacterText></Parameter>
<Parameter name="$CANCELURL" ><CharacterText>http://{WCHostName}{WebPath}/PayResetPM?storeId={storeId}&orderId={orderId}&cancel=1&langId={buyer_language_id}&URL=PayCancelView</CharacterText></Parameter>
<Parameter name="$SERVICEURL"><CharacterText>http://{WCHostName}{WebPath}/PayServiceView?storeId={storeId}&orderId={orderId}&langId={buyer_language_id}</CharacterText></Parameter>
<!-- El atributo de codificación indica al cajero que los bytes para
OrderDescription pueden obtenerse de la Serie devuelta utilizando la
codificación de caracteres 8859_1 ya que así es cómo la clase GenericExtension
ha codificado los bytes. Los bytes resultantes están en el idioma del peticionario. -->
<Parameter name="$ORDERDESCRIPTION" encoding="8859_1" >
<ExtensionValue name="com.ibm.commerce.payment.extensions.GenericExtension" />
</Parameter>
<!-- ==================================================================
Parámetros opcionales para el casete
================================================================== -->
<!-- La dirección del titular de la tarjeta. De 1 a 128 caracteres ASCII.-->
<Parameter name="$AVS.STREETADDRESS" maxBytes="128" encoding="ASCII"><CharacterText>{billto_address1}</CharacterText></Parameter>
<!-- La ciudad del titular de la tarjeta. De 1 a 50 caracteres ASCII.-->
<Parameter name="$AVS.CITY" maxBytes="50" encoding="ASCII"><CharacterText>{billto_city}</CharacterText></Parameter>
<!-- El estado o provincia del titular de la tarjeta. De 1 a 50 caracteres ASCII.-->
<Parameter name="$AVS.STATEPROVINCE" maxBytes="50" encoding="ASCII"><CharacterText>{billto_state}</CharacterText></Parameter>
<!-- El código postal del titular de la tarjeta. De 1 a 14 caracteres ASCII. -->
<Parameter name="$AVS.POSTALCODE" maxBytes="14" encoding="ASCII"><CharacterText>{billto_zipcode}</CharacterText></Parameter>
<!-- El código de país ISO 3166 (3 dígitos) del titular de la tarjeta. Este campo es
necesario si se pasan otros datos AVS. -->
<Parameter name="$AVS.COUNTRYCODE"><CharacterText>{billto_country_code}</CharacterText></Parameter>
<!-- Un identificador que utiliza el comerciante para especificar una de sus ubicaciones.
El valor se especifica como una serie. De 1 a 10 caracteres ASCII. -->
<Parameter name="$AVS.LOCATIONID" maxBytes="10" encoding="ASCII"><CharacterText></CharacterText></Parameter>
<!-- Indica el tipo de contenido y el juego de caracteres del parámetro
$ORDERDESCRIPTION. Puede que algún monedero requiera que la cabecera Content-Type
del mensaje de inicio de pago incluya la especificación de juego de caracteres.
En ese caso, especifique "text/plain; charset={language_encoding}"
sin las comillas como el valor del parámetro $CHARSET.
-->
<Parameter name="$CHARSET"><CharacterText></CharacterText></Parameter>
<!-- Uno de los dos campos de la estructura merchData; cuando se especifica,
el casete lo utilizará. El valor debe ser una serie numérica de cuatro caracteres.
Nota: El requisito de utilizar este campo provendrá del adquirente.-->
<Parameter name="$MERCHCATCODE"><CharacterText></CharacterText></Parameter>
<!-- Uno de los dos campos de la estructura merchData; cuando se especifica,
el casete lo utilizará. El valor debe ser una serie numérica entre
"1" y "8". La semántica de los valores posibles se describe en la especificación
SET. Nota: El requisito de utilizar este campo provendrá
del adquirente. -->
<Parameter name="$MERCHGROUP"><CharacterText></CharacterText></Parameter>
<!-- El campo MerOrderNum está en la estructura SaleDetail de los mensajes
CapReq y AuthReq (ahora con capturas). El valor debe ser una serie de
caracteres con una longitud máxima de 24 caracteres. -->
<Parameter name="$MERORDERNUM"><CharacterText></CharacterText></Parameter>
<!-- Indica si un comerciante puede aprobar o no envíos adicionales.
Los valores soportados son:
0-Indica que este es el pago final del pedido.
1-Indica que el comerciante puede aprobar pagos aplazados
adicionales para el pedido. -->
<Parameter name="$SPLITALLOWED"><CharacterText>1</CharacterText></Parameter>
<!-- Se utiliza para indicar que una petición de compra de entrada procedente de una aplicación
monedero debe contener un certificado de titular de la tarjeta. Si se omite esta palabra clave,
se permitirán las compras sin certificados. Los valores válidos son:
0: Indica que no son necesarios certificados de titular de la tarjeta.
1: Indica que es necesario el certificado de titular de la tarjeta.
-->
<Parameter name="$REQUIRECARDCERT"><CharacterText>1</CharacterText></Parameter>
</CollectPayment>
<Command name="DEPOSIT">
<!-- ==================================================================
Los parámetros que necesita Payment Manager para el mandato DEPOSIT
================================================================== -->
<Parameter name="MERCHANTNUMBER"><CharacterText>{storeId}</CharacterText></Parameter>
<Parameter name="ORDERNUMBER"><CharacterText>{orderId}</CharacterText></Parameter>
<Parameter name="PAYMENTNUMBER"><CharacterText>{payment_number}</CharacterText></Parameter>
<Parameter name="AMOUNT"><CharacterText>{AMOUNT}</CharacterText></Parameter>
</Command>
</Profile>
Este perfil, WC51_SET_Wallet.profile, puede encontrarlo en:
unidad:\WebSphere\CommerceServer\instances\nombre_instancia\xml\payment\
unidad:\Archivos
de programa\WebSphere\CommerceServer\instances\nombre_instancia\xml\payment\
/usr/WebSphere/CommerceServer/instances/nombre_instancia/xml/payment/
/opt/WebSphere/CommerceServer/instances/nombre_instancia/xml/payment/
vía de acceso
raíz de instancia/xml/payment/
donde vía de acceso raíz de instancia es la vía de acceso que ha especificado
en el campo Vía de acceso raíz de la instancia del panel Instancia del Gestor de
configuración durante la creación de la instancia. La vía de acceso por omisión
es /QIBM/UserData/WebCommerce/instances/nombre_instancia/.
El parámetro PAYMENTTYPE especifica el nombre del casete del perfil.
WebSphere Commerce no utiliza el elemento <BuyPageInformation> del perfil de cajero. Se proporciona una función equiparable con la propiedad attrPageName de la política de pago.
El perfil utiliza la clase GenericExtension para obtener el valor para el parámetro $ORDERDESCRIPTION (necesario para generar el mensaje de iniciación de pago para el monedero) llamando al mandato de tarea GetOrderDescCmd. De este modo, diferentes tiendas pueden tener diferentes implementaciones del mandato GetOrderDescCmd y, aún así, utilizar el mismo perfil de cajero.
Este perfil especifica PaySuccessView, PayFailureView, PayCancelView y PayServiceView para los parámetros $SUCCESSURL, $FAILUREURL, $CANCELURL y $SERVICEURL. Tenga en cuenta también el mandato PayResetPM para $FAILUREURL y $CANCELURL. fail=1 y cancel=1 son parámetros para el archivo JSP de ejemplo por omisión, PayStatusPM.jsp, que utilizan tanto PayFailureView como PayCancelView. El parámetro indica al archivo JSP que muestre mensajes diferentes al cliente dependiendo de qué parámetro se haya establecido.
Para obtener más información sobre PaySuccessView, PayFailureView, PayCancelView y PayServiceView, consulte Archivos JSP de pago personalizables.
Para obtener más información sobre los parámetros que necesita el Casete para SET, consulte la publicación IBM WebSphere Payment Manager for Multiplatforms, Cassette for SET Supplement, Version 3.1.
![]() |