WooCommerce sends the emails – triggered by the payment_complete method of the order class.
By the way, WC has an official paypal pro extension: http://www.woothemes.com/extension/paypal-pro/ written by myself.
Related Posts:
- How to create a flexible abstraction for WP_Query?
- custom XMLRPC method plus authentication of user & WooCommerce order
- Adding callback function for wp_ajax_ has no effect
- How to add meta boxes to the ‘Add new post’ screen?
- Load WooCommerce templates from my plugin folder first
- Woocommerce custom emails without header and footer
- Append varible to url or set session
- Plugin for Android Marketplace downloads?
- change add to cart button link [closed]
- WooCommerce currency converter support [closed]
- Woocommerce – looping product images
- WooCommerce custom payment gateway
- How to remove a class [closed]
- woocommerce features to add product along with link
- Looking for WordPress System Diagrams
- How to output message during plugin activation
- How to provide translations for a WordPress TinyMCE plugin?
- How to add custom content template part for a custom post type on main query using a plugin
- Where do I start from
- Check the Version of an Enqueue’d External Library
- Custom admin column disappearing when using Quick Edit [duplicate]
- Create page when plugin is activated
- How can I translate the name of my Plugin for other languages?
- Change of query var in pre_get_posts not maintained
- Menu Error in Admin Console with Custom Plugin: You do not have sufficient permissions to access this page
- How to Parse an Array of Elements in Gutenberg Block
- Logs to check when the plugin was first installed for the first time
- Can a plugin add to header/footer/body content?
- Custom rewrite rule serves content, but returns 404 error code
- Will changing the ‘Plugin Name’ header in the next update of a plugin break anything?
- Performance of several get_option() calls
- wp_enqueue_script fails to include in footer
- How do I create a custom api endpoint?
- jQuery function didn’t work in my plugin
- Add tab to profile.php wordpress plugin development
- Sharing a common set of image files for media library, across all sites within multisite
- Error : “Cannot use object of type WP_Post as array in”
- How to make Http Request to a php file present in plugin directory of wordpress
- How to filter content on Save/Publish to add rel=”nofollow” to all external links?
- How to show active version on wordpress.org of a published plugin?
- All Users > User List > Update User Meta Field Inline
- Find out Requires WP tag for a plugin when submitting it
- Extending theme PHP class in plugin
- WordPress.org Plugin Directory doesn’t recognise screenshots [closed]
- How to check current user before all actions and filters?
- Plugin: register_deactivation_hook works perfectly well, while register_activation_hook suddenly stopped working
- How to Add Custom New Published Post Counter Icon on Top of the WordPress Site [closed]
- How to pass variables to a function argument using add_action [duplicate]
- WP and object persistence (or lack thereof)
- Activate my plugins via FTP
- Additional classes `undefined` after saving post in Gutenberg
- How do you submit a Gutenberg plugin?
- Bad Request in AJAX
- update_option_{$option} not showing old value
- WP nonce field checkbox prints checked=’checked’ outside input field
- Shortcode not appearing when used as post content in wp_insert_post() or possibly, shortcode not being registered at all
- A server-side hook failed when committing plugin code to SVN
- Content-Security-Policy Headers are there and showing the correct settings, but still getting a refused connection
- Creating two tables in database on activation hook
- Development of plugins to add components like JqueryUI
- plugin enqueue style on all pages
- Adding Custom CSS with PHP
- What is necessary to secure a WP plugin against direct file access attempts?
- why the wp_register_script doesn’t work for register_activation_hook
- How to remove/replace current page template?
- Add a Custom Field in Comment Box next to the Text area
- How do you create a re-useable HTML fragment in wordpress
- How to receive notification of deprecated API elements and functions?
- Using password protection to load different page elements?
- It is possible to pass $args that sent by add_settings_field() inside another function?
- Change reminder email date to 14 days before
- GitHub plugins safe to use in my website?
- Generating a password-protected front-end page via a plugin
- wp_remote_post not working with admin-post.php
- implement checkbox or toggle switch in plugin code
- WordPress Own Rewrite Rules
- Default media uploader is not showing in wordpress website
- How to put a maximum real-time users limit
- Load custom translation in custom plugin fails
- Custom admin plugin read CSV
- Buddy Press restrict the capability to edit users
- “Headers Already Sent” Nightmare on Plugin
- How can I call functions from a custom plugin?
- How to get short description under heading – Visual Composer [closed]
- plugin installing error
- Uncaught ReferenceError: kpoejy is not defined
- How to get an array out of a nav menu if it’s a plugin?
- Is there better way to do this without duplicating queries?
- How to create a simple plugin which show/hide an html code in wordpress?
- Why the output of an image gallery plugin is not displayed into a page of my custom theme?
- How can I use wp_ajax_response for front-end error reporting?
- Is there a way to make is_search() always return false
- Translation of plugin Upload button
- Create wordpress dashboard metabox which spans all columns
- Gutenberg: Dynamic Block – Show saved data in the editor
- How to fix ‘Call to undefined function do_settings()’ error?
- add_filter adds output in the head
- How can i add insertion point between inner blocks in my custom block like core blocks
- plugin doesn’t retrieve data from database
- Display months on a drop down calendar as TEXT instead of Numbers