当前位置: 首页 > 知识库问答 >
问题:

使用有效的支付方式重试后,条带订阅发票仍保持未结状态

盖绪
2023-03-14

我正在使用stripe-php库实现stripe订阅,遵循这个https://stripe.com/docs/billing/subscriptions/fixed-price文档

使用失败的付款方式模拟客户订阅,在发票状态打开的情况下成功生成条带订阅对象。

问题是在我的后端实现重试发票时,我的代码如下:

        // retrieve new payment method (valid one)
        $payment_method = \Stripe\PaymentMethod::retrieve (
            $request->paymentMethodId
        );

        // attach customer to payment method
        $payment_method->attach([
            'customer' => $request->customerId,
        ]);

        // update customer default payment method
        \Stripe\Customer::update($request->customerId, [
            'invoice_settings' => [
                'default_payment_method' => $request->paymentMethodId
            ]
        ]);

        // retrieve invoice object
        $invoice = \Stripe\Invoice::retrieve($invoiceId, [
            'expand' => ['payment_intent']
        ]);

在stripe dashboard上,客户默认付款方式已成功更新为最新的付款方式(有效卡),但订购发票仍保持未结状态。

请帮忙,有人也面临这个问题吗?恐怕我错过了条纹文档的一些步骤。

共有1个答案

储仲渊
2023-03-14

如评论中所述;附加新的PaymentMehod不会重新尝试付款。

你需要:

  • 将客户重定向到您站点的结账页面(允许客户输入付款详细信息并完成订单的页面),
  • 但这一次,不是创建一个新的PaymentIntent,而是将发票PaymentIntent
  • 然后使用(所述结账页面的)JavaScript,调用Stripe。js'stripe.confirmCardPayment(…)方法

请注意,SetupIntent方法可能不需要上述内容,这对订阅很有用,并允许所谓的“会话外”支付。

 类似资料:
  • 使用签出订阅时,条带文档说明要监视的最小事件类型为: -收到checkout.session.completed事件时,可以预配订阅。 -付款成功时发送每个计费间隔。 -如果客户的付款方式有问题,则发送每个计费间隔。 收到checkout.session.completed事件时,可以预配订阅。继续提供每月(如果每月计费),因为您收到invoice.paid事件。如果收到invoice.payme

  • 我正在用作曲家实例化条纹,并试图在测试模式下使用卡号4000 0000 0000 0341订阅客户订阅计划。留档表示这将被接受,但在用于创建订阅时抛出一个错误。我的问题是,为什么创建订阅步骤总是以这个卡号返回成功? 我的收费代码是 还有我的订阅。php是

  • 我创建了https://stripe.com/docs/billing/subscriptions/elements中描述的订阅,但现在我想让用户选择更改订阅计划并使用另一种支付方式,例如3d Secure卡。但是,如果我更新订阅以获取新的支付意图的客户端机密,如下所示: 订阅的与订阅相同,这意味着订阅已被处理。Stripe“confirm card”API抛出错误https://stripe.c

  • 首先使用stripe验证信用卡,然后生成令牌并创建客户。我们将把代币而不是信用卡信息保存在数据库中,以后我们将根据代币或客户而不是信用卡信息向客户付款。 在javscript文件中,我们如何处理和? 因为我们已经使用 1-通过验证信用卡信息保存令牌,在这种情况下不涉及支付。金额/价格将为零(0)。 2-将此内标识保存在数据库中,但此内标识只使用一次,使用次数不多。如果以后再使用此内标识,将不起作用

  • 审批通过的个人支付报销单,可统一在管理后台开具发票,用一张发票整合所有行程,方便管理。 操作说明 1.管理员登陆滴滴企业版管理后台,进入侧边栏“发票管理”页面; 2.切换至“员工支付的发票”页面; 3.选择待开发票行程、发票形式、发票抬头,并填写发票备注及收件人信息。填写完成后点击“开发票”按钮; 4.确认信息无误后,点击“确认开票”即可。 发票管理操作手册

  • 问题内容: 每当我打开应用程序时,我都想检查自动续订订阅状态。 这是为了确保用户仍订阅了该服务。我该如何实现? 有什么想法吗?谢谢 PS:我正在使用 问题答案: 这是几种进行收据验证的方法,以检查是否已将用户授予订阅。这是正确执行此操作的两种方法: 如此处所写,在本地进行收据验证。 远程执行收货验证,因为它是写在这里。提到不应将收据发送到应用程序内的App Store。简短的摘要: 您的应用会将收