{"templateId":"markdown","sharedDataIds":{},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Changelog"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"changelog","__idx":0},"children":["Changelog"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["September 30, 2026"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"sandbox-testing","__idx":1},"children":["Sandbox Testing"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Added information about ACH return code testing scenarios."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"payments-overview","__idx":2},"children":["Payments Overview"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Added information about accepting in-person payments through supported payment terminals."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"payments-api","__idx":3},"children":["Payments API"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Added the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["terminal"]}," payment type."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Added the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/terminals"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/terminals/cancel"]}," endpoints."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Clarified the description and usage of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tokenType"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"tokenization-api","__idx":4},"children":["Tokenization API"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Added support for including metadata in Apple Pay and PayPal tokenization requests."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Expanded the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Mark Cryptogram"]}," description to provide additional guidance."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Added information about using Bluefin for in-person payment tokenization."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["September 16, 2026"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"risk-service","__idx":5},"children":["Risk Service"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Changed ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["psAchPaymentType"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["standardEntryCode"]}," from ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]}," to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["integer"]}," with an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["int32"]}," format. Their enum values are now represented as integers."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Renamed ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["isFraud"]}," to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fraud"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Updated supported export formats by replacing ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["JSON"]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["XLSX"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Corrected several examples so that their values match the documented data types, including amount, discount, account-number, expiration-date, service-code, and merchant-category-code examples."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Removed internal ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["x-rbac"]}," metadata from the Risk – Direct Merchants, Risk – Payments API, and Risk Event Logs tag definitions."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Simplified the special-character validation pattern without changing the characters it permits."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"transaction-status-update-webhook","__idx":6},"children":["Transaction Status Update Webhook"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Updated the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["previousStatus"]}," descriptions to clarify that they represent the current and previous payment transaction statuses."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Updated the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," values to include ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["REMITTED"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RETURNED"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Removed ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UNDER_REVIEW"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DISPUTE_WON"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PENDING"]}," from the documented ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," values."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Updated the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["previousStatus"]}," values to include ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RETURNED"]},"; the existing ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UNDER_REVIEW"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DISPUTE_WON"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PENDING"]}," values remain supported for previous statuses."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Clarified that ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]}," is the payment transaction amount represented as a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["BigDecimal"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"configuration-service","__idx":7},"children":["Configuration Service"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Added endpoints to create, update, and delete tags associated with merchant configuration nodes."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Added CRUD endpoints for managing Bluefin configurations. A Bluefin account ID must contain exactly 12 digits, and each configuration can contain only one merchant."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Added an endpoint for retrieving additional payment type AVS code mappings. Results can be filtered by payment type and map raw AVS codes to standard NPS AVS codes."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Added the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["BLUEFIN"]}," authority where required for Bluefin configuration and additional payment type operations."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Updated endpoint headings throughout the Configuration Service to use concise, action-oriented Title Case."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Clarified section, endpoint, and field descriptions, including Service Settings, Inheritance, SFTP, Payment Codes, Direct Entity, and ACH Return File documentation."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Corrected formatting, spacing, duplicated text, and malformed escape characters in several endpoint descriptions."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["September 2, 2026"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"ui-sdk-reference","__idx":8},"children":["UI SDK Reference"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Updated the UI SDK reference for PayPal and Venmo. The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["accountHolder"]}," object returned by the payment-verification response is flattened in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onTokenizationComplete"]}," result into four fields: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["accountHolderName"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["accountHolderId"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["phoneNumber"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["emailAddress"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"receipt-service-and-clearing-service","__idx":9},"children":["Receipt Service and Clearing Service"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Added the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://docs.nelnetpay.com/docs/remittance-and-settlement"},"children":["Remittance and Settlement"]}," guide."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Added the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://docs.nelnetpay.com/docs/receipts"},"children":["Receipt Service"]}," guide."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"payments-api-1","__idx":10},"children":["Payments API"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Added ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentId"]},", which identifies a payment throughout its lifecycle and can be submitted as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionInformation.originalPaymentId"]}," for a subsequent transaction."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Deprecated ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionInformation.originalPaymentTransactionId"]}," in favor of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionInformation.originalPaymentId"]},". The deprecated field remains supported, and existing integrations do not need to change."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["August 5, 2026"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"apple-pay-sdk","__idx":11},"children":["Apple Pay SDK"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Updated the Apple Pay SDK documentation and examples to reflect the current integration flow. Session tokens are now applied using ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["updateSessionToken()"]},", and Apple Pay is rendered through the standard ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mount()"]}," method with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentMethod: 'applePay'"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The update also corrects supported configuration options, result fields, cancellation handling, and error-code guidance. Recurring-payment examples now include only fields supported by NPS and clarify that NPS manages recurring payment plans, merchant validation, Apple Pay sessions, and payment-token processing."]}]},"headings":[{"value":"Changelog","id":"changelog","depth":1},{"value":"Sandbox Testing","id":"sandbox-testing","depth":4},{"value":"Payments Overview","id":"payments-overview","depth":4},{"value":"Payments API","id":"payments-api","depth":4},{"value":"Tokenization API","id":"tokenization-api","depth":4},{"value":"Risk Service","id":"risk-service","depth":4},{"value":"Transaction Status Update Webhook","id":"transaction-status-update-webhook","depth":4},{"value":"Configuration Service","id":"configuration-service","depth":4},{"value":"UI SDK Reference","id":"ui-sdk-reference","depth":4},{"value":"Receipt Service and Clearing Service","id":"receipt-service-and-clearing-service","depth":4},{"value":"Payments API","id":"payments-api-1","depth":4},{"value":"Apple Pay SDK","id":"apple-pay-sdk","depth":4}],"frontmatter":{"seo":{"title":"Changelog"}},"lastModified":"2026-10-07T17:09:59.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/changelog","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}