Conversation
✅ Deploy Preview for developers-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
| --- | ||
| title: 'Getting Started with Open Payments Java SDK' | ||
| description: 'Discover the Open Payments Java SDK and master its usage for seamless integrations.' | ||
| date: 2025-12-18 |
There was a problem hiding this comment.
I'll update the date when it will be released
| <artifactId>open-payments</artifactId> | ||
| <version>1.0.0</version> | ||
| </dependency> | ||
| ``` |
There was a problem hiding this comment.
Note to self: check before publishing that the project is available on Maven Central
There was a problem hiding this comment.
@oana-lolea , true, I always check out the mvnrepository:
https://mvnrepository.com/artifact/org.interledger/open-payments
mkurapov
left a comment
There was a problem hiding this comment.
General question/suggestion, were there any specific challenges during building the SDK that is worth mentioning?
|
|
||
| - Complete support for managing Open Payments operations (grants, incoming and outgoing payments, obtaining quotes and token). | ||
| - Full error handling and validation. | ||
| - Configurable HTTP clients. |
There was a problem hiding this comment.
Maybe we can mention how these can be configured
| We've heard from our community: Java remains a powerhouse for enterprise-grade applications, especially in the fintech space where reliability, scalability, and security are paramount. The new Java SDK addresses this by offering: | ||
|
|
||
| - **Native Java feel**: Fluent APIs, builders, and strong typing. | ||
| - **Simplified complexity**: Handles GNAP grant flows, HTTP signing (EdDSA), nonce management, and interactive continuations automatically. |
There was a problem hiding this comment.
| - **Simplified complexity**: Handles GNAP grant flows, HTTP signing (EdDSA), nonce management, and interactive continuations automatically. | |
| - **Simplified complexity**: Handles GNAP grant flows, HTTP signature support (Ed25519), nonce management, and interactive continuations automatically. |
also, what does the SDK do with regards to "interactive continuations automatically?"
There was a problem hiding this comment.
I meant that for the integration testing, I've removed it.
mkurapov
left a comment
There was a problem hiding this comment.
Properly able to submit this review now :)
| While building the Java SDK for Interledger's Open Payments, we ran into two main challenges. | ||
|
|
||
| First, the OpenAPI specification did not work well with Java code generators. The generated Java code was cluttered — with unnecessary wrappers and structures that did not respect typical Java idioms and readability standards. Instead of trying to fix generated code with extra scripts or keeping the output, we chose to write the entire client layer by hand. This gave us a lightweight, focused library with full alignment to Java's conventions. | ||
|
|
||
| We also faced JSON handling issues that default Java libraries couldn't manage well. Open Payments models include special cases like RFC 3339 timestamp (`Instant`), ordered set (needing preserved insertion order of `Set`), and `Client` model. To fix this, we wrote custom serializers to ensure exact spec compliance. |
There was a problem hiding this comment.
Maybe we can add a subtitle for this section to better separate it
PR Checklist
Fixes #123)bun run formatto ensure code is properly formattedbun run lintpasses without errorsSummary
Added a blog post regarding the Java SDK for Open Payments.
Topics: