-1

我在 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'
]);

但我得到了像数组到字符串转换这样的错误。谁能帮我解决这个错误或告诉我这段代码有什么问题。

4

2 回答 2

4

从条带 文档中,清楚地提到您必须按以下方式设置 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'
]);

注意:要退还部分费用,请提供金额参数,以整数为单位,以美分为单位或您使用的特定货币的费用货币的最小货币单位。

于 2019-01-22T08:20:18.867 回答
1

因为你传递了错误的参数。改变:

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

至:

$refund = $stripe->refunds()->create($charge_id, 5, ['reason' => 'refund']);
于 2019-01-22T10:52:04.137 回答