ios – (Swift) Stripe Apple Pay Cost not accomplished


Attempting to setup Stripe apple pay in my challenge, however maintain operating into “fee not accomplished” as seen right here:

The place I am calling the fee mannequin

if backendModel.paymentIntentParams != nil {
    PaymentButton() { cartCost, whole: totalCost, clientSecret: backendModel.paymentIntentParams?.clientSecret, pi: backendModel.paymentIntentParams?.stripeId)
    .padding([.horizontal, .bottom])

Apple Pay Mannequin

    func pay(quantity: Double, whole: Double, clientSecret: String?, pi: String?) {
        self.clientSecret = clientSecret
        self.pi = pi
        // Configure our Apple Pay fee request
        let paymentRequest = StripeAPI.paymentRequest(withMerchantIdentifier: "service", nation: "US", forex: "usd")
        paymentRequest.requiredBillingContactFields = [.postalAddress]
        paymentRequest.requiredShippingContactFields = []
        paymentRequest.paymentSummaryItems = [
            PKPaymentSummaryItem(label: "Subtotal", amount: NSDecimalNumber(value: amount)),
            PKPaymentSummaryItem(label: "Delivery Fee + Taxes", amount: NSDecimalNumber(value: 5.00)),
            PKPaymentSummaryItem(label: "Total", amount: NSDecimalNumber(value: total))
        // Current apple pay context
        let applePayContext = STPApplePayContext(paymentRequest: paymentRequest, delegate: self)
    func applePayContext(_ context: STPApplePayContext, didCreatePaymentMethod paymentMethod: STPPaymentMethod, paymentInformation: PKPayment, completion: @escaping STPIntentClientSecretCompletionBlock) {
        // fee methodology was created -> verify PaymentIntent
        if (self.clientSecret != nil) {
            // name the completion block with the shopper secret
            completion(clientSecret, nil)
        } else {
            completion(nil, NSError())
    func applePayContext(_ context: STPApplePayContext, didCompleteWith standing: STPPaymentStatus, error: Error?) {
        // get the fee standing or error
        self.paymentStatus = standing
        self.lastPaymentError = error
        if standing == .success {
            print("Cost success!")


Leave a Reply