PayPal IPN和ASP.NET - 对于包含&符号或版权符号的产品,未正确处理IPN邮件

时间:2011-04-20 21:22:40

标签: asp.net paypal-ipn

我们有几个PDF报告产品。我们为每个按钮创建PayPal立即购买按钮,我们使用PayPal IPN在成功付款后通过电子邮件发送PDF报告。我们一直有一些问题,其中一些订单似乎没有被我们的IPN Web服务处理,这只是一个ASP.NET aspx页面,并使用标准的Request [“paypal_key”]参数处理。

我开始进行一些挖掘,似乎发现IPN网络服务无法处理订单,其中PayPal按钮中配置的产品名称包含&符号或版权符号......可能是其他人,但这是就是我到目前为止所观察到的。

PayPal的商家服务会记录交易发生时发送的IPN消息。我今天查看了日志中的IPN,我们应该收到并处理这些IPN。以下是针对机密性编辑的IPN:

  

mc_gross = 99.00&安培; protection_eligibility =不合格的&安培; payer_id = FZKLXR5FF6LMN&安培;税务= 0.00&安培; PAYMENT_DATE = 08:01:23   2011年4月20日   PDT&安培; PAYMENT_STATUS =完成&安培;字符集=窗口1252&安培;如first_name =单&安培; mc_fee = 3.17&安培; notify_version = 3.1&安培;定制=安培; payer_status =未经验证的&安培; business=email@email.com&数量= 1&安培; verify_sign = AtiSwnZrh- 0NXJaYKeFJ5mXp3NePA7jXOzMIt6S.rapcfeP2iL3He53H&安培; payer_email=email@email.com& CONTACT_PHONE = 555-555-5555&安培; txn_id = 36P12783M6206263T&安培; payment_type =即时&安培; btn_id = 29294177&安培;姓氏= Plourde&安培; receiver_email=email@email.com& payment_fee = 3.17&安培; shipping_discount = 0.00&安培; insurance_amount = 0.00&安培; receiver_id = STR4XMP3MUHLS&安培; txn_type = web_accept&安培; ITEM_NAME = 2010   产品名称带&字符   报告©和放大器;折扣= 0.00和放大器; mc_currency = USD和放大器; ITEM_NUMBER = 85安培; residence_country = US&放大器; receipt_id = 4921-6005-8542-0925和放大器; handling_amount = 0.00和放大器; SHIPPING_METHOD =默认&放大器; transaction_subject = 2010   产品名称带&字符   报告©&安培; payment_gross = 99.00&安培;航运= 0.00&安培; ipn_track_id = b9bQ70Jiv82s3HRqBqLfpw

在进行一些测试之后,如果创建没有符号或版权符号的PayPal按钮,我能够始终如一地重现IPN通知过程成功。我也打电话给PayPal并且他们确认他们没有编码产品名称,他们只是按原样发送它们。

我们只是使用标准的ASP.NET请求处理来获取IPN值:

Request["receiver_email"]
Request["item_number"]

我想知道是否有其他人遇到过这个问题?我认为我们唯一的解决方案是重新创建所有PayPal按钮,并指定不包含符号或特殊字符的产品名称。我不确定是否可以正确解析IPN通知。但是很想知道其他人的经历,以及解析IPN消息的可能想法,以便我们可以继续允许使用&符号等。

由于 单

3 个答案:

答案 0 :(得分:0)

UrlEncode您的产品名称或带有&符号/版权符号的任何内容。

答案 1 :(得分:0)

要跟进这个问题......我能够提出的唯一解决方案是从我们的产品名称中删除&符号。似乎版权符号也导致了IPN处理问题。因此,我们现在在PayPal中保留我们的产品名称,不含特殊符号。

我希望我们不必这样做,即使用PayPal按钮指定的所有产品名称都可以进行任何编码。但是,这是一个解决方案。

答案 2 :(得分:0)

尝试按此处所述设置IPN编码(步骤5):

http://support.getdpd.com/entries/167722-paypal-account-setup-troubleshooting