【发布时间】:2023-03-23 13:45:01
【问题描述】:
我在 WordPress 网站中有一个包含联系表格 7 的表格。 当您单击“提交”时,您将被重定向到 Paypal 并乐意付款:)。一切正常,但我想要更多。 我想发送邮件,只有当访客在 Paypal 上付款时。 我在谷歌上搜索过,但我没有找到这样做的方法。
有什么想法吗?
谢谢!
内森
【问题讨论】:
标签: wordpress email paypal contact-form-7
我在 WordPress 网站中有一个包含联系表格 7 的表格。 当您单击“提交”时,您将被重定向到 Paypal 并乐意付款:)。一切正常,但我想要更多。 我想发送邮件,只有当访客在 Paypal 上付款时。 我在谷歌上搜索过,但我没有找到这样做的方法。
有什么想法吗?
谢谢!
内森
【问题讨论】:
标签: wordpress email paypal contact-form-7
您可以使用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 参数。
【讨论】:
列出的PayPal IPN plugin当时不可用,是否有其他活动插件代替?
【讨论】: