Payment API returns HTTP 200 even when invoice_id does not exist
Hello team,
We are integrating with Financial Edge NXT and using the following endpoint to create payments:
POST https://api.sky.blackbaud.com/treasury/v1/payments/createpayment
Issue
We observed that when attempting to create a payment using an invoice_id that does not exist, the API still returns an HTTP 200 OK response, but the payment is not actually created.
Instead of returning an error, the API returns an empty check_numbers array.
This makes it difficult to reliably detect payment failures in our integration.
Working Request (Valid invoice_id)
{ "bank_account_id": 1, "starting_check_number": 11130, "discount_date": "Payment date", "payment_date": "2026-04-09", "post_date": "2026-04-09", "post_date_operator": "Payment date", "post_status": "Not yet posted", "invoices": [ { "invoice_id": 5784, "amount": 1.0 } ]}
Response
{ "check_numbers": [ 11130 ]}
Non-working Request (invoice_id does not exist)
{ "bank_account_id": 1, "starting_check_number": 11121, "discount_date": "Payment date", "payment_date": "2026-04-09", "post_date": "2026-04-07", "post_date_operator": "Payment date", "post_status": "Not yet posted", "invoices": [ { "invoice_id": 57853, "amount": 1.0 } ]}
Response
{ "check_numbers": []}
Business Scenario
A customer initially created an invoice in the Blackbaud production environment, which we successfully synced into our system.
Later, the customer deleted the invoice in Blackbaud, but the deleted invoice record still existed in our system.
The customer then attempted to create a payment using this deleted invoice ID.
The API returned HTTP 200 OK, but the payment was not created.
We also tested locally by passing a completely non-existent invoice_id in Financial Edge NXT, and observed the same behaviour.
Questions
- Is this the expected behaviour of the
/treasury/v1/payments/createpaymentAPI? - Should the API ideally return an error response when the invoice_id does not exist?
- Is there a recommended validation step to confirm invoice existence before calling the payment API?
- What is the recommended way to reliably detect payment creation failure when the invoice_id is invalid?
- Are there any known best practices for handling deleted invoices in Financial Edge NXT integrations?
Concern
Since the API returns HTTP 200 even when no payment is created, integrations may incorrectly assume that the payment was successful.
We want to ensure our integration properly handles this scenario and avoids false success cases.
Answers
-
Hi @Accrualify Integration - I am reaching out to a member of my team to see what assistance we can provide. Thanks!
1 -
Hi @Accrualify Integration - I did check with my team and they recommended opening a Blackbaud support ticket to investigate this issue further. Thanks! Feel free to come back to the Community to post any solutions they were able to provide.
0 -
@Crystal Bruce Thank you
0
Categories
- All Categories
- 1 Blackbaud Agents for Good™
- Raiser's Edge NXT test
- 6 Blackbaud Community Help
- 211 bbcon®
- 1.4K Blackbaud Altru®
- 403 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 1.2K Blackbaud CRM™ and Blackbaud Internet Solutions™
- 16 donorCentrics®
- 360 Blackbaud eTapestry®
- 2.6K Blackbaud Financial Edge NXT®
- 661 Blackbaud Grantmaking™
- 583 Blackbaud Education Management Solutions for Higher Education
- 3.3K Blackbaud Education Management Solutions for K-12 Schools
- 947 Blackbaud Luminate Online® and Blackbaud TeamRaiser®
- 84 JustGiving® from Blackbaud®
- 6.8K Blackbaud Raiser's Edge NXT®
- 3.8K SKY Developer
- 251 ResearchPoint™
- 120 Blackbaud Tuition Management™
- 165 Organizational Best Practices
- 243 Member Lounge (Just for Fun)
- 37 Blackbaud Community Challenges
- 37 PowerUp Challenges
- 3 (Closed) PowerUp Challenge: Grid View Batch
- 3 (Closed) PowerUp Challenge: Chat for Blackbaud AI
- 3 (Closed) PowerUp Challenge: Data Health
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Product Update Briefing
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Standard Reports+
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Email Marketing
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Gift Management
- 4 (Closed) Raiser's Edge NXT PowerUp Challenge: Event Management
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Home Page
- 4 (Closed) Raiser's Edge NXT PowerUp Challenge: Standard Reports
- 4 (Closed) Raiser's Edge NXT PowerUp Challenge: Query
- 804 Community News
- 3K Jobs Board
- 57 Blackbaud SKY® Reporting Announcements
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)
