Skip to content

Latest commit

 

History

History
376 lines (329 loc) · 10.8 KB

customer.md

File metadata and controls

376 lines (329 loc) · 10.8 KB

Customer

Create customer

$api->customer->create(array('name' => 'Razorpay User', 'email' => 'customer@razorpay.com','contact'=>'9123456780','notes'=> array('notes_key_1'=> 'Tea, Earl Grey, Hot','notes_key_2'=> 'Tea, Earl Grey… decaf')));

Parameters:

Name Type Description
name* string Name of the customer
email string Email of the customer
contact string Contact number of the customer
fail_existing string If a customer with the same details already exists, the request throws an exception by default. Possible value is 0 or 1
gstin string Customer's GST number, if available. For example, 29XAbbA4369J1PA
notes array A key-value pair

Response:

{
  "id" : "cust_1Aa00000000004",
  "entity": "customer",
  "name" : "Gaurav Kumar",
  "email" : "gaurav.kumar@example.com",
  "contact" : "9123456780",
  "gstin": "29XAbbA4369J1PA",
  "notes":{
    "notes_key_1":"Tea, Earl Grey, Hot",
    "notes_key_2":"Tea, Earl Grey… decaf."
  },
  "created_at ": 1234567890
}

Edit customer

$api->customer->fetch($customerId)->edit(array('name' => 'Razorpay User', 'email' => 'customer@razorpay.com', 'contact' => '9999999999'));

Parameters:

Name Type Description
customerId* string The id of the customer to be updated
email string Email of the customer
contact string Contact number of the customer
notes array A key-value pair

Response:

{
  "id": "cust_1Aa00000000003",
  "entity": "customer",
  "name": "Gaurav Kumar",
  "email": "Gaurav.Kumar@example.com",
  "contact": "9000000000",
  "gstin": null,
  "notes": {
    "notes_key_1": "Tea, Earl Grey, Hot",
    "notes_key_2": "Tea, Earl Grey… decaf."
  },
  "created_at": 1582033731
}

Fetch all customer

$api->customer->all($options);

Parameters:

Name Type Description
count integer number of payments to fetch (default: 10)
skip integer number of payments to be skipped (default: 0)

Response:

{
  "entity":"collection",
  "count":1,
  "items":[
    {
      "id":"cust_1Aa00000000001",
      "entity":"customer",
      "name":"Gaurav Kumar",
      "email":"gaurav.kumar@example.com",
      "contact":"9876543210",
      "gstin":"29XAbbA4369J1PA",
      "notes":{
        "note_key_1":"September",
        "note_key_2":"Make it so."
      },
      "created_at ":1234567890
    }
  ]
}

Fetch a customer

$api->customer->fetch($customerId);

Parameters:

Name Type Description
customerId* string The id of the customer to be fetched

Response:

{
  "id" : "cust_1Aa00000000001",
  "entity": "customer",
  "name" : "Saurav Kumar",
  "email" : "Saurav.kumar@example.com",
  "contact" : "+919000000000",
  "gstin":"29XAbbA4369J1PA",
  "notes" : [],
  "created_at ": 1234567890
}

Add Bank Account of Customer

$customerId = "cust_N5mywh91sXB69O"

$api->customer->fetch($customerId)->addBankAccount([
  "ifsc_code" => "UTIB0000194",
  "account_number" => "919999999999",
  "beneficiary_name" => "Pratheek",
  "beneficiary_address1" => "address 1",
  "beneficiary_address2" => "address 2",
  "beneficiary_address3" => "address 3",
  "beneficiary_address4" => "address 4",
  "beneficiary_email" => "random@email.com",
  "beneficiary_mobile" => "8762489310",
  "beneficiary_city" => "Bangalore",
  "beneficiary_state" => "KA",
  "beneficiary_country" => "IN",
]);

Parameters:

Name Type Description
customerId* string Customer's bank account number
account_number integer The id of the customer to be fetched
account_number string The name of the beneficiary associated with the bank account.
beneficiary_name string The virtual payment address.
beneficiary_address1 string The id of the customer to be fetched
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:

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

$customerId = "cust_N5mywh91sXB69O"

$bankAccountId = "ba_N6aM8uo64IzxHu"

$api->customer->fetch($customerId)->deleteBankAccount($bankAccountId);

Parameters:

Name Type Description
customerId* string Customer's bank account number
bank_id string The bank_id that needs to be deleted.

Response:

{
    "id": "ba_Evg09Ll05SIPSD",
    "ifsc": "ICIC0001207",
    "bank_name": "ICICI Bank",
    "name": "Test R4zorpay",
    "account_number": "XXXXXXXXXXXXXXX0434",
    "status": "deleted"
}

Eligibility Check API

$api->customer->requestEligibilityCheck(array(
  "inquiry" => "affordability",
  "amount" => 500000,
  "currency" => "INR",
  "customer" => array(
      "id" => "cust_MVSyUEwC4qb5sN",
      "contact" => "+918220276214",
      "ip" => "105.106.107.108",
      "referrer" => "https://merchansite.com/example/paybill",
      "user_agent" => "Mozilla/5.0",
  )
));

Parameters:

Name Type Description
customerId* string Customer's bank account number
bank_id string The bank_id that needs to be deleted.

Response:

{
  "amount": "500000",
  "customer": {
    "id": "KkBhM9EC1Y0HTm",
    "contact": "+918220722114"
  },
  "instruments": [
    {
      "method": "emi",
      "issuer": "HDFC",
      "type": "debit",
      "eligibility_req_id": "elig_KkCNLzlNeMYQyZ",
      "eligibility": {
        "status": "eligible"
      }
    },
    {
      "method": "paylater",
      "provider": "getsimpl",
      "eligibility_req_id": "elig_KkCNLzlNeMYQyZ",
      "eligibility": {
        "status": "eligible"
      }
    },
    {
      "method": "paylater",
      "provider": "icic",
      "eligibility_req_id": "elig_KkCNLzlNeMYQyZ",
      "eligibility": {
        "status": "eligible"
      }
    },
    {
      "method": "cardless_emi",
      "provider": "walnut369",
      "eligibility_req_id": "elig_KkCNLzlNeMYQyZ",
      "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_KkCNLzlNeMYQyZ",
      "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_KkCNLzlNeMYQyZ",
      "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

$api->customer->fetchEligibility("elig_F1cxDoHWD4fkQt");

Parameters:

Name Type Description
customerId* string Customer's bank account number
bank_id string The bank_id that needs to be deleted.

Response:

{
  "instruments": [
    {
      "method": "paylater",
      "provider": "lazypay",
      "eligibility_req_id": "elig_LBwGKVvS2X48Lq",
      "eligibility": {
        "status": "eligible"
      }
    },
    {
      "method": "paylater",
      "provider": "getsimpl",
      "eligibility_req_id": "elig_LBwGKVvS2X48Lq",
      "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

For reference click here