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:
- 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.
- 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.
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.<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>
- Utilice el archivo XML PaymentMappings para obtener la configuración de pago basándose en la modalidad de pago seleccionada.
- Llama a Plugin.Approve(). En este caso, PaymentechPlugin.Approve().
- Mantener los estados de pago actualizados con la información de pago correspondiente en las tablas relacionadas con el pago.