Payment Service v2 API Documentation

Pregled

Payment Service v2 je mikroservis za procesiranje plačil, ki uporablja RabbitMQ za asinhrono komunikacijo in Stripe za procesiranje plačil. Storitev izpostavlja REST endpoint za preverjanje zdravja (health check) in sprejema sporočila preko RabbitMQ.

Endpoints

Health Check

GET /health

Endpoint za preverjanje zdravja storitve.

Odgovor: "Healthy!" če je storitev aktivna

RabbitMQ Komunikacija

Vrste (Queues)

Ime vrste Namen
payment_requests Vrsta za sprejemanje zahtev za plačilo
payment_responses Vrsta za pošiljanje odgovorov o plačilu

Format sporočil

Zahteva za plačilo (Payment Request)

{
    "amount": number,      // Znesek v najmanjši enoti valute (npr. centi)
    "currency": string,    // Valuta (npr. "eur")
    "productName": string, // Ime produkta
    "quantity": number     // Količina
}

Odgovor na plačilo (Payment Response)

{
    "checkoutUrl": string  // URL za Stripe Checkout sejo
}

Konfiguracija

Storitev uporablja naslednje okoljske spremenljivke:

Spremenljivka Opis Privzeta vrednost
STRIPE_SECRET_KEY Stripe Secret Key za avtentikacijo -
SUCCESS_URL URL za preusmeritev po uspešnem plačilu http://localhost:3000/success
CANCEL_URL URL za preusmeritev po preklicu plačila http://localhost:3000/cancel
RABBITMQ_URL URL za povezavo z RabbitMQ amqp://localhost:5672

Primer uporabe

1. Pošljite sporočilo v vrsto payment_requests s sledečo vsebino:

{
    "amount": 1500,
    "currency": "eur",
    "productName": "Premium Subscription",
    "quantity": 1
}

2. Prejmite odgovor iz vrste payment_responses:

{
    "checkoutUrl": "https://checkout.stripe.com/..."
}

3. Preusmerite uporabnika na prejeti checkoutUrl za dokončanje plačila.