如何在Laravel中部分退款条纹付款

时间:2019-01-22 07:17:28

标签: laravel stripe-payments refund

我在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 :(得分:3)

在条纹documentation中,明确提到必须通过以下方式设置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'
]);

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

答案 1 :(得分:1)

因为您传递了错误的参数。更改:

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

收件人:

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