我正在尝试对通过条纹费用发送的所有交易实施申请费。我创建了一个条带平台,并将一个帐户连接到它,但是每当我将费用添加到费用中时,它都不会出现在条带仪表板中。
以下代码适用于平台。
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。
答案 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'));