贝宝订阅/定期付款
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。以上是关于贝宝订阅/定期付款的主要内容,如果未能解决你的问题,请参考以下文章