2014-03-06 168 views
0

我想为我的网站设置多个定期付款,但是当我发送到贝宝时,只有最后一个项目显示在贝宝付款屏幕上。所有其他项目都被忽略。贝宝订阅/定期付款

这里是我使用

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文档,但迄今没有发现任何有用的东西。

任何帮助将不胜感激。在此先感谢

回答

0

您无法使用PayPal付款标准逐项列出PayPal上的订阅。下面是贝宝说,有关item_name参数(发现here):

项目的描述被出售。如果您正在收集汇总付款,则该值可以是购买的所有物品的摘要,追踪号码或通用字词,如“订阅”。

item_name参数仅用于每次交易使用一次。所以它只需要最后一个项目的原因是因为您在URL中传递了多个相同参数的实例(传递&item_name=Listing Module后跟&item_name=Database)。如果您想为所有这些产品订购单一订阅,则需要计算所有产品的价格,并将其分配到a3并制作一个涵盖两者的item_name。如果您希望这些项目中的每一个具有不同的订阅条款,那么您需要为每个订阅项目生成不同的订阅。

+0

那种不好,我猜。如果有人想退出一个订阅,如果他们订阅了多个项目,我将不得不取消整个订阅并创建一个新条目。无论如何感谢澄清这一点。 – dogwasstar

+0

@ user767018你可以设置ExpressCheckout,它允许你设置多个订阅(每次结帐最多10个)。 Express Checkout的一般集成是[这里](https://developer.paypal.com/webapps/developer/docs/classic/express-checkout/integration-guide/ECGettingStarted/)和使用ExpressCheckout的重复设置是[here] (https://developer.paypal.com/webapps/developer/docs/classic/express-checkout/integration-guide/ECRecurringPayments/)。 –