{"status":"OK","msg":"Successful Action","lang":"en","errs":{},"data":{"description":"API-only payment orchestration service. Stateless SOA module with idempotent write APIs and multi-provider routing.","details":{"api_style":"REST JSON","auth":"Bearer JWT / Sanctum / debug","idempotency":"Idempotency-Key required on mutating endpoints","providers":["fawaterk","paymob","gidea","opay","fawry","kashier"]},"endpoints":{"DELETE /v1/payments/intents/{id}":"Cancel payment intent","GET /":"API landing page","GET /docs":"Swagger UI","GET /health":"Service health check","GET /openapi.yaml":"OpenAPI specification","GET /v1/checkout/return/{uuid}/{status}":"PSP browser return → internal Laravel fulfill + 302 storefront","GET /v1/customers/default-payment-integration":"Get merchant default integration","GET /v1/customers/payment-methods":"List customer payment methods","GET /v1/integrations":"List payment integrations","GET /v1/integrations/{id}/transactions":"List integration transactions","GET /v1/payment-methods":"List client payment methods","GET /v1/payment-transactions/{uuid}":"Get payment transaction","GET /v1/payments/intents/{id}":"Get payment intent","GET /v1/payments/intents?order=":"List intents by order","GET /v1/payments/returns/{provider}":"PSP browser return alias by provider","GET /v1/payments/{id}/refunds":"List refunds","GET /v1/payments/{id}/refunds/{ref}":"Get refund by reference","GET /v1/providers":"List payment providers","GET /v1/secure/public-key":"RSA public key for HYBRID_RSA_AES_GCM","GET /v1/webhooks/health":"Webhook health probe","PATCH /v1/payment-transactions/{uuid}":"Patch payment transaction status","POST /internal/dlq/{id}/replay":"Replay dead-letter event","POST /v1/customers/orders/generate":"E2EE customer checkout facade","POST /v1/customers/orders/{id}/payment":"Dine-in order payment facade","POST /v1/customers/reservations/{uuid}/pay":"E2EE reservation checkout facade","POST /v1/customers/subscriptions/pay":"E2EE subscription checkout facade","POST /v1/integrations":"Create payment integration","POST /v1/payments/intents":"Create payment intent","POST /v1/payments/{id}/capture":"Capture authorized payment","POST /v1/payments/{id}/refunds":"Refund payment","POST /v1/webhooks/{provider}":"Provider webhook callback","PUT /v1/integrations/{id}":"Update payment integration","PUT /v1/integrations/{id}/deactivate":"Deactivate integration","PUT /v1/integrations/{id}/default":"Set default integration","PUT /v1/payment-methods":"Update client payment methods","PUT /v1/payment-transactions":"Upsert payment transaction","PUT /v1/providers/sync":"Sync provider catalog"},"health":{"checked_at":"2026-10-04T16:22:26.516851019Z","dependencies":{"app":{"name":"app","status":"up","required":true,"backend":"payment-service","latency_ms":0},"auth_db":{"name":"auth_db","status":"up","required":false,"backend":"mysql","latency_ms":0},"cache":{"name":"cache","status":"up","required":false,"backend":"memory","latency_ms":0},"event_bus":{"name":"event_bus","status":"up","required":false,"backend":"memory","latency_ms":0},"mongo_mirror":{"name":"mongo_mirror","status":"up","required":false,"backend":"mongodb","latency_ms":117},"storage":{"name":"storage","status":"up","required":true,"backend":"mysql+mongo-mirror","latency_ms":0}},"status":"healthy"},"links":{"docs":"http://pay.billq.co/docs","health":"http://pay.billq.co/health","openapi":"http://pay.billq.co/openapi.yaml","webhook_health":"http://pay.billq.co/v1/webhooks/health"},"name":"BillPay Payment Service API","service":"billpay-payment-service","status":"ok","version":"1.0.0"}}
