Controlador del complemento de pago

El Controlador del complemento de pago es un componente del Subsistema de pagos. Determina qué plugin se utiliza (basándose en la modalidad de pago) y a qué método de API de plug-in se llama (basándose en la acción).

El Controlador del complemento de pago ejecuta los pasos siguientes:

  1. Crea una transacción financiera.
    • Un objeto FinancialTransaction se utiliza para realizar el seguimiento del progreso de la acción a medida que se procesa.
    • Se llena con datos asociados a la instrucción de pago y la acción.
    • El objeto FinancialTransaction contendrá atributos como por ejemplo:
      
      state:               new	
      requested amount:   359.000	
      processed amount:   0.00000	
      reference number:   ...	
      response code:      ...
      payment ID:         10001
      ...
    • Los datos de la transacción se almacenan en la tabla PPCPAYTRAN.
  2. Determinar qué plug-in se utiliza basándose en los archivos de configuración de Payments:
    • Utilice el archivo XML PaymentMappings para obtener la configuración de pago basándose en la modalidad de pago seleccionada.
      <Mapping paymentMethod="VISA"
      	paymentConfiguration="CreditCardOnline"
      	paymentActionRule="Early Approval"/>
      
    • Utilice el archivo XML PaymentMethodConfigurations para obtener el nombre del sistema de pago basándose en la configuración de pago.
      <PaymentMethodConfiguration 
      	     name="CreditCardOnline"
           paymentSystemName="Paymentech" 
           systemEditable="true"
           humanEditable="true"
           refundAllowed="true"
           minimumAmount="0"
           maximumAmount="Unbounded"
           priority="MEDIUM"
           partiallyConsumable="true"/>
    • Y finalmente, utilice el archivo XML PaymetSystemPluginMapping para obtener el nombre de plug-in basándose en el nombre del sistema de pago.
      <PaymentSystemName name="Paymentech" >
           <Mapping paymentConfigurationId="default" pluginName="PaymentechPlugin" >
                <Keyword name="cc_cvc" mask ="-" plain="0" removeAfterApproval ="true"/>
                <Keyword name="cc_nameoncard" mask ="*" plain="0" removeAfterApproval ="true"/>
                <Keyword name="account" mask ="*" plain="-5" searchable="true"/>
           </Mapping>
      </PaymentSystemName>
      A continuación, la configuración de la modalidad de pago CreditCardOnline se correlacionará con el sistema de pago Paymentech en PaymentMethodConfigurations.xml y el sistema de pago Paymentech se correlacionará con el plug-in de pago PaymentechPlugin en PaymentSystemPluginMapping.xml.
  3. Llama a Plugin.Approve(). En este caso, PaymentechPlugin.Approve().
  4. Mantener los estados de pago actualizados con la información de pago correspondiente en las tablas relacionadas con el pago.