Skip to main content
This page tracks releases of the Waffo SDK packages (Node.js / Java / Go / Python). For the Waffo API version history, see API version history.

Node.js SDK (@waffo/waffo-node)

1

v3.0.1 (2026-08-04) — Latest

  • Updated the X-SDK-VERSION request header to waffo-node/3.0.1
  • merchantConfig().inquiry() and payMethodConfig().inquiry() now accept an omitted merchantId; the SDK uses the merchantId configured on the Waffo client
2

v3.0.0 (2026-07-29)

  • Breaking change: CreateOrderParams.paymentTokenData and InquiryMerchantConfigData.totalDailyLimit / remainingDailyLimit / transactionLimit are now string, matching API JSON-string fields. Parse the JSON string in your app when you need a structured value
  • Removed the unusable PaymentTokenData interface that only typed the old object form
  • Schema validation now checks OpenAPI field types, not just field names
3

v2.7.0 (2026-07-28)

  • PayMethodDetail now exposes payMethodType, currency, orderAmountMin, orderAmountMax, and refundAllowed
  • currentStatus is optional when real-time availability is unavailable
4

v2.6.0 (2026-07-17)

  • Added wallet address inquiry, x402 order data, promotion fields, and typed x402 payment Webhook data
  • Kept deprecated legacy order and subscription fields/types available while aligning the active wire contract with the latest OpenAPI specification
  • Release validation now fails when the shared schema field vector is stale
5

v2.5.1 (2026-07-06)

  • Fixed compatibility so subscription().create() remains backward compatible when subscriptionManagementUrl is omitted
  • Keeps subscriptionManagementUrl supported, but no longer rejects existing payloads before sending the API call
6

v2.5.0 (2026-05-13)

  • Added subscription().update() to update subscription amounts, trial amounts, and scheduled amounts
  • Added scheduledAmounts to ProductInfo for subscription create, change, update, and inquiry flows
  • Added typed fields for subscription extension info, token card data, card BIN data, and product details
  • Automatically injects the current time when Order().Capture() omits captureRequestedAt
7

v2.4.0 (2026-03-14)

  • Type alignment: all SDK type fields are consistent with the openapi.json definitions
  • Fixed endpoint paths for merchantConfig and payMethodConfig
  • Added the captureRequestedAt field to CaptureOrderParams
  • Added the captureMode field to PaymentInfo
  • Added Capture E2E tests and Schema field validation tests
8

v2.3.4 (2026-03-10)

  • Made RefundOrderParams.requestedAt optional; the SDK will automatically inject the current UTC time
9

v2.3.3 (2026-03-03)

  • Fixed RefundOrderParams field names and types to align with openapi.json
  • Renamed notifyUrl to refundNotifyUrl
  • Added refund Webhook E2E tests
10

v2.3.2 (2026-03-02)

  • Added handling for the SUBSCRIPTION_CHANGE_NOTIFICATION Webhook event
11

v2.3.1 (2026-03-01)

  • Important fix: buildSuccessResponse() returns {"message":"success"} instead of {"status":"success"}
12

v2.3.0 (2026-02-24)

  • Automatically inject timestamps: when not provided, orderRequestedAt and requestedAt will be set automatically

Java SDK (waffo-java)

1

v3.0.0 (2026-07-29) — Latest

  • Breaking change: CreateOrderParams.paymentTokenData, PaymentInfo.payMethodProperties, PaymentInfo.cashierAppearance, and InquiryMerchantConfigData.totalDailyLimit / remainingDailyLimit / transactionLimit are now String, matching API JSON-string fields
  • Removed the unusable PaymentTokenData, PayMethodProperties, and CashierAppearance classes that only typed the old object forms; SubscriptionPaymentInfo already used String for the matching fields
  • Schema validation now checks OpenAPI field types. Enums count as strings, and failure-reason fields with custom Jackson deserialization are explicit exemptions
2

v2.0.0 (2026-07-28)

  • SubscriptionPaymentInfo.cashierLanguage and SubscriptionPaymentInfoResponse.cashierLanguage now use String and support API-supported IETF BCP 47 language tags
  • PayMethodDetail now exposes payMethodType, currency, orderAmountMin, orderAmountMax, and refundAllowed; currentStatus can be null
  • Retained and expanded CashierLanguage convenience constants to the current 22 language codes; they are a convenience snapshot, not a local SDK input allowlist
  • When upgrading, convert enum arguments to strings or .getValue(); if you only replace the JAR, remove old cached or shaded copies and run a clean rebuild
3

v1.5.0 (2026-07-17)

  • Added wallet address inquiry, x402 order data, promotion fields, and typed x402 payment Webhook data
  • Kept deprecated legacy order and subscription fields/types available while aligning the active wire contract with the latest OpenAPI specification
  • Release validation now fails when the shared schema field vector is stale
4

v1.4.1 (2026-07-06)

  • Compatibility release that keeps subscriptionManagementUrl optional
  • Aligns SDK schema and E2E gates for payMethodDetails
5

v1.4.0 (2026-06-02)

  • Parses orderFailedReason, refundFailedReason, and subscription failedReason when callbacks send objects or JSON strings
  • Preserves existing failure reason access and keeps plain-string failure descriptions
6

v1.3.0 (2026-05-13)

  • Added subscription().update() to update subscription amounts, trial amounts, and scheduled amounts
  • Added SubscriptionScheduledAmount, SubscriptionUpdateProductInfo, UpdateSubscriptionParams, and UpdateSubscriptionData
  • Added typed fields for subscription extension info, token card data, card BIN data, and product details
7

v1.2.0 (2026-03-14)

  • Type alignment: all SDK type fields are consistent with the openapi.json definitions
  • Fixed Java 8 compatibility issues
  • Added Capture E2E tests and Schema field validation tests
8

v1.1.2 (2026-03-10)

  • Automatically inject RefundOrderParams.requestedAt
  • Added SUBSCRIPTION_CHANGE_NOTIFICATION Webhook handling
  • Fixed RefundOrderParams field alignment issues
9

v1.1.1 (2026-03-01)

  • Important fix: buildSuccessResponse() returns {"message":"success"} instead of {"status":"SUCCESS"}
10

v1.1.0 (2026-02-24)

  • Automatically inject timestamps
  • Changed CancelOrderParams.orderRequestedAt type from String to Instant

Go SDK (waffo-go)

1

v2.0.1 (2026-07-29) — Latest

  • Corrected the Go v2 module path to github.com/waffo-com/waffo-go/v2, as required by Go modules for v2 and later
  • The v2.0.0 tag used the v1 module path and cannot resolve through the Go proxy. Use v2.0.1
2

v2.0.0 (2026-07-29)

  • Breaking change: order.CreateOrderParams.PaymentTokenData and merchant.InquiryMerchantConfigData.TotalDailyLimit / RemainingDailyLimit / TransactionLimit are now string, matching API JSON-string fields
  • Removed the unusable order.PaymentTokenData struct that only typed the old object form
  • Schema validation now checks OpenAPI field types, not just JSON tag names
3

v1.6.0 (2026-07-28)

  • PayMethodDetail now exposes PayMethodType, Currency, OrderAmountMin, OrderAmountMax, and optional RefundAllowed
  • CurrentStatus can be empty when real-time availability is unavailable
4

v1.5.0 (2026-07-17)

  • Added wallet address inquiry, x402 order data, promotion fields, and typed x402 payment Webhook data
  • Kept deprecated legacy order and subscription fields/types available while aligning the active wire contract with the latest OpenAPI specification
  • Release validation now fails when the shared schema field vector is stale
5

v1.4.1 (2026-07-06)

  • Compatibility release that keeps SubscriptionManagementURL optional
  • Aligns SDK schema and E2E gates for payMethodDetails
6

v1.4.0 (2026-05-13)

  • Added Subscription().Update() to update subscription amounts, trial amounts, and scheduled amounts
  • Added ScheduledAmount support for subscription create, change, update, and inquiry flows
  • Added typed fields for subscription extension info, token card data, card BIN data, and product details
  • Automatically injects the current time when Order().Capture() omits CaptureRequestedAt
  • Expanded schema field validation for required fields and nested subscription/order structures
7

v1.3.2 (2026-05-12)

  • Parses JSON-string orderFailedReason, refundFailedReason, and subscription failedReason callback payloads
  • Added failed callback tests for payment, refund, and subscription Webhook handling
  • Refund E2E flows now use DANA, and sandbox prerequisites now fail or skip explicitly
8

v1.3.1 (2026-03-16)

  • Fixed Go module proxy cache issues
9

v1.3.0 (2026-03-14)

  • Type alignment: all SDK type fields are consistent with the openapi.json definitions
  • Fixed endpoint paths for merchantConfig and payMethodConfig
  • Added RefundStatus, OrderStatus, and SubscriptionStatus constants
  • Added Capture E2E tests and Schema field validation tests
10

v1.2.2 (2026-03-03)

  • Fixed RefundOrderParams fields to align with openapi.json
  • Added refund Webhook E2E tests
11

v1.2.1 (2026-03-01)

  • Important fix: BuildSuccessResponse() returns {"message":"success"} instead of {"status":"success"}
12

v1.2.0 (2026-02-24)

  • Automatically inject timestamps

Python SDK (waffo)

1

v0.4.0b0 (2026-07-28) — Latest

  • PayMethodDetail now exposes pay_method_type, currency, order_amount_min, order_amount_max, and refund_allowed
  • current_status is optional when real-time availability is unavailable
2

v0.3.0b0 (2026-07-17)

  • Added wallet address inquiry, x402 order data, promotion fields, and x402 Webhook payload coverage
  • Wallet inquiry parameters now allow merchantInfo to be omitted when the SDK injects it from configuration
  • Deprecated generated model names and legacy order/subscription fields remain available for source compatibility
  • Schema drift validation now detects a stale shared schema field vector
3

v0.2.0b1 (2026-07-06)

  • Compatibility release that keeps subscriptionManagementUrl optional
  • Aligns SDK schema and E2E gates for payMethodDetails
4

v0.2.0b0 (2026-05-13)

  • Added subscription.update() to update subscription amounts, trial amounts, and scheduled amounts
  • Added scheduled amount models across subscription create, change, update, and inquiry fields
  • Expanded order capture timestamp auto-injection and schema field validation coverage
5

v0.1.0b0 (2026-05-09)

  • Published the first Python beta release
  • Added support for payments, refunds, subscriptions, merchant configuration, payment method configuration, and Webhook signature verification