Подписки Paypal / регулярные платежи

Я пытаюсь настроить несколько регулярных платежей для своего веб-сайта, но когда я публикую в Paypal, на экране оплаты PayPal отображается только последний элемент. Все остальные элементы игнорируются.

Вот код, который я использую

String url;
url = "https://www.paypal.com/us/cgi-bin/webscr?";    
url += "cmd=_xclick-subscriptions";

url += "&business=" + ConfigurationManager.AppSettings["paypalemail"].ToString();
url += "&src=1";
url += "&sra=1";

if (!chargedListings && chkListingModules.Checked)
{

                url += "&item_name=Listing Module";
                url += "&a3=" + listingCharges;
                url += "&p3=1";
                url += "&t3=M";
                url += "&item_number=1";
                i++;
}

if (!chargedDB && chkDB.Checked)
{
                sendToPaypal = true;
                url += "&item_name=Database";
                url += "&a3=" + emailCharges;
                url += "&p3=1";
                url += "&t3=M";
                url += "&item_number=2";

                i++;
}

Не совсем уверен, что я делаю неправильно здесь. Я просмотрел документацию PayPal, но пока не нашел ничего полезного.

Любая помощь будет принята с благодарностью. заранее спасибо


person dogwasstar    schedule 06.03.2014    source источник


Ответы (1)


Вы не можете детализировать подписки на PayPal с помощью PayPal Payments Standard. Вот что PayPal говорит о параметре item_name (найдено здесь):

Описание продаваемого товара. Если вы собираете совокупные платежи, значением может быть сводка всех приобретенных товаров, номер для отслеживания или общий термин, например «подписка».

Параметр item_name предназначен для использования только один раз за транзакцию. Таким образом, причина, по которой он принимает только последний элемент, заключается в том, что вы передаете несколько экземпляров одного и того же параметра в своем URL-адресе (передавая &item_name=Listing Module, за которым следует &item_name=Database). Если вы хотите оформить единую подписку на все эти продукты, вам нужно вычислить цену всего и назначить ее для a3, а затем создать item_name, охватывающую оба. Если вы хотите, чтобы у каждого из этих элементов были разные условия подписки, вам нужно создать разные подписки для каждого из них.

person PayPal_Micah    schedule 06.03.2014
comment
такого рода не хорошо, я думаю. Потому что, если кто-то захочет отказаться от одной подписки, если он подпишется на несколько элементов, мне придется отменить всю подписку и создать новую запись. в любом случае спасибо за разъяснение этого. - person dogwasstar; 07.03.2014
comment
@ user767018 вы можете настроить ExpressCheckout, который позволяет вам настраивать несколько подписок (до 10 на кассу). Общая интеграция Express Checkout здесь и повторяющаяся настройка с помощью ExpressCheckout: здесь. - person PayPal_Micah; 07.03.2014