Skip to content

Releases: VandyTheCoder/bakong-open-api-ruby

v0.1.0 — Initial release

16 May 15:54

Choose a tag to compare

First release of bakong-open-api — an unofficial Ruby client for the Bakong Open API published by the National Bank of Cambodia.

⚠️ This gem is not an official SDK from the NBC or any Bakong-affiliated entity. It is an independent, community-maintained Ruby wrapper implemented against the public API documentation.

Features

  • All 10 documented endpoints across 4 resources:
    • `client.tokens.renew` — `POST /v1/renew_token`
    • `client.accounts.exists?` — `POST /v1/check_bakong_account`
    • `client.deeplinks.generate` — `POST /v1/generate_deeplink_by_qr`
    • `client.transactions.{check_by_md5, check_by_hash, check_by_short_hash, check_by_instruction_ref, check_by_external_ref, check_by_md5_list, check_by_hash_list}`
  • 12 domain-specific exception classes mapped from Bakong errorCodes
  • 7 transport-level exception classes (Authentication, TokenExpired, NotFound, RateLimit, Server, InvalidRequest, Connection)
  • Snake_case Ruby interface; camelCase ↔ snake_case conversion handled in helper
  • Optional `SourceInfo` struct for deep link generation
  • Pairs naturally with bakong-khqr for end-to-end KHQR payment flows
  • Zero runtime gem dependencies — uses only Ruby's standard library (Net::HTTP)
  • Ruby >= 3.4.1

Install

```
gem install bakong-open-api
```

Test coverage

44 RSpec examples, WebMock-stubbed for every endpoint. Live-smoke-tested against the real Bakong API during development.