What is AccruPay
AccruPay is a payment router — middleware that sits between your backend and the payment providers that move money. You integrate once, and AccruPay handles the provider-specific protocol, credential management, and session lifecycle. Switching or adding providers requires no changes to your application code.
Your backend → AccruPay → [Payment Provider] → Card networks
AccruPay does not process payments directly. It routes your transactions to whichever provider is configured for your merchant account and normalizes the result back to a consistent API surface.
Integration surfaces
AccruPay exposes three surfaces. Use the one that fits your stack.
| Surface | Package | Context | Use when |
|---|---|---|---|
| Node SDK | @accrupay/node | Backend / server | Default integration path |
| React SDK | @accrupay/react | Browser / frontend | Rendering the checkout form |
| GraphQL API | — | Backend / server | Custom clients, non-Node backends |
All three target the same underlying GraphQL API:
- Production:
https://api.pay.accru.co/graphql - Sandbox:
https://api.qa.pay.accru.co/graphql
How a payment works
AccruPay uses a session model for online card checkout flows:
- Backend calls
sdk.transactions.clientSessions.payments.start()→ receives asessionobject — passsession.idto your frontend - Frontend passes
session.idto the<AccruPay>React provider → renders provider-specific payment fields - Customer submits the form — the React SDK talks directly to the provider; card data never reaches your server
- Backend calls
sdk.transactions.clientSessions.payments.verify()→ receives the authoritative transaction result
Your backend never exposes its API secret to the browser. The React SDK uses only a browser-safe merchantPublicId. See Authentication for the full credential model.
Core capabilities
| Capability | Description |
|---|---|
| Card checkout | Session-based flow with provider-rendered payment fields |
| Stored payment methods | Save and reuse customer cards across providers |
| Server-side charges | Charge stored methods directly from your backend |
| Payment plans | Recurring and scheduled payment workflows |
| Authorization & capture | Separate auth and capture steps |
| Provider routing | Route transactions to different providers per use case |
Where to go next
- Authentication — understand the two-credential model before writing any code
- Getting Started — install the SDKs and run your first transaction
- Accept a Payment — end-to-end guide for the standard card checkout flow