NYYU Logo
APIWithdraw

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

Mutation Schema
Deny bank withdrawal with reason
denyBankWithdrawRequest(
  id: Int!,
  reason: String!
): Int

Parameters

📋
Required Parameters
All fields are mandatory
idInt! Required

The unique ID of the bank withdrawal request to deny

reasonString! Required

Clear explanation for why the withdrawal request is being denied

Common Denial Reasons:
Insufficient account verification - please complete KYC
Bank account details do not match verification records
Invalid or incomplete banking information provided
Suspicious activity detected - additional verification required
Account holder name does not match registered user
Withdrawal amount exceeds daily/monthly limits

Return Value

📊
Integer Response
Updated status value
Return Type: Int

Returns an integer indicating the updated status of the withdrawal request (typically 2 for denied).

Example Mutations

Deny Due to Verification Issues
mutation {
  denyBankWithdrawRequest(
    id: 123,
    reason: "Insufficient account verification. Please complete Level 2 KYC verification before requesting bank withdrawals."
  )
}
Response
{
  "data": {
    "denyBankWithdrawRequest": 2
  }
}
Deny Due to Invalid Banking Details
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

Bank Withdrawal Denial Workflow
1
Review Withdrawal Request
Examine all banking details, user verification status, and compliance requirements
2
Identify Issue
Determine the specific reason why the request cannot be approved
3
Write Clear Reason
Compose detailed, actionable explanation that helps user understand and resolve the issue
4
Submit Denial
Call denyBankWithdrawRequest with request ID and reason
5
Follow Up (Optional)
If needed, contact user directly to explain resolution steps

Writing Effective Denial Reasons

Good Example

"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."

Bad Example

"Request denied." (Too vague, not actionable)

Good Example

"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."

Bad Example

"Not verified." (Doesn't explain what verification is needed)

Best Practices

Be Specific and Clear

Explain exactly what is wrong and what the user needs to do to fix it

Provide Actionable Steps

Tell users what they need to do to resolve the issue and resubmit

Maintain Professional Tone

Use clear, professional language that helps rather than frustrates users

Reference Support Resources

Point users to documentation, support contacts, or FAQ pages when appropriate

Avoid Vague Rejections

Never use generic reasons like "Request denied" or "Invalid request"

📝
Clear Communication is Key
Always provide detailed, actionable reasons when denying withdrawals to help users resolve issues quickly