生成条带测试卡令牌以进行测试

har*_*ryg 17 php stripe-payments

我在我的应用程序中使用Stripe.我想编写一个集成测试,用于放置支票,检查Stripe是否创建了付款.我正在使用Stripe.js.

在我的测试中,我需要一个卡片令牌来执行测试费用.通常,此令牌将在客户端生成带有stripe.js并在请求中发送以执行计费.由于这只是服务器端测试,我可以通过某种方式在测试中生成令牌吗?

作为参考,测试将是这样的(使用PHP,但原理是相同的):

/** @test **/
public function it_creates_a_charge()
{
    $order = factory(Order::class)->create();
    $stripe_token = Stripe::generateToken([
                                          'card' => '4242424242424242'
                                          'exp'  => '04/2017',
                                          'cvc'  => '123'
                                          ]); // does not exist afaik

    $response = $this->post('charges/store', [
                'stripe_token' => $stripe_token,
                'order_id' => $order->id,
                //etc
                ]);

    // assertions...
}
Run Code Online (Sandbox Code Playgroud)

基本上我在问Stripe API中是否有允许生成服务器端令牌的东西.

cee*_*yoz 23

Stripe提供API调用以从服务器创建令牌:

\Stripe\Stripe::setApiKey("sk_test_BQokikJOvBiI2HlWgH4olfQ2");

\Stripe\Token::create(array(
  "card" => array(
    "number" => "4242424242424242",
    "exp_month" => 1,
    "exp_year" => 2017,
    "cvc" => "314"
  )
));
Run Code Online (Sandbox Code Playgroud)

  • 下面是新的答案,其中包含新鲜出炉的预烘焙代币! (3认同)
  • @pztrick 我已将其编辑为答案,因为 OP 似乎不太可能回来修改他们的接受决定。 (2认同)

Lit*_*ime 17

您不需要使用伪造的信用卡创建令牌以进行测试.Stripe现在为此提供了一个预制令牌列表:

Stripe docs:测试卡号和令牌

  • 这应该是公认的答案,非常感谢! (3认同)