Utilización de otros datos de protocolo de pago para buscar pedidos

Tal como se proporciona, HCL Commerce permite realizar una búsqueda avanzada de pedidos utilizando la información de cuenta de pago como criterios de búsqueda. Por ejemplo, en la página Buscar pedidos de HCL Commerce Accelerator, puede buscar pedidos e incluir el número de cuenta del titular de la tarjeta como parte de los criterios de búsqueda. Para realizar una búsqueda en otros tipos de datos de protocolo de pago o para incluir otros datos de protocolo de pago con el número de cuenta como parte de los criterios de búsqueda, debe modificar el archivo JSP de búsqueda de pedidos utilizado para realizar búsquedas de pedidos. En los siguientes ejemplos se describe cómo sustituir algún otro campo para la cuenta y cómo añadir un segundo campo para utilizarlo además del campo de cuenta.

Por qué y cuándo se efectúa esta tarea

En los siguientes ejemplos se muestra cómo modificar el archivo CSROrderSearchB2C.jsp. Puede ampliar los ejemplo para realizar modificaciones en archivos JSP de búsqueda de pedidos, como CSROrderSearchB2B.jsp.

Los archivos JSP residen en el siguiente directorio: workspace_dir\CommerceAccelerator\WebContent\tools\order

Modificación del campo de criterios del protocolo de pago

Procedimiento

  1. Localice y modifique el archivo CSROrderSearchB2C.jsp para cambiar la etiqueta de pedido para la cuenta por el nuevo campo. Este campo muestra el número de identificación de cuenta que se sustituye para la cuenta. Puesto que se entra el número de identificación de cuenta en lugar de los últimos cinco dígitos de la cuenta, el elemento INPUT también cambia.
    Antes del
       
        <TR>
          <TD>
           <label for="protocolDataName1"></label>
           <label for="protocolDataValue1"><%=orderLabels.get("account")%></label>
          </TD>
        </TR>
        <TR>
          <TD>
           <INPUT type="hidden" name="protocolDataName1" value="account" id="protocolDataName1"/>
           <INPUT size="5" type="text" maxlength="5" id="protocolDataValue1" name="protocolDataValue1"/>
          </TD>
        </TR>  
      
    
    Después
       
        <TR>
          <TD>
           <label for="protocolDataName1"></label>
           <label for="protocolDataValue1"><%=orderLabels.get("check_routing_number")%></label>
          </TD>
        </TR>
        <TR>
          <TD>
           <INPUT type="hidden" name="protocolDataName1" value="check_routing_number" id="protocolDataName1"/>
           <INPUT type="text" id="protocolDataValue1" name="protocolDataValue1"/>
          </TD>
        </TR>  
      
    
  2. Localice y modifique el archivo OrderLabels*.properties para añadir una línea para el nuevo campo. Añada la línea siguiente:
    
      check_routing_number=The check routing number
      
    
  3. Asegúrese de que el archivo PaymentSystemPluginMapping.xml se ha actualizado y va a utilizar los datos sustituidos.
    
    <Keyword name="check_routing_number" searchable="true"/>  
      
    
  4. Para verificar que la modificación se ha realizado satisfactoriamente, formalice un pedido de prueba.

Resultados

Adición de otro campo además de la cuenta

  1. Antes del
    
        <TR>
          <TD>
           <label for="protocolDataName1"></label>
           <label for="protocolDataValue1"><%=orderLabels.get("account")%></label>
          </TD>
        </TR>
        <TR>
          <TD>
           <INPUT type="hidden" name="protocolDataName1" value="account" id="protocolDataName1"/>
           <INPUT size="5" type="text" maxlength="5" id="protocolDataValue1" name="protocolDataValue1"/>
          </TD>
        </TR>  
    
    Después:
    
        <TR>
          <TD>
           <label for="protocolDataName2"></label>
           <label for="protocolDataValue2"><%=orderLabels.get("cc_brand")%></label>
          </TD>
          <TD>
           <label for="protocolDataName1"></label>
           <label for="protocolDataValue1"><%=orderLabels.get("account")%></label>
          </TD>
        </TR>
        <TR>
          <TD>
            <INPUT type="hidden" name="protocolDataName2" value="cc_brand" id="protocolDataName2"/>
           <SELECT id="protocolDataValue2" name="protocolDataValue2"/>
              <OPTION value="VisaNet" SELECTED>VisaNet</OPTION>
              <OPTION value="Master Card">Master Card</OPTION>
               <OPTION value="AMEX">American Express</OPTION>
             </SELECT> 
          </TD>    
          <TD>
            <INPUT type="hidden" name="protocolDataName1" value="account" id="protocolDataName1"/>
            <INPUT size="5" type="text" maxlength="5" id="protocolDataValue1" name="protocolDataValue1"/>
          </TD>
        </TR>  
    

    El atributo SELECTED se utiliza para indicar cuál debe ser el tipo de tarjeta de crédito predeterminado la primera vez que se visualice la página. Dado que solo existe un valor predeterminado, las líneas para los otros dos tipos de tarjetas no contienen el atributo.

  2. Modifique la función findAction() en el archivo CSROrderSearchB2C.jsp de modo que incluya los datos adicionales:
    Antes:
        if( !isEmpty(document.orderFindForm.protocolDataValue1.value) ) {
    
      urlPara.paymentDataSize=1;
    
      urlPara.paymentData_name_1=document.orderFindForm.protocolDataName1.value;
      urlPara.paymentData_value_1=document.orderFindForm.protocolDataValue1.value;
      } else {
      urlPara.paymentDataSize=0;
      }
    
    Después:
      if( !isEmpty(document.orderFindForm.protocolDataValue1.value) 
       && !isEmpty(document.orderFindForm.protocolDataValue2.value) ) {
      urlPara.paymentDataSize=2;
      urlPara.paymentData_name_1=document.orderFindForm.protocolDataName1.value;
      urlPara.paymentData_value_1=document.orderFindForm.protocolDataValue1.value;
      urlPara.paymentData_name_2=document.orderFindForm.protocolDataName2.value;
      urlPara.paymentData_value_2=document.orderFindForm.protocolDataValue2.value;
      } else {
      urlPara.paymentDataSize=0; 
      }
      
    
  3. Localice y modifique el archivo OrderLabels*.properties para añadir una línea para el nuevo campo. Añada la línea siguiente: cc_brand=The brand of the credit card
  4. Asegúrese de que el archivo PaymentSystemPluginMapping.xml se ha actualizado y va a utilizar los datos adicionales:
    <Keyword name="account" mask="*" plain="-5" searchable="true"/> 
    <Keyword name="cc_brand" searchable="true"/>
    
  5. Para verificar que la modificación se ha realizado satisfactoriamente, formalice un pedido de prueba.