我做了IAP的演示,在我已經註冊了我的演示應用程序在蘋果賬戶,我還增加了產品信息,描述,APP-ID,標題,priceTier,沙盒帳戶進行測試付款流程如演示中所述。我現在正在面臨兩個問題: -應用程式內購買不完整的付款
一)喜歡的第一次的彈出窗口將要求蘋果ID /密碼,我提供兩個值。它會顯示我是否要確認我的付款,並在該彈出窗口中顯示產品的名稱和價格。點擊確定後,我甚至沒有收到任何來自蘋果的郵件,所以我如何證明我是否已經完成了付款。
b)我也想在購買產品時更改我的登錄ID。但每次默認情況下,都會輸入我以前的身份證並只顯示密碼框以輸入密碼。我怎樣才能重置這個設置?就像我已經嘗試重新設置模擬器並在iTunes中的蘋果a/c中再次添加新產品一樣。所以如果有人有任何想法,請隨時提供幫助。分享我的代碼如下: -
-(void)fetchAvailableProducts{
if ([SKPaymentQueue canMakePayments])
{
SKProductsRequest *request = [[SKProductsRequest alloc]
initWithProductIdentifiers:
[NSSet setWithObject:kTutorialPointProductID]];
request.delegate = self;
[request start];
}
else
NSLog(@"Please enable In App Purchase in Settings") ;
}
-(void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
NSArray *products = response.products;
if (products.count != 0)
{
_product = products[0];
NSLog(@"procudt info is %@",_product.localizedTitle);
// _buyButton.enabled = YES;
// _productTitle.text = _product.localizedTitle;
// _productDescription.text = _product.localizedDescription;
[self purchaseProducts];
} else {
//_productTitle.text = @"Product not found";
}
products = response.invalidProductIdentifiers;
for (SKProduct *product in products)
{
NSLog(@"Product not found: %@", product);
}
}
-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
for (SKPaymentTransaction *transaction in transactions)
{
switch (transaction.transactionState) {
case SKPaymentTransactionStatePurchased:
[[SKPaymentQueue defaultQueue]
finishTransaction:transaction];
NSLog(@"Transaction complete");
break;
case SKPaymentTransactionStateFailed:
NSLog(@"Transaction Failed");
[[SKPaymentQueue defaultQueue]
finishTransaction:transaction];
break;
default:
break;
}
}
}
首先我用我的產品ID只取我的產品和我得到的委託方法,如果計數> 0,則「purchaseProducts」法響應會被調用。但問題是我的委託方法沒有被調用,在點擊「確定」購買產品後沒有發生任何事情。請分享你的想法。
感謝非常好的解釋,因此我接受了你的答案。實際上,在此之前,我在另一個支付網關和沙箱Env上工作,在付款後我收到了一封測試郵件。支付網關的名稱是Telr支付網關。 Pooja岩石。 – Prakash