{ "info": { "_postman_id": "midtrans-gateway", "name": "Midtrans Gateway", "description": "# 🏆 Midtrans Gateway\n\nKoleksi paling komprehensif yang mencakup **SELURUH** metode pembayaran Midtrans yang didukung oleh gateway ini secara modular.\n\n## 📋 Daftar Isi\n1. **Bank Transfer (Virtual Account)**: BCA, BNI, BRI, Mandiri, Permata, CIMB, Danamon, BSI.\n2. **E-Wallet & QRIS**: GoPay, ShopeePay, QRIS, DANA, Google Pay.\n3. **Retail Store (CStore)**: Indomaret, Alfamart.\n4. **Credit Card**: Secure Charge API.\n5. **PayLater (BNPL)**: Akulaku, Kredivo, Indodana.\n\n--- \n*Dokumentasi disusun oleh Senior Fullstack Engineer*", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "item": [ { "name": "1. Bank Transfer (VA)", "item": [ { "name": "BCA Virtual Account", "request": { "method": "POST", "body": { "mode": "raw", "raw": "{\n \"order_id\": \"{{$guid}}\",\n \"external_id\": \"INV-BCA-{{$timestamp}}\",\n \"amount\": 10000 // optional\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/bank-transfer/bca", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "bank-transfer", "bca" ] } } }, { "name": "BNI Virtual Account", "request": { "method": "POST", "body": { "mode": "raw", "raw": "{\n \"order_id\": \"{{$guid}}\",\n \"external_id\": \"INV-BNI-{{$timestamp}}\",\n \"amount\": 10000 // optional\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/bank-transfer/bni", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "bank-transfer", "bni" ] } } }, { "name": "BRI Virtual Account", "request": { "method": "POST", "body": { "mode": "raw", "raw": "{\n \"order_id\": \"{{$guid}}\",\n \"external_id\": \"INV-BRI-{{$timestamp}}\",\n \"amount\": 10000 // optional\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/bank-transfer/bri", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "bank-transfer", "bri" ] } } }, { "name": "Mandiri (E-Channel)", "request": { "method": "POST", "body": { "mode": "raw", "raw": "{\n \"order_id\": \"{{$guid}}\",\n \"external_id\": \"INV-MANDIRI-{{$timestamp}}\",\n \"amount\": 10000 // optional\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/bank-transfer/mandiri", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "bank-transfer", "mandiri" ] } } }, { "name": "Permata Virtual Account", "request": { "method": "POST", "body": { "mode": "raw", "raw": "{\n \"order_id\": \"{{$guid}}\",\n \"external_id\": \"INV-PERMATA-{{$timestamp}}\",\n \"amount\": 10000\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/bank-transfer/permata", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "bank-transfer", "permata" ] } } }, { "name": "CIMB Virtual Account", "request": { "method": "POST", "body": { "mode": "raw", "raw": "{\n \"order_id\": \"{{$guid}}\",\n \"external_id\": \"INV-CIMB-{{$timestamp}}\",\n \"amount\": 10000\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/bank-transfer/cimb", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "bank-transfer", "cimb" ] } } }, { "name": "Danamon Virtual Account", "request": { "method": "POST", "body": { "mode": "raw", "raw": "{\n \"order_id\": \"{{$guid}}\",\n \"external_id\": \"INV-DANAMON-{{$timestamp}}\",\n \"amount\": 10000\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/bank-transfer/danamon", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "bank-transfer", "danamon" ] } } }, { "name": "BSI Virtual Account", "request": { "method": "POST", "body": { "mode": "raw", "raw": "{\n \"order_id\": \"{{$guid}}\",\n \"external_id\": \"INV-BSI-{{$timestamp}}\",\n \"amount\": 10000\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/bank-transfer/bsi", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "bank-transfer", "bsi" ] } } } ] }, { "name": "2. E-Wallet", "item": [ { "name": "GoPay", "request": { "method": "POST", "body": { "mode": "raw", "raw": "{\n \"order_id\": \"{{$guid}}\",\n \"external_id\": \"INV-GOPAY-{{$timestamp}}\",\n \"amount\": 10000 // optional\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/e-wallet/gopay", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "e-wallet", "gopay" ] } } }, { "name": "ShopeePay", "request": { "method": "POST", "body": { "mode": "raw", "raw": "{\n \"order_id\": \"{{$guid}}\",\n \"external_id\": \"INV-SHOPEE-{{$timestamp}}\",\n \"amount\": 10000\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/e-wallet/shopeepay", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "e-wallet", "shopeepay" ] } } }, { "name": "QRIS (Semua E-Wallet)", "request": { "method": "POST", "body": { "mode": "raw", "raw": "{\n \"order_id\": \"{{$guid}}\",\n \"external_id\": \"INV-QRIS-{{$timestamp}}\",\n \"amount\": 10000\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/e-wallet/qris", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "e-wallet", "qris" ] } } }, { "name": "DANA", "request": { "method": "POST", "body": { "mode": "raw", "raw": "{\n \"order_id\": \"{{$guid}}\",\n \"external_id\": \"INV-DANA-{{$timestamp}}\",\n \"amount\": 10000\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/e-wallet/dana", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "e-wallet", "dana" ] } } } ] }, { "name": "3. Retail Store", "item": [ { "name": "Indomaret", "request": { "method": "POST", "body": { "mode": "raw", "raw": "{\n \"order_id\": \"{{$guid}}\",\n \"external_id\": \"INV-INDO-{{$timestamp}}\",\n \"amount\": 10000\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/cstore/indomaret", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "cstore", "indomaret" ] } } }, { "name": "Alfamart (Group)", "request": { "method": "POST", "body": { "mode": "raw", "raw": "{\n \"order_id\": \"{{$guid}}\",\n \"external_id\": \"INV-ALFA-{{$timestamp}}\",\n \"amount\": 10000\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/cstore/alfamart", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "cstore", "alfamart" ] } } } ] }, { "name": "4. PayLater (BNPL)", "item": [ { "name": "Akulaku", "request": { "method": "POST", "body": { "mode": "raw", "raw": "{\n \"order_id\": \"{{$guid}}\",\n \"external_id\": \"INV-AKU-{{$timestamp}}\",\n \"amount\": 100000,\n \"item_details\": [{ \"id\": \"1\", \"price\": 100000, \"quantity\": 1, \"name\": \"Test Item\" }],\n \"customer_details\": { \"first_name\": \"User\", \"email\": \"test@example.com\" }\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/paylater/akulaku", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "paylater", "akulaku" ] } } }, { "name": "Kredivo", "request": { "method": "POST", "body": { "mode": "raw", "raw": "{\n \"order_id\": \"{{$guid}}\",\n \"external_id\": \"INV-KRE-{{$timestamp}}\",\n \"amount\": 100000,\n \"item_details\": [{ \"id\": \"1\", \"price\": 100000, \"quantity\": 1, \"name\": \"Test Item\" }]\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/paylater/kredivo", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "paylater", "kredivo" ] } } }, { "name": "Indodana", "request": { "method": "POST", "body": { "mode": "raw", "raw": "{\n \"order_id\": \"{{$guid}}\",\n \"external_id\": \"INV-IND-{{$timestamp}}\",\n \"amount\": 100000,\n \"item_details\": [{ \"id\": \"1\", \"price\": 100000, \"quantity\": 1, \"name\": \"Test Item\" }]\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/paylater/indodana", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "paylater", "indodana" ] } } } ] }, { "name": "5. Credit Card", "item": [ { "name": "Charge Credit Card", "request": { "method": "POST", "body": { "mode": "raw", "raw": "{\n \"order_id\": \"{{$guid}}\",\n \"external_id\": \"INV-CC-{{$timestamp}}\",\n \"amount\": 500000,\n \"credit_card_token\": \"ISI_TOKEN_DARI_FRONTEND\"\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/credit-card/charge", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "credit-card", "charge" ] } } } ] }, { "name": "6. Snap Modal (Tokenization)", "item": [ { "name": "Get Snap Token", "request": { "method": "POST", "header": [], "body": { "mode": "raw", "raw": "{\n \"order_id\": \"{{$guid}}\",\n \"external_id\": \"INV-SNAP-{{$timestamp}}\",\n \"amount\": 250000, // optional\n \"customer_details\": {\n \"first_name\": \"User\",\n \"email\": \"test@example.com\"\n },\n \"item_details\": [\n {\n \"id\": \"item1\",\n \"price\": 250000,\n \"quantity\": 1,\n \"name\": \"Product Snap Test\"\n }\n ]\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/snap/token", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "snap", "token" ] } } } ] }, { "name": "7. Transaction Management", "item": [ { "name": "Check Status", "request": { "method": "GET", "header": [], "url": { "raw": "{{base_url}}/api/v1/transaction/status/ORDER_ID_ANDA", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "transaction", "status", "ORDER_ID_ANDA" ] } } }, { "name": "Refund Transaction", "request": { "method": "POST", "header": [], "body": { "mode": "raw", "raw": "{\n \"order_id\": \"ORDER_ID_PENDING_REFUND\",\n \"amount\": 5000, // optional\n \"reason\": \"Refund requested by user\"\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/transaction/refund", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "transaction", "refund" ] } } }, { "name": "Cancel Transaction", "request": { "method": "POST", "header": [], "url": { "raw": "{{base_url}}/api/v1/transaction/cancel/ORDER_ID_ANDA", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "transaction", "cancel", "ORDER_ID_ANDA" ] } } } ] }, { "name": "8. Notification (Webhook)", "request": { "method": "POST", "body": { "mode": "raw", "raw": "{\n \"transaction_status\": \"settlement\",\n \"status_code\": \"200\",\n \"order_id\": \"INV-TEST-123\",\n \"gross_amount\": \"10000.00\",\n \"signature_key\": \"ISI_SIGNATURE_SESUAI_RUMUS_SHA512\"\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{base_url}}/api/v1/notification/handling", "host": [ "{{base_url}}" ], "path": [ "api", "v1", "notification", "handling" ] } } } ], "variable": [ { "key": "base_url", "value": "http://localhost:3000", "type": "string" } ] }