Nguyano Escrow Manager

Description

Nguyano Escrow Manager adds a structured escrow workflow to WordPress for marketplaces, agencies, and private transaction portals. Payers and earners can agree to contracts, fund milestones, submit work, request revisions, open disputes, and release approved funds while administrators retain operational oversight.

The plugin tracks contract state, reserved balances, invoices, wallet entries, notifications, and audit activity. Payment movement is handled through the site owner’s configured manual, PayPal, or NOWPayments processes. Nguyano Escrow Manager does not itself act as a bank, payment processor, licensed escrow provider, or legal adviser.

Nguyano Escrow Manager uses WordPress administration, shortcodes, AJAX, cron, REST routes, roles and capabilities, settings, mail, users, and privacy tooling while storing escrow-specific operational records in custom database tables managed by the plugin migration layer.

How Nguyano Escrow Manager works

  1. Users register and complete any email, KYC, or administrator approval requirements enabled by the site owner.
  2. A payer creates an escrow contract, invites an earner, and defines the work, amount, and milestone terms.
  3. The earner accepts the contract, and the payer funds it through an available deposit method or wallet balance.
  4. Nguyano Escrow Manager records the funded amount as reserved, creates the related accounting records, and tracks the contract through delivery.
  5. The earner submits work. The payer can approve a release, request a revision, open a dispute, or follow the configured cancellation process.
  6. Approved releases credit the earner’s wallet, while notifications, invoices, activity records, and audit entries preserve the transaction history.

Core escrow workflow

  • Contract creation for payer/earner transactions.
  • Payer and earner acceptance tracking.
  • Milestone creation, funding, delivery, release, revision request, cancellation, refund, and dispute states.
  • Configurable setup fees, platform fees, dispute controls, auto-release timing, acceptance windows, and cancellation response windows.
  • Admin override actions for controlled operational intervention.
  • Contract conversations with attachment metadata.
  • Scoped exports and audit views.

Payments, wallets, and accounting

  • Manual deposits with proof submission and admin review.
  • PayPal deposit order creation, capture, verification, webhook handling, reconciliation, and raw response cleanup.
  • NOWPayments crypto deposits with invoice creation, payment status polling, webhook processing, IPN secret validation, and supported coin settings.
  • Manual, PayPal, and crypto withdrawal request workflows with admin approval and processing states.
  • Shared invoice records for deposit and withdrawal flows.
  • Per-user wallet balances, reserved funds, and total withdrawal tracking.
  • Wallet ledger entries with before/after balances, reserved balance changes, invoice linkage, and optional immutable hash-chain audit fields.
  • Admin accounting screens for revenue, escrow transactions, wallet ledger, user wallets, and invoices.

User onboarding and compliance controls

  • Frontend registration, login, password reset, profile, email verification, and KYC upload screens.
  • Admin approval as the final platform access barrier.
  • Optional email verification and KYC requirements before admin approval.
  • Configurable KYC document categories.
  • Tokenized KYC upload access for pending users who still need to complete verification.
  • Admin user review screens and user-scoped contract/accounting views.

Admin tools

  • Nguyano Escrow Manager dashboard and metrics.
  • DataTable-powered admin tables for contracts, users, deposits, withdrawals, invoices, accounting, disputes, activity logs, notifications, Recovery Backups, and REST API keys.
  • Public page creation helper for required frontend shortcode pages.
  • Settings modules for general, appearance, email, payment, fees, disputes, withdrawals, deposits, escrow flow, advanced, and security controls.
  • Selectable, self-contained Recovery Backups with frontend Nguyano Escrow Manager users, settings, KYC documents, managed uploads, checksums, logs, and guided restore progress.
  • Optional AI writing assistant powered by the site’s configured WordPress AI Client provider.

Recovery Backups

Nguyano Escrow Manager Recovery Backups are versioned .zip packages for same-site Nguyano Escrow Manager recovery. They are not general WordPress hosting backups.

Plugin database tables are always included. Before creation, administrators can choose whether to also include:

  • Frontend Nguyano Escrow Manager user identities and plugin-owned user metadata.
  • Nguyano Escrow Manager settings.
  • Protected KYC documents.
  • Managed uploads such as avatars, dispute evidence, message attachments, and deposit receipts.

Only users with the nguyano_escrow_manager_user role are included in the user identity component. Internal platform accounting uses a plugin wallet actor rather than a recoverable WordPress user account, and unrelated WordPress users are not included as recoverable user identities. KYC documents require included user identities and metadata so ownership can be restored correctly. WordPress passwords remain one-way hashes and are never decrypted.

Creation and restore show a percentage bar with current and recent step messages. Archives include a manifest, selected component map, file counts, and SHA-256 checksums. Restore accepts only current Nguyano Escrow Manager .zip recovery packages; standalone SQL and arbitrary ZIP files are rejected.

Existing WordPress users are reused only when the username matches and the live account is already an Nguyano Escrow Manager user. If an archived user ID collides with a different live account, Nguyano Escrow Manager restores the backed-up user at a safe ID and reconnects plugin records to the remapped identity. If a matching username exists but that live account is not an Nguyano Escrow Manager user, restore stops without changing that WordPress account.

Recovery packages may contain sensitive personal, financial, authentication, and KYC data. Restrict administrator access, protect downloaded/off-site copies, define a retention policy, and securely delete expired archives.

REST API

Nguyano Escrow Manager includes a custom WordPress REST API namespace: nguyano-escrow-manager/v1.

Available routes include:

  • GET /status
  • GET /stats
  • GET /escrow-contracts
  • GET /escrow-contracts/{id}
  • GET /users
  • GET /invoices
  • GET /wallet/balance
  • GET /transactions
  • GET /disputes/{id}
  • GET /disputes/{id}/messages
  • POST /escrow-contract
  • DELETE /escrows/{id}

REST access is controlled by plugin settings, API keys, scopes, optional HMAC signatures, per-key rate limits, CORS origin settings, request logging, and dataset permissions.

Security model

Nguyano Escrow Manager is designed around WordPress security practices:

  • Capability checks for admin and privileged actions.
  • Nonce checks for form, AJAX, and admin-post mutations.
  • Sanitized and validated input before processing.
  • Escaped output in admin and frontend templates.
  • Prepared SQL for dynamic database queries.
  • Explicit REST permission callbacks.
  • API keys stored as hashed credentials with scope, expiry, status, prefix lookup, optional signatures, and rate limiting.
  • Gateway-specific validation for payment status and webhook handling.
  • Financial state changes recorded through invoices, transactions, activity logs, wallet records, and ledger rows.

Nguyano Escrow Manager helps site owners operate an escrow workflow, but it does not replace legal, tax, banking, money-transmission, fraud, or jurisdiction-specific compliance advice.

Required frontend pages and shortcodes

Nguyano Escrow Manager can create these pages for you from the admin tools screen:

  • Login: [ngesc_user_login]
  • Signup: [ngesc_user_signup]
  • Dashboard: [ngesc_dashboard]
  • Contracts Paying: [ngesc_contracts_paying]
  • Contracts Earning: [ngesc_contracts_earning]
  • View Contract: [ngesc_view_contract]
  • Contract Milestones: [ngesc_view_contract_milestones]
  • Activity Log: [ngesc_activity_log]
  • Notifications: [ngesc_notifications]
  • Deposits: [ngesc_deposits]
  • Withdrawals: [ngesc_withdrawals]
  • Payment Options: [ngesc_payment_options]
  • Disputes: [ngesc_disputes]
  • View Dispute: [ngesc_view_dispute]
  • Profile: [ngesc_user_profile]
  • Invoice: [ngesc_invoice]
  • Reset Password: [ngesc_reset_password]
  • Password Reset Link: [ngesc_password_reset_link]
  • Terms of Service: [ngesc_terms_of_service]
  • KYC Upload: [ngesc_kyc_upload]

Backward-compatible shortcode aliases remain registered for existing pages: [ngesc_escrows], [ngesc_view_escrow], [ngesc_earnings], and [ngesc_transaction_log].

Privacy

Nguyano Escrow Manager may store and process personal, financial, account, KYC, transaction, API, and activity data depending on enabled features and site configuration.

Data may include WordPress user account details, profile metadata, email verification state, KYC document metadata/uploads, API key metadata, contract and milestone records, dispute messages, wallet balances, wallet ledger rows, invoices, deposit and withdrawal metadata, payment gateway records, IP addresses, user agents, notifications, activity logs, and Recovery Backup records or archives.

Site owners should disclose Nguyano Escrow Manager data handling in their privacy policy, configure retention policies appropriate to their jurisdiction, and decide which financial/audit records must be retained for legal, tax, fraud-prevention, dispute, or accounting reasons.

Third-party services

Nguyano Escrow Manager connects to the following external services only when the corresponding feature is enabled and configured:

  • PayPal Commerce Platform creates deposit orders, captures approved PayPal payments, verifies capture status, and receives webhook updates. Transaction, order, account, and callback data required for those operations may be sent to PayPal. Review the PayPal legal agreements and PayPal privacy statement.
  • NOWPayments creates cryptocurrency deposit payment requests, checks payment status, and receives IPN callbacks. Invoice, payment, wallet, and callback data required for those operations may be sent to NOWPayments. Review the NOWPayments terms and NOWPayments privacy policy.
  • WordPress AI Client powers the optional administrator writing assistant. Administrator-submitted prompts and related content are sent only when an administrator uses that feature and are handled by the site’s configured AI provider.

Each provider’s terms and privacy policy apply. Review and disclose every enabled integration in your site’s privacy policy before collecting live user data.

Developer Notes

Official release packages include production Composer dependencies. Developers working from a source checkout should run composer install --no-dev before activation.

Nguyano Escrow Manager is organized around bootstraps, controllers, services, models, migrations, settings modules, templates, assets, and helpers.

Important architecture entry points:

  • nguyano-escrow-manager.php loads the plugin and initializes services.
  • includes/NgescInit.php lists the service bootstraps.
  • includes/Core/DBMigrator.php installs the canonical custom database schema during activation.
  • includes/Core/EscrowBootstrap.php wires escrow services and controllers.
  • includes/Core/FinanceBootstrap.php wires manual, PayPal, and crypto finance handlers.
  • includes/Core/RestApiBootstrap.php registers REST, CORS, and logging behavior.
  • includes/Api/RestApi/RestApiEndpoints.php defines REST routes and response shapes.
  • includes/Api/RestApi/RestApiAuth.php validates API keys, scopes, signatures, and rate limits.
  • includes/Settings/SettingsRegistry.php registers settings modules.
  • includes/Core/Shortcodes.php registers frontend shortcodes.
  • includes/Services/DBBackup/DBBackupService.php creates and validates Recovery Backup packages.

When extending Nguyano Escrow Manager, keep business rules in services, reusable data access in models, request handling in controllers, and rendering in templates. New or updated PHP files and class methods should include meaningful, concise comments that match the plugin style.

Screenshots

Installation

  1. Upload the nguyano-escrow-manager folder to /wp-content/plugins/, install the release ZIP through Plugins > Add New, or install it from the WordPress.org plugin directory when available.
  2. Activate Nguyano Escrow Manager from the WordPress Plugins screen.
  3. Go to Nguyano Escrow Manager > Settings and configure the general, security, payment, fee, deposit, withdrawal, escrow flow, email, appearance, advanced, and REST API options required by your site.
  4. Go to Nguyano Escrow Manager > Tools > Public Pages and create the required frontend pages, or create pages manually with the listed shortcodes.
  5. Configure PayPal, NOWPayments, email, approval, KYC, REST API, cron, or Recovery Backup settings only for the features you intend to use.
  6. Register or approve at least two test users, then test the complete contract, funding, delivery, dispute, release, and withdrawal flows on a staging site before processing real transactions.

FAQ

Is Nguyano Escrow Manager a complete escrow platform?

Nguyano Escrow Manager provides the WordPress plugin infrastructure for escrow contracts, milestone funding, user dashboards, admin operations, deposits, withdrawals, disputes, wallets, invoices, and audit records. Site owners remain responsible for their legal, payment, tax, and regulatory obligations.

Does Nguyano Escrow Manager hold money directly?

No. Nguyano Escrow Manager tracks balances, reserved funds, releases, refunds, fees, and withdrawals inside WordPress, but it is not a bank, payment processor, or licensed escrow provider. Actual money movement depends on the manual or external gateway accounts configured by the site owner. Review the legal, tax, KYC, money-transmission, and escrow requirements that apply to your business and jurisdiction.

Which payment methods are supported?

Nguyano Escrow Manager supports manual deposits, PayPal deposits, NOWPayments crypto deposits, and manual/PayPal/crypto withdrawal request workflows. Payment methods must be enabled and configured by an administrator.

How do I enable PayPal?

Go to Nguyano Escrow Manager > Settings > Payment, configure the PayPal mode and credentials, then use the PayPal setup/help action in the settings interface. PayPal should not be enabled unless the required client ID, secret, and related production settings are present.

How do I enable crypto payments?

Go to Nguyano Escrow Manager > Settings > Payment, configure the NOWPayments API key, IPN secret, and supported coins, then enable crypto payments. Crypto payment completion depends on NOWPayments invoice status and webhook processing.

Can users withdraw funds?

Yes. Users can request withdrawals through the configured manual, PayPal, or crypto withdrawal methods. Admins review and process withdrawal requests from the Nguyano Escrow Manager admin area.

Does Nguyano Escrow Manager support KYC?

Yes. Admins can configure whether KYC is required before approval and can define accepted document categories such as passport, national ID, driver license, residence card, or utility bill.

Does admin approval block users from the frontend app?

Yes. Admin approval is the final barrier for full frontend app access. Email verification and KYC can be configured as prerequisites before admin approval is granted.

Does Nguyano Escrow Manager create custom database tables?

Yes. Nguyano Escrow Manager creates and maintains custom tables for contracts, milestones, contract messages, escrow transactions, invoices, wallet balances, wallet ledger records, deposit metadata, withdrawal metadata, PayPal orders, crypto deposit metadata, crypto webhooks, disputes, dispute messages, notifications, activity logs, and Recovery Backup records.

What does a Recovery Backup include?

Plugin database tables are always included. Administrators can additionally select frontend Nguyano Escrow Manager user identities and plugin-owned metadata, plugin settings, protected KYC documents, and managed uploads. Automatic Recovery Backups include every component, but the user identity component is still limited to frontend Nguyano Escrow Manager users and excludes the internal platform accounting actor.

Can I restore a standalone SQL file?

No. Nguyano Escrow Manager restores only current, versioned .zip Recovery Backups created by the plugin. Raw .sql files and arbitrary or unversioned ZIP archives are rejected.

Does Nguyano Escrow Manager include a REST API?

Yes. The REST API uses the nguyano-escrow-manager/v1 namespace and includes routes for status, stats, contracts, users, invoices, wallet balance, transactions, disputes, dispute messages, contract creation, and contract trashing. Access is controlled by plugin settings, API keys, scopes, dataset permissions, rate limits, optional signatures, and CORS settings.

Can I customize the frontend experience?

Nguyano Escrow Manager includes frontend layout and appearance settings plus CSS files for the frontend app shell. Developers can override templates carefully in a child workflow, but production changes should preserve escaping, nonces, and permission checks.

Is Nguyano Escrow Manager multisite compatible?

Nguyano Escrow Manager uses site-specific WordPress options and database table prefixes. Test carefully on multisite before production use, especially around activation, cron, roles, custom tables, and payment gateway callbacks.

Does Nguyano Escrow Manager work without third-party services?

Core manual workflows can operate without external payment gateways. PayPal, NOWPayments, and WordPress AI Client integrations are optional and only run when enabled and configured.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Nguyano Escrow Manager” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.0

  • Initial production release.
  • Added full escrow contract and milestone workflow.
  • Added payer/earner acceptance, funding, delivery, revision, release, refund, cancellation, dispute, and admin override states.
  • Added manual deposit, PayPal deposit, NOWPayments crypto deposit, and manual/PayPal/crypto withdrawal workflows.
  • Added shared invoices, wallet balances, wallet ledger, escrow transactions, and accounting audit views.
  • Added immutable wallet ledger hash-chain support.
  • Added admin dashboard, metrics, DataTables, activity logs, notifications, public page tooling, settings modules, and selectable self-contained Recovery Backups.
  • Added frontend app pages for dashboard, contracts, deposits, withdrawals, disputes, notifications, activity, payment options, KYC, profile, invoices, login, signup, and password reset.
  • Added admin approval, optional email verification, configurable KYC requirements, KYC document categories, and pending-user KYC access tokens.
  • Added REST API namespace nguyano-escrow-manager/v1 with API key authentication, scopes, rate limiting, optional HMAC signatures, CORS settings, dataset gates, and request logging.
  • Added PayPal reconciliation and raw response cleanup cron tasks.
  • Added escrow auto-release and lifecycle expiry cron tasks.