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 證書的創建以及關聯自行百度)下載位置如下圖:




如此配置就可以說是成功了,(圖三中"蘋果商戶證書"處 有多個的時候我暫時還不是很清楚他的選擇方式,因為暫時我只用到了一個,有知道的朋友可以告知一下) ? ? ? ? ? ??

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后發送給服務器就好了 )

需要注意的幣種,地區,交易金額可能會導致生產情況下交易失敗

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Apple Pay運行環境:iPhone6以上設備,操作系統最低iOS9.0以上,部分信息設置需要iOS9.2以上...
    cym_bj閱讀 5,145評論 3 7
  • Apple Pay運行環境:iPhone6以上設備,操作系統最低iOS9.0以上,部分信息設置需要iOS9.2以上...
    YYT1992閱讀 950評論 0 0
  • Apple Pay運行環境:iPhone6以上設備,操作系統最低iOS9.0以上,部分信息設置需要iOS9.2以上...
    Yasin的簡書閱讀 44,609評論 78 130
  • 本文為轉載文章,作者:Yasin Apple Pay運行環境:iPhone6以上設備,操作系統最低iOS9.0以上...
    iOS楊閱讀 695評論 0 2
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,937評論 18 139