【问题标题】:Making test transactions in an activated stripe account在激活的条带帐户中进行测试交易
【发布时间】:2017-06-12 05:26:25
【问题描述】:

我有一个已激活的独立账户,它正在接受实时交易并连接到平台条带账户。我在下面给出了我用于接受实时付款的代码。

 \Stripe\Stripe::setApiKey("LIVE_PLATFORM_API_KEY");
 $strtok = \Stripe\Token::create(
             array(
              "card" => array(
                      "number" => $cardnumber,
                      "exp_month" => $cardexpmonth,
                      "exp_year" => $cardexpyear,
                      "cvc" => $creditcardcvv
                  )
                ),
                array('stripe_account' => "live_account_header")
              );
 $strtoken = $strtok->id;
 $charge = \Stripe\Charge::create(array(
                  'amount' => $amts,
                  'currency' => 'usd',
                  'application_fee' => $appfee,
                  'source' => $strtoken
            ), array('stripe_account' => "live_account_header"));

我想在我的代码中设置一个调试模式,该模式将使用条带测试密钥来接受测试事务,即使条带独立帐户和平台帐户都已激活并处于实时模式。我想要在调试而不是进行实时事务时应该使用的条带调用。我的意思是,当我突然想要进行测试交易而不是实时交易时,我应该如何更改上述代码并使用测试密钥,即使平台和独立帐户都已激活并生效?

【问题讨论】:

    标签: stripe-payments stripe-connect stripe.net


    【解决方案1】:

    交易是在测试模式还是实时模式下处理,完全取决于您使用的 API 密钥集。如果您使用测试 API 密钥,事务将在测试模式下处理。如果您使用实时 API 密钥,交易将在实时模式下处理。

    所以你需要做的是根据你可以触发的一些条件来决定你要使用哪一组键。

    基本上,您需要替换它:

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

    类似这样的:

    if ($test_condition) {
        \Stripe\Stripe::setApiKey("TEST_PLATFORM_API_KEY");
    } else {
        \Stripe\Stripe::setApiKey("LIVE_PLATFORM_API_KEY");
    }
    

    请记住,您还需要在前端代码中使用测试可发布密钥(用于使用 CheckoutElements 创建令牌)——如果令牌是使用实时密钥不起作用。

    在您提供的示例代码中,您从后端代码(通过\Stripe\Token::create(...))创建令牌。这意味着您的服务器直接提供卡数据。这在测试时很好,但在实时模式下,应始终通过 Checkout 或 Elements 在前端创建令牌。否则,您将不再有资格获得PCI SAQ A,并且需要对您的解决方案进行 PCI 合规性审核。

    【讨论】:

    • 账户头呢?我可以使用相同的真实账户标题吗?我的意思是在我的条带调用中,我是否必须以某种方式获取测试帐户标头并将 array('stripe_account' => "live_account_header") 替换为 array('stripe_account' => "test_account_header")
    • 不,您可以在真实账户上发出测试请求,因此您可以在两种情况下使用相同的账户 ID。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-31
    • 1970-01-01
    • 2013-06-10
    • 1970-01-01
    • 1970-01-01
    • 2018-12-09
    • 1970-01-01
    相关资源
    最近更新 更多