several of the webshops from our customers provide a checkout via PayPal. Actually we have the problem, that when we're forcing a checkout, we get the answer, that something went wrong. But if we check the PayPal Account, then we see, that the charging still has taken place. Now we're looking for the reason and figured out following: - If we use a PayPal Sandbox Account, it all works fine - The payment status is "Completed" (in both cases) - www.sandbox.paypal.com returns "VERIFIED" - www.paypal.com returns "INVALID"
我们客户的几家网上商店通过PayPal提供结账服务。实际上我们遇到了问题,当我们强制结账时,我们会得到答案,说明出了问题。但是,如果我们检查PayPal帐户,那么我们就会看到收费仍然存在。现在我们正在寻找原因,并想出以下结论: - 如果我们使用PayPal沙盒帐户,一切正常 - 付款状态为“已完成”(在两种情况下) - www.sandbox.paypal.com返回“已验证” “ - www.paypal.com返回”无效“
Can anyone help us out in this case?
在这种情况下,有人可以帮助我们吗?
I'll attach two files with the responses from your servers.
我将附上两个文件,其中包含来自服务器的响应。
Webshop-Request-Parameters:
cmd=_notify-validate&mc_gross=0.01&invoice=zz_zzzzzzzz&protection_eligibility=Ineligible&item_number1=zzzzzzzz&payer_id=CCCCCCCCCCCCC&tax=0.00&payment_date=05%3A10%3A46+Apr+29%2C+2015+PDT&payment_status=Completed&charset=UTF-8&mc_shipping=0.00&mc_handling=0.00&first_name=JOHN&mc_fee=0.01¬ify_version=3.8&custom=2&payer_status=verified&business=john%40doe.com&num_cart_items=1&mc_handling1=0.00&payer_email=john%40aol.com&verify_sign=GiPC9Bj...&mc_shipping1=0.00&tax1=0.00&txn_id=CCCCCCCCCCCCCCCCC&payment_type=instant&last_name=Doe&item_name1=00000000&receiver_email=john%40doe.com&payment_fee=0.01&quantity1=1&receiver_id=CCCCCCCCCCCCC&txn_type=cart&mc_gross_1=0.01&mc_currency=USD&residence_country=US&transaction_subject=2&payment_gross=0.01&auth=AHMdYo7nB...
... = hash algorithm
... =哈希算法
Response is the standard PayPal-Header plus an "INVALID"
响应是标准的PayPal-Header加上“INVALID”
Some Support-Responses from the PayPal support team:
一些支持 - 来自PayPal支持团队的响应:
1.You need to include your PayerID as User-Agent in the HTTP Header 2.Use the URL https://ipnpb.paypal.com/cgi-bin/webscr for the post-back to bypass the AKAMAI.
1.您需要将您的PayerID作为用户代理包含在HTTP标头中2.使用URL https://ipnpb.paypal.com/cgi-bin/webscr进行回发以绕过AKAMAI。
Both solutions were unsuccessful
两种解决方案均未成功
Next PayPal support solutions
下一个PayPal支持解决方案
•Check that your are posting your response to the correct URL, which is https://www.sandbox.paypal.com/cgi-bin/webscr (for Sandbox IPNs) or https://www.paypal.com/cgi-bin/webscr (for live IPNs). You will receive INVALID if you are testing in the Sandbox and your listener posts back to the live site (and vice versa).
•检查您是否将回复发布到正确的URL,即https://www.sandbox.paypal.com/cgi-bin/webscr(对于Sandbox IPN)或https://www.paypal.com/cgi- bin / webscr(用于实时IPN)。如果您在沙盒中进行测试并且您的监听器回发到实际站点(反之亦然),您将收到INVALID。
•Verify that your response to the test IPN message contains exactly the same variables and values as the test message and that they are in the same order as in the test message. Finally, verify that the original variables are preceded by a cmd=_notify-validate variable.
•验证您对测试IPN消息的响应是否包含与测试消息完全相同的变量和值,并且它们的顺序与测试消息中的顺序相同。最后,验证原始变量前面是cmd = _notify-validate变量。
•Verify that your response to an IPN: ◦contains exactly the same variables and values as the original IPN. ◦places these variables and values in the same order as does the original IPN. ◦precedes these variables with a cmd=_notify-validate variable.
•验证您对IPN的响应:◦包含与原始IPN完全相同的变量和值。 ◦以与原始IPN相同的顺序放置这些变量和值。 ◦使用cmd = _notify-validate变量来扩展这些变量。
•Ensure that you use the same character encoding for your response string as the encoding specified in the charset field of the original IPN message. When testing using the IPN Simulator, the character encoding will always be UTF-8.
•确保对响应字符串使用与原始IPN邮件的charset字段中指定的编码相同的字符编码。使用IPN Simulator进行测试时,字符编码将始终为UTF-8。
... were unsuccessful, too
......也没有成功
3 个解决方案
#1
Problem was figured out by wrong Charset set on the account settings. In the "My Account" settings (under "More Encoding Options") the Econding has to be set for what your application sends. (In our case it had to be changed from paypal account installation default to UTF-8)
问题是由帐户设置上设置的错误字符集计算出来的。在“我的帐户”设置中(在“更多编码选项”下),必须为应用程序发送的内容设置Econding。 (在我们的案例中,它必须从paypal帐户安装默认更改为UTF-8)
#2
Update on the issue: Problem is, that paypal actually charges, so the request IS VALID. BUT the checkout process shows up as invalid, so the response is NOT VALID. Paypal support says that they do not know what is different to requests we sent to them (from others of our website) and that the request was done correctly. So we have other websites using same technology and request and no one has a clue what is wrong.
关于这个问题的更新:问题是,paypal实际上收费,所以请求是有效的。但是结帐过程显示为无效,因此响应无效。 Paypal支持表示,他们不知道我们发送给他们的请求(来自我们网站的其他人)的不同之处,并且请求已正确完成。所以我们有其他网站使用相同的技术和请求,没有人知道什么是错的。
#3
I had today some problems with the PayPal post response after customers shopping. Some of them never came and some came late after the actual payment. At the moment it is solved but I think we're debugging problems on the PayPal Server. I guess the best solution is to wait for other constumers with similar problems and PayPal response.
我购买了顾客后,我今天收到了PayPal邮寄回复的一些问题。他们中的一些人从未来过,有些人在实际付款后迟到了。目前它已经解决但我认为我们正在调试PayPal服务器上的问题。我想最好的解决方案是等待其他具有类似问题的建筑师和PayPal响应。
#1
Problem was figured out by wrong Charset set on the account settings. In the "My Account" settings (under "More Encoding Options") the Econding has to be set for what your application sends. (In our case it had to be changed from paypal account installation default to UTF-8)
问题是由帐户设置上设置的错误字符集计算出来的。在“我的帐户”设置中(在“更多编码选项”下),必须为应用程序发送的内容设置Econding。 (在我们的案例中,它必须从paypal帐户安装默认更改为UTF-8)
#2
Update on the issue: Problem is, that paypal actually charges, so the request IS VALID. BUT the checkout process shows up as invalid, so the response is NOT VALID. Paypal support says that they do not know what is different to requests we sent to them (from others of our website) and that the request was done correctly. So we have other websites using same technology and request and no one has a clue what is wrong.
关于这个问题的更新:问题是,paypal实际上收费,所以请求是有效的。但是结帐过程显示为无效,因此响应无效。 Paypal支持表示,他们不知道我们发送给他们的请求(来自我们网站的其他人)的不同之处,并且请求已正确完成。所以我们有其他网站使用相同的技术和请求,没有人知道什么是错的。
#3
I had today some problems with the PayPal post response after customers shopping. Some of them never came and some came late after the actual payment. At the moment it is solved but I think we're debugging problems on the PayPal Server. I guess the best solution is to wait for other constumers with similar problems and PayPal response.
我购买了顾客后,我今天收到了PayPal邮寄回复的一些问题。他们中的一些人从未来过,有些人在实际付款后迟到了。目前它已经解决但我认为我们正在调试PayPal服务器上的问题。我想最好的解决方案是等待其他具有类似问题的建筑师和PayPal响应。