Skip to content

Commit

Permalink
Merge branch 'master' into added_document_api
Browse files Browse the repository at this point in the history
  • Loading branch information
ankitdas13 authored Mar 19, 2024
2 parents 740a9e4 + e40fbf1 commit 8244a84
Show file tree
Hide file tree
Showing 26 changed files with 1,248 additions and 6 deletions.
1 change: 1 addition & 0 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ jobs:
uses: actions/setup-python@v2
- name: Install dependencies
run: |
pip install setuptools
python -m pip install --upgrade pip
pip install responses
python3 setup.py install
Expand Down
243 changes: 243 additions & 0 deletions documents/customer.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,249 @@ client.customer.fetch(customerId)

-------------------------------------------------------------------------------------------------------

### Add Bank Account of Customer

```py
customerId = "cust_N5mywh91sXB69O"

client.customer.addBankAccount(customerId, {
"ifsc_code" : "UTIB0000194",
"account_number" :"916010082985661",
"beneficiary_name" : "Pratheek",
"beneficiary_address1" : "address 1",
"beneficiary_address2" : "address 2",
"beneficiary_address3" : "address 3",
"beneficiary_address4" : "address 4",
"beneficiary_email" : "[email protected]",
"beneficiary_mobile" : "8762489310",
"beneficiary_city" :"Bangalore",
"beneficiary_state" : "KA",
"beneficiary_country" : "IN"
})
```

**Parameters:**

| Name | Type | Description |
|---------------|-------------|---------------------------------------------|
| customerId* | string | Unique identifier of the customer. |
| account_number | string | Customer's bank account number. For example, `0002020000304030434`. |
| 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. For example, `[email protected]`. |
| 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_country | string | The country 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" : "[email protected]",
"contact" : "+919000000000",
"gstin":"29XAbbA4369J1PA",
"notes" : [],
"created_at ": 1234567890
}
```

-------------------------------------------------------------------------------------------------------

### Delete Bank Account of Customer

```py
customerId = "cust_N5mywh91sXB69O"

bankAccountId = "ba_N6aM8uo64IzxHu"

client.customer.deleteBankAccount(customerId, bankaccountId)
```

**Parameters:**

| Name | Type | Description |
|---------------|-------------|---------------------------------------------|
| customerId* | string | Customer id of the customer whose bank account is to be deleted. |
| 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

```py
client.customer.requestEligibilityCheck({
"inquiry": "affordability",
"amount": 500,
"currency": "INR",
"customer": {
"id": "elig_xxxxxxxxxxxxx",
"contact": "+919999999999",
"ip": "105.106.107.108",
"referrer": "https://merchansite.com/example/paybill",
"user_agent": "Mozilla/5.0"
}
})
```

**Parameters:**

| Name | Type | Description |
|---------------|-------------|---------------------------------------------|
| inquiry | string | List of methods or instruments on which eligibility check is required. Possible value is `affordability`. |
| amount* | integer | The amount for which the order was created, in currency subunits. For example, for an amount of ₹295, enter `29500`. The user makes a payment for this amount against the order; hence, eligibility is checked for the amount. |
| currency* | string | A three-letter ISO code for the currency in which you want to accept the payment. Possible value is `INR`. |
| 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

```py
eligibilityId = "elig_xxxxxxxxxxxxx"
client.customer.fetchEligibility(eligibility)
```

**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**
<br>
<br>
Expand Down
Loading

0 comments on commit 8244a84

Please sign in to comment.