ios - 无法使用 Braintree iOS 呈现 dropIn UI

标签 ios braintree braintree-sandbox

我正在创建一个支付应用程序并使用 Braintree 来实现它。我想使用 Braintree dropIn UI。通过 pod 安装了 BraintreeDropIn。使用以下代码呈现 dropIn UI。

func showDropIn(clientTokenOrTokenizationKey: String) {
    let request =  BTDropInRequest()
    let dropIn = BTDropInController(authorization: clientTokenOrTokenizationKey, request: request)
    { (controller, result, error) in
        if (error != nil) {
            print("ERROR")
        } else if (result?.cancelled == true) {
            print("CANCELLED")
        } else if result != nil {
            // Use the BTDropInResult properties to update your UI
            // result.paymentOptionType
            // result.paymentMethod
            // result.paymentIcon
            // result.paymentDescription
        }
        controller.dismissViewControllerAnimated(true, completion: nil)
    }
    self.presentViewController(dropIn!, animated: true, completion: nil)
}

我从沙箱控制面板的Tokenization Keys下获得了tokenization key ,并将其传递给showDropIn函数。它仍然没有显示任何内容,没有进入这个函数

(BTDropInController(authorization: clientTokenOrTokenizationKey, request: request)
{ (controller, result, error))

最佳答案

尝试使用这个:

    func showDropIn(clientTokenOrTokenizationKey: String) {

        let request =  BTDropInRequest()
        let dropIn = BTDropInController(authorization: clientTokenOrTokenizationKey, request: request)
        { (controller, result, error) in
            if (error != nil) {
                print("ERROR")
            } else if (result?.cancelled == true) {
                print("CANCELLED")
            } else if result != nil {
                // Use the BTDropInResult properties to update your UI
                // result.paymentOptionType
                // result.paymentMethod
                // result.paymentIcon
                // result.paymentDescription
            }
         dispatch_async(dispatch_get_main_queue(), ^{
             controller.dismissViewControllerAnimated(true,   completion: nil)
     });
        }
          dispatch_async(dispatch_get_main_queue(), ^{
             self.presentViewController(dropIn!, animated: true, completion: nil)
     });
    }

希望这会起作用......!!

关于ios - 无法使用 Braintree iOS 呈现 dropIn UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41240551/

相关文章:

javascript - Braintree 托管字段的格式

paypal - Braintree 多币种

ios - 为各种 iPhone 屏幕尺寸动态调整 UICollectionView 单元格宽度的宽度

iphone - 在 iPhone TableView 单元格的单元格右侧添加小箭头

javascript - 关于验证错误的 Braintree

database-design - 如何将信用卡数据保存在数据库中?

ios - 如何使用 Swift、iOS 7 设置 rootViewController

ios - 检查互联网连接 - iOS 逻辑

paypal - 如何找到 Braintree 沙箱的 Paypal 沙箱凭据?

paypal - 如何在 Braintree Paypal 结帐中添加税费和运费