Description:

The Stripe Webform Payment module is a powerful and flexible module that seamlessly integrates Webform and Stripe Payment Elements. This module elevates the capabilities of a website by providing an array of advanced features and options for processing online payments with ease.

Important notice

This module works with PHP 8.1 and above. Using it with older PHP versions will generate errors.
Make sure of your PHP version before using this module.

Key Features:

  • Add a Stripe Payment Element to Webforms: Effortlessly include a Stripe payment element in any webform, enabling smooth and secure transactions.
  • Payment Intent tokens: Efficiently retrieve succeeded payment intent values as tokens
  • Webform AJAX Compatibility: The module is fully compatible with Webform AJAX, ensuring optimal performance and user experience.
  • Dynamic Stripe Product Linking: Automatically fetch and link Stripe products to your payment elements, simplifying the payment process.
  • Custom Pricing and Currency: Flexibly set custom prices and currency without the need to link payments to a Stripe product.
  • Drupal-Stripe Customer Mapping: Map Drupal users to Stripe customers, allowing for easier customer management, tracking, and communication.
  • Collect Shipping and Billing Addresses: Optionally enables the collection of Stripe shipping and billing addresses for a streamlined checkout process.
  • Customizable Stripe Payment Element appearance: Style the Stripe payment element to match your website's design and branding.
  • Link Stripe Customers to Drupal Users: Automatically associate Stripe customers with Drupal users or visitors for improved user management and customer insights.
  • Payment Intent UI Management: Effortlessly manage payment intent elements from the user interface.
  • Supports Stripe 3D Secure

Documentation

For a detailed comparison of the Drupal Webform-Stripe integration and documentation, you can check these blog posts:

Similar Modules

Stripe's webform integration: This is a webform integration using the Stripe module allowing to use of a credit card element and add a submission handler to collect charges/subscriptions.

The main difference is that this module uses Stripe Card Element for the integration, not Stripe Payment elements. Also, our module provides more flexibility to manage Stripe Products, Customers, and payment Intents.

Requirements

  • Stripe module 2.0+
  • Webform module 6.1+

Installation and Usage

The best way to install the module is by using Composer to download all dependencies.

To use the module:

  • Enable the module as usual
  • Go to Stripe module configurations and add your stripe API credentials. Please note that the credentials are saved as configurations and might be exported as well. Otherwise, you can save them in the settings.php
  • Go to your webform build page
  • Add new "Stripe payment" element
  • The module comes with default configurations that allow it to work; check each field help for advanced usage.

Options & Advanced Usage

This module provides advanced capabilities to fulfill many use cases. Here are the options provided by this module:

  1. Stripe payment options
    • Select the source: Choose between linking an existing Stripe product or using a custom price and amount. Learn more about Stripe Products.
  2. Custom payment
    • Amount: Enter the payment amount as a float value (e.g., 100.00 for $100).
    • Currency: Enter a three-character currency code (e.g., "usd" for US Dollars). Learn more about Stripe Supported Currencies.
  3. Stripe Product
    • Select the Stripe product to associate with this form. Learn more about Stripe Products.
  4. Stripe address options
    • Collect Stripe address information: Check this box to collect the shipping or billing addresses of your customers. Learn more about Stripe Addresses.
    • Stripe Address type: Choose between collecting a shipping address or a billing address.
  5. Stripe customer options
    • Allow linking Stripe customers to Drupal users/visitors: Check this box to organize payments by mapping them to Stripe customers. Learn more about Stripe Customers.
    • Stripe customer E-mail: Enter the customer email address used to send an invoice generated by Stripe. Tokens can be used. Learn more about Stripe Invoices.
    • Customer attributes (YAML): Add the Stripe customer attributes, including metadata of the user ID. Learn more about Stripe Customer API.
  6. Stripe appearance options
    • Enable custom stripe appearance: Check this box to allow customizing the appearance of Stripe Payment elements.
    • Custom Stripe appearance (YAML): Customize the appearance of Stripe Payment elements according to the Stripe Appearance API.
  7. Stripe Payment Intent configurations (YAML)

How You Can Help:

Please note that the Stripe Webform Payment module is currently in its alpha version. While the code is functional, it requires further testing due to the extensive range of use cases provided by the Webform module. We encourage the Drupal community to actively participate in the testing process and help us uncover any potential issues or improvements.

Your support is crucial to the continued development and improvement of the Stripe Webform Payment module. If you find this module useful, please consider sponsoring its development. Your sponsorship will help us enhance the module, provide regular updates, and offer prompt support to the Drupal community.

In addition, we encourage you to open tickets for any issues, feature requests, or feedback you may have. Your input is invaluable in refining and optimizing the module for the diverse needs of the Drupal community.

Together, we can make the Stripe Webform Payment module a robust and reliable solution for online payment processing in Drupal. Download the alpha version today and join us in shaping its future!

Supporting organizations: 

Project information

Releases