问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

app怎么接入applepay

发布网友 发布时间:2022-04-19 19:47

我来回答

1个回答

热心网友 时间:2023-06-23 01:40

  在App里设置Apple Pay


  Xcode 6.1提供了非常方便的界面来设置Apple Pay。第一步先修改target为iOS 8.1,然后在项目Capabilities里将Apple Pay设置为on,这将自动导入需要的库文件,然后添加一个权限文件并设置,最后修改或创建你的App ID。

  你可能会注意到上面没有有效的Merchant ID,我们需要创建一个,访问苹果iOS 开发者中心的位于Identifiers > Merchant ID的页面。

  然后随着流程指引,创建一个Merchant ID并注册它。

  现在,我们需要给Merchant ID添加一个证书签名请求(Certificate Signing Request),以便加密支付令牌来保证其安全性。为达到这个目的,导航至你的Merchant ID,并点击Edit按钮来修改它。

  现在,你需要创建一个证书。点击下面的Create Certificate按钮,并跟随苹果的流程指引完成创建。

  现在Merchant ID设置好了,你可以回到Xcode并刷新Merchant ID区块,如果一切正常,你应当看到刚创建的ID出现在列表上。将它选中,然后可以进入下一部分。

  编写代码

  我们在Github上提供了一个集成Apple Pay的示例项目:cjbeauchamp/ApplePayDemo ,权限文件和App设置文件已经剥离出去了,可以放心将它添加到你自己的项目里。下面我们将讨论一些开发中的要点。

  设置项目

  Apple Pay使用了PassKit框架,所以你需要在适当的文件里导入头文件:

 

  #import <passkit passkit.h=""></passkit>

  

  你还需要接收Apple Pay处理信息的回调,所以确保将委托添加到接收类上:

 

  

  @interface ViewController : UIViewController

  <pkpaymentauthorizationviewcontrollerdelegate></pkpaymentauthorizationviewcontrollerdelegate>

  

  创建支付请求

  首先你需要确认设备是否支持Apple Pay支付,确认的代码是:

 

  

  if([PKPaymentAuthorizationViewController canMakePayments]) {

  ...

  }

  

  在上面的代码块里,你能使用PKPayment类来创建支付请求。下面是相应的代码,你需要将其中一些信息修改成自己的,比如merchantIdentifier需要与你之前创建的Merchant ID相匹配。

  

  

  PKPaymentRequest *request = [[PKPaymentRequest alloc] init];

  request.countryCode = @"US";

  request.currencyCode = @"USD";

  request.supportedNetworks = @[PKPaymentNetworkAmex, PKPaymentNetworkMasterCard, PKPaymentNetworkVisa];

  request.merchantCapabilities = PKMerchantCapabilityEMV;

  request.merchantIdentifier = @"merchant.com.myMerchantID";

  

  添加物品到支付页

  你可以使用PKPaymentSummaryItem来创建物品并显示,这个对象描述了一个物品和它的价格,数组最后的对象必须是总价格。

  1

  2

  3

  4

  5

  6

  7

  

  PKPaymentSummaryItem *widget1 = [PKPaymentSummaryItem summaryItemWithLabel:@"Widget 1" amount:[NSDecimalNumber decimalNumberWithString:@"0.99"]];

  

  PKPaymentSummaryItem *widget2 = [PKPaymentSummaryItem summaryItemWithLabel:@"Widget 2" amount:[NSDecimalNumber decimalNumberWithString:@"1.00"]];

  

  PKPaymentSummaryItem *total = [PKPaymentSummaryItem summaryItemWithLabel:@"Grand Total" amount:[NSDecimalNumber decimalNumberWithString:@"1.99"]];

  

  request.paymentSummaryItems = @[widget1, widget2, total];

  

  显示认证视图

  最后,显示由PassKit框架提供的view controller,接下来它将自动处理认证。

  1

  2

  3

  

  PKPaymentAuthorizationViewController *paymentPane = [[PKPaymentAuthorizationViewController alloc] initWithPaymentRequest:request];

  paymentPane.delegate = self;

  [self presentViewController:paymentPane animated:TRUE completion:nil];

  

  实现委托方法

  被请求的委托方法是被认证成功和认证完成两个事件调用的。是否解除view controller,以及让用户知道认证是否成功都取决于你。方法的签名如下:

  1

  2

  

  - (void)paymentAuthorizationViewController:didAuthorizePayment:completion:

  - (void)paymentAuthorizationViewControllerDidFinish:

  

  支付验证

  在Apple Pay验证了支付之后,仍然需要开发者来完成交易,这可以用didAuthorizePayment委托方法来完成,它需要你连接服务器并上传支付令牌和 其他信息,以完成整个支付流程。在服务器呼叫结束后,你需要调用completion方法,摒弃提供success或failure标记的参数。你可以在 示例代码里找到具体实现。

  监控并优化交易

  Apple Pay是现有的结账流程非常棒的解决方案,在应用里使用它无疑会让用户们高兴。尽管Apple Pay让支付流程极端简化,仍然有许多变动地方,他们的表现将直接与app的营收挂钩。

  交易监控

  Crittercism公司的新Transaction Management是一种很棒的方法,用来监控各种交易确保它们工作正常。如果一个API端末或服务执行缓慢,或者如果用户决定取消交易,或者你的应用崩溃了,你需要知道这些信息才能更好的优化它们。你可以到Crittercism官方网站了解更多信息。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 苹果支付apple pay怎么接 iOS 应用内支付有可能允许接入第三方支付吗 iOS10接入比特币支付,支付革命要来了? ios app 接入第三方支付,如何保证安全,防止 iOS 应用内支付(IAP)有可能允许接入第三方支付吗... ios应用怎么接入第三方支付 同事升官了怎么祝福呢 怎样恭贺他人荣升 领导升职了应该怎么恭喜? 祝贺升官词 祝贺领导升职怎么说 祝贺同事升职的祝福语 同事晋升祝福语什么说 如何祝贺领导升职 形容人仕途高升的祝福语 别人高升 如何恭喜 祝贺领导升职的祝福语有哪些? 如何祝福别人升职 恭祝升职的祝福语 四个字的 别人升职了怎么祝福 APP怎么接入苹果支付 苹果商店可以用微信支付吗 苹果回应微信支付接入Ap... 苹果支付方式怎么用 Apple Pay如何使用攻略 想做ios版本的单机游戏,其中需要支付功能,但是我... 苹果支付怎么用 iOS应用商店支付通道在哪里 无法连接apple pay怎么办? apple pay怎样快速手机支付 电压力锅哪个牌子好?求推荐 电压力锅好不好,优点,缺点 买电压力锅,美的,苏泊尔,九阳,这三款选哪一个好 电压力锅哪个牌子好用质量好 电压力锅怎么选 电压力锅安全吗? 哪种电压力锅最好 什么牌子的电压力锅质量好 买高压锅好还是电压力锅好? 哪个牌子电压力锅质量最好 电压力锅压力一般是多少 哪种电压力锅好