Paypal返回true或false

时间:2010-02-15 18:03:54

标签: php paypal payment recurring payment-processing

所以我很好奇如何设置定期付款,就像我在这里一样,但如果付款成功,我需要PayPal返回给我,并且它会转到我更新MySQL用户表的X.PHP页面说明他已经付款。如果有人能给我一些很棒的指导。

   echo '<form action="https://www.paypal.com/cgi-bin/webscr" method="post">';
    echo '<input type="hidden" name="cmd" value="_xclick-subscriptions" />';
    echo '<input type="hidden" name="business" value="payme@paypal.com" />';
    echo '<input type="hidden" name="item_name" value="Subscription" />';
    echo '<input type="hidden" name="currency_code" value="CAD" />';
    echo '<input type="hidden" name="a3" value="0.01" />';
    echo '<input type="hidden" name="p3" value="1" />';
    echo '<input type="hidden" name="t3" value="M" />';
    echo '<input type="hidden" name="return" value="success.php" />';
    echo '<input type="hidden" name="cancel_return" value="fail.php" />';
    echo '<input type="hidden" name="src" value="1" />';
    echo '<input type="hidden" name="sra" value="1" />';
    echo '<input type="hidden" name="receiver_email" value="payme@paypal.com" />';
    echo '<input type="hidden" name="mrb" value="R-3WH47588B4505740X" />';
    echo '<input type="hidden" name="pal" value="ANNSXSLJLYR2A" />';
    echo '<input type="hidden" name="no_shipping" value="1" />';
    echo '<input type="hidden" name="no_note" value="1" />';
    echo '<input name="submit" type="submit" value="Use PayPal" />';
    echo '</form>';

3 个答案:

答案 0 :(得分:1)

我使用Micah Carrick's Paypal IPN class向PayPal发送付款数据。这段代码与Paypal中的示例相同,但是Micah将它包装成一个类,因此更容易使用。

要更新您自己的数据库,请在ipn验证页面中进行更新,这样买家无需在付款后点击返回您的网站。

关于定期付款,Paypal对此有一个很好的documentation

答案 1 :(得分:0)

如果我记得正确的paypal要求您使用CURL帖子到他们的系统,然后您可以选择解析包含成功和错误代码的序列化PHP数组。您将需要检查他们的文档以了解您的特定网关设置,但您不会只是得到一个真/假您将获得大量数据并且将不得不知道如何阅读他们的代码以获得任何有用的东西背部。我将检查一些旧的代码,并在几分钟内发布更新。

编辑附加信息: 我查看了与paypal进行的网关集成,看起来最接近TRUE / FALSE的是从调用服务器获取结果并检查数组中的密钥'ACK'并查看如果它等于'SUCCESS'或'SUCCESSWITHWARNINGS':

if( strtoupper( $result['ACK'] ) == 'SUCCESS' || strtoupper( $result['ACK']) == 'SUCCESSWITHWARNING' )
    {
        //DO SOMETHING
    }

我再说一遍,为了让你的应用程序在所有情况下都能正常工作,你必须与其他几个人一起检查,以确保处理任何警告或延迟代码并完成请求的重试尝试。它有点复杂,但如果你按照他们的手册你会让它工作..只是在你发送它之前在沙盒中做了很多测试!

答案 2 :(得分:0)

这似乎对这个问题给出了很好的回应。

http://www.web-development-blog.com/archives/easy-payments-using-paypal-ipn/

相关问题