{"_id":"@arifzyn/tokopay-client","_rev":"2-3780f23dc8c9bd34298ab96d6b2157fd","name":"@arifzyn/tokopay-client","dist-tags":{"latest":"0.0.3"},"versions":{"0.0.1":{"name":"@arifzyn/tokopay-client","version":"0.0.1","keywords":[],"author":{"name":"Arifzyn19"},"license":"MIT","_id":"@arifzyn/tokopay-client@0.0.1","maintainers":[{"name":"arifzyn","email":"arifzyn906@gmail.com"}],"homepage":"https://github.com/Arifzyn19/ts-template","bugs":{"url":"https://github.com/Arifzyn19/ts-template/issues"},"dist":{"shasum":"ec54bb93d8c75353c19317ac1e1c1bd5ae871ae9","tarball":"https://registry.npmjs.org/@arifzyn/tokopay-client/-/tokopay-client-0.0.1.tgz","fileCount":25,"integrity":"sha512-1LfsZNvqG0lbi5M5S6aKO1oNC6jGSy8G5X3gZMYenkH1ybk2SUt0PCwuvMiPSVRn0SGkT8FAn/jcBlOcCwslZg==","signatures":[{"sig":"MEQCIEJO89RoU47zsjJRkjJHZeX2S7FEQ5Ud8WDRES1FD1ttAiATLTSFDBQ1F6pj7B7rgcNgtoHYNYDwKZpKNF0SVcn1tw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66725},"main":"./dist/cjs/index.js","types":"./dist/@types/index.d.ts","exports":{".":{"types":"./dist/@types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"2c85755119b64af4f94ba65f0fada32d003dda3c","scripts":{"fix":"fix-esm-import-path dist/esm","lint":"eslint src/**/*.ts","clean":"rimraf ./dist","prepare":"npm run build:all","lint:fix":"eslint src/**/*.ts --fix","build:all":"npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run fix && node scripts/write-package.js","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json"},"_npmUser":{"name":"arifzyn","email":"arifzyn906@gmail.com"},"repository":{"url":"git+https://github.com/Arifzyn19/ts-template.git","type":"git"},"_npmVersion":"10.8.2","description":"Simple Tokopay Client Wrapper","directories":{},"_nodeVersion":"20.18.0","dependencies":{"md5":"^2.3.0","request-promise-native":"^1.0.9"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.34.0","rimraf":"^4.1.2","ts-node":"^10.9.2","prettier":"^3.2.5","@types/md5":"^2.3.5","typescript":"^4.9.5","@types/node":"^20.12.7","eslint-plugin-n":"^15.6.1","eslint-plugin-node":"^11.1.0","fix-esm-import-path":"^1.3.1","eslint-plugin-import":"^2.27.5","eslint-plugin-promise":"^6.1.1","eslint-config-prettier":"^9.1.0","eslint-config-standard":"^17.0.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^5.53.0","@types/request-promise-native":"^1.0.21","@typescript-eslint/eslint-plugin":"^5.53.0"},"_npmOperationalInternal":{"tmp":"tmp/tokopay-client_0.0.1_1732277995336_0.8097452019894487","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@arifzyn/tokopay-client","version":"0.0.2","keywords":["tokopay","api-client","tokopay-wrapper","tokopay-api"],"author":{"name":"Arifzyn19"},"license":"MIT","_id":"@arifzyn/tokopay-client@0.0.2","maintainers":[{"name":"arifzyn","email":"arifzyn906@gmail.com"}],"homepage":"https://github.com/Arifzyn19/tokopay-client","bugs":{"url":"https://github.com/Arifzyn19/tokopay-client/issues"},"dist":{"shasum":"b01372696a9826bef593bd7bc006fb75066d3d8f","tarball":"https://registry.npmjs.org/@arifzyn/tokopay-client/-/tokopay-client-0.0.2.tgz","fileCount":25,"integrity":"sha512-Vy4eeGQT3XuxQLVPtbjvMUC+AVR4Tl54dbnI5QOCDbAbClcLX+1bRHppVlGrI4pmHAFyz/7zV0lHdWowZ7PFpw==","signatures":[{"sig":"MEUCIQCWShtAv3HBFBF/bDbE5uB3hLLVN/RKcRCY6xnSbLoY6AIgYrR370Dz48RZ8PQ+t4EJNKK74AqgpCTFruzYhynnZDY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":67053},"main":"./dist/cjs/index.js","types":"./dist/@types/index.d.ts","exports":{".":{"types":"./dist/@types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"2c85755119b64af4f94ba65f0fada32d003dda3c","scripts":{"fix":"fix-esm-import-path dist/esm","lint":"eslint src/**/*.ts","clean":"rimraf ./dist","prepare":"npm run build:all","lint:fix":"eslint src/**/*.ts --fix","build:all":"npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run fix && node scripts/write-package.js","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json"},"_npmUser":{"name":"arifzyn","email":"arifzyn906@gmail.com"},"repository":{"url":"git+https://github.com/Arifzyn19/tokopay-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Simple Tokopay Client Wrapper","directories":{},"_nodeVersion":"20.18.0","dependencies":{"md5":"^2.3.0","request-promise-native":"^1.0.9"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.34.0","rimraf":"^4.1.2","ts-node":"^10.9.2","prettier":"^3.2.5","@types/md5":"^2.3.5","typescript":"^4.9.5","@types/node":"^20.12.7","eslint-plugin-n":"^15.6.1","eslint-plugin-node":"^11.1.0","fix-esm-import-path":"^1.3.1","eslint-plugin-import":"^2.27.5","eslint-plugin-promise":"^6.1.1","eslint-config-prettier":"^9.1.0","eslint-config-standard":"^17.0.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^5.53.0","@types/request-promise-native":"^1.0.21","@typescript-eslint/eslint-plugin":"^5.53.0"},"_npmOperationalInternal":{"tmp":"tmp/tokopay-client_0.0.2_1732278393019_0.5976388075816106","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@arifzyn/tokopay-client","version":"0.0.3","description":"Simple Tokopay Client Wrapper","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js","types":"./dist/@types/index.d.ts","default":"./dist/esm/index.js"}},"types":"./dist/@types/index.d.ts","main":"./dist/cjs/index.js","scripts":{"clean":"rimraf ./dist","lint":"eslint src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","build:esm":"tsc -p tsconfig.esm.json","build:cjs":"tsc -p tsconfig.cjs.json","build:types":"tsc -p tsconfig.types.json","fix":"fix-esm-import-path dist/esm","build:all":"npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run fix && node scripts/write-package.js","prepare":"npm run build:all"},"repository":{"type":"git","url":"git+https://github.com/Arifzyn19/tokopay-client.git"},"keywords":["tokopay","api-client","tokopay-wrapper","tokopay-api"],"author":{"name":"Arifzyn19"},"license":"MIT","bugs":{"url":"https://github.com/Arifzyn19/tokopay-client/issues"},"homepage":"https://github.com/Arifzyn19/tokopay-client","devDependencies":{"@types/md5":"^2.3.5","@types/node":"^20.12.7","@types/request-promise-native":"^1.0.21","@typescript-eslint/eslint-plugin":"^5.53.0","@typescript-eslint/parser":"^5.53.0","eslint":"^8.34.0","eslint-config-prettier":"^9.1.0","eslint-config-standard":"^17.0.0","eslint-plugin-import":"^2.27.5","eslint-plugin-n":"^15.6.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^5.1.3","eslint-plugin-promise":"^6.1.1","fix-esm-import-path":"^1.3.1","prettier":"^3.2.5","rimraf":"^4.1.2","ts-node":"^10.9.2","typescript":"^4.9.5"},"dependencies":{"md5":"^2.3.0","request-promise-native":"^1.0.9"},"_id":"@arifzyn/tokopay-client@0.0.3","gitHead":"a87b019191222c8fffd75c7ced145b47d1e9419f","_nodeVersion":"20.18.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-uWPSY4am7r2K30f+lwcfKojZH/g3lqUrR6AJrZ/7YUKvv92+R3iIk4+FJtZj62R8pqSsjeBYL8NUbxfPQsrUMQ==","shasum":"3f64151086b47609f517053886a1a3dea47a9c30","tarball":"https://registry.npmjs.org/@arifzyn/tokopay-client/-/tokopay-client-0.0.3.tgz","fileCount":25,"unpackedSize":67172,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCn2+DB9lbbOKTu+hW5LezP2/Ml+VFq/IpS+K3Nmx/NfwIgGFK9cGam+Z4IlVg7YYFio3auijcyARkjQ9aL0S0ylGQ="}]},"_npmUser":{"name":"arifzyn","email":"arifzyn906@gmail.com"},"directories":{},"maintainers":[{"name":"arifzyn","email":"arifzyn906@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tokopay-client_0.0.3_1732278874266_0.7596947021648708"},"_hasShrinkwrap":false}},"time":{"created":"2024-11-22T12:19:55.255Z","modified":"2024-11-22T12:34:34.652Z","0.0.1":"2024-11-22T12:19:55.504Z","0.0.2":"2024-11-22T12:26:33.174Z","0.0.3":"2024-11-22T12:34:34.472Z"},"bugs":{"url":"https://github.com/Arifzyn19/tokopay-client/issues"},"author":{"name":"Arifzyn19"},"license":"MIT","homepage":"https://github.com/Arifzyn19/tokopay-client","keywords":["tokopay","api-client","tokopay-wrapper","tokopay-api"],"repository":{"type":"git","url":"git+https://github.com/Arifzyn19/tokopay-client.git"},"description":"Simple Tokopay Client Wrapper","maintainers":[{"name":"arifzyn","email":"arifzyn906@gmail.com"}],"readme":"# Tokopay TypeScript Client\n\nA TypeScript client for interacting with the Tokopay payment gateway API. This client provides easy-to-use methods for creating orders, checking order status, and managing your merchant account.\n\n## Installation\n\n```bash\nnpm install tokopay-ts\n# or\nyarn add tokopay-ts\n```\n\n## Usage\n\n### Initialize the Client\n\n```typescript\nimport Tokopay from \"tokopay-ts\";\n\nconst tokopay = new Tokopay(\"YOUR_MERCHANT_ID\", \"YOUR_SECRET\");\n```\n\n### Check Merchant Balance\n\n```typescript\nconst merchantInfo = await tokopay.info();\nconsole.log(\"Current Balance:\", merchantInfo.balance);\n```\n\n### Create Simple Order\n\nUse this method for quick order creation with minimal parameters:\n\n```typescript\n// Simple order creation\nconst simpleOrder = await tokopay.simpleOrder(\n  \"REF123\", // Your unique reference ID\n  \"BRIVA\", // Payment method code\n  25000, // Amount in IDR\n);\n\nconsole.log(\"Payment URL:\", simpleOrder.pay_url);\nconsole.log(\"Total Amount:\", simpleOrder.total_bayar);\n```\n\n### Create Complete Order\n\nUse this method when you need more control over the order details:\n\n```typescript\n// Complete order with all parameters\nconst orderItems = [\n  {\n    product_code: \"PROD-001\",\n    name: \"Gaming Mouse\",\n    price: 250000,\n    product_url: \"https://yourstore.com/gaming-mouse\",\n    image_url: \"https://yourstore.com/images/gaming-mouse.jpg\",\n  },\n];\n\nconst order = await tokopay.createOrder(\n  \"BRIVA\", // Payment channel code\n  \"ORDER-123\", // Your unique reference ID\n  250000, // Amount in IDR\n  \"John Doe\", // Customer name\n  \"johndoe@example.com\", // Customer email\n  \"081234567890\", // Customer phone\n  \"https://yourstore.com/return\", // Return URL (optional)\n  0, // Expiry time (0 for 24h default)\n  orderItems, // Order items (optional)\n);\n\nconsole.log(\"Virtual Account:\", order.data.nomor_va);\nconsole.log(\"Payment URL:\", order.data.pay_url);\nconsole.log(\"Amount:\", order.data.total_bayar);\n```\n\n### Check Order Status\n\nMonitor the payment status of your orders:\n\n```typescript\nconst orderStatus = await tokopay.checkOrderStatus(\n  \"ORDER-123\", // Your reference ID\n  \"BRIVA\", // Payment method used\n  250000, // Order amount\n);\n\nconsole.log(\"Payment Status:\", orderStatus.data.status);\nconsole.log(\"Payment Instructions:\", orderStatus.data.panduan_pembayaran);\nconsole.log(\"Transaction ID:\", orderStatus.data.trx_id);\n\n// Check if payment is completed\nif (orderStatus.data.status === \"Paid\") {\n  console.log(\"Payment has been received!\");\n}\n```\n\n### Withdraw Balance\n\nWithdraw funds from your merchant account:\n\n```typescript\nconst withdrawal = await tokopay.tarikSaldo(1000000); // Amount in IDR\nconsole.log(\"Withdrawal Status:\", withdrawal.status);\n```\n\n## Payment Method Codes\n\nCommon payment method codes you can use:\n\n- `BRIVA` - BRI Virtual Account\n- `BNIVA` - BNI Virtual Account\n- `BSIVA` - BSI Virtual Account\n- `QRIS` - QRIS Payment\n- `DANA` - DANA\n- `OVO` - OVO\n- `SHOPEEPAY` - ShopeePay\n\nSee Docs For Detail Payment Method [Tokopay Documentation](https://docs.tokopay.id/persiapan-awal/metode-pembayaran).\n\n## Response Types\n\n### Order Status Response\n\n```typescript\ninterface OrderStatusResponse {\n  data: {\n    other: string;\n    panduan_pembayaran: string; // Payment instructions\n    pay_url: string; // Payment page URL\n    qr_link: string; // QR code image URL (if applicable)\n    qr_string: string; // QR code string (if applicable)\n    status: \"Unpaid\" | \"Paid\" | \"Expired\" | \"Failed\";\n    total_bayar: number; // Total amount to pay\n    total_diterima: number; // Amount received after fees\n    trx_id: string; // Transaction ID\n  };\n  status: string;\n}\n```\n\n### Order Response\n\n```typescript\ninterface OrderResponse {\n  data: {\n    nomor_va: string; // Virtual account number\n    panduan_pembayaran: string; // Payment instructions\n    pay_url: string; // Payment page URL\n    total_bayar: number; // Total amount to pay\n    total_diterima: number; // Amount received after fees\n    trx_id: string; // Transaction ID\n  };\n  status: string;\n}\n```\n\n## Error Handling\n\nThe client includes proper error handling. Here's how to handle potential errors:\n\n```typescript\ntry {\n  const order = await tokopay.createOrder(/* ... */);\n  // Process successful order\n} catch (error) {\n  console.error(\"Failed to create order:\", error.message);\n  // Handle error appropriately\n}\n```\n\n## Development\n\n### Building the Project\n\n```bash\nnpm run build\n# or\nyarn build\n```\n\n### Running Tests\n\n```bash\nnpm test\n# or\nyarn test\n```\n\n## License\n\n[MIT](https://github.com/Arifzyn19/tokopay-client/blob/master/LICENSE)\n\n## Support\n\nFor support, please contact support@tokopay.id or visit [Tokopay Documentation](https://docs.tokopay.id).\n\n---\n\nRemember to replace `'YOUR_MERCHANT_ID'` and `'YOUR_SECRET'` with your actual Tokopay credentials.\n\n## LICENSE\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n","readmeFilename":"README.md"}