Jump to content
  • 0

Payment provider customer registration and the use of callback URLs.


Komerdoor

Question

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?

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

The Mollie API documentation describes a process that mirrors the expectation for a Non-Merchant gateway in Blesta. I'm not familiar with the recurring/subscription process you mentioned, but I would expect it to function similar to subscriptions in PayPal Payments Standard (non-merchant gateway). Payment callbacks from the gateway for subscriptions should still create transactions in Blesta when using the callback URL for a Mollie Non-Merchant gateway. I don't think you need to worry about setting up a Merchant payment account in Blesta or trying to reconcile a hybrid of Non-Merchant and Merchant types (this would be unsupported anyway).

Link to comment
Share on other sites

  • 0
On 7/11/2017 at 8:48 PM, Tyson said:

The Mollie API documentation describes a process that mirrors the expectation for a Non-Merchant gateway in Blesta. I'm not familiar with the recurring/subscription process you mentioned, but I would expect it to function similar to subscriptions in PayPal Payments Standard (non-merchant gateway). Payment callbacks from the gateway for subscriptions should still create transactions in Blesta when using the callback URL for a Mollie Non-Merchant gateway. I don't think you need to worry about setting up a Merchant payment account in Blesta or trying to reconcile a hybrid of Non-Merchant and Merchant types (this would be unsupported anyway).

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.

 

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...