1

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

以下代码有效并向平台收费。

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。

4

4 回答 4

0

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

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

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

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

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

于 2018-02-01T04:24:14.723 回答
0

使用该destination参数,您可以通过平台的帐户创建费用。在这种情况下,平台将支付 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}
));

验证为已连接帐户,您可以直接在其上创建费用:

\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 绑定

于 2015-10-15T15:16:40.220 回答
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}",
  }
})

这是红宝石的工作解决方案。请参阅此链接以了解有关关联账户和平台账户之间资金流向的更多信息

于 2017-12-13T15:47:42.540 回答
-1

已修复:在这里为将来使用 Stripe 申请费的人发布答案,因为我在任何地方都找不到答案。

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

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

Stripe_Charge::create(
 array(
  "amount" => 10000,
  "currency" => "usd",
  "source" => $_POST['stripeToken'],
  "application_fee" => 1000   
 ), sk_test_#connectioncode'));
于 2015-10-14T18:40:17.460 回答