Как интегрировать Paypal IPN для регулярных платежей?
Я использую класс PAYPAL IPN Майки Каррика до сих пор для
Но теперь один из клиентов хочет интегрировать в него повторяющийся метод.Я попробовал использовать тот же самый материал, но, к сожалению, не был так успешен в этот раз. Я пытаюсь подключиться к повторяющемуся методу Paypal.Ниже приведен код, с помощью которого я пытаюсь добраться до него;Web_accept
$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 sandbox выдает мне такую ошибку:
Ссылка, которую вы использовали для входа в систему PayPal, недействительна. Пожалуйста, просмотрите ссылку и повторите попытку.
2 ответа:
Я только что понял, в чем проблема моего кода.Я просто переписал код с некоторыми другими переменными, и он просто отлично работал.
$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();