Reading list Switch to dark mode

    Understanding Flow of VirtueMart Payment Plugin

    Updated 3 September 2018

    We will discuss about the methods used in VirtueMart Payment Plugin here. The methods defined below as per their sequence of usage :

     

    plgVmOnStoreInstallPaymentPluginTable

    • The very first function required to be defined when we install a VirtueMart Payment plugin.
    • It creates the plugin specific database table for your plugin further working.

    plgVmSetOnTablePluginParamsPayment

    • After plgVmOnStoreInstallPaymentPluginTable function the next required function for the plugin.
    • Used for storing values of payment plugins configuration in database table.

    getTableSQLFields

    Start your headless eCommerce
    now.
    Find out More
    • This function is used to define the column names to be added in the payment table creation.
    • One can add columns after installation of plugin as well using this function.

    plgVmDeclarePluginParamsPaymentVM3

    • You can get the saved plugin configuration values by the help of this function’s parameter.
    • This function is called whenever you try to update the configuration of the payment plugin.

    plgVmOnCheckAutomaticSelectedPayment

    • This function is first called when you finally setup the configuration of payment plugin and redirect to the cart view on store.
    • In case you have set your payment plugin as the default payment method by VirtueMart’s Configuration, this function is used.

    checkConditions

    • This function is called After plgVmOnCheckAutomaticSelectedPayment
    • Checks if the payment conditions are fulfilled for the payment method.
    • If you want to show/hide the payment plugin on some specific conditions then this function is very useful.

    Below is simple example of showing the plugin on the basis of total cart amount value :

    /**
    * [checkConditions function used to check the details before checkout process.]
    *
    * @param array  $cart        cart details
    * @param object $method      method data
    * @param object $cart_prices cart prices object
    *
    * @author Webkul Software Private Limited
    * @copyright Copyright (c) 2010-2018 Webkul Software Private Limited (https://webkul.com)
    * @license   https://store.webkul.com/license.html
    *
    * @return boolean
    */
    protected function checkConditions($cart, $method, $cart_prices)
    {
        if ($cart_prices['billTotal'] < 50) {
            return false;
        }
    }
    

    plgVmonSelectedCalculatePricePayment

    • This function is used to calculate the price of the payment method. Price calculation is done on checkbox selection of payment method at cart view.
    • If you forget to add this function in your plugin code, your payment plugin will not be selectable at all on the cart view.

    plgVmDisplayListFEPayment

    • This is a required function for your payment plugin and called after plgVmonSelectedCalculatePricePayment.
    • This function is used to display the payment plugin name on cart view payment option list.
    • This function has a parameter $html by the help of which you can add additional view, if required to be shown with payment name.

    Now on Proceeding to the Checkout functionality –

    plgVmOnSelectCheckPayment

    • This function is triggered when the user tries to checkout from the cart view.
    • You can use this function to store additional information.

    plgVmOnCheckoutCheckDataPayment

    • This function is also triggered at the time of checkout but after plgVmOnSelectCheckPayment.
    • It can be used to validate the method data entered by the user.

    plgVmConfirmedOrder

    • This function is triggered when the user click on the Confirm Purchase button on cart view.
    • You can store the transaction/order related details using this function.
    • You can set your html with a variable name html at the end of this function, to be shown be thank you message.

    plgVmOnPaymentResponseReceived

    • This function is used If user redirection to the Payment gateway is required.
    • You can use this function as redirect URL for the payment gateway and receive response from payment gateway here.
    YOUR_SITE/.'index.php?option=com_virtuemart&view=vmplg&task=pluginresponsereceived'

    This task pluginresponsereceived calls the function written in your payment plugin.

    plgVmOnShowOrderFEPayment

    • This function is triggered after plgVmConfirmedOrder, to display the payment related information in order.

    Similarly, If you want to add payment related information in back-end Order details as well, then you can use plgVmOnShowOrderBEPayment.
    This function is triggered when we view the order details in administrator.

    . . .

    Leave a Comment

    Your email address will not be published. Required fields are marked*


    6 comments

  • alvine
    • Arti Singhania (Moderator)
  • Waled Fathalla
    • Arti Singhania (Moderator)
      • Waled Fathalla
        • Arti Singhania (Moderator)
  • Back to Top

    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home