Ios 如何从braintree付款中获取卡号?

Ios 如何从braintree付款中获取卡号?,ios,swift4,braintree,braintree-sandbox,Ios,Swift4,Braintree,Braintree Sandbox,我正在为我的项目使用braintree pod,它在获得nonce后运行良好。但是我想检索卡片图标和卡号的数字 如何获取imageView中的卡图标和UILabel中的卡号 我用了两个吊舱文件 pod 'BraintreeDropIn' pod 'BraintreeDropIn/UIKit' 我正在使用braintree文档中提供的这个函数 func showDropIn(clientTokenOrTokenizationKey: String) { let request =

我正在为我的项目使用braintree pod,它在获得nonce后运行良好。但是我想检索卡片图标和卡号的数字

如何获取imageView中的卡图标和UILabel中的卡号

我用了两个吊舱文件

pod 'BraintreeDropIn'
pod 'BraintreeDropIn/UIKit'
我正在使用braintree文档中提供的这个函数

func showDropIn(clientTokenOrTokenizationKey: String) {
        let request =  BTDropInRequest()

        //BTUIKAppearance.darkTheme()
        //BTUIKAppearance.sharedInstance().primaryTextColor = UIColor.green

        let dropIn = BTDropInController(authorization: clientTokenOrTokenizationKey, request: request)
        { (controller, result, error) in
            if (error != nil) {
                print("ERROR : \(error.debugDescription)")
            } else if (result?.isCancelled == true) {
                print("CANCELLED")
            } else if let result = result {
                // Use the BTDropInResult properties to update your UI
                //result.paymentOptionType
                //result.paymentMethod
                //result.paymentIcon
                //result.paymentDescription

                if let outPut = result.paymentMethod {
                    print("\nNonce : \(outPut.nonce)")

                    self.paymentNonce = outPut.nonce
                    self.paymentCardType = result.paymentDescription.description

                }
            }
            controller.dismiss(animated: true, completion: nil)
        }
        self.present(dropIn!, animated: true, completion: nil)
    }
充分披露:我在Braintree工作。如果您有任何进一步的问题,请随时联系

现在,Braintree的iOS SDK不会在结果中返回卡片品牌图标。但是,在属性中包含卡品牌图标的中返回图像URL。您可以查看如何在Swift中显示图像URL。或者,在返回nonce时,客户端上也可以使用

出于PCI合规性原因,如果您使用的是Drop-in UI,则不会向商户公开完整的卡号。相反,如果您将付款方式转换为
btcardnoce
,iOS SDK将提供数字。有很多关于铸造的好信息。尽管目标是C,一个例子是:

BTCardNonce *cardNonce = (BTCardNonce*)result.paymentMethod;
或者,您可以从事务响应对象获取一个类似于图像URL的URL


已编辑:更新了用于将图像URL添加到Swift 4的链接

如何在Swift 4中获取它(在事务响应对象中返回图像URL)?如果将结果强制转换为BTCardNonce,iOS SDK将提供最后两位数字-但如何??你能给我确切的文档或代码片段吗?很抱歉:我想将付款方式转换为
btcardnoce
。我已经更新了我的答案,并在Swift中添加了一个使用图像URL的链接。该链接将您发送到Swift 3文档,因此如果有人找到Swift 4,那就太好了!下面是关于如何在Swift 4中从远程URL加载图像的要点。否-如回答中所述,iOS SDK不返回卡品牌图标。只有事务响应对象。我认为,对于一些与代码无关的问题,您应该联系Braintree的技术支持部门