Mendapatkan informasi wallet pengguna
Authorization: Bearer {token}
{
"success": true,
"data": {
"balance": 1000000.00,
"transactions": [
{
"id": 1,
"type": "credit",
"amount": 500000.00,
"description": "Pembayaran booking #TRX-001",
"status": "success",
"created_at": "2024-05-03T10:00:00.000000Z",
"booking": {
"id": 1,
"transaction_code": "TRX-001",
"service_type": "jahit",
"category": "baju"
}
}
]
},
"message": "Wallet information retrieved successfully"
}
{
"success": false,
"data": {
"error": "Unauthorized access"
},
"message": "Error."
}
Mendapatkan daftar akun bank pengguna
Authorization: Bearer {token}
{
"success": true,
"data": [
{
"id": 1,
"bank_name": "BCA",
"account_number": "1234567890",
"account_holder_name": "John Doe",
"status": "active",
"verified_at": "2024-05-03T10:00:00.000000Z",
"created_at": "2024-05-03T10:00:00.000000Z",
"updated_at": "2024-05-03T10:00:00.000000Z"
},
{
"id": 2,
"bank_name": "Mandiri",
"account_number": "0987654321",
"account_holder_name": "John Doe",
"status": "pending",
"verified_at": null,
"created_at": "2024-05-03T11:00:00.000000Z",
"updated_at": "2024-05-03T11:00:00.000000Z"
}
],
"message": "Bank accounts retrieved successfully"
}
{
"success": false,
"data": {
"error": "Unauthorized access"
},
"message": "Error."
}
Mendaftarkan akun bank baru
Authorization: Bearer {token}
Content-Type: application/json
{
"bank_name": "BCA",
"account_number": "1234567890",
"account_holder_name": "John Doe"
}
{
"success": true,
"data": {
"id": 1,
"bank_name": "BCA",
"account_number": "1234567890",
"account_holder_name": "John Doe",
"status": "pending",
"created_at": "2024-05-03T10:00:00.000000Z"
},
"message": "Bank account registered successfully"
}
{
"success": false,
"data": {
"bank_name": ["The bank name field is required."],
"account_number": ["The account number field is required."],
"account_holder_name": ["The account holder name field is required."]
},
"message": "Validation Error."
}
Meminta penarikan dana
Authorization: Bearer {token}
Content-Type: application/json
{
"bank_account_id": 1,
"amount": 500000
}
{
"success": true,
"data": {
"id": 1,
"wallet_id": 1,
"bank_account_id": 1,
"amount": 500000.00,
"status": "pending",
"created_at": "2024-05-03T10:00:00.000000Z",
"updated_at": "2024-05-03T10:00:00.000000Z"
},
"message": "Withdrawal request submitted successfully"
}
{
"success": false,
"data": {
"error": "Insufficient balance."
},
"message": "Insufficient balance."
}
{
"success": false,
"data": {
"error": "Invalid bank account."
},
"message": "Invalid bank account."
}
Mendapatkan riwayat penarikan dana
Authorization: Bearer {token}
{
"success": true,
"data": [
{
"id": 1,
"wallet_id": 1,
"bank_account_id": 1,
"amount": 500000.00,
"status": "completed",
"rejection_reason": null,
"proof_of_payment": "proof_1.jpg",
"processed_at": "2024-05-03T11:00:00.000000Z",
"created_at": "2024-05-03T10:00:00.000000Z",
"updated_at": "2024-05-03T11:00:00.000000Z",
"bank_account": {
"id": 1,
"bank_name": "BCA",
"account_number": "1234567890",
"account_holder_name": "John Doe",
"status": "active"
}
},
{
"id": 2,
"wallet_id": 1,
"bank_account_id": 1,
"amount": 300000.00,
"status": "pending",
"rejection_reason": null,
"proof_of_payment": null,
"processed_at": null,
"created_at": "2024-05-04T10:00:00.000000Z",
"updated_at": "2024-05-04T10:00:00.000000Z",
"bank_account": {
"id": 1,
"bank_name": "BCA",
"account_number": "1234567890",
"account_holder_name": "John Doe",
"status": "active"
}
}
],
"message": "Withdrawal history retrieved successfully"
}
Mendapatkan daftar permintaan penarikan yang pending
Authorization: Bearer {token}
{
"success": true,
"data": [
{
"id": 1,
"wallet_id": 1,
"bank_account_id": 1,
"amount": 500000.00,
"status": "pending",
"rejection_reason": null,
"proof_of_payment": null,
"processed_at": null,
"created_at": "2024-05-03T10:00:00.000000Z",
"updated_at": "2024-05-03T10:00:00.000000Z",
"wallet": {
"id": 1,
"user_id": 2,
"balance": 1000000.00,
"user": {
"id": 2,
"name": "John Doe",
"email": "john@example.com",
"role": "penjahit"
}
},
"bank_account": {
"id": 1,
"bank_name": "BCA",
"account_number": "1234567890",
"account_holder_name": "John Doe",
"status": "active"
}
}
],
"message": "Pending withdrawals retrieved successfully"
}
{
"success": false,
"data": {
"error": "Unauthorized access"
},
"message": "Error."
}
Memproses permintaan penarikan
Authorization: Bearer {token}
Content-Type: multipart/form-data
{
"status": "processing", // atau "rejected"
"rejection_reason": "", // wajib diisi jika status = "rejected"
"proof_of_payment": [file] // wajib diupload jika status = "processing"
}
{
"success": true,
"data": {
"id": 1,
"wallet_id": 1,
"bank_account_id": 1,
"amount": 500000.00,
"status": "processing",
"rejection_reason": null,
"proof_of_payment": "proofs/withdrawal_1_proof.jpg",
"processed_at": "2024-05-03T10:30:00.000000Z",
"created_at": "2024-05-03T10:00:00.000000Z",
"updated_at": "2024-05-03T10:30:00.000000Z"
},
"message": "Withdrawal processed successfully"
}
{
"success": false,
"data": {
"status": ["The status field is required."],
"rejection_reason": ["The rejection reason field is required when status is rejected."],
"proof_of_payment": ["The proof of payment field is required when status is processing."]
},
"message": "Validation Error."
}
Menyelesaikan proses penarikan
Authorization: Bearer {token}
Content-Type: application/json
{
"success": true,
"data": {
"id": 1,
"wallet_id": 1,
"bank_account_id": 1,
"amount": 500000.00,
"status": "completed",
"rejection_reason": null,
"proof_of_payment": "proofs/withdrawal_1_proof.jpg",
"processed_at": "2024-05-03T10:30:00.000000Z",
"created_at": "2024-05-03T10:00:00.000000Z",
"updated_at": "2024-05-03T11:00:00.000000Z"
},
"message": "Withdrawal completed successfully"
}
{
"success": false,
"data": {
"error": "Invalid status."
},
"message": "Invalid status."
}
Memverifikasi akun bank
Authorization: Bearer {token}
Content-Type: application/json
{
"status": "active", // atau "rejected"
"rejection_reason": null // wajib diisi jika status = "rejected"
}
{
"success": true,
"data": {
"id": 1,
"user_id": 2,
"bank_name": "BCA",
"account_number": "1234567890",
"account_holder_name": "John Doe",
"status": "active",
"rejection_reason": null,
"verified_at": "2024-05-03T10:00:00.000000Z",
"created_at": "2024-05-02T10:00:00.000000Z",
"updated_at": "2024-05-03T10:00:00.000000Z"
},
"message": "Bank account verification completed"
}
{
"success": false,
"data": {
"status": ["The status field must be one of: active, rejected."],
"rejection_reason": ["The rejection reason field is required when status is rejected."]
},
"message": "Validation Error."
}