ERP integration overview
This guide describes a typical generic ERP integrator flow using the Paystand X public API. It is ERP-agnostic (NetSuite, Sage, Business Central, Acumatica, etc.) and does not cover ERP-specific Paystand connector APIs.
Recommended sync order
- Authenticate — Access Token (
POST /oauth/token). - Customers (payer customers) — Create or update via Create Customer and Update Customer. Store Paystand
payerCustomer.idand yourextCustomerId(ERP customer key). - Receivables (invoices) — Create with Create Receivable, linking
payerCustomerIdorextCustomerId. Poll changes with List Receivables (filtered). - Attachments — Optional PDFs via Upload Attachment.
- Payments & applications — Poll List Payments and receivable transaction endpoints; subscribe to Payment Events and Receivable Transaction Events when webhooks are available.
- Fees — Merchant processing: List Fees and Fee Events. Payer recoup/surcharge: Split Fees and
feeSpliton Get Payment. See Payment and fee reconciliation. - Credit memos — Credit Memos CRUD and cancel/activate as needed.
- Refunds & disputes — List Refunds, List Disputes, plus matching webhooks.
- Transfers (payouts) — List Transfers or filtered List Transfers (filtered).
- Withdrawals — List Withdrawals (filtered) or List Withdrawals.
Before scheduled calendar-day jobs, optionally call Get Merchant Timezone.
Webhooks vs polling
| Approach | When to use |
|---|---|
| Webhooks | Cloud middleware or ERP with a public HTTPS endpoint. Configure in Dashboard → Integrations → Webhook Event URLs. |
| Polling | On-prem ERP or partners without inbound HTTPS. Use Query and incremental sync and the Webhook and REST polling matrix. |
Voiding and cancelling
| Action | API |
|---|---|
| Void an invoice | Cancel Receivable or update receivable status to cancelled |
| Void a credit memo | Cancel Credit Memo |
| Remove a PDF from an invoice (attachment only) | Remove Attachment from Receivable |
Hard delete of receivables or customers is not part of the public integration contract.
Environments
| Environment | Base URL |
|---|---|
| Production | https://api.paystand.com/v3 |
| Sandbox | https://api.paystand.co/v3 |
Use separate credentials per environment.