在范围内找不到工资单

本教程将介绍在范围内找不到工资单的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

在范围内找不到工资单 教程 第1张

问题描述

我正在使用本教程通过FireBase将我的应用程序与Stripe连接-

我找不到工资单。为什么会这样说,又该怎么理清呢?我只想使用Firebase将Stripe连接到我的应用程序。什么是工资单。我需要写一些表格吗?与其关联的其他代码应该是什么?我已附上错误的屏幕截图,并用粗体字母书写。

以下是错误的屏幕截图:-

现在,我的视图控制器是:-

import Stripe
import SwiftUI

class MyBackendModel: ObservableObject {
 let backendCheckoutUrl = URL(string: "Your backend endpoint")! // Your backend endpoint
 @Published var paymentSheet: PaymentSheet?//**Cannot find type 'PaymentSheet' in scope**
 @Published var paymentResult: PaymentSheetResult?//**Cannot find type 'PaymentSheet' in scope**

init() {
STPAPIClient.shared.publishableKey = 

"pk_test_51HmAsMFzRM1fSBZ2tTT1SxPxRBzParFfjm6s0aXD0F5dYLeOSVCKtiZ4lq0TGwJxPhHpsq6Hga7I0QzRWisPYMdj00bDxAMTKf"

 }

 func preparePaymentSheet() {
  // MARK: Fetch the PaymentIntent and Customer information from the backend
var request = URLRequest(url: backendCheckoutUrl)
request.httpMethod = "POST"
 let task = URLSession.shared.dataTask(with: request, completionHandler: { [weak self] (data, response, error) in
  guard let data = data,
  let json = try? JSONSerialization.jsonObject(with: data, options: []) as? [String : Any],
  let customerId = json["customer"] as? String,
  let customerEphemeralKeySecret = json["ephemeralKey"] as? String,
  let paymentIntentClientSecret = json["paymentIntent"] as? String,
  let self = self else {
  // Handle error
  return
}

  // MARK: Create a PaymentSheet instance
  var configuration = PaymentSheet.Configuration()
  configuration.merchantDisplayName = "Example, Inc."
  configuration.customer = .init(id: customerId, ephemeralKeySecret: customerEphemeralKeySecret)

  DispatchQueue.main.async {
 self.paymentSheet = PaymentSheet(paymentIntentClientSecret: paymentIntentClientSecret, configuration: configuration)
 }
 })
 task.resume()
  }

  func onPaymentCompletion(result: PaymentSheetResult) {
 self.paymentResult = result
}
  }

 struct CheckoutView: View {
  @ObservedObject var model = MyBackendModel()

var body: some View {
 VStack {
 if let paymentSheet = model.paymentSheet {
 PaymentSheet.PaymentButton(
paymentSheet: paymentSheet,
onCompletion: model.onPaymentCompletion
  ) {
  Text("Buy")
  }
  } else {
  Text("Loading…")
 }
if let result = model.paymentResult {
 switch result {
case .completed:
  Text("Payment complete")
 case .failed(let error):
  Text("Payment failed: (error.localizedDescription)")
 case .canceled:
Text("Payment canceled.")
}
}
}.onAppear { model.preparePaymentSheet() }
  }
 }

请帮帮我。我已经尝试了很长时间将我的应用程序连接到Stripe,但没有成功。我只想要我的客户ID。以同时在条带仪表板和其他信息上显示。

推荐答案

支付单是在条带21.5.0版中添加的。如果您使用的是低于此级别的条带版本,则会出现此错误。可以通过指定更高的部署目标并重新安装Pod来解决此问题。

好了关于在范围内找不到工资单的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。