条纹费用申请费

时间:2015-10-14 16:59:01

标签: stripe-payments stripe-connect

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

以下代码适用于平台。

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 个答案:

答案 0 :(得分: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(以{{开头) 1}})。

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

答案 1 :(得分: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以了解有关关联帐户和平台帐户之间资金流动的更多信息

答案 2 :(得分:0)

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

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

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

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

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

答案 3 :(得分:-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'));