2011-09-21 4 views
1

나는 내 phpBB 포럼에 사용자가 아이템을 판매하고 구매할 수 있도록 Paypal Buy Now 버튼을 추가 할 수있는 옵션이 있습니다. 여러 사용자가 동일한 항목을 구매하지 못하도록 사용자가 페이팔을 통해 구매하면 주제를 자동으로 닫을 수있는 기능이 있습니다.한 번에 화제 닫기 Paypal purchase

일단 거래가 끝나면 페이팔에서 사용자의 세션 데이터를 가져올 수 있습니까? 그런 다음 세션 데이터를 다음과 같은 변수에 통합하십시오.

$paypal = (isset($_POST['purchased'])) ? true : false; 

PayPal SDK를 다운로드해야하는지 잘 모르겠습니다.

의견을 보내 주시면 감사하겠습니다.

답변

1

거래가 완료되면 페이팔에서 사용자의 세션 데이터를 가져올 수 있습니까?

정말 사용자의 세션 데이터를 신뢰하고 싶습니까? 나는 당신이 세션 데이터를 읽을 수 있다고 확신한다. 그렇게하고 싶지는 않지 만, 그것을 변경하는 것은 사소한 일이다. 할 수 있더라도 다른 웹 사이트의 세션 데이터를 읽지 않아야합니다.

내가 이것을 위해 Paypal SDK를 다운로드해야하는지 확실하지 않습니다.

올바른 방법이 될 것입니다.

+0

새로운 프로그램을 배우는 데있어 시간 제한으로 인해 피하고 있었지만 이전에는 사용하지 않았습니다. 다른 방법이 있다면, 나는 모두 귀입니다. – rumspringa00

1

마지막으로 사용했을 때, Paypal Standard는 실패 및 성공에 대한 반송 URL (사용자를 보낼 위치)을 지정할 수있었습니다. 사용자가 마지막으로 리디렉션 될 때 쉽게 사용할 수 있도록 일부 해시 해시를 동적으로 생성합니다.

또는 IPN을 사용할 수 있습니다.

+0

고마워, 내가 살펴볼거야. 해시에서와 마찬가지로 진주를 의미합니까? PHP로 작성 중이므로 배열을 완화하고 잘못된 경우 수정하십시오. – rumspringa00

1

반송 URL에 의존하지 마십시오. 구매자는 결제 완료 후 브라우저/탭을 닫을 수 있습니다.
대신 PayPal 인스턴트 결제 알림을 사용하여 페이팔에서 서버 간 알림을받습니다.이 알림은 이후에 확인하고 phpBB 폐쇄 된 스레드에 대한 적절한 플래그로 데이터베이스를 업데이트하는 데 사용할 수 있습니다. 다음과 같이

IPN 작동 :

  1. 당신은 페이팔을 만들고 "notify_url을"incude. 이 매개 변수의 값은 'IPN 스크립트'또는 'IPN 처리기'라고하는 서버의 스크립트에 대한 전체 URL입니다. 익스프레스 체크 아웃 또는 프로 웹 사이트 지불을 위해 웹 사이트 지불 표준 <input type="hidden" name="notify_url" value="http://blah.com/ipn.php

    에 대해 다음과 같이

당신은 IPN 핸들러를 지정할 수 있습니다, 단순히 각각 당신의 SetExpressCheckout/DoExpressCheckoutPayment 또는 DoDirectPayment API 호출에서 다음과 같습니다. NOTIFYURL=http://blah.com/ipn.php

  1. 는 구매자가 페이팔 구매자가 거래를 완료하면
  2. 를 통해 거래를 완료, 그/그녀는 브라우저를 종료하거나 트랜잭션이 가능하고 페이팔에 의해 처리되면 귀하의 웹 사이트
  3. 에 반환 할 수 있습니다 페이팔은 당신이 다시 보내 데이터가 다 일치하는 경우이 스크립트에 전송 된 모든 POST 데이터를 가지고, 다시 https://www.paypal.com/cgi-bin/webscr?cmd=_notify-validate
  4. 에 게시 할 필요가 http://blah.com/ipn.php
  5. 에게 알림을 보내드립니다 PayPal에서 귀하를 보내면 'VERIFIED'응답이 반송됩니다.
  6. 응답이 확인되면 최종적으로 일치하는 거래/구매자를 검색하고 phpBB 스레드 상태를 적절하게 업데이트해야합니다. 당신이 함께 사용자 정의 데이터를 포함 할 경우 :

페이팔 IPN에 대한 몇 가지 샘플 코드 및 설명서, 안전한 IPN 스크립트 작성에 대한 몇 가지 도움말 https://www.x.com/developers/community/blogs/ppmtsrobertg/securing-your-instant-payment-notification-ipn-script

주에서 구할 수 있습니다 또한 https://www.paypal.com/ipn/
에서 확인할 수있다 나중에 읽을 수있는 트랜잭션으로 'custom'을 사용하십시오.
<input type="hidden" name="custom" value="xxxxx">
PayPal에서 보낸 IPN POST 데이터에도 반환됩니다.