如何在签证结帐中使用文本字段数据作为货币金额

How to use textfield data as currency amount in visa checkout

我无法在 visa 结账时使用 UITextfield 数据作为 currencyAmount。 我已将 CurrencyAmount 的变量设为 a 并将 itemMoney 文本设置为此变量。

我在我的代码中尝试的是:-

class ViewController: UIViewController {

@IBOutlet weak var itemMoney:UITextField!
@IBOutlet weak var lbl1:UILabel!
var a :Double = 0

@IBOutlet weak var checkoutButton:VisaCheckoutButton!
override func viewDidLoad() {
    super.viewDidLoad()

    a = Double(itemMoney.text!)!
    let purschaseInfo = PurchaseInfo(total: a, currency: .usd)
    purschaseInfo.reviewAction = .pay


    checkoutButton.onCheckout(purchaseInfo: purschaseInfo) { result in

        switch result.statusCode {
        case .success:
            print("Encrypted key: \(String(describing: result.encryptedKey))")
            print("Payment Data \(String(describing: result.encryptedPaymentData))")
            self.lbl1.text = "Payment sucessfull"
        case .userCancelled:
            print("Payment cancelled by user")
        default:
            break
    }
}

Error :- Argument labels '(_:)' do not match any available overloads

请帮帮我

您正在传递一个 Double,但我从规范中看到 PurchaseInfo 需要一个 CurrencyAmount 类型的对象(请参阅 [=14] 的 "Specifying payment details and launching Visa Checkout" 部分=]).

let total = CurrencyAmount(string: "1.00")
let purchaseInfo = PurchaseInfo(total: total, currency: .usd)