Skip to main content

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.

  1. AuthenticateAccess Token (POST /oauth/token).
  2. Customers (payer customers) — Create or update via Create Customer and Update Customer. Store Paystand payerCustomer.id and your extCustomerId (ERP customer key).
  3. Receivables (invoices) — Create with Create Receivable, linking payerCustomerId or extCustomerId. Poll changes with List Receivables (filtered).
  4. Attachments — Optional PDFs via Upload Attachment.
  5. Payments & applications — Poll List Payments and receivable transaction endpoints; subscribe to Payment Events and Receivable Transaction Events when webhooks are available.
  6. FeesMerchant processing: List Fees and Fee Events. Payer recoup/surcharge: Split Fees and feeSplit on Get Payment. See Payment and fee reconciliation.
  7. Credit memosCredit Memos CRUD and cancel/activate as needed.
  8. Refunds & disputesList Refunds, List Disputes, plus matching webhooks.
  9. Transfers (payouts)List Transfers or filtered List Transfers (filtered).
  10. WithdrawalsList Withdrawals (filtered) or List Withdrawals.

Before scheduled calendar-day jobs, optionally call Get Merchant Timezone.

Webhooks vs polling

ApproachWhen to use
WebhooksCloud middleware or ERP with a public HTTPS endpoint. Configure in Dashboard → Integrations → Webhook Event URLs.
PollingOn-prem ERP or partners without inbound HTTPS. Use Query and incremental sync and the Webhook and REST polling matrix.

Voiding and cancelling

ActionAPI
Void an invoiceCancel Receivable or update receivable status to cancelled
Void a credit memoCancel 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

EnvironmentBase URL
Productionhttps://api.paystand.com/v3
Sandboxhttps://api.paystand.co/v3

Use separate credentials per environment.