2014-07-18 3 views
1

나는 내 IPN을 txn_type, 그 다음은 payment_status으로 잡으려고 노력해 왔지만 모든 IPN이 그런 것은 아니기 때문에 예외가 발생했다. IPN을 기반으로 어떤 변수를 설정할 수 있습니까?모든 PayPal IPN에서 어떤 변수가 전송됩니까?

txn_type은 환불 IPN으로 보내지 않았습니다.

+0

내 PayPal 대시 보드를 볼 수 있고 'payment_status'에 환불 됨이 표시되어 있기 때문입니다. – User

+0

환불 IPN에는 환불 거래 ID 인 txn_id가 있으며 환급 된 원래 거래 ID 인 parent_txn_id도 있습니다. [여기에 샘플이 있습니다.] (http://sandbox.angelleye.com/paypal/ipn/admin/raw-log-detail.php?id=13061). –

+0

'txn_type'이 null 인 경우 이미 데이터베이스에 있어야하는'parent_txn_id'에 의해 주어진 트랜잭션의'txn_type'에서 가져와야합니다. 그러나 원래 * txn_type이 무엇인지 알 수 있습니다. 이것을'payment_status' 필드와 결합해야 할 수도 있습니다. – EJP

답변

2

언급 한 것처럼 txn_type은 모든 IPN 유형과 함께 전송되지 않습니다. 실제로 볼 수있는 분야는 하나도없고 항상 의지합니다. 당신이해야 할 일은 필드와 그들의 가용성 및 가치를 확인하기위한 로직을 셋업하는 것입니다.

그래서 txn_type을 확인하고, 존재한다면 그 유형에 따라 진행하십시오. 그렇다고해도 존재하지 않는다면 다른 매개 변수로 넘어 가서 현재 진행중인 작업과 논리 내에서 처리하는 방법을 파악할 수 있습니다.

예를 들어 this sample refund IPN data을 살펴보면 payment_status가 'Refunded'이고 reason_code가 'refund'인 것을 확인할 수 있습니다. 그래서 당신의 논리는 그에 따라 가치를 찾을 수 있고 환불이라는 것을 알게 될 것입니다.

관련 문제