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 证书的创建以及关联自行百度)下载位置如下图:
如此配置就可以说是成功了,(图三中"苹果商户证书"处 有多个的时候我暂时还不是很清楚他的选择方式,因为暂时我只用到了一个,有知道的朋友可以告知一下)
ApplePay 到这里可以说是已经配置完成,接下来需要注意的坑是支持地区以及银行卡种类的问题,以及支付金额 有问题的可以私信或者留言
2.信用卡付款
这里我直接用的Drop-in UI (将里面的 paypalSDK 删了 就只剩信用卡支付选项了 TUT)
1.UI 以及调起方法如下图
共四个位置可以自己传值,如图所示,
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后发送给服务器就好了 )
需要注意的币种,地区,交易金额可能会导致生产情况下交易失败