在轻松数字下载插件中检查Paypal购买是否成功

时间:2013-10-28 作者:Vignesh Pichamani

我试图在轻松的数字下载中为每次购买相应产品做些事情。比方说,我需要添加自动随机折扣代码为每一个购买了方便的数字下载。我试过用不同的钩子。但我仍然没有得到关于贝宝成功过程的正确回调。让我在贝宝成功回调时发出警报。

我想做的是这样的

if($paypal == \'success\') {
//do something
} else {
//do something
}
function pw_edd_on_complete_purchase($payment_id) {

    // Basic payment meta
    $payment_meta = edd_get_payment_meta($payment_id);
    ?>
    <script type="text/javascript">
        alert("this is for payment");
    </script>
    <?php

    // Cart details
    //$cart_items = edd_get_payment_meta_cart_details($payment_id);

    // do something with payment data here
}

add_action(\'edd_complete_purchase\', \'pw_edd_on_complete_purchase\');
但我不知道该怎么做。我有一款名为礼品卡的产品,比如说5美元。如果用户购买了此礼品卡,则他/她将获得折扣的随机代码,以便将来购买其他产品。谁能告诉我哪个钩子达到了上述标准?

任何建议都很好谢谢

1 个回复
SO网友:George G.

您应该能够使用edd_add_discount() 作用您可以了解有关此函数的更多信息here on the EDD Codex 查看需要传递给函数的特定数据。

然而edd_complete_purchase 可能不是正确的操作。如果您只想在特定支付类型(PayPal)成功计费时生成特定代码,您可能需要挂接到edd_before_payment_status_change. 这是呼叫edd_update_payment_status(), 你也可以在EDD Codex上看到here, 应该让你只跑edd_add_discount() 如果$new_status 在内部edd_update_payment_status()\'published\' (或以其他方式成功付款,而不是\'failed\'\'pending\').

结束

相关推荐

PayPal Post IPN处理噩梦

我正在尝试将paypal标准与我的Wordpress网站整合,一切都进展顺利,直到我想做一件简单的事情:用户提交paypal付款,paypal将IPN发布到我的服务器。Post IPN挂钩添加一个用户元。如果用户重新加载当前页面,它会检查前一个用户元是否设置为1,如果设置为1,则会显示“您已经购买了您的票证”。我想这很简单,但如果我将此添加到我的functions.php 对于后IPN挂钩:add_filter(\"gform_paypal_post_ipn\", \"update_order_statu