@paybridge-np/sdk
v3.0.0
Published
Official TypeScript SDK for the PayBridgeNP payment gateway — accept eSewa, Khalti, ConnectIPS, and Fonepay through a single API
Maintainers
Readme
@paybridge-np/sdk
Official TypeScript SDK for the PayBridgeNP payment gateway. Accept eSewa, Khalti, ConnectIPS, and Fonepay through a single API.
Installation
npm install @paybridge-np/sdk
# or
bun add @paybridge-np/sdkQuick start
import { PayBridge } from "@paybridge-np/sdk";
const client = new PayBridge({
apiKey: "sk_live_...", // from dashboard.paybridgenp.com
});
// Create a checkout session
const session = await client.checkout.create({
amount: 250000, // NPR 2,500 in paisa
currency: "NPR",
returnUrl: "https://mystore.com/success",
cancelUrl: "https://mystore.com/cart",
metadata: { orderId: "ORD-7842" },
customer: {
name: "Ram Shrestha",
email: "[email protected]",
phone: "9841000000",
},
});
// Redirect customer to hosted checkout
// session.checkout_url => https://checkout.paybridgenp.com/checkout/cs_xxx
// Expire a previously-created session so its URL stops being payable
// (use when you mint a fresh session for the same purchase).
await client.checkout.expire("cs_xxx");Payments
// List payments
const { data, meta } = await client.payments.list({ limit: 20 });
// Get a single payment
const payment = await client.payments.get("pay_xxx");Webhooks
// Register an endpoint
const endpoint = await client.webhooks.register({
url: "https://mystore.com/webhooks/paybridge",
events: ["payment.succeeded", "payment.failed"],
});
// Verify a webhook signature
const event = client.webhooks.verify(rawBody, signatureHeader, endpointSecret);Sandbox mode
Use a sandbox API key (sk_sandbox_...) to test without real money. The SDK automatically routes to sandbox endpoints.
Error handling
import { PayBridgeError, AuthenticationError } from "@paybridge-np/sdk";
try {
await client.checkout.create({ ... });
} catch (err) {
if (err instanceof AuthenticationError) {
// Invalid API key
} else if (err instanceof PayBridgeError) {
console.error(err.message, err.statusCode);
}
}Documentation
License
MIT
