测试Stripe的PaymentIntent的手动确认

时间:2019-09-05 11:16:08

标签: stripe-payments

我正在尝试使用Elements及其API为新的SCA Stripe集成编写测试。我一直在测试PaymentIntent的手动确认。

我能够创建 PaymentIntent 。通常,它返回一个client_secret,然后将其与Stripe.js handleCardAction()一起使用,然后返回一个 PaymentIntent id,我可以使用PaymentIntent::retrieve()进行确认。

由于我的测试是在PHP端运行的,因此无法触发handleCardAction(),如果我跳过该步骤并使用client_secret,则会出现此异常:

  

Stripe \ Exception \ InvalidRequestException:没有这样的付款意图:pi_1FFIp5HU59FHbUqraBNXk9Br_secret_agKRuHJx4y83RFnjpKkGmd29W

如何在不使用Stripe.js的情况下获得准备好进行确认的 PaymentIntent ID?

1 个答案:

答案 0 :(得分:0)

显然我可以使用

        $intent = PaymentIntent::create([
            'payment_method'        => 'pm_card_threeDSecure2Required',
            'amount'                => 1000,
            'currency'              => 'USD',
            'description'           => 'blabla',
            'confirmation_method'   => 'manual',
            'confirm'               => true,
        ]);

        // $intent->id can be used with PaymentIntent::retrieve()