1

我们最近收到了一些电子邮件,其中用户抱怨在应用程序购买中对消耗品收取双倍费用。我不知道,这怎么可能。此外,似乎只有少数用户遇到这种问题。但如果这样做,它会发生多次。我错过了什么吗?数量默认为 1,不是吗?您是否遇到过双重收费的问题?我发现很多用户抱怨在各种应用程序上被双重收费。这是 Apple/iTunes 的问题还是许多开发人员做错了什么?

这是交易的相关代码。我一次只允许一个事务,使用成员变量transactionRunning并检查 SKPaymentQueue 队列中有多少事务。

任何意见或经验将不胜感激。任何解决此问题的帮助将不胜感激。

- (void)purchaseProduct:(NSString*)productIdentifier
{
    NSArray * array = [SKPaymentQueue defaultQueue].transactions;
    if (transactionRunning == false && [array count] == 0)
    {
        transactionRunning = true;      
        SKPayment *payment = [SKPayment paymentWithProductIdentifier:productIdentifier];
        [[SKPaymentQueue defaultQueue] addPayment:payment];
    }
}

- (void)finishTransaction:(SKPaymentTransaction *)transaction wasSuccessful:(BOOL)wasSuccessful
{    
    transactionRunning = false;
    [[SKPaymentQueue defaultQueue] finishTransaction:transaction];
}

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
    for (SKPaymentTransaction *transaction in transactions)
    {        
        switch (transaction.transactionState)
        {
            case SKPaymentTransactionStatePurchasing:
                break;
            case SKPaymentTransactionStatePurchased:
                [self provideContent:transaction.originalTransaction.payment.productIdentifier];
                [self finishTransaction:transaction wasSuccessful:YES];
                break;
            case SKPaymentTransactionStateFailed:
                [self failedTransaction:transaction];
                break;
            case SKPaymentTransactionStateRestored:
                [self restoreTransaction:transaction];
                break;
            default:
                break;
        }
    }
} 
4

1 回答 1

0

我有类似的问题,就我而言,问题不在代码中。

有一天,我看到很多退款。

问苹果,说是技术问题,现在问题解决了。退款是针对应用内费用的两倍。

没有其他信息....感谢您的考虑,Apple

于 2013-06-04T08:38:38.333 回答