13

今までマイカ・キャリックのPAYPAL IPNクラスを利用していました

web_accept

しかし、現在、クライアントの1人がRecurringメソッドをそれに統合したいと考えています。私は同じものを使用しようとしましたが、残念ながら今回はあまり成功しませんでした. Paypalの定期的な方法に接続しようとしています.以下は、それに到達しようとするコードです;

$paypalObj = new paypal_class();

$itemName = "My Product";
$itemNumber = $itemName . " - Premium ($amount$)";

$paypalObj->paypal_url = 'https://www.sandbox.paypal.com/cgi-bin/webscr';// testing paypal url
//$paypalObj->paypal_url = 'https://www.paypal.com/cgi-bin/webscr';// Live paypal url

$paypalObj->add_field('cmd','_xclick-subscriptions');
$paypalObj->add_field('txn_type', "recurring_payment");
$paypalObj->add_field('product_name', "My Product Subscription - Monthly( $$amount )");
$paypalObj->add_field('desc', "My Product Subscription - Monthly( $$amount )");

$paypalObj->add_field('business', "test@yahoo.com");

$paypalObj->add_field('return', "http://".$serverName . "/buy-now.php");
$paypalObj->add_field('cancel_return', "http://".$serverName. "/return.php?action=cancel");
$paypalObj->add_field('notify_url', "http://" . $serverName . "/return.php?action=ipn");

$paypalObj->add_field('src', "1");
$paypalObj->add_field('sra', "1");
$paypalObj->add_field('a3', "$amount");
$paypalObj->add_field('t3', "M");
$paypalObj->add_field('p3', "1");
//$paypalObj->add_field('no_note', "1");
$paypalObj->add_field('currency_code', "USD");

$paypalObj->add_field('first_name', $firstName);
$paypalObj->add_field('last_name', $lastName);

$paypalObj->submit_paypal_post();   

コードを使用すると、Paypal サンドボックスにリダイレクトできます (まだテスト中のため) が、Paypal サンドボックスにログインすると、次のエラーがスローされます。

PayPal システムに入るために使用したリンクは無効です。リンクを確認して、もう一度お試しください。

4

2 に答える 2

10

コードの背後にある問題を突き止めたところです。他の変数を使用してコードを書き直したところ、問題なく動作しました。

$paypalObj = new paypal_class();


$customData = $firstName . ":";
$customData .= $lastName . ":";
$customData .= $emailId ;
$itemName = "MY_PRODUCT";
$itemNumber = $itemName . " - Premium ($amount$)";

$paypalObj->paypal_url = 'https://www.sandbox.paypal.com/cgi-bin/webscr';// testing paypal url


$paypalObj->add_field('cmd','_xclick-subscriptions');
$paypalObj->add_field('business','MY_MECHANT_ACCOUNT');
$paypalObj->add_field('item_name',$itemName);
$paypalObj->add_field('item_number',$itemNumber);
$paypalObj->add_field('return', "http://" . $serverName . "/buy-now.php");
$paypalObj->add_field('cancel_return', "http://".$serverName. "/buy-now.php?action=cancel");
$paypalObj->add_field('notify_url', "http://" . $serverName . "/buy-now.php?action=ipn");
$paypalObj->add_field('no_note','1');
$paypalObj->add_field('currency_code','USD');
$paypalObj->add_field('custom',$customData);
$paypalObj->add_field('a3', "$amount");
$paypalObj->add_field('t3', "M");
$paypalObj->add_field('p3', "1");
$paypalObj->add_field('src', "1");
$paypalObj->add_field('sra', "1");

$paypalObj->submit_paypal_post();
于 2010-10-29T15:41:25.563 に答える
0

txn_type を設定するべきではないと思います - これは PayPal の IPN から返される値であり、それに渡されるのではありません。

于 2010-10-28T20:56:51.223 に答える