FleetCart/Modules/Payment/Gateways/Stripe.php
2023-06-11 13:14:03 +01:00

39 lines
996 B
PHP

<?php
namespace Modules\Payment\Gateways;
use Stripe\PaymentIntent;
use Illuminate\Http\Request;
use Modules\Order\Entities\Order;
use Modules\Payment\GatewayInterface;
use Modules\Payment\Responses\StripeResponse;
class Stripe implements GatewayInterface
{
public $label;
public $description;
public function __construct()
{
$this->label = setting('stripe_label');
$this->description = setting('stripe_description');
\Stripe\Stripe::setApiKey(setting('stripe_secret_key'));
}
public function purchase(Order $order, Request $request)
{
$intent = PaymentIntent::create([
'amount' => $order->total->subunit(),
'currency' => setting('default_currency'),
]);
return new StripeResponse($order, $intent);
}
public function complete(Order $order)
{
return new StripeResponse($order, new PaymentIntent(request('paymentIntent')));
}
}