Deny Bank Withdrawal Request
Admin denial of bank withdrawal requests with mandatory reason
Deny Bank Withdrawal Request
Reject bank withdrawal requests with clear explanations for users
ADMIN Only
Overview
The denyBankWithdrawRequest mutation allows administrators to deny bank withdrawal requests with a mandatory reason. This helps users understand why their request was rejected and what steps they can take to resolve the issue.
Reason Required
Unlike crypto/PayPal denials, this mutation requires a denial reason as a mandatory parameter for user transparency.
GraphQL Schema
denyBankWithdrawRequest(
id: Int!,
reason: String!
): IntParameters
idInt! RequiredThe unique ID of the bank withdrawal request to deny
reasonString! RequiredClear explanation for why the withdrawal request is being denied
Return Value
IntReturns an integer indicating the updated status of the withdrawal request (typically 2 for denied).
Example Mutations
mutation {
denyBankWithdrawRequest(
id: 123,
reason: "Insufficient account verification. Please complete Level 2 KYC verification before requesting bank withdrawals."
)
}{
"data": {
"denyBankWithdrawRequest": 2
}
}mutation {
denyBankWithdrawRequest(
id: 124,
reason: "Bank account holder name does not match your verified identity. Please update your banking information or contact support."
)
}Implementation Example
async function denyBankWithdrawal(
requestId: number,
denialReason: string
) {
try {
// Validate reason is provided
if (!denialReason || denialReason.trim().length < 10) {
throw new Error('Denial reason must be clear and detailed (minimum 10 characters)');
}
// Deny the withdrawal
const result = await client.request(gql`
mutation DenyBank($id: Int!, $reason: String!) {
denyBankWithdrawRequest(
id: $id,
reason: $reason
)
}
`, {
id: requestId,
reason: denialReason
});
console.log('❌ Bank withdrawal denied');
// Notify user with reason
await notifyUserOfDenial(requestId, denialReason);
return result.denyBankWithdrawRequest;
} catch (error) {
console.error('Bank withdrawal denial failed:', error);
throw error;
}
}
// Usage examples
denyBankWithdrawal(
123,
'Insufficient KYC verification - please complete Level 2 verification'
);
denyBankWithdrawal(
124,
'Bank account details do not match verification records'
);Admin Review Process
denyBankWithdrawRequest with request ID and reasonWriting Effective Denial Reasons
"Bank account holder name 'John Smith' does not match your verified identity 'John A. Smith'. Please update your bank account information to match your verified name exactly, or contact support for assistance."
"Request denied." (Too vague, not actionable)
"Insufficient account verification. You must complete Level 2 KYC verification (including proof of address) before requesting bank withdrawals over $1,000. Please visit Settings > Verification to complete this process."
"Not verified." (Doesn't explain what verification is needed)
Best Practices
Explain exactly what is wrong and what the user needs to do to fix it
Tell users what they need to do to resolve the issue and resubmit
Use clear, professional language that helps rather than frustrates users
Point users to documentation, support contacts, or FAQ pages when appropriate
Never use generic reasons like "Request denied" or "Invalid request"
Related Operations
Approve Fiat Withdrawal
Approve bank withdrawal after manual transfer (ADMIN)
Fiat Withdrawal Request
User operation to request bank withdrawal
Send Confirmation Code
Request 2FA SMS code (ADMIN)
Withdrawal Overview
Complete withdrawal API documentation