Dropsolid: Online payments in Drupal maintenance support plans

Texas Born In 2000

Pixeldust Drupal Developers

Pixeldust is an expert software development agency and trusted Pantheon development partner specializing in Drupal Development, security, and support. In business since 2000, we have completed over 500 projects.

Pixeldust is Trusted by the Worlds Greatest Brands

Pixeldust offers premium Drupal development services.

We are committed to developing under Drupal best-practices, ensuring our clients have a stable, maintainable codebase.

Pixeldust is an expert software agency specializing in responsive frameworks, mobile applications, and online marketing services. Using the latest technologies, coupled with a healthy dose of imagination and expertise, we work closely with you to identify your needs, wants and provide a comprehensive, integrated solution to your online communication requirements.

Our Drupal developers are focused on quality, not quantity.

Our aim is to provide a responsive and personal approach to each project to ensure that our clients can benefit from their investment. We see each Drupal development project as an opportunity to grow your business—we aim to help you grow sales and improve retention while offering leading, aesthetically pleasing, and functional designs that suit your needs faultlessly.

What differentiates Pixeldust from other Drupal development is the effort to create a positive return on clients’ investments.

We have devoted years of effort to understanding the variables involved in user experience as well as online marketing strategies. Our team of inspired Web Designers, developers, and marketing specialists help to increase the exposure of your website, as well as provide a unique user engagement. Pixeldust is focused on creative and results-orientated solutions developed to maximize your website’s true earning and traffic potential.

Professional class Drupal Development is absolutely integral to the legitimacy and effectiveness of your online presence.

Our Developers boast superior technical know-how. In business since 1999, we have completed over 500 projects, giving us plenty of experience in developing beautiful, tailored websites while keeping your business interests in mind.

 

How does on-site Drupal SEO work?

Drupal 8 is the CMS of choice for many top enterprise websites because it was built from the jump the extensibility required to optimize every node, view, and code snippet for search engines. However, you have to know how to configure it. 

Search Engine Optimization (on-page Drupal SEO) has been around as long as search engines. If you run a website, you probably have at least a basic understanding of SEO. Drupal is phenomenal for SEO. We’ve worked in Drupal for 14 years and experienced firsthand how positively search engines respond to correctly configured Drupal sites. 

We have helped clients double their traffic, just by switching platforms. Drupal has some distinct technical advantages with on-site optimizations like RDF or AMP. The results are higher ranking, quicker, and more trafficked sites. Since Drupal 8 has scheduled feature releases every six months, you will be thinking in terms of months, not years, when new technology becomes a standard.

FREE Drupal maintenance support plans Security Audit

Why a Drupal site audit?

  • Security – Discover weaknesses in your Drupal implementation.
  • Performance – Identify areas where performance improvements can be made.
  • Site Acquisition – Do this before you buy a business as part of due diligence.
  • Implementation Verification – Check your site before it goes live to avoid critical issues that may appear under load.
  • Vendor Management – Make sure your current developer is doing a good job.
  • Support Transition – When moving to a new developer both sides need to know what they are working with.
FREE Drupal maintenance support plans Security Audit

Case Study: Mahindra USA Inc

Mahindra USA, Inc. manufactures agricultural machinery and equipment. They are the world’s largest selling tractor brand by volume, and the World’s number one tractor maker for over three decades.

Drupal Requirements

  • Support for a company-wide rebranding
  • Migration to a more robust and flexible platform in Drupal 8
  • Integration with third-party customer relationship management applications
  • Internationalization
  • Efficient scalability
  • Integration with sales SAS
  • Read Case Study

Inquiry

Call (512)730-0999 or submit an inquiry.
  • This field is for validation purposes and should be left unchanged.
Dropsolid: Online payments in Drupal maintenance support plans

30-Day Drupal SEO Blast – On-page and Off-page SEO Overhaul

We start every project off with an introductory discovery call with key stakeholders to create a project plan, establish key contacts, and plan credential transfers. 

Pixeldust’s 30-Day SEO Blast is a campaign to overhaul your Drupal site for immediate improvement in search engine rankings. Think of it as a 30-day boot camp for your website. The process is divided into two areas of focus: on-site and off-site.

On-Site Drupal SEO
On-site (or On-page) SEO:  Changes are made to your site’s structure and performance to make it easier for search engines to see and understand your site’s content. Search engines use algorithms to rank sites by degrees of relevance. On-site optimization ensures your site is configured to provide information in a way that meets Search engine standards for optimal indexing.  

Off-site White Hat Drupal SEO
Off-site (or Off-page) Drupal SEO is the process of making your site more visible to humans across the internet and increasing its relevance. 

Vigilant Drupal Support Plans

When you subscribe to our Unlimited Drupal Support Plan in Houston or Austin, you have the comfort of knowing our trusted team of Drupal admins is at the ready; waiting to fix errors, broken functionality, layout issues, and anything else the pops up. Some of our Unlimited clients don’t even have to log in to their sites anymore. Even if you just need an article posted, or a new product added to your shop, no worries, we got you. If it takes less than 30 minutes per issue, we will take care of it.

We start every project off with an introductory discovery call with key stakeholders to create a project plan, establish key contacts, and plan credential transfers. 

  • Unlimited Repairs & Fixes
  • Unlimited Update Tasks
  • FREE Set-up
  • Same-Day Security Updates
  • Monthly Module Updates
  • Monthly Broken Link Scan
  • Monthly Security Scan
  • Monthly Manual Site Check
  • Monthly Speed Test
  • Offline Updating
  • GIT Version Control
  • Detailed Work Notes
  • Testing After All Updates
  • Security Guarantee
  • Hack/Malware/Down Recovery
  • Uptime Monitoring
  • Daily Offsite Backups
  • Free Basic Website Hosting & SSL
  • Helpdesk Support
REQUEST FOR PROPOSAL

Need a custom quote?

Submit the RFP form below and we will send you a project proposal in 48 hours. If you like what you see, we can schedule a call to discuss the project in greater detail.

Step 1 of 2

  • Contact Information

Dropsolid: Online payments in Drupal maintenance support plans

Published on February 11, 2019

Online payments in Drupal maintenance support plans
Thierry
Fri, 04/14/2017 – 09:36

In this day and age, it’s very hard to imagine a world without online payments. They permeate every possible sector and purpose, ranging from banking apps to online ticket ordering and charity donations.

Drupal maintenance support plans has kept pace with this evolution and is offering enterprise-quality solutions to tackle most online payment needs, most notably Drupal maintenance support plans Commerce with secure payment integrations. Drupal maintenance support plans Commerce allows developers to implement different gateways to PayPal, Stripe, iDeal, Mollie and Ingenico (previously known as Ogone).

In this blog post, I will explain the possibilities of the Drupal maintenance support plans Payment module and describe an example of how to apply it together with Mollie, a rising star in the realm of payment service providers.

Drupal maintenance support plans Payment module

Are you looking to make people pay for their membership when they register for an account? Then you will have to integrate an easily manageable payment system into your application.
In situations like these and more, Drupal maintenance support plans’s Payment module can act as a bridge to a secure payment integration. You can implement different payment gateways that communicate directly with the Payment module. This means that all incoming payments from various payment service providers are stored in a centralised location.
The Payment module integrates well with Drupal maintenance support plans Commerce and Ubercart, but you can even integrate the module into any kind of entity with both the Payment form field and the Payment reference field.
Do you think this might suit your need as an out-of-the-box solution for a simple integration with Drupal maintenance support plans Webforms or a basic donation form with Drupal maintenance support plans Payment integration? They are available for download on drupal.org.

Payment Service Providers

If you would like to receive online payments through you website, you’ll have to implement an actual payment service provider. The most commonly used payment providers in the Benelux are Ingenico, Paypal and Mollie.

Mollie

Mollie has become very popular very quickly, because it charges a transaction-based fee instead of a monthly subscription. This means that you will not be charged if there are no transactions, which is perfect for projects that do not (yet) generate a lot of transactions.

To allow for easy integration, Mollie provides developers with a very good API. Drupal maintenance support plans (and other) developers can access the available RESTful service or a PHP API library, which makes it possible to implement logic – for example to refund a customer through the API.
If your Drupal maintenance support plans project does not require automatic refunding of customers, you can use the mollie_payment module, which uses Mollie’s PHP API library.

Example: enabling a payment method

To enable payments with Mollie, you have to define a payment method using the so-called MolliePaymentMethodController. The controller is defined in the Mollie Payment module and uses Mollie’s PHP API library to process the requests.

You can add the Payment method through the module install file:

/**
* Add payment method (Mollie)
*/
function MYMODULE_update_7001(){
$mollie = new PaymentMethod(array(
‘controller’ => payment_method_controller_load(‘MolliePaymentMethodController’),
‘controller_data’ => array(‘mollie_id’ => ‘test_AA11bb22CC33dd44EE55ff66GG77hh’),
‘name’ => ‘pay_with_mollie’,
‘title_generic’ => ‘Pay with Mollie’,
‘title_specific’ => ‘Pay with Mollie’,
));
entity_save(‘payment_method’, $mollie);
}

Forms embedding a payment form

Start by defining a simple form, extendable with multiple form elements available in Drupal maintenance support plans’s Form API.

/**
* Callback function to build a basic payment form.
*
* @param array $form
* The form build array.
* @param array $form_state
* The form state information.
*/
function MYMODULE_form($form, $form_state) {
$form = array();

// Add form actions.
$form[‘actions’] = array(
‘#type’ => ‘actions’,
);
$form[‘actions’][‘save’] = array(
‘#type’ => ‘submit’,
‘#value’ => t(‘Pay with Mollie’),
);

return $form;
}

This form is then capable to embed a payment form, provided by the Payment module. In order to do this, you should first define a Payment object. This will provide all the payment methods that have to be integrated in the payment form. You can pass context and context data for reference and later use, the currency you are making a payment in and the callback that has to be executed after a payment has been done.

// Define a payment object.
$payment = new Payment();
$payment->context = ‘donation’;
$payment->context_data = array(
‘time’ => time(),
‘type’ => ‘donation’,
);
$payment->currency_code = ‘EUR’;
$payment->description = ‘Basic payment form’;
$payment->finish_callback = ‘MYMODULE_finish_callback’;

A single payment object can contain multiple items. Useful if you would like to implement this in a commerce environment. In this example, a single line item will define the total amount that has to be paid. Don’t forget to define the price without taxes, because the Payment module will handle all tax calculations.

// Define a payment line item.
$line_item = new PaymentLineItem();
$line_item->amount = 100.00 / 1.21;
$line_item->name = t(‘EUR 100’);
$line_item->tax_rate = 0.21;
$line_item->quantity = 1;

// Add the payment line item to the payment object.
$payment->setLineItem($line_item);

By assigning the payment object to the form, you can use the transferred information in a later stage – for instance during validation.

// Add the payment object to the form.
$form_state[‘payment’] = $payment;

You can use multiple payment methods with the payment module. In this example, Mollie is forced as the only payment option available. It is of course also possible to add multiple methods in the payment options and to allow people to pick their payment method of choice.

// Get available payment methods and limit this form to Mollie payment.
$payment_methods = $payment->availablePaymentMethods();
$payment_options = array();
foreach ($payment_methods as $payment_method) {
if ($payment_method->enabled && $payment_method->name == ‘pay_with_mollie’) {
$payment_options[] = $payment_method->pmid;
}
}

To include the payment form into your custom form, you have to call the payment_form_embedded function. The function will use the payment object and the available payment options to build the required form elements and form actions. Then assign the payment elements and submit action to your custom form in order to enable the payment.

// Get the payment embed elements.
$payment_embed_form = payment_form_embedded($form_state, $payment, $payment_options);

// Add the embedded payment form element.
$form[‘payment’] = $payment_embed_form[‘elements’];

// Define the form submit callback.
$form[‘#submit’] = $payment_embed_form[‘submit’];

When defining the payment object, you actually define a finished callback. This callback will be triggered after a successful payment from the Mollie payment service provider. To be certain, you could check if there is a payment success status within the payment object and run any additional callbacks if needed.

/**
* Handle successful payment from Mollie.
*
* @param Payment $payment
* The returned payment object containing all relevant information.
*/
function MYMODULE_finish_callback(Payment $payment) {
$payment_complete = FALSE;

// Check if the payment status contains a successful state.
foreach ($payment->statuses as $status) {
if ($status->status == ‘payment_status_success’) {
$payment_complete = FALSE;
break;
}
}

if ($payment_complete) {
drupal_set_message(‘Your payment has been received.’, ‘success’);
// @TODO: Implement custom callbacks.
}
}

Conclusion

As you noticed, it’s not that hard to implement a payment workflow in your own form!

One final tip: use form validation to check if all requirements are met before people are redirected to the payment service provider.

I hope this blog post has helped you to make payments in Drupal maintenance support plans easier. Feel free to leave a comment below if you have any questions or if you would like to share some thoughts on different possible approaches.

Add new comment

Header image

Tags

Drupal maintenance support plans 8
Tech

Teaser image

Publish to Drupal maintenance support plans planet
On

Source: New feed

Dropsolid: Online payments in Drupal maintenance support plans
Shopping Cart
There are no products in the cart!
Continue Shopping
0