@erhahahaa/midtrans-client-typescript
v1.0.8
Published
Unofficical typescript version of midtrans client.
Readme
Midtrans Client (TypeScript)
Unofficial TypeScript rewrite of the Midtrans Node.js client with zero dependencies.
⚠️ Note: This is an unofficial package. For the official client, use
midtrans-client.
Features
- Zero runtime dependencies
- Full TypeScript support
- Native
fetchAPI (Node.js 18+) - ESM and CommonJS support
Installation
npm install @erhahahaa/midtrans-client-typescriptRequirements: Node.js 18+
Usage
Snap API
import { Snap } from '@erhahahaa/midtrans-client-typescript';
const snap = new Snap({
isProduction: false,
serverKey: 'YOUR_SERVER_KEY',
clientKey: 'YOUR_CLIENT_KEY',
});
const transaction = await snap.createTransaction({
transaction_details: {
order_id: 'order-123',
gross_amount: 100000,
},
customer_details: {
first_name: 'John',
email: '[email protected]',
},
});
console.log(transaction.redirect_url);Core API
import { CoreApi } from '@erhahahaa/midtrans-client-typescript';
const core = new CoreApi({
isProduction: false,
serverKey: 'YOUR_SERVER_KEY',
});
const charge = await core.charge({
payment_type: 'gopay',
transaction_details: {
order_id: 'order-123',
gross_amount: 100000,
},
});Transaction Status
const status = await snap.transaction.status('order-123');
console.log(status.transaction_status);Webhook Notification
app.post('/webhook', async (req, res) => {
const notification = await snap.transaction.notification(req.body);
if (notification.transaction_status === 'settlement') {
console.log('Payment success');
}
res.status(200).send('OK');
});API Reference
See Midtrans Documentation for complete API details.
License
This project is licensed under the MIT License © 2025 @erhahahaa.
