2016-08-07 2 views
0

나는 내 데이터베이스에서 ipn 메시지가 왔을 때 무엇을 구입했는지 식별하기 위해 맞춤 변수를 사용하는 결제 버튼이 있습니다. 내 사용자 정의 필드는 다음과 같습니다ipn 변수를 서버 측에 보내는 방법은 무엇입니까?

<input type="hidden" name="custom" value="userName"> 

내 문제는 누군가가 사람들이 다른 사용자를 위해 물건을 살 수 있도록, 그들이 원하는 무엇도이 값을 변경할 수 있다는 것입니다. 사용자가 값을 다른 것으로 변경할 수 없도록 php에서 paypal로이 사용자 지정 값을 보낼 수있는 방법이 있습니까?

+0

IPN을 사용하여 보낸 내용을 확인합니다. –

답변

0

표준 지불 버튼 대신 Express Checkout APIs을 사용할 수 있습니다.

SetExpressCheckout으로 전화를 걸어 프로세스를 시작하고 토큰을 얻은 다음 사용자를 PayPal로 리디렉션하십시오.

PayPal에서 반품되었을 경우 GetExpressCheckoutDetails으로 전화하여 PayPal에서 반환 한 구매자 정보를 얻은 다음 DoExpressCheckoutPayment으로 전화를 걸어 주문을 완료하고 실제로 금액을 이전 할 수 있습니다.

당신은 현재와 같은 방식으로 최종 DECP 요청에 CUSTOM 매개 변수를 포함 시키겠다. 물론 PHP 코드에는 모두 숨겨져있을 것이다. 사람들이 HTML로 볼 수있는 것은 없습니다.

PayPal PHP SDK은 이러한 API 호출을 매우 빠르고 쉽게 만듭니다.

+0

Express Checkout의 경우 CUSTOM 매개 변수가 실제로 필요하지 않으며 IPN도 필요하지 않습니다. DoExpressCheckoutPayment에 대한 성공적인 결과를받은 직후에 데이터베이스를 업데이트 할 수 있습니다. – CCamilo

+0

IPN은 며칠 동안 결제되지 않은 보류중인 결제를 올바르게 처리하는 데 여전히 권장됩니다. 지급 보류가 해제되기 전에 제품을 인도하면 결국 불타 지질 수 있습니다. 또한 환불, 분쟁, 취소 등을 기반으로하는 작업을 자동화하는 데 유용합니다. –

+0

보류중인 지불을 올바르게 처리하려면 IPN이 권장됩니다. – CCamilo

관련 문제