2012-09-21 3 views
8

페이팔의 Token ID (즉 : EC-XXXXXXXXXXXXXXXXX)은 항상 고유합니까? 나는 그것이 될 것이라고 의심하고 있습니까? 하지만 내가하고있는 일은이 트랜잭션이 이미 처리되었는지 확인하기 위해 트랜잭션 테이블에 삽입하는 것입니다.Paypal의 고유 토큰 ID?

거래 ID도 작동 할 수 있지만 실제로는 GetExpressCheckoutDetails 또는 DoExpressCheckout과 같은 PayPal API 메소드를 사용하기 전에 토큰 ID가 먼저 반환됩니다.

자신의 경험을 바탕으로 생각하는 것이 무엇인지 알려주세요.

감사합니다.

+1

거래를 식별하기 위해 거래 ID를 사용하려는 것 같습니다. 이름에서 유래 한 토큰은 아마 보안에 사용되는 nonce 일 뿐이며 고유 한 것으로 보장되지는 않습니다. – bdares

답변

7

토큰은 고유하지만 세션 만 표시하므로 세션이 먼저 반환됩니다. 전혀 완전한 트랜잭션을 나타내는 것이 아니므로이를 저장해서는 안됩니다. 나는 PayPal이 환불 등을위한 거래를 식별하기 위해 그것을 사용하지 않기 때문에 (나중에 보았을 때) 향후 사용을 위해 그것을 보관하는 것을 권장하지 않을 것이다.

SetExpressCheckout -> GetExpressCheckoutDetails -> DoExpressCheckoutPayment에서 실제 체크 아웃 흐름을 관리하는 데만 토큰을 사용하고 DoExpressCheckoutPayment에서 반환 된 TransactionID를 "트랜잭션 완료"표시기로 저장하는 것이 좋습니다. eChecks가 귀하의 계좌에 돈을 즉시주지 않기 때문에 PaymentStatus 반품도 확인해야합니다.

+0

답장을 보내 주셔서 감사합니다, 나는 꽤 비슷하다고 생각했습니다. 내가 여러 번 새로 고침 시도를 차단할 수 있도록 사용하는 이유는 그것이 좋은 생각이라고 생각합니까? – Zubair1

+0

'예 : '사용자가 확인 버튼을 클릭하기 만하면 다음 페이지에서 예약이 성공했고 예약 및 거래 정보가 성공적으로 저장되었습니다. 그러나 사용자가 페이지를 새로 고치면 mysql의 고유 인덱스로 설정된 열이 있으므로 중복 트랜잭션 ID 오류와 같은 오류가 발생할 수 있습니다. 기본 키가 예약 데이터를 MySQL에 삽입 할 때 생성 된 고유 예약 코드이므로 예약 데이터를 삽입합니다. – Zubair1

+0

나는 내 생각에이 일을하는 것이 좋지 않다는 것을 깨달았다. 그래서 나를 혼란스럽게 해줘서 고마워. – Zubair1

0

트랜잭션 ID는 트랜잭션마다 고유합니다. 토큰 ID는 트랜잭션 ID가 올바른지 확인하기 위해 만든 번호입니다.