[英]How to integrate Paypal IPN for recurring payments?
到目前為止,我一直在使用Micah Carrick的PAYPAL IPN課程
web_accept
但現在其中一個客戶想要將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系統的鏈接無效。 請查看該鏈接,然后重試。
我只知道我的代碼背后的問題是什么。我只是用其他一些變量重寫代碼,它只是工作正常。
$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();
我不相信你應該設置txn_type - 這是PayPal的IPN傳回的值,而不是傳遞給它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.