2009-02-19 8 views
9

PayPal의 IPN 서비스를 사용하여 내 웹 사이트에 대한 정기 가입 요금 지불을 확인하고 싶었습니다. IPN 확인을 사이트의 사용자에게 어떻게 연결합니까?어떻게 Paypal IPN 확인을 사용자에게 연결합니까?

IPN 확인 메시지의 이름, 이메일, 페이팔 ID, 반복 결제 ID가 있지만 페이팔 ID 또는 반복 결제 ID가 어디서 왔는지 모르기 때문에 고유 식별자가없는 것으로 보입니다. 사용자가 자신의 페이팔 계정 (또는 그곳에 입력 한)에있는 이름/전자 메일을 내 사이트에있는 이름/전자 메일과 고유하게 일치시키는 것은 쉽습니다 (John Smith가 많이있을 수 있으며 해당 사용자는 다른 이메일)

1) Paypal에 초기 결제 요청을 보낼 때 해당 사용자의 고유 ID를 저장하면 다시 보낼 수 있도록 고유 한 UUID를 URL에 첨부 할 수 있습니다. 그것을 시작한 사용자에게 지불 확인을하십시오. 내가 그걸 더 힘들게 만드는거야? 더 쉬운 방법이 있습니까?

2) 또한 반복/구독료 인 경우 페이팔은 항상 초기 결제 시작으로 지정한 URL을 사용합니까? 누구든지 IPN의 반복 페이팔 결제를 사용하여 실용적인 경험을 가지고, 그 고유 URL을 재사용합니까? 또는 첫 번째 정기 지불을받은 후 Paypal ID를 사용자와 연결해야합니까?

답변

2

나는 최근에 Paypal과 함께 다시 지불금을 일부 설정했습니다.

실제로 원하는 사람들은 후 회원으로 으로 등록하길 원했습니다. 회원 가입을해야만 판매 과정에 약간의 마찰이 생길 수 있습니다. 그래서 구독 버튼과 함께 사용자 정보를 보내지 않습니다.

내 IPN 스크립트는 Activations 테이블의 PayPal subscriptionID에 연결된 고유 한 정품 인증 코드를 생성 한 다음 구독 방법에 대한 지침과 함께이 코드를 누구에게 지불하는지 알려줍니다.

활성화 시점에 등록 또는 로그인해야합니다. 이 시점에서 사용자 ID는 활성화 테이블의 관련 행에 추가됩니다.

EndOfTerm IPN 알림이 들어올 때 IPN 스크립트는 IPN에 지정된 SubscriberID를 기반으로 Activations 테이블에서 userID를 조회합니다. 그런 다음 구독을 사용 중지하려면 해당 사용자에게해야 할 일은 무엇이든 할 수 있습니다.

항상 IPN 스크립트의 URL은 동일하게 유지됩니다.

+0

좋은 솔루션도 있습니다. – Tim

+0

어떤 txn_type 상태 코드에 반응합니까? 나는이 질문에 답하기가 힘들다. http://stackoverflow.com/questions/13855287/parsing-paypal-subscription-ran-out – Volomike

0

1) 초기 가입 설정에서 'item_number'매개 변수를 보내면 다시 전달됩니다. 나는 그 안에 식별 토큰을 넣는 것이 좋습니다.

2) 'return'매개 변수를 의미하면 '아니요'는 구독 설정이 끝날 때 사용자를 보내는 것입니다. 갱신은 자동이며 해당 페이지를 핑하지 않습니다.

+0

나는 득표가 없지만 이것이 옳다고 생각합니다. – Tim

3

결제 요청에 고유 한 데이터를 첨부하는 것이 허용되는 방법입니다.

재발 비용에 대한 경험이 없습니다.

+0

다른 표를 얻지 못하면 +1 – Tim

+0

PayPal의 "지금 지불"버튼을 클릭하여 생성 된 초기 PayPal 요청에서 다른 PayPal 데이터와 함께 일부 데이터를 전파하는 방법을 알고 계십니까? –

+1

@VladimirDespotovic "지금 지불하기"버튼과 결제 요청 API에는 사용자 정의 데이터를 추가 할 수있는 추가 필드가 있습니다. 해당 사용자 정의 데이터는 트랜잭션과 관련된 * 모든 응답에서 사용자에게 다시 전송됩니다. – greyfade

0

1) item_number 매개 변수를 사용하고 싶습니다. 이것을 고객에게 보여지는 HTML 폼으로 설정하면 paypal IPN에 의해 ​​반환되므로 여기에 데이터베이스 행 ID를 넣고 나중에 올바른 사람과 일치시키기 위해 사용할 수 있습니다.