PayPal IPN和ASP.NET-未正确处理包含符号和或版权符号的产品的IPN消息

PayPal IPN和ASP.NET-未正确处理包含符号和或版权符号的产品的IPN消息,asp.net,paypal-ipn,Asp.net,Paypal Ipn,我们有几个PDF报告产品。我们为每个按钮创建PayPal buy now按钮,并使用PayPal IPN在成功付款后通过电子邮件发送PDF报告。我们一直存在一些问题,一些订单似乎无法通过我们的IPN web服务得到处理,这只是一个ASP.NET aspx页面,并使用标准的请求[“paypal_key”]参数处理 我开始做一些挖掘,似乎发现IPN web服务无法处理PayPal按钮中配置的产品名称包含符号和字符或版权符号的订单…可能还有其他,但这正是我迄今为止观察到的情况 PayPal的商户服务记

我们有几个PDF报告产品。我们为每个按钮创建PayPal buy now按钮,并使用PayPal IPN在成功付款后通过电子邮件发送PDF报告。我们一直存在一些问题,一些订单似乎无法通过我们的IPN web服务得到处理,这只是一个ASP.NET aspx页面,并使用标准的请求[“paypal_key”]参数处理

我开始做一些挖掘,似乎发现IPN web服务无法处理PayPal按钮中配置的产品名称包含符号和字符或版权符号的订单…可能还有其他,但这正是我迄今为止观察到的情况

PayPal的商户服务记录交易发生时发送的IPN消息。我今天查看了日志,查找我们应该接收并处理的IPN。以下是为保密而编辑的IPN:

mc_毛额=99.00,保护_资格=不合格,付款人id=FZKLXR5FF6LMN,税收=0.00,付款日期=08:01:23 2011年4月20日 PDT&payment\u status=已完成&charset=windows-1252&first\u name=Shan&mc\u fee=3.17¬ify\u version=3.1&custom=&payer\u status=未验证和业务=email@email.com&数量=1并验证签名=AtiSwnZrh-0NXJAYKEFJ5MXP3NEPA7JXOZMIT6。RAPCFEP2I3HE53H和付款人电子邮件=email@email.com&联系电话=555-555-5555&txn\U id=36P12783M6206263T&payment\U type=instant&btn\U id=29294177&last\u name=ploord&receiver\u电子邮件=email@email.com&付款\费用=3.17,运输\折扣=0.00,保险\金额=0.00,接收人\ id=STR4XMP3MUHLS&txn \类型=web\验收和商品\名称=2010 带字符的产品名称(&C) 报告©折扣=0.00,mc货币=USD,项目编号=85,居住国=US,收据id=4921-6005-8542-0925,搬运金额=0.00,装运方法=2010 带字符的产品名称(&C) 报告©和付款总额=99.00和装运=0.00和ipn轨道id=b9bQ70Jiv82s3HRqBqLfpw

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

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

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

谢谢
Shan

URL编码您的产品名称,或任何带有符号和/版权的符号。

URL编码您的产品名称,或任何带有符号和/版权的符号。

为了跟进这个问题……我能想到的唯一解决方案是从我们的产品名称中删除符号和字符。似乎版权符号也引起了IPN处理问题。因此,我们现在将产品名称保留在PayPal中,不使用特殊符号


我希望我们不必这样做,也就是说,我们所有用贝宝按钮指定的产品名称都可以有任何编码。但是,这是一个解决方案。

为了跟进这个问题……我能想到的唯一解决方案是从我们的产品名称中删除符号和字符。似乎版权符号也引起了IPN处理问题。因此,我们现在将产品名称保留在PayPal中,不使用特殊符号


我希望我们不必这样做,也就是说,我们所有用贝宝按钮指定的产品名称都可以有任何编码。但是,这是一个解决方案。

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


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


您是说在创建PayPal按钮时对产品名称进行url编码吗?PayPal buy now按钮是通过PayPal用户界面创建的。我想我们或许可以培训我们的技术不那么先进的终端用户来做到这一点。或者你是说在这个过程中还有一点可以对产品名称进行url编码?你是说在创建PayPal按钮时对产品名称进行url编码?PayPal buy now按钮是通过PayPal用户界面创建的。我想我们或许可以培训我们的技术不那么先进的终端用户来做到这一点。或者你是说在这个过程中还有另外一点可以对产品名称进行url编码?请列出链接中描述的步骤。请列出链接中描述的步骤。