在何处更新应用购买中易耗品的服务器



所以我有一个购买消耗品的应用程序,从我所读到的内容来看,在服务器上保留一些信息方面涉及更多的工作。

我不清楚的是,成功购买后在哪里更新服务器?是吗

  • 无效)完成交易:(SKPayment交易*)交易;

??

如果确实是上述功能,那么是否只需进行Web调用并更新服务器服务器即可?我只是想了解最佳实践,并希望得到任何帮助。

很多问候

我不知道

这是否算作一个有效的答案,但你应该看看这篇文章。这篇博文是 2010 年的,所以可以说它已经过时了!但我认为值得一看,提供的示例(completeTransaction 方法实现)也应该是有效的。

让应用程序购买工作比实际应该的要痛苦得多。

做到了,

并在
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
...
 case SKPaymentTransactionStatePurchased: 
 case SKPaymentTransactionStateRestored:
      [self sendReceiptToServerAndValidateFurther:transaction.receiptData

然后,它只是对服务器端脚本的网络调用,该脚本可以使用iTunes验证收据并更新其数据库/发送数据

顺便说一句,一些服务器PHP

function itunes_verify2($receiptData,$sandboxed) {
    //itunes store url -- sandbox or not :)
    $itunes_storeURL = "https://buy.itunes.apple.com/verifyReceipt";
    if($sandboxed == true) {
        $itunes_storeURL = "https://sandbox.itunes.apple.com/verifyReceipt";
    }
    log_action('itunes_verify2 using ' . $itunes_storeURL);
    $post = array("receipt-data" => $receiptData ); 
    $postData = json_encode($post);
    $responseData = post_doRequest( $itunes_storeURL, $postData );
    $response = json_decode($responseData);
    if($responseArray->status == 0) {
        return "YES";
    } else {
        log_action('failed to get status ok from ' . $reponseData);
        return "NO";
    }
}

我将在这里为这个SO问题投票。似乎有几个例子。https://stackoverflow.com/questions/4178214/ios-in-app-purchase-sample-code

据我所知,消耗品确实需要您自己的托管,如下所述:订阅和消耗品产品的 iOS 应用内购买

我对消耗品没有个人经验,只有升级型 IAP,这并不太痛苦(相对而言)。

最新更新