first commit

This commit is contained in:
2026-02-18 16:03:43 +07:00
commit c52ecd6514
54 changed files with 8270 additions and 0 deletions

View File

@@ -0,0 +1,661 @@
{
"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"
}
]
}