feat: ( payment ) create payment microservice

This commit is contained in:
Abubeker Yasin
2026-06-05 21:29:55 +03:00
parent 3922d813b1
commit 1d11cbda4d
44 changed files with 1172 additions and 266 deletions

View File

@@ -0,0 +1,50 @@
// Re-export the shared, ORM-agnostic payment contract from @edr/types so consumers can
// import enums, interfaces, and providers from a single entry point.
export {
ProviderPaymentStatus,
ProviderMethod,
} from '@edr/types';
export type {
PaymentProvider,
ProviderInitiationInput,
ProviderInitiationResult,
ProviderStatus,
ClientAction,
PaymentPlatform,
} from '@edr/types';
// Providers
export { TelebirrProvider } from './providers/telebirr/telebirr.provider';
export { CbeBirrProvider } from './providers/cbe-birr/cbe-birr.provider';
export { EBirrProvider } from './providers/ebirr/ebirr.provider';
export { CardProvider } from './providers/card/card.provider';
export { WaafiProvider } from './providers/waafi/waafi.provider';
// Telebirr crypto + types (exported for apps that build/verify signatures directly)
export {
buildCanonicalString,
signRequestObject,
verifyRequestObject,
signString,
verifySignature,
createTimestamp,
createNonceStr,
createMerchantOrderId,
} from './providers/telebirr/telebirr.crypto';
export type {
FabricTokenResponse,
CreateOrderRequest,
CreateOrderResponse,
QueryOrderResponse,
TelebirrTradeStatus,
} from './providers/telebirr/telebirr.types';
// Webhook payload types
export type { TelebirrWebhookPayload } from './webhooks/telebirr-webhook.types';
export type { CbeBirrWebhookPayload } from './webhooks/cbe-birr-webhook.types';
export type { EBirrWebhookPayload } from './webhooks/ebirr-webhook.types';
export type { CardWebhookPayload } from './webhooks/card-webhook.types';
export type { WaafiWebhookPayload } from './webhooks/waafi-webhook.types';
// DI token for injecting all providers as an array (future multi-provider wiring)
export const PAYMENT_PROVIDERS = Symbol('PAYMENT_PROVIDERS');