Skip to content

bug: implement Flutterwave refunds and remove dead NotImplementedException path #57

Description

@teesofttech

Why

FlutterwaveGateway.RefundPaymentAsync throws NotImplementedException, even though refund support is part of IPaymentGateway and the README claims a full create/verify/refund lifecycle for all gateways. There is also an extra private unimplemented method.

Scope

  • Implement refund creation using the supported Flutterwave API and correct transaction identifier.
  • Map provider statuses and error responses into RefundResponse.
  • Remove the unused unimplemented method.
  • Define full versus partial refund behavior and amount units.
  • Add mocked unit tests and sandbox integration tests.

Acceptance criteria

  • RefundPaymentAsync no longer throws NotImplementedException.
  • Successful, rejected, malformed, timeout, full, and partial refund cases are covered.
  • The implementation uses IHttpClientFactory and does not log secrets.
  • Sandbox evidence is captured in CI without exposing credentials.
  • Capability documentation reflects actual support.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: gatewaysPayment gateway integrations and provider behaviorbugSomething isn't workingpriority: P1High priority; should be addressed next

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions