0

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

   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>';
4

3 回答 3

1

我使用Micah Carrick 的 Paypal IPN 类将支付数据发送到 paypal。此代码与 Paypal 中的示例相同,但 Micah 已将其包装到一个类中,因此更易于使用。

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

关于定期付款,Paypal对此有很好的文档。

于 2010-02-16T03:05:00.683 回答
0

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

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

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

我要再次说,为了让您的应用程序在所有情况下都能正常工作,您必须与其他一些人一起进行此检查,以确保处理任何警告或延迟代码并完成请求的重试尝试。它有点复杂,但如果你按照他们的手册进行操作,你会得到它的工作。只需在沙箱中进行大量测试,然后再将其发送出去!

于 2010-02-15T18:26:02.023 回答
0

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

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

于 2010-02-15T21:14:07.380 回答