PayPal IPN 案例没有调用PayPal "pay now"



贝宝ipn案例没有调用贝宝"立即支付"。在贝宝按钮中设置了以下内容。

return : "http://localhost/paypal.php?ch=return"
cancel_return : "cancel_return" value="http://localhost/paypal.php?ch=cancel"
notify_url : value="http://localhost/paypal.php?ch=ipn"

paypal_form.php

<form name="paypal" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="rm" value="2">
<input type="hidden" name="no_notes" value="1">
<input type="hidden" name="custom" value="1">
<input type="hidden" name="business" value="seller_1309158746_biz@gmail.com">
<input type="hidden" name="return" id="return" value="http://localhost/paypal.php?ch=return">
<input type="hidden" name="cancel_return" id="cancel_return" value="http://localhost/paypal.php?ch=cancel">
<input type="hidden" name="notify_url" id="notify_url" value="http://localhost/paypal.php?ch=ipn">
<input type="image" src="https://www.sandbox.paypal.com/WEBSCR-640-20110429-1/en_GB/i/btn/btn_paynow_SM.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online.">
<img alt="" border="0" src="https://www.sandbox.paypal.com/WEBSCR-640-20110429-1/en_GB/i/scr/pixel.gif" width="1" height="1">

paypal.php

<?
include('db_connect.php');
$choice=isset($_GET['ch'])?$_GET['ch']:'';

switch($choice){
case 'return':
        print "Thank You For Buying this product,Please Visit Again,If is there any complements Then suggest us..";
    break;
case 'ipn':
    $sql="INSERT INTO paypal(add_date) VALUES(now())";
    mysql_query($sql);
    $x = fopen('test1.txt','w+');
    $str2 = 'post data:dfydfhgfhjg'; 
    foreach($_POST as $k=>$v){
        $str2 .= $k.'--'.$v;
    }
    fwrite($x,$str2);
    fclose($x);
    break;
case 'cancel':
        print "Thank You for visiting this site,Please inform your friend to buy products through paypal which is easy service... ";
    break;
}   
?>

IPN脚本不能驻留在localhost上,因为PayPal将从其一侧打开自己的连接。请改用FQDN。

最新更新