如何从 Braintree iOs SDK 中获取 nonce
Posted
技术标签:
【中文标题】如何从 Braintree iOs SDK 中获取 nonce【英文标题】:How to get nonce from Braintree iOs SDK 【发布时间】:2016-05-13 23:02:53 【问题描述】:我正在尝试从 Braintree 获取 nonce。我没有在以下文档中找到 Braintree 提供的有关如何从 Braintree SDK 获取 nonce 的任何文档。
https://developers.braintreepayments.com/start/hello-client/ios/v4
请告诉我
【问题讨论】:
【参考方案1】:全面披露:我在 Braintree 工作。如果您还有任何问题,请随时联系support。
获取随机数记录在您链接的页面的Presenting Drop-in UI section 中。一旦你激活了 Drop-in,你需要实现一个委托,以便 Drop-in 可以找到将它产生的 nonce 发送到哪里。如果没有指定的代表,您将不会从 Drop-in 收到随机数:
然后实现 BTDropInViewControllerDelegate 以在成功时获取付款方式随机数,并在任一情况下关闭 Drop In UI:
- (void)dropInViewController:(BTDropInViewController *)viewController
didSucceedWithTokenization:(BTPaymentMethodNonce *)paymentMethodNonce
// Send payment method nonce to your server for processing
[self postNonceToServer:paymentMethodNonce.nonce];
[self dismissViewControllerAnimated:YES completion:nil];
- (void)dropInViewControllerDidCancel:(__unused BTDropInViewController *)viewController
[self dismissViewControllerAnimated:YES completion:nil];
如果您查看第一个函数,您可以看到变量paymentMethodNonce
(类型:BTPaymentMethodNonce)被传递到您的应用程序中。此示例代码希望您有另一个函数 (postNonceToServer
) 来实际处理得到的 nonce。
【讨论】:
对于版本 4?没有代表的地方。 @Pedro.Alonso 新的 Braintree iOS Drop-in 接受一个完成回调,该回调返回一个BTDropInResult
对象,其中包含付款方式 nonce。 (披露:我在 Braintree 工作)
如何将付款方式nonce转换为nssting? @Richard Shin
@Jason BTPaymentMethodNonce
的 nonce
属性是 NSString
。
@Raymond Berg : BTDropInViewControllerDelegate 在最新的 SDK 中获取未解析的标识符【参考方案2】:
您可以使用 drop in 方法获取 Payment nonce 让 nonce = result.paymentMethod!.nonce
示例:-
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?.isCancelled == true)
print("CANCELLED")
else if let result = result
let nonce = result.paymentMethod!.nonce
print( nonce)
controller.dismiss(animated: true, completion: nil)
self.present(dropIn!, animated: true, completion: nil)
【讨论】:
以上是关于如何从 Braintree iOs SDK 中获取 nonce的主要内容,如果未能解决你的问题,请参考以下文章
我们可以在 BrainTree SDK 中获取测试卡来测试 ApplePay 吗?
Braintree iOS SDK 和 Card I/O iOS SDK 之间的冲突:架构 armv7 的重复符号
PayPal Checkout 直接使用 Braintree SDK - Swift