贝宝订阅/定期付款

Posted

技术标签:

【中文标题】贝宝订阅/定期付款【英文标题】:Paypal subscriptions / recurring payments 【发布时间】:2014-04-09 02:48:19 【问题描述】:

我正在尝试为我的网站设置多次定期付款,但是当我发布到 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 文档,但到目前为止还没有发现任何有用的东西。

任何帮助将不胜感激。提前致谢

【问题讨论】:

【参考方案1】:

您无法使用 PayPal Payments Standard 逐项列出 PayPal 上的订阅。以下是 PayPal 关于item_name 参数(找到here)的说法:

所售商品的描述。如果您要收取汇总付款,则该值可以是所有购买物品的摘要、跟踪号或通用术语,例如“订阅”。

item_name 参数仅用于每个事务一次。所以它只接受最后一项的原因是因为您在 URL 中传递了相同参数的多个实例(传递 &item_name=Listing Module 后跟 &item_name=Database)。如果您想对所有这些产品进行一次订阅,您将需要计算所有产品的价格并将其分配给a3,并创建一个涵盖两者的item_name。如果您希望这些项目中的每一个都有不同的订阅条款,那么您需要为每个项目生成不同的订阅。

【讨论】:

我猜那种不好。因为如果有人想退出一个订阅,如果他们订阅了多个项目,我将不得不取消整个订阅并创建一个新条目。无论如何,感谢您澄清这一点。 @user767018 您可以设置 ExpressCheckout,它允许您设置多个订阅(每次结帐最多 10 个)。 Express Checkout 的一般集成为 here,使用 ExpressCheckout 的重复设置为 here。

以上是关于贝宝订阅/定期付款的主要内容,如果未能解决你的问题,请参考以下文章

贝宝定期付款/订阅

在贝宝(贝宝订阅)中首次定期付款时应用折扣优惠券代码

贝宝的定期付款订阅按钮如何工作

如何在贝宝定期付款和订阅之间切换?

贝宝定期付款 - 猝死

贝宝定期付款 - 猝死