wordpress - 付款后发送邮件 paypal 联系表 7

标签 wordpress email paypal contact-form-7

我在 WordPress 站点中有一个带有联系表 7 的表单。 当您点击“提交”时,您将被重定向到 Paypal 并乐于付款 :)。一切正常,但我想要更多。 我想发送邮件,只有当访问者使用 Paypal 付款时。 我在谷歌上搜索过,但没有找到执行此操作的方法。

有什么想法吗?

谢谢!

内森

最佳答案

您可以使用 PayPal IPN完成这项工作。有一个 free plugin available to get PayPal IPN setup in WordPress非常容易,但随后您需要从您的 functions.php 文件(或您自己的插件)中创建一个基本 Hook ,以根据您希望发送电子邮件的时间触发电子邮件。

您可以根据不同的 PayPal 交易类型或付款状态触发您想要的任何操作。

这是从扩展程序向 IPN 插件发送电子邮件的一个非常基本的示例。这是一个完整的插件文件,只有一个插件 Hook 。在本例中,我使用的是 paypal_ipn_for_wordpress_txn_type_cart Hook 。

<?php
/**
 * @package PayPal IPN for WordPress - Hook Template
 * @version 1.0.0
 */
/*
Plugin Name: PayPal IPN for WordPress - Hook Template
Plugin URI: http://www.angelleye.com/
Description: Hook tester for PayPal IPN for WordPress plugin.
Author: angelleye
Version: 1.0.0
*/


add_action('paypal_ipn_for_wordpress_txn_type_cart', 'paypal_ipn_for_wordpress_txn_type_cart', 10, 1);
function paypal_ipn_for_wordpress_txn_type_cart($posted) {

    // Parse data from IPN $posted array

    $payment_status = isset($posted['payment_status']) ? $posted['payment_status'] : '';
    $mc_gross = isset($posted['mc_gross']) ? $posted['mc_gross'] : '';
    $first_name = isset($posted['first_name']) ? $posted['first_name'] : '';
    $last_name = isset($posted['last_name']) ? $posted['last_name'] : '';
    $cart_items = isset($posted['cart_items']) ? $posted['cart_items'] : '';

    /**
     * At this point you can use the data to generate email notifications,
     * update your local database, hit 3rd party web services, or anything
     * else you might want to automate based on this type of IPN.
     */
    $to = 'email@domain.com';
    $subject = 'Email from PayPal IPN';
    $message = 'Order Total: ' . $mc_gross . "\n";
    $message .= 'Payment Status: ' . $payment_status . "\n";
    $message .= 'Name: ' . $first_name . ' ' . $last_name . "\n";
    $message .= 'Cart Items: ' . print_r($cart_items, true);
    wp_mail( $to, $subject, $message );
}

因此,在您的站点上同时安装了 IPN 插件和此插件后,只要您的 PayPal 帐户进行了购物车交易,就会相应地发送一封电子邮件。这是我在网站上激活此插件的情况下在 PayPal 上运行测试交易时收到的电子邮件示例。

Order Total: 90.27
Payment Status: Completed
Name: Tester Testerson
Cart Items: Array
(
    [0] => Array
        (
            [item_number] =>
            [item_name] => Woo Album #2
            [quantity] => 1
            [mc_gross] => 75.27
            [mc_handling] => 0.00
            [mc_shipping] => 0.00
            [custom] =>
            [option_name1] =>
            [option_selection1] =>
            [option_name2] =>
            [option_selection2] =>
            [btn_id] =>
            [tax] => 0.00
        )

)

当然,您可以花时间使电子邮件更漂亮,并将其发送到您需要的任何电子邮件地址。

所以,您可以再次使用 lots of different hooks根据不同的 IPN 类型或支付状态触发您自己的插件功能。

此处的示例仅包括 IPN 提供的一些数据参数,但 WordPress 中的 IPN 记录将为您提供一个模板,您可以轻松地将其复制/粘贴到您自己的插件文件中,其中包括该类型 IPN 可用的每个 IPN 参数。

关于wordpress - 付款后发送邮件 paypal 联系表 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30983791/

相关文章:

php - 在帖子内容的第一个 h2 标签之前插入广告

javascript - 无法在 Internet Explorer 中嵌入 Youtube mediaelement

email - MS Exchange IMAP登录返回“收到的BAD命令处于无效状态”

html - Outlook 2013 只有 HTML 电子邮件中的图像间隙

ruby-on-rails - 使用 PayPal gem 进行点对点支付

php - 获取Paypal账户余额

wordpress - 将图像与 WordPress 中的帖子关联

javascript - WordPress 插件中的 jQuery

python - 在 Django 中翻译电子邮件模板

html - Paypal html 表单不起作用