Jump to content


  • Content count

  • Joined

  • Last visited

  1. The difference between a merchant gateway and non-merchant gateway is still not very clear to me. Even after reading the explanation. Is the only difference between the two the ability to use a callback URL or not? Why exactly can't they be combined? What I will do now, as follows: 1) Customer has to pay a specific amount. 2) Get the Mollie customer data from Mollie using the mollie_customer_id as stored inside the Blesta customer's metadata. 3) If the Blesta customer does not exist in Mollie the customer will be created inside Mollie, the blesta_customer_id stored inside the Mollie customer's metadata and the mollie_customer_id stored inside Blesta customer's metdata. 4) Customer gets redirected to the Mollie payment page (outside of Blesta) with the callback URL and the return URL (how to get back to Blesta) passed as one of parameters. This way Mollie will know how to return the transaction status back to the payment plugin's validate method inside Blesta. 5) The customer does its payment inside Mollie and gets redirected back to the payment plugin's success (or another depending on the status) method inside Blesta and Mollie also returns the status of the transaction to the payment plugin's validate method inside Blesta. 6) Blesta will manage everything from there. I still have to figure out how it will work with recurring payments.
  2. The payment gateway I use, called Mollie, supports the registration of customers + metadata on their servers but the payments are usually not instantly processed which require the use of a callback URL. Recurrent payments require the registration of a customer in both Blesta and the payment gateway (as supported by the merchant class) as well. Everytime a recurrent payment is processed the payment provider may do a call to the callback url (as supported by the non-merchant class). How can I create a payment gateway plugin that supports both customer registration on the gateway (to be implemented by a "merchant" class) and the use of a callback url from the gateway back to Blesta (to be implemented by a "non-merchant" class)? Do I need to combine the "merchant" and "non-merchant" classes somehow?