Payments represent how a constituent paid for a transaction.
Types of Payments
Depending on your needs, there are two types of payments in NeonCRM: online and offline.
Your app can process payments live through the NeonCRM API by sending card or ACH information to NeonCRM be processed by the payment gateway linked to the organization’s system. These are known as "online" payments. Alternatively, your app can manage payments outside of NeonCRM and pass a record of the payment to NeonCRM with the transaction. These are referred to as "offline" payments.
An online or offline payment must be passed with any transaction that has a non-zero amount.
The required fields for payments vary depending on the type of payment, known as the tender type. There are 9 standard tender types in NeonCRM:
- Credit Card (Offline-No Charge)
- Credit Card (Online)
- Wire Transfer
Users can also create custom tender types.
Processing Online Payments
The NeonCRM API supports 3 types of payment gateways for processing card and ACH payments through the API:
- Neon Payment Processing
- Third-party gateways
NeonPay is the recommended solution for most applications.
NeonPay is the most common and most supported gateway among NeonCRM organizations, and is the recommended payments solution for all integrated apps.
Processing payments through NeonPay requires client-side tokenization through NeonPay.js. With NeonPay.js, you can implement modern, customizable UI components for accepting card and ACH payments and tokenize sensitive payment information for securely handling payments in your app.
Setting up NeonPay
Whether you are migrating from an existing NeonCRM payments form or setting up a new payments form, you will need to follow the steps below to integrate your payments flow with NeonPay.
1. Obtain a NeonPay public API key and merchant ID
Working with NeonPay on payment forms requires a public API key and NeonPay merchant ID.
The NeonPay key is not the same as your NeonCRM API key and will only be used for NeonPay.js. Contact email@example.com to get a NeonPay key.
Your NeonPay merchant ID can be obtained by requesting the payment gateway settings through the NeonCRM API. If you are working in a NeonCRM system with multiple NeonPay gateways, we recommend contacting your NeonCRM account representative or technical support to discuss this scenario.
2. Implement the NeonPay.js payment fields
<iframe> element that communicates directly with the NeonPay server, allowing your app to avoid ever handling card or ACH data.
If you have previously implemented your own input fields for receiving payment data, you must swap these out for the fields generated by NeonPay.js. The NeonCRM API will not accept payment information for NeonPay payments that have been entered into custom input fields.
3. Send the NeonPay token to NeonCRM
createToken() method in NeonPay.js, generate a token for the payment information entered into the payment fields.
A token is a cryptographically secure representation of all the payment information entered by the user, and it allows your app to easily manage payment information without the overhead required to securely handle actual payment data.
Generating a token does not process the payment, and in fact, the token is not tied to any specific payment or transaction until it is sent to NeonCRM. Once you obtain a token from NeonPay.js, use the
token parameter in the payments object in NeonCRM API requests to send the token to NeonCRM for processing. If you have previously implemented a NeonCRM payment form with a third-party gateway, you will need to swap out the payment fields previously sent with your request for the NeonPay token.
Neon Payment Processing
Neon Payment Processing is a first-party gateway built on Stripe and uses Stripe Elements for client-side tokenization.
As with NeonPay, once you obtain a token from Stripe.js, use the
token parameter in the payments object of NeonCRM API requests to submit the token to NeonCRM for processing.
NeonCRM supports a variety of third-party gateways, which can be used for online payment processing. However, unlike NeonPay and Neon Payment Processing, third-party gateways are implemented without client-side tokenization, meaning you must handle credit card information in your app to pass to NeonCRM for processing. This solution is not recommended for integrations that will be used across multiple NeonCRM systems.
API methods related to payments.
(See transaction methods for documentation on submitting payments with transactions.)