feat(payment): add refund and reversal functionality to payment gateways

- Implemented `refund` and `reverse` methods in `PaymentGatewayInterface`.
- Added `PaymentRefundResult` class to handle refund operation results.
- Enhanced `MockGateway` and `SepGateway` to support refund and reversal operations.
- Updated `PaymentManager` to include `refundPayment` and `reversePayment` methods for handling refunds and reversals in transactions.
- Modified `ClinicSubscriptionRepository` and `SubscriptionService` to manage subscriptions during refunds.
- Added admin API endpoints for processing refunds and reversals.
- Updated security headers to allow form actions to the sandbox environment.
- Documented the new refund and reversal features in the API documentation.
This commit is contained in:
hamed
2026-07-02 18:45:34 +03:30
parent 6bb47d343d
commit 1b171a82f4
20 changed files with 1111 additions and 21 deletions
@@ -41,7 +41,7 @@ class SecurityHeadersSubscriber implements EventSubscriberInterface
$isPaymentPage
? "default-src 'none'; style-src 'unsafe-inline'; script-src 'unsafe-inline'; "
. "font-src https://cdn.jsdelivr.net data:; img-src data:; "
. "form-action https://*.shaparak.ir; base-uri 'none'"
. "form-action https://*.shaparak.ir https://sandbox.banktest.ir; base-uri 'none'"
: "default-src 'none'"
);
}