2013-03-08 2 views
1

개발중인 샌드 박스 사이트를 가리키는 PayPal의 IPN 인터페이스를 사용하는 응용 프로그램이 있습니다.Paypal 샌드 박스에서 실패한 IPN 트랜잭션 시뮬레이션

실수로 계정 설정 중에 실수로 생성 한 실패 사례와 함께 성공 사례를 올바르게 처리 할 수 ​​있습니다 .--하지만 트랜잭션을 거부, 환불 또는 역으로 시뮬레이션하는 방법은 없습니다. 테스트 도구를 통해 완전히 가짜 IPN을 생산하는 것보다,하지만 결국에는 트랜잭션과 관련이 없으므로 훌륭한 테스트는 아닙니다. 나는 부정적인 테스트를 가능하게하려고 노력했지만 다른 것은 아무것도하지 않는 것 같습니다.

샌드 박스를 사용하여 테스트 할 수 있습니까? 그렇다면 샌드 박스를 만들기 위해 설정해야 할 항목은 무엇입니까? 감사합니다 :-)

편집 : 테스트 트랜잭션을 위해 제출 된 양식 코드는 다음과 같습니다.

<form id="payForm" method="post" 
     action="https://www.sandbox.paypal.com/cgi-bin/webscr"> 
    <input type="hidden" name="cmd" value="_xclick" /> 
    <input type="hidden" name="business" 
         value="[email protected]" /> 
    <input type="hidden" name="item_number" value="1_25_2013-03-2221:02:02.063" /> 
    <input type="hidden" name="item_name" 
         value="ISM Print Subscription - One Year" /> 
    <input type="hidden" name="amount" value="20.00" /> 
    <input type="hidden" name="no_shipping" value="1" /> 
    <input type="hidden" name="return" 
         value="http://ism.gregwebb.co.uk/?p=PaymentReceived" /> 
    <input type="hidden" name="rm" value="" /> 

    <input type="hidden" name="notify_url" 
         value="http://ism.gregwebb.co.uk/Payment/Paypal/IPNRecv.aspx" /> 
    <input type="hidden" name="cancel_return" 
         value="http://ism.gregwebb.co.uk/?p=PaymentCancelled" /> 
    <input type="hidden" name="currency_code" value="GBP" /> 
    <input type="hidden" name="custom" value="1_25_2013-03-2221:02:02.063" /> 
</form> 

답변

0

테스트 계정에서 결제 검토를 사용하도록 설정하여 테스트 할 수 있습니다. 트랜잭션을 처리 할 때 특정 값을 사용하여 특정 조건을 트리거 할 수도 있습니다. 네거티브 테스트를 사용해야합니다. 샌드 박스 및 부정 시험에 대한 자세한 내용은 here을 참조하십시오.

기본적으로 Sandbox는 생방송 PayPal 사이트를 최대한 가깝게 모방합니다. 즉, 정확한 조건과 이벤트 시퀀스를 만들어 오류를 발생시키는 경우에만 오류 조건을 복제 할 수 있습니다. Sandbox는 오류가없는 경로를 따르므로 프로그램 논리를 테스트하는 데 적합하다는 점에서 긍정적 인 테스트 환경입니다. 그러나 Sandbox를 사용하여 부정적인 테스트를 수행 할 수도 있습니다. 즉, 발생할 것으로 예상되는 여러 가지 오류 조건을 통해 플로를 강제 실행할 수 있습니다.

사용 부정적인 테스트 오류의 다음과 같은 종류에 대해 테스트 할 :

Errors that result from calling a PayPal API. 
Address verification and credit card validation errors that occur through Virtual Terminal, or by calling DoDirectPayment. 

참고 : 음의 테스트 버전 2.4 이상에서만 사용할 수 있습니다 클래식 페이팔 API를.

API 작업에 전달하는 필드에 잘못된 값을 설정하여 오류 조건을 발생시킵니다. 다른 입력 값을 잘못된 상태로 설정하면 특정 오류 조건에 응답하도록 API를 트리거 할 수 있습니다. 네거티브 테스팅은 샌드 박스에서만 사용할 수 있습니다. 생방송 PayPal 사이트에서 오류 조건을 강요하거나 시뮬레이션 할 수 없습니다.

Navigate to the Profile > Settings page of your test merchant's Business account. 
Set Negative Testing to On. 

이 상인을 포함 트랜잭션에 대한 부정적인 테스트 상태로 샌드 박스를 설정

부정적인 테스트를 가능하게합니다. 이 구성을 사용하지 않으면 기본 긍정적 테스트 환경에서 오류가 발생하지 않는 한 샌드 박스가 오류 조건을 발생시키지 않습니다.

+0

감사합니다. (유감스럽게도 PayPal의 새로운 개발 사이트로 인해 문제가 발생했습니다.) - 불행히도 부정적인 테스트가 진행되었지만 결제가 여전히 성공적으로 완료되었습니다. – eftpotrm

+0

API 요청을 제공 할 수 있습니까? 보내고있는 API 및이 API를 조사하기 위해 보내는 API 응답 그렇지 않으면 www.paypal.com/mts에서 티켓을 열고 나에게 티켓 번호를 알려 주면 필요한 정보로 티켓을 가져갈 수 있습니다. –

+0

안녕하세요 차드 - 실제로 어떤 종류의 정보를 보내셨습니까? 죄송합니다. https://www.sandbox.paypal.com/cgi-bin/webscr에 대한 요청을 게시 중입니다. 테스트 사이트에 쉽게 액세스 할 수 있다면 편리할까요? – eftpotrm

관련 문제