package chapa import ( "context" "github.com/SamuelTariku/FortuneBet-Backend/internal/domain" ) // type ChapaPort interface { // HandleChapaTransferWebhook(ctx context.Context, req domain.ChapaWebHookTransfer) error // HandleChapaPaymentWebhook(ctx context.Context, req domain.ChapaWebHookPayment) error // WithdrawUsingChapa(ctx context.Context, userID int64, req domain.ChapaWithdrawRequest) error // DepositUsingChapa(ctx context.Context, userID int64, req domain.ChapaDepositRequest) (string, error) // GetSupportedBanks() ([]domain.ChapaSupportedBank, error) // } type ChapaStore interface { InitializePayment(request domain.ChapaDepositRequest) (domain.ChapaDepositResponse, error) // VerifyPayment(reference string) (domain.ChapaDepositVerification, error) ManualVerifTransaction(ctx context.Context, txRef string) (*domain.ChapaVerificationResponse, error) FetchSupportedBanks(ctx context.Context) ([]domain.Bank, error) CreateWithdrawal(userID string, amount float64, accountNumber, bankCode string) (*domain.ChapaWithdrawal, error) HandleVerifyDepositWebhook(ctx context.Context, transfer domain.ChapaWebHookTransfer) error HandleVerifyWithdrawWebhook(ctx context.Context, payment domain.ChapaWebHookPayment) error }