Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 84 additions & 12 deletions markdown/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -698,7 +698,7 @@ Use this API to verify the sender's mobile number using an OTP.

#### Details
- **Method:** POST
- **URL Endpoint:** /customer/account/{customer_id}/ppi/otp/verify
- **URL Endpoint:** /customer/account/{customer_id}/ppi-digikhata/otp/verify
- **Request Structure:**
- **Path Parameters:**
- **customer_id** (string / required) - Sender's mobile number
Expand Down Expand Up @@ -790,7 +790,7 @@ Use this API to verify the sender's Aadhaar.

#### Details
- **Method:** POST
- **URL Endpoint:** /customer/account/{customer_id}/ppi/aadhaar
- **URL Endpoint:** /customer/account/{customer_id}/ppi-digikhata/aadhaar
- **Request Structure:**
- **Path Parameters:**
- **customer_id** (string / required) - Sender's mobile number
Expand Down Expand Up @@ -821,7 +821,7 @@ This API is used to verify the sender's PAN (Permanent Account Number).

#### Details
- **Method:** POST
- **URL Endpoint:** /customer/account/{customer_id}/ppi/pan
- **URL Endpoint:** /customer/account/{customer_id}/ppi-digikhata/pan
- **Request Structure:**
- **Path Parameters:**
- **customer_id** (string / required) - Sender's mobile number
Expand Down Expand Up @@ -889,8 +889,12 @@ This API is used to verify the sender's PAN (Permanent Account Number).
Use this API to retrieve a list of recipients associated with a sender. The response will include details such as the recipient's name, IFSC code, beneficiary ID, and recipient ID.

#### Details
<<<<<<< HEAD
- **Method:** GET
- **URL Endpoint:** /customer/payment/ppi/sender/{customer_id}/recipients
=======
- **Method:** POST
>>>>>>> b7f871a3616ae18674dfa49a9ab3ed7dfc08e656
Comment on lines +892 to +896
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

It appears there are unresolved merge conflict markers (<<<<<<< HEAD, =======, >>>>>>>) in this section. These need to be resolved before the PR can be merged.

Additionally, these markers seem to indicate a potential change in the HTTP method for the /customer/payment/ppi-digikhata/sender/{customer_id}/recipients endpoint (from GET to POST). Could you confirm if this method change is intentional and ensure the final version accurately reflects the correct HTTP method after resolving the conflict?

- **URL Endpoint:** /customer/payment/ppi-digikhata/sender/{customer_id}/recipients
- **Request Structure:**
- **Path Parameters:**
- **customer_id** (string / required) - Sender's mobile number
Expand Down Expand Up @@ -981,7 +985,7 @@ Use this API to add a new recipient or update an existing recipient for a sender

#### Details
- **Method:** POST
- **URL Endpoint:** /customer/payment/ppi/sender/{customer_id}/recipient
- **URL Endpoint:** /customer/payment/ppi-digikhata/sender/{customer_id}/recipient
- **Request Structure:**
- **Path Parameters:**
- **customer_id** (string / required) - Sender's mobile number
Expand All @@ -995,6 +999,8 @@ Use this API to add a new recipient or update an existing recipient for a sender
- **account** (string / required) - The recipient's bank account number used for receiving funds.
- **bank_code** (string / required) - The IFSC code of the recipient's bank branch.
- **service_code** (int / required) - For PayPoint,send a fixed value of 80.
- **account_type** (int / required) - For PayPoint,send a fixed value of 1.
- **type** (int / required) - Send a fixed value of acc_ifsc.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The description for the type parameter is Send a fixed value of acc_ifsc, but its data type is specified as int. This is potentially confusing and could lead to incorrect API usage by consumers of this documentation.

  • If acc_ifsc is a literal string value that should be sent, should the type be (string / required) and the description be something like Fixed value: "acc_ifsc"?
  • Or, if type is indeed an integer that represents the concept of 'acc_ifsc' (e.g., an enum value mapped to an integer), could the description be clarified to specify the exact integer value and what 'acc_ifsc' signifies in this context? For example: (int / required) - Specifies the type of operation. Send the integer value X, which represents 'acc_ifsc'.

Please clarify the intended data type, value, and meaning for this parameter.




Expand All @@ -1018,11 +1024,12 @@ Use this API to add a new recipient or update an existing recipient for a sender


### 2.3 Add Recipient Bank API
Use this API to add a recipient's bank.
Use this API to registered a recipient with the bank, before they are allowed to receive payments via PPI.


#### Details
- **Method:** POST
- **URL Endpoint:** /customer/payment/ppi/sender/{customer_id}/bank/recipient
- **URL Endpoint:** /customer/payment/ppi-digikhata/sender/{customer_id}/recipient/bank
- **Request Structure:**
- **Path Parameters:**
- **customer_id** (string / required) - Sender's mobile number
Expand Down Expand Up @@ -1057,7 +1064,7 @@ The system will generate a One-Time Password (OTP) and deliver it to the sender'

#### Details
- **Method:** POST
- **URL Endpoint:** /customer/payment/ppi/otp
- **URL Endpoint:** /customer/payment/ppi-digikhata/otp
- **Request Structure:**
- **Body Parameters:**
- **initiator_id** (string / required) - The unique cell number with which you are onboarded on Eko's platform. For UAT, refer to [Platform Credentials](https://developers.eko.in/docs/platform-credentials)
Expand Down Expand Up @@ -1088,7 +1095,7 @@ Initiate a PPI transaction to a bank account.

#### Details
- **Method:** POST
- **URL Endpoint:** /customer/payment/ppi
- **URL Endpoint:** /customer/payment/ppi-digikhata
- **Request Structure:**
- **Body Parameters:**
- **initiator_id** (string / required) - The unique cell number with which you are onboarded on Eko's platform. For UAT, refer to [Platform Credentials](https://developers.eko.in/docs/platform-credentials)
Expand All @@ -1106,6 +1113,7 @@ Initiate a PPI transaction to a bank account.
- **otp** (string / required) - The otp received from the 'SEND TRANSACTION OTP' API on customer's number.
- **otp_ref_id** (string / required) - This is the value received from the 'SEND TRANSACTION OTP' API.
- **beneficiary_id** (string / required) - A unique ID generated when adding the recipient's bank details.


**Note:**
- **For Refund:**
Expand Down Expand Up @@ -3788,8 +3796,72 @@ Verify a bank account number without transferring ₹1 to retrieve the name of t
}
```

### 1.2. Bank Account Verification API
Verify a bank account number by transferring ₹1 to retrieve the name of the account holder.

**Note:** Not applicable for all banks. Only applicable for banks for whom account verification feature is available. This can be checked by hitting the Get Bank Details API.

#### Details
- **Method:** POST
- **URL Endpoint:** /tools/kyc/bank-account/sync
- **Request Structure:**
- **Body Parameters:**
- initiator_id (string / required) - Your registered mobile number (See Platform Credentials for UAT)
- user_code (string / required) - User code value of the retailer from whom the request is coming
- source (string / required) - Enter the value of source=API
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The description for the source parameter is Enter the value of source=API. If 'API' is the only expected fixed value for this parameter, could this be made more explicit for clarity? For instance, by stating Fixed value: "API".

If other values are possible, perhaps a more general description like Source of the request (e.g., "API", "WEB"). would be more appropriate. Could you clarify the expected value(s)?

Suggested change
- source (string / required) - Enter the value of source=API
- source (string / required) - Source of the request. For this API, send the fixed value "API".

- client_ref_id (string / required) - A unique ID for every API call generated at your end
- ifsc (string / required) - need to pass the complete value of IFSC code
- bank_account (string) - pass complete account number which needs to be verified
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The bank_account parameter is listed as (string) without specifying if it's required or optional (e.g., string / required or string / optional). Given its role in bank account verification, it seems likely to be a required field. Could you please clarify this and update the documentation accordingly?

Additionally, the description pass complete account number which needs to be verified is a bit informal. Would The complete bank account number to be verified. be a clearer and more formal alternative?

Suggested change
- bank_account (string) - pass complete account number which needs to be verified
- bank_account (string / required) - The complete bank account number which needs to be verified.



#### Sample Response (200 OK)
```json
{
"response_status_id": 0,
"data": {
"reference_id": 1299636178,
"city": "GURGAON",
"bank_name": "KOTAK MAHINDRA BANK LIMITED",
"micr": 119898047,
"account_status_code": "ACCOUNT_IS_VALID",
"account_status": "VALID",
"name_at_bank": "EKO INDIA FINANCIAL SERVICES PVT LTD",
"branch": "DELHI BRANCH"
},
"response_type_id": 0,
"status": 0
}
```

#### Sample Response (200 Invalid IFSC Code)
```json
{
"response_status_id": 0,
"data": {
"reference_id": 4224995,
"account_status_code": "INVALID_IFSC_FAIL",
"account_status": "INVALID"
},
"response_type_id": 0,
"status": 0
}
```

#### Sample Response (200 Invalid Account)
```json
{
"response_status_id": 0,
"data": {
"reference_id": 4224997,
"account_status_code": "INVALID_ACCOUNT_FAIL",
"account_status": "INVALID"
},
"response_type_id": 0,
"status": 0
}
```

### 1.3. Bulk Bank Account Verification (Async) API
### 1.4. Bulk Bank Account Verification (Async) API
Use this API to verify bank account information in bulk.

**Note:** This is an asynchronous API, so you must use the Bulk Bank Account Verification Status API to get the status of each bank account. We do not currently support Deutsche Bank and Fincare Small Finance Bank because they are not live on IMPS.
Expand All @@ -3814,7 +3886,7 @@ You get the following information in the response within `data` object:
| 1 | 1796 | Recipient name not found and verification not available for this bank |


### 1.4. Bulk Bank Account Verification Status API
### 1.5. Bulk Bank Account Verification Status API
Use this API to get the details of the bulk bank account verification request. You need to enter either the `bulk_reference_id` or `client_ref_id`. If you want to get the status of a single entry, enter the particular reference ID in the request.

#### Details
Expand Down Expand Up @@ -3874,7 +3946,7 @@ You get an array of objects in the `entries` parameter inside `data` with the fo
```


### 1.5. IFSC Verification API
### 1.6. IFSC Verification API
Use this API to verify IFSC codes. You will receive the bank name, the branch that it belongs to, the supported transfer modes, and the respective MICR code.

#### Details
Expand Down