gpt4 book ai didi

stripe-payments - 使用 Stripe + 格子图案创建 ACH 费用 - 没有这样的 token ;实时模式下存在类似的对象

转载 作者:行者123 更新时间:2023-12-04 17:18:37 25 4
gpt4 key购买 nike

我之前在开发模式下尝试对实时卡/客户收费时遇到过这个问题。我之前从未使用 Stripe 进行过 ACH 充电,而且我肯定处于开发模式。
https://stripe.com/docs/ach#integrating-plaid

js

var linkHandler = Plaid.create({
env: 'tartan',
clientName: 'Stripe / Plaid Test',
key: '[Plaid key]',
product: 'auth',
selectAccount: true,
onSuccess: function(public_token, metadata) {
// Token & Account ID - I use this for subsequent cURL requuest
console.log('public_token: ' + public_token);
console.log('account ID: ' + metadata.account_id);
},
});

// Trigger the Link UI
document.getElementById('linkButton').onclick = function() {
linkHandler.open();
};

响应有效。我使用上面的 public_token 和帐户 ID:
    $data = array(
'client_id' => 'MY_CLIENT_ID',
'secret' => 'MY_SECRET',
'public_token' => 'MY_PUBLIC_TOKEN_FROM_ABOVE',
'account_id' => 'MY_ACCOUNT_ID_FROM_ABOVE'
);


$string = http_build_query($data);

//initialize session
$ch=curl_init("https://tartan.plaid.com/exchange_token");

//set options
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

//execute session
$keys = curl_exec($ch);
$keys = json_decode($keys);
//close session
curl_close($ch);

这也会产生一个有效的响应对象:
{
access_token: 'MY_ACCESS_TOKEN',
account_id: 'MY_ACCOUNT_ID',
stripe_bank_account_token: 'MY_STRIPE_BANK_ACCOUNT'
}

我想这就是我混淆的地方。文档说:
响应将包含经过验证的 Stripe 银行帐户 token ID。您可以将此 token 附加到 Stripe Customer 对象,或直接在其上创建费用。

但是,当我像这样在银行帐户 token 上创建费用时:
    \Stripe\Stripe::setApiKey("sk_test_MY_TEST_KEY");

$charge = \Stripe\Charge::create(array(
"amount" => 2100,
"currency" => "usd",
"source" => $keys->stripe_bank_account_token, //(btok_MY_TOKEN_FROM_ABOVE)
"description" => "my description"
));

var_dump( $charge );

我得到的错误是: fatal error :未捕获的异常 'Stripe\Error\InvalidRequest' 带有消息 'No such token: btoken_MY_BANK_TOKEN;实时模式中存在类似的对象,但使用测试模式 key 来发出此请求。

最佳答案

这意味着您创建了一个真实的银行账户 token 。

如果要测试集成,则需要使用以下凭据生成 Plaid token :

  • 用户名:test_plaid
  • 密码:test_good
  • 代码:1234

  • 这将返回一个测试银行帐户 token ,您可以在与 Stripe 测试 secret API key ( sk_test_... ) 一起发送的 API 请求中使用该 token 。

    如果您想处理实时收费,那么您需要使用 Plaid 链接中的真实凭证来获取真实的银行账户 token ,然后在与您的 Stripe 实时 secret API key ( sk_live_...) 一起发送的 API 请求中使用银行账户 token 。 )。

    关于stripe-payments - 使用 Stripe + 格子图案创建 ACH 费用 - 没有这样的 token ;实时模式下存在类似的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40489988/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com