1. 程式人生 > >iOS:蘋果內購實踐

iOS:蘋果內購實踐

#pragma mark 4.實現觀察者監聽付錢的代理方法,只要交易發生變化就會走下面的方法
-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions{
    
    /*
     SKPaymentTransactionStatePurchasing,    正在購買
     SKPaymentTransactionStatePurchased,     已經購買
     SKPaymentTransactionStateFailed,        購買失敗
     SKPaymentTransactionStateRestored,      回覆購買中
     SKPaymentTransactionStateDeferred       交易還在佇列裡面,但最終狀態還沒有決定
     
*/ for (SKPaymentTransaction *transaction in transactions) { switch (transaction.transactionState) { case SKPaymentTransactionStatePurchasing:{ [MBProgressHUD hideHUD]; [MBProgressHUD showMessage:@"正在購買中,別走開..."]; NSLog(@"正在購買...
"); } break; case SKPaymentTransactionStatePurchased:{ // 購買後告訴交易佇列,把這個成功的交易移除掉 [queue finishTransaction:transaction]; [MBProgressHUD hideHUD]; [self SavePaymentTransactionpAfterbuyAppleStoreProductSucceed:transaction]; NSLog(
@"購買成功"); } break; case SKPaymentTransactionStateFailed:{ // 購買失敗也要把這個交易移除掉 [queue finishTransaction:transaction]; [MBProgressHUD hideHUD]; self.conchChargeView.userInteractionEnabled = YES; NSString *errorInfo = @"購買失敗,請稍後重新購買"; if (transaction.error) { NSString *reason = transaction.error.userInfo[NSLocalizedFailureReasonErrorKey]; if ([StringUtility isStringNotEmptyOrNil:reason]) { errorInfo = reason; } } UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:errorInfo delegate:nil cancelButtonTitle:@"關閉" otherButtonTitles:nil, nil]; [alertView show]; NSLog(@"購買失敗"); } break; case SKPaymentTransactionStateRestored:{ // 回覆購買中也要把這個交易移除掉 [queue finishTransaction:transaction]; [MBProgressHUD hideHUD]; self.conchChargeView.userInteractionEnabled = YES; UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"重複購買了" delegate:nil cancelButtonTitle:@"關閉" otherButtonTitles:nil, nil]; [alertView show]; NSLog(@"重複購買了"); } break; case SKPaymentTransactionStateDeferred:{ NSLog(@"交易還在佇列裡面,但最終狀態還沒有決定"); } break; default: break; } } }

相關推薦

iOS蘋果實踐

#pragma mark 4.實現觀察者監聽付錢的代理方法,只要交易發生變化就會走下面的方法 -(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions{ /* S

iOS開發蘋果的介紹與實現

ORC form col cas sda nds 發送 獨立開發 添加 1、iOS開發蘋果內購的介紹 1.1 介紹 蘋果規定,凡是虛擬的物品(例如:QQ音樂的樂幣)進行交易時,都必須走蘋果的內購通道,蘋果要收取大約30%的抽成,所以不允許接入第三方的支付方式(微信、支付

蘋果小結 - iOS

此篇針對 iOS 支付進行一次小結,很久沒碰這塊了,有些方法 Apple 官方也進行了優化,故也將隨之進行更新. 首先,code 部分將分為兩部分,一部分在 appdelegate 中,另一部分單獨封裝在了一個類中執行,需要使用的地方呼叫的介面方法. 其次,大體支付流程為獲取到充值價格訂單列表後,選擇對應

iOS 蘋果 In-App Purchase 踩過的坑

專案裡面要接蘋果支付,結果我研究了一個小時的apple pay,結果經理說是蘋果內購,當時就感覺被耍了!好了,那就說說In-App Purchase這個吧,前面所有的準備工作經理做完了,我只是碼程式碼,結果購買的回撥都執行,就是介面啥反應都沒有,不知道是前期的工

iOS蘋果流程(Apple Pay)

通過蘋果應用程式商店有三種主要賺錢的方式: 1.直接收費(我想天朝的大多數人是不會購買的) 2.廣告 iAd Framework 3.內購:應用程式本身的增值產品,(比如什麼歡樂豆之類的) 一般式37開, 蘋果3,開發商7 內購的產品分類: 1>非消耗品(Nonconsumable)一旦購買,

iOS應用裡面包含虛擬商品,支付必須使用蘋果方式

蘋果拒絕App原因: We noticed that your app enables the purchase of content, services, or functionality in the app by means other than the In-App

iOS程式生命週期,蘋果、微信支付、支付寶支付

開發4年了,很少寫部落格,主要是懶,哈哈。遇到不清晰的就翻翻以前的程式碼。有時還找不到,現在發現部落格可以更方便查詢知識點,所以用部落格做筆記吧。也有助於大家學習、交流,先寫一些基礎的吧。 一、iOS程式常識 1. 生命週期 程式啟動時,載入xi

iOS遊戲開發二蘋果支付的流程(In-App Purchases)

蘋果應用內支付流程 一 伺服器模式流程如下: 1. 程式向伺服器傳送一個請求 以抓取一份包含所有商品ID的列表 2. 伺服器返回包含所有商品ID識別符號的列表 3. 程式將所有商品ID列表傳送到App Store 以得到所有產品的詳細資訊 4. App Store返回所有

蘋果艱辛審核之路

建議 目的 電話 1.0 點擊 中一 手機 div 做的 開發: 具體的步驟及代碼就不說了,網上有很多類似的文章大家可以看一下,具體就是分為兩大不走: (1)去蘋果後臺註冊銀行卡信息,添加內購項目 (2)就是代碼中集成內購 我今天要說的主要是在你要做上面兩步的內容的時候需要

一招解決蘋果漏單問題

蘋果內購漏單的問題一直都是個頭疼的問題,相信有很多公司都遇到這樣的問題,今天來說說我是怎麼解決蘋果內購漏單的問題的。 解決思路: 1.使用者下單成功後我們需要儲存使用者的下單資料,將productid,orderid,cporderid等資訊儲存到本地資料庫; 2.拉起內購讓使用者完成購

iOS】IAP整個流程

最近用到IAP內建購買,閱讀官方文件,在網上找了些資料,在這裡作下整理,以便日後查詢和修改,主要流程方向確定,文件和相關轉載內容截圖不一一指出,google一堆。 1.查詢官方文件,兩張目錄截圖,對主要流程大致瞭解:           &n

iOS 開發之 遇坑 續篇

之前弄過一個內購買專案,然後總結了一些心得,最近又弄內購的過程中有發現了一些新問題, 就當時對之前的文章做個續篇吧. 之前的內購心得連結: http://blog.csdn.net/jesse0308/article/details/78458823 最近弄的內購專案是提供給接入方的

APP蘋果支付

$user_id = $_SESSION['user_id'];/* = 1024 */ if ($user_id <= 0) { return new ecjia_error(100, 'Invalid session'); } $url_buy = "https:/

揭祕蘋果的大漏洞和訂閱的黑陷阱

中文網路上關於蘋果內購簡直是怨聲載道,除了它那嚴格的稽核政策及坑爹坑爹坑爹的30%提成,還有各種簡單粗暴的體驗以及致命漏洞。我研究了相關資料,做了點總結。 我們通過百度搜索“Apple store訂閱黑陷阱” 得到1,130,000個結果。我認為這些知識鳳毛麟角。還有很多不

cocos2dx 接入蘋果 程式碼實現

本文只介紹蘋果內購的程式碼實現步驟,如果需要知道具體流程可以參照http://www.jianshu.com/p/86ac7d3b593a 下面來介紹一下蘋果內購的程式碼實現步驟。 第一步:匯入StoreKit.framework庫 1.點選主專案檔案->Bulid Ph

蘋果退款的一些代退工作室是否靠譜和選擇

市面上此類工作室很多,我就說一些最基本的篩選方法吧。首先你不要去加QQ聯絡的那類工作室,我意思不是不能加QQ,而是這個工作室的聯絡方式是隻有QQ,其實大家都知道微信這一塊現在對於詐騙管理的都很嚴格,基本上在微信上是不存在長期詐騙的,即使微商多發些廣告也是會被限制的,QQ是沒有

蘋果退款工作室要不要密碼的區別

因為有一批工作室是無需密碼,直接簡單操作一下的,打個電話什麼的。而最近一段時間如果不使用密碼登入檢視的話,是無法檢視全部收據訂單的。這樣的話就很影響退款的金額,昨天有個朋友找我,讓我幫他看一下。我進去看估計消費了1-2萬,但是就退了一個648,然後我問他,為什麼

iOS IAP應用詳細步驟和問題總結指南

最近公司在做APP內購會員功能 遇到了很多問題 總結記錄一下 首先一定要區分Apple pay 和IAP內購的區別 可以先去看一下官方文件地址 有每個步驟的詳細解釋 本篇文章分為:1、 內購支付流程; 2、開發整合步驟; 3、問題(遇坑)記錄解決方式 之前沒看官方文件走了很多彎路 網上部落格

Swift3 蘋果

1、引入標頭檔案 import StoreKit 2、在viewDidLoad新增 SKPaymentQueue.default().add(self) //新增代理 SKPaymentTransactionObserver

iOS應用程式/付費(一)

很久之前就想出一篇IOS內付費的教程,但是一查網上的教程實在太多了,有的寫得真的蠻不錯的,就心想算了,於是就儲存在草稿箱了。至於為什麼寫完它呢!真是說來話長,最近公司有個專案經理跑來問我有關蘋果內付費相關的細節,跟他聊了半天,從專案對接蘋果官方支付介面聊到了如何檢視App收