有没有人通过原生 iPhone 应用程序实现了 PayPal API?
Posted
技术标签:
【中文标题】有没有人通过原生 iPhone 应用程序实现了 PayPal API?【英文标题】:Has anyone implemented the PayPal API through a native iPhone app? 【发布时间】:2010-10-21 05:37:45 【问题描述】:似乎留在“应用程序中”的唯一方法是给他们一个贝宝移动网站的 UIWebView 并让他们在那里完成交易,否则用户将需要使用他们的 API 密钥。
这听起来对吗?有人得到或看过任何示例代码吗?我不得不认为这是一段普通的代码。
更新: 苹果会允许这样做吗? 这是一个慈善应用程序,所以我假设没有问题。
重新更新: 我猜错了。 Apple 将不允许使用 paypal 在应用程序内直接付款。您必须重定向到 Web 界面。
【问题讨论】:
这是否意味着无法在应用程序中购买真实世界的商品?您的意思是应该打开 Safari 来完成交易,还是可以在 UIWebView 中完成? 根据下面的回答,这对于实物商品来说可能没问题。当然,开放野生动物园始终是可能的。如果使用 paypal API,您只需要打开 WebView 即可“完成”交易。其他一切都可以是原生的。 您必须仅在应用程序购买中使用虚拟商品。您不能在应用程序中购买真实世界的商品。但是,您可以使用外部方法(如 PayPal 或 Stripe)处理现实世界的商品。 【参考方案1】:重新更新: 正如下面所回答的,此代码对于购买实物商品可能仍然有用
更新:
虽然此代码有效,但 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 站点。 Paypal 允许您指定一个“返回 URL”,您可以根据需要进行任何操作。只要继续检查这个地址的委托方法中的 UIWebview 就知道事务完成了。
然后您再向 Paypal 发送一个 HTTP Post(类似于上面的一个)以完成交易。您可以在 Paypal Mobile Checkout API 文档中找到 API 信息。
【讨论】:
我正在开发用于汽车清洁服务的应用程序苹果将允许直接支付贝宝???【参考方案2】:当您对 Apple 允许在应用内进行慈善捐赠说“我认为是错误的”时,您能否提供更多信息?我正在开发一个应用程序,并且要求允许慈善捐赠...我无法从 Apple 中找到任何严格禁止它的内容,但我无法找到允许慈善捐赠的应用程序商店,要么。
(我在纠结是否要在此处发布这个问题,而不是作为一个新的***问题,但你是我遇到的第一个直接了解 iPhone 应用程序问题中的慈善捐赠的人)。
【讨论】:
感谢科里的更新。我们没有使用 PayPal,但我仍然希望被拒绝。我见过一些应用程序允许您输入信用卡购买东西(甚至只是通过随机信用卡交易),但从不捐赠。再次感谢,祝您的应用好运。【参考方案3】:Apple 将允许对实体购买进行自定义结账。我在伦敦的 iPhone Tech Talks 上与他们进行了交谈,他们说他们将不支持通过 In App Purchase 进行实体购买,因为他们必须处理退款等问题。他们还提到了具有自定义结账功能的现有应用程序。
【讨论】:
【参考方案4】:难道不能使用 Paypal 的移动支付库吗?
https://www.x.com/community/ppx/xspaces/mobile/mep?view=overview
【讨论】:
【参考方案5】:根据您需求的复杂程度,PayPal's ios SDK(2013 年 3 月发布)可能是合适的选择。
【讨论】:
以上是关于有没有人通过原生 iPhone 应用程序实现了 PayPal API?的主要内容,如果未能解决你的问题,请参考以下文章
有没有人在 iPhone 上通过 midi->wav 转换等播放 .midi 文件的经验?