payum/payum-laravel. Requires manual service registration (e.g., PayumBuilder in Laravel’s service container).capture, refund, notify, status, cancel), but missing advanced features (e.g., recurring, mcpData) may require custom extensions.PayumBundle simplifies integration (YAML config + service wiring).PayumBuilder in AppServiceProvider).CaptureAction) if not using a Laravel-Payum bridge.recurring payments or mcpData may require custom Payum extensions or API workarounds.recurring) be worked around via custom OrderRequest extensions?notifyUrl) properly secured against replay attacks?factory selection)?answear_payum_pay_u bundle + PayumBundle with minimal config (YAML + service overrides).# config/packages/answear_payum_pay_u.yaml
answear_payum_pay_u:
environment: '%env(PAYU_ENVIRONMENT)%' # sandbox/live
configs:
pos_1234: { pos_id: '%env(PAYU_POS_ID)%', ... }
logger: '@monolog.logger.payu'
# config/packages/payum.yaml
payum:
gateways:
payu:
factory: payu
payum.action.capture: '@Answear\Payum\PayU\Action\CaptureAction'
# ... other actions
AppServiceProvider:
public function register()
{
$this->app->singleton('payum', function () {
$config = new \Payum\Core\GatewayFactoryBuilder();
return $config->addGateway('payu', [
'factory' => 'payu',
'payum.action.capture' => new \Answear\Payum\PayU\Action\CaptureAction(),
// ... other actions
]);
});
}
notifyUrl to a Laravel route:
Route::post('/payu/notify', [PaymentController::class, 'handleNotify']);
public function handleNotify(Request $request)
{
$gateway = $this->app->make('payum')->getGateway('payu');
$notifyRequest = new \Payum\Core\Request\Notify($request->get('token'));
$gateway->execute($notifyRequest);
}
payum/payum-core).answear_payum_pay_u).environment: sandbox and test capture/refund flows.capture, refund, and status actions for core payment flows.OrderRequest to support missing params (e.g., recurring).environment: live with staged credential updates.composer.json constraints).notifyUrl routes handle CSRF protection and rate limiting.payum/payum-core and guzzlehttp/guzzle.answear/payum-pay-u to composer.json.NotifyAction for async workflow validation.payum/payum-core).recurring) may require ongoing maintenance.OrderRequest or actions in a CONTRIBUTING.md file.How can I help you explore Laravel packages today?