条纹费用申请费

问题描述 投票:1回答:4

我正在尝试对通过条纹收费发送的所有交易实施申请费。我创建了一个条带平台,并将一个帐户连接到它,但每当我将费用添加到费用时,它就不会出现在条带仪表板中。

以下代码适用于平台。

Stripe::setApiKey("sk_test_#platformcode");

Stripe_Charge::create(
 array(
  "amount" => 10000,
  "currency" => "usd",
  "source" => $_POST['stripeToken'],      
 ));

此代码也有效。它将全部费用发送到连接的帐户,并向平台收取条带费。

Stripe::setApiKey("sk_test_#platformcode");

Stripe_Charge::create(
 array(
  "amount" => 10000,
  "currency" => "usd",
  "source" => $_POST['stripeToken'],
  "desitnation" => 'acct_#connectedaccountid'     
 ));

但是,即使它来自条纹网站,以下也不起作用。

Stripe::setApiKey("sk_test_#platformcode");

Stripe_Charge::create(
 array(
  "amount" => 10000,
  "currency" => "usd",
  "source" => $_POST['stripeToken'],
  "application_fee" => 1000   
 ),array("stripe_account" => 'acct_#connectedaccountid'));

此代码返回并告诉网站付款已经完成,但是当我检查条纹时,它从未在任何一个帐户中存在而不是在收取的费用中。

更多信息:令牌使用平台的pk_test#platformcode。

stripe-payments stripe-connect
4个回答
0
投票

使用destination参数可以创建一个充电through the platform's account。在这种情况下,平台将支付Stripe的费用,并负责退款和退款。

\Stripe\Stripe::setApiKey({PLATFORM_SECRET_KEY});
\Stripe\Charge::create(array(
  'amount' => 10000,
  'currency' => 'usd',
  'application_fee' => 1000,
  'source' => $_POST['stripeToken'],
  'destination' => {CONNECTED_STRIPE_ACCOUNT_ID}
));

Authenticating as the connected account,你可以创建一个充电directly on it

\Stripe\Stripe::setApiKey({PLATFORM_SECRET_KEY});
\Stripe\Charge::create(
  array(
    'amount' => 10000,
    'currency' => 'usd',
    'application_fee' => 1000,
    'source' => $_POST['stripeToken']
  ),
  array('stripe_account' => {CONNECTED_STRIPE_ACCOUNT_ID})
);

在这两个例子中,{PLATFORM_SECRET_KEY}是平台的秘密API密钥(以sk_开头),{CONNECTED_STRIPE_ACCOUNT_ID}是连接帐户的ID(以acct_开头)。

如果第二个样本不适合您,您可能需要确保使用最新版本的Stripe PHP bindings


0
投票

您应该收取与此类似的目的地费用

Stripe.api_key = "sk_test_BQokikJOvBiI2HlWgH4olfQ2"

charge = Stripe::Charge.create({
  :amount => 1000,
  :currency => "usd",
  :source => "tok_visa",
  :destination => {
    :amount => 877,
    :account => "{CONNECTED_STRIPE_ACCOUNT_ID}",
  }
})

这是红宝石的有效解决方案。请参阅此link以了解有关关联帐户和平台帐户之间资金流动的更多信息


0
投票

通常,条纹支持这种情况下的申请费。该服务不直接收取费用。当客户使用使用条带进行交易的服务(或主机站点)向另一个客户汇款时,应该存在两种费用。

条纹产生第一种费用。为服务(主机站点)产生另一种费用。

这样服务(主机站点)就可以从客户那里获利。

首先,我建议你查看这个网址:https://stripe.com/docs/connect/direct-charges

并且它说:“直接在连接帐户上创建的费用仅在该帐户上报告;它们不会显示在您平台的仪表板,导出或其他报告中,但您始终可以通过API检索此信息。”


-1
投票

修正:在这里为未来使用Stripe申请费的人发布答案,因为我无法在任何地方找到答案。

代码如下。但主要问题是您不应该使用连接帐户ID。您应该使用将帐户连接在一起时生成的sk_test_#code#。它不是平台或连接用户sk_test_#code#。当用户与条带平台连接时,它是由Oauth生成的代码。代码也有修改。

Stripe::setApiKey("sk_test_#platformcode");

Stripe_Charge::create(
 array(
  "amount" => 10000,
  "currency" => "usd",
  "source" => $_POST['stripeToken'],
  "application_fee" => 1000   
 ), sk_test_#connectioncode'));
© www.soinside.com 2019 - 2024. All rights reserved.