Php 如何在paypal中完成付款后成功获取post值

Php 如何在paypal中完成付款后成功获取post值,php,paypal,paypal-ipn,Php,Paypal,Paypal Ipn,我遵循PHP的简单代码进行paypal集成 这是我的密码 <form action="<?php echo $paypal_url; ?>" method="post"> <input type="hidden" name="business" value="<?php echo $paypal_id; ?>"> <input type="hidden" name="cmd" value="_xclick"&

我遵循PHP的简单代码进行paypal集成

这是我的密码

<form action="<?php echo $paypal_url; ?>" method="post">
        <input type="hidden" name="business" value="<?php echo $paypal_id; ?>">

        <input type="hidden" name="cmd" value="_xclick">

        <input type="hidden" name="item_name" value="<?php echo $row['name']; ?>">
        <input type="hidden" name="item_number" value="<?php echo $row['id']; ?>">
        <input type="hidden" name="amount" value="<?php echo $row['price']; ?>">
        <input type="hidden" name="currency_code" value="USD">

        <input type='hidden' name='cancel_return' value='http://localhost/paypal_integration_php/cancel.php'>
        <input type='hidden' name='return' value='http://localhost/paypal_integration_php/success.php'>

        <input type="image" name="submit" border="0"
        src="https://www.paypalobjects.com/en_US/i/btn/btn_buynow_LG.gif" alt="PayPal - The safer, easier way to pay online">
        <img alt="" border="0" width="1" height="1" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" >

    </form>

但是当我回到我的成功文件时,我遇到了这样的错误,

我对IPN和PDT的概念不太清楚。

试试这个

$item_name        = $_POST['item_name'];
$item_number      = $_POST['item_number'];
$payment_status   = $_POST['payment_status'];
$payment_amount   = $_POST['mc_gross'];
$payment_currency = $_POST['mc_currency'];
$txn_id           = $_POST['txn_id'];
$receiver_email   = $_POST['receiver_email'];
$payer_email      = $_POST['payer_email'];

我不能完全确定这一点,但我相信PDT正在使用GET参数进行响应。因此,当您返回时,请检查url,它可能看起来像:

xxxxx.com/?TX=XXXX和AMOUNT=XXXX等

如果是这样的话,那么你的变量应该是

$txn_id = $_GET['TX'];
$amount = $_GET['AMOUNT'];
在url中包含所有详细信息

但是,如果您使用的是IPN,我建议您在$帖子上进行var_转储或打印,以查看您从paypal收到的数据类型。然后你可以把它们添加到变量中。例如:

$item_name = $_POST['whatever post data you got from paypal'];

$\u POST
对我不起作用,它也会引发相同的错误(如果你能把问题的范围缩小到一些特定的行,并明确地问一个关于某件事的问题,你会得到更好的回答。如指南中所述,并创建一个。
$item_name = $_POST['whatever post data you got from paypal'];