2013-01-11 2 views
1

내 iPhone 앱에서 inAppPurchase를 구현 했으므로 앱에서 제품을 구입할 수 있습니다. itunes 앱 스토어에 있습니다. 신용 카드 확인 페이지가 표시되지 않은 샌드 박스에서 제대로 테스트했습니다. 라이브에서 사용자가 무언가를 구매하려고하면 내 앱에서 앱 스토어를 통해 자신의 정보를 승인합니다. 사용자가 모든 과정을 통과하고, 배경을 다시 내 응용 프로그램을 열inapp 구매 통화 failetransaction 반환시 ...?

enter image description here

. (SKPaymentQueue *) 큐 updatedTransactions : (NSArray를 *) 거래 방법 (무효) paymentQueue - 내 에서 failedTransaction에 쓴 사용자에게 MSG 프롬프트 위

enter image description here

.

-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions 
{ 
for(SKPaymentTransaction *transaction in transactions) 
{ 
    switch (transaction.transactionState) 
    { 
     case SKPaymentTransactionStatePurchased: 
      [self completeTransaction:transaction]; 
      break; 
     case SKPaymentTransactionStateFailed: 
      [self failedTransaction:transaction]; 
      break; 
     default: 
      break; 
    } 
} 
} 

사람이 무슨 일이 잘못 나를 인도 할 수 : 이 방법은 아래에?

답변

1

확인 부분이 구현 된 서버 때문에 이러한 현상이 발생합니다.

확인 다음 사항 :

{ 
    "status" : 0, 
    "receipt" : { (receipt here) }, 
    "latest_receipt" : "(base-64 encoded receipt here)", 
    "latest_receipt_info" : { (latest receipt info here) } 
} 

서버 측에서 이러한 것들을 먼저 확인하고 또한 코드를 디버깅 알려 주시기 바랍니다.

위의 응답 중 하나가 문제를 일으킬 수 있습니다.

감사합니다.

헤엄.

+1

Hello Hemang, 답장을 보내 주셔서 감사합니다. 하지만 실제로 신용 카드 확인 후 내 애플 리케이션에 올 때, 그 시간에 completeTransaction 전화, 그때에만 나는 영수증을 가지고 있지만 그것은 failedTransaction에 간다. –

+1

그것의 reallyhelpful..bro ... 끝내 ... –

+0

이 메서드를 추가하십시오 : case SKPaymentTransactionStateRestored : [self restoreTransaction : transaction]; \t \t \t \t 브레이크; 이 방법도 추가하십시오. 그리고 그것을 확인하십시오. 그리고 여전히 트랜잭션이 실패하면 서버 측 확인에 문제가 있습니다. – Hemang