@eventcatalog/notifier
Version:
CLI tool to detect EventCatalog changes and send notifications
73 lines (59 loc) • 1.92 kB
text/mdx
id: PaymentGatewayService
version: 0.0.1
name: Payment Gateway Service
summary: Manages integration with external payment processors (Stripe, PayPal, etc.)
tags:
- payment
- gateway
- integration
repository:
url: https://github.com/eventcatalog/payment-gateway-service
receives:
- id: ProcessPayment
version: 0.0.1
- id: FraudCheckCompleted
version: 0.0.1
- id: GetInventoryList
sends:
- id: PaymentFailed
version: 0.0.1
owners:
- dboyne
import Footer from '@catalog/components/footer.astro';
## Overview
The Payment Gateway Service acts as an abstraction layer between our payment system and external payment processors. It handles the complexity of integrating with multiple payment providers and provides a unified interface for payment operations.
## Supported Payment Providers
- **Stripe**: Credit/debit cards, digital wallets
- **PayPal**: PayPal accounts, PayPal Credit
- **Square**: In-person and online payments
- **Adyen**: Global payment processing
- **Braintree**: Multiple payment methods
## Key Features
- **Multi-provider Support**: Switch between providers seamlessly
- **Retry Logic**: Automatic retry for failed transactions
- **Tokenization**: Secure card data handling
- **Webhook Management**: Handles provider webhooks
- **Currency Conversion**: Support for 150+ currencies
## API Endpoints
### REST API
- `POST /api/gateway/authorize` - Authorize a payment
- `POST /api/gateway/capture` - Capture an authorized payment
- `POST /api/gateway/refund` - Process a refund
- `GET /api/gateway/status/{transactionId}` - Get transaction status
## Configuration
```yaml
payment_gateway:
providers:
stripe:
api_key: ${STRIPE_API_KEY}
webhook_secret: ${STRIPE_WEBHOOK_SECRET}
paypal:
client_id: ${PAYPAL_CLIENT_ID}
client_secret: ${PAYPAL_CLIENT_SECRET}
retry:
max_attempts: 3
backoff_ms: 1000
```
<Footer />