2013-04-01 3 views
9

저는 PayPal IPN을 사용하여 지불을 받고 처리하여 transactionId를 참조로 저장했습니다.transactionId에서 payKey를 어떻게 얻습니까?

나는 개발중인 시스템을 통해 지불금을 환불 할 수있게되었을 것이며, 여기서 투쟁이 있습니다.

올바른 인증 정보 및 응용 프로그램 ID와 업데이트 된 PHP SDK에서 GetPaymentDetails.php 샘플에 payKey 필드에 transactionId는 진입하여, 내가 얻을 : 그것은 예상대로

Error ID: 580022 
Domain: PLATFORM 
Severity: Error 
Category: Application 
Message: Invalid request parameter: payKey with value [REMOVED (transactionId)] 
Parameter: Array 

이것은 이해할 수있다 payKey. 이제 사양에 따라 $pdRequest->payKey = $payKey;$pdRequest->transactionId = $payKey;으로 변경할 수 있습니다. 이제 transactionId를 transactionId로 보내고 작업해야하지만 다음과 같이 응답합니다.

Error ID: 520002 
Domain: PLATFORM 
Severity: Error 
Category: Application 
Message: Internal Error 

그래, 뭔가 문제가 있습니다. 나는 transactionId가 참조로 사용되는 것을 허용하지 않으며 그들의 문서를 업데이트하지 않았다고 생각한다. 그 이유는 내가 사용했던 원 SDK가 trackingId 및 다른 식별자뿐만 아니라 transactionId 필드도 포함했기 때문입니다. 그러나 이제 업데이트 된 SDK는 payKey 만 묻습니다.

이제 막혔습니다. 나는 수천 개의 실제 transactionIds를 수집했습니다. 각 거래마다 payKey를 얻거나 원래의 문제를 해결할 수있는 방법을 알고 계십니까?

감사

추가 정보 :

다음

전송 된 HTTP 헤더이다 : 여기

X-PAYPAL-SECURITY-SIGNATURE: [removed] 
X-PAYPAL-SECURITY-USERID: [removed] 
X-PAYPAL-SECURITY-PASSWORD: [removed] 
X-PAYPAL-APPLICATION-ID: [removed] 
X-PAYPAL-REQUEST-SOURCE: PHP_SOAP_SDK_V1.4 
X-PAYPAL-DEVICE-IPADDRESS: 127.0.0.1 
X-PAYPAL-MESSAGE-PROTOCOL: SOAP11 
X-PAYPAL-REQUEST-SOURCE: PHP_SOAP_SDK_V1.4 

그리고는

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
<soap:Body><PaymentDetailsRequest> 
    <requestEnvelope> 
     <errorLanguage>en_US</errorLanguage> 
    </requestEnvelope> 
    <transactionId>[removed]</transactionId> 
</PaymentDetailsRequest></soap:Body> 
</soap:Envelope> 

https://svcs.paypal.com/AdaptivePayments/PaymentDetails 
0,123,516 할 내용입니다
+0

NVP 문자열을 공유 할 수 있습니까? 자격 증명을 제거하십시오. SDK를 사용하지 않고 개발 한 시스템에서 API를 사용하여 환불을 처리하며 transactionID도 사용합니다. –

+0

당신이 메인 포스트에 물어 봤던 것을 추가 한 것 같아요 –

+0

거기에 우리가 가서 내용 : –

답변

1

이미 페이팔 공식 웹 사이트에서 사용할 수있는 리소스가 있습니다. 여기 당신이 payKey &는 TransactionId를 얻을 수 있도록 payKey 또는 transactionID.And 모두가 응답에 반환 전달할 수 있다는 내용의 documention https://cms.paypal.com/mx/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_APPaymentDetails

의 링크입니다. 난 당신이 당신의 DB에 저장된 모든 트랜잭션 ID가 가정

:

그리고 당신은 API를 사용에 문제가있는 경우, 당신은 페이팔 API를 찾을 수 있습니다

내가 한 제안이 http://coding.smashingmagazine.com/2011/09/05/getting-started-with-the-paypal-api/

2

여기 튜토리얼 시작 모든 레코드에 대한

루프는 트랜잭션 ID를 얻을 함께 들어

는 다음 트랜잭션 및 paykey 값을 가질 수, 트랜잭션 ID로 paykey를 얻고 관련 주문을 업데이트 단일 레코드.

+0

내가 알아 내려고하는 것은 거래에서 payKey를 얻는 방법이다 신분증. 감사합니다 –

+0

이 문서를 검토하십시오. https://www.paypalobjects.com/webstatic/en_US/developer/docs/pdf/ipnguide.pdf – Naeem

관련 문제