diff --git a/documents/customers.md b/documents/customers.md
index dfd8e665..360f8ee7 100644
--- a/documents/customers.md
+++ b/documents/customers.md
@@ -155,6 +155,251 @@ Customer customer = instance.customers.fetch(customerId);
-------------------------------------------------------------------------------------------------------
+
+### Add Bank Account of Customer
+
+```java
+String customerId = "cust_N5mywh91sXB69O"
+
+JSONObject customerRequest = new JSONObject();
+customerRequest.put("ifsc_code","UTIB0000194");
+customerRequest.put("account_number","916010082985661");
+customerRequest.put("beneficiary_name","Pratheek");
+customerRequest.put("beneficiary_address1","address 1");
+customerRequest.put("beneficiary_address2","address 2");
+customerRequest.put("beneficiary_address3","address 3");
+customerRequest.put("beneficiary_address4","address 4");
+customerRequest.put("beneficiary_email","random@email.com");
+customerRequest.put("beneficiary_mobile","8762489310");
+customerRequest.put("beneficiary_city","Bangalore");
+customerRequest.put("beneficiary_state","KA");
+customerRequest.put("beneficiary_country","IN");
+
+BankAccount bankaccount = instance.customers.addBankAccount(customerId, customerRequest)
+```
+
+**Parameters:**
+
+| Name | Type | Description |
+|----------------------|----------|---------------------------------------------------------------|
+| customerId* | string | Unique identifier of the customer. |
+| account_number | string | Customer's bank account number. |
+| beneficiary_name | string | The name of the beneficiary associated with the bank account. |
+| beneficiary_address1 | string | The virtual payment address. |
+| beneficiary_email | string | Email address of the beneficiary. |
+| beneficiary_mobile | integer | Mobile number of the beneficiary. |
+| beneficiary_city | string | The name of the city of the beneficiary. |
+| beneficiary_state | string | The state of the beneficiary. |
+| beneficiary_pin | interger | The pin code of the beneficiary's address. |
+| ifsc_code | string | The IFSC code of the bank branch associated with the account. |
+
+**Response:**
+```json
+{
+ "id" : "cust_1Aa00000000001",
+ "entity": "customer",
+ "name" : "Saurav Kumar",
+ "email" : "Saurav.kumar@example.com",
+ "contact" : "+919000000000",
+ "gstin":"29XAbbA4369J1PA",
+ "notes" : [],
+ "created_at ": 1234567890
+}
+```
+
+-------------------------------------------------------------------------------------------------------
+
+### Delete Bank Account of Customer
+
+```java
+String customerId = "cust_N5mywh91sXB69O"
+
+String bankAccountId = "ba_N6aM8uo64IzxHu"
+
+Customer customer = instance.customers.deleteBankAccount(customerId, bankaccountId)
+```
+
+**Parameters:**
+
+| Name | Type | Description |
+|---------------|-------------|---------------------------------------------|
+| customerId* | string | Unique identifier of the customer. |
+| bankAccountId | string | The bank_id that needs to be deleted. |
+
+**Response:**
+```json
+{
+ "id": "ba_Evg09Ll05SIPSD",
+ "ifsc": "ICIC0001207",
+ "bank_name": "ICICI Bank",
+ "name": "Test R4zorpay",
+ "account_number": "XXXXXXXXXXXXXXX0434",
+ "status": "deleted"
+}
+```
+
+-------------------------------------------------------------------------------------------------------
+
+### Eligibility Check API
+
+```java
+JSONObject customerRequest = new JSONObject();
+customerRequest.put("inquiry","affordability");
+customerRequest.put("amount", 500);
+customerRequest.put("currency","INR");
+JSONObject customer = new JSONObject();
+customer.put("id","elig_xxxxxxxxxxxxx")
+customer.put("contact","+919999999999")
+customer.put("ip","105.106.107.108")
+customer.put("referrer","https://merchansite.com/example/paybill")
+customer.put("user_agent","Mozilla/5.0")
+customerRequest.put("customer",customer);
+
+Customer customer = instance.customers.requestEligibilityCheck(customerRequest)
+```
+
+**Parameters:**
+
+| Name | Type | Description |
+|---------------|-------------|---------------------------------------------|
+| inquiry | string | List of methods or instruments on which eligibility check is required. |
+| amount* | string | The amount for which the order was created, in currency subunits. |
+| currency* | string | A three-letter ISO code for the currency in which you want to accept the payment. |
+| customer* | object | Customer details. [here](https://razorpay.com/docs/payments/payment-gateway/affordability/eligibility-check/#eligibility-check-api) |
+| instruments | object | Payment instruments on which an eligibility check is required. [here](https://razorpay.com/docs/payments/payment-gateway/affordability/eligibility-check/#eligibility-check-api) |
+
+
+**Response:**
+```json
+{
+ "amount": "500000",
+ "customer": {
+ "id": "KkBhM9EC1Y0HTm",
+ "contact": "+919999999999"
+ },
+ "instruments": [
+ {
+ "method": "emi",
+ "issuer": "HDFC",
+ "type": "debit",
+ "eligibility_req_id": "elig_xxxxxxxxxxxxx",
+ "eligibility": {
+ "status": "eligible"
+ }
+ },
+ {
+ "method": "paylater",
+ "provider": "getsimpl",
+ "eligibility_req_id": "elig_xxxxxxxxxxxxx",
+ "eligibility": {
+ "status": "eligible"
+ }
+ },
+ {
+ "method": "paylater",
+ "provider": "icic",
+ "eligibility_req_id": "elig_xxxxxxxxxxxxx",
+ "eligibility": {
+ "status": "eligible"
+ }
+ },
+ {
+ "method": "cardless_emi",
+ "provider": "walnut369",
+ "eligibility_req_id": "elig_xxxxxxxxxxxxx",
+ "eligibility": {
+ "status": "ineligible",
+ "error": {
+ "code": "GATEWAY_ERROR",
+ "description": "The customer has not been approved by the partner.",
+ "source": "business",
+ "step": "inquiry",
+ "reason": "user_not_approved"
+ }
+ }
+ },
+ {
+ "method": "cardless_emi",
+ "provider": "zestmoney",
+ "eligibility_req_id": "elig_xxxxxxxxxxxxx",
+ "eligibility": {
+ "status": "ineligible",
+ "error": {
+ "code": "GATEWAY_ERROR",
+ "description": "The customer has exhausted their credit limit.",
+ "source": "business",
+ "step": "inquiry",
+ "reason": "credit_limit_exhausted"
+ }
+ }
+ },
+ {
+ "method": "paylater",
+ "provider": "lazypay",
+ "eligibility_req_id": "elig_xxxxxxxxxxxxx",
+ "eligibility": {
+ "status": "ineligible",
+ "error": {
+ "code": "GATEWAY_ERROR",
+ "description": "The order amount is less than the minimum transaction amount.",
+ "source": "business",
+ "step": "inquiry",
+ "reason": "min_amt_required"
+ }
+ }
+ }
+ ]
+}
+```
+
+-------------------------------------------------------------------------------------------------------
+
+### Fetch Eligibility by id
+
+```java
+String eligibilityId = "elig_xxxxxxxxxxxxx"
+Customer customer = instance.customers.fetchEligibility(eligibilityId)
+```
+
+**Parameters:**
+
+| Name | Type | Description |
+|---------------|-------------|---------------------------------------------|
+| eligibilityId | string | The unique identifier of the eligibility request to be retrieved. |
+
+**Response:**
+```json
+{
+ "instruments": [
+ {
+ "method": "paylater",
+ "provider": "lazypay",
+ "eligibility_req_id": "elig_xxxxxxxxxxxxx",
+ "eligibility": {
+ "status": "eligible"
+ }
+ },
+ {
+ "method": "paylater",
+ "provider": "getsimpl",
+ "eligibility_req_id": "elig_xxxxxxxxxxxxx",
+ "eligibility": {
+ "status": "ineligible",
+ "error": {
+ "code": "GATEWAY_ERROR",
+ "description": "The customer has exhausted their credit limit",
+ "source": "gateway",
+ "step": "inquiry",
+ "reason": "credit_limit_exhausted"
+ }
+ }
+ }
+ ]
+}
+```
+
+-------------------------------------------------------------------------------------------------------
+
**PN: * indicates mandatory fields**
diff --git a/documents/dispute.md b/documents/dispute.md
new file mode 100644
index 00000000..203fb7f1
--- /dev/null
+++ b/documents/dispute.md
@@ -0,0 +1,242 @@
+## Document
+
+### Fetch All Disputes
+
+```java
+Dispute dispute = instance.dispute.fetchAll();
+```
+
+**Response:**
+```json
+{
+ "entity": "collection",
+ "count": 1,
+ "items": [
+ {
+ "id": "disp_Esz7KAitoYM7PJ",
+ "entity": "dispute",
+ "payment_id": "pay_EsyWjHrfzb59eR",
+ "amount": 10000,
+ "currency": "INR",
+ "amount_deducted": 0,
+ "reason_code": "pre_arbitration",
+ "respond_by": 1590604200,
+ "status": "open",
+ "phase": "pre_arbitration",
+ "created_at": 1590059211,
+ "evidence": {
+ "amount": 10000,
+ "summary": null,
+ "shipping_proof": null,
+ "billing_proof": null,
+ "cancellation_proof": null,
+ "customer_communication": null,
+ "proof_of_service": null,
+ "explanation_letter": null,
+ "refund_confirmation": null,
+ "access_activity_log": null,
+ "refund_cancellation_policy": null,
+ "term_and_conditions": null,
+ "others": null,
+ "submitted_at": null
+ }
+ }
+ ]
+}
+```
+-------------------------------------------------------------------------------------------------------
+
+### Fetch a Dispute
+
+```java
+String disputeId = "disp_0000000000000";
+
+Dispute dispute = instance.dispute.fetchAll(disputeId);
+```
+
+**Parameters:**
+
+| Name | Type | Description |
+|-------|-----------|--------------------------------------------------|
+| disputeId* | string | The unique identifier of the dispute. |
+
+**Response:**
+```json
+{
+ "id": "disp_AHfqOvkldwsbqt",
+ "entity": "dispute",
+ "payment_id": "pay_EsyWjHrfzb59eR",
+ "amount": 10000,
+ "currency": "INR",
+ "amount_deducted": 0,
+ "reason_code": "pre_arbitration",
+ "respond_by": 1590604200,
+ "status": "open",
+ "phase": "pre_arbitration",
+ "created_at": 1590059211,
+ "evidence": {
+ "amount": 10000,
+ "summary": "goods delivered",
+ "shipping_proof": null,
+ "billing_proof": null,
+ "cancellation_proof": null,
+ "customer_communication": null,
+ "proof_of_service": null,
+ "explanation_letter": null,
+ "refund_confirmation": null,
+ "access_activity_log": null,
+ "refund_cancellation_policy": null,
+ "term_and_conditions": null,
+ "others": null,
+ "submitted_at": null
+ }
+}
+```
+-------------------------------------------------------------------------------------------------------
+### Contest a Dispute
+
+```java
+// Use this API sample code for draft
+
+String disputeId = "disp_0000000000000";
+
+JSONObject disputeRequest = new JSONObject();
+disputeRequest.put("amount",5000);
+disputeRequest.put("summary","goods delivered");
+List