? ?BrainTree就不多做介紹,直接主題
前提?
從自己服務(wù)器獲取 token , 獲取后轉(zhuǎn)化為BTAPIClient類型的key 后進(jìn)行相關(guān)操作
1.ApplePay
? ? ?1,先按照正常的ApplePay來獲取相關(guān)的東西 直至- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller
didAuthorizePayment:(PKPayment *)payment
completion:(void (^)(PKPaymentAuthorizationStatus status))completion;方法后
? ? ? 2這里需要將payment發(fā)送到BrainTree的服務(wù)器獲取nonce來進(jìn)行扣款相關(guān)操作 發(fā)送到 BrainTree 的相關(guān)方法為:- (void)tokenizeApplePayPayment:(PKPayment *)payment completion:(void (^)(BTApplePayCardNonce *, NSError *))completionBlock;
? ? ? 3.然后將BrainTree的服務(wù)器獲取的nonce,以及amount 等相關(guān)數(shù)據(jù)發(fā)送至己方服務(wù)器進(jìn)行扣款, 這里需要與服務(wù)器方協(xié)商好參數(shù)以及返回類型.
? ? ? 4.證書相關(guān)操作: 需要在 braintree 下載加密文件,關(guān)聯(lián)自己的 ApplePay 證書(ApplePay 證書的創(chuàng)建以及關(guān)聯(lián)自行百度)下載位置如下圖:




如此配置就可以說是成功了,(圖三中"蘋果商戶證書"處 有多個的時候我暫時還不是很清楚他的選擇方式,因為暫時我只用到了一個,有知道的朋友可以告知一下) ? ? ? ? ? ??
ApplePay 到這里可以說是已經(jīng)配置完成,接下來需要注意的坑是支持地區(qū)以及銀行卡種類的問題,以及支付金額 ? 有問題的可以私信或者留言
2.信用卡付款
? ? ? ? ?這里我直接用的Drop-in UI (將里面的 paypalSDK 刪了 就只剩信用卡支付選項了 TUT)
? ? ? ? ?1.UI 以及調(diào)起方法如下圖


?共四個位置可以自己傳值,如圖所示,?
? ? 2.BTDropInViewController的 delegate 方法- (void)dropInViewController:(BTDropInViewController *)viewController didSucceedWithTokenization:(BTPaymentMethodNonce *)paymentMethodNonce; ?
? ? 3.將上個 delegate 方法返回的paymentMethodNonce.nonce ? 執(zhí)行同 ApplePay 中第三部操作.
總結(jié)
(BrainTree 付款的主要思想為: 1.從服務(wù)器獲取token, 所有相關(guān)操作都會根據(jù)從服務(wù)器獲取的token來執(zhí)行.? ? 2.所有的支付總的來說都是需要你獲取到payment_method_nonce才能進(jìn)行扣款. 3.獲取到payment_method_nonce后發(fā)送給服務(wù)器就好了 )
需要注意的幣種,地區(qū),交易金額可能會導(dǎo)致生產(chǎn)情況下交易失敗