This plugin facilitates selling of products and services on any public page of a WordPress website, and accepting credit card payments for these products and services via the Stripe payment processor.
Because this plugin facilitates credit card payment processing specifically via Stripe, it is able to leverage the main security feature of that service, in that the credit card numbers are sent to the Stripe servers directly via their Checkout API, and never to the server running the website. Because the credit card numbers are physically absent from the website server, the operators of the website server are not subject to various government regulations that might have otherwise come into effect had their server indeed stored credit card numbers. And obviously, even if the website server or its storage get compromised by criminals, there simply would not be any credit card numbers for them to steal.
The way this plugin is used, is that first, the administrators specify which products and services are being sold, their descriptions, prices, etc. by inserting special shortcodes with that information directly into the pages and posts on which they want to render the user payment buttons for these sales. When site visitors load these pages, they see the associated payment buttons, clicking on which opens payment entry forms. Submitting a payment creates a “pending transaction”, details of which can be automatically emailed to the site operator(s). For each pending transaction, site administrators can click a special “Charge” button on the plugin’s admin page to charge that transaction via Stripe. This creates a record for the customer and the charge on the Stripe servers, from which point the transaction can be administered via the Stripe website as any other Stripe transaction.
Stripe test transactions are also supported. These are transactions in which no actual real credit card gets charged.
Currently only USD are supported.
Initially, buyer identity, stored partially on the website server, is tied to their credit card number stored entirely on Stripe servers, via a special “Stripe Token”, which is obtained directly from Stripe, via the plugin’s JavaScript logic, running in the buyer’s browser. For this reason, JavaScript needs to be enabled in the buyer’s browser.
Plugin relies on special server-side PHP library stripe-php to communicate with the Stripe servers to direct them to charge credit cards. This PHP library in turn relies on PHP cURL support enabled on the server. The plugin will check if this support is enabled, and will issue admin dashboard notification if it is not, which will also give advise on how to enable it.
If website administrators wish to enable automatic email notifications, they would need to insure that a Mail Transfer Agent (MTA) is properly configured on their website server. Even when the MTA is properly configured, the email notifications are still likely to get filtered by SPAM filters, so adjustment of SPAM filters might also be needed.
Please post issues / bugs to https://github.com/maratbn/RainbowPayPress/issues.
Use credit card number 4242 4242 4242 4242, any future date for expiration, and any 3-digit number for CVC.
Shortcode:
[rainbow-pay-press type='test' item="rainbow_thought" label="Pay with Stripe (no phone)" override_fields='!phone']
Shortcode:
[rainbow-pay-press type='test' item="rainbow_thought" label="Pay with Stripe"]
Shortcode:
[rainbow-pay-press type='test' item="rainbow_shipped" label="Pay with Stripe (with shipping)" override_fields='shipping']
Copyright (c) 2010-2018 Marat Nepomnyashy
Except where otherwise noted, this webpage is licensed under a Creative Commons Attribution 3.0 Unported License.
Background wallpaper by Patrick Hoesly, used under Creative Commons Attribution 2.0 Generic License.