Files
edr-platform/packages/payment-providers/src/index.ts

105 lines
3.4 KiB
TypeScript

// 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';
export { DMoneyProvider } from './providers/dmoney/dmoney.provider';
export { CacBankProvider } from './providers/cac-bank/cac-bank.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';
// D-Money request/response types (exported for apps that build/inspect requests directly)
export type {
DMoneyFabricTokenResponse,
DMoneyPreOrderBizContent,
DMoneyPreOrderRequest,
DMoneyPreOrderResponse,
DMoneyQueryOrderResponse,
DMoneyOrderStatus,
} from './providers/dmoney/dmoney.types';
// Waafi HPP request/response types (exported for apps that build/inspect requests directly)
export type {
WaafiState,
WaafiHppPurchaseRequest,
WaafiHppPurchaseResponse,
WaafiGetTranInfoRequest,
WaafiGetTranInfoResponse,
} from './providers/waafi/waafi.types';
// EbirrPay API-payment request/response types (same ASM envelope as Waafi — see ebirr.types.ts)
export type {
EbirrState,
EbirrPurchaseRequest,
EbirrPurchaseResponse,
EbirrGetTranInfoRequest,
EbirrGetTranInfoResponse,
} from './providers/ebirr/ebirr.types';
// CAC Bank request/response types
export type {
CacSigninRequest,
CacSigninResponse,
CacPaymentInitiateRequest,
CacPaymentInitiateResponse,
CacPaymentConfirmRequest,
CacPaymentConfirmResponse,
CacGetPaymentByReferenceRequest,
CacPaymentByReferenceResponse,
CacConfirmResult,
} from './providers/cac-bank/cac-bank.types';
// Webhook payload types
export type { TelebirrWebhookPayload } from './webhooks/telebirr-webhook.types';
export type { CbeBirrWebhookPayload } from './webhooks/cbe-birr-webhook.types';
// (no eBirr webhook type: EbirrPay has no callback — the API_PURCHASE response is the result)
export type { CardWebhookPayload } from './webhooks/card-webhook.types';
export type {
WaafiWebhookPayload,
WaafiWebhookTransactionPayload,
WaafiWebhookTestPayload,
WaafiWebhookHeaders,
WaafiWebhookEvent,
WaafiWebhookStatus,
} from './webhooks/waafi-webhook.types';
export type { DMoneyWebhookPayload } from './webhooks/dmoney-webhook.types';
// Phone-number helpers
export { normalizeEthiopianMsisdn, maskMsisdn } from './utils/msisdn';
// DI token for injecting all providers as an array (future multi-provider wiring)
export const PAYMENT_PROVIDERS = Symbol('PAYMENT_PROVIDERS');