{"id":219216,"date":"2025-03-12T02:51:03","date_gmt":"2025-03-12T02:51:03","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/minimal-stripe-wrapper\/"},"modified":"2025-12-20T20:27:38","modified_gmt":"2025-12-20T20:27:38","slug":"minimal-stripe-wrapper","status":"publish","type":"plugin","link":"https:\/\/es.wordpress.org\/plugins\/minimal-stripe-wrapper\/","author":16091062,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.8","stable_tag":"1.1.8","tested":"6.9.4","requires":"6.2","requires_php":"7.0","requires_plugins":null,"header_name":"Minimal Stripe Wrapper","header_author":"Jerry Stewart","header_description":"A lightweight plugin for Stripe single payments.","assets_banners_color":"","last_updated":"2025-12-20 20:27:38","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/webworkz.nz","rating":0,"author_block_rating":0,"active_installs":10,"downloads":797,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"jerrystewart99","date":"2025-03-12 03:23:10"},"1.1.1":{"tag":"1.1.1","author":"jerrystewart99","date":"2025-03-12 05:39:34"},"1.1.2":{"tag":"1.1.2","author":"jerrystewart99","date":"2025-03-13 02:33:15"},"1.1.3":{"tag":"1.1.3","author":"jerrystewart99","date":"2025-03-17 23:17:36"},"1.1.4":{"tag":"1.1.4","author":"jerrystewart99","date":"2025-03-19 05:08:12"},"1.1.6":{"tag":"1.1.6","author":"jerrystewart99","date":"2025-03-31 06:57:43"},"1.1.7":{"tag":"1.1.7","author":"jerrystewart99","date":"2025-07-16 04:31:02"},"1.1.8":{"tag":"1.1.8","author":"jerrystewart99","date":"2025-12-20 20:27:38"}},"upgrade_notice":{"":"<p>.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":{"minimal-stripe-button\/minimal-stripe-button":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"minimal-stripe-button\/minimal-stripe-button","version":"1.0.0","title":"Minimal Stripe Button","category":"widgets","icon":"cart","description":"A button to initiate a Stripe payment.","example":{},"supports":{"color":true,"spacing":{"padding":true,"margin":true,"blockGap":true},"align":["left","right","center"],"html":false,"typography":{"fontSize":true},"verticalAlignment":true},"attributes":{"label":{"type":"string","default":"Pay Now"},"amount":{"type":"number","default":100},"currency":{"type":"string","default":"USD"},"email":{"type":"string","default":""},"product":{"type":"string","default":"Product Name"},"quantity":{"type":"number","default":1},"success_url":{"type":"string","default":"?success"},"cancelled_url":{"type":"string","default":"?cancelled"},"user_meta":{"type":"string","default":""}},"textdomain":"minimal-stripe-button","editorScript":"file:.\/index.js","editorStyle":"file:.\/index.css","style":"file:.\/style-index.css"}},"tagged_versions":["1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.1.6","1.1.7","1.1.8"],"block_files":[],"assets_screenshots":{"Screenshot-1.png":{"filename":"Screenshot-1.png","revision":3254394,"resolution":"1","location":"assets","locale":""},"Screenshot-2.png":{"filename":"Screenshot-2.png","revision":3254394,"resolution":"2","location":"assets","locale":""},"Screenshot-3.png":{"filename":"Screenshot-3.png","revision":3254394,"resolution":"3","location":"assets","locale":""},"Screenshot-4.png":{"filename":"Screenshot-4.png","revision":3254394,"resolution":"4","location":"assets","locale":""},"Screenshot-5.png":{"filename":"Screenshot-5.png","revision":3264001,"resolution":"5","location":"assets","locale":""},"Screenshot-6.png":{"filename":"Screenshot-6.png","revision":3264001,"resolution":"6","location":"assets","locale":""}},"screenshots":{"1":"Minimal Stripe Wrapper : Options page","2":"Example of a Button to invoke Minimal Stripe Wrapper","3":"Example of the Stripe Checkout page","4":"Transaction Log Admin Page","5":"Donate Form","6":"Gutenberg Block Minimal Stripe Button"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[11475,617,1932,507,5349],"plugin_category":[45,58],"plugin_contributors":[184797],"plugin_business_model":[],"class_list":["post-219216","plugin","type-plugin","status-publish","hentry","plugin_tags-credit-card","plugin_tags-donation","plugin_tags-membership","plugin_tags-payment","plugin_tags-stripe","plugin_category-ecommerce","plugin_category-user-management","plugin_contributors-jerrystewart99","plugin_committers-jerrystewart99"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/minimal-stripe-wrapper.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/minimal-stripe-wrapper\/assets\/Screenshot-1.png?rev=3254394","caption":"Minimal Stripe Wrapper : Options page"},{"src":"https:\/\/ps.w.org\/minimal-stripe-wrapper\/assets\/Screenshot-2.png?rev=3254394","caption":"Example of a Button to invoke Minimal Stripe Wrapper"},{"src":"https:\/\/ps.w.org\/minimal-stripe-wrapper\/assets\/Screenshot-3.png?rev=3254394","caption":"Example of the Stripe Checkout page"},{"src":"https:\/\/ps.w.org\/minimal-stripe-wrapper\/assets\/Screenshot-4.png?rev=3254394","caption":"Transaction Log Admin Page"},{"src":"https:\/\/ps.w.org\/minimal-stripe-wrapper\/assets\/Screenshot-5.png?rev=3264001","caption":"Donate Form"},{"src":"https:\/\/ps.w.org\/minimal-stripe-wrapper\/assets\/Screenshot-6.png?rev=3264001","caption":"Gutenberg Block Minimal Stripe Button"}],"raw_content":"<!--section=description-->\n<p>Minimal Stripe Wrapper (MSW) is a lightweight and secure WordPress plugin designed to streamline Stripe payments with minimal setup and maximum flexibility. Unlike complex, feature-heavy payment plugins, MSW provides a low-footprint solution that leverages Stripe Checkout, ensuring the highest level of security while keeping your site\u2019s payment workflow simple and efficient.<\/p>\n\n<p>Please visit the full <a href=\"https:\/\/plugins.webworkz.nz\">Plugin Documentation<\/a> page.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><p>Single payments via Stripe-hosted Checkout<\/p><\/li>\n<li><p>No card or payment information are stored locally.<\/p><\/li>\n<li><p>Can use Stripe Test mode for sandbox testing.<\/p><\/li>\n<li><p>Can automatically add a surcharge to cover the Stripe transaction fee.<\/p><\/li>\n<li><p>Will work with either logged in users (eg. a membership site) or not logged in users (eg. a donation)<\/p><\/li>\n<li><p>Includes a shortcode Donate Form with variable amount.<\/p><\/li>\n<li><p>Downloadable transactions history in the WP dashboard for tracking and cross-referencing transactions.<\/p><\/li>\n<\/ul>\n\n<h4>Security<\/h4>\n\n<ul>\n<li><p>Uses Stripe-hosted forms. No card data touches your server.<\/p><\/li>\n<li><p>Rate-limiting for extra protection.<\/p><\/li>\n<li><p>Stripe secret keys are stored encrypted.<\/p><\/li>\n<li><p>Uses the Wordpress REST API with corresponding validation checks in addition to Stripe validation.<\/p><\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the Stripe API in order to initiate a Stripe Checkout session and to receive a Webhook response.<\/p>\n\n<p>You may specify what information is supplied to Stripe.<\/p>\n\n<p>The minimum information you must supply is the payment amount.<\/p>\n\n<p>You may optionally include a Users email, product name and quantity.<\/p>\n\n<p>Where an email is not supplied, Stripe will require the user to enter an email.<\/p>\n\n<p>See also the <a href=\"https:\/\/stripe.com\/legal\/consumer\">Stripe Consumer Terms of Service<\/a> and the <a href=\"https:\/\/stripe.com\/privacy\">Stripe Privacy Policy<\/a><\/p>\n\n<h3>How it Works<\/h3>\n\n<p>You can initiate a Stripe payment with any of these methods:<\/p>\n\n<ol>\n<li>The Gutenberg block element 'Minimal Stripe Button'<\/li>\n<li>By using any clickable element of your choice (eg. a &lt;button&#062; or &lt;a&#062;) <\/li>\n<li>By using the shortcode-generated button.<\/li>\n<li>By using an action hook. <\/li>\n<li>By using the shortcode-generated donate-form.<\/li>\n<\/ol>\n\n<h4>Method 1: A Gutenberg block element<\/h4>\n\n<p>Add to your page using the Wordpress block editor.<\/p>\n\n<h4>Method 2: Use an existing clickable element<\/h4>\n\n<p>Add a css class to any clickable target element.\neg. Use the page builder of your choice (eg. A Divi Button).<\/p>\n\n<pre><code>class=\"mswr-stripe-payment\"\n<\/code><\/pre>\n\n<p>Then add a filter hook to enter\/modify your specific payment details.<\/p>\n\n<p>For example:<\/p>\n\n<pre><code>add_filter( 'mswr_pre_stripe_checkout', function( $args ) {\n\n  \/\/ add payment details\n  $args[ 'amount' ] = $amount;              \/\/ use the smallest unit of your currency. ie. $123.45 =&gt; '12345'\n  $args[ 'currency' ] = 'nzd';              \/\/ iso 4217 currency code\n  $args[ 'email' ] = abc@test.com;          \/\/ eg. wp_get_current_user()-&gt;user_email;\n  $args[ 'product' ] = 'Your Product\/Service name'; \/\/ will appear on the Stripe Checkput page\n  $args[ 'user_meta' ] = 'Membership Renewal';  \/\/ user-defined tag that can help identify a transaction in the Stripe webhook callback\n\n  return $args;\n});\n<\/code><\/pre>\n\n<h4>Method 3: Using a shortcode-generated button<\/h4>\n\n<p>This method requires no php code. You can however, optionally add a php hook (as above) to modify the Stripe parameters and to perform extra actions on the Stripe webhook callback.<\/p>\n\n<p>Example shortcode:<\/p>\n\n<pre><code>[mswr_stripe_button amount=\"1234\" currency=\"usd\" email=\"abc@test.com\" product=\"Sample Product\" quantity=\"2\"  success_url=\"\/payment_success\" cancelled_url=\"\/payment_cancelled\"]\n<\/code><\/pre>\n\n<h4>Method 4: WP hook<\/h4>\n\n<p>A developer method.\nUse PHP from your code to fire a Wordpress 'action' which initiates a Stripe Checkout session with the specified Stripe arguments<\/p>\n\n<p>Action hook: <code>mswr_initiate_stripe_payment<\/code><\/p>\n\n<p>Example:<\/p>\n\n<pre><code>$args = [ 'amount' =&gt; '12345' ];\nadd_action( 'mswr_initiate_stripe_payment', $args );\n<\/code><\/pre>\n\n<p>...<\/p>\n\n<h3>Hooks available in Minimal Stripe Wrapper<\/h3>\n\n<pre><code>1. mswr_initiate_stripe_payment\n2. mswr_pre_stripe_checkout\n3. mswr_{\\$type}\n4. mswr_shortcode_html\n<\/code><\/pre>\n\n<h4>Method 5: Donate Form<\/h4>\n\n<p>Shortcode generated Donate Form where the user can select the amount to pay.<\/p>\n\n<p>See the <a href=\"https:\/\/plugins.webworkz.nz\">Plugin Documentation<\/a> for a full description<\/p>\n\n<!--section=installation-->\n<p>Minimal Stripe Wrapper just as you would any other WP Plugin:<\/p>\n\n<ol>\n<li><p><a href=\"https:\/\/wordpress.org\/plugins\/minimal-stripe-wrapper\" title=\"Minimal Stripe Wrapper\">Download Minimal Stripe Wrapper<\/a> from WordPress.org.<\/p><\/li>\n<li><p>Unzip the .zip file.<\/p><\/li>\n<li><p>Upload the Plugin folder (minimal-stripe-wrapper\/) to the wp-content\/plugins folder.<\/p><\/li>\n<li><p>Go to <a href=\"https:\/\/codex.wordpress.org\/Administration_Panels#Plugins\" title=\"Plugins Admin Panel\">Plugins Admin Panel<\/a> and find the newly uploaded Plugin, \"Minimal Stripe Wrapper\" in the list.<\/p><\/li>\n<li><p>Click Activate Plugin to activate it.<\/p><\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='how%20do%20i%20use%20this%20plugin%3F'><h3>How do I use this plugin?<\/h3><\/dt>\n<dd><ul>\n<li>Install and activate<\/li>\n<li>Setup the pluing settings page<\/li>\n<li>Choose your scenario and implement it as described<\/li>\n<li>See also the <a href=\"https:\/\/plugins.webworkz.nz\">Plugin Documentation<\/a><\/li>\n<\/ul><\/dd>\n<dt id='how%20to%20uninstall%20the%20plugin%3F'><h3>How to uninstall the plugin?<\/h3><\/dt>\n<dd><p>Simply deactivate and delete the plugin. It will clean up nicely and leave no trace.\n* WARNING Deleting the plugin will also delete your Stripe keys and all data associated with this plugin.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.8<\/h4>\n\n<p>Added DB upgrader to facilitate a schema change in mswr_transactions table: Change user_meta from varchar(255) to TEXT.\nTabulate Settings page to permit inclusion of further gateways. (This to accomodate the meta-poli-payments plugin for POLi Payments -- NZ banking only)\nMinor changes for code robustness<\/p>\n\n<h4>1.1.7<\/h4>\n\n<p>Changed mswr_initiate_stripe_payment from a filter to an action to align with WordPress hook semantics. If you were using add_filter() on this hook, please update to add_action().\nAdd support for Meta-Membership (yet to be released) plugin<\/p>\n\n<h4>1.1.6<\/h4>\n\n<p>Add Gutenberg block for button<\/p>\n\n<h4>1.1.5<\/h4>\n\n<p>Add click-to-copy link for Stripe endpoint\nfix: donate form redirection, js console error<\/p>\n\n<h4>1.1.4<\/h4>\n\n<p>added transactions csv download\nbugfix identifying client IP<\/p>\n\n<h4>1.1.3<\/h4>\n\n<p>added Donate Form shortcode\nbugfix on rate limiter<\/p>\n\n<h4>1.1.2<\/h4>\n\n<p>bugfix: mswr_initiate_stripe_payment is now a filter not an action in order to return the checkout URL<\/p>\n\n<h4>1.1.1<\/h4>\n\n<p>small fix to readme.txt<\/p>\n\n<h4>1.1.0<\/h4>\n\n<p>add transactions log and system log pages to dashboard<\/p>\n\n<h4>1.0<\/h4>\n\n<p>Inital Release<\/p>","raw_excerpt":"Minimal Stripe Wrapper (MSW) \u2013 Simple, Secure, and Lightweight Stripe Integration for WordPress","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/219216","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=219216"}],"author":[{"embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jerrystewart99"}],"wp:attachment":[{"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=219216"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=219216"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=219216"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=219216"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=219216"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=219216"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}