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

生成用于测试的Stripe测试卡令牌

邵祺
2023-03-14

我在我的应用程序中使用Stripe。我想编写一个支付联调,检查Stripe是否已创建付款。我正在使用Stripe.js.

在我的测试中,我需要一个卡令牌来执行测试费用。通常,此令牌将在客户端生成条带.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...
}

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

共有3个答案

夏侯鹏
2023-03-14

Stripe在Stripe“令牌”API中提供代表各种卡品牌的预脚本令牌,尽管此方法已被弃用。

/** @test **/
public function it_creates_a_charge()
{
    $order = factory(Order::class)->create();
    $response = $this->post('charges/store', [
                'stripe_token' => "tok_visa",
                'order_id' => $order->id,
                //etc
                ]);
    // assertions...
}

2022年的文档从代币过渡,并使用类似但不同的“支付方法”api。有了这个,您可以使用预设的付款方式,例如pm_card_visa VISA卡。

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

使用这种方法会向您的API暴露更多的支付方式,例如ACH和国际银行卡,但它需要更新您的前端“Stripe Elements”或现在叫它什么的。

吴星汉
2023-03-14

您不再需要使用假信用卡创建代币进行测试。Stripe现在为此目的提供了一个预制代币列表:

条纹文档:测试卡号和令牌

常海
2023-03-14

Stripe提供了一个API调用,用于从服务器创建令牌:

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

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

编辑:Stripe现在提供现成的测试令牌,如https://stripe.com/docs/testing#cards.的< code>tok_visa

 类似资料:
  • 我想以编程方式从一组动态的URL和表单数据生成基本的Jmetm测试计划(不使用Jmetm GUI手动)。我可以使用Jmetm API来做到这一点吗? 它已经在某个地方解释过了吗? 我只需要点开始。 当然,我可以对测试计划XML格式进行逆向工程,然后编写我自己的自定义测试计划生成器,但这很容易出错,每当格式发生变化时,我的生成器都需要更新。

  • 英文原文:http://emberjs.com/guides/testing/integration/ 集成测试通常用来测试应用中得重要工作流。集成测试用来模拟用户交互和确认交互结果。 设置 为了对Ember应用进行集成测试,需要在测试框架中运行应用。首先需要将根元素(root element)设置为任意一个已知将存在的元素。如果根元素在测试运行时可见的话,这对测试驱动开发非常有用,带来的帮助非常

  • 概况 背景 当我们在写一些UI测试的时候,我们总需要到浏览器去看一下一些DOM的变化。比如,我们点击了某个下拉菜单,会有另外一个联动的下拉菜单发生了变化。而如果这个事件更复杂的时候,有时我们可能就很难观察出来他们之间的变化。 ShowCase Luffa Screenshot 源码见:https://github.com/phodal/luffa 基本原理 尽管这里的例子是以Jasmine作为例子

  • Spring对MockMvc有2个设置: 独立设置 WebApplication Context安装 一般来说,MockMvc用于哪种测试?单元还是集成?或者两者兼而有之? 使用独立设置(运行在Spring应用程序上下文之外)允许您编写单元测试,而使用WebApplication Context设置您可以编写集成测试,这是对的吗?

  • 问题内容: 我正在使用dotnet测试对dotnet核心库进行单元测试。我像这样在我的詹金斯奴隶上进行测试。 测试报告如下所示。 我在詹金斯(Jenkins)工作DSL中使用一个块来尝试阅读报告。 詹金斯似乎看到了这份报告。 记录测试结果 但这不是解析结果并将其合并到报告中。我在Jenkins构建仪表板上看不到测试报告。 有任何想法吗? 问题答案: 您可以使用以下管道代码来运行和发布dotnet核

  • 实际运行的时候这个插件是派不上用途的,但这个插件依然是非常重要的插件之一。因为每一个使用 ELK stack 的运维人员都应该清楚一个道理:数据是支持操作的唯一真理(否则你也用不着 ELK)。所以在上线之前,你一定会需要在自己的实际环境中,测试 Logstash 和 Elasticsearch 的性能状况。这时候,这个用来生成测试数据的插件就有用了! 配置示例 input { genera