iOS BrainTree Pay相关

   BrainTree就不多做介绍,直接主题

前提 

从自己服务器获取 token , 获取后转化为BTAPIClient类型的key 后进行相关操作

1.ApplePay

     1,先按照正常的ApplePay来获取相关的东西 直至- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller

didAuthorizePayment:(PKPayment *)payment

completion:(void (^)(PKPaymentAuthorizationStatus status))completion;方法后

      2这里需要将payment发送到BrainTree的服务器获取nonce来进行扣款相关操作 发送到 BrainTree 的相关方法为:- (void)tokenizeApplePayPayment:(PKPayment *)payment completion:(void (^)(BTApplePayCardNonce *, NSError *))completionBlock;

      3.然后将BrainTree的服务器获取的nonce,以及amount 等相关数据发送至己方服务器进行扣款, 这里需要与服务器方协商好参数以及返回类型.

      4.证书相关操作: 需要在 braintree 下载加密文件,关联自己的 ApplePay 证书(ApplePay 证书的创建以及关联自行百度)下载位置如下图:

iOS BrainTree Pay相关_第1张图片


iOS BrainTree Pay相关_第2张图片


iOS BrainTree Pay相关_第3张图片


iOS BrainTree Pay相关_第4张图片

如此配置就可以说是成功了,(图三中"苹果商户证书"处 有多个的时候我暂时还不是很清楚他的选择方式,因为暂时我只用到了一个,有知道的朋友可以告知一下)             

ApplePay 到这里可以说是已经配置完成,接下来需要注意的坑是支持地区以及银行卡种类的问题,以及支付金额   有问题的可以私信或者留言

2.信用卡付款

         这里我直接用的Drop-in UI (将里面的 paypalSDK 删了 就只剩信用卡支付选项了 TUT)

         1.UI 以及调起方法如下图


iOS BrainTree Pay相关_第5张图片
iOS BrainTree Pay相关_第6张图片

 共四个位置可以自己传值,如图所示, 

    2.BTDropInViewController的 delegate 方法- (void)dropInViewController:(BTDropInViewController *)viewController didSucceedWithTokenization:(BTPaymentMethodNonce *)paymentMethodNonce;  

    3.将上个 delegate 方法返回的paymentMethodNonce.nonce   执行同 ApplePay 中第三部操作.


总结

(BrainTree 付款的主要思想为: 1.从服务器获取token, 所有相关操作都会根据从服务器获取的token来执行.    2.所有的支付总的来说都是需要你获取到payment_method_nonce才能进行扣款. 3.获取到payment_method_nonce后发送给服务器就好了 )

需要注意的币种,地区,交易金额可能会导致生产情况下交易失败

你可能感兴趣的:(iOS BrainTree Pay相关)