49 lines
1.8 KiB
PHP
49 lines
1.8 KiB
PHP
<?php
|
|
|
|
use Modules\Core\Payment\Drivers\OfflinePaymentDriver;
|
|
use Modules\Core\Payment\Pipelines\Cart\ApplyCashOnDeliveryFee;
|
|
|
|
return [
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Lunar payment types merged in by Boboko Core
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| These are merged into config('lunar.payments.types') so every app using
|
|
| boboko-core gets cash-on-delivery out of the box, without publishing
|
|
| Lunar's own config.
|
|
|
|
|
| 'payment_driver' is boboko-owned, alongside Lunar's own 'driver' key —
|
|
| the driver instance Modules\Core\Payment\Services\PaymentDriverResolver
|
|
| resolves via the container. 'capture_mode' ('pay' or 'authorize') is
|
|
| also boboko-owned — which contract method
|
|
| CheckoutService::initiatePayment() calls for this type. Kept on the
|
|
| same row as 'driver' rather than a second, separately-keyed map, so a
|
|
| type's full definition lives in one place.
|
|
|
|
|
*/
|
|
'types' => [
|
|
'cash-on-delivery' => [
|
|
'driver' => 'offline',
|
|
'payment_driver' => OfflinePaymentDriver::class,
|
|
'capture_mode' => 'pay',
|
|
'captured_status' => 'payment-offline',
|
|
'fee' => 0,
|
|
],
|
|
],
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Lunar cart pipeline additions
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Appended to config('lunar.cart.pipelines.cart') after ApplyShipping so
|
|
| the cash-on-delivery fee is added to the shipping total before the
|
|
| final Calculate step sums everything up.
|
|
|
|
|
*/
|
|
'cart_pipeline' => [
|
|
ApplyCashOnDeliveryFee::class,
|
|
],
|
|
];
|