2009-04-22 46 views
36

看起來留在「應用程序」中的唯一方法是給他們一個UIWebView的貝寶移動網站,讓他們完成那裏的交易,否則用戶將需要使用他們的API密鑰。有沒有人通過本地iPhone應用程序實現了PayPal API?

這聽起來是否正確,並且有人有或看過任何示例代碼?我必須認爲這是一段常見的代碼。

更新: 蘋果是否允許這樣做? 這是一個慈善應用程序,所以我假設沒有問題。

重新更新: 我錯了。 Apple不允許直接在使用PayPal的應用程序中進行付款。您必須重新定向到Web界面。

+0

這是否意味着無法在應用內購買真實世界的商品?你的意思是應該打開Safari來完成交易,還是可以在UIWebView中完成? – ustun 2009-10-26 10:54:32

+1

根據下面的答案,這可能對物理商品沒問題。打開Safari瀏覽器當然總是可以的。如果使用paypal API,則只需打開WebView以「完成」傳送。其他一切都可以是本地的。 – 2009-12-10 16:10:29

+0

只能在虛擬商品的應用內購買。您不能用於真實世界商品的應用購買。但是,您可以使用外部方法(如PayPal或Stripe)來購買真實世界的商品。 – jsherk 2013-04-23 00:13:17

回答

23

重新更新: 作爲回答下面這段代碼仍然可以購買實物商品

有用

更新:

儘管此代碼的工作,App Store的條款將不會允許你在應用程序中使用此代碼。


原來的答案:

我以後有些沉重API研究想通了這一點。下面是一個創建一個HTTP POST來發送給PayPal並創建一個NSURLRequest的方法。您可以填寫適當的字符串格式變量。我用HTTP Client來檢查我在做什麼。

- (void)sendPayPalRequestPOST{ 

perfomingSetMobileCheckout=YES; 
recordResults = FALSE; 

NSString *parameterString = [NSString stringWithFormat:@"USER=%@&PWD=%@&SIGNATURE=%@&VERSION=57.0&METHOD=SetMobileCheckout&AMT=%.2f&CURRENCYCODE=USD&DESC=%@&RETURNURL=%@", userName, password, signature, self.donationAmount, @"Some Charge", returnCallURL]; 

NSLog(parameterString); 

NSURL *url = [NSURL URLWithString:paypalUrlNVP]; 
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url]; 
NSString *msgLength = [NSString stringWithFormat:@"%d", [parameterString length]]; 

[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"]; 
[theRequest setHTTPMethod:@"POST"]; 
[theRequest setHTTPBody: [parameterString dataUsingEncoding:NSUTF8StringEncoding]]; 


NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self]; 

if(theConnection){ 
    webData = [[NSMutableData data] retain]; 
    [self displayConnectingView]; 

}else{ 
    NSLog(@"theConnection is NULL"); 
} 
} 

此之後,你需要解析響應,搶會話密鑰,並創建一個UIWebView帶他們到移動PayPal網站。貝寶讓你指定一個「返回網址」,你可以做任何你想要的。只要繼續在委託方法中檢查此地址的UIWebview,然後知道事務已完成。

然後您再發送一個HTTP Post(類似於上面的那個)到PayPal以完成交易。您可以在Paypal Mobile Checkout API文檔中找到API信息。

1

當您在應用程序中允許慈善捐款的Apple提出「我認爲錯誤」時,您能否提供更多信息?我正在開發一款應用程序,並要求允許慈善捐款......我一直無法從蘋果公司那裏找到嚴格禁止它的任何內容,但是我一直無法找到允許慈善捐贈的應用程序商店,要麼。 (我在這裏是否發佈這個問題而不是作爲一個新的頂級問題掙扎,但你是我在iPhone應用程序問題中直接瞭解的關於慈善捐贈的第一人)。

3

蘋果將允許自定義結賬實物購買。我在倫敦的iPhone Tech Talks上與他們交談過,他們表示他們不會支持In App Purchase的實物購買,因爲他們不得不處理退款等事情。他們還提到現有的具有自定義結賬的應用程序。

相關問題