# Bill spec
Auths we need to support
1. API Key in the header `X-API-KEY`
2. HTTP Basic Auth with username and password
3. OAuth 2.0
## Fetch
```
{
"customerIdentifiers": [
{
"attributeName": "Loan number",
"attributeValue": "xxxxxxxxxx"
}
]
}
```
```
{
"data": {
"bill": {
"number": "ADC091283743",
"customerName": "Ashok Kumar",
"amount": "100.00",
"dueDate": "19-12-2020",
"billDate": "20-20-2020",
"billPeriod": "ONETIME",
"additionalInfo": [
{
"name": "Name 1",
"value": "Value 1"
},
{
"name": "Name 2",
"value": "Value 2"
},
{
"name": "Name 3",
"value": "Value 3"
}
]
},
"settlement": {
"parts": [
{
"account": {
"id": "16090200007076",
"ifsc": "BARBH001111"
},
"split": "18.90"
}
],
"primaryAccount": {
"id": "6211349709",
"ifsc": "BARBH001111"
}
}
}
}
```
## Payment
```
{
"refId": "340505538175436017",
"payment": {
"amount": "100.00",
"transactionId": "NA90X343416846776534307",
"mode": "UPI"
}
"customerIdentifiers": [
{
"attributeName": "Loan number",
"attributeValue": "xxxxxxxxxx"
}
],
"bill": {
"number": "ADC091283743",
"customerName": "Ashok Kumar",
"amount": "100.00",
"dueDate": "19-12-2020",
"billDate": "20-20-2020",
"billPeriod": "ONETIME",
"additionalInfo": [
{
"name": "Name 1",
"value": "Value 1"
},
{
"name": "Name 2",
"value": "Value 2"
},
{
"name": "Name 3",
"value": "Value 3"
}
]
}
}
```
```
{
"ackId": "10182162252"
}
```
### Remarks
1. Old spec and new spec should be 100% convertible
Payer app side
1. Support old spec for existing integrations
2. For new integrations present a new spec.