Perform a request to process a payment.
This endpoint uses a valid Bearer Authentication API Key ID and HMAC Key for authentication.
The Payments API provides a single, secure interface for accepting and managing payments across credit cards, ACH transfers, and Apple Pay. It is designed to simplify integration, reduce risk, and give your team consistent tools for handling every stage of the payment lifecycle.
The Payments API follows modern REST conventions and uses JSON for requests and responses, making it straightforward to integrate from any language or platform. A single endpoint and a shared field model mean you can start with one payment type and expand to others with minimal additional development.
Built-In Security and Compliance
Security and compliance are built in. Tokenization protects sensitive data and aligns with the latest PCI DSS and Nacha security standards. Because payment details never touch your servers, a merchant’s compliance scope is reduced, and cardholder or account data is safeguarded.
Key Features
https://docs.nelnetpay.com/_mock/apis/osi-payments-api/
https://api.uat.nelnetpay.com/payments-api/
A unique ID assigned by NPS that represents the client.
Indicates the type of transaction.
Additional amount that is added to the amount of the cardholder's original transaction.
A unique ID returned by the Risk Service.
Mandatory for ACH transactions.
For transactions where the merchant sets the processingMode
field value to SYNCHRONOUS
, we will process these transactions in real-time using existing flows.
For transactions where the merchant sets the processingMode
field value to ASYNCHRONOUS
, we will process these transactions asynchronously.
We will queue the transaction for processing later.
Format Type: String
https://docs.nelnetpay.com/_mock/apis/osi-payments-api/payments
https://api.uat.nelnetpay.com/payments-api/payments
curl -i -X POST \
https://docs.nelnetpay.com/_mock/apis/osi-payments-api/payments \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-H 'nps-trace-uuid: string' \
-d '{
"entityId": 1325691045,
"paymentType": {
"ach": {
"bankAccount": {
"accountNumber": "459887746321Z",
"routingNumber": "021000021",
"accountType": "CHECKING"
}
}
},
"transactionType": "ACH_DEBIT",
"amount": 123.65,
"accountHolder": {
"accountHolderName": "John Smith",
"accountHolderId": "134267"
},
"transactionInformation": {
"customId": "330d4c38-7904-47cf-be8e-0972a93f7386",
"description": "tuition",
"additionalPaymentInformation": "U00102",
"companyName": "College Prep",
"companyDiscretionaryData": "Test1234",
"standardEntryCode": "WEB",
"terminalCity": "MPLS",
"terminalState": "MN",
"discretionaryData": "R",
"effectiveEntryDate": "250110",
"originalTransactionType": "",
"originalPaymentTransactionId": "80503dc9-15f8-430a-8622-3cff38124bbd"
},
"riskId": "12e3cdac-d347-4564-ba1f-305e5e1e8ded"
}'
OK
Response code defined by NPS indicating status of request.
Format Type: Alphanumeric
Length: 4 to 5
Unique transaction identifier. This value is used when sending a subsequent transaction such as a Capture or Refund.
Format Type: UUID
Length: 36
{ "responseCode": "A100", "responseMessage": "Approved", "paymentTransactionId": "80503dc9-15f8-430a-8622-3cff38124bbd", "paymentType": { "ach": { … }, "creditCard": { … }, "applePay": { … } }, "accountValidationResult": { "responseCode": "1", "thirdPartyResponseCode": "2", "bankName": "UB Bank" }, "processorResponse": { "responseCode": "A0000", "responseMessage": "Success", "authorizationCode": "TAS890", "avsResultCode": "Z", "cvvResultCode": "M", "processedAmount": 123.65, "processorTransactionId": "49510555", "processorTransactionType": "Sale" }, "riskResponse": { "responseCode": "0", "riskId": "12e3cdac-d347-4564-ba1f-305e5e1e8ded", "data": { … } } }