Stripe соединяется с Auth и Capture, получая Charge в Php - PullRequest
0 голосов
/ 03 июля 2018

Я внедряю Stripe Connect с аутентификацией и Capture, и пока мне это удается, но когда я пытаюсь захватить аутентифицированную сумму, я не могу этого сделать. потому что 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?

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Я нашел решение, подобное этому.

$keystripe = \Stripe\Stripe::setApiKey('sk_test_C5uYX8juNRT9kTj9wj******');
$res = \Stripe\Charge::retrieve('ch_1CjkyXDye6RVcYt******', ["stripe_account" => "acct_xxx"]);
$re =  $res->capture(["application_fee" =>1000]);

с помощью этого я решил мою проблему

0 голосов
/ 03 июля 2018

В соответствии с документами , вы должны передать аргументы для захвата в функцию 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"));
...