看起來留在「應用程序」中的唯一方法是給他們一個UIWebView的貝寶移動網站,讓他們完成那裏的交易,否則用戶將需要使用他們的API密鑰。有沒有人通過本地iPhone應用程序實現了PayPal API?
這聽起來是否正確,並且有人有或看過任何示例代碼?我必須認爲這是一段常見的代碼。
更新: 蘋果是否允許這樣做? 這是一個慈善應用程序,所以我假設沒有問題。
重新更新: 我錯了。 Apple不允許直接在使用PayPal的應用程序中進行付款。您必須重新定向到Web界面。
看起來留在「應用程序」中的唯一方法是給他們一個UIWebView的貝寶移動網站,讓他們完成那裏的交易,否則用戶將需要使用他們的API密鑰。有沒有人通過本地iPhone應用程序實現了PayPal API?
這聽起來是否正確,並且有人有或看過任何示例代碼?我必須認爲這是一段常見的代碼。
更新: 蘋果是否允許這樣做? 這是一個慈善應用程序,所以我假設沒有問題。
重新更新: 我錯了。 Apple不允許直接在使用PayPal的應用程序中進行付款。您必須重新定向到Web界面。
重新更新: 作爲回答下面這段代碼仍然可以購買實物商品
有用更新:
儘管此代碼的工作,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信息。
當您在應用程序中允許慈善捐款的Apple提出「我認爲錯誤」時,您能否提供更多信息?我正在開發一款應用程序,並要求允許慈善捐款......我一直無法從蘋果公司那裏找到嚴格禁止它的任何內容,但是我一直無法找到允許慈善捐贈的應用程序商店,要麼。 (我在這裏是否發佈這個問題而不是作爲一個新的頂級問題掙扎,但你是我在iPhone應用程序問題中直接瞭解的關於慈善捐贈的第一人)。
蘋果將允許自定義結賬實物購買。我在倫敦的iPhone Tech Talks上與他們交談過,他們表示他們不會支持In App Purchase的實物購買,因爲他們不得不處理退款等事情。他們還提到現有的具有自定義結賬的應用程序。
是沒可能使用PayPal的移動支付庫?
https://www.x.com/community/ppx/xspaces/mobile/mep?view=overview
根據您的需要的複雜性,PayPal's iOS SDK(2013年3月發佈)可能是票。
這是否意味着無法在應用內購買真實世界的商品?你的意思是應該打開Safari來完成交易,還是可以在UIWebView中完成? – ustun 2009-10-26 10:54:32
根據下面的答案,這可能對物理商品沒問題。打開Safari瀏覽器當然總是可以的。如果使用paypal API,則只需打開WebView以「完成」傳送。其他一切都可以是本地的。 – 2009-12-10 16:10:29
只能在虛擬商品的應用內購買。您不能用於真實世界商品的應用購買。但是,您可以使用外部方法(如PayPal或Stripe)來購買真實世界的商品。 – jsherk 2013-04-23 00:13:17