Застрял в этой проблеме за последние 2 дня.
Сценарий
У нас есть веб-продукт, в котором пользователи могут бесплатно зарегистрироваться в течение 14 дней, а затем ежемесячная подписка, скажем, $ 60,00. После того, как пользователи нажали кнопку «Оплатить с помощью Paypal», пользователи перейдут на Paypal, а после совершения платежа они перенаправятся обратно на наш веб-сайт. Все переданные параметры выглядят хорошо, так как я тестировал с песочницей как продавец и пользователь. мы использовали свойство «Обратный URL» в настройках профиля продавца в разделе «Платежные настройки сайта».
Исследования
Большинство похожих вопросов Реализация бесплатного пробного периода с PayPal и Бесплатная пробная версия подписки Paypal не работает , но моя проблема немного другая. А также документ, указанный в первом вопросе, не является действительной ссылкой.
Выпуск
Когда пользователь возвращается на наш веб-сайт, мы не можем получить пользовательскую переменную, которую мы передали во время первоначального перенаправления в PayPal. По сути это было просто перенаправление без каких-либо строк запроса или параметров записи. Но затем я пытаюсь взимать сумму за первые 14 дней, а не бесплатно, затем возвращается вся строка запроса. Наш поток зависит от пользовательского параметра, в котором мы сопоставляем идентификатор плательщика с фактическими данными клиента.
Наш код выглядит так,
<form name='paypal' action='https://www.sandbox.paypal.com/cgi-bin/webscr' method='post'>
<input type='hidden' name='business' value='xxx@xxxxx.com'>
<input type='hidden' name='no_shipping' value='1'>
<input type='hidden' name='cmd' value='_xclick-subscriptions'>
<input type='hidden' name='a3' value='60.00'>
<input type='hidden' name='item_name' value='Product A'>"
<input type='hidden' name='currency_code' value='USD'>
<input type='hidden' name='custom' value='parameter1|parameter2'>
<input type='hidden' name='item_number' value='PlanCode'>
<input type='hidden' name='p3' value='1'>"
<input type='hidden' name='t3' value='M'>"
<input type='hidden' name='a1' value='0'>"
<input type='hidden' name='p1' value='14'>"
<input type='hidden' name='t1' value='D'>
</form>
Я пытался добавить,
<input type='hidden' name='rm' value='1'>
Но не повезло.
Вопросы
- почему я не могу получить параметры обратного вызова, когда "a1 = 0" в течение 14 дней? Но тот же код работает, если я установил «a1» больше 0?
- Мне не хватает какого-либо параметра? или я использую неправильный подход при перезвоне? (Я использую Обратный URL)
- А как насчет использования IPN? Я понял, с сайта PayPal IPN не в режиме реального времени. Поскольку наше приложение полагается на пользовательские данные для следующего потока регистрации, мне интересно, можно ли его использовать? Если да, то какой будет первоначальный документ для изучения?