Как поля кнопки подписки работают в HTML? Я думал, что знаю, но я получаю смешанные сигналы.

Я закодировал свою собственную кнопку «Подписка», чтобы попытаться генерировать повторяющийся (ежемесячный) платеж в течение 12 месяцев. Я ссылаюсь на документацию разработчика PayPal «HTML-переменные для стандарта платежей PayPal» и придумал следующий код:


<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<input type="hidden" name="bn" value="ITMgmt_Subscribe_WPS-CA">
<input type="hidden" name="business" value="[email protected]">
<table>
<tr><td>Assign Amount to:</td></tr>
<tr><td><input type="text" name="item_name" value="<enter designation>"></td></tr>
<tr><td><input type="hidden" name="currency_code" value="CAD"></td></tr>
<tr><td>Monthly Amount:</td></tr>
<tr><td><input type="text" name="a3" value="30.00"></td></tr>
<tr><td><input type="text" name="p3" value="12"></td></tr>
<tr><td><input type="text" name="t3" value="M"></td></tr>
<tr><td><input type="hidden" name="no_note" value="1"></td></tr>
<tr><td>In memoriam:</td></tr>
<tr><td>Donor name:<input type="hidden" name="on0" value="Donor Name"></td></tr>
<tr><td><input type="text" name="os0" size="100" maxlength="200"></td></tr>
</table>
<input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_subscribeCC_LG.gif" border="0" name="submit" alt="Set up recurring payments easily!">
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>

Насколько я понимаю, это должно установить платеж в размере 30 долларов США в месяц в течение 12 месяцев, и когда я нажимаю кнопку, кажется, что это делается:

`Description: Construction Fund               
`Terms:       $30.00 CAD for 12 months    Effective Date: Jan 28, 2014                        
`Amount:      $30.00 CAD

However, besides my not having any control over the Effective Date, the notification that isgenerated для "заказчика" читает:


`Вы отправили автоматический платеж


Идентификатор транзакции: 32U363747H730390R https://www.sandbox.paypal.com/ca/vst/id=32U363747H730390R

Привет ЭЛ ДУГЛАС,

Вы отправили автоматический платеж в тестовый магазин Алана Дугласа. Вот подробности:


Сумма: 30,00 канадских долларов Кому: Тестовый магазин Алана Дугласа Для: Строительный фонд URL службы поддержки клиентов: http://www.helloworld.com Электронная почта службы поддержки клиентов: [email protected]

Детали автоматического платежа


`Номер автоматического платежа: I-3K9JR0U78EBT

`Сумма, подлежащая оплате каждый раз: 30 канадских долларов.

`Платежный цикл: Каждые 12 месяцев ‹================================ ????

`Платежи начинаются: 28 января 2014 г. ‹================================ ????

`Платежи прекращаются после цикла:1 ‹================================ ????

`Оплатить деньгами из: Bank Of Canada Checking (подтверждено) x-6211

Строки выше, отмеченные "????" сообщают «покупателю», что он фактически сделал единовременный платеж в размере 30 долларов США, а не ежемесячный регулярный платеж в размере 30 долларов США в течение 12 месяцев.

На самом деле произошло то, что была произведена единовременная выплата.


person Al Douglas    schedule 30.01.2014    source источник
comment
пожалуйста, прочитайте html-переменные отсюда и используйте в соответствии с вашими требованиями. developer.paypal.com/docs/classic/paypal -платежи-стандарт/   -  person Ganesh Patil    schedule 30.01.2014


Ответы (1)


p3 должен быть 1, так что это будет каждый 1 месяц. Я не верю, что стандартные подписки предоставляют возможность указать дату окончания. Для этого вам нужно будет перейти на экспресс-оплату и API регулярных платежей. При использовании Standard профиль необходимо будет отменить, чтобы остановить его.

person Drew Angell    schedule 30.01.2014
comment
Спасибо, Эндрю. После еще нескольких просмотров и экспериментов мне удалось найти переменные src (значение 1 для регулярных платежей, по умолчанию 0) и srt (значение от 1 до 52 для количества вхождений). - person Al Douglas; 30.01.2014
comment
Единственное, что я не могу сделать сейчас, это установить дату вступления в силу. Регулярные платежи начинаются с текущей даты и повторяются в тот же день в последующие месяцы; если день не существует, используется конец месяца (например: 31 января, 28 февраля, 31 марта, 30 апреля ...). - person Al Douglas; 30.01.2014
comment
Я предполагаю, что единственный способ определить дату вступления в силу — это использовать некоторый PHP-код для сбора всей информации, а затем преобразовать ее в некоторое количество дней пробного периода по цене 0 долларов США, используя переменные a1=0, p1=‹days› и t1=D. Есть ли другой (разумный) способ? - person Al Douglas; 30.01.2014