DPCalendar lets 3rd party Joomla extensions interact with DPCalendar easily through plugin events. How a Joomla plugin can be developed is described in this article. DPCalendar fires the Joomla content events when an event is saved or displayed. This allows other plugins to interfere into the processes. For example the Joomla custom fields are integrated like that into the forms and when displaying events, locations, bookings or tickets.
If you want to integrate your own payment provider for DPCalendar, then you have to write a plugin for the dpcalendarpay group. Basically we fire the three events which are described below to work with a payment provider. It is recommended to inherit your plugin class from the PaymentPlugin class.
The PaymentPlugin class (located at /administrator/components/com_dpcalendar/admin/libraries/dpcalendar/DPCalendar/Plugin/PaymentPlugin.php) provides some convenient helper functions to integrate your payment provider into DPCalendar. It is highly recommended to extend your plugin class from the DPCalendar plugin. For extension developer are the functions "startTransaction" and "finishTransaction" interesting as there you can implement the payment gateway logic. All the rest is handled by the PaymentPlugin class itself.
Description
Will be executed when a payment provider is selected and the booking gets paid. When the payment provider has output then this can simply be returned otherwise a redirect can be done here to the payment provider site.
Parameters
Return value
HTML string.
Description
Will be executed when the user returns from the payment provider.
Parameters
Return value
Boolean if all is ok.
Description
Will be executed when the PDF invoice is generated for a booking.
Parameters
Return value
Array with the following keys:
Description
The payment providers of the plugin.
Parameters
Return value
The payment providers array.
We ship in our pro packages different payment plugins. The easiest way is to check them out to see, how you can integrate your payment provider.
Comments (0)