Skip to content

[FEATURE] Add mock Paystack dedicated virtual account repayment flow #24

@Obiajulu-gif

Description

@Obiajulu-gif

Overview

Add a contributor-friendly mock flow for Paystack dedicated virtual accounts used by drivers for repayments.

Problem

ChainMove supports dedicated virtual account repayment collection, but contributors should not need real Paystack business credentials to test driver repayment UI and backend behavior locally.

Expected solution

When this flag is enabled:

ENABLE_MOCK_PAYMENTS=true

The app should be able to simulate:

  • creating a dedicated repayment account for a driver
  • returning mock bank/account details
  • receiving a mock repayment event for local testing
  • applying repayment data to local UI or test state where appropriate

Suggested mock response shape

{
  provider: "mock-paystack",
  accountNumber: "0000000000",
  accountName: "ChainMove Test Driver",
  bankName: "Mock Test Bank",
  reference: "mock_dva_<timestamp>"
}

Security notes

  • Never commit real Paystack customer data or production responses.
  • The mock flow must be clearly marked as local/test-only.
  • Production behavior should remain unchanged when mock mode is disabled.

Files likely involved

  • driver repayment API routes
  • repayment center UI
  • Paystack DVA helper/service files
  • .env.example
  • README or contributor docs

Acceptance criteria

  • Driver repayment account flow works locally in mock mode.
  • No real Paystack API call is made when mock mode is enabled.
  • Mock account data is visibly fake.
  • Real payment behavior is not broken.
  • Lint and build pass.

Suggested labels

payments, driver, backend, developer-experience

Difficulty

Intermediate

Metadata

Metadata

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial CampaignCampaign: Official Campaign

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions