npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

node-rdcw-slipverify

v4.0.1

Published

RDCW Slip Verify SDK v3 for Node.js — verify Thai bank slips via /v2/inquiry (JSON payload or multipart file)

Downloads

66

Readme

node-rdcw-slipverify

Deprecated — This package is no longer maintained. Use slipverify instead: a unified SDK for Thai bank & e-wallet slip verification (including RDCW) with a single inquiry API and multiple providers.

semantic-release: angular

Migrate to slipverify

npm install slipverify
import { inquiry } from "slipverify";
import { rdcw } from "slipverify/providers";

const provider = rdcw({
  clientId: "your-client-id",
  clientSecret: "your-client-secret",
});

const result = await inquiry({
  provider,
  payload: "0038000600000101030060217Bf870bf26685f55526203TH9104CF62",
});

if (result.valid) {
  console.log(result.data);
} else {
  console.log("Slip is invalid.");
}

| This package | slipverify | | ------------ | ------------------------------------------------------- | | createSlipVerify({ clientId, secret }) | rdcw({ clientId, clientSecret }) | | verifyFromPayload(payload) | inquiry({ provider, payload }) | | Result<T, E> ({ data } / { error }) | result.valid + result.data; API errors throw SlipVerifyError |

Other providers (SCB, KBank, SlipOK, Thunder, EasySlip, TrueMoney, etc.) use the same inquiry flow — see the slipverify README.

Requirements: Node >= 18 or Bun >= 1.0 (native fetch). Server-side only.


Legacy documentation (v4)

The sections below describe this deprecated package only. Do not start new projects on node-rdcw-slipverify.

Unofficial SDK for RDCW Slip Verify. Requests use POST {baseUrl}/v2/inquiry with fetch — JSON body for a payload string, or multipart/form-data (file) for slip images.

Installation

npm install node-rdcw-slipverify

Quick start

import { createSlipVerify } from "node-rdcw-slipverify";

const slip = createSlipVerify({
  clientId: "your-client-id",
  secret: "your-client-secret",
});

const result = await slip.verifyFromPayload(
  "0038000600000101030060217Bf870bf26685f55526203TH9104CF62"
);

if (result.error) {
  console.log(result.error.message, result.error.code);
} else {
  console.log(result.data);
}

Verify from slip image (multipart)

import fs from "node:fs";
import { createSlipVerify } from "node-rdcw-slipverify";

const slip = createSlipVerify({
  clientId: process.env.RDCW_CLIENT_ID!,
  secret: process.env.RDCW_SECRET!,
});

const buf = fs.readFileSync("./slip.jpg");

const result = await slip.verifyFromSlipFile({
  data: buf,
  fileName: "slip.jpg",
  contentType: "image/jpeg",
});

Validation (optional second argument)

const result = await slip.verifyFromPayload(payload, {
  expectedAccount: "1234567890",
  expectedBank: "014",
  expectedAmount: "100.00",
  maxAgeDays: 1,
  rejectCached: true,
});

Development

ni
nr build

License

ISC