首页 文章

条纹费用申请费

提问于
浏览
1

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

以下代码适用于平台 .

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 回答

  • -1

    使用 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_ 开头) .

    如果第二个样本没有't work for you, you might want to make sure you'使用最新版本的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检索此信息 . ”

  • 0

    修正:在这里为未来使用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'));
    

相关问题