HCL Commerce Enterprise

Cambiar el contrato predeterminado

Para modificar el contrato predeterminado sin utilizar la interfaz de usuario, debe exportar el contrato predeterminado y realizar cambios en el archivo XML de contrato y, a continuación, importar el contrato modificado.

Procedimiento

  1. Escriba el siguiente SQL para recuperar el id de contrato (contract_id) y el id de tienda (store_id).
    
    select contract_id, store_id from storedef where store_id 
    = (select storeent_id from storeent where identifier =
    'ConsumerDirect'); 
    
  2. Exporte el contrato predeterminado como un archivo XML.

    Utilice el id_contrato recuperado del paso 1 para exportar el archivo ConsumerDirectDefaultContract.xml del directorio workspace_dir\WC\xml\trading\xml.

    1. Añada el contenido siguiente al archivo struts-config-ext.xml (para HCL Commerce Versión 9.0.0.x) o struts-wcs-stores-custom.xml (para Versión 9.0.1.0+) antes de la etiqueta </action-mappings>:
      Para la versión 9.0.0.x:
      
      <action 
                 parameter="com.ibm.commerce.contract.commands.ContractExportCmd" 
                  path="/ContractExport"
                  type="com.ibm.commerce.struts.BaseAction"> 
               <set-property property="authenticate"
                          value="0:0"/> 
               <set-property property="https" value="0:1"/> 
              </action>
      
      <action 
          class="com.ibm.commerce.struts.v2.BaseAction" 
          name="ContractExport">
      <param name="parameter">com.ibm.comerce.contract.commands.ContractExportCmd</param>
      <param name="authenticate">0:0</param>
      <param name="https">0:1</param>
      </action>
    2. Renueve el registro de configuración de Struts en la Consola de administración o reinicie el servidor.
  3. Modifique el contrato predeterminado para incluir el método de pago.
    1. Edite el archivo ConsumerDirectDefaultContract.xml. Al final de la etiqueta </BuyerContract>, añada Payment TC.
      
       <!-- Payment TC --> 
      
      <PaymentTC mandatory = "false" changeable = "false" >
      <PaymentMethod>
      <PaymentPolicyRef policyName = "PayLater">
      <StoreRef name = "ConsumerDirect">
      <Owner>
      <OrganizationRef distinguishName = "ou=b2c,o=seller
      organization,o=root organization"/>
      </Owner>
      </StoreRef>
      </PaymentPolicyRef>
      <PaymentMethodDisplayString name = "Pay Later"/>
      </PaymentMethod>
      </PaymentTC>
      
    2. Ejecute el SQL para obtener el nombre de política (policyName).
      
      select policyname from policy where policy_id=?;
      
    3. Ejecute el SQL para obtener la referencia de tienda (StoreRef).
      
      select identifier from storeent where store_id=?;
      
    4. Ejecute el SQL para obtener el nombre distinguido (distinguishName).
      select dn from orgentity where orgentity_id in (select member_id
      from storeent where storeent_id=storeent_id); 

    PaymentMethodDisplayString es el nombre de visualización de método de pago al seleccionar el método de pago en el flujo de pedido.

    La columna de propiedades de la tabla de políticas para la política de pago es similar a la siguiente:
    attrPageName=StandardVisa&paymentConfigurationId=default&display=false&compatibleMode=false
    Encontrará el StandardVisa.jsp (el valor de propiedad attrPageName) en el directorio tienda\ShoppingArea\CheckoutSection\StandardCheckoutSubsection. Si no lo encuentra, necesitará copiarlo en esta ubicación.
  4. En el archivo ConsumerDirectDefaultContract.xml, modifique minorVersionNumber aumentándolo en un l.
    
    <ContractUniqueKey name = "ConsumerDirect Default Contract" 
    majorVersionNumber = "1" minorVersionNumber = "1" origin =
    "Manual"> 
    <ContractOwner> 
    <OrganizationRef distinguishName = "o=seller organization,o=root
    organization"/> 
    </ContractOwner> 
    </ContractUniqueKey> 
    
  5. Importe el contrato predeterminado. Utilizando el programa de utilidad del paso 2, importe un contrato activo utilizando el archivo ConsumerDirectDefaultContract.xml y la tienda de destino será el store_id del paso 1.
  6. Para verificar si se ha creado el nuevo método de pago, cree un pedido en la página de Resumen de pedido. Encontrará el método de pago del modo siguiente:

    Captura de pantalla que muestra el nuevo método de pago