PayPal отвечает на мой постбэк несколько раз - PullRequest
0 голосов
/ 07 июля 2011

PayPal постоянно отправляет подтверждения на myIPNNotificationURL для той же транзакции, даже если транзакция проверена и завершена

Внутри URL-адреса обработчика IPN я использую Coldfusion CFHTTP для отправки обратной передачи.

<cfhttp url="https://www.sandbox.paypal.com/cgi-bin/webscr?#loc.parameters#" method="get" resolveURL="false"></cfhttp>

Это мой дамп CFHTTP

    Charset  UTF-8
ErrorDetail  [empty string]
Filecontent  VERIFIED
Header   HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 Connection: close Set-Cookie: c9MWDuvPtT9GIMyPc3jwol1VSlO=TidDQytX4Sb52iFHJKvjfI2whU4adLlGiAPXsPFEMmDmeS2Gsg2Eb7BNm3BjrA2Gue9mW-aj4vTUqQgz6oDgnabKNi7ofv3-I5JSyQeDuVt1UmStDFX5k4BbJ2zaV0vgqxnT9G%7coTXCj1bknWC4bbsgnuwe8gNbfVI6zAwERp8Q5qY5kgyEjNl-y_ztsX81v3pMhATPl635-0%7c9yK10cUCi5fnPGd4soVpbcOX5PMUX8Dci5UFV83sk8tpib4MnSIDumavWGAUX7Ih9AEG80%7c1310056764; domain=.paypal.com; path=/; Secure; HttpOnly Set-Cookie: cookie_check=yes; expires=Sun, 04-Jul-2021 16:39:24 GMT; domain=.paypal.com; path=/; Secure; HttpOnly Set-Cookie: navcmd=_notify-validate; domain=.paypal.com; path=/; Secure; HttpOnly Set-Cookie: navlns=0.0; expires=Wed, 02-Jul-2031 16:39:24 GMT; domain=.paypal.com; path=/; Secure; HttpOnly Set-Cookie: Apache=10.72.109.11.1310056764157096; path=/; expires=Sat, 29-Jun-41 16:39:24 GMT Date: Thu, 07 Jul 2011 16:39:24 GMT Server: Apache
Mimetype     text/html
Responseheader  
struct
Connection   close
Content-Type     text/html; charset=UTF-8
Date     Thu, 07 Jul 2011 16:39:24 GMT
Explanation  OK
Http_Version     HTTP/1.1
Server   Apache
Set-Cookie  
struct
1    c9MWDuvPtT9GIMyPc3jwol1VSlO=TidDQytX4Sb52iFHJKvjfI2whU4adLlGiAPXsPFEMmDmeS2Gsg2Eb7BNm3BjrA2Gue9mW-aj4vTUqQgz6oDgnabKNi7ofv3-I5JSyQeDuVt1UmStDFX5k4BbJ2zaV0vgqxnT9G%7coTXCj1bknWC4bbsgnuwe8gNbfVI6zAwERp8Q5qY5kgyEjNl-y_ztsX81v3pMhATPl635-0%7c9yK10cUCi5fnPGd4soVpbcOX5PMUX8Dci5UFV83sk8tpib4MnSIDumavWGAUX7Ih9AEG80%7c1310056764; domain=.paypal.com; path=/; Secure; HttpOnly
2    cookie_check=yes; expires=Sun, 04-Jul-2021 16:39:24 GMT; domain=.paypal.com; path=/; Secure; HttpOnly
3    navcmd=_notify-validate; domain=.paypal.com; path=/; Secure; HttpOnly
4    navlns=0.0; expires=Wed, 02-Jul-2031 16:39:24 GMT; domain=.paypal.com; path=/; Secure; HttpOnly
5    Apache=10.72.109.11.1310056764157096; path=/; expires=Sat, 29-Jun-41 16:39:24 GMT
Status_Code  200
Statuscode   200 OK
Text     YES

Также я использую симулятор (IPN) от Paypal, и он выдает мне сообщение об ошибке: Ошибка доставки IPN.Код ошибки HTTP 404: не найден

Ответы [ 2 ]

0 голосов
/ 10 июля 2011

Извините, ребята, проблема была с моей структурой.

0 голосов
/ 09 июля 2011

Если они отправляют несколько запросов на ваш myIPNNotificationURL, то есть они многократно переходят по этому URL-адресу для транзакции. К счастью, эти идентификаторы транзакций являются уникальными. Ключом здесь является распознавание, когда у вас есть дубликат, чтобы вы могли обращаться с ним как таковым.

Вы можете написать сценарий, который будет хранить их в объекте с состоянием (база данных или область приложения) в течение определенного периода времени, чтобы вы могли распознать дубликаты.

Как только вы знаете, что у вас есть обман, вы можете игнорировать его. Я не знаю, как или что они отправляют вам в качестве отправляемых значений, если вы отправите их, я могу создать некоторый пример кода.

...