我正在使用auth和Capture实现Stripe Connect,到目前为止,我已经成功实现了该功能,但是当我尝试捕获经过身份验证的数量时,我无法这样做。因为stripe不允许我们将多个参数传递给 Stripe :: Retrieve 函数,但是它可以处理我开发的curl请求。如下。
curl https://api.stripe.com/v1/charges/ch_1CfTe5Dye6RVcYtHp*****/capture \
-u sk_test_C5uYX8juNRT9kTj******: \
-d application_fee=1000 \
-H "Stripe-Account: acct_1CNbqaDy*****" \
-X POST
这工作正常,但是当我尝试做同样的事情时,它给我一个我可以理解的未知参数错误bcoz Stripe :: Retrieve 不接受我正在尝试的其他参数像这样在PHP中完成
$stripe = array(
"secret_key" => "sk_test_C5uYX8juNRT9k********",
"publishable_key" => "pk_test_b2gp9tSHK9iP******"
);
$keystripe = \Stripe\Stripe::setApiKey($stripe['secret_key']);
$res = \Stripe\Charge::retrieve(array(
"id" =>"ch_1CfTe5Dye6RVcYtHp********",
"application_fee" => 1000),
array("stripe_account" => "acct_1CNbqaDy*****"));
$re = $res->capture();
有人可以建议我如何用PHP存档吗?
答案 0 :(得分:1)
我找到了像这样的解决方案。
$keystripe = \Stripe\Stripe::setApiKey('sk_test_C5uYX8juNRT9kTj9wj******');
$res = \Stripe\Charge::retrieve('ch_1CjkyXDye6RVcYt******', ["stripe_account" => "acct_xxx"]);
$re = $res->capture(["application_fee" =>1000]);
使用此功能,我已经解决了问题
答案 1 :(得分:0)
按照docs的规定,您应该将捕获参数传递给capture
函数,而不是retrieve
函数。这是一个两步过程,您可以通过调用retrieve
来获取充电对象,然后通过传递参数来捕获它。代码如下:
$charge = \Stripe\Charge::retrieve("ch_xxx", array("stripe_account" => "acct_xxx"));
$charge->capture(array(
"application_fee" => 1000
),array("stripe_account" => "acct_xxx"));