Charges

Charges are transactions paid to an Organization by a constituent’s credit card or bank account (ACH). Charges must be initiated from within your Application; they cannot be created from the Merchant Portal. Charges can be captured and follow this flow:

They can also be authorized first and captured (or voided) later, using this flow:

Creating Charges

Charges are created with the Neon Pay API. Here's a simple example of how a charge can be created with a single call:


POST /api/charges

HEADERS:
Content-Type: application/json
Accept: application/json
X-API-Key: key_abcdef123456
X-App-ID: 12

BODY:
{
  "merchant_id": 32,
  "amount": 5000,
  "type": "cc",
  "currency": "usd",
  "funding_currency": "usd",
  "origin": "ecommerce",
  "token": "token_0934029jdsfgjd",
}

Notice that card or banking information is not sent directly through the API. Instead, payment method tokens are used. Please refer to the Tokenization section below for more information.

Payment Methods Available by Country

Certain payment methods may be restricted based on the merchant account's originating country. Please consult the chart below to determine if it is available for that country.

Payment Method United States Canada
ACH Transfer
Apple Pay
Canadian pre-authorized debits (ACSS/PAD)
Credit Card
Google Pay

Assigning Charges to Merchants

All transactional records in Neon Pay (charges, refunds, disputes, and payouts) are associated with a Merchant Account owned by one of your customers (Organizations). When creating charges or other records, you must include a merchant_id parameter in your request body.

Neon Pay will only allow you to use the merchant_id of an account already associated with your application. Your application's API credentials are not specific to each merchant (as is the case with some payment processors). Instead, you use a single set of API credentials for your application and supply a merchant_id with each API request you make.

Recurring Charges

Neon Pay does not provide any logic to facilitate scheduled payments; your Application must manage payment schedules. Payment tokens can be created and then saved in your Application and used later. Simply create a new charge using an existing token, and (using the recurring field on the Charge object) specify the payment as having been part of a recurring schedule.

Tokenization

NeonPay employs client-side tokenization for securing sensitive data (such as credit cards or bank accounts) in the processing of payments. When collecting payment data on forms, implement NeonPay.js as a means to tokenize this data prior to sending it to NeonPay's API.

The primary benefit to your application is the reduction of PCI compliance risk. Since sensitive data never touches your application directly, you have a much smaller risk profile.

This illustration shows the process of tokenizing credit card or bank account data:

Fees

Fees are charged to organizations in a number of scenarios. All of these fees are configurable in the Merchant Portal by Application or System Administrators on a Merchant-by-Merchant basis. We set default fee amounts for each Application that are applied to an Application’s new Merchants, but the fees can then be overridden for any merchant manually.

Fees are are collected from merchant accounts by applications. Fees are collected from applications by Neon Pay.

 

Standard Processing Fees

These are the standard fees associated with all merchant accounts. Your application charges these fees to merchants. You may set defaults for these rates from the Neon Pay Portal, but you may also override the rates on a merchant-by-merchant basis. The rates you set as default or specifically to a merchant will be the rates charged to a customer. Neon Pay will collect transaction fees at agreed-upon rates from your application.

Fee Description
Authorization Flat fee assessed when a charge is authorized.
Capture Flat fee assessed when a charge is captured.
AMEX Surcharge Additional percentage fee assessed when an American Express charge is captured.
ACH Transfer Flat Fee Flat fee assessed when an ACH charge is processed. (US Merchants Only)
ACH Transfer Percent Fee Percentage fee assessed when an ACH charge is processed. (US Merchants Only)
ACH Transfer Failed Fee Flat fee assessed when an ACH charge fails. (US Merchants Only)
ACH Return Fee Flat fee assessed when an ACH charge is reversed by a bank. (US Merchants Only)
ACSS Flat Fee Flat fee assessed when a pre-authorized debit (PAD) is processed. (Canadian Merchants Only)
ACSS Percent Fee Percentage fee assessed when a pre-authorized debit (PAD) is processed. (Canadian Merchants Only)
ACSS Transfer Failed Fee Flat fee assessed when a pre-authorized debit (PAD) fails. (Canadian Merchants Only)
ACSS Return Fee Flat fee assessed when a pre-authorized debit (PAD) is reversed by a bank. (Canadian Merchants Only)
Chargeback Fee Flat fee assessed when a chargeback is created.
Retrieval Fee Flat fee assessed when a retrieval (similar to chargeback) is created.

Platform Fees

Platform fees may not be used by all applications. You may use these to add an arbitrary additional fee, either in percentage or flat rate, to charges.

Fee Description
Platform Flat Fee Flat fee assessed when a charge is captured. This is an arbitrary fee in addition to the Auth and Capture fees.
Platform Percent Fee Percentage fee assessed when a charge is captured. This is an arbitrary fee in addition to the Auth and Capture fees.

Refunds

Existing charges can be refunded. Refunds can be initiated either through the API or from the Merchant Portal. Using the Refunds API, simply specify the ID of the charge to be refunded and specify the amount to refund. Neon Pay supports partial refunds, and a single charge can be refunded multiple times (until the original amount has been fully refunded).

Neon Pay provides API methods and webhooks related to Refunds. We recommend that you support refunding from within your Application, but also listen for notifications of refunds initiated from the Merchant Portal to ensure updates are reflected in your Application.

Refunding Fees

At this moment, it is not possible to refund transaction fees to a customer. This capability is under development and will be added in the future. This document will be updated with the recommended process for doing so.