2011-11-16 1 views
10

자동 갱신 가능한 인앱 구매 구독 옵션이있는 앱을 개발 중입니다. 또한 응용 프로그램은 '복원'옵션을 가지고 있으며, 그 목적은 이전 트랜잭션을 복원하는 것입니다.SKPaymentTransaction.originalTransaction.transactionReceipt is no

하지만 복원하는 데 문제가 있습니다. 복원 된 모든 트랜잭션에 대해 originalTransaction에 'transactionReceipt'가 없음으로 표시됩니다. 즉 "SKPaymentTransaction.originalTransaction.transactionReceipt"는 nil로 수신됩니다. 거기에 AppStore에 대한 거래 영수증에 대한 나의 유효성 확인이 이루어지지 않고있다.

아무도 같은 문제에 직면 해 있습니까?

어떤 입력이라도 크게 도움이 될 것입니다.

샌드 박스 환경에서 인앱 구매를 테스트 중입니다. 사전에

감사합니다, 저도 같은 문제가 발생했다

+1

해결 했습니까? –

답변

3

Vasu의 N, 그래서 제가 한 것은 테스트 [거래 transactionReceipt]와 애플을했다 그것을 확인합니다. 이것이 올바른 방법인지 아닌지는 모르겠지만, 적어도 Apple에 의해 확인되고 있습니다. 그것은 내가 그것이 행복하다는 사기 거래가 아니라는 것을 확인할 수있는 한 내가 정말로 염려하는 것입니다.

설명서에 원본 영수증을 가져올 수 있어야하지만 그렇게 할 수 없다고 말하면 항상 찾을 수 있습니다 == nil.

+0

좀 더 이상한 점은, SKPaymentTransaction.originalTransaction.transactionReceipt가 null 인 NSLog에 내 SKPaymentTransactionStateRestored 루틴 중에 일부 기괴한 이유로, 내 앱이 [NSUserDefaults standardUserDefaults]에 올바른 영수증을 다시 추가 관리한다는 것입니다. 나는 originalTransaction이 null이 아니라고 생각하지만, NSLog는 이것을 null로 표시합니까? –

+0

그 의견을 잊어 버리십시오. 내가 잊어 버린 또 다른 코드 스 니펫이 있는데, 실제로 transaction.transactionReceipt를 백업으로 사용하여 관련 [NSUserDefaults standardUserDefaults] 영수증 변수를 채 웁니다. 그래서, 예, 우리는 transaction.transactionReceipt를 사용해야합니다 originalTransaction.transactionReceipt 우리의 구매 구매 루틴. –