iOS內購的訂單對應和補單,ios訂單對應

來源:互聯網
上載者:User

iOS內購的訂單對應和補單,ios訂單對應

內購的關鍵類:

1.SKPayment(SKMutablePayment可將自己的參數一對一與蘋果產生的payment對應起來)

2.TransactionObserver:交易狀態更新時執行此方法,此方法會傳入交易SKPaymentTransaction數組,對數組進行遍曆,對不同狀態進行對應的操作

(SKPaymentTransactionStatePurchasing,SKPaymentTransactionStatePurchased,SKPaymentTransactionStateFailed,SKPaymentTransactionStateRestored,SKPaymentTransactionStateDeferred) 

3.SKPaymentTransaction:包括transactionReceipt,payment,transactionIdentifier等關鍵屬性,transactionReceipt是後端驗簽的關鍵。

 

內購流程1:

        SKPayment *payment = [SKPayment paymentWithProductIdentifier:productID];//傳入productID
        [[SKPaymentQueue defaultQueue] addTransactionObserver:self];//添加observer,並執行協議,對支付狀態進行更新

        //observer代理方法
         - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
    for (SKPaymentTransaction *transaction in transactions)
    {
        switch (transaction.transactionState)
        {
            case SKPaymentTransactionStatePurchased:
                //對已經支付的狀態進行操作
                break;
            case SKPaymentTransactionStateFailed:
               //支付失敗的操作
                break;
            case SKPaymentTransactionStateRestored:
              //對於非消耗產品的操作
                break;
            default:
                break;
        }
    }
}
如果使用者已經支付,但是驗簽沒有通過,繼續支付時會產生可免費恢複的對話方塊,這時即使再添件payment,也都是purchasing的狀態,必需將purchased狀態的paymenttrananction 通過[[SKPaymentQueue defaultQueue] finishTransaction:transaction]後才能逐個執行paymentque裡面purchasing狀態下的訂單(這是針對同一個productIdentifier的產品),不同的productIdentifier產品仍可正常支付

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.