随着移动支付应用的不断增长,如何在移动设备上实现流畅且安全的支付过程成为了开发者面临的一个挑战。PayPal凭借十年的在线支付管理经验,为开发者提供了一种将支付过程无缝集成到应用中的方法,而不需要用户登录到PayPal.com来完成交易。同时,用户也需要确信他们的支付信息在移动设备上进行交易时是安全的。
PayPal的新服务使得您可以通过几行代码将移动支付集成到您的应用中。商家和客户都能获得一个易于使用的界面,清晰地显示交易信息,并由PayPal强大的后端基础设施支持。每个人都能得到快速且值得信赖的购买过程,这可以带来销售额的增长。
本文将向您展示使用PayPal处理和跟踪移动支付是多么容易。它涵盖了从测试到发布的基本过程,以iPhone操作系统为例(当然,PayPal也支持其他主要的智能手机操作系统)。它还向您介绍了PayPal X开发者网络上可用的多种免费资源。
开发和发布您的应用的第一步是在PayPal X开发者网络上注册,并设置您自己的验证PayPal商业账户。接下来,您应该访问Dev Tools主页,在那里您会找到按功能分类的所有自适应API的链接(促进支付、管理账户、信息和报告),这使得找到最适合您情况的支付解决方案变得容易。
在Dev Tools下拉菜单中,您还会找到x.com上的其他关键资源链接,如论坛、培训模块、SDK和下载、代码示例等。
您还应该注册PayPal沙箱,这样您就可以稍后测试支付电子邮件通知。沙箱允许您测试您的应用,包括设置测试账户、管理测试账户的API凭据以及测试即时支付通知(IPN)模拟器。
PayPal为iPhone和Android操作系统提供了移动库。两者都可以下载。开发者包包括库、技术文档、入门指南以及一个集成了库的披萨订购和支付应用示例。
将移动库集成到您的应用中进行测试的关键步骤包括:
获取测试PayPalApplicationID。
您需要使用测试PayPalApplicationID才能在PayPal沙箱环境中发起和接收支付请求。测试PayPalApplicationID是APP-80W284485P519543T。
确认为PayPal沙箱测试账户设置。
您应该已经在沙箱中设置了测试账户,以测试应用中的各种支付交易。
将PayPal移动支付库添加到您的项目中。
在您的项目中包含头文件。
实现initializeWithAppID方法。
这初始化了库并将环境设置为实时、沙箱或演示。
实现getPayButton方法。
这会生成您选择的七种按钮尺寸之一以及onClick功能。
实现payWithPayPal方法。
按下PayPal按钮会发起结账调用,包括所选的任何支付参数。您还可以选择一些可选标准,如运输、税费、语言和支付类型(实物商品、服务、捐赠、个人对个人支付)。
添加一个委托来处理库返回的响应。
处理程序将根据结果调用三种类型之一(paymentSuccess、paymentCancel、paymentFailed)。
以下是一个iPhone OS应用的示例代码,展示了上述一些关键方法的调用:
- (void)viewDidLoad {
// other viewDidLoad code
[PayPal initializeWithAppID:@"APP-80W284485P519543T" forEnvironment:ENV_SANDBOX];
UIButton *button = [[PayPal getInstance] getPayButton:self buttonType:BUTTON_278x43 startCheckOut:@selector(payWithPayPal) PaymentType:HARD_GOODS withLeft:10 withTop:352];
[self.view addSubview:button];
}
- (void)payWithPayPal {
PayPal *pp = [PayPal getInstance];
[pp EnableShipping];
PayPalMEPPayment *payment = [[PayPalMEPPayment alloc] init];
payment.paymentCurrency = @"USD";
payment.paymentAmount = [NSString stringWithString:@"5.0"];
payment.itemDesc = [NSString stringWithFormat:@"Photo Print (%@)", photoId];
payment.recipient = @"recipient@paypal.com";
payment.taxAmount = [NSString stringWithString:@"0.5"];
payment.shippingAmount = [NSString stringWithString:@"0.41"];
payment.merchantName = @"MerchantName";
[pp Checkout:payment];
[payment release];
}
现在让看看移动结账API流程对于使用您的移动应用的买家是如何工作的。买家的基本流程是PayPal网站体验的简化版本:
在结账时,买家选择“使用PayPal支付”选项。这调用SetMobileCheckout API来启动交易。SetMobileCheckout可以使用PayPal SOAP Web服务或PayPal名称-值对(NVP)API调用。SetMobileCheckoutRequest包含以下详细信息:
购物车信息,包括账单、税费和运输金额及货币
PayPal流程信息,包括返回URL和取消URL
PayPal服务器接收API调用并返回包含交易令牌的响应,然后无形地将买家重定向到带有附加令牌的PayPal URL。
买家登录他们的PayPal账户并选择资金来源。(如果激活了该选项,可以为买家提供创建PIN的选项,以便未来的结账过程更快。)
然后PayPal无缝地将买家重定向到商家提供的返回URL,买家在那里确认交易(如果需要)。
商家网站然后调用DoMobileCheckoutPayment API来完成交易。买家看到订单确认页面。
尽管上述列出了所有幕后活动,但买家只看到两个简短的PayPal屏幕。下面是一个包含在iPhone OS和Android OS开发者包中的披萨订购结账过程的移动屏幕截图序列:
要查看另一个具有无缝PayPal功能的完成应用的示例,请查看一个示例旅行应用。它的实时互动将给您一个实际操作的支付过程如何被集成的体验。
对于这些流程的一些其他关键资源,请参见:
PayPal移动结账开发者指南
沙箱用户指南
商家设置和管理指南
使用PayPal的移动库获得支付
您快完成了。现在您已经在PayPal沙箱中成功测试了您的应用,是时候发布您的应用了。
创建并配置您的实时PayPal账户。
登录PayPal,点击Profile子标签,并确保Seller Preferences的设置与您的沙箱设置匹配,或否则适合实时使用。
获取实时API凭据。
登录PayPal,点击Profile子标签,点击API Access并请求API凭据以请求签名或证书。
配置第三方授权。
如果您代表商家进行API调用,请在您的实时账户上复制您在PayPal沙箱上设置的第三方认证。
创建SDK API配置文件(如果适用)。
如果您的应用使用PayPal SDK,您必须创建一个包含实时账户详细信息的API配置文件对象。这包括指定“环境”字段为“实时”,以及包括您的实时API用户名、API密码和生产API证书的路径。
更新防火墙中的PayPal IP地址。
如果适用,请将PayPal的IP地址添加到防火墙或其他网络设备所需的受信任IP地址列表中。PayPal IP地址的最新列表可以在“上线清单”的第5步中找到。
要获得有效的PayPalApplicationID,请将您的应用提交给PayPal。
在PayPal可以测试您的应用之前,您需要添加PayPal的设备UDID(396ea30899bb294607270258115a8eb9c929c021)。然后登录到PayPal开发者网络,并在My Apps标签下提交您的应用。PayPal通常在一个工作日内审核提交的应用。一旦获得批准,您将获得一个有效的PayPalApplicationID。
完成应用,上线并开始赚钱。
用您从PayPal收到的新PayPalApplicationID更新测试PayPalApplicationID,将“环境”字段指向“实时”(如果您还没有这样做),您就可以将您的应用推向世界了。