付款后发送邮件 paypal 联系表 7
Posted
技术标签:
【中文标题】付款后发送邮件 paypal 联系表 7【英文标题】:sending mail after payment paypal contact form 7 【发布时间】:2015-09-08 03:09:02 【问题描述】:我在 WordPress 网站中有一个包含联系表格 7 的表格。 当您单击“提交”时,您将被重定向到 Paypal 并乐意付款:)。一切正常,但我想要更多。 我想发送邮件,只有当访客在 Paypal 上付款时。 我在谷歌上搜索过,但我没有找到这样做的方法。
有什么想法吗?
谢谢!
内森
【问题讨论】:
【参考方案1】:您可以使用PayPal IPN 来完成这项工作。有一个free plugin available to get PayPal IPN setup in WordPress 很容易,但是您需要从您的functions.php 文件(或您自己的插件)中创建一个基本挂钩,以根据您希望发送电子邮件的时间触发电子邮件。
您可以根据不同的 PayPal 交易类型或付款状态触发您想要的任何操作。
这是一个非常基本的示例,从扩展程序向 IPN 插件发送电子邮件。这是一个完整的插件文件,除了插件的钩子之外什么都没有。在这种情况下,我使用 paypal_ipn_for_wordpress_txn_type_cart 挂钩。
<?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 参数。
【讨论】:
好的,谢谢,我已经安装了插件,我明白它的作用了!但我必须了解如何在 Contact Form 7 和 Paypal IPN 之间建立联系,这可能很难。 你不会真的在这两个插件之间挂钩。联系表格 7(或任何处理 PayPal 付款的方法)会将付款发送到 PayPal。然后,PayPal 的服务器将触发 IPN 发送到您使用插件配置的 URL。然后,您将在 IPN 插件中单独添加一个挂钩,以根据 IPN 何时访问该 URL 来触发您自己的事件。我很快就会为此编写一个教程,但可能需要几天时间才能完成。 是的,谢谢你的解释,当你谈论这个的时候看起来很容易,但实际上......哈哈。我要搜索 你到底卡在哪里了? 我刚刚更新了答案,提供了有关如何完成它的更多详细信息。您可以复制/粘贴那里的内容并进行相应调整。【参考方案2】:列出的PayPal IPN plugin当时不可用,是否有其他活动插件代替?
【讨论】:
这没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,请提供不需要提问者澄清的answers。以上是关于付款后发送邮件 paypal 联系表 7的主要内容,如果未能解决你的问题,请参考以下文章
在 paypal REST API 中发送带有付款人信息的用户电子邮件地址