PPayNow Docs
Menu — GitHub

Resources

GitHub

The PayNow Nexus repository — source, issues, and how to contribute.

The PayNow SDK is open-source and developed in the open.

github.com/your-org/paynow-nexus — source, issues, contributions.

What's in the repo

Path Purpose
packages/paynow_core/ Shared business logic — domain + data layers.
packages/paynow_jaspr_sdk/ Jaspr web SDK + the gateway.
examples/paynow_jaspr_ecommerce_demo/ Bella Cart merchant storefront.
apps/paynow_docs/ This documentation site.
scripts/start_local_stack.sh Boot gateway + merchant locally.
scripts/build_cpanel.sh Static deploy artifacts for cPanel hosting.
docs/ Internal architecture, design, and operations docs.

Reporting issues

Open an issue on GitHub. Include:

  • A short, specific title.
  • The flow you were running (QR / OnePay account / PayNow wallet) and the OnePay endpoint involved.
  • The full PaymentApiException message + code if available.
  • Reproducer if you have one — a curl that triggers the bug, a minimal commit on a branch, or a screen recording of the gateway.

Contributing

The repo follows a few non-obvious conventions worth knowing:

  • All business logic lives in paynow_core. Host packages (paynow_jaspr_sdk) are thin renderers; never put logic there that the future Flutter SDK couldn't reuse.
  • Every state-changing request takes an idempotencyKey.
  • Merchant credentials and HMAC secrets are read from Platform.environment at request time — never String.fromEnvironment.
  • New PaymentState transitions require a corresponding entry in PaymentStateMachine._allowedTransitions.

Before opening a PR:

dart pub get
            dart analyze
            dart test
            

All three should be clean. Tests use package:test and fake_async; UI components use package:jaspr_test.

License

See LICENSE in the repo root.