似乎唯一保持“在应用程序中”的方法是提供 PayPal 移动站点的 UIWebView,并让他们在那里完成交易,否则用户将需要使用他们的 API 密钥。
这听起来正确吗?有人有或见过任何示例代码吗?我认为这是常见的代码。
更新: 苹果公司会允许吗? 这是一个慈善应用,所以我认为没有问题。
重新更新: 我猜错了。 苹果不允许使用 PayPal 直接在应用程序中进行付款。您必须重定向到 Web 界面。
似乎唯一保持“在应用程序中”的方法是提供 PayPal 移动站点的 UIWebView,并让他们在那里完成交易,否则用户将需要使用他们的 API 密钥。
这听起来正确吗?有人有或见过任何示例代码吗?我认为这是常见的代码。
更新: 苹果公司会允许吗? 这是一个慈善应用,所以我认为没有问题。
重新更新: 我猜错了。 苹果不允许使用 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网站。Paypal允许您指定“返回URL”,您可以指定任何您想要的地址。只需在委托方法中不断检查UIWebview是否包含该地址,然后您就知道交易已完成。
然后,您需要向Paypal发送另一个HTTP Post请求(类似于上面的请求),以完成交易。您可以在Paypal Mobile Checkout API文档中找到API信息。
苹果将允许定制结账方式进行实体购买。我在伦敦的iPhone技术讲座上与他们交谈,他们表示不支持应用内购物的实体购买,因为他们需要处理退款等问题。他们还提到了已有的使用定制结账方式的应用。
使用Paypal的移动支付库不是可行的吗?
https://www.x.com/community/ppx/xspaces/mobile/mep?view=overview
当你说苹果允许应用内进行慈善捐赠的时候,但你提供更多信息吗?我正在开发一个应用程序,需要允许慈善捐赠...我没有找到苹果严格禁止这样做的任何信息,但我也没有找到在商店中允许慈善捐赠的应用程序。
(我曾经犹豫是否要在这里发布而不是作为一个新的顶级问题,但你是我遇到的第一个对iPhone应用程序内慈善捐赠问题有直接了解的人)。