Acumatica Custom Payment Plug-in Development
Budget: $3,000 – $5,000 USD
Build a custom Acumatica payment “Processing Center” plug-in (C#/.NET) that appears natively under Banking → Processing Centers (CA205000) and supports:
Authorize, Capture, Void, Refund
Recurring/Subscriptions (via NMI)
Tokenization / customer vault usage
Hosted payment form option (to minimize PCI scope)
Acumatica supports custom payment plug-ins and provides a working sample (“Dummy Credit Card Plug-in”) that we will use as a scaffold.
Deliverables
Plug-in Assembly (DLL)
Implements Acumatica payment interfaces (v2) used by Processing Centers (entry point patterns shown in Acumatica’s sample repo).
Supports: Auth, Capture, Void, Refund, Sale (Auth+Capture), and Recurring mapping to NMI operations.
Hosted/redirect flow (optional) with response parsing (hosted form response parser pattern referenced by community threads). GitHub+1
Processing Center Provider
Shows up as a provider choice on CA205000 once the DLL is deployed and the Custom Payment Plug-In feature is enabled.
Provider settings UI (keys, URLs, test mode, logging, timeouts)
NMI Integration
Direct calls to NMI Payment API for auth, capture, void, refund, and subscription management (create/update/cancel plan or schedule), plus card tokenization (customer vault).
Error/decline handling mapped to Acumatica’s result/AVS/CVV fields.
Documentation
Admin guide (install DLL, enable feature, create Processing Center, map Payment Methods, test credentials).
Developer guide (class diagrams, interfaces implemented, config keys, error codes, logging).
Support playbook (common errors, how to enable verbose logs, rotating keys).
Test Assets
Test plan & test data (cards/tokens) for NMI sandbox.
Postman/HTTP files (if needed for hosted-form callback simulation).
QA checklist tied to acceptance criteria (below).
Functional Requirements (Mapping)
User Action in Acumatica
NMI Call
Result in Acumatica
Authorize on SO/AR Payment
type=auth
Transaction ID stored; payment status = Authorized
Capture authorized payment
type=capture (amount ≤ auth)
Payment marked Captured/Settled; doc updated
Void pre-settlement
type=void
Payment released/voided; doc updated
Refund (full/partial)
type=refund
Refund lines created; links to original txn
Sale (one-step)
type=sale
Immediate settle; payment recorded
Recurring/Subscription
NMI subscription APIs
Schedule created; status reflected in Acumatica (store plan/ID)
Reference for Processing Center/Payment setup and samples: Acumatica sample plug-in repo and Processing Center setup guides. GitHub+1
Authorize, Capture, Void, Refund
Recurring/Subscriptions (via NMI)
Tokenization / customer vault usage
Hosted payment form option (to minimize PCI scope)
Acumatica supports custom payment plug-ins and provides a working sample (“Dummy Credit Card Plug-in”) that we will use as a scaffold.
Deliverables
Plug-in Assembly (DLL)
Implements Acumatica payment interfaces (v2) used by Processing Centers (entry point patterns shown in Acumatica’s sample repo).
Supports: Auth, Capture, Void, Refund, Sale (Auth+Capture), and Recurring mapping to NMI operations.
Hosted/redirect flow (optional) with response parsing (hosted form response parser pattern referenced by community threads). GitHub+1
Processing Center Provider
Shows up as a provider choice on CA205000 once the DLL is deployed and the Custom Payment Plug-In feature is enabled.
Provider settings UI (keys, URLs, test mode, logging, timeouts)
NMI Integration
Direct calls to NMI Payment API for auth, capture, void, refund, and subscription management (create/update/cancel plan or schedule), plus card tokenization (customer vault).
Error/decline handling mapped to Acumatica’s result/AVS/CVV fields.
Documentation
Admin guide (install DLL, enable feature, create Processing Center, map Payment Methods, test credentials).
Developer guide (class diagrams, interfaces implemented, config keys, error codes, logging).
Support playbook (common errors, how to enable verbose logs, rotating keys).
Test Assets
Test plan & test data (cards/tokens) for NMI sandbox.
Postman/HTTP files (if needed for hosted-form callback simulation).
QA checklist tied to acceptance criteria (below).
Functional Requirements (Mapping)
User Action in Acumatica
NMI Call
Result in Acumatica
Authorize on SO/AR Payment
type=auth
Transaction ID stored; payment status = Authorized
Capture authorized payment
type=capture (amount ≤ auth)
Payment marked Captured/Settled; doc updated
Void pre-settlement
type=void
Payment released/voided; doc updated
Refund (full/partial)
type=refund
Refund lines created; links to original txn
Sale (one-step)
type=sale
Immediate settle; payment recorded
Recurring/Subscription
NMI subscription APIs
Schedule created; status reflected in Acumatica (store plan/ID)
Reference for Processing Center/Payment setup and samples: Acumatica sample plug-in repo and Processing Center setup guides. GitHub+1