Я написал код для интеграции класса Plipe Paymentssheet в моем коде. Платежи работают нормально, когда я использую схему отладки на моем XCode. Но это вообще не работает над сборками Testflight. По схеме выпуска (TestFlight Builds) платежный лист открывается на мгновение, но закрывается самостоятельно с кодом ошибки 51, но это отлично работает с режимом схемы отладки на Scode, я не могу установить опубликованный ключ в AppDelegate, поскольку у меня есть несколько географии для поддержки, а опубликованный ключ поступает из API. Для цели тестирования я хочу, чтобы у меня были тестовые ключи. Но это < /p>
class StripePaymentsManager {
var paymentSheet: PaymentSheet?
weak var delegate: StripePaymentsManagerProtocol?
func presentNativePaymentsSheet(withUserSubsId: String?) {
let topVC = AppHelper.getTopViewController() ?? UIViewController()
paymentSheet?.present(from: topVC) { paymentResult in
var status: Bool = false
switch paymentResult {
case .completed:
status = true
case .canceled:
status = false
case .failed(let error):
print("Debug Payment failed: \(error)")
status = false
}
self.delegate?.didCompleteTransaction(WithStatus: status, userSubscriptionId: withUserSubsId)
}
}
func processBVPayments(productType: String, planIds: [String]) {
var params: [String : Any] = [:]
self.delegate?.beginLoader()
params["email"] = UserHandler.shared.userEmail ?? ""
params["product_type"] = productType
params["plan_id"] = planIds
AppAPIHandler.shared().POST(withAPIEndpoint: StripePayementsEndpoint.paymentsInitiate.rawValue, getParams: nil, postParams: params, shouldHandleErrorAutomatically: false) { (status, data) in
guard let data = data else {return}
switch status {
case .success:
DispatchQueue.main.async {
let dataModel = try? JSONDecoder().decode(StripePaymentsIntentAPIModel.self, from: data)
print("debug dataModel:",dataModel?.data?.paymentIntentID, dataModel?.data?.publishableKey )
guard let paymentIntentClientSecret = dataModel?.data?.paymentIntentID,
let publishableKey = dataModel?.data?.publishableKey,
let applePay = dataModel?.data?.applePay,
let userSubscriptionId = dataModel?.data?.userSubscriptionID else { return }
STPAPIClient.shared.publishableKey = publishableKey
// StripeAPI.defaultPublishableKey = publishableKey
// Stripe.setDefaultPublishableKey(publishableKey)
var configuration = PaymentSheet.Configuration()
configuration.merchantDisplayName = "XYZ, Inc."
if let merchantId = applePay.merchantId, let merchantCountryCode = applePay.merchantCountryCode {
configuration.applePay = .init(merchantId: merchantId, merchantCountryCode: merchantCountryCode, buttonType: .plain, paymentSummaryItems: nil, customHandlers: nil)
}
configuration.allowsDelayedPaymentMethods = false
self.paymentSheet = PaymentSheet(
paymentIntentClientSecret: paymentIntentClientSecret,
configuration: configuration
)
DispatchQueue.main.asyncAfter(deadline: .now() + 6) {
self.delegate?.endLoader()
self.presentNativePaymentsSheet(withUserSubsId: String(format: "%.0f", userSubscriptionId ?? 0))
}
}
default:
self.delegate?.endLoader()
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... ght-builds
Интеграция полосы не работает в строительствах Testflight ⇐ IOS
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Fastapi и vue интегрируют полосы платежей, могу ли я отказаться от элементов полосы?
Anonymous » » в форуме Python - 0 Ответы
- 30 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Fastapi и vue интегрируют полосы платежей, могу ли я отказаться от элементов полосы?
Anonymous » » в форуме Python - 0 Ответы
- 42 Просмотры
-
Последнее сообщение Anonymous
-
-
-
FastAPI и vue интегрируют полосы платежей, могу ли я отказаться от элементов полосы?
Anonymous » » в форуме Python - 0 Ответы
- 25 Просмотры
-
Последнее сообщение Anonymous
-