Как сделать частичный возврат оплаты полосы в laravel - PullRequest
0 голосов
/ 22 января 2019

Я интегрировал полосу как платежный шлюз в моем приложении, разработанном в laravel. Я также могу сделать полный возврат средств, используя приведенный ниже код.

$stripe = Stripe::make('sk_test_******');
    $charge_id = Session::get('charge_id');
    $amount = Session::get('payment_amount');
    $refund = $stripe->refunds()->create(
         $charge_id
    );

Теперь я хочу разрешить администратору частичное возмещение средств клиенту из бэкэнда, я попробую ниже код для этого в соответствии с документами полосы.

$stripe = Stripe::make('sk_test_**********');
$charge_id = Session::get('charge_id');
$amount = Session::get('payment_amount');       
$refund = $stripe->refunds()->create([
    'charge' => $charge_id,
    'amount' => '5',
    'reason' => 'refund'
]);

Но я получил ошибку вроде Преобразование массива в строку . Может ли кто-нибудь помочь мне решить эту ошибку или сказать, что не так в этом коде.

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Потому что вы передаете неправильные параметры.Изменить:

$refund = $stripe->refunds()->create([
    'charge' => $charge_id,
    'amount' => '5',
    'reason' => 'refund'
]);

на:

$refund = $stripe->refunds()->create($charge_id, 5, ['reason' => 'refund']);
0 голосов
/ 22 января 2019

Из полосы документации четко указано, что вы должны установить APIKEY следующим образом

$stripe = new Stripe();
$stripe = Stripe::make('YOUR API KEY');

$charge_id = Session::get('charge_id');
$amount = Session::get('payment_amount');       
$refund = $stripe->refunds()->create( $charge_id,$amount, ['reason' => 'refund'
]);

Осторожно : Чтобы вернуть часть комиссии, укажите параметр суммы в виде целого числа в центах или наименьшей денежной единицы валюты оплаты в конкретной валюте, которую вы используете.

...