Giter Club home page Giter Club logo

paytium's Introduction

=== Mollie iDEAL forms & donations with Paytium ===
Contributors: davdebcom
Requires at least: 3.6.1
Tested up to: 4.9
Stable tag: 2.1.0
Requires PHP: 5.3
Tags: ideal, mollie, webshop, shop, donation, payments, donaties, doneren, bancontact, webwinkel, betalingen, betaalformulier
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Mollie iDEAL payment forms and iDEAL donations for your WordPress site, added with just a few clicks.

== Description ==

You don't need complex plugins or integrations to start accepting iDEAL payments in WordPress! Get (test) payments running on your site within 15 minutes!

Besides iDEAL you can also accept payments with creditcards, Bancontact/Mister Cash, SOFORT, Bitcoin, Belfius and other payment methods! View a full list at [Mollie](https://www.mollie.com/).

> Use Paytium to create a simple iDEAL payment form (NL: betaal formulier) or a small webshop. You can also use Paytium for subscriptions/recurring payments.

After completing a short and guided setup, you can start adding iDEAL to your posts or pages. Shortcodes can be inserted with a few clicks directly from the iDEAL button in the WordPress editor.

[youtube https://www.youtube.com/watch?v=PQmmz2XxBcA]

= Flexible: get creative with iDEAL payments =
There is no limit to the amount of Mollie iDEAL forms you can create in your posts and pages. You can use different amount types.

* static, users just click the "Pay โ‚ฌ 20" button
* dynamic, users select an amount in a dropdown
* custom, users enter an amount in a text field

= Examples of what you can do =
* Collect donations for charity, allow people to enter their own amounts
* Add a link to your site on your invoices and ask customers to pay online
* Sell simple products, with registration of customer address details
* Accept online payments for services such as a workshop or coaching sessions
* And more!

= Custom fields: collect all the information you need =
Need more information from your customers, or want to ship something? Add your own fields and view the collected information in the WordPress admin. You can create an email field, text fields, radio buttons and more! Read more in the [manual](https://www.paytium.nl/handleiding/extra-velden/).

> Yes, this is the Gravity Forms & iDEAL alternative you have been waiting for!

[youtube https://www.youtube.com/watch?v=pfBZkjPOFsQ]

= Automatically process recurring payments =
Paytium also supports recurring payments, even for iDEAL payments. Setup a simple subscription, ask customers to pay once to confirm, and see how the next payments come into your bank account automatically. Yes, recurring payments also work with iDEAL payments! When iDEAL is used for the first payment, the next (automatic) payments are processed with SEPA direct debit (automatische incasso). Read more in the [recurring payments for WordPress](https://www.paytium.nl/handleiding/recurring-payments/) manual.

> #### Why iDEAL via Mollie?
>
> Why does Paytium only support Mollie as payment service provider?
>
> * Mollie is the cheapest payment provider with 29 cents per iDEAL transaction
> * Your money is automatically wired to your bank account daily, and for free
> * No hidden, setup or monthly costs, only pay for actual transactions
> * Fully certified by "De Nederlandsche Bank" (DNB), just like the big banks
> * Mollie is the very best in payments, based on my experience with iDEAL since 2008
> * Super fast and friendly helpdesk (via email and telephone)
>
> Read more about [Mollie](https://www.mollie.com/)

= Built by iDEAL expert =
This plugin is created by payments expert and Dutch developer [David de Boer](http://www.paytium.nl/contact/). He spoke about ["iDEAL in WordPress"](http://wordpress.tv/2015/10/22/david-de-boer-ideal-in-wordpress-van-aanvraag-tot-productie/) and ["Trends In Online Payments"](http://wordpress.tv/2016/11/09/david-de-boer-trends-in-online-payments-from-donations-to-recurring-payments/) during WordCamp Netherlands 2015 and 2016 and WordPress Meetup Nijmegen.

AL integration for WooCommerce or other plugins!

= Advice, support or feedback =
You can always [ask David anything](http://www.paytium.nl/contact/) about online payments and iDEAL. Just email [email protected].

= More information =

* Visit the [Paytium website](http://www.paytium.nl/)
* Other [iDEAL plugins](http://www.paytium.nl/ideal-plugins/)
* WordCamp 2015 presentation: ["iDEAL in WordPress"](http://wordpress.tv/2015/10/22/david-de-boer-ideal-in-wordpress-van-aanvraag-tot-productie/)
* WordCamp 2016 presentation: ["Trends In Online Payments"](http://wordpress.tv/2016/11/09/david-de-boer-trends-in-online-payments-from-donations-to-recurring-payments/)

* Contact David on Twitter, ask anything about iDEAL: [@davdebcom](https://twitter.com/davdebcom)

== Installation ==

= Plugin installation =
The easiest way to install Paytium is to login to WordPress and go to Plugins > New Plugin. Search for "Paytium" and open the detail view. Click "Install now".

For a manual installation download the plugin from the WordPress repository, and after unzipping it, upload the folder "paytium" to the "wp-content/plugins" directory of your WordPress site.

> Read more about the various options in the [manual](https://www.paytium.nl/handleiding/).

= Setup your Mollie account =
You can create a new Mollie account or connect an existing account via the Setup Wizard ("Installatie hulp" in Dutch) in Paytium itself under Paytium > Setup Wizard. The Setup Wizard helps you configure your Mollie account, so you can start accepting payments as soon as possible.

> [Mollie](https://www.mollie.com/) is a Dutch payment service provider (PSP) which will process your payments and wire your payments to your bank account daily. They are certified by the Dutch national bank (DNB) and are checked just as strict as normal Dutch banks.

= Add payment forms with shortcodes =
After having set up your Mollie account, you can navigate to Posts or Pages in WordPress and open an existing or new page/post. In the page/post edit view you will now see an iDEAL icon in the WordPress editor. Use that iDEAL icon to add default Paytium shortcodes. Feel free to edit texts or amounts. These shortcodes will be transformed to actual iDEAL payment forms and buttons on your site.

> Read more about the various options in the [manual](https://www.paytium.nl/handleiding/).

== Frequently Asked Questions ==

= Where can I find the documentation? =
Paytium is a relatively simple plugin but... we have documentation anyway! To learn more please read the [manual](https://www.paytium.nl/handleiding/). If you still have questions, feel free to email [email protected].

= Can I get advice about iDEAL and this plugin? =

Yes, it would be my pleasure to advice you on the best way to implement iDEAL payments, email [email protected].

= Can I accept recurring payments? =

Yes, you can! Learn more about recurring payments in the [recurring payments for WordPress](https://www.paytium.nl/handleiding/recurring-payments/) manual!

= Can I use my own (custom) form fields? =

You can create your own payment forms by using custom fields in Paytium. Read more in the custom fields [manual](https://www.paytium.nl/handleiding/extra-velden/).

= Does Paytium work on local WordPress installations?  =

No, you it does not. Payments can not be processed when originating from a desktop or localhost WP installation. I advice installing and using Paytium on live sites only, maybe in a sub directory, for example yourdomain.nl/test.

= Do I need a chamber of commerce (KVK) number? =

Yes, according to law you really need to be a company, and have a "Kamer van Koophandel" number to accept iDEAL payments.

= What if the Setup Wizard doesn't work? =

Go directly to [Mollie](https://www.mollie.com/) (create an account if you haven't already), login to your acocunt and copy the profile keys to Paytium > Settings.

= Can I redirect users to another page after the payment? =

Yes, you can with the commercial version [Paytium Plus](https://www.paytium.nl/prijzen/) or code it yourself. View [code examples](https://www.paytium.nl/handleiding/veelgestelde-vragen/#kan-ik-gebruikers-na-een-betaling-redirecten) in our manual.

= Can I just change the text after payment (without redirect)? =

Yes, you can! You can use the free plugin Say What, or consider using the commercial version [Paytium Plus](https://www.paytium.nl/prijzen/). For [Say What](https://wordpress.org/plugins/say-what/), when installed go to Extra > Text changes. Make a new text change with [these details](http://take.ms/IUEJE). Replace "Replacement string" with your text.

== Screenshots ==

1. **Add payment buttons to posts or pages** - Click on the iDEAL icon in the WordPress editor to quickly add shortcodes in your posts or pages. These shortcodes will be converted to payment buttons and your visitors can use iDEAL or other payment methods to pay for your products or services.
2. **Payment buttons are flexible** - Set a static amount to be paid, ask for donations (custom amounts!) or allow visitors to select an amount for a specific product/service via a dropdown.
3. **Collect customer details** - Need more information, or want to ship something to your visitors? Add your own custom fields and new fields will be added to the payment button!
4. **Payments processed via Mollie.com API** - After clicking "Pay" visitors will immediately be redirected to secure payment provider Mollie, which will process the payments and wire the funds to your own bank account. Mollie is certified by the Dutch national bank 'De Nederlandse Bank (DNB)'.
5. **Review all payments and their status** - Check the status of all payments directly in the WordPress admin. Use the built-in "Order Status" to keep track of your own processing directly in WordPress.
6. **Easy to get started with accepting payments** - The built-in wizard helps you to quickly connect your WordPress website to your new or existing Mollie.com account. You can be accepting real payments within one business day (often faster)! The entire process is explained in detail in the wizard itself.

== Changelog ==

= 2.1.0 - May 7th, 2018 =

* NEW:
    * Option to process field data as [user information (for creating users and storing as user meta in WordPress)](https://www.paytium.nl/handleiding/na-betaling-gebruikers-aanmaken-wordpress/)
    * Subscriptions: add support for [first payment](https://www.paytium.nl/handleiding/recurring-payments/#afwijkende-eerste-betaling) which is different than recurring payment amount
    * Improved form validation and anti-spam: check that amount is not zero, JavaScript is enabled, and Paytium's JavaScript file is included.
    * Add ability for Paytium to also [sum up checkbox amounts](https://www.paytium.nl/handleiding/flexibele-bedragen/)
    * Many usability improvements based on feedback by users, for example in Setup Wizard
    * Add filter paytium_items_table_emails_invoices for items table (invoices/emails)
    * Updated Mollie API PHP to 1.9.6 (for compatibility with Mollie Payments for WooCommerce)
    * Information from custom fields no longer sent to Mollie by default, see [FAQ](https://www.paytium.nl/handleiding/veelgestelde-vragen/#extra-velden-als-metadata-meesturen-naar-mollie)
    * Add link to [explanation of payment statuses](https://www.paytium.nl/handleiding/betalingen-beheren/#betekenis-van-statussen)
    * Add ING Home'Pay and gift cards as payment methods
    * Add filter ['paytium_payment_description' so developers can change the payment description](https://www.paytium.nl/handleiding/veelgestelde-vragen/#omschrijvingen-van-betalingen-aanpassen)
    * Add link to [pro versions](https://www.paytium.nl/prijzen/) on Paytium website

* FIX:
    * Subscriptions: multiple improvements to processing of subscriptions, making sure new subscriptions can't be created by accident
    * Fix Paytium > Payments view on small screen size
    * Remove pt_is_localhost() check before shortcode generation because in some server configurations, the IP is actually set to 127.0.0.1 even when the server is production
    * Fixed issue where with open fields (user entered custom amount) the amount wasn't stored correctly before payment
    * Add a call to catch $_POST['pt-amount'] for processing payment functions for backwards compatibility of custom integrations
    * Fix bug where field type checkbox only saves one option
    * Make sure required checkboxes only get one "This field is required" error
    * Add explicit explanation that voting on Paytium features subscribes user to newsletter
    * Don't create a Mollie customer when a form doesn't include a payment [(Paytium No Payment)](https://www.paytium.nl/handleiding/formulier-zonder-betaling/)
    * The register_activation_hook was implemented incorrectly and didn't run, causing admin notices to not display
    * Improve 'Items Table' layout in payment edit, invoices, emails
    * Improve styling of dropdowns in forms to look the same as text input
    * Label of fields with type firstname was not stored (by typo in ddata)
    * Checkboxes: remove default checkbox for amounts, make sure terms option is also stored, only sum up amounts for amount checkboxes, not eg. terms
    * Fix harmless warning in developer console for missing Parsley map file
    * Add explanation to prefilled fields (name, firstname, lastname, email) for administrators
    * Email field: fix validation when field not required and empty

= 2.0.6 - January 14th, 2018 =

* FIX:
    * Made sure payment status is translated on return page
    * Paytium Links: amounts with comma's as separator not processed correctly
    * If a form contains multiple required email fields with no input on submit, the "This value is required" message was shown multiple times under the first field
    * Fixed issue where with open fields (user entered custom amount) the amount wasn't stored correctly before payment
    * Remove check for amount format in open amount fields (user entered amount) as it's also done in form processing javascript and causes issues in some browsers (regex pattern)
    * Updated examples in TinyMCE button to match new format, see https://www.paytium.nl/handleiding/flexibele-bedragen/

= 2.0.5 - December 7th, 2017 =

* NOTES:
    * Paytium can now count multiple amounts (bedragen optellen) in one form! Hooray! But this does mean that if you have an incorrect form, the total might be too high. I have a noticed a small group of users have this incorrect setup. Please check your forms after the update, and make sure your total amount is correct.

* NEW:
    * Add new amount shortcodes so you can include multiple items (products/services/amounts) per form
    * Add support for setting a tax percentage per item tag
    * Add support for summing up (optellen) multiple items
    * Add Payments link to WordPress sidebar

* FIX:
    * Make sure extra fields of type textarea are not included in Mollie metadata (otherwise might hit Mollie metadata limit and show an error)
    * Terms & Conditions checkbox: fix bug, link to T&C (with 404 error) shown even when not set
    * Setup Wizard: individual website profiles can now be seen and selected (for users that already have active profiles)
    * Setup Wizard: fix "Check again" button
    * Fix bug when using first name and last name field and recurring payments (Mollie Customer not created)
    * Update minimum capability for Payments overview to edit_posts so Editors can view them
    * Saving selected labels in dropdowns & radio buttons
    * Make sure CSS/icon for Paytium icon in editor is also shown in site

* UX:
    * Subscriptions: show Mollie Customer ID in Subscriptions metabox
    * Subscriptions: improvement to only create a subscription if first payment is not expired, cancelled or failed
    * Subscriptions: fix "Cancel subscription" button and show more useful information to users (after Mollie changed their API, causing an error when button was used)
    * Subscriptions: improve Mollie Subscriptions implementation by saving and showing more useful information to users
    * Payments overview: improve style of status labels in Payments overview
    * Update Parsley.js to 2.7.2 (fixes conflicts with plugins, at least Caldera Forms)

* DEV:
    * Webhook: use GET/POST instead of REQUEST and sanitize input
    * Remove unused libraries: pikaday, WPUpdatePhp, moment.js
    * Subscriptions: only save subscription post meta fields if payment is actually a subscription
    * Moved MailChimp API libraries to pro versions so basic version is lighter
    * Updated Mollie API PHP client to 1.9.1

= 1.5.0 - May 27th, 2017 =

* NEW:
    * Links: pre-fill information into a form from a URL, see [manual](https://www.paytium.nl/handleiding/links/).
    * No Payment: create normal forms that don't need a payment, see [manual](https://www.paytium.nl/handleiding/formulier-zonder-betaling/).
    * Automatically prefill a users name (full, first, last) if logged in

* FIX:
    * Make sure text after clicking Buy Now-button -Even wachten a.u.b- is translatable
    * Improve styling/css of user-entered-amount (open field for amount)
    * Improved translations and fixed typo's
    * Fix bug where newly created profile key was not stored in Setup Wizard

* UX:
    * Don't show a notice for Setup Wizard if Paytium is already set to accept Live payments
    * Don't show Setup Wizard in menu if site is set to Live payments
    * Add admin notice explaining that using the Setup Wizard is not required if site has already received live payments
    * During Setup Wizard only set site to Live payments if website profile is verified, not just on check

* DEV:
    * Split payment, webhook & redirect functions into 3 separate files

= 1.4.1 - March 18th, 2017 =

* NEW: Added (3) better messages after payment per status (paid, open and other statuses)
* NEW: Add new hooks after webhook processing of subscription first and renewal payments, paytium_webhook_subscription_renewal_payment and paytium_webhook_subscription_first_payment
* FIX: Re-add support for sending custom field info to Mollie, but cap at 20 fields because of Mollie metadata size limit
* FIX: Updated always_enqueue check to paytium_always_enqueue, caused scripts to not always load when Paytium shortcode was not found in the content

= 1.4.0 - February 21st, 2017 =

* Bug fixes:
    * Add a custom start date for subscriptions, so they start the interval period after the first payment (no more double payments)
    * Make sure payment status shown after payment (in the Thank you message) is pretty and translated (to Dutch for example), not an untranslated (English) database value
    * Add a colon ':' to the label of paytium_dropdown and paytium_radio automatically, just like the other fields in the payment form
    * Payment and order status labels in Paytium > Payments did not have different colours previously
    * On some sites payment status was not updated because the home_url() didn't include a trailing slash by default, changed webhook URL to always have a trailing slash
    * Also recognize amounts in [paytium_dropdown /] & [paytium_radio /] if there is no description in the options, just an amount
    * Added wp_unslash to remove slashes before description and name are sent to Mollie
    * The error "Invalid Customer ID" will no longer be shown when a webmaster moves from test to live payments and does a test with a known email address
* Subscriptions, improved and extended the implementation of recurring payments:
    * Added Subscription details in Paytium > Payment > Edit Payment, only shown when payment is a subscription
    * Added button to cancel subscriptions from Paytium > Payments > Edit Payment
    * Added an icon to Paytium > Payments, with different colours, indicates if a payment is for a subscription and what the status is
        * Orange icon: subscription pending, not created yet
        * Green icon: subscription created
        * Red icon: creating subscription failed
        * Blue icon: renewal payment for existing subscription
    * Storing more subscription related information to the database, like subscription_payment_status and subscription_error
    * Register a webhook URL for subscriptions at Mollie, so renewal payments for subscriptions will also be sent to the website/Paytium
    * Only try to create a subscription if payment status is paid and there is a valid mandate, and save subscription status to database
* Improvements:
    * Remove limitations in amount of custom fields that can be added and stop sending custom field data to Mollie in metadata (limit was 1024KB)
    * Added a hook (paytium_after_pt_payment_update_webhook) after Mollie calls the webhook, so you can do some addition processing after a payment
    * Added a hook (paytium_after_full_payment_saved) directly after Paytium saves the full payment, for developers PP features
    * Added a hook (paytium_update_payment_status_from_admin) so stuff can be done when status is updated from WordPress admin (like sending emails)
    * Added space between euro currency symbol and amount, as is the norm in the Dutch language
    * Added label option for paytium_total tag, example: label="Totaal"
    * Added filter pt_after_email_field which allows support for newsletter shortcodes (MailChimp, MailPoet) in the future
    * Added optional processing for newsletter shortcodes (for PP)
    * Added a message to Paytium > Payments > Edit Payment when payment is created in test mode: 'This payment was created in test mode!'
    * Save label and selected option for custom amounts with [paytium_dropdown /] & [paytium_radio /] to database
    * Stop storing pt_cf_radio and pt_cf_dropdown to database, better way to handle them implemented in public.js
    * Removed .mo and .pot files so translations are automatically handled by wordpress.org
    * Removed lot's of redundant code and reformatted other code to WordPress standards
    * Output Mollie 'white screen of death' errors to the user, don't just log them to the debug.log
    * Allow users to configure what the first option in an amount dropdown [paytium_dropdown /] should be
    * Updated payment statuses in Paytium to actual ones that Mollie might use/send to the website
    * Always create a new Mollie customer for every payment, most secure solution for the fact that Paytium has no 'customer management'
    * Make pt_set_paytium_key smarter, so it uses correct key for existing payments

= 1.3.1 - October 25th, 2016 =

* Error shown when customer_id was not set in certain cases
* Improved PHP 5.3 compatibility by switching back to old-style array syntax
* Solved a fatal error on PHP versions below PHP5.5, where empty() doesn't support more than $variables
* Removed check for multiple [paytium_subscription /] tags in one form, incorrectly checks entire content, not just form
* Improved CSS for "User Entered Amounts" so currency and field fit on one line in most themes (.pt-form-group .pt-uea-container input[type="text"])

= 1.3.0 - October 16th, 2016 =

* NEW: Added support for subscriptions/recurring payments with [paytium_subscription /] shortcode
* FIX: Added default css for .pt-checkout-form button
* FIX: Fixed issue that made all fields required, even if set to required=false

= 1.2.0 - October 7th, 2016 =

* Updated the CSS for fields of the payment form so it automatically works better with more themes
* Updated Mollie API to version 1.6.6/1.7.0 with support for new APIs, Customers and Subscriptions support coming soon
* Added newsletter opt-in notice
* De-minify admin.css and remove admin.scss, as I don't use sass for this plugin
* Added Extensions page so users can show interest in new features
* Other minor UI improvements and fixes

= 1.1.0 - September 13th, 2016 =

* NEW: Added custom fields, current types: text field, text area, email field, radio buttons, checkbox, dropdown, terms & conditions checkbox
* NEW: Added a hook (paytium_after_pt_show_payment_details) after payment, so you can hook into the messages after payment and for example redirect to another page
* NEW: Added Dutch language file for form validation, for example "Dit veld  is verplicht" instead of "This field is required."
* NEW: Added new option: button_label="KOPUH!" for custom button text in your forms
* Optimized the code that processed customer_details="true" to use new custom fields process, keeping it backwards compatible
* Form and field CSS improvements (field margins etc)
* Fixed typo in URL to Mollie.com
* In CSS removed pt-radio-group margin, caused issues in some themes

= 1.0.4 - April 15th, 2016 =

* Added check for no or low amounts, shows a better error when people don't enter an amount or a too low amount
* Cleaned up processing javascript
* Setup wizard > Create profile, make warning more prominent with pt-alert-danger
* Bug fix for "Notice: undefined variable html"
* Removed transaction_id column in Payments overview, not useful for the average user

= 1.0.3 - March 24th, 2016 =

* Changed to profile-verified for consistency with other API methods
* Change client to wordpress (lowercase) for API communication
* Show Mollie transaction ID in Payment overview and edit view
* Add Paytium payment ID to Mollie description
* Update Next step button in Setup wizard > Create profile to go to Payment test instead of Create product step
* Bug fix: incorrect API key used to check status of payments, so status was not updated in WP
* Correct continue button in Setup Wizard > Activate account to link to First product tab

= 1.0.2 - March 15th, 2016 =

* Fixed issue in Setup Wizard with javscript typo (at least in Firefox and Safari)

= 1.0.1 - March 8th, 2016 =

* Turn test mode off in communication to Mollie API
* Added Dutch (nl-NL) language file
* Small changes and typos

= 1.0.0 - March 8th, 2016 =

* Hooray, first public version!

paytium's People

Contributors

vukadin avatar

Watchers

David de Boer avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.