【问题标题】:Add Stripe Credit Card without Payment in SwiftUI在 SwiftUI 中添加无需付款的 Stripe 信用卡
【发布时间】:2021-07-23 04:50:54
【问题描述】:

我正在努力寻找一种不是 UIKit 或需要您购买的解决方案。

我的项目正在尝试将 Stripe 集成到 SwiftUI 中,使用 node.js Firebase 函数进行后端处理。

我在 UIViewRepresentable 中构建了一个 STPPaymentCardTextField。这使我可以通过 State 获取客户的信用卡详细信息。

@State var params: STPPaymentMethodCardParams = STPPaymentMethodCardParams()

SwiftUI 文本字段

StripePaymentCardTextField(cardParams: $params, isValid: $isValid)

然后我们可以构建 paymentMethodParms 之类的......

 let paymentMethodParams = STPPaymentMethodParams(card: params, billingDetails: billingDetails, metadata: nil)

现在我可以轻松地将信用卡详细信息传递到我的后端并使用手动添加卡

添加支付方式的功能

const createPaymentMethods = functions.https.onCall(async (data, context) => {
    const paymentMethod = await stripe.paymentMethods.create({
        customer: '{{CUSTOMER_ID}}',
        payment_method: '{{PAYMENT_METHOD_ID}}',
        }, {
            stripeAccount: '{{CONNECTED_STRIPE_ACCOUNT_ID}}',
        });
    
}

但我理解这是不好的做法。 我发现这篇文章可能是“重复的”,但却是最接近的相关答案。 Adding customer's Credit card info in stripe。然而,该用户正在使用 reactjs 并希望将信用卡详细信息存储在数据库中,我只想将其传递给 Stripe。

有没有办法可以将信用卡数据发送到 Stripe,取回 paymentMethod ID,然后将其传递给我的后端或其他什么?我已经解决了订阅和购买收费问题,如果不经过付款设置流程,我就无法设置信用卡。我希望用户在创建新帐户和/或在设置中手动添加信用卡。

【问题讨论】:

    标签: node.js google-cloud-firestore swiftui google-cloud-functions stripe-payments


    【解决方案1】:

    你能调用stripe-ios的createPaymentMethod()函数[0]吗?这是您的 SwiftUI 应用程序将调用的客户端函数,用于将卡详细信息从 paymentMethodParams 标记为 PaymentMethod 对象。然后,您可以将该 ID 服务器端传递给客户。

    [0]https://stripe.dev/stripe-ios/docs/Classes/STPAPIClient.html#/c:@CM@Stripe@objc(cs)STPAPIClient(im)createPaymentMethodWithPayment:completion:

    【讨论】:

      猜你喜欢
      • 2018-10-09
      • 1970-01-01
      • 1970-01-01
      • 2020-08-16
      • 2015-05-20
      • 1970-01-01
      • 2021-03-11
      • 2023-04-11
      • 2014-03-22
      相关资源
      最近更新 更多