Skip to content

Releases: alhifnywahid/merchantid

refactor: rename to `merchantid`, drop manual cookie login, automate publishing

Choose a tag to compare

@github-actions github-actions released this 11 Aug 05:21

Breaking

  • Package renamed from merchid to merchantid, including the CLI binary.
    Update to npm install merchantid and change the merchid command to
    merchantid.
  • Shopee: removed the manual cookie import (importSession). Shopee now
    authenticates only through OTP (phone + password, code via WhatsApp/SMS/call);
    pasting a browser session is no longer supported.

Improvements

  • Release: publish via npm Trusted Publishing (OIDC) on a pushed version tag -
    every release from 0.1.1 on carries build provenance.
  • Example: split into development and production consoles; drop the cookie
    import path from both.

Full changelog: v0.1.0...v0.1.1

v0.1.0 - first public release

Choose a tag to compare

@alhifnywahid alhifnywahid released this 09 Aug 08:38

Note: Published as merchid. The package was renamed to merchantid
in v0.1.1 - for new installs use npm install merchantid.
See v0.1.1.

MerchID turns a merchant's static QRIS into a unique per-order dynamic QRIS and
detects settlement by polling the provider's own transaction feed. An unofficial
client for GoPay Merchant (GoBiz) and ShopeePay Merchant.

Highlights

  • Dynamic QRIS per order - EMVCo TLV parse/build with CRC-16/CCITT-FALSE
    computed over UTF-8 bytes, so non-ASCII merchant names stay byte-accurate.
  • Settlement reconciliation - unique-amount allocation, transaction matching
    within a clock-skew window, expiry, cancellation, and background polling. A
    transaction settles at most one payment.
  • GoPay Merchant - OTP login, automatic token refresh on 401,
    merchant/outlet discovery, and the transaction feed.
  • ShopeePay Merchant - OTP login with a password second factor, session
    import from a browser login, merchant and store discovery, merchant switching
    without a new OTP, and silent session renewal while the account session is alive.
  • CLI - merchid login, session, merchants, stores, set-qris, and
    whoami, with credentials masked by default.
  • Zero runtime dependencies - ESM and CommonJS builds with type declarations
    for both. No Node built-ins outside the CLI; SHA-256, MD5, and CRC-16 are
    bundled, so Web Crypto is optional.

Requirements

Node.js 18 or newer, or any runtime with the Web Fetch API.

Install

​bash npm install merchid ​

Disclaimer

Not affiliated with, endorsed by, or sponsored by Gojek, GoTo, Shopee, or Sea
Group. This library uses private, undocumented endpoints; using it may violate
provider terms and put a merchant account at risk of rate limiting or
suspension. Use only with your own merchant account. See the README disclaimer
before deploying.

Full changelog: CHANGELOG.md