Bug fixes:
- Fix
minifyJson()in SnapBi stripping whitespace inside JSON string values, which caused incorrect SNAP-BI webhook notification signature verification. The method now uses a character-level JSON minifier that preserves whitespace within quoted strings. - Fix
MidtransErrorgetter methods not being generated by Lombok on JDK 25. Replaced@Getterannotation with explicit getter methods forstatusCode,responseBody, andresponse.
Feature:
- New method to verify webhook notification
Feature:
-
New method to support SnapBi for direct debit, va, and qris.
Feature:
- new static method CoreApi, SnapApi, IrisApi, TransactionApi
- can change, TimeUnit for http connection settings
- can set global config via Midtrans class
- can add custom headers with config class
- validation for server-key empty, contain whitespace
Improvement:
- handle okhttp raw error/exception via MidtransError exception class
Notable changes:
- Migrate from retrofit to okhttp as http client
- Migrate repo host from jcenter/bintray to maven central
Feature:
- API Iris disbursement
- Payment BIN API
- Set Connection Pool & Keep alive connection
- Set header X-Idempotency-key for Iris and Idempotency-Key for Payment
- Set
X-Append-Notification: to add new notification url(s) alongside the settings on dashboard - Set
X-Override-Notification: to use new notification url(s) disregarding the settings on dashboard - Library version on
User-Agentheader
Improvement:
- Change logic for setup headers
- Remove versioning path from base URL, move to
String API_VERSIONin CoreAPI, SnapAPI interface class - Improve conditional logic for HttpLoggingInterceptors. Now all debugging response will be handled only from HttpLoggingInterceptors Which can show logs request and response information
Bugs fix:
- Failure/error response from Midtrans api result in empty json.
Improvement:
HttpLoggingInterceptor: Which can show logs request and response information. This feature This feature is disabled by default on production mode.
Feature:
- Allow HTTP Proxy config
- Allow set connectionTimeout
- Allow set readTimeout
- Allow set writeTimeout
Feature:
- CoreAPI basic functionality
- Snap API basic functionality
- Include Spring project example
- Basic usage sample on Readme
- Release via Bintray maven