From 3dc2fcb7246a6d190f3cf4997994ba05a3c662b5 Mon Sep 17 00:00:00 2001 From: Aayush Malhotra Date: Mon, 17 Mar 2025 19:31:24 +0530 Subject: [PATCH] V1 and V2 specs updated for COU --- .../payments/billpay/api-integration.json | 5239 ++++++++++------- .../payments/billpay/pre-built-screens.json | 3868 +++++++++++- .../payments/billpay_v1/api-integration.json | 4598 ++++++++------- .../billpay_v1/pre-built-screens.json | 3870 +++++++++++- 4 files changed, 13064 insertions(+), 4511 deletions(-) diff --git a/api-references/payments/billpay/api-integration.json b/api-references/payments/billpay/api-integration.json index acb0c418..6aea8d1a 100644 --- a/api-references/payments/billpay/api-integration.json +++ b/api-references/payments/billpay/api-integration.json @@ -34,11 +34,13 @@ "properties": { "clientID": { "type": "string", - "description": "clientID from the API key pair" + "description": "clientID from the API key pair", + "example": "exampleClientID" }, "secret": { "type": "string", - "description": "secret from the API key pair" + "description": "secret from the API key pair", + "example": "exampleSecret" } }, "description": "Fetch Token API payload" @@ -108,7 +110,8 @@ }, "token": { "type": "string", - "description": "Token to be used in subsequent requests" + "description": "Token to be used in subsequent requests", + "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" } } }, @@ -139,27 +142,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -174,7 +177,6 @@ "post": { "tags": ["Fetch"], "description": "Bill fetch request API", - "operationId": "FetchRequestV2", "parameters": [ { "name": "X-PARTNER-ID", @@ -199,11 +201,18 @@ "required": ["channel", "id"], "type": "object", "properties": { - "os": { + "mac": { "type": "string", - "description": "Mandatory if channel is `MOB`, `MOBB`. Not required for others.", - "example": "iOS", - "enum": ["iOS", "Android"] + "description": "Mandatory if channel is `INT`, `INTB`. Not required for others.", + "format": "mac", + "example": "48-4D-7E-CB-DB-6F" + }, + "mobile": { + "maxLength": 22, + "minLength": 6, + "pattern": "^\\d{6,22}$", + "type": "string", + "description": "Mobile number with 6 to 22 digits are valid." }, "postalCode": { "pattern": "^[1-9][0-9]{5}$", @@ -211,10 +220,32 @@ "description": "Mandatory if channel is `AGT`, `BSC` and `BNKBRNCH`. Not required for others. This has to match the data submitted to NPCI for this agent ID\n", "example": "600001" }, - "terminalId": { + "id": { "type": "string", - "description": "Mandatory if channel is `ATM`, `AGT`, `KIOSK` and `BSC` . Not required for others. This has to match the data submitted to NPCI for this agent ID\n", - "example": "6000011234" + "description": "The ID of the agent initiating the BBPS transaction.", + "example": "AX01AI06512391457204" + }, + "ifsc": { + "type": "string", + "description": "Mandatory if channel is `BNKBRNCH`. Not required for others. This has to match the data submitted to NPCI for this agent ID\n", + "example": "ICIC0000152" + }, + "imei": { + "type": "string", + "description": "Mandatory if channel is `MOB`, `MOBB`. Not required for others.", + "example": "123456789012345" + }, + "ip": { + "type": "string", + "description": "Mandatory if channel is `INT`, `INTB`. Not required for others.", + "format": "ipv4", + "example": "124.170.23.24" + }, + "os": { + "type": "string", + "description": "Mandatory if channel is `MOB`, `MOBB`. Not required for others.", + "example": "iOS", + "enum": ["iOS", "Android"] }, "app": { "type": "string", @@ -239,45 +270,44 @@ "MPOS" ] }, - "imei": { - "type": "string", - "description": "Mandatory if channel is `MOB`, `MOBB`. Not required for others.", - "example": "123456789012345" - }, - "mac": { - "type": "string", - "description": "Mandatory if channel is `INT`, `INTB`. Not required for others.", - "format": "mac", - "example": "48-4D-7E-CB-DB-6F" - }, - "mobile": { - "maxLength": 20, - "minLength": 6, - "pattern": "^\\d{6}(\\d{4}(\\d{10})?)?$", - "type": "string", - "description": "Mobile number with 6, 10 and 20 digits are valid.", - "example": "9481773053" - }, "geocode": { "type": "string", "description": "Mandatory if channel is `AGT`, `BSC` and `BNKBRNCH`. Not required for others. This has to match the data submitted to NPCI for this agent ID\n", "example": "19.0139,72.8254" }, - "id": { + "terminalId": { "type": "string", - "description": "The ID of the agent initiating the BBPS transaction.", - "example": "AX01AI06512391457204" + "description": "Mandatory if channel is `ATM`, `AGT`, `KIOSK` and `BSC` . Not required for others. This has to match the data submitted to NPCI for this agent ID\n", + "example": "6000011234" + } + } + }, + "remitter": { + "type": "object", + "properties": { + "aadhaar": { + "maxLength": 50, + "minLength": 1, + "type": "string", + "example": "123456789012" }, - "ifsc": { + "email": { + "maxLength": 50, + "minLength": 1, "type": "string", - "description": "Mandatory if channel is `BNKBRNCH`. Not required for others. This has to match the data submitted to NPCI for this agent ID\n", - "example": "ICIC0000152" + "example": "test@example.com" }, - "ip": { + "name": { + "maxLength": 50, + "minLength": 1, "type": "string", - "description": "Mandatory if channel is `INT`, `INTB`. Not required for others.", - "format": "ipv4", - "example": "124.170.23.24" + "example": "John Doe" + }, + "pan": { + "maxLength": 50, + "minLength": 1, + "type": "string", + "example": "ABDCE1121E" } } }, @@ -307,38 +337,17 @@ "required": ["mobile"], "type": "object", "properties": { - "remitter": { - "type": "object", - "properties": { - "aadhaar": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "email": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "name": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "pan": { - "maxLength": 50, - "minLength": 1, - "type": "string" - } - } + "customerId": { + "type": "string", + "description": "Customer Identifier", + "example": "4881317598" }, "mobile": { - "maxLength": 20, + "maxLength": 22, "minLength": 6, - "pattern": "^\\d{6}(\\d{4}(\\d{10})?)?$", + "pattern": "^\\d{6,22}$", "type": "string", - "description": "Mobile number with 6, 10 and 20 digits are valid.", - "example": "9481773053" + "description": "Mobile number with 6 to 22 digits are valid." } } }, @@ -356,7 +365,7 @@ "name": { "type": "string", "description": "The display name of the parameter. This has to match what is sent in fields.", - "example": "Loan Number" + "example": "John Doe" }, "value": { "type": "string", @@ -441,25 +450,35 @@ "type": "object", "properties": { "code": { - "type": "string" + "type": "string", + "example": "error-code-if-any" }, "message": { - "type": "string" + "type": "string", + "example": "error-message-if-any" + }, + "refId": { + "type": "string", + "description": "The generated BBPS Reference ID for the request.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } } }, "refId": { "type": "string", + "description": "The generated BBPS Reference ID for the request.", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } } }, "success": { "type": "boolean", + "description": "Boolean value indicating the status of the request", "example": true }, "traceId": { "type": "string", + "description": "The traceId generated for the request", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10461713" } } @@ -475,27 +494,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -510,27 +529,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -556,7 +575,6 @@ "post": { "tags": ["Fetch"], "description": "Bill fetch response API", - "operationId": "FetchResponseV2", "parameters": [ { "name": "X-PARTNER-ID", @@ -577,7 +595,8 @@ "properties": { "refId": { "type": "string", - "example": "LNMSQQR4RKT7X1UGPY7JGUV454PL9T2C689" + "description": "The generated BBPS Reference ID for the request.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } }, "x-go-name": "RefIdBasedRequest", @@ -588,6 +607,76 @@ "required": true }, "responses": { + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, "200": { "description": "OK", "headers": { @@ -660,27 +749,9 @@ "required": ["refId", "status"], "type": "object", "properties": { - "refId": { + "billerRefId": { "type": "string", - "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" - }, - "additionalInfo": { - "type": "array", - "items": { - "required": ["name", "value"], - "type": "object", - "properties": { - "name": { - "type": "string", - "example": "Line item 1" - }, - "value": { - "type": "string", - "example": "Value 1" - } - } - }, - "x-go-name": "BillAdditionalInfo" + "example": "7f16a032e514" }, "billerResponseType": { "type": "string", @@ -690,15 +761,6 @@ "x-nullable": true, "x-omitempty": false }, - "billerSelectionType": { - "type": "string", - "description": "Defined only for billers with response type as LIST. SINGLE: User can pay only one of the bills in bill fetch response. MULTIPLE: User can pay any combination of bills in bill fetch response. ALL: User has to pay all the bills in bill fetch response.", - "nullable": true, - "example": "SINGLE", - "enum": ["SINGLE", "MULTIPLE", "ALL"], - "x-nullable": true, - "x-omitempty": false - }, "bills": { "type": "array", "description": "Multiple bills in case of response from B2B biller", @@ -712,128 +774,173 @@ ], "type": "object", "properties": { - "customerName": { - "type": "string", - "example": "Manoj Chekuri" - }, - "dueDate": { + "billDate": { "type": "string", "format": "date", - "example": "2021-09-24" + "example": "2021-01-02" }, - "maxAmount": { - "type": "integer", - "description": "Maximum amount that can be paid for this bill in paise", - "nullable": true, - "x-omitempty": true + "customerName": { + "type": "string", + "example": "Manoj Chekuri" }, - "amount": { + "minAmount": { "type": "integer", + "description": "Minimum amount that can be paid for this bill in paise", "nullable": true, "x-omitempty": true }, - "amountMultiple": { - "type": "integer", - "description": "Bill payment amount should be multiple of this value in paise", - "nullable": true, - "x-omitempty": true - }, - "billNumber": { - "type": "string", - "example": "1232332" - }, - "billPeriod": { - "type": "string", - "example": "ONETIME|DAILY|WEEKLY|BIMONTHLY|MONTHLY|QUARTERLY|HALFYEARLY|YEARLY|ASPRESENTED" - }, - "billDate": { - "type": "string", - "format": "date", - "example": "2021-01-02" - }, - "label": { - "type": "string", - "nullable": true, - "example": "Advance EMI", - "x-omitempty": true - }, - "minAmount": { - "type": "integer", - "description": "Minimum amount that can be paid for this bill in paise", - "nullable": true, - "x-omitempty": true - }, - "paymentOptions": { - "type": "array", + "paymentOptions": { + "type": "array", "nullable": true, "items": { "required": ["name"], "type": "object", "properties": { - "minAmount": { + "amountMultiple": { "type": "integer", + "description": "The payment amount should be a multiple of this value in paise.", "nullable": true, "x-omitempty": true }, - "name": { - "type": "string", - "description": "The display name of the option.", - "example": "2 Months EMI Amount" - }, - "amount": { + "maxAmount": { "type": "integer", - "description": "The amount that can be paid for this option in paise.", + "description": "The maximum amount that can be paid for this option in paise.", "nullable": true, "x-omitempty": true }, - "amountMultiple": { + "minAmount": { "type": "integer", - "description": "The payment amount should be a multiple of this value in paise.", + "description": "The minimum amount that can be paid for this option in paise.", "nullable": true, "x-omitempty": true }, - "maxAmount": { + "name": { + "type": "string", + "description": "The display name of the option.", + "example": "John Doe" + }, + "amount": { "type": "integer", - "description": "The maximum amount that can be paid for this option in paise.", + "description": "The amount that can be paid for this option in paise.", "nullable": true, "x-omitempty": true } - }, - "x-go-name": "PaymentOption" + } }, "x-omitempty": true + }, + "amount": { + "type": "integer", + "nullable": true, + "x-omitempty": true + }, + "amountMultiple": { + "type": "integer", + "description": "Bill payment amount should be multiple of this value in paise", + "nullable": true, + "x-omitempty": true + }, + "dueDate": { + "type": "string", + "format": "date", + "example": "2021-09-24" + }, + "label": { + "type": "string", + "nullable": true, + "example": "Advance EMI", + "x-omitempty": true + }, + "maxAmount": { + "type": "integer", + "description": "Maximum amount that can be paid for this bill in paise", + "nullable": true, + "x-omitempty": true + }, + "billNumber": { + "type": "string", + "example": "1232332" + }, + "billPeriod": { + "type": "string", + "example": "ONETIME|DAILY|WEEKLY|BIMONTHLY|MONTHLY|QUARTERLY|HALFYEARLY|YEARLY|ASPRESENTED" } }, "x-go-name": "BillData" }, "x-omitempty": true }, - "billerRefId": { + "exactness": { "type": "string", - "example": "7f16a032e514" + "example": "Exact", + "enum": [ + "Exact", + "Exact and above", + "Exact and below", + "Any", + "RANGE" + ] }, "failureReason": { "required": ["code", "message"], "type": "object", "properties": { - "code": { - "type": "string", - "example": "ERR004" - }, "message": { "type": "string", - "example": "customer not found" + "example": "error-message-if-any" }, "type": { "type": "string", "enum": ["FUND_TRANSFER", "BBPS", "APP"] + }, + "code": { + "type": "string", + "example": "error-code-if-any" } } }, + "refId": { + "type": "string", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + }, + "additionalInfo": { + "type": "array", + "description": "This tag captures the additional information provided by the Biller as part of response for a successful transaction.", + "items": { + "required": ["name", "value"], + "type": "object", + "properties": { + "value": { + "type": "string", + "example": "Value 1" + }, + "name": { + "type": "string", + "example": "John Doe" + } + } + }, + "x-go-name": "BillAdditionalInfo", + "x-omitempty": false + }, + "billerSelectionType": { + "type": "string", + "description": "Defined only for billers with response type as LIST. SINGLE: User can pay only one of the bills in bill fetch response. MULTIPLE: User can pay any combination of bills in bill fetch response. ALL: User has to pay all the bills in bill fetch response.", + "nullable": true, + "example": "SINGLE", + "enum": ["SINGLE", "MULTIPLE", "ALL"], + "x-omitempty": false, + "x-nullable": true + }, "status": { "type": "string", "example": "Success", - "enum": ["Processing", "Success", "Failure"] + "enum": [ + "Processing", + "Success", + "Failure", + "Credit_Adjustment" + ] } } } @@ -844,76 +951,6 @@ } } } - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "required": ["error", "success", "traceId"], - "type": "object", - "properties": { - "error": { - "required": ["code", "message"], - "type": "object", - "properties": { - "code": { - "type": "string", - "example": "validation-error" - }, - "message": { - "type": "string", - "example": "Input is invalid" - } - } - }, - "success": { - "type": "boolean", - "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" - } - } - } - } - } - }, - "500": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "required": ["error", "success", "traceId"], - "type": "object", - "properties": { - "error": { - "required": ["code", "message"], - "type": "object", - "properties": { - "code": { - "type": "string", - "example": "validation-error" - }, - "message": { - "type": "string", - "example": "Input is invalid" - } - } - }, - "success": { - "type": "boolean", - "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" - } - } - } - } - } } }, "security": [ @@ -934,7 +971,6 @@ "post": { "tags": ["Pay"], "description": "Bill payment request API", - "operationId": "PaymentRequestV2", "parameters": [ { "name": "X-PARTNER-ID", @@ -955,140 +991,79 @@ "required": ["paymentDetails"], "type": "object", "properties": { + "dummyCustomerMobile": { + "type": "string", + "description": "On debug, this hijacks the customer mobiler number COMFORT NEGATIVE 30, 31", + "nullable": true, + "example": "9876543210" + }, "refId": { "type": "string", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" }, - "bills": { - "uniqueItems": true, - "type": "array", - "nullable": true, - "example": "Selection on bills in case of list billers", - "items": { - "required": ["amount", "billNumber"], - "type": "object", - "properties": { - "amount": { - "minimum": 1, - "type": "integer", - "description": "Amount in Paise" - }, - "billNumber": { - "type": "string", - "example": "B1234567" - } - }, - "x-omitempty": true + "biller": { + "required": ["id"], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The biller ID on BBPS", + "example": "MAHI00000NATIC" + } }, - "x-omitempty": true + "x-go-gen-location": "models", + "x-go-name": "BillerDetails" }, - "paymentDetails": { - "required": [ - "amount", - "mode", - "paymentRefId", - "timestamp" - ], + "agent": { + "required": ["channel", "id"], "type": "object", "properties": { - "timestamp": { + "mac": { "type": "string", - "format": "date-time", - "example": "2020-12-12T13:12:00+05:30" + "description": "Mandatory if channel is `INT`, `INTB`. Not required for others.", + "format": "mac", + "example": "48-4D-7E-CB-DB-6F" }, - "accountInfo": { - "maxLength": 50, - "minLength": 1, - "type": "string" + "mobile": { + "maxLength": 22, + "minLength": 6, + "pattern": "^\\d{6,22}$", + "type": "string", + "description": "Mobile number with 6 to 22 digits are valid." }, - "amount": { - "minimum": 1, - "type": "integer", - "description": "Amount in Paise" + "postalCode": { + "pattern": "^[1-9][0-9]{5}$", + "type": "string", + "description": "Mandatory if channel is `AGT`, `BSC` and `BNKBRNCH`. Not required for others. This has to match the data submitted to NPCI for this agent ID\n", + "example": "600001" }, - "currency": { - "type": "integer", - "nullable": true + "id": { + "type": "string", + "description": "The ID of the agent initiating the BBPS transaction.", + "example": "AX01AI06512391457204" }, - "selectedPaymentOptions": { - "type": "array", - "description": "List of selected payment options", - "nullable": true, - "items": { - "required": ["amount", "name"], - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the payment option as returned in bill fetch response.", - "example": "Early Payment Amount" - }, - "amount": { - "minimum": 1, - "type": "integer", - "description": "The amount to be paid for the selected payment option." - } - } - }, - "x-nullable": true, - "x-omitempty": true - }, - "COUcustConvFee": { - "type": "integer", - "nullable": true - }, - "custConvFee": { - "type": "integer", - "nullable": true + "ifsc": { + "type": "string", + "description": "Mandatory if channel is `BNKBRNCH`. Not required for others. This has to match the data submitted to NPCI for this agent ID\n", + "example": "ICIC0000152" }, - "mode": { + "imei": { "type": "string", - "example": "Internet Banking", - "enum": [ - "Internet Banking", - "Debit Card", - "Credit Card", - "Prepaid Card", - "IMPS", - "Cash", - "UPI", - "Wallet", - "NEFT", - "AEPS", - "Account Transfer", - "Bharat QR", - "USSD" - ] + "description": "Mandatory if channel is `MOB`, `MOBB`. Not required for others.", + "example": "123456789012345" }, - "paymentRefId": { - "maxLength": 35, - "minLength": 6, + "ip": { "type": "string", - "example": "BD019181220291" - } - } - }, - "agent": { - "required": ["channel", "id"], - "type": "object", - "properties": { + "description": "Mandatory if channel is `INT`, `INTB`. Not required for others.", + "format": "ipv4", + "example": "124.170.23.24" + }, "os": { "type": "string", "description": "Mandatory if channel is `MOB`, `MOBB`. Not required for others.", "example": "iOS", "enum": ["iOS", "Android"] }, - "postalCode": { - "pattern": "^[1-9][0-9]{5}$", - "type": "string", - "description": "Mandatory if channel is `AGT`, `BSC` and `BNKBRNCH`. Not required for others. This has to match the data submitted to NPCI for this agent ID\n", - "example": "600001" - }, - "terminalId": { - "type": "string", - "description": "Mandatory if channel is `ATM`, `AGT`, `KIOSK` and `BSC` . Not required for others. This has to match the data submitted to NPCI for this agent ID\n", - "example": "6000011234" - }, "app": { "type": "string", "description": "Mandatory if channel is `MOB`, `MOBB`. Not required for others.", @@ -1112,60 +1087,167 @@ "MPOS" ] }, - "imei": { - "type": "string", - "description": "Mandatory if channel is `MOB`, `MOBB`. Not required for others.", - "example": "123456789012345" - }, - "mac": { - "type": "string", - "description": "Mandatory if channel is `INT`, `INTB`. Not required for others.", - "format": "mac", - "example": "48-4D-7E-CB-DB-6F" - }, - "mobile": { - "maxLength": 20, - "minLength": 6, - "pattern": "^\\d{6}(\\d{4}(\\d{10})?)?$", - "type": "string", - "description": "Mobile number with 6, 10 and 20 digits are valid.", - "example": "9481773053" - }, "geocode": { "type": "string", "description": "Mandatory if channel is `AGT`, `BSC` and `BNKBRNCH`. Not required for others. This has to match the data submitted to NPCI for this agent ID\n", "example": "19.0139,72.8254" }, - "id": { + "terminalId": { "type": "string", - "description": "The ID of the agent initiating the BBPS transaction.", - "example": "AX01AI06512391457204" + "description": "Mandatory if channel is `ATM`, `AGT`, `KIOSK` and `BSC` . Not required for others. This has to match the data submitted to NPCI for this agent ID\n", + "example": "6000011234" + } + } + }, + "remitter": { + "type": "object", + "properties": { + "aadhaar": { + "maxLength": 50, + "minLength": 1, + "type": "string", + "example": "123456789012" }, - "ifsc": { + "email": { + "maxLength": 50, + "minLength": 1, "type": "string", - "description": "Mandatory if channel is `BNKBRNCH`. Not required for others. This has to match the data submitted to NPCI for this agent ID\n", - "example": "ICIC0000152" + "example": "test@example.com" }, - "ip": { + "name": { + "maxLength": 50, + "minLength": 1, "type": "string", - "description": "Mandatory if channel is `INT`, `INTB`. Not required for others.", - "format": "ipv4", - "example": "124.170.23.24" + "example": "John Doe" + }, + "pan": { + "maxLength": 50, + "minLength": 1, + "type": "string", + "example": "ABDCE1121E" } } }, - "biller": { - "required": ["id"], + "paymentDetails": { + "required": [ + "amount", + "mode", + "paymentRefId", + "timestamp" + ], "type": "object", "properties": { - "id": { + "custConvFee": { + "type": "integer", + "nullable": true + }, + "paymentRefId": { + "maxLength": 35, + "minLength": 6, "type": "string", - "description": "The biller ID on BBPS", - "example": "MAHI00000NATIC" + "example": "BD019181220291" + }, + "timestamp": { + "type": "string", + "format": "date-time", + "example": "2020-12-12T13:12:00+05:30" + }, + "COUcustConvFee": { + "type": "integer", + "nullable": true + }, + "accountInfo": { + "maxLength": 50, + "minLength": 1, + "type": "string", + "example": "some-info" + }, + "amount": { + "minimum": 1, + "type": "integer", + "description": "Amount in Paise" + }, + "currency": { + "type": "integer", + "nullable": true + }, + "mode": { + "type": "string", + "example": "Internet Banking", + "enum": [ + "Internet Banking", + "Debit Card", + "Credit Card", + "Prepaid Card", + "IMPS", + "Cash", + "UPI", + "Wallet", + "NEFT", + "AEPS", + "Account Transfer", + "Bharat QR", + "USSD" + ] + }, + "selectedPaymentOptions": { + "type": "array", + "description": "List of selected payment options", + "nullable": true, + "items": { + "required": ["amount", "name"], + "type": "object", + "properties": { + "amount": { + "minimum": 1, + "type": "integer", + "description": "The amount to be paid for the selected payment option." + }, + "name": { + "type": "string", + "description": "The name of the payment option as returned in bill fetch response.", + "example": "John Doe" + } + } + }, + "x-nullable": true, + "x-omitempty": true } + } + }, + "bills": { + "uniqueItems": true, + "type": "array", + "nullable": true, + "example": "Selection on bills in case of list billers", + "items": { + "required": ["amount", "billNumber"], + "type": "object", + "properties": { + "billNumber": { + "type": "string", + "example": "B1234567" + }, + "amount": { + "minimum": 1, + "type": "integer", + "description": "Amount in Paise" + } + }, + "x-omitempty": true }, - "x-go-gen-location": "models", - "x-go-name": "BillerDetails" + "x-omitempty": true + }, + "dummyBillerResponseAmount": { + "type": "integer", + "description": "On debug, this is the amount passed in biller response COMFORT NEGATIVE 23", + "nullable": true + }, + "dummyOrigRefId": { + "type": "string", + "description": "On debug, hijacks orig ref id of payment request - COMFORT PAYMENT - 83", + "nullable": true, + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } }, "x-omitempty": true @@ -1179,38 +1261,17 @@ "required": ["mobile"], "type": "object", "properties": { - "remitter": { - "type": "object", - "properties": { - "aadhaar": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "email": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "name": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "pan": { - "maxLength": 50, - "minLength": 1, - "type": "string" - } - } + "customerId": { + "type": "string", + "description": "Customer Identifier", + "example": "4881317598" }, "mobile": { - "maxLength": 20, + "maxLength": 22, "minLength": 6, - "pattern": "^\\d{6}(\\d{4}(\\d{10})?)?$", + "pattern": "^\\d{6,22}$", "type": "string", - "description": "Mobile number with 6, 10 and 20 digits are valid.", - "example": "9481773053" + "description": "Mobile number with 6 to 22 digits are valid." } } }, @@ -1228,7 +1289,7 @@ "name": { "type": "string", "description": "The display name of the parameter. This has to match what is sent in fields.", - "example": "Loan Number" + "example": "John Doe" }, "value": { "type": "string", @@ -1313,25 +1374,35 @@ "type": "object", "properties": { "code": { - "type": "string" + "type": "string", + "example": "error-code-if-any" }, "message": { - "type": "string" + "type": "string", + "example": "error-message-if-any" + }, + "refId": { + "type": "string", + "description": "The generated BBPS Reference ID for the request.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } } }, "refId": { "type": "string", + "description": "The generated BBPS Reference ID for the request.", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } } }, "success": { "type": "boolean", + "description": "Boolean value indicating the status of the request", "example": true }, "traceId": { "type": "string", + "description": "The traceId generated for the request", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10461713" } } @@ -1347,27 +1418,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -1435,25 +1506,35 @@ "type": "object", "properties": { "code": { - "type": "string" + "type": "string", + "example": "error-code-if-any" }, "message": { - "type": "string" + "type": "string", + "example": "error-message-if-any" + }, + "refId": { + "type": "string", + "description": "The generated BBPS Reference ID for the request.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } } }, "refId": { "type": "string", + "description": "The generated BBPS Reference ID for the request.", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } } }, "success": { "type": "boolean", + "description": "Boolean value indicating the status of the request", "example": true }, "traceId": { "type": "string", + "description": "The traceId generated for the request", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10461713" } } @@ -1469,27 +1550,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -1535,7 +1616,8 @@ "properties": { "refId": { "type": "string", - "example": "LNMSQQR4RKT7X1UGPY7JGUV454PL9T2C689" + "description": "The generated BBPS Reference ID for the request.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } }, "x-go-name": "RefIdBasedRequest", @@ -1546,76 +1628,6 @@ "required": true }, "responses": { - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "required": ["error", "success", "traceId"], - "type": "object", - "properties": { - "error": { - "required": ["code", "message"], - "type": "object", - "properties": { - "code": { - "type": "string", - "example": "validation-error" - }, - "message": { - "type": "string", - "example": "Input is invalid" - } - } - }, - "success": { - "type": "boolean", - "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" - } - } - } - } - } - }, - "500": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "required": ["error", "success", "traceId"], - "type": "object", - "properties": { - "error": { - "required": ["code", "message"], - "type": "object", - "properties": { - "code": { - "type": "string", - "example": "validation-error" - }, - "message": { - "type": "string", - "example": "Input is invalid" - } - } - }, - "success": { - "type": "boolean", - "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" - } - } - } - } - } - }, "200": { "description": "OK", "headers": { @@ -1672,12 +1684,6 @@ "required": ["refId", "status"], "type": "object", "properties": { - "lastPaidDate": { - "type": "string", - "format": "date-time", - "nullable": true, - "example": "2020-12-12T13:12:00+05:30" - }, "paymentDetails": { "required": [ "amount", @@ -1687,15 +1693,30 @@ ], "type": "object", "properties": { + "custConvFee": { + "type": "integer", + "nullable": true + }, + "paymentRefId": { + "maxLength": 35, + "minLength": 6, + "type": "string", + "example": "BD019181220291" + }, "timestamp": { "type": "string", "format": "date-time", "example": "2020-12-12T13:12:00+05:30" }, + "COUcustConvFee": { + "type": "integer", + "nullable": true + }, "accountInfo": { "maxLength": 50, "minLength": 1, - "type": "string" + "type": "string", + "example": "some-info" }, "amount": { "minimum": 1, @@ -1706,37 +1727,6 @@ "type": "integer", "nullable": true }, - "selectedPaymentOptions": { - "type": "array", - "description": "List of selected payment options", - "nullable": true, - "items": { - "required": ["amount", "name"], - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the payment option as returned in bill fetch response.", - "example": "Early Payment Amount" - }, - "amount": { - "minimum": 1, - "type": "integer", - "description": "The amount to be paid for the selected payment option." - } - } - }, - "x-nullable": true, - "x-omitempty": true - }, - "COUcustConvFee": { - "type": "integer", - "nullable": true - }, - "custConvFee": { - "type": "integer", - "nullable": true - }, "mode": { "type": "string", "example": "Internet Banking", @@ -1756,94 +1746,124 @@ "USSD" ] }, - "paymentRefId": { - "maxLength": 35, - "minLength": 6, - "type": "string", - "example": "BD019181220291" + "selectedPaymentOptions": { + "type": "array", + "description": "List of selected payment options", + "nullable": true, + "items": { + "required": ["amount", "name"], + "type": "object", + "properties": { + "amount": { + "minimum": 1, + "type": "integer", + "description": "The amount to be paid for the selected payment option." + }, + "name": { + "type": "string", + "description": "The name of the payment option as returned in bill fetch response.", + "example": "John Doe" + } + } + }, + "x-nullable": true, + "x-omitempty": true } } }, - "refId": { - "type": "string", - "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" - }, - "status": { - "type": "string", - "example": "Success", - "enum": ["Processing", "Success", "Failure"] - }, - "transactionId": { + "billerId": { "type": "string", - "example": "AX30910192192192192" + "description": "The biller ID on BBPS", + "example": "MAHI00000NATIC" }, - "additionalInfo": { + "bills": { + "uniqueItems": true, "type": "array", + "nullable": true, + "example": "The bills paid in case of list billers", "items": { - "required": ["name", "value"], + "required": ["amount", "billNumber"], "type": "object", "properties": { - "name": { + "billNumber": { "type": "string", - "example": "Line item 1" + "example": "B1234567" }, - "value": { - "type": "string", - "example": "Value 1" + "amount": { + "minimum": 1, + "type": "integer", + "description": "Amount in Paise" } - } + }, + "x-omitempty": true }, - "x-go-name": "BillAdditionalInfo" - }, - "billerId": { - "type": "string", - "description": "The biller ID on BBPS", - "example": "MAHI00000NATIC" + "x-omitempty": true }, "failureReason": { "required": ["code", "message"], "type": "object", "properties": { - "code": { - "type": "string", - "example": "ERR004" - }, "message": { "type": "string", - "example": "customer not found" + "example": "error-message-if-any" }, "type": { "type": "string", "enum": ["FUND_TRANSFER", "BBPS", "APP"] + }, + "code": { + "type": "string", + "example": "error-code-if-any" } } }, - "billerRefId": { + "lastPaidDate": { "type": "string", - "example": "ZA6291A177" + "format": "date-time", + "nullable": true, + "example": "2020-12-12T13:12:00+05:30" }, - "bills": { - "uniqueItems": true, + "refId": { + "type": "string", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + }, + "status": { + "type": "string", + "example": "Success", + "enum": [ + "Processing", + "Success", + "Failure", + "Credit_Adjustment" + ] + }, + "transactionId": { + "type": "string", + "example": "AX30910192192192192" + }, + "additionalInfo": { "type": "array", - "nullable": true, - "example": "The bills paid in case of list billers", + "description": "This tag captures the additional information provided by the Biller as part of response for a successful transaction.", "items": { - "required": ["amount", "billNumber"], + "required": ["name", "value"], "type": "object", "properties": { - "amount": { - "minimum": 1, - "type": "integer", - "description": "Amount in Paise" + "value": { + "type": "string", + "example": "Value 1" }, - "billNumber": { + "name": { "type": "string", - "example": "B1234567" + "example": "John Doe" } - }, - "x-omitempty": true + } }, - "x-omitempty": true + "x-go-name": "BillAdditionalInfo", + "x-omitempty": false + }, + "billerRefId": { + "type": "string", + "example": "ZA6291A177" } } }, @@ -1856,15 +1876,85 @@ "example": "C3SFG0O6N88R6UI7EQ" } }, - "x-go-name": "CouAgentBillPaymentResponse", - "x-omitempty": true + "x-omitempty": true, + "x-go-name": "CouAgentBillPaymentResponse" } } } - } - }, - "security": [ - { + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [ + { "Production": ["bbps:partner"] }, { @@ -1881,12 +1971,11 @@ "post": { "tags": ["Dispute"], "description": "Raise dispute request API", - "operationId": "DisputeRequestV2", "parameters": [ { "name": "X-PARTNER-ID", "in": "header", - "description": "Partner ID", + "description": "The Partner ID provided by Setu.", "required": true, "schema": { "type": "integer" @@ -1909,7 +1998,6 @@ "disputeType": { "type": "string", "description": "The type of NPCI dispute", - "example": "account-not-updated", "enum": [ "account-not-updated", "double-payment", @@ -1940,6 +2028,41 @@ "required": true }, "responses": { + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, "200": { "description": "OK", "headers": { @@ -2001,25 +2124,35 @@ "type": "object", "properties": { "code": { - "type": "string" + "type": "string", + "example": "error-code-if-any" }, "message": { - "type": "string" + "type": "string", + "example": "error-message-if-any" + }, + "refId": { + "type": "string", + "description": "The generated BBPS Reference ID for the request.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } } }, "refId": { "type": "string", + "description": "The generated BBPS Reference ID for the request.", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } } }, "success": { "type": "boolean", + "description": "Boolean value indicating the status of the request", "example": true }, "traceId": { "type": "string", + "description": "The traceId generated for the request", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10461713" } } @@ -2035,62 +2168,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { - "error": { - "required": ["code", "message"], - "type": "object", - "properties": { - "code": { - "type": "string", - "example": "validation-error" - }, - "message": { - "type": "string", - "example": "Input is invalid" - } - } - }, - "success": { - "type": "boolean", - "example": false - }, "traceId": { "type": "string", "example": "C3SFG0O6N88R6UI7EQ" - } - } - } - } - } - }, - "500": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "required": ["error", "success", "traceId"], - "type": "object", - "properties": { + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -2120,7 +2218,7 @@ { "name": "X-PARTNER-ID", "in": "header", - "description": "Partner ID", + "description": "The Partner ID provided by Setu.", "required": true, "schema": { "type": "integer" @@ -2136,7 +2234,8 @@ "properties": { "refId": { "type": "string", - "example": "LNMSQQR4RKT7X1UGPY7JGUV454PL9T2C689" + "description": "The generated BBPS Reference ID for the request.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } }, "x-go-name": "RefIdBasedRequest", @@ -2219,6 +2318,7 @@ }, "refId": { "type": "string", + "description": "The generated BBPS Reference ID for the request.", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" }, "remarks": { @@ -2267,27 +2367,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -2302,27 +2402,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -2348,12 +2448,11 @@ "get": { "tags": ["List"], "description": "Returns the list of disputes.", - "operationId": "getDisputesV2", "parameters": [ { "name": "X-PARTNER-ID", "in": "header", - "description": "Partner ID", + "description": "The Partner ID provided by Setu.", "required": true, "schema": { "type": "integer" @@ -2365,7 +2464,6 @@ "style": "form", "explode": false, "schema": { - "uniqueItems": true, "type": "array", "items": { "type": "string", @@ -2400,7 +2498,6 @@ "style": "form", "explode": false, "schema": { - "uniqueItems": true, "type": "array", "items": { "type": "string" @@ -2414,12 +2511,10 @@ "style": "form", "explode": false, "schema": { - "uniqueItems": true, "type": "array", "items": { "type": "string", - "format": "date", - "example": "2022-07-19" + "format": "date" } } }, @@ -2433,11 +2528,19 @@ { "name": "mobile", "in": "query", - "description": "Mobile number with 6, 10 and 20 digits are valid.", + "description": "Mobile number with 6 to 22 digits are valid.", "schema": { - "maxLength": 20, + "maxLength": 22, "minLength": 6, - "pattern": "^\\d{6}(\\d{4}(\\d{10})?)?$", + "pattern": "^\\d{6,22}$", + "type": "string" + } + }, + { + "name": "customerId", + "in": "query", + "description": "Customer Identifier", + "schema": { "type": "string" } }, @@ -2448,7 +2551,6 @@ "style": "form", "explode": false, "schema": { - "uniqueItems": true, "type": "array", "items": { "type": "string" @@ -2458,13 +2560,14 @@ { "name": "paymentRefIds", "in": "query", - "description": "Agent's payment reference Ids", + "description": "Partner provided transaction Ids", "style": "form", "explode": false, "schema": { - "uniqueItems": true, "type": "array", "items": { + "maxLength": 35, + "minLength": 6, "type": "string" } } @@ -2476,7 +2579,6 @@ "style": "form", "explode": false, "schema": { - "uniqueItems": true, "type": "array", "items": { "type": "string" @@ -2493,13 +2595,47 @@ "type": "array", "items": { "type": "string", - "example": "BILLER", "enum": ["BILLER", "TRANSACTION"] } } } ], "responses": { + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, "200": { "description": "List of disputes", "headers": { @@ -2568,6 +2704,7 @@ "type": "object", "properties": { "data": { + "required": ["disputes"], "type": "object", "properties": { "disputes": { @@ -2577,70 +2714,90 @@ { "type": "object", "properties": { - "biller": { - "required": [ - "categoryName", - "customerParams", - "exactness", - "fetchApiType", - "id", - "name", - "payWithoutFetchAllowed", - "paymentChannels", - "paymentModes", - "supportsPendingStatus" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "example": "ADIT00000NAT0T" - }, - "country": { - "type": "string", - "example": "IND" - }, - "paymentChannels": { - "type": "array", - "items": { - "required": [ - "maxLimit", - "minLimit", - "paymentChannel", - "supportsPendingStatus" - ], - "type": "object", - "properties": { - "maxLimit": { - "type": "integer" - }, - "minLimit": { - "type": "integer" - }, - "paymentChannel": { - "type": "string", - "description": "This is the initiating channel.\n1. `AGT`: Offline agent.\n2. `BNKBRNCH`: Bank branch.\n3. `BSC`: Business correspondent\n4. `MOB`: Mobile application\n5. `INT`: Internet portal\n6. `INTB`: Internet banking\n7. `MOBB`: Mobile banking\n8. `ATM`: ATM\n9. `KIOSK`: KIOSK\n", - "example": "INT", - "enum": [ - "INT", - "INTB", - "MOB", - "BNKBRNCH", - "BSC", - "AGT", - "KIOSK", - "ATM", - "MOBB", - "POS", - "MPOS" - ] - }, - "supportsPendingStatus": { - "type": "boolean", - "example": false - } - } - } + "lastModifiedAt": { + "type": "string", + "description": "Dispute's last modified timestamp", + "format": "date-time", + "example": "2020-12-12T13:12:00+05:30" + }, + "refId": { + "type": "string", + "description": "The generated BBPS Reference ID for the request.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + }, + "responseCode": { + "type": "string", + "example": "ADIT00000NATRA" + }, + "transactionId": { + "type": "string", + "description": "Setu BillPay Transaction ID.", + "example": "AS01910192192192192" + }, + "assigned": { + "type": "string", + "example": "ADIT00000NATRA" + }, + "complaintStatus": { + "type": "string", + "description": "BBPS Complaint status", + "example": "ASSIGNED", + "enum": [ + "INITIALIZED", + "ASSIGNED", + "RE_ASSIGNED", + "ASSIGNED_TO_BOU", + "ASSIGNED_TO_COU", + "ASSIGNED_TO_OU", + "ESCALATED", + "RESOLVED", + "UNRESOLVED" + ] + }, + "createdAt": { + "type": "string", + "description": "Dispute's creation timestamp", + "format": "date-time", + "example": "2020-12-12T13:12:00+05:30" + }, + "customerId": { + "type": "string", + "description": "Customer Identifier", + "example": "4881317598" + }, + "remarks": { + "type": "string", + "example": "ADIT00000NATRA" + }, + "responseReason": { + "type": "string", + "example": "ADIT00000NATRA" + }, + "biller": { + "required": [ + "categoryName", + "customerParams", + "exactness", + "fetchApiType", + "id", + "name", + "payWithoutFetchAllowed", + "paymentChannels", + "paymentModes", + "supportsPendingStatus" + ], + "type": "object", + "properties": { + "country": { + "type": "string", + "example": "IND" + }, + "modifiedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "example": "2021-11-12T13:37:04.572+05:30", + "x-omitempty": false }, "responseType": { "type": "string", @@ -2654,6 +2811,73 @@ "x-nullable": true, "x-omitempty": false }, + "subCategoryName": { + "type": "string", + "example": "DAIRY" + }, + "coverage": { + "type": "string", + "example": "IND-TEL-Hyderabad" + }, + "interchangeFee": { + "type": "array", + "items": { + "type": "object", + "properties": { + "feeCode": { + "type": "string", + "example": "CCF1" + }, + "feeDesc": { + "type": "string", + "example": "Customer Convenience Fee" + }, + "feeDirection": { + "type": "string", + "example": "C2B" + }, + "interchangeFeeDetails": { + "required": [ + "effctvFrom", + "effctvTo", + "flatFee", + "percentFee", + "tranAmtRangeMax", + "tranAmtRangeMin" + ], + "type": "object", + "properties": { + "percentFee": { + "type": "number", + "format": "decimal", + "example": 1.0 + }, + "tranAmtRangeMax": { + "type": "integer", + "format": "int64" + }, + "tranAmtRangeMin": { + "type": "integer", + "format": "int64" + }, + "effctvFrom": { + "type": "string", + "example": "2024-01-01" + }, + "effctvTo": { + "type": "string", + "example": "2024-12-31" + }, + "flatFee": { + "type": "number", + "format": "decimal", + "example": 0.0 + } + } + } + } + } + }, "selectionType": { "type": "string", "description": "Defined only for billers with response type as LIST. SINGLE: User can pay only one of the bills in bill fetch response. MULTIPLE: User can pay any combination of bills in bill fetch response. ALL: User has to pay all the bills in bill fetch response.", @@ -2664,10 +2888,23 @@ "MULTIPLE", "ALL" ], - "x-nullable": true, - "x-omitempty": false + "x-omitempty": false, + "x-nullable": true }, - "billerAdditionalInfo": { + "pincode": { + "type": "string", + "example": "pincode" + }, + "supportsPendingStatus": { + "type": "boolean", + "description": "Flag indicating whether pending status is applicable for the biller or not", + "example": false + }, + "tags": { + "type": "string", + "example": "tags" + }, + "billerAdditionalInfoPayment": { "type": "array", "items": { "required": [ @@ -2696,79 +2933,53 @@ } } }, - "billerAdditionalInfoPayment": { + "customerParams": { "type": "array", "items": { "required": [ "dataType", + "maxLength", + "minLength", "optional", - "paramName" + "paramName", + "regex", + "values", + "visibility" ], "type": "object", "properties": { + "paramName": { + "type": "string", + "example": "Loan Account Number" + }, + "regex": { + "type": "string", + "example": "^[a-zA-Z0-9]{7,15}" + }, + "values": { + "type": "string" + }, + "visibility": { + "type": "boolean", + "example": true + }, "dataType": { "type": "string", - "example": "ALPHANUMERIC", - "enum": [ - "ALPHANUMERIC", - "NUMERIC" - ] + "example": "ALPHANUMERIC" + }, + "maxLength": { + "type": "integer" + }, + "minLength": { + "type": "integer" }, "optional": { "type": "boolean", "example": false - }, - "paramName": { - "type": "string", - "example": "Package Duration" } } } }, - "city": { - "type": "string", - "example": "Hyderabad" - }, - "enforcesSameDayFetchPay": { - "type": "boolean", - "example": true, - "x-omitempty": false - }, - "payWithoutFetchAllowed": { - "type": "boolean", - "example": true - }, - "supportsPendingStatus": { - "type": "boolean", - "example": false - }, - "tags": { - "type": "string", - "example": "tags" - }, - "modifiedAt": { - "type": "string", - "format": "date-time", - "nullable": true, - "example": "2021-11-12T13:37:04.572+05:30", - "x-omitempty": false - }, - "state": { - "type": "string", - "example": "TEL" - }, - "logo": { - "type": "string", - "example": "logo" - }, - "name": { - "type": "string", - "example": "Aditya Birla Sun Life Insurance" - }, - "coverage": { - "type": "string", - "example": "IND-TEL-Hyderabad" - }, "customerParamsGroups": { "type": "array", "items": { @@ -2779,9 +2990,20 @@ } } }, + "id": { + "type": "string", + "description": "Identifier of the biller in BBPS.", + "example": "ADIT00000NAT0T" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "example": "2021-11-12T13:37:04.572+05:30", + "x-omitempty": false + }, "exactness": { "type": "string", - "description": "Biller exactness", "example": "Exact", "enum": [ "Exact", @@ -2793,17 +3015,12 @@ }, "fetchApiType": { "type": "string", - "example": "BILL_FETCH", "enum": [ "BILL_FETCH", "BILL_VALIDATE", "BILL_DIRECT" ] }, - "subCategoryName": { - "type": "string", - "example": "DAIRY" - }, "bbpsUpdateTimestamp": { "type": "string", "description": "Last updated date-time of the Biller accurate to the nearest day.", @@ -2812,63 +3029,109 @@ "example": "2021-11-12T13:37:04.572+05:30", "x-omitempty": true }, - "categoryName": { + "logo": { "type": "string", - "example": "loan-repayment" + "example": "logo" }, - "createdAt": { - "type": "string", - "format": "date-time", + "plans": { + "type": "array", "nullable": true, - "example": "2021-11-12T13:37:04.572+05:30", - "x-omitempty": false - }, - "customerParams": { - "type": "array", "items": { "required": [ - "dataType", - "maxLength", - "minLength", - "optional", - "paramName", - "regex", - "values", - "visibility" + "amount", + "categoryType", + "description", + "id", + "status" ], "type": "object", "properties": { - "regex": { + "effectiveTo": { "type": "string", - "example": "^[a-zA-Z0-9]{7,15}" + "description": "Effective to date of corresponding Plan.", + "format": "date", + "nullable": true, + "example": "2020-08-21", + "x-omitempty": false }, - "values": { - "type": "string" - }, - "visibility": { - "type": "boolean", - "example": true + "amount": { + "type": "string", + "example": "22.0" }, - "dataType": { + "effectiveFrom": { "type": "string", - "example": "ALPHANUMERIC" + "description": "Effective from date of corresponding Plan.", + "format": "date", + "nullable": true, + "example": "2017-07-21", + "x-omitempty": false }, - "maxLength": { - "type": "integer" + "categoryType": { + "type": "string", + "description": "Plan category as defined by the Biller.", + "example": "VIP" }, - "minLength": { - "type": "integer" + "description": { + "type": "string", + "description": "Plan description as defined by the Biller.", + "example": "Unlimited Live Sports" }, - "optional": { - "type": "boolean", - "example": false + "id": { + "type": "string", + "description": "Plan ID", + "example": "1.0" }, - "paramName": { + "status": { "type": "string", - "example": "Loan Account Number" + "description": "Effective to date of corresponding Plan.", + "example": "ACTIVE", + "enum": [ + "ACTIVE", + "DEACTIVATED" + ] + }, + "additionalInfo": { + "minItems": 1, + "type": "array", + "description": "Plan Additional information details provided by the Biller.", + "example": [ + { + "paramName": "Mobile Number", + "paramValue": "Text" + } + ], + "items": { + "type": "object", + "properties": { + "paramName": { + "type": "string", + "example": "Plan Additional information parameter name." + }, + "paramValue": { + "type": "string", + "example": "Plan Additional information parameter value." + } + }, + "example": { + "paramName": "Mobile Number", + "paramValue": "Text" + }, + "x-go-name": "PlanAdditionalInfoItem" + }, + "x-omitempty": true + }, + "categorySubType": { + "type": "object", + "properties": {}, + "description": "Plan sub category as defined by the Biller.", + "example": { + "subType": "1 Month" + }, + "x-omitempty": true } } - } + }, + "x-omitempty": true }, "paymentModes": { "type": "array", @@ -2913,9 +3176,104 @@ } } }, - "pincode": { + "categoryName": { "type": "string", - "example": "pincode" + "description": "Biller Category", + "example": "loan-repayment" + }, + "city": { + "type": "string", + "example": "Hyderabad" + }, + "enforcesSameDayFetchPay": { + "type": "boolean", + "example": true, + "x-omitempty": false + }, + "name": { + "type": "string", + "description": "Name of the biller.", + "example": "John Doe" + }, + "billerAdditionalInfo": { + "type": "array", + "items": { + "required": [ + "dataType", + "optional", + "paramName" + ], + "type": "object", + "properties": { + "dataType": { + "type": "string", + "example": "ALPHANUMERIC", + "enum": [ + "ALPHANUMERIC", + "NUMERIC" + ] + }, + "optional": { + "type": "boolean", + "example": false + }, + "paramName": { + "type": "string", + "example": "Package Duration" + } + } + } + }, + "payWithoutFetchAllowed": { + "type": "boolean", + "description": "Flag indicating if the Biller accepts adhoc payment", + "example": true + }, + "paymentChannels": { + "type": "array", + "items": { + "required": [ + "maxLimit", + "minLimit", + "paymentChannel", + "supportsPendingStatus" + ], + "type": "object", + "properties": { + "paymentChannel": { + "type": "string", + "description": "This is the initiating channel.\n1. `AGT`: Offline agent.\n2. `BNKBRNCH`: Bank branch.\n3. `BSC`: Business correspondent\n4. `MOB`: Mobile application\n5. `INT`: Internet portal\n6. `INTB`: Internet banking\n7. `MOBB`: Mobile banking\n8. `ATM`: ATM\n9. `KIOSK`: KIOSK\n", + "example": "INT", + "enum": [ + "INT", + "INTB", + "MOB", + "BNKBRNCH", + "BSC", + "AGT", + "KIOSK", + "ATM", + "MOBB", + "POS", + "MPOS" + ] + }, + "supportsPendingStatus": { + "type": "boolean", + "example": false + }, + "maxLimit": { + "type": "integer" + }, + "minLimit": { + "type": "integer" + } + } + } + }, + "state": { + "type": "string", + "example": "TEL" } }, "x-go-name": "CouBillerDetails" @@ -2928,59 +3286,6 @@ "complaintId": { "type": "string", "example": "Loan Repayment" - }, - "lastModifiedAt": { - "type": "string", - "description": "Dispute's last modified timestamp", - "format": "date-time", - "example": "2020-12-12T13:12:00+05:30" - }, - "refId": { - "type": "string", - "example": "Loan Repayment" - }, - "responseCode": { - "type": "string", - "example": "ADIT00000NATRA" - }, - "assigned": { - "type": "string", - "example": "ADIT00000NATRA" - }, - "complaintStatus": { - "type": "string", - "description": "BBPS Complaint status", - "example": "ASSIGNED", - "enum": [ - "INITIALIZED", - "ASSIGNED", - "RE_ASSIGNED", - "ASSIGNED_TO_BOU", - "ASSIGNED_TO_COU", - "ASSIGNED_TO_OU", - "ESCALATED", - "RESOLVED", - "UNRESOLVED" - ] - }, - "createdAt": { - "type": "string", - "description": "Dispute's creation timestamp", - "format": "date-time", - "example": "2020-12-12T13:12:00+05:30" - }, - "remarks": { - "type": "string", - "example": "ADIT00000NATRA" - }, - "responseReason": { - "type": "string", - "example": "ADIT00000NATRA" - }, - "transactionId": { - "type": "string", - "description": "Setu BillPay Transaction ID.", - "example": "AX30910192192192192" } } }, @@ -2988,49 +3293,32 @@ "type": "object", "properties": { "mobile": { - "maxLength": 20, + "maxLength": 22, "minLength": 6, - "pattern": "^\\d{6}(\\d{4}(\\d{10})?)?$", + "pattern": "^\\d{6,22}$", "type": "string", - "description": "Mobile number with 6, 10 and 20 digits are valid.", - "example": "9481773053" + "description": "Mobile number with 6 to 22 digits are valid." }, - "paymentRefId": { + "paymentRefID": { + "maxLength": 35, + "minLength": 6, "type": "string", - "description": "Agent's payment reference ID" + "description": "Unique identifier provided by Partner for the payment request.", + "example": "BD019181220291" }, "transaction": { "allOf": [ { "type": "object", "properties": { - "amount": { - "type": "integer" - }, - "bills": { - "type": "array", - "items": { - "required": [ - "amount", - "billNumber" - ], - "type": "object", - "properties": { - "amount": { - "minimum": 1, - "type": "integer", - "description": "Amount in Paise" - }, - "billNumber": { - "type": "string", - "example": "B1234567" - } - }, - "x-omitempty": true - } + "customerId": { + "type": "string", + "description": "Customer Identifier", + "example": "4881317598" }, "refId": { "type": "string", + "description": "The generated BBPS Reference ID for the request.", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" }, "status": { @@ -3039,73 +3327,120 @@ "enum": [ "Processing", "Success", - "Error" + "Error", + "Credit_Adjustment" ] }, - "biller": { + "amount": { + "type": "integer" + }, + "custConvFee": { + "type": "integer", + "description": "Customer convenience fee in paise" + }, + "customerParams": { + "type": "array", + "description": "The bill params for fetching the bill", + "items": { + "required": ["name", "value"], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The display name of the parameter. This has to match what is sent in fields.", + "example": "John Doe" + }, + "value": { + "type": "string", + "description": "The value of the customer parameter", + "example": "1895159" + } + } + } + }, + "etherealTransaction": { "required": [ - "categoryName", - "customerParams", - "exactness", - "fetchApiType", - "id", - "name", - "payWithoutFetchAllowed", - "paymentChannels", - "paymentModes", - "supportsPendingStatus" + "amount", + "billRefId", + "refId", + "status", + "transactionId" ], "type": "object", "properties": { - "id": { + "amount": { "type": "string", - "example": "ADIT00000NAT0T" + "example": "100.00" }, - "country": { + "billRefId": { "type": "string", - "example": "IND" + "description": "The BBPS Ref ID", + "example": "C3SFG0O6N88R6UI7EQ" }, - "paymentChannels": { - "type": "array", - "items": { - "required": [ - "maxLimit", - "minLimit", - "paymentChannel", - "supportsPendingStatus" - ], - "type": "object", - "properties": { - "maxLimit": { - "type": "integer" - }, - "minLimit": { - "type": "integer" - }, - "paymentChannel": { - "type": "string", - "description": "This is the initiating channel.\n1. `AGT`: Offline agent.\n2. `BNKBRNCH`: Bank branch.\n3. `BSC`: Business correspondent\n4. `MOB`: Mobile application\n5. `INT`: Internet portal\n6. `INTB`: Internet banking\n7. `MOBB`: Mobile banking\n8. `ATM`: ATM\n9. `KIOSK`: KIOSK\n", - "example": "INT", - "enum": [ - "INT", - "INTB", - "MOB", - "BNKBRNCH", - "BSC", - "AGT", - "KIOSK", - "ATM", - "MOBB", - "POS", - "MPOS" - ] - }, - "supportsPendingStatus": { - "type": "boolean", - "example": false - } - } - } + "refId": { + "type": "string", + "example": "COUWL910192192192192" + }, + "status": { + "type": "string", + "enum": [ + "INIT", + "SUCCESS", + "FAILURE", + "PENDING", + "UNKNOWN" + ] + }, + "transactionId": { + "type": "string", + "example": "Q910192192192192" + } + } + }, + "refundStatus": { + "type": "string", + "enum": [ + "Required", + "Requested", + "Processed" + ] + }, + "timestamp": { + "type": "string", + "description": "Timestamp provided by partner while making payment request.", + "format": "date-time", + "example": "2020-12-12T13:12:00+05:30" + }, + "transactionId": { + "type": "string", + "description": "Setu BillPay Transaction ID.", + "example": "AS01910192192192192" + }, + "biller": { + "required": [ + "categoryName", + "customerParams", + "exactness", + "fetchApiType", + "id", + "name", + "payWithoutFetchAllowed", + "paymentChannels", + "paymentModes", + "supportsPendingStatus" + ], + "type": "object", + "properties": { + "country": { + "type": "string", + "example": "IND" + }, + "modifiedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "example": "2021-11-12T13:37:04.572+05:30", + "x-omitempty": false }, "responseType": { "type": "string", @@ -3119,6 +3454,73 @@ "x-nullable": true, "x-omitempty": false }, + "subCategoryName": { + "type": "string", + "example": "DAIRY" + }, + "coverage": { + "type": "string", + "example": "IND-TEL-Hyderabad" + }, + "interchangeFee": { + "type": "array", + "items": { + "type": "object", + "properties": { + "feeCode": { + "type": "string", + "example": "CCF1" + }, + "feeDesc": { + "type": "string", + "example": "Customer Convenience Fee" + }, + "feeDirection": { + "type": "string", + "example": "C2B" + }, + "interchangeFeeDetails": { + "required": [ + "effctvFrom", + "effctvTo", + "flatFee", + "percentFee", + "tranAmtRangeMax", + "tranAmtRangeMin" + ], + "type": "object", + "properties": { + "percentFee": { + "type": "number", + "format": "decimal", + "example": 1.0 + }, + "tranAmtRangeMax": { + "type": "integer", + "format": "int64" + }, + "tranAmtRangeMin": { + "type": "integer", + "format": "int64" + }, + "effctvFrom": { + "type": "string", + "example": "2024-01-01" + }, + "effctvTo": { + "type": "string", + "example": "2024-12-31" + }, + "flatFee": { + "type": "number", + "format": "decimal", + "example": 0.0 + } + } + } + } + } + }, "selectionType": { "type": "string", "description": "Defined only for billers with response type as LIST. SINGLE: User can pay only one of the bills in bill fetch response. MULTIPLE: User can pay any combination of bills in bill fetch response. ALL: User has to pay all the bills in bill fetch response.", @@ -3129,10 +3531,23 @@ "MULTIPLE", "ALL" ], - "x-nullable": true, - "x-omitempty": false + "x-omitempty": false, + "x-nullable": true }, - "billerAdditionalInfo": { + "pincode": { + "type": "string", + "example": "pincode" + }, + "supportsPendingStatus": { + "type": "boolean", + "description": "Flag indicating whether pending status is applicable for the biller or not", + "example": false + }, + "tags": { + "type": "string", + "example": "tags" + }, + "billerAdditionalInfoPayment": { "type": "array", "items": { "required": [ @@ -3161,79 +3576,53 @@ } } }, - "billerAdditionalInfoPayment": { + "customerParams": { "type": "array", "items": { "required": [ "dataType", + "maxLength", + "minLength", "optional", - "paramName" + "paramName", + "regex", + "values", + "visibility" ], "type": "object", "properties": { + "paramName": { + "type": "string", + "example": "Loan Account Number" + }, + "regex": { + "type": "string", + "example": "^[a-zA-Z0-9]{7,15}" + }, + "values": { + "type": "string" + }, + "visibility": { + "type": "boolean", + "example": true + }, "dataType": { "type": "string", - "example": "ALPHANUMERIC", - "enum": [ - "ALPHANUMERIC", - "NUMERIC" - ] + "example": "ALPHANUMERIC" + }, + "maxLength": { + "type": "integer" + }, + "minLength": { + "type": "integer" }, "optional": { "type": "boolean", "example": false - }, - "paramName": { - "type": "string", - "example": "Package Duration" } } } }, - "city": { - "type": "string", - "example": "Hyderabad" - }, - "enforcesSameDayFetchPay": { - "type": "boolean", - "example": true, - "x-omitempty": false - }, - "payWithoutFetchAllowed": { - "type": "boolean", - "example": true - }, - "supportsPendingStatus": { - "type": "boolean", - "example": false - }, - "tags": { - "type": "string", - "example": "tags" - }, - "modifiedAt": { - "type": "string", - "format": "date-time", - "nullable": true, - "example": "2021-11-12T13:37:04.572+05:30", - "x-omitempty": false - }, - "state": { - "type": "string", - "example": "TEL" - }, - "logo": { - "type": "string", - "example": "logo" - }, - "name": { - "type": "string", - "example": "Aditya Birla Sun Life Insurance" - }, - "coverage": { - "type": "string", - "example": "IND-TEL-Hyderabad" - }, "customerParamsGroups": { "type": "array", "items": { @@ -3244,9 +3633,20 @@ } } }, + "id": { + "type": "string", + "description": "Identifier of the biller in BBPS.", + "example": "ADIT00000NAT0T" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "example": "2021-11-12T13:37:04.572+05:30", + "x-omitempty": false + }, "exactness": { "type": "string", - "description": "Biller exactness", "example": "Exact", "enum": [ "Exact", @@ -3258,17 +3658,12 @@ }, "fetchApiType": { "type": "string", - "example": "BILL_FETCH", "enum": [ "BILL_FETCH", "BILL_VALIDATE", "BILL_DIRECT" ] }, - "subCategoryName": { - "type": "string", - "example": "DAIRY" - }, "bbpsUpdateTimestamp": { "type": "string", "description": "Last updated date-time of the Biller accurate to the nearest day.", @@ -3277,63 +3672,109 @@ "example": "2021-11-12T13:37:04.572+05:30", "x-omitempty": true }, - "categoryName": { - "type": "string", - "example": "loan-repayment" - }, - "createdAt": { + "logo": { "type": "string", - "format": "date-time", - "nullable": true, - "example": "2021-11-12T13:37:04.572+05:30", - "x-omitempty": false + "example": "logo" }, - "customerParams": { + "plans": { "type": "array", + "nullable": true, "items": { "required": [ - "dataType", - "maxLength", - "minLength", - "optional", - "paramName", - "regex", - "values", - "visibility" + "amount", + "categoryType", + "description", + "id", + "status" ], "type": "object", "properties": { - "regex": { + "effectiveTo": { "type": "string", - "example": "^[a-zA-Z0-9]{7,15}" + "description": "Effective to date of corresponding Plan.", + "format": "date", + "nullable": true, + "example": "2020-08-21", + "x-omitempty": false }, - "values": { - "type": "string" + "amount": { + "type": "string", + "example": "22.0" }, - "visibility": { - "type": "boolean", - "example": true + "effectiveFrom": { + "type": "string", + "description": "Effective from date of corresponding Plan.", + "format": "date", + "nullable": true, + "example": "2017-07-21", + "x-omitempty": false }, - "dataType": { + "categoryType": { "type": "string", - "example": "ALPHANUMERIC" - }, - "maxLength": { - "type": "integer" + "description": "Plan category as defined by the Biller.", + "example": "VIP" }, - "minLength": { - "type": "integer" + "description": { + "type": "string", + "description": "Plan description as defined by the Biller.", + "example": "Unlimited Live Sports" }, - "optional": { - "type": "boolean", - "example": false + "id": { + "type": "string", + "description": "Plan ID", + "example": "1.0" }, - "paramName": { + "status": { "type": "string", - "example": "Loan Account Number" + "description": "Effective to date of corresponding Plan.", + "example": "ACTIVE", + "enum": [ + "ACTIVE", + "DEACTIVATED" + ] + }, + "additionalInfo": { + "minItems": 1, + "type": "array", + "description": "Plan Additional information details provided by the Biller.", + "example": [ + { + "paramName": "Mobile Number", + "paramValue": "Text" + } + ], + "items": { + "type": "object", + "properties": { + "paramName": { + "type": "string", + "example": "Plan Additional information parameter name." + }, + "paramValue": { + "type": "string", + "example": "Plan Additional information parameter value." + } + }, + "example": { + "paramName": "Mobile Number", + "paramValue": "Text" + }, + "x-go-name": "PlanAdditionalInfoItem" + }, + "x-omitempty": true + }, + "categorySubType": { + "type": "object", + "properties": {}, + "description": "Plan sub category as defined by the Biller.", + "example": { + "subType": "1 Month" + }, + "x-omitempty": true } } - } + }, + "x-omitempty": true }, "paymentModes": { "type": "array", @@ -3378,9 +3819,104 @@ } } }, - "pincode": { + "categoryName": { "type": "string", - "example": "pincode" + "description": "Biller Category", + "example": "loan-repayment" + }, + "city": { + "type": "string", + "example": "Hyderabad" + }, + "enforcesSameDayFetchPay": { + "type": "boolean", + "example": true, + "x-omitempty": false + }, + "name": { + "type": "string", + "description": "Name of the biller.", + "example": "John Doe" + }, + "billerAdditionalInfo": { + "type": "array", + "items": { + "required": [ + "dataType", + "optional", + "paramName" + ], + "type": "object", + "properties": { + "dataType": { + "type": "string", + "example": "ALPHANUMERIC", + "enum": [ + "ALPHANUMERIC", + "NUMERIC" + ] + }, + "optional": { + "type": "boolean", + "example": false + }, + "paramName": { + "type": "string", + "example": "Package Duration" + } + } + } + }, + "payWithoutFetchAllowed": { + "type": "boolean", + "description": "Flag indicating if the Biller accepts adhoc payment", + "example": true + }, + "paymentChannels": { + "type": "array", + "items": { + "required": [ + "maxLimit", + "minLimit", + "paymentChannel", + "supportsPendingStatus" + ], + "type": "object", + "properties": { + "paymentChannel": { + "type": "string", + "description": "This is the initiating channel.\n1. `AGT`: Offline agent.\n2. `BNKBRNCH`: Bank branch.\n3. `BSC`: Business correspondent\n4. `MOB`: Mobile application\n5. `INT`: Internet portal\n6. `INTB`: Internet banking\n7. `MOBB`: Mobile banking\n8. `ATM`: ATM\n9. `KIOSK`: KIOSK\n", + "example": "INT", + "enum": [ + "INT", + "INTB", + "MOB", + "BNKBRNCH", + "BSC", + "AGT", + "KIOSK", + "ATM", + "MOBB", + "POS", + "MPOS" + ] + }, + "supportsPendingStatus": { + "type": "boolean", + "example": false + }, + "maxLimit": { + "type": "integer" + }, + "minLimit": { + "type": "integer" + } + } + } + }, + "state": { + "type": "string", + "example": "TEL" } }, "x-go-name": "CouBillerDetails" @@ -3389,37 +3925,6 @@ "type": "string", "description": "The biller ID on BBPS", "example": "MAHI00000NATIC" - }, - "customerParams": { - "type": "array", - "description": "The bill params for fetching the bill", - "items": { - "required": ["name", "value"], - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The display name of the parameter. This has to match what is sent in fields.", - "example": "Loan Number" - }, - "value": { - "type": "string", - "description": "The value of the customer parameter", - "example": "1895159" - } - } - } - }, - "timestamp": { - "type": "string", - "description": "Timestamp provided by partner while making payment request.", - "format": "date-time", - "example": "2020-12-12T13:12:00+05:30" - }, - "transactionId": { - "type": "string", - "description": "Setu BillPay Transaction ID.", - "example": "AX30910192192192192" } } }, @@ -3427,16 +3932,18 @@ "type": "object", "properties": { "mobile": { - "maxLength": 20, + "maxLength": 22, "minLength": 6, - "pattern": "^\\d{6}(\\d{4}(\\d{10})?)?$", + "pattern": "^\\d{6,22}$", "type": "string", - "description": "Mobile number with 6, 10 and 20 digits are valid.", - "example": "9481773053" + "description": "Mobile number with 6 to 22 digits are valid." }, "paymentRefId": { + "maxLength": 35, + "minLength": 6, "type": "string", - "description": "Agent's payment reference ID" + "description": "Unique identifier provided by Partner for the payment request.", + "example": "BD019181220291" } } } @@ -3449,10 +3956,7 @@ }, "nextPage": { "type": "string", - "example": "/api/bbps/billers?search=Aditya&CategoryCode=Loan+Repayment&CategoryCode=Insurance&after=ABCC00000PTNNS" - }, - "total": { - "type": "integer" + "example": "/api/bbps/disputes?search=Aditya&CategoryCode=Loan+Repayment&CategoryCode=Insurance&after=ABCC00000PTNNS" } } } @@ -3471,27 +3975,128 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false + } + } + } + } + } + } + }, + "security": [ + { + "Production": ["bbps:partner"] + }, + { + "Sandbox": ["bbps:partner"] + }, + { + "QA": ["bbps:partner"] + } + ] + } + }, + "/api/v2/health": { + "get": { + "tags": ["Health"], + "description": "Health check", + "operationId": "getHealth", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "required": ["environment", "server", "version"], + "type": "object", + "properties": { + "environment": { + "type": "string", + "example": "PROD" + }, + "server": { + "type": "string", + "example": "mistborn" }, + "version": { + "type": "string", + "example": "db42717a829da9d3061e4f409f3c0ee9935b72a5" + } + }, + "x-go-name": "HealthResponseParam", + "x-omitempty": true + } + } + } + } + } + } + }, + "/api/v2/bbps/categories": { + "get": { + "tags": ["List"], + "description": "Returns the list of categories.", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "The Partner ID provided by Setu.", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { "traceId": { "type": "string", "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false } } } @@ -3506,66 +4111,193 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } } } - } - }, - "security": [ - { - "Production": ["bbps:partner"] }, - { - "Sandbox": ["bbps:partner"] - }, - { - "QA": ["bbps:partner"] - } - ] - } - }, - "/api/v2/bbps/transactions": { - "get": { - "tags": ["List"], - "description": "Returns the list of transactions.", - "operationId": "getTxnsV2", + "200": { + "description": "List of categories", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["success", "traceId"], + "type": "object", + "properties": { + "data": { + "required": ["categories"], + "type": "object", + "properties": { + "categories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "billerCount": { + "type": "integer" + }, + "name": { + "type": "string", + "example": "John Doe" + } + } + } + } + } + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": true + }, + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + } + } + } + } + } + } + }, + "security": [ + { + "Production": ["bbps:partner"] + }, + { + "Sandbox": ["bbps:partner"] + }, + { + "QA": ["bbps:partner"] + } + ] + } + }, + "/api/v2/bbps/billers": { + "get": { + "tags": ["List"], + "description": "Returns the list of billers.", "parameters": [ { "name": "X-PARTNER-ID", "in": "header", - "description": "Partner ID", + "description": "The Partner ID provided by Setu.", "required": true, "schema": { "type": "integer" } }, + { + "name": "categoryName", + "in": "query", + "description": "Biller category. The query parameter follows a multi instance format. Usage: categoryName=category1&categoryName=category2", + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "ids", + "in": "query", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, { "name": "limit", "in": "query", + "description": "Limit", "schema": { + "maximum": 1000.0, + "minimum": 1.0, "type": "integer" } }, @@ -3577,164 +4309,122 @@ } }, { - "name": "startDate", + "name": "search", "in": "query", - "description": "start date of the timestamp provided by the partner while making the request.", "schema": { - "type": "string", - "format": "date" + "type": "string" } }, { - "name": "endDate", + "name": "pincode", "in": "query", - "description": "end date of the timestamp provided by the partner while making the request.", "schema": { - "type": "string", - "format": "date" + "type": "string" } }, { - "name": "billerId", + "name": "city", "in": "query", - "description": "Transaction BillerId", "schema": { "type": "string" } }, { - "name": "ids", + "name": "state", "in": "query", - "description": "Transaction Reference Ids", - "style": "form", - "explode": false, "schema": { - "type": "array", - "items": { - "type": "string" - } + "type": "string" } }, { - "name": "categories", + "name": "country", "in": "query", - "description": "Biller Category", - "style": "form", - "explode": false, "schema": { - "type": "array", - "items": { - "type": "string" - } + "type": "string" } }, { - "name": "billerFetchApiType", + "name": "coverage", "in": "query", - "description": "Biller Fetch Api Type", "schema": { - "type": "string", - "enum": ["BILL_FETCH", "BILL_VALIDATE", "BILL_DIRECT"] + "type": "string" } }, { - "name": "months", + "name": "tags", "in": "query", - "description": "Month ranges. A full-date notation as defined by 'RFC 3339, section 5.6' has to be provided but only month and year will be considered.", - "style": "form", - "explode": false, "schema": { - "type": "array", - "items": { - "type": "string", - "format": "date", - "example": "2022-07-19" - } + "type": "string" } }, { - "name": "status", + "name": "paymentChannel", "in": "query", - "description": "Transaction Status", "style": "form", "explode": false, "schema": { "type": "array", "items": { "type": "string", - "example": "Success", - "enum": ["Processing", "Success", "Error"] + "enum": [ + "INT", + "INTB", + "MOB", + "BNKBRNCH", + "BSC", + "AGT", + "KIOSK", + "ATM", + "MOBB", + "POS", + "MPOS" + ] } } }, { - "name": "mobile", - "in": "query", - "description": "Mobile number with 6, 10 and 20 digits are valid.", - "schema": { - "maxLength": 20, - "minLength": 6, - "pattern": "^\\d{6}(\\d{4}(\\d{10})?)?$", - "type": "string" - } - }, - { - "name": "expand", + "name": "paymentMode", "in": "query", "style": "form", "explode": false, "schema": { - "uniqueItems": true, "type": "array", "items": { "type": "string", - "example": "BILLER", - "enum": ["BILLER"] + "enum": [ + "Internet Banking", + "Debit Card", + "Credit Card", + "Prepaid Card", + "IMPS", + "Cash", + "UPI", + "Wallet", + "NEFT", + "AEPS", + "Account Transfer", + "Bharat QR", + "USSD" + ] } } + }, + { + "name": "updatedSince", + "in": "query", + "description": "Used to fetch billers updated since the given date-time in IST", + "schema": { + "type": "string", + "format": "date-time" + } } ], "responses": { - "500": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "required": ["error", "success", "traceId"], - "type": "object", - "properties": { - "error": { - "required": ["code", "message"], - "type": "object", - "properties": { - "code": { - "type": "string", - "example": "validation-error" - }, - "message": { - "type": "string", - "example": "Input is invalid" - } - } - }, - "success": { - "type": "boolean", - "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" - } - } - } - } - } - }, - "200": { - "description": "List of Txns", - "headers": { - "X-Frame-Options": { - "description": "X Frame options", + "200": { + "description": "List of billers", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", "schema": { "type": "string" } @@ -3779,839 +4469,146 @@ "content": { "application/json": { "schema": { - "allOf": [ - { - "required": ["success", "traceId"], + "required": ["success", "traceId"], + "type": "object", + "properties": { + "data": { + "required": ["billers"], "type": "object", "properties": { - "success": { - "type": "boolean", - "example": true - }, - "traceId": { + "nextPage": { "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" - } - } - }, - { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "nextPage": { - "type": "string", - "example": "/api/bbps/billers?search=Aditya&CategoryCode=Loan+Repayment&CategoryCode=Insurance&after=ABCC00000PTNNS" - }, - "transactions": { - "type": "array", - "items": { - "allOf": [ - { - "type": "object", - "properties": { - "amount": { - "type": "integer" - }, - "bills": { - "type": "array", - "items": { - "required": ["amount", "billNumber"], - "type": "object", - "properties": { - "amount": { - "minimum": 1, - "type": "integer", - "description": "Amount in Paise" - }, - "billNumber": { - "type": "string", - "example": "B1234567" - } - }, - "x-omitempty": true + "example": "/api/bbps/billers?search=Aditya&CategoryCode=Loan+Repayment&CategoryCode=Insurance&after=ABCC00000PTNNS" + }, + "total": { + "type": "integer" + }, + "billers": { + "type": "array", + "items": { + "required": [ + "categoryName", + "customerParams", + "exactness", + "fetchApiType", + "id", + "name", + "payWithoutFetchAllowed", + "paymentChannels", + "paymentModes", + "supportsPendingStatus" + ], + "type": "object", + "properties": { + "country": { + "type": "string", + "example": "IND" + }, + "modifiedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "example": "2021-11-12T13:37:04.572+05:30", + "x-omitempty": false + }, + "responseType": { + "type": "string", + "nullable": true, + "example": "SINGLE", + "enum": ["SINGLE", "LIST", "SELECTIVE"], + "x-nullable": true, + "x-omitempty": false + }, + "subCategoryName": { + "type": "string", + "example": "DAIRY" + }, + "coverage": { + "type": "string", + "example": "IND-TEL-Hyderabad" + }, + "interchangeFee": { + "type": "array", + "items": { + "type": "object", + "properties": { + "feeCode": { + "type": "string", + "example": "CCF1" + }, + "feeDesc": { + "type": "string", + "example": "Customer Convenience Fee" + }, + "feeDirection": { + "type": "string", + "example": "C2B" + }, + "interchangeFeeDetails": { + "required": [ + "effctvFrom", + "effctvTo", + "flatFee", + "percentFee", + "tranAmtRangeMax", + "tranAmtRangeMin" + ], + "type": "object", + "properties": { + "percentFee": { + "type": "number", + "format": "decimal", + "example": 1.0 + }, + "tranAmtRangeMax": { + "type": "integer", + "format": "int64" + }, + "tranAmtRangeMin": { + "type": "integer", + "format": "int64" + }, + "effctvFrom": { + "type": "string", + "example": "2024-01-01" + }, + "effctvTo": { + "type": "string", + "example": "2024-12-31" + }, + "flatFee": { + "type": "number", + "format": "decimal", + "example": 0.0 } - }, - "refId": { - "type": "string", - "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" - }, - "status": { - "type": "string", - "example": "Success", - "enum": [ - "Processing", - "Success", - "Error" - ] - }, - "biller": { - "required": [ - "categoryName", - "customerParams", - "exactness", - "fetchApiType", - "id", - "name", - "payWithoutFetchAllowed", - "paymentChannels", - "paymentModes", - "supportsPendingStatus" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "example": "ADIT00000NAT0T" - }, - "country": { - "type": "string", - "example": "IND" - }, - "paymentChannels": { - "type": "array", - "items": { - "required": [ - "maxLimit", - "minLimit", - "paymentChannel", - "supportsPendingStatus" - ], - "type": "object", - "properties": { - "maxLimit": { - "type": "integer" - }, - "minLimit": { - "type": "integer" - }, - "paymentChannel": { - "type": "string", - "description": "This is the initiating channel.\n1. `AGT`: Offline agent.\n2. `BNKBRNCH`: Bank branch.\n3. `BSC`: Business correspondent\n4. `MOB`: Mobile application\n5. `INT`: Internet portal\n6. `INTB`: Internet banking\n7. `MOBB`: Mobile banking\n8. `ATM`: ATM\n9. `KIOSK`: KIOSK\n", - "example": "INT", - "enum": [ - "INT", - "INTB", - "MOB", - "BNKBRNCH", - "BSC", - "AGT", - "KIOSK", - "ATM", - "MOBB", - "POS", - "MPOS" - ] - }, - "supportsPendingStatus": { - "type": "boolean", - "example": false - } - } - } - }, - "responseType": { - "type": "string", - "nullable": true, - "example": "SINGLE", - "enum": [ - "SINGLE", - "LIST", - "SELECTIVE" - ], - "x-nullable": true, - "x-omitempty": false - }, - "selectionType": { - "type": "string", - "description": "Defined only for billers with response type as LIST. SINGLE: User can pay only one of the bills in bill fetch response. MULTIPLE: User can pay any combination of bills in bill fetch response. ALL: User has to pay all the bills in bill fetch response.", - "nullable": true, - "example": "SINGLE", - "enum": [ - "SINGLE", - "MULTIPLE", - "ALL" - ], - "x-nullable": true, - "x-omitempty": false - }, - "billerAdditionalInfo": { - "type": "array", - "items": { - "required": [ - "dataType", - "optional", - "paramName" - ], - "type": "object", - "properties": { - "dataType": { - "type": "string", - "example": "ALPHANUMERIC", - "enum": [ - "ALPHANUMERIC", - "NUMERIC" - ] - }, - "optional": { - "type": "boolean", - "example": false - }, - "paramName": { - "type": "string", - "example": "Package Duration" - } - } - } - }, - "billerAdditionalInfoPayment": { - "type": "array", - "items": { - "required": [ - "dataType", - "optional", - "paramName" - ], - "type": "object", - "properties": { - "dataType": { - "type": "string", - "example": "ALPHANUMERIC", - "enum": [ - "ALPHANUMERIC", - "NUMERIC" - ] - }, - "optional": { - "type": "boolean", - "example": false - }, - "paramName": { - "type": "string", - "example": "Package Duration" - } - } - } - }, - "city": { - "type": "string", - "example": "Hyderabad" - }, - "enforcesSameDayFetchPay": { - "type": "boolean", - "example": true, - "x-omitempty": false - }, - "payWithoutFetchAllowed": { - "type": "boolean", - "example": true - }, - "supportsPendingStatus": { - "type": "boolean", - "example": false - }, - "tags": { - "type": "string", - "example": "tags" - }, - "modifiedAt": { - "type": "string", - "format": "date-time", - "nullable": true, - "example": "2021-11-12T13:37:04.572+05:30", - "x-omitempty": false - }, - "state": { - "type": "string", - "example": "TEL" - }, - "logo": { - "type": "string", - "example": "logo" - }, - "name": { - "type": "string", - "example": "Aditya Birla Sun Life Insurance" - }, - "coverage": { - "type": "string", - "example": "IND-TEL-Hyderabad" - }, - "customerParamsGroups": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "string", - "example": "Param 1" - } - } - }, - "exactness": { - "type": "string", - "description": "Biller exactness", - "example": "Exact", - "enum": [ - "Exact", - "Exact and above", - "Exact and below", - "Any", - "RANGE" - ] - }, - "fetchApiType": { - "type": "string", - "example": "BILL_FETCH", - "enum": [ - "BILL_FETCH", - "BILL_VALIDATE", - "BILL_DIRECT" - ] - }, - "subCategoryName": { - "type": "string", - "example": "DAIRY" - }, - "bbpsUpdateTimestamp": { - "type": "string", - "description": "Last updated date-time of the Biller accurate to the nearest day.", - "format": "date-time", - "nullable": true, - "example": "2021-11-12T13:37:04.572+05:30", - "x-omitempty": true - }, - "categoryName": { - "type": "string", - "example": "loan-repayment" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "nullable": true, - "example": "2021-11-12T13:37:04.572+05:30", - "x-omitempty": false - }, - "customerParams": { - "type": "array", - "items": { - "required": [ - "dataType", - "maxLength", - "minLength", - "optional", - "paramName", - "regex", - "values", - "visibility" - ], - "type": "object", - "properties": { - "regex": { - "type": "string", - "example": "^[a-zA-Z0-9]{7,15}" - }, - "values": { - "type": "string" - }, - "visibility": { - "type": "boolean", - "example": true - }, - "dataType": { - "type": "string", - "example": "ALPHANUMERIC" - }, - "maxLength": { - "type": "integer" - }, - "minLength": { - "type": "integer" - }, - "optional": { - "type": "boolean", - "example": false - }, - "paramName": { - "type": "string", - "example": "Loan Account Number" - } - } - } - }, - "paymentModes": { - "type": "array", - "items": { - "required": [ - "maxLimit", - "minLimit", - "paymentMode", - "supportsPendingStatus" - ], - "type": "object", - "properties": { - "maxLimit": { - "type": "integer" - }, - "minLimit": { - "type": "integer" - }, - "paymentMode": { - "type": "string", - "example": "Internet Banking", - "enum": [ - "Internet Banking", - "Debit Card", - "Credit Card", - "Prepaid Card", - "IMPS", - "Cash", - "UPI", - "Wallet", - "NEFT", - "AEPS", - "Account Transfer", - "Bharat QR", - "USSD" - ] - }, - "supportsPendingStatus": { - "type": "boolean", - "example": false - } - } - } - }, - "pincode": { - "type": "string", - "example": "pincode" - } - }, - "x-go-name": "CouBillerDetails" - }, - "billerId": { - "type": "string", - "description": "The biller ID on BBPS", - "example": "MAHI00000NATIC" - }, - "customerParams": { - "type": "array", - "description": "The bill params for fetching the bill", - "items": { - "required": ["name", "value"], - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The display name of the parameter. This has to match what is sent in fields.", - "example": "Loan Number" - }, - "value": { - "type": "string", - "description": "The value of the customer parameter", - "example": "1895159" - } - } - } - }, - "timestamp": { - "type": "string", - "description": "Timestamp provided by partner while making payment request.", - "format": "date-time", - "example": "2020-12-12T13:12:00+05:30" - }, - "transactionId": { - "type": "string", - "description": "Setu BillPay Transaction ID.", - "example": "AX30910192192192192" - } - } - }, - { - "type": "object", - "properties": { - "mobile": { - "maxLength": 20, - "minLength": 6, - "pattern": "^\\d{6}(\\d{4}(\\d{10})?)?$", - "type": "string", - "description": "Mobile number with 6, 10 and 20 digits are valid.", - "example": "9481773053" - }, - "paymentRefId": { - "type": "string", - "description": "Agent's payment reference ID" - } - } - } - ] - } - } - } - } - } - } - ] - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "required": ["error", "success", "traceId"], - "type": "object", - "properties": { - "error": { - "required": ["code", "message"], - "type": "object", - "properties": { - "code": { - "type": "string", - "example": "validation-error" - }, - "message": { - "type": "string", - "example": "Input is invalid" - } - } - }, - "success": { - "type": "boolean", - "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" - } - } - } - } - } - } - }, - "security": [ - { - "Production": ["bbps:partner"] - }, - { - "Sandbox": ["bbps:partner"] - }, - { - "QA": ["bbps:partner"] - } - ] - } - }, - "/api/v2/bbps/billers": { - "get": { - "tags": ["List"], - "description": "Returns the list of billers.", - "operationId": "getBillersV2", - "parameters": [ - { - "name": "X-PARTNER-ID", - "in": "header", - "description": "Partner ID", - "required": true, - "schema": { - "type": "integer" - } - }, - { - "name": "categoryName", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "ids", - "in": "query", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "limit", - "in": "query", - "description": "Limit", - "schema": { - "maximum": 1000.0, - "minimum": 1.0, - "type": "integer" - } - }, - { - "name": "after", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "search", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "pincode", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "city", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "state", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "country", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "coverage", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "tags", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "paymentChannel", - "in": "query", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "INT", - "INTB", - "MOB", - "BNKBRNCH", - "BSC", - "AGT", - "KIOSK", - "ATM", - "MOBB", - "POS", - "MPOS" - ] - } - } - }, - { - "name": "paymentMode", - "in": "query", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Internet Banking", - "Debit Card", - "Credit Card", - "Prepaid Card", - "IMPS", - "Cash", - "UPI", - "Wallet", - "NEFT", - "AEPS", - "Account Transfer", - "Bharat QR", - "USSD" - ] - } - } - }, - { - "name": "updatedSince", - "in": "query", - "description": "Used to fetch billers updated since the given date-time in IST", - "schema": { - "type": "string", - "format": "date-time" - } - } - ], - "responses": { - "200": { - "description": "List of billers", - "headers": { - "X-Frame-Options": { - "description": "X Frame options", - "schema": { - "type": "string" - } - }, - "Strict-Transport-Security": { - "description": "Strict transport security", - "schema": { - "type": "string" - } - }, - "Cache-Control": { - "description": "Cache control", - "schema": { - "type": "string" - } - }, - "X-Content-Type-Options": { - "description": "X Content type options", - "schema": { - "type": "string" - } - }, - "Content-Security-Policy": { - "description": "Content security policy", - "schema": { - "type": "string" - } - }, - "Pragma": { - "description": "Pragma", - "schema": { - "type": "string" - } - }, - "X-XSS-Protection": { - "description": "X Xss Protection", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "required": ["success", "traceId"], - "type": "object", - "properties": { - "data": { - "required": ["billers"], - "type": "object", - "properties": { - "total": { - "type": "integer" - }, - "billers": { - "type": "array", - "items": { - "required": [ - "categoryName", - "customerParams", - "exactness", - "fetchApiType", - "id", - "name", - "payWithoutFetchAllowed", - "paymentChannels", - "paymentModes", - "supportsPendingStatus" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "example": "ADIT00000NAT0T" - }, - "country": { - "type": "string", - "example": "IND" - }, - "paymentChannels": { - "type": "array", - "items": { - "required": [ - "maxLimit", - "minLimit", - "paymentChannel", - "supportsPendingStatus" - ], - "type": "object", - "properties": { - "maxLimit": { - "type": "integer" - }, - "minLimit": { - "type": "integer" - }, - "paymentChannel": { - "type": "string", - "description": "This is the initiating channel.\n1. `AGT`: Offline agent.\n2. `BNKBRNCH`: Bank branch.\n3. `BSC`: Business correspondent\n4. `MOB`: Mobile application\n5. `INT`: Internet portal\n6. `INTB`: Internet banking\n7. `MOBB`: Mobile banking\n8. `ATM`: ATM\n9. `KIOSK`: KIOSK\n", - "example": "INT", - "enum": [ - "INT", - "INTB", - "MOB", - "BNKBRNCH", - "BSC", - "AGT", - "KIOSK", - "ATM", - "MOBB", - "POS", - "MPOS" - ] - }, - "supportsPendingStatus": { - "type": "boolean", - "example": false + } } } } }, - "responseType": { - "type": "string", - "nullable": true, - "example": "SINGLE", - "enum": ["SINGLE", "LIST", "SELECTIVE"], - "x-nullable": true, - "x-omitempty": false - }, "selectionType": { "type": "string", "description": "Defined only for billers with response type as LIST. SINGLE: User can pay only one of the bills in bill fetch response. MULTIPLE: User can pay any combination of bills in bill fetch response. ALL: User has to pay all the bills in bill fetch response.", "nullable": true, "example": "SINGLE", "enum": ["SINGLE", "MULTIPLE", "ALL"], - "x-nullable": true, - "x-omitempty": false + "x-omitempty": false, + "x-nullable": true }, - "billerAdditionalInfo": { + "pincode": { + "type": "string", + "example": "pincode" + }, + "supportsPendingStatus": { + "type": "boolean", + "description": "Flag indicating whether pending status is applicable for the biller or not", + "example": false + }, + "tags": { + "type": "string", + "example": "tags" + }, + "billerAdditionalInfoPayment": { "type": "array", "items": { "required": [ @@ -4637,76 +4634,53 @@ } } }, - "billerAdditionalInfoPayment": { + "customerParams": { "type": "array", "items": { "required": [ "dataType", + "maxLength", + "minLength", "optional", - "paramName" + "paramName", + "regex", + "values", + "visibility" ], "type": "object", "properties": { + "paramName": { + "type": "string", + "example": "Loan Account Number" + }, + "regex": { + "type": "string", + "example": "^[a-zA-Z0-9]{7,15}" + }, + "values": { + "type": "string" + }, + "visibility": { + "type": "boolean", + "example": true + }, "dataType": { "type": "string", - "example": "ALPHANUMERIC", - "enum": ["ALPHANUMERIC", "NUMERIC"] + "example": "ALPHANUMERIC" + }, + "maxLength": { + "type": "integer" + }, + "minLength": { + "type": "integer" }, "optional": { "type": "boolean", "example": false - }, - "paramName": { - "type": "string", - "example": "Package Duration" } } } }, - "city": { - "type": "string", - "example": "Hyderabad" - }, - "enforcesSameDayFetchPay": { - "type": "boolean", - "example": true, - "x-omitempty": false - }, - "payWithoutFetchAllowed": { - "type": "boolean", - "example": true - }, - "supportsPendingStatus": { - "type": "boolean", - "example": false - }, - "tags": { - "type": "string", - "example": "tags" - }, - "modifiedAt": { - "type": "string", - "format": "date-time", - "nullable": true, - "example": "2021-11-12T13:37:04.572+05:30", - "x-omitempty": false - }, - "state": { - "type": "string", - "example": "TEL" - }, - "logo": { - "type": "string", - "example": "logo" - }, - "name": { - "type": "string", - "example": "Aditya Birla Sun Life Insurance" - }, - "coverage": { - "type": "string", - "example": "IND-TEL-Hyderabad" - }, "customerParamsGroups": { "type": "array", "items": { @@ -4717,9 +4691,20 @@ } } }, + "id": { + "type": "string", + "description": "Identifier of the biller in BBPS.", + "example": "ADIT00000NAT0T" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "example": "2021-11-12T13:37:04.572+05:30", + "x-omitempty": false + }, "exactness": { "type": "string", - "description": "Biller exactness", "example": "Exact", "enum": [ "Exact", @@ -4731,17 +4716,12 @@ }, "fetchApiType": { "type": "string", - "example": "BILL_FETCH", "enum": [ "BILL_FETCH", "BILL_VALIDATE", "BILL_DIRECT" ] }, - "subCategoryName": { - "type": "string", - "example": "DAIRY" - }, "bbpsUpdateTimestamp": { "type": "string", "description": "Last updated date-time of the Biller accurate to the nearest day.", @@ -4750,52 +4730,86 @@ "example": "2021-11-12T13:37:04.572+05:30", "x-omitempty": true }, + "logo": { + "type": "string", + "example": "logo" + }, + "paymentModes": { + "type": "array", + "items": { + "required": [ + "maxLimit", + "minLimit", + "paymentMode", + "supportsPendingStatus" + ], + "type": "object", + "properties": { + "maxLimit": { + "type": "integer" + }, + "minLimit": { + "type": "integer" + }, + "paymentMode": { + "type": "string", + "example": "Internet Banking", + "enum": [ + "Internet Banking", + "Debit Card", + "Credit Card", + "Prepaid Card", + "IMPS", + "Cash", + "UPI", + "Wallet", + "NEFT", + "AEPS", + "Account Transfer", + "Bharat QR", + "USSD" + ] + }, + "supportsPendingStatus": { + "type": "boolean", + "example": false + } + } + } + }, "categoryName": { "type": "string", + "description": "Biller Category", "example": "loan-repayment" }, - "createdAt": { + "city": { "type": "string", - "format": "date-time", - "nullable": true, - "example": "2021-11-12T13:37:04.572+05:30", + "example": "Hyderabad" + }, + "enforcesSameDayFetchPay": { + "type": "boolean", + "example": true, "x-omitempty": false }, - "customerParams": { + "name": { + "type": "string", + "description": "Name of the biller.", + "example": "John Doe" + }, + "billerAdditionalInfo": { "type": "array", "items": { "required": [ "dataType", - "maxLength", - "minLength", "optional", - "paramName", - "regex", - "values", - "visibility" + "paramName" ], "type": "object", "properties": { - "regex": { - "type": "string", - "example": "^[a-zA-Z0-9]{7,15}" - }, - "values": { - "type": "string" - }, - "visibility": { - "type": "boolean", - "example": true - }, "dataType": { "type": "string", - "example": "ALPHANUMERIC" - }, - "maxLength": { - "type": "integer" - }, - "minLength": { - "type": "integer" + "example": "ALPHANUMERIC", + "enum": ["ALPHANUMERIC", "NUMERIC"] }, "optional": { "type": "boolean", @@ -4803,65 +4817,65 @@ }, "paramName": { "type": "string", - "example": "Loan Account Number" + "example": "Package Duration" } } } }, - "paymentModes": { + "payWithoutFetchAllowed": { + "type": "boolean", + "description": "Flag indicating if the Biller accepts adhoc payment", + "example": true + }, + "paymentChannels": { "type": "array", "items": { "required": [ "maxLimit", "minLimit", - "paymentMode", + "paymentChannel", "supportsPendingStatus" ], "type": "object", - "properties": { - "maxLimit": { - "type": "integer" - }, - "minLimit": { - "type": "integer" - }, - "paymentMode": { + "properties": { + "paymentChannel": { "type": "string", - "example": "Internet Banking", + "description": "This is the initiating channel.\n1. `AGT`: Offline agent.\n2. `BNKBRNCH`: Bank branch.\n3. `BSC`: Business correspondent\n4. `MOB`: Mobile application\n5. `INT`: Internet portal\n6. `INTB`: Internet banking\n7. `MOBB`: Mobile banking\n8. `ATM`: ATM\n9. `KIOSK`: KIOSK\n", + "example": "INT", "enum": [ - "Internet Banking", - "Debit Card", - "Credit Card", - "Prepaid Card", - "IMPS", - "Cash", - "UPI", - "Wallet", - "NEFT", - "AEPS", - "Account Transfer", - "Bharat QR", - "USSD" + "INT", + "INTB", + "MOB", + "BNKBRNCH", + "BSC", + "AGT", + "KIOSK", + "ATM", + "MOBB", + "POS", + "MPOS" ] }, "supportsPendingStatus": { "type": "boolean", "example": false + }, + "maxLimit": { + "type": "integer" + }, + "minLimit": { + "type": "integer" } } } }, - "pincode": { + "state": { "type": "string", - "example": "pincode" + "example": "TEL" } }, "x-go-name": "CouBillerDetails" } - }, - "nextPage": { - "type": "string", - "example": "/api/bbps/billers?search=Aditya&CategoryCode=Loan+Repayment&CategoryCode=Insurance&after=ABCC00000PTNNS" } } }, @@ -4871,11 +4885,11 @@ "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, @@ -4900,27 +4914,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -4935,27 +4949,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -4976,19 +4990,162 @@ ] } }, - "/api/v2/bbps/categories": { + "/api/v2/bbps/transactions": { "get": { "tags": ["List"], - "description": "Returns the list of categories.", + "description": "Returns the list of transactions.", "parameters": [ { "name": "X-PARTNER-ID", "in": "header", - "description": "Partner ID", + "description": "The Partner ID provided by Setu.", "required": true, "schema": { "type": "integer" } + }, + { + "name": "limit", + "in": "query", + "schema": { + "type": "integer" + } + }, + { + "name": "after", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "startDate", + "in": "query", + "description": "start date of the timestamp provided by the partner while making the request.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "endDate", + "in": "query", + "description": "end date of the timestamp provided by the partner while making the request.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "billerId", + "in": "query", + "description": "Transaction BillerId", + "schema": { + "type": "string" + } + }, + { + "name": "ids", + "in": "query", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "categories", + "in": "query", + "description": "Biller Category", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "billerFetchApiType", + "in": "query", + "description": "Biller Fetch Api Type", + "schema": { + "type": "string", + "enum": ["BILL_FETCH", "BILL_VALIDATE", "BILL_DIRECT"] + } + }, + { + "name": "months", + "in": "query", + "description": "Month ranges. A full-date notation as defined by 'RFC 3339, section 5.6' has to be provided but only month and year will be considered.", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "format": "date" + } + } + }, + { + "name": "status", + "in": "query", + "description": "Transaction Status", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": ["Processing", "Success", "Error"] + } + } + }, + { + "name": "mobile", + "in": "query", + "description": "Mobile number with 6 to 22 digits are valid.", + "schema": { + "maxLength": 22, + "minLength": 6, + "pattern": "^\\d{6,22}$", + "type": "string" + } + }, + { + "name": "customerId", + "in": "query", + "description": "Customer Identifier", + "schema": { + "type": "string" + } + }, + { + "name": "expand", + "in": "query", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string", + "enum": ["BILLER", "ETHEREAL_TRANSACTION"] + } + } + }, + { + "name": "refundStatus", + "in": "query", + "schema": { + "type": "string", + "enum": ["Required", "Requested", "Processed"] + } } ], "responses": { @@ -5000,27 +5157,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -5035,27 +5192,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -5063,7 +5220,7 @@ } }, "200": { - "description": "List of categories", + "description": "List of Txns", "headers": { "X-Frame-Options": { "description": "X Frame options", @@ -5111,53 +5268,593 @@ "content": { "application/json": { "schema": { - "required": ["success", "traceId"], - "type": "object", - "properties": { - "error": { - "required": ["code", "message"], + "allOf": [ + { + "required": ["success", "traceId"], "type": "object", "properties": { - "code": { - "type": "string", - "example": "validation-error" + "success": { + "type": "boolean", + "example": true }, - "message": { + "traceId": { "type": "string", - "example": "Input is invalid" - } - } - }, - "success": { - "type": "boolean", - "example": true - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" - }, - "data": { - "required": ["categories"], - "type": "object", - "properties": { - "categories": { - "type": "array", - "items": { - "type": "object", - "properties": { - "billerCount": { - "type": "integer" - }, - "name": { - "type": "string", - "example": "Loan Repayment" + "example": "C3SFG0O6N88R6UI7EQ" + } + } + }, + { + "required": ["data"], + "type": "object", + "properties": { + "data": { + "allOf": [ + { + "type": "object", + "properties": { + "nextPage": { + "type": "string", + "example": "/api/bbps/transactions?search=Aditya&CategoryCode=Loan+Repayment&CategoryCode=Insurance&after=ABCC00000PTNNS" + } + } + }, + { + "type": "object", + "properties": { + "transactions": { + "type": "array", + "items": { + "allOf": [ + { + "type": "object", + "properties": { + "customerId": { + "type": "string", + "description": "Customer Identifier", + "example": "4881317598" + }, + "refId": { + "type": "string", + "description": "The generated BBPS Reference ID for the request.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + }, + "status": { + "type": "string", + "example": "Success", + "enum": [ + "Processing", + "Success", + "Error", + "Credit_Adjustment" + ] + }, + "amount": { + "type": "integer" + }, + "custConvFee": { + "type": "integer", + "description": "Customer convenience fee in paise" + }, + "customerParams": { + "type": "array", + "description": "The bill params for fetching the bill", + "items": { + "required": ["name", "value"], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The display name of the parameter. This has to match what is sent in fields.", + "example": "John Doe" + }, + "value": { + "type": "string", + "description": "The value of the customer parameter", + "example": "1895159" + } + } + } + }, + "etherealTransaction": { + "required": [ + "amount", + "billRefId", + "refId", + "status", + "transactionId" + ], + "type": "object", + "properties": { + "amount": { + "type": "string", + "example": "100.00" + }, + "billRefId": { + "type": "string", + "description": "The BBPS Ref ID", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "refId": { + "type": "string", + "example": "COUWL910192192192192" + }, + "status": { + "type": "string", + "enum": [ + "INIT", + "SUCCESS", + "FAILURE", + "PENDING", + "UNKNOWN" + ] + }, + "transactionId": { + "type": "string", + "example": "Q910192192192192" + } + } + }, + "refundStatus": { + "type": "string", + "enum": [ + "Required", + "Requested", + "Processed" + ] + }, + "timestamp": { + "type": "string", + "description": "Timestamp provided by partner while making payment request.", + "format": "date-time", + "example": "2020-12-12T13:12:00+05:30" + }, + "transactionId": { + "type": "string", + "description": "Setu BillPay Transaction ID.", + "example": "AS01910192192192192" + }, + "biller": { + "required": [ + "categoryName", + "customerParams", + "exactness", + "fetchApiType", + "id", + "name", + "payWithoutFetchAllowed", + "paymentChannels", + "paymentModes", + "supportsPendingStatus" + ], + "type": "object", + "properties": { + "country": { + "type": "string", + "example": "IND" + }, + "modifiedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "example": "2021-11-12T13:37:04.572+05:30", + "x-omitempty": false + }, + "responseType": { + "type": "string", + "nullable": true, + "example": "SINGLE", + "enum": [ + "SINGLE", + "LIST", + "SELECTIVE" + ], + "x-nullable": true, + "x-omitempty": false + }, + "subCategoryName": { + "type": "string", + "example": "DAIRY" + }, + "coverage": { + "type": "string", + "example": "IND-TEL-Hyderabad" + }, + "interchangeFee": { + "type": "array", + "items": { + "type": "object", + "properties": { + "feeCode": { + "type": "string", + "example": "CCF1" + }, + "feeDesc": { + "type": "string", + "example": "Customer Convenience Fee" + }, + "feeDirection": { + "type": "string", + "example": "C2B" + }, + "interchangeFeeDetails": { + "required": [ + "effctvFrom", + "effctvTo", + "flatFee", + "percentFee", + "tranAmtRangeMax", + "tranAmtRangeMin" + ], + "type": "object", + "properties": { + "percentFee": { + "type": "number", + "format": "decimal", + "example": 1.0 + }, + "tranAmtRangeMax": { + "type": "integer", + "format": "int64" + }, + "tranAmtRangeMin": { + "type": "integer", + "format": "int64" + }, + "effctvFrom": { + "type": "string", + "example": "2024-01-01" + }, + "effctvTo": { + "type": "string", + "example": "2024-12-31" + }, + "flatFee": { + "type": "number", + "format": "decimal", + "example": 0.0 + } + } + } + } + } + }, + "selectionType": { + "type": "string", + "description": "Defined only for billers with response type as LIST. SINGLE: User can pay only one of the bills in bill fetch response. MULTIPLE: User can pay any combination of bills in bill fetch response. ALL: User has to pay all the bills in bill fetch response.", + "nullable": true, + "example": "SINGLE", + "enum": [ + "SINGLE", + "MULTIPLE", + "ALL" + ], + "x-omitempty": false, + "x-nullable": true + }, + "pincode": { + "type": "string", + "example": "pincode" + }, + "supportsPendingStatus": { + "type": "boolean", + "description": "Flag indicating whether pending status is applicable for the biller or not", + "example": false + }, + "tags": { + "type": "string", + "example": "tags" + }, + "billerAdditionalInfoPayment": { + "type": "array", + "items": { + "required": [ + "dataType", + "optional", + "paramName" + ], + "type": "object", + "properties": { + "dataType": { + "type": "string", + "example": "ALPHANUMERIC", + "enum": [ + "ALPHANUMERIC", + "NUMERIC" + ] + }, + "optional": { + "type": "boolean", + "example": false + }, + "paramName": { + "type": "string", + "example": "Package Duration" + } + } + } + }, + "customerParams": { + "type": "array", + "items": { + "required": [ + "dataType", + "maxLength", + "minLength", + "optional", + "paramName", + "regex", + "values", + "visibility" + ], + "type": "object", + "properties": { + "paramName": { + "type": "string", + "example": "Loan Account Number" + }, + "regex": { + "type": "string", + "example": "^[a-zA-Z0-9]{7,15}" + }, + "values": { + "type": "string" + }, + "visibility": { + "type": "boolean", + "example": true + }, + "dataType": { + "type": "string", + "example": "ALPHANUMERIC" + }, + "maxLength": { + "type": "integer" + }, + "minLength": { + "type": "integer" + }, + "optional": { + "type": "boolean", + "example": false + } + } + } + }, + "customerParamsGroups": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "example": "Param 1" + } + } + }, + "id": { + "type": "string", + "description": "Identifier of the biller in BBPS.", + "example": "ADIT00000NAT0T" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "example": "2021-11-12T13:37:04.572+05:30", + "x-omitempty": false + }, + "exactness": { + "type": "string", + "example": "Exact", + "enum": [ + "Exact", + "Exact and above", + "Exact and below", + "Any", + "RANGE" + ] + }, + "fetchApiType": { + "type": "string", + "enum": [ + "BILL_FETCH", + "BILL_VALIDATE", + "BILL_DIRECT" + ] + }, + "bbpsUpdateTimestamp": { + "type": "string", + "description": "Last updated date-time of the Biller accurate to the nearest day.", + "format": "date-time", + "nullable": true, + "example": "2021-11-12T13:37:04.572+05:30", + "x-omitempty": true + }, + "logo": { + "type": "string", + "example": "logo" + }, + "paymentModes": { + "type": "array", + "items": { + "required": [ + "maxLimit", + "minLimit", + "paymentMode", + "supportsPendingStatus" + ], + "type": "object", + "properties": { + "maxLimit": { + "type": "integer" + }, + "minLimit": { + "type": "integer" + }, + "paymentMode": { + "type": "string", + "example": "Internet Banking", + "enum": [ + "Internet Banking", + "Debit Card", + "Credit Card", + "Prepaid Card", + "IMPS", + "Cash", + "UPI", + "Wallet", + "NEFT", + "AEPS", + "Account Transfer", + "Bharat QR", + "USSD" + ] + }, + "supportsPendingStatus": { + "type": "boolean", + "example": false + } + } + } + }, + "categoryName": { + "type": "string", + "description": "Biller Category", + "example": "loan-repayment" + }, + "city": { + "type": "string", + "example": "Hyderabad" + }, + "enforcesSameDayFetchPay": { + "type": "boolean", + "example": true, + "x-omitempty": false + }, + "name": { + "type": "string", + "description": "Name of the biller.", + "example": "John Doe" + }, + "billerAdditionalInfo": { + "type": "array", + "items": { + "required": [ + "dataType", + "optional", + "paramName" + ], + "type": "object", + "properties": { + "dataType": { + "type": "string", + "example": "ALPHANUMERIC", + "enum": [ + "ALPHANUMERIC", + "NUMERIC" + ] + }, + "optional": { + "type": "boolean", + "example": false + }, + "paramName": { + "type": "string", + "example": "Package Duration" + } + } + } + }, + "payWithoutFetchAllowed": { + "type": "boolean", + "description": "Flag indicating if the Biller accepts adhoc payment", + "example": true + }, + "paymentChannels": { + "type": "array", + "items": { + "required": [ + "maxLimit", + "minLimit", + "paymentChannel", + "supportsPendingStatus" + ], + "type": "object", + "properties": { + "paymentChannel": { + "type": "string", + "description": "This is the initiating channel.\n1. `AGT`: Offline agent.\n2. `BNKBRNCH`: Bank branch.\n3. `BSC`: Business correspondent\n4. `MOB`: Mobile application\n5. `INT`: Internet portal\n6. `INTB`: Internet banking\n7. `MOBB`: Mobile banking\n8. `ATM`: ATM\n9. `KIOSK`: KIOSK\n", + "example": "INT", + "enum": [ + "INT", + "INTB", + "MOB", + "BNKBRNCH", + "BSC", + "AGT", + "KIOSK", + "ATM", + "MOBB", + "POS", + "MPOS" + ] + }, + "supportsPendingStatus": { + "type": "boolean", + "example": false + }, + "maxLimit": { + "type": "integer" + }, + "minLimit": { + "type": "integer" + } + } + } + }, + "state": { + "type": "string", + "example": "TEL" + } + }, + "x-go-name": "CouBillerDetails" + }, + "billerId": { + "type": "string", + "description": "The biller ID on BBPS", + "example": "MAHI00000NATIC" + } + } + }, + { + "type": "object", + "properties": { + "mobile": { + "maxLength": 22, + "minLength": 6, + "pattern": "^\\d{6,22}$", + "type": "string", + "description": "Mobile number with 6 to 22 digits are valid." + }, + "paymentRefId": { + "maxLength": 35, + "minLength": 6, + "type": "string", + "description": "Unique identifier provided by Partner for the payment request.", + "example": "BD019181220291" + } + } + } + ] + } + } } } - } + ] } } } - } + ], + "x-go-name": "TransactionsResponse" } } } diff --git a/api-references/payments/billpay/pre-built-screens.json b/api-references/payments/billpay/pre-built-screens.json index b4fe7896..f73453e0 100644 --- a/api-references/payments/billpay/pre-built-screens.json +++ b/api-references/payments/billpay/pre-built-screens.json @@ -20,11 +20,3381 @@ } ], "paths": { + "/api/v2/ethereal/configuration": { + "get": { + "tags": ["Link Generation"], + "description": "Ethereal configuration get request API", + "operationId": "EtherealConfigurationGetRequest", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "orgId", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "X-ADMIN-KEY", + "in": "header", + "description": "Admin key", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["configs", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "configs": { + "type": "array", + "items": { + "required": ["configId", "name", "value"], + "type": "object", + "properties": { + "configId": { + "type": "string", + "example": "000" + }, + "name": { + "type": "string", + "example": "John Doe" + }, + "value": { + "type": "string", + "example": "#ffa80h" + } + }, + "x-go-name": "EtherealOrgConfigurationItem", + "x-omitempty": true + } + }, + "error": { + "type": "string", + "example": "000" + } + }, + "x-go-name": "EtherealConfigurationGetResponse", + "x-omitempty": true + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [] + }, + "post": { + "tags": ["Link Generation"], + "description": "Ethereal configuration create request API", + "operationId": "EtherealConfigurationRequest", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "X-ADMIN-KEY", + "in": "header", + "description": "Admin key", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": ["configs", "orgId"], + "type": "object", + "properties": { + "configs": { + "type": "array", + "items": { + "required": ["name", "value"], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The display name of the configuration", + "example": "John Doe" + }, + "value": { + "type": "string", + "description": "The value of the configuration", + "example": "1895159" + } + } + } + }, + "orgId": { + "type": "string", + "example": "1.22337203685477E14" + } + }, + "x-go-name": "EtherealConfigurationCreateRequest", + "x-omitempty": true + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["result", "traceId"], + "type": "object", + "properties": { + "result": { + "type": "array", + "items": { + "required": ["configId"], + "type": "object", + "properties": { + "configId": { + "type": "string", + "example": "000" + }, + "success": { + "type": "boolean", + "example": true + } + } + } + }, + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "type": "string", + "example": "000" + } + }, + "x-go-name": "EtherealConfigurationCreateResponse", + "x-omitempty": true + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "EtherealConfigurationCreateRequest" + } + }, + "/api/v2/ethereal/saved-bills": { + "get": { + "tags": ["Link Generation"], + "description": "Ethereal saved bills list API", + "operationId": "EtherealSavedBillsListRequest", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "limit", + "in": "query", + "schema": { + "maximum": 100.0, + "type": "integer" + } + }, + { + "name": "cursor", + "in": "query", + "description": "Cursor for pagination", + "schema": { + "type": "string" + } + }, + { + "name": "lastPaidAfter", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "lastPaidBefore", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "categories", + "in": "query", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "List of saved bills", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "bills": { + "type": "array", + "items": { + "required": [ + "biller", + "customerParams", + "id", + "isDirectBill", + "lastPaidAt" + ], + "type": "object", + "properties": { + "biller": { + "required": ["categoryName", "id", "name"], + "type": "object", + "properties": { + "categoryName": { + "type": "string", + "example": "Electricity" + }, + "id": { + "type": "string", + "example": "ACNS002901BXYNYU" + }, + "logo": { + "type": "string", + "nullable": true, + "example": "https://cou.cdn.setu.co/billers/ACNS002901BXYNYU.webp", + "x-omitempty": true + }, + "name": { + "type": "string", + "example": "John Doe" + } + } + }, + "customerParams": { + "type": "array", + "description": "The bill params for fetching the bill", + "items": { + "required": ["name", "value"], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The display name of the parameter. This has to match what is sent in fields.", + "example": "John Doe" + }, + "value": { + "type": "string", + "description": "The value of the customer parameter", + "example": "1895159" + } + } + } + }, + "id": { + "type": "string", + "example": "173999910209831" + }, + "isDirectBill": { + "type": "boolean", + "example": true + }, + "lastPaidAt": { + "type": "string", + "format": "date-time", + "example": "2024-06-02T00:00:00Z" + } + } + } + }, + "cursor": { + "type": "string", + "description": "Cursor for pagination", + "example": "MTQ2MDQ4NjU5NzA0MzU1MzgzMw==" + } + } + } + } + }, + { + "required": ["success", "traceId"], + "type": "object", + "properties": { + "success": { + "type": "boolean", + "description": "Indicator to denote whether the request is successful.", + "example": true + }, + "traceId": { + "type": "string", + "description": "The traceId generated for the request.", + "example": "C3SFG0O6N88R6UI7EQ" + } + } + } + ] + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [] + } + }, + "/api/v2/landing/{orgId}": { + "get": { + "tags": ["Link Generation"], + "description": "Ethereal landing create request API", + "operationId": "EtherealLandingRequest", + "parameters": [ + { + "name": "orgId", + "in": "path", + "description": "Organisation Id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "Bad request", + "content": { + "*/*": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "*/*": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "302": { + "description": "Redirect", + "headers": { + "Location": { + "description": "Redirect to WL", + "schema": { + "type": "string", + "format": "uri" + } + } + }, + "content": {} + } + }, + "security": [] + } + }, + "/api/v2/qfix/refund": { + "post": { + "tags": ["QFIX"], + "description": "QFIX order status request API", + "operationId": "QFIXRefundCreateRequest", + "parameters": [ + { + "name": "X-ADMIN-KEY", + "in": "header", + "description": "Admin key", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": ["refId"], + "type": "object", + "properties": { + "refId": { + "type": "string", + "example": "1196687215019689511" + } + }, + "x-go-name": "CouQFIXRefundCreateRequest", + "x-omitempty": true + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["status"], + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "SUCCESS" + }, + "amount": { + "type": "string", + "example": "SUCCESS" + }, + "orderId": { + "type": "string", + "example": "SUCCESS" + }, + "refundId": { + "type": "string", + "example": "SUCCESS" + } + }, + "x-go-name": "CouQFIXRefundCreateResponse", + "x-omitempty": true + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "CouQFIXRefundCreateRequest" + } + }, + "/api/v2/short/{shortId}": { + "get": { + "tags": ["Link Generation"], + "description": "Ethereal short link API", + "operationId": "EtherealShortLinkRequest", + "parameters": [ + { + "name": "shortId", + "in": "path", + "description": "Short Id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "302": { + "description": "Redirect", + "headers": { + "Location": { + "description": "Redirect to WL", + "schema": { + "type": "string", + "format": "uri" + } + } + }, + "content": {} + }, + "404": { + "description": "Not found", + "content": { + "*/*": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "*/*": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + } + } + }, + "/api/v2/ethereal/session": { + "post": { + "tags": ["Link Generation"], + "description": "Ethereal sesssion validate request API", + "operationId": "EtherealSessionRequest", + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": ["sessionId"], + "type": "object", + "properties": { + "sessionId": { + "type": "string", + "example": "sessionId" + } + }, + "x-go-name": "EtherealSessionValidateRequest", + "x-omitempty": true + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Set-Cookie": { + "description": "key1=value1", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["success", "traceId"], + "type": "object", + "properties": { + "orgId": { + "type": "string", + "example": "orgId" + }, + "customerId": { + "type": "string", + "example": "4881317598" + }, + "isAnonymous": { + "type": "boolean", + "example": false + }, + "mobileNumber": { + "maxLength": 22, + "minLength": 6, + "pattern": "^\\d{6,22}$", + "type": "string", + "description": "Mobile number with 6 to 22 digits are valid." + }, + "secret": { + "type": "string", + "example": "exampleSecret" + }, + "success": { + "type": "boolean", + "example": true + }, + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "orgConfigs": { + "type": "array", + "items": { + "required": ["configId", "name", "value"], + "type": "object", + "properties": { + "configId": { + "type": "string", + "example": "000" + }, + "name": { + "type": "string", + "example": "John Doe" + }, + "value": { + "type": "string", + "example": "#ffa80h" + } + }, + "x-go-name": "EtherealOrgConfigurationItem", + "x-omitempty": true + } + }, + "partnerId": { + "type": "string", + "example": "partnerId" + }, + "redirectTo": { + "type": "object", + "properties": { + "redirectTo": { + "type": "string", + "example": "9082718673" + }, + "billParams": { + "type": "array", + "items": { + "required": ["name", "value"], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The display name of the parameter. This has to match what is sent in fields.", + "example": "John Doe" + }, + "value": { + "type": "string", + "description": "The value of the customer parameter", + "example": "1895159" + } + } + } + }, + "billerId": { + "type": "string", + "example": "BBPSDUMMY001" + }, + "categoryName": { + "type": "string", + "example": "9082718673" + } + } + } + }, + "x-go-name": "EtherealSessionValidateResponse", + "x-omitempty": true + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "EtherealSessionValidateRequest" + } + }, "/api/v2/ethereal/link": { "post": { "tags": ["Link Generation"], - "description": "Ethereal link create request API", - "operationId": "EtherealLinkRequest", + "description": "Ethereal link create request API", + "operationId": "EtherealLinkRequest", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": ["orgId"], + "type": "object", + "properties": { + "custID": { + "type": "string", + "description": "Customer Identifier", + "example": "123456" + }, + "mobileNumber": { + "maxLength": 22, + "minLength": 6, + "pattern": "^\\d{6,22}$", + "type": "string", + "description": "Mobile number with 6 to 22 digits are valid." + }, + "orgId": { + "type": "string", + "example": "1.22337203685477E14" + }, + "additionalInfo": { + "type": "object", + "properties": {}, + "description": "Additional session information" + }, + "billParams": { + "type": "array", + "items": { + "required": ["name", "value"], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The display name of the parameter. This has to match what is sent in fields.", + "example": "John Doe" + }, + "value": { + "type": "string", + "description": "The value of the customer parameter", + "example": "1895159" + } + } + } + }, + "billerId": { + "type": "string", + "example": "BBPSDUMMY001" + }, + "categoryName": { + "type": "string", + "example": "Water" + }, + "redirectTo": { + "type": "string", + "example": "transactions", + "enum": ["transactions", "disputes"] + }, + "shortLink": { + "maxLength": 16, + "minLength": 8, + "type": "string", + "example": "TLxLzmLF" + } + }, + "x-go-name": "EtherealLinkCreateRequest", + "x-omitempty": true + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["success", "traceId"], + "type": "object", + "properties": { + "link": { + "type": "string", + "example": "link" + }, + "sessionId": { + "type": "string", + "example": "sessionId" + }, + "shortLink": { + "type": "string", + "example": "TLxLzmLF" + }, + "success": { + "type": "boolean", + "example": true + }, + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + } + }, + "x-omitempty": true, + "x-go-name": "EtherealLinkCreateResponse" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "EtherealLinkCreateRequest" + } + }, + "/api/v2/ethereal/saved-bills/{billId}": { + "patch": { + "tags": ["Link Generation"], + "description": "Ethereal disable saved bill API", + "operationId": "EtherealDisableSavedBillRequest", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "billId", + "in": "path", + "description": "Bill ID to be disabled", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "requestBody": { + "description": "Disable bill request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "DISABLED", + "enum": ["DISABLED"] + } + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Saved bill disabled successfully", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["success", "traceId"], + "type": "object", + "properties": { + "success": { + "type": "boolean", + "description": "Indicator to denote whether the request is successful.", + "example": true + }, + "traceId": { + "type": "string", + "description": "The traceId generated for the request.", + "example": "C3SFG0O6N88R6UI7EQ" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "EtherealDisableSavedBillRequest" + } + }, + "/api/v2/ethereal/session/update": { + "post": { + "tags": ["Link Generation"], + "description": "Ethereal sesssion update request API", + "operationId": "EtherealSessionUpdateRequest", + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": ["sessionId"], + "type": "object", + "properties": { + "additionalInfo": { + "type": "object", + "properties": {} + }, + "sessionId": { + "type": "string", + "example": "sessionId" + } + }, + "x-go-name": "EtherealSessionUpdateRequest", + "x-omitempty": true + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Set-Cookie": { + "description": "key1=value1", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "EtherealSessionUpdateRequest" + } + }, + "/api/v2/qfix/order": { + "post": { + "tags": ["QFIX"], + "description": "QFIX order create request API", + "operationId": "QFIXOrderCreateRequest", + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": [ + "amount", + "billerId", + "isDirectBill", + "orgId", + "postPaymentUrl", + "sessionId" + ], + "type": "object", + "properties": { + "billRefId": { + "type": "string", + "example": "1196687215019689511" + }, + "custConvFee": { + "type": "integer" + }, + "customer": { + "required": ["mobile"], + "type": "object", + "properties": { + "id": { + "type": "string", + "nullable": true, + "example": "CUSTOMER_ID" + }, + "mobile": { + "maxLength": 22, + "minLength": 6, + "pattern": "^\\d{6,22}$", + "type": "string", + "description": "Mobile number with 6 to 22 digits are valid." + }, + "params": { + "type": "array", + "description": "The bill params for fetching the bill", + "items": { + "required": ["name", "value"], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The display name of the parameter. This has to match what is sent in fields.", + "example": "John Doe" + }, + "value": { + "type": "string", + "description": "The value of the customer parameter", + "example": "1895159" + } + } + } + } + }, + "x-go-name": "EtherealCustomer" + }, + "isDirectBill": { + "type": "boolean", + "example": false + }, + "orgId": { + "type": "string", + "example": "000" + }, + "sessionId": { + "type": "string", + "example": "000" + }, + "amount": { + "type": "string", + "example": "100" + }, + "billerId": { + "type": "string", + "example": "BBPSDUMMY001" + }, + "postPaymentUrl": { + "type": "string", + "example": "000" + } + }, + "x-go-name": "CouQFIXOrderCreateRequest", + "x-omitempty": true + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["link", "payload", "refId", "status"], + "type": "object", + "properties": { + "link": { + "type": "string", + "example": "SUCCESS" + }, + "payload": { + "type": "string", + "example": "SUCCESS" + }, + "refId": { + "type": "string", + "example": "000" + }, + "status": { + "type": "string", + "example": "SUCCESS" + } + }, + "x-go-name": "CouQFIXOrderCreateResponse", + "x-omitempty": true + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "CouQFIXOrderCreateRequest" + } + }, + "/api/v2/qfix/order/status": { + "post": { + "tags": ["QFIX"], + "description": "QFIX order status request API", + "operationId": "QFIXOrderStatusRequest", + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": ["refId"], + "type": "object", + "properties": { + "refId": { + "type": "string", + "example": "1196687215019689511" + } + }, + "x-go-name": "CouQFIXOrderStatusRequest", + "x-omitempty": true + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["refId", "status"], + "type": "object", + "properties": { + "paymentMode": { + "type": "string", + "example": "Internet Banking", + "enum": [ + "Internet Banking", + "Debit Card", + "Credit Card", + "Prepaid Card", + "IMPS", + "Cash", + "UPI", + "Wallet", + "NEFT", + "AEPS", + "Account Transfer", + "Bharat QR", + "USSD" + ] + }, + "refId": { + "type": "string", + "example": "SUCCESS" + }, + "status": { + "type": "string", + "example": "SUCCESS" + }, + "amount": { + "type": "string", + "example": "SUCCESS" + }, + "custConvFee": { + "type": "integer" + }, + "failureReason": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + } + }, + "x-go-name": "CouQFIXOrderStatusResponse", + "x-omitempty": true + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "CouQFIXOrderStatusRequest" + } + }, + "/api/v2/ethereal/organisation": { + "post": { + "tags": ["Link Generation"], + "description": "Ethereal organisation create request API", + "operationId": "EtherealOrganisationRequest", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "X-ADMIN-KEY", + "in": "header", + "description": "Admin key", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": ["name"], + "type": "object", + "properties": { + "agentInsitutionId": { + "type": "string", + "example": "12345" + }, + "name": { + "type": "string", + "example": "John Doe" + }, + "productInstanceId": { + "type": "string", + "example": "ab45e3e9-8f7d-48fd-8ebb-0ee6f9e7d2b5" + }, + "accountIdsPath": { + "type": "array", + "items": { + "type": "string", + "example": "ab45e3e9-8f7d-48fd-8ebb-0ee6f9e7d2b5" + } + } + }, + "x-go-name": "EtherealOrganisationCreateRequest", + "x-omitempty": true + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["success", "traceId"], + "type": "object", + "properties": { + "success": { + "type": "boolean", + "example": true + }, + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "name": { + "type": "string", + "example": "John Doe" + }, + "orgId": { + "type": "string", + "example": "123456" + } + }, + "x-go-name": "EtherealOrganisationCreateResponse", + "x-omitempty": true + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "EtherealOrganisationCreateRequest" + } + }, + "/api/v2/ethereal/txn/session": { + "post": { + "tags": ["Link Generation"], + "description": "Ethereal txn sesssion validate request API", + "operationId": "EtherealTxnSessionRequest", + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": ["sessionId", "sig", "txnRefId"], + "type": "object", + "properties": { + "sessionId": { + "type": "string", + "example": "sessionId" + }, + "sig": { + "type": "string" + }, + "txnRefId": { + "type": "string", + "example": "PP015076BX3VK1HF1111" + } + }, + "x-go-name": "EtherealTxnSessionValidateRequest", + "x-omitempty": true + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Set-Cookie": { + "description": "key1=value1", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["success", "traceId"], + "type": "object", + "properties": { + "orgId": { + "type": "string", + "example": "orgId" + }, + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "amount": { + "type": "string", + "example": "secret" + }, + "billRefId": { + "type": "string", + "example": "billRefId" + }, + "billerId": { + "type": "string", + "example": "BBPSDUMMY001" + }, + "customer": { + "allOf": [ + { + "required": ["mobile"], + "type": "object", + "properties": { + "customerId": { + "type": "string", + "description": "Customer Identifier", + "example": "4881317598" + }, + "mobile": { + "maxLength": 22, + "minLength": 6, + "pattern": "^\\d{6,22}$", + "type": "string", + "description": "Mobile number with 6 to 22 digits are valid." + } + } + }, + { + "required": ["customerParams"], + "type": "object", + "properties": { + "customerParams": { + "type": "array", + "description": "The bill params for fetching the bill", + "items": { + "required": ["name", "value"], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The display name of the parameter. This has to match what is sent in fields.", + "example": "John Doe" + }, + "value": { + "type": "string", + "description": "The value of the customer parameter", + "example": "1895159" + } + } + } + } + } + } + ] + }, + "orgConfigs": { + "type": "array", + "items": { + "required": ["configId", "name", "value"], + "type": "object", + "properties": { + "configId": { + "type": "string", + "example": "000" + }, + "name": { + "type": "string", + "example": "John Doe" + }, + "value": { + "type": "string", + "example": "#ffa80h" + } + }, + "x-go-name": "EtherealOrgConfigurationItem", + "x-omitempty": true + } + }, + "customerId": { + "type": "string", + "example": "4881317598" + }, + "mobileNumber": { + "maxLength": 22, + "minLength": 6, + "pattern": "^\\d{6,22}$", + "type": "string", + "description": "Mobile number with 6 to 22 digits are valid." + }, + "partnerId": { + "type": "string", + "example": "partnerId" + }, + "secret": { + "type": "string", + "example": "exampleSecret" + }, + "success": { + "type": "boolean", + "example": true + } + }, + "x-go-name": "EtherealTxnSessionValidateResponse", + "x-omitempty": true + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "EtherealTxnSessionValidateRequest" + } + }, + "/api/v2/webhooks/payment-event": { + "post": { + "tags": ["Custom Payment Webhook"], + "description": "Custom payment webhook API", + "operationId": "CouCustomPaymentWebhook", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": [ + "amount", + "orderId", + "paymentDateTime", + "paymentMode", + "paymentStatus", + "transactionId" + ], + "type": "object", + "properties": { + "failureReason": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "orderId": { + "type": "string", + "example": "COUWLab1C2dDe5F6g" + }, + "paymentDateTime": { + "type": "string", + "example": "2024-03-19 12:30:45" + }, + "amount": { + "type": "string", + "example": "100" + }, + "custConvFee": { + "type": "integer" + }, + "paymentMode": { + "type": "string", + "example": "UPI", + "enum": [ + "INTERNET BANKING", + "DEBIT CARD", + "CREDIT CARD", + "PREPAID CARD", + "IMPS", + "CASH", + "UPI", + "WALLET", + "NEFT", + "AEPS", + "ACCOUNT TRANSFER", + "BHARAT QR", + "USSD" + ] + }, + "paymentStatus": { + "type": "string", + "example": "SUCCESS", + "enum": ["SUCCESS", "FAILURE"] + }, + "remarks": { + "type": "string", + "example": "Payment processed successfully." + }, + "transactionId": { + "type": "string", + "example": "407012345678" + } + }, + "x-go-name": "CouCustomPaymentWebhook", + "x-omitempty": true + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["status"], + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "acknowledged" + } + }, + "x-go-name": "CouCustomPaymentWebhookResponse", + "x-omitempty": true + } + } + } + } + }, + "x-codegen-request-body-name": "CouCustomPaymentWebhook" + } + }, + "/api/v2/ethereal/login": { + "post": { + "tags": ["Link Generation"], + "description": "Ethereal login create request API", + "operationId": "EtherealLoginRequest", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": ["mobileNumber", "orgId", "sessionId"], + "type": "object", + "properties": { + "sessionId": { + "type": "string", + "example": "sessionId" + }, + "mobileNumber": { + "maxLength": 22, + "minLength": 6, + "pattern": "^\\d{6,22}$", + "type": "string", + "description": "Mobile number with 6 to 22 digits are valid." + }, + "orgId": { + "type": "string", + "example": "orgId" + }, + "refId": { + "type": "string", + "example": "refId" + } + }, + "x-omitempty": true, + "x-go-name": "EtherealLoginCreateRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["success", "traceId"], + "type": "object", + "properties": { + "refId": { + "type": "string", + "example": "refId" + }, + "success": { + "type": "boolean", + "example": true + }, + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + } + }, + "x-go-name": "EtherealLoginCreateResponse", + "x-omitempty": true + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "EtherealLoginCreateRequest" + } + }, + "/api/v2/ethereal/login/validate": { + "post": { + "tags": ["Link Generation"], + "description": "Ethereal login validate request API", + "operationId": "EtherealLoginValidateRequest", "parameters": [ { "name": "X-PARTNER-ID", @@ -40,65 +3410,41 @@ "content": { "application/json": { "schema": { - "required": ["orgId"], + "required": [ + "mobileNumber", + "orgId", + "otp", + "refId", + "sessionId" + ], "type": "object", "properties": { - "categoryName": { - "type": "string", - "example": "Water" - }, - "custID": { - "type": "string", - "example": "12345" - }, "mobileNumber": { - "maxLength": 20, + "maxLength": 22, "minLength": 6, - "pattern": "^\\d{6}(\\d{4}(\\d{10})?)?$", + "pattern": "^\\d{6,22}$", "type": "string", - "description": "Mobile number with 6, 10 and 20 digits are valid.", - "example": "9481773053" + "description": "Mobile number with 6 to 22 digits are valid." }, "orgId": { "type": "string", - "example": "1.22337203685477E14" + "example": "orgId" }, - "redirectTo": { + "otp": { "type": "string", - "example": "transactions", - "enum": ["transactions", "disputes"] - }, - "additionalInfo": { - "type": "object", - "properties": {}, - "description": "Additional Session information" + "example": "otp" }, - "billParams": { - "type": "array", - "items": { - "required": ["name", "value"], - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The display name of the parameter. This has to match what is sent in fields.", - "example": "Loan Number" - }, - "value": { - "type": "string", - "description": "The value of the customer parameter", - "example": "1895159" - } - } - } + "refId": { + "type": "string", + "example": "refId" }, - "billerId": { + "sessionId": { "type": "string", - "example": "MAHI0000001" + "example": "sessionId" } }, - "x-omitempty": true, - "x-go-name": "EtherealLinkCreateRequest" + "x-go-name": "EtherealLoginValidateRequest", + "x-omitempty": true } } }, @@ -138,6 +3484,12 @@ "type": "string" } }, + "Set-Cookie": { + "description": "key1=value1", + "schema": { + "type": "string" + } + }, "Pragma": { "description": "Pragma", "schema": { @@ -157,24 +3509,16 @@ "required": ["success", "traceId"], "type": "object", "properties": { - "link": { - "type": "string", - "example": "link" - }, - "sessionId": { + "traceId": { "type": "string", - "example": "sessionId" + "example": "C3SFG0O6N88R6UI7EQ" }, "success": { "type": "boolean", "example": true - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } }, - "x-go-name": "EtherealLinkCreateResponse", + "x-go-name": "EtherealLoginValidateResponse", "x-omitempty": true } } @@ -188,27 +3532,199 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "EtherealLoginValidateRequest" + } + }, + "/api/v2/ethereal/payments": { + "get": { + "tags": ["Link Generation"], + "description": "Returns the list of payments (ethereal txns + bbps txns) for the customer mobile linked to the session (for otl) or cookie (for static link) - to be used only by the Ethereal", + "operationId": "GetEtherealPayments", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "maximum": 100.0, + "type": "integer" + } + }, + { + "name": "cursor", + "in": "query", + "description": "Base64 encoded OrderId", + "schema": { + "type": "string" + } + }, + { + "name": "createdSince", + "in": "query", + "description": "List the payments that were created since the given datetime (with timestamp)", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "months", + "in": "query", + "description": "Month ranges. A full-date notation as defined by 'RFC 3339, section 5.6' has to be provided but only month and year will be considered.", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "format": "date" + } + } + }, + { + "name": "status", + "in": "query", + "description": "Order Status", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": ["SUCCESS", "INIT", "FAILURE"] + } + } + }, + { + "name": "categories", + "in": "query", + "description": "Biller Categories", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "orderIds", + "in": "query", + "description": "Order IDs", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { "traceId": { "type": "string", "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false } } } @@ -223,36 +3739,227 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false + } + } + } + } + } + }, + "200": { + "description": "List of Payments", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["data", "success", "traceId"], + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "cursor": { + "type": "string", + "description": "Base64 encoded OrderId to be passed in the query parameter cursor to fetch the next page" + }, + "payments": { + "type": "array", + "items": { + "required": [ + "OrderAmountInRupees", + "OrderCreatedAt", + "OrderId", + "OrderStatus" + ], + "type": "object", + "properties": { + "BBPSBillerID": { + "type": "string", + "example": "BBPSDUMMY001" + }, + "BBPSTxnRefId": { + "type": "string", + "example": "PP015076BX3VK1HF1111" + }, + "CustConvFee": { + "type": "integer" + }, + "OrderId": { + "type": "string", + "example": "1234567890" + }, + "BBPSBillerLogo": { + "type": "string", + "example": "https://example.com/logo.png" + }, + "BBPSBillerName": { + "type": "string", + "example": "Dummy Biller" + }, + "BBPSCustomerParams": { + "type": "array", + "description": "The bill params for fetching the bill", + "items": { + "required": ["name", "value"], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The display name of the parameter. This has to match what is sent in fields.", + "example": "John Doe" + }, + "value": { + "type": "string", + "description": "The value of the customer parameter", + "example": "1895159" + } + } + } + }, + "BBPSTxnStatus": { + "type": "string", + "example": "Success", + "enum": [ + "Processing", + "Success", + "Error", + "Credit_Adjustment" + ] + }, + "BBPSTxnTimestamp": { + "type": "string", + "example": "2025-03-17T19:03:06+05:30" + }, + "Bills": { + "type": "array", + "items": { + "required": ["amount", "billNumber"], + "type": "object", + "properties": { + "billNumber": { + "type": "string", + "example": "B1234567" + }, + "amount": { + "minimum": 1, + "type": "integer", + "description": "Amount in Paise" + } + }, + "x-omitempty": true + } + }, + "OrderRefundId": { + "type": "string", + "example": "1234567890" + }, + "BBPSRefID": { + "type": "string", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + }, + "OrderCreatedAt": { + "type": "string", + "format": "date-time" + }, + "OrderStatus": { + "type": "string", + "example": "SUCCESS", + "enum": ["SUCCESS", "INIT", "FAILURE"] + }, + "BBPSBillerCategory": { + "type": "string", + "example": "Electricity" + }, + "OrderAmountInRupees": { + "type": "string", + "description": "Amount in rupees", + "example": "10000" + } + } + } + } + } + }, + "success": { + "type": "boolean", + "example": true }, "traceId": { "type": "string", "example": "C3SFG0O6N88R6UI7EQ" } - } + }, + "x-go-name": "ListEtherealPaymentsResponse", + "x-omitempty": true } } } } }, - "security": [], - "x-codegen-request-body-name": "EtherealLinkCreateRequest" + "security": [] } }, "/api/v2/auth/token": { @@ -269,11 +3976,13 @@ "properties": { "clientID": { "type": "string", - "description": "clientID from the API key pair" + "description": "clientID from the API key pair", + "example": "exampleClientID" }, "secret": { "type": "string", - "description": "secret from the API key pair" + "description": "secret from the API key pair", + "example": "exampleSecret" } }, "description": "Fetch Token API payload" @@ -343,7 +4052,8 @@ }, "token": { "type": "string", - "description": "Token to be used in subsequent requests" + "description": "Token to be used in subsequent requests", + "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" } } }, @@ -374,27 +4084,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -413,11 +4123,13 @@ "properties": { "clientID": { "type": "string", - "description": "clientID from the API key pair" + "description": "clientID from the API key pair", + "example": "exampleClientID" }, "secret": { "type": "string", - "description": "secret from the API key pair" + "description": "secret from the API key pair", + "example": "exampleSecret" } }, "description": "Fetch Token API payload" @@ -434,7 +4146,8 @@ }, "token": { "type": "string", - "description": "Token to be used in subsequent requests" + "description": "Token to be used in subsequent requests", + "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" } } }, @@ -476,6 +4189,7 @@ "clientCredentials": { "tokenUrl": "https://coudc.setu.co/api/v2/auth/token", "scopes": { + "bbps:admin": "Required scope", "cou:wl_partner": "Required scope" } } @@ -487,6 +4201,7 @@ "clientCredentials": { "tokenUrl": "https://sandbox-coudc.setu.co/api/v2/auth/token", "scopes": { + "bbps:admin": "Required scope", "cou:wl_partner": "Required scope" } } @@ -498,6 +4213,7 @@ "clientCredentials": { "tokenUrl": "https://qa-coudc.setu.co/api/v2/auth/token", "scopes": { + "bbps:admin": "Required scope", "cou:wl_partner": "Required scope" } } diff --git a/api-references/payments/billpay_v1/api-integration.json b/api-references/payments/billpay_v1/api-integration.json index 00ed5f7f..9a01eaa5 100644 --- a/api-references/payments/billpay_v1/api-integration.json +++ b/api-references/payments/billpay_v1/api-integration.json @@ -34,11 +34,13 @@ "properties": { "clientID": { "type": "string", - "description": "clientID from the API key pair" + "description": "clientID from the API key pair", + "example": "exampleClientID" }, "secret": { "type": "string", - "description": "secret from the API key pair" + "description": "secret from the API key pair", + "example": "exampleSecret" } }, "description": "Fetch Token API payload" @@ -108,7 +110,8 @@ }, "token": { "type": "string", - "description": "Token to be used in subsequent requests" + "description": "Token to be used in subsequent requests", + "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" } } }, @@ -139,27 +142,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -174,7 +177,6 @@ "post": { "tags": ["Fetch"], "description": "Bill fetch request API", - "operationId": "FetchRequest", "parameters": [ { "name": "X-PARTNER-ID", @@ -199,11 +201,18 @@ "required": ["channel", "id"], "type": "object", "properties": { - "os": { + "mac": { "type": "string", - "description": "Mandatory if channel is `MOB`, `MOBB`. Not required for others.", - "example": "iOS", - "enum": ["iOS", "Android"] + "description": "Mandatory if channel is `INT`, `INTB`. Not required for others.", + "format": "mac", + "example": "48-4D-7E-CB-DB-6F" + }, + "mobile": { + "maxLength": 22, + "minLength": 6, + "pattern": "^\\d{6,22}$", + "type": "string", + "description": "Mobile number with 6 to 22 digits are valid." }, "postalCode": { "pattern": "^[1-9][0-9]{5}$", @@ -211,10 +220,32 @@ "description": "Mandatory if channel is `AGT`, `BSC` and `BNKBRNCH`. Not required for others. This has to match the data submitted to NPCI for this agent ID\n", "example": "600001" }, - "terminalId": { + "id": { "type": "string", - "description": "Mandatory if channel is `ATM`, `AGT`, `KIOSK` and `BSC` . Not required for others. This has to match the data submitted to NPCI for this agent ID\n", - "example": "6000011234" + "description": "The ID of the agent initiating the BBPS transaction.", + "example": "AX01AI06512391457204" + }, + "ifsc": { + "type": "string", + "description": "Mandatory if channel is `BNKBRNCH`. Not required for others. This has to match the data submitted to NPCI for this agent ID\n", + "example": "ICIC0000152" + }, + "imei": { + "type": "string", + "description": "Mandatory if channel is `MOB`, `MOBB`. Not required for others.", + "example": "123456789012345" + }, + "ip": { + "type": "string", + "description": "Mandatory if channel is `INT`, `INTB`. Not required for others.", + "format": "ipv4", + "example": "124.170.23.24" + }, + "os": { + "type": "string", + "description": "Mandatory if channel is `MOB`, `MOBB`. Not required for others.", + "example": "iOS", + "enum": ["iOS", "Android"] }, "app": { "type": "string", @@ -239,45 +270,44 @@ "MPOS" ] }, - "imei": { - "type": "string", - "description": "Mandatory if channel is `MOB`, `MOBB`. Not required for others.", - "example": "123456789012345" - }, - "mac": { - "type": "string", - "description": "Mandatory if channel is `INT`, `INTB`. Not required for others.", - "format": "mac", - "example": "48-4D-7E-CB-DB-6F" - }, - "mobile": { - "maxLength": 20, - "minLength": 6, - "pattern": "^\\d{6}(\\d{4}(\\d{10})?)?$", - "type": "string", - "description": "Mobile number with 6, 10 and 20 digits are valid.", - "example": "9481773053" - }, "geocode": { "type": "string", "description": "Mandatory if channel is `AGT`, `BSC` and `BNKBRNCH`. Not required for others. This has to match the data submitted to NPCI for this agent ID\n", "example": "19.0139,72.8254" }, - "id": { + "terminalId": { "type": "string", - "description": "The ID of the agent initiating the BBPS transaction.", - "example": "AX01AI06512391457204" + "description": "Mandatory if channel is `ATM`, `AGT`, `KIOSK` and `BSC` . Not required for others. This has to match the data submitted to NPCI for this agent ID\n", + "example": "6000011234" + } + } + }, + "remitter": { + "type": "object", + "properties": { + "aadhaar": { + "maxLength": 50, + "minLength": 1, + "type": "string", + "example": "123456789012" }, - "ifsc": { + "email": { + "maxLength": 50, + "minLength": 1, "type": "string", - "description": "Mandatory if channel is `BNKBRNCH`. Not required for others. This has to match the data submitted to NPCI for this agent ID\n", - "example": "ICIC0000152" + "example": "test@example.com" }, - "ip": { + "name": { + "maxLength": 50, + "minLength": 1, "type": "string", - "description": "Mandatory if channel is `INT`, `INTB`. Not required for others.", - "format": "ipv4", - "example": "124.170.23.24" + "example": "John Doe" + }, + "pan": { + "maxLength": 50, + "minLength": 1, + "type": "string", + "example": "ABDCE1121E" } } }, @@ -307,38 +337,17 @@ "required": ["mobile"], "type": "object", "properties": { - "remitter": { - "type": "object", - "properties": { - "aadhaar": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "email": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "name": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "pan": { - "maxLength": 50, - "minLength": 1, - "type": "string" - } - } + "customerId": { + "type": "string", + "description": "Customer Identifier", + "example": "4881317598" }, "mobile": { - "maxLength": 20, + "maxLength": 22, "minLength": 6, - "pattern": "^\\d{6}(\\d{4}(\\d{10})?)?$", + "pattern": "^\\d{6,22}$", "type": "string", - "description": "Mobile number with 6, 10 and 20 digits are valid.", - "example": "9481773053" + "description": "Mobile number with 6 to 22 digits are valid." } } }, @@ -348,6 +357,7 @@ "properties": { "billParameters": { "type": "array", + "description": "The bill params for fetching the bill", "items": { "required": ["name", "value"], "type": "object", @@ -355,7 +365,7 @@ "name": { "type": "string", "description": "The display name of the parameter. This has to match what is sent in fields.", - "example": "Loan Number" + "example": "John Doe" }, "value": { "type": "string", @@ -440,25 +450,35 @@ "type": "object", "properties": { "code": { - "type": "string" + "type": "string", + "example": "error-code-if-any" }, "message": { - "type": "string" + "type": "string", + "example": "error-message-if-any" + }, + "refId": { + "type": "string", + "description": "The generated BBPS Reference ID for the request.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } } }, "refId": { "type": "string", + "description": "The generated BBPS Reference ID for the request.", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } } }, "success": { "type": "boolean", + "description": "Boolean value indicating the status of the request", "example": true }, "traceId": { "type": "string", + "description": "The traceId generated for the request", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10461713" } } @@ -474,27 +494,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -509,27 +529,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -555,7 +575,6 @@ "post": { "tags": ["Fetch"], "description": "Bill fetch response API", - "operationId": "FetchResponse", "parameters": [ { "name": "X-PARTNER-ID", @@ -576,7 +595,8 @@ "properties": { "refId": { "type": "string", - "example": "LNMSQQR4RKT7X1UGPY7JGUV454PL9T2C689" + "description": "The generated BBPS Reference ID for the request.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } }, "x-go-name": "RefIdBasedRequest", @@ -661,33 +681,9 @@ "required": ["refId", "status"], "type": "object", "properties": { - "lastPaidDate": { - "type": "string", - "format": "date-time", - "nullable": true, - "example": "2020-12-12T13:12:00+05:30" - }, - "refId": { + "billerRefId": { "type": "string", - "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" - }, - "additionalInfo": { - "type": "array", - "items": { - "required": ["name", "value"], - "type": "object", - "properties": { - "name": { - "type": "string", - "example": "Line item 1" - }, - "value": { - "type": "string", - "example": "Value 1" - } - } - }, - "x-go-name": "BillAdditionalInfo" + "example": "7f16a032e514" }, "billerResponseType": { "type": "string", @@ -697,15 +693,6 @@ "x-nullable": true, "x-omitempty": false }, - "billerSelectionType": { - "type": "string", - "description": "Defined only for billers with response type as LIST. SINGLE: User can pay only one of the bills in bill fetch response. MULTIPLE: User can pay any combination of bills in bill fetch response. ALL: User has to pay all the bills in bill fetch response.", - "nullable": true, - "example": "SINGLE", - "enum": ["SINGLE", "MULTIPLE", "ALL"], - "x-nullable": true, - "x-omitempty": false - }, "bills": { "type": "array", "description": "Multiple bills in case of response from B2B biller", @@ -719,50 +706,14 @@ ], "type": "object", "properties": { - "customerName": { - "type": "string", - "example": "Manoj Chekuri" - }, - "dueDate": { - "type": "string", - "format": "date", - "example": "2021-09-24" - }, - "maxAmount": { - "type": "integer", - "description": "Maximum amount that can be paid for this bill in paise", - "nullable": true, - "x-omitempty": true - }, - "amount": { - "type": "integer", - "nullable": true, - "x-omitempty": true - }, - "amountMultiple": { - "type": "integer", - "description": "Bill payment amount should be multiple of this value in paise", - "nullable": true, - "x-omitempty": true - }, - "billNumber": { - "type": "string", - "example": "1232332" - }, - "billPeriod": { - "type": "string", - "example": "ONETIME|DAILY|WEEKLY|BIMONTHLY|MONTHLY|QUARTERLY|HALFYEARLY|YEARLY|ASPRESENTED" - }, "billDate": { "type": "string", "format": "date", "example": "2021-01-02" }, - "label": { + "customerName": { "type": "string", - "nullable": true, - "example": "Advance EMI", - "x-omitempty": true + "example": "Manoj Chekuri" }, "minAmount": { "type": "integer", @@ -777,63 +728,106 @@ "required": ["name"], "type": "object", "properties": { - "minAmount": { + "amountMultiple": { "type": "integer", + "description": "The payment amount should be a multiple of this value in paise.", "nullable": true, "x-omitempty": true }, - "name": { - "type": "string", - "description": "The display name of the option.", - "example": "2 Months EMI Amount" - }, - "amount": { + "maxAmount": { "type": "integer", - "description": "The amount that can be paid for this option in paise.", + "description": "The maximum amount that can be paid for this option in paise.", "nullable": true, "x-omitempty": true }, - "amountMultiple": { + "minAmount": { "type": "integer", - "description": "The payment amount should be a multiple of this value in paise.", + "description": "The minimum amount that can be paid for this option in paise.", "nullable": true, "x-omitempty": true }, - "maxAmount": { + "name": { + "type": "string", + "description": "The display name of the option.", + "example": "John Doe" + }, + "amount": { "type": "integer", - "description": "The maximum amount that can be paid for this option in paise.", + "description": "The amount that can be paid for this option in paise.", "nullable": true, "x-omitempty": true } - }, - "x-go-name": "PaymentOption" + } }, "x-omitempty": true + }, + "amount": { + "type": "integer", + "nullable": true, + "x-omitempty": true + }, + "amountMultiple": { + "type": "integer", + "description": "Bill payment amount should be multiple of this value in paise", + "nullable": true, + "x-omitempty": true + }, + "dueDate": { + "type": "string", + "format": "date", + "example": "2021-09-24" + }, + "label": { + "type": "string", + "nullable": true, + "example": "Advance EMI", + "x-omitempty": true + }, + "maxAmount": { + "type": "integer", + "description": "Maximum amount that can be paid for this bill in paise", + "nullable": true, + "x-omitempty": true + }, + "billNumber": { + "type": "string", + "example": "1232332" + }, + "billPeriod": { + "type": "string", + "example": "ONETIME|DAILY|WEEKLY|BIMONTHLY|MONTHLY|QUARTERLY|HALFYEARLY|YEARLY|ASPRESENTED" } }, "x-go-name": "BillData" }, "x-omitempty": true }, - "billerRefId": { + "exactness": { "type": "string", - "example": "7f16a032e514" + "example": "Exact", + "enum": [ + "Exact", + "Exact and above", + "Exact and below", + "Any", + "RANGE" + ] }, "failureReason": { "required": ["code", "message"], "type": "object", "properties": { - "code": { - "type": "string", - "example": "ERR004" - }, "message": { "type": "string", - "example": "customer not found" + "example": "error-message-if-any" }, "type": { "type": "string", "enum": ["FUND_TRANSFER", "BBPS", "APP"] + }, + "code": { + "type": "string", + "example": "error-code-if-any" } } }, @@ -842,10 +836,54 @@ "nullable": true, "example": false }, + "refId": { + "type": "string", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + }, + "additionalInfo": { + "type": "array", + "description": "This tag captures the additional information provided by the Biller as part of response for a successful transaction.", + "items": { + "required": ["name", "value"], + "type": "object", + "properties": { + "value": { + "type": "string", + "example": "Value 1" + }, + "name": { + "type": "string", + "example": "John Doe" + } + } + }, + "x-go-name": "BillAdditionalInfo", + "x-omitempty": false + }, + "billerSelectionType": { + "type": "string", + "description": "Defined only for billers with response type as LIST. SINGLE: User can pay only one of the bills in bill fetch response. MULTIPLE: User can pay any combination of bills in bill fetch response. ALL: User has to pay all the bills in bill fetch response.", + "nullable": true, + "example": "SINGLE", + "enum": ["SINGLE", "MULTIPLE", "ALL"], + "x-omitempty": false, + "x-nullable": true + }, + "lastPaidDate": { + "type": "string", + "format": "date-time", + "nullable": true, + "example": "2020-12-12T13:12:00+05:30" + }, "status": { "type": "string", "example": "Success", - "enum": ["Processing", "Success", "Failure"] + "enum": [ + "Processing", + "Success", + "Failure", + "Credit_Adjustment" + ] } } }, @@ -862,50 +900,14 @@ ], "type": "object", "properties": { - "customerName": { - "type": "string", - "example": "Manoj Chekuri" - }, - "dueDate": { - "type": "string", - "format": "date", - "example": "2021-09-24" - }, - "maxAmount": { - "type": "integer", - "description": "Maximum amount that can be paid for this bill in paise", - "nullable": true, - "x-omitempty": true - }, - "amount": { - "type": "integer", - "nullable": true, - "x-omitempty": true - }, - "amountMultiple": { - "type": "integer", - "description": "Bill payment amount should be multiple of this value in paise", - "nullable": true, - "x-omitempty": true - }, - "billNumber": { - "type": "string", - "example": "1232332" - }, - "billPeriod": { - "type": "string", - "example": "ONETIME|DAILY|WEEKLY|BIMONTHLY|MONTHLY|QUARTERLY|HALFYEARLY|YEARLY|ASPRESENTED" - }, "billDate": { "type": "string", "format": "date", "example": "2021-01-02" }, - "label": { + "customerName": { "type": "string", - "nullable": true, - "example": "Advance EMI", - "x-omitempty": true + "example": "Manoj Chekuri" }, "minAmount": { "type": "integer", @@ -920,54 +922,78 @@ "required": ["name"], "type": "object", "properties": { - "minAmount": { + "amountMultiple": { "type": "integer", + "description": "The payment amount should be a multiple of this value in paise.", "nullable": true, "x-omitempty": true }, - "name": { - "type": "string", - "description": "The display name of the option.", - "example": "2 Months EMI Amount" - }, - "amount": { + "maxAmount": { "type": "integer", - "description": "The amount that can be paid for this option in paise.", + "description": "The maximum amount that can be paid for this option in paise.", "nullable": true, "x-omitempty": true }, - "amountMultiple": { + "minAmount": { "type": "integer", - "description": "The payment amount should be a multiple of this value in paise.", + "description": "The minimum amount that can be paid for this option in paise.", "nullable": true, "x-omitempty": true }, - "maxAmount": { + "name": { + "type": "string", + "description": "The display name of the option.", + "example": "John Doe" + }, + "amount": { "type": "integer", - "description": "The maximum amount that can be paid for this option in paise.", + "description": "The amount that can be paid for this option in paise.", "nullable": true, "x-omitempty": true } - }, - "x-go-name": "PaymentOption" + } }, "x-omitempty": true + }, + "amount": { + "type": "integer", + "nullable": true, + "x-omitempty": true + }, + "amountMultiple": { + "type": "integer", + "description": "Bill payment amount should be multiple of this value in paise", + "nullable": true, + "x-omitempty": true + }, + "dueDate": { + "type": "string", + "format": "date", + "example": "2021-09-24" + }, + "label": { + "type": "string", + "nullable": true, + "example": "Advance EMI", + "x-omitempty": true + }, + "maxAmount": { + "type": "integer", + "description": "Maximum amount that can be paid for this bill in paise", + "nullable": true, + "x-omitempty": true + }, + "billNumber": { + "type": "string", + "example": "1232332" + }, + "billPeriod": { + "type": "string", + "example": "ONETIME|DAILY|WEEKLY|BIMONTHLY|MONTHLY|QUARTERLY|HALFYEARLY|YEARLY|ASPRESENTED" } }, "x-go-name": "BillData" }, - "exactness": { - "type": "string", - "description": "Biller exactness", - "example": "Exact", - "enum": [ - "Exact", - "Exact and above", - "Exact and below", - "Any", - "RANGE" - ] - }, "paymentLimits": { "type": "array", "items": { @@ -1032,27 +1058,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -1067,27 +1093,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -1113,7 +1139,6 @@ "post": { "tags": ["Pay"], "description": "Bill payment request API", - "operationId": "PaymentRequest", "parameters": [ { "name": "X-PARTNER-ID", @@ -1134,140 +1159,79 @@ "required": ["paymentDetails"], "type": "object", "properties": { + "dummyCustomerMobile": { + "type": "string", + "description": "On debug, this hijacks the customer mobiler number COMFORT NEGATIVE 30, 31", + "nullable": true, + "example": "9876543210" + }, "refId": { "type": "string", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" }, - "bills": { - "uniqueItems": true, - "type": "array", - "nullable": true, - "example": "Selection on bills in case of list billers", - "items": { - "required": ["amount", "billNumber"], - "type": "object", - "properties": { - "amount": { - "minimum": 1, - "type": "integer", - "description": "Amount in Paise" - }, - "billNumber": { - "type": "string", - "example": "B1234567" - } - }, - "x-omitempty": true + "biller": { + "required": ["id"], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The biller ID on BBPS", + "example": "MAHI00000NATIC" + } }, - "x-omitempty": true + "x-go-gen-location": "models", + "x-go-name": "BillerDetails" }, - "paymentDetails": { - "required": [ - "amount", - "mode", - "paymentRefId", - "timestamp" - ], + "agent": { + "required": ["channel", "id"], "type": "object", "properties": { - "timestamp": { + "mac": { "type": "string", - "format": "date-time", - "example": "2020-12-12T13:12:00+05:30" + "description": "Mandatory if channel is `INT`, `INTB`. Not required for others.", + "format": "mac", + "example": "48-4D-7E-CB-DB-6F" }, - "accountInfo": { - "maxLength": 50, - "minLength": 1, - "type": "string" + "mobile": { + "maxLength": 22, + "minLength": 6, + "pattern": "^\\d{6,22}$", + "type": "string", + "description": "Mobile number with 6 to 22 digits are valid." }, - "amount": { - "minimum": 1, - "type": "integer", - "description": "Amount in Paise" + "postalCode": { + "pattern": "^[1-9][0-9]{5}$", + "type": "string", + "description": "Mandatory if channel is `AGT`, `BSC` and `BNKBRNCH`. Not required for others. This has to match the data submitted to NPCI for this agent ID\n", + "example": "600001" }, - "currency": { - "type": "integer", - "nullable": true + "id": { + "type": "string", + "description": "The ID of the agent initiating the BBPS transaction.", + "example": "AX01AI06512391457204" }, - "selectedPaymentOptions": { - "type": "array", - "description": "List of selected payment options", - "nullable": true, - "items": { - "required": ["amount", "name"], - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the payment option as returned in bill fetch response.", - "example": "Early Payment Amount" - }, - "amount": { - "minimum": 1, - "type": "integer", - "description": "The amount to be paid for the selected payment option." - } - } - }, - "x-nullable": true, - "x-omitempty": true - }, - "COUcustConvFee": { - "type": "integer", - "nullable": true - }, - "custConvFee": { - "type": "integer", - "nullable": true + "ifsc": { + "type": "string", + "description": "Mandatory if channel is `BNKBRNCH`. Not required for others. This has to match the data submitted to NPCI for this agent ID\n", + "example": "ICIC0000152" }, - "mode": { + "imei": { "type": "string", - "example": "Internet Banking", - "enum": [ - "Internet Banking", - "Debit Card", - "Credit Card", - "Prepaid Card", - "IMPS", - "Cash", - "UPI", - "Wallet", - "NEFT", - "AEPS", - "Account Transfer", - "Bharat QR", - "USSD" - ] + "description": "Mandatory if channel is `MOB`, `MOBB`. Not required for others.", + "example": "123456789012345" }, - "paymentRefId": { - "maxLength": 35, - "minLength": 6, + "ip": { "type": "string", - "example": "BD019181220291" - } - } - }, - "agent": { - "required": ["channel", "id"], - "type": "object", - "properties": { + "description": "Mandatory if channel is `INT`, `INTB`. Not required for others.", + "format": "ipv4", + "example": "124.170.23.24" + }, "os": { "type": "string", "description": "Mandatory if channel is `MOB`, `MOBB`. Not required for others.", "example": "iOS", "enum": ["iOS", "Android"] }, - "postalCode": { - "pattern": "^[1-9][0-9]{5}$", - "type": "string", - "description": "Mandatory if channel is `AGT`, `BSC` and `BNKBRNCH`. Not required for others. This has to match the data submitted to NPCI for this agent ID\n", - "example": "600001" - }, - "terminalId": { - "type": "string", - "description": "Mandatory if channel is `ATM`, `AGT`, `KIOSK` and `BSC` . Not required for others. This has to match the data submitted to NPCI for this agent ID\n", - "example": "6000011234" - }, "app": { "type": "string", "description": "Mandatory if channel is `MOB`, `MOBB`. Not required for others.", @@ -1291,60 +1255,167 @@ "MPOS" ] }, - "imei": { - "type": "string", - "description": "Mandatory if channel is `MOB`, `MOBB`. Not required for others.", - "example": "123456789012345" - }, - "mac": { - "type": "string", - "description": "Mandatory if channel is `INT`, `INTB`. Not required for others.", - "format": "mac", - "example": "48-4D-7E-CB-DB-6F" - }, - "mobile": { - "maxLength": 20, - "minLength": 6, - "pattern": "^\\d{6}(\\d{4}(\\d{10})?)?$", - "type": "string", - "description": "Mobile number with 6, 10 and 20 digits are valid.", - "example": "9481773053" - }, "geocode": { "type": "string", "description": "Mandatory if channel is `AGT`, `BSC` and `BNKBRNCH`. Not required for others. This has to match the data submitted to NPCI for this agent ID\n", "example": "19.0139,72.8254" }, - "id": { + "terminalId": { "type": "string", - "description": "The ID of the agent initiating the BBPS transaction.", - "example": "AX01AI06512391457204" + "description": "Mandatory if channel is `ATM`, `AGT`, `KIOSK` and `BSC` . Not required for others. This has to match the data submitted to NPCI for this agent ID\n", + "example": "6000011234" + } + } + }, + "remitter": { + "type": "object", + "properties": { + "aadhaar": { + "maxLength": 50, + "minLength": 1, + "type": "string", + "example": "123456789012" }, - "ifsc": { + "email": { + "maxLength": 50, + "minLength": 1, "type": "string", - "description": "Mandatory if channel is `BNKBRNCH`. Not required for others. This has to match the data submitted to NPCI for this agent ID\n", - "example": "ICIC0000152" + "example": "test@example.com" }, - "ip": { + "name": { + "maxLength": 50, + "minLength": 1, "type": "string", - "description": "Mandatory if channel is `INT`, `INTB`. Not required for others.", - "format": "ipv4", - "example": "124.170.23.24" + "example": "John Doe" + }, + "pan": { + "maxLength": 50, + "minLength": 1, + "type": "string", + "example": "ABDCE1121E" } } }, - "biller": { - "required": ["id"], + "paymentDetails": { + "required": [ + "amount", + "mode", + "paymentRefId", + "timestamp" + ], "type": "object", "properties": { - "id": { + "custConvFee": { + "type": "integer", + "nullable": true + }, + "paymentRefId": { + "maxLength": 35, + "minLength": 6, "type": "string", - "description": "The biller ID on BBPS", - "example": "MAHI00000NATIC" + "example": "BD019181220291" + }, + "timestamp": { + "type": "string", + "format": "date-time", + "example": "2020-12-12T13:12:00+05:30" + }, + "COUcustConvFee": { + "type": "integer", + "nullable": true + }, + "accountInfo": { + "maxLength": 50, + "minLength": 1, + "type": "string", + "example": "some-info" + }, + "amount": { + "minimum": 1, + "type": "integer", + "description": "Amount in Paise" + }, + "currency": { + "type": "integer", + "nullable": true + }, + "mode": { + "type": "string", + "example": "Internet Banking", + "enum": [ + "Internet Banking", + "Debit Card", + "Credit Card", + "Prepaid Card", + "IMPS", + "Cash", + "UPI", + "Wallet", + "NEFT", + "AEPS", + "Account Transfer", + "Bharat QR", + "USSD" + ] + }, + "selectedPaymentOptions": { + "type": "array", + "description": "List of selected payment options", + "nullable": true, + "items": { + "required": ["amount", "name"], + "type": "object", + "properties": { + "amount": { + "minimum": 1, + "type": "integer", + "description": "The amount to be paid for the selected payment option." + }, + "name": { + "type": "string", + "description": "The name of the payment option as returned in bill fetch response.", + "example": "John Doe" + } + } + }, + "x-nullable": true, + "x-omitempty": true } + } + }, + "bills": { + "uniqueItems": true, + "type": "array", + "nullable": true, + "example": "Selection on bills in case of list billers", + "items": { + "required": ["amount", "billNumber"], + "type": "object", + "properties": { + "billNumber": { + "type": "string", + "example": "B1234567" + }, + "amount": { + "minimum": 1, + "type": "integer", + "description": "Amount in Paise" + } + }, + "x-omitempty": true }, - "x-go-gen-location": "models", - "x-go-name": "BillerDetails" + "x-omitempty": true + }, + "dummyBillerResponseAmount": { + "type": "integer", + "description": "On debug, this is the amount passed in biller response COMFORT NEGATIVE 23", + "nullable": true + }, + "dummyOrigRefId": { + "type": "string", + "description": "On debug, hijacks orig ref id of payment request - COMFORT PAYMENT - 83", + "nullable": true, + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } }, "x-omitempty": true @@ -1358,38 +1429,17 @@ "required": ["mobile"], "type": "object", "properties": { - "remitter": { - "type": "object", - "properties": { - "aadhaar": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "email": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "name": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "pan": { - "maxLength": 50, - "minLength": 1, - "type": "string" - } - } + "customerId": { + "type": "string", + "description": "Customer Identifier", + "example": "4881317598" }, "mobile": { - "maxLength": 20, + "maxLength": 22, "minLength": 6, - "pattern": "^\\d{6}(\\d{4}(\\d{10})?)?$", + "pattern": "^\\d{6,22}$", "type": "string", - "description": "Mobile number with 6, 10 and 20 digits are valid.", - "example": "9481773053" + "description": "Mobile number with 6 to 22 digits are valid." } } }, @@ -1399,6 +1449,7 @@ "properties": { "billParameters": { "type": "array", + "description": "The bill params for fetching the bill", "items": { "required": ["name", "value"], "type": "object", @@ -1406,7 +1457,7 @@ "name": { "type": "string", "description": "The display name of the parameter. This has to match what is sent in fields.", - "example": "Loan Number" + "example": "John Doe" }, "value": { "type": "string", @@ -1430,7 +1481,7 @@ "required": true }, "responses": { - "409": { + "200": { "description": "OK", "headers": { "X-Frame-Options": { @@ -1491,25 +1542,35 @@ "type": "object", "properties": { "code": { - "type": "string" + "type": "string", + "example": "error-code-if-any" }, "message": { - "type": "string" + "type": "string", + "example": "error-message-if-any" + }, + "refId": { + "type": "string", + "description": "The generated BBPS Reference ID for the request.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } } }, "refId": { "type": "string", + "description": "The generated BBPS Reference ID for the request.", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } } }, "success": { "type": "boolean", + "description": "Boolean value indicating the status of the request", "example": true }, "traceId": { "type": "string", + "description": "The traceId generated for the request", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10461713" } } @@ -1517,7 +1578,7 @@ } } }, - "500": { + "400": { "description": "Bad request", "content": { "application/json": { @@ -1525,34 +1586,34 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } } } }, - "200": { + "409": { "description": "OK", "headers": { "X-Frame-Options": { @@ -1613,25 +1674,35 @@ "type": "object", "properties": { "code": { - "type": "string" + "type": "string", + "example": "error-code-if-any" }, "message": { - "type": "string" + "type": "string", + "example": "error-message-if-any" + }, + "refId": { + "type": "string", + "description": "The generated BBPS Reference ID for the request.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } } }, "refId": { "type": "string", + "description": "The generated BBPS Reference ID for the request.", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } } }, "success": { "type": "boolean", + "description": "Boolean value indicating the status of the request", "example": true }, "traceId": { "type": "string", + "description": "The traceId generated for the request", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10461713" } } @@ -1639,7 +1710,7 @@ } } }, - "400": { + "500": { "description": "Bad request", "content": { "application/json": { @@ -1647,27 +1718,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -1713,7 +1784,8 @@ "properties": { "refId": { "type": "string", - "example": "LNMSQQR4RKT7X1UGPY7JGUV454PL9T2C689" + "description": "The generated BBPS Reference ID for the request.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } }, "x-go-name": "RefIdBasedRequest", @@ -1724,41 +1796,6 @@ "required": true }, "responses": { - "500": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "required": ["error", "success", "traceId"], - "type": "object", - "properties": { - "error": { - "required": ["code", "message"], - "type": "object", - "properties": { - "code": { - "type": "string", - "example": "validation-error" - }, - "message": { - "type": "string", - "example": "Input is invalid" - } - } - }, - "success": { - "type": "boolean", - "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" - } - } - } - } - } - }, "200": { "description": "OK", "headers": { @@ -1815,12 +1852,6 @@ "required": ["refId", "status"], "type": "object", "properties": { - "lastPaidDate": { - "type": "string", - "format": "date-time", - "nullable": true, - "example": "2020-12-12T13:12:00+05:30" - }, "paymentDetails": { "required": [ "amount", @@ -1830,15 +1861,30 @@ ], "type": "object", "properties": { + "custConvFee": { + "type": "integer", + "nullable": true + }, + "paymentRefId": { + "maxLength": 35, + "minLength": 6, + "type": "string", + "example": "BD019181220291" + }, "timestamp": { "type": "string", "format": "date-time", "example": "2020-12-12T13:12:00+05:30" }, + "COUcustConvFee": { + "type": "integer", + "nullable": true + }, "accountInfo": { "maxLength": 50, "minLength": 1, - "type": "string" + "type": "string", + "example": "some-info" }, "amount": { "minimum": 1, @@ -1849,37 +1895,6 @@ "type": "integer", "nullable": true }, - "selectedPaymentOptions": { - "type": "array", - "description": "List of selected payment options", - "nullable": true, - "items": { - "required": ["amount", "name"], - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the payment option as returned in bill fetch response.", - "example": "Early Payment Amount" - }, - "amount": { - "minimum": 1, - "type": "integer", - "description": "The amount to be paid for the selected payment option." - } - } - }, - "x-nullable": true, - "x-omitempty": true - }, - "COUcustConvFee": { - "type": "integer", - "nullable": true - }, - "custConvFee": { - "type": "integer", - "nullable": true - }, "mode": { "type": "string", "example": "Internet Banking", @@ -1899,94 +1914,124 @@ "USSD" ] }, - "paymentRefId": { - "maxLength": 35, - "minLength": 6, - "type": "string", - "example": "BD019181220291" + "selectedPaymentOptions": { + "type": "array", + "description": "List of selected payment options", + "nullable": true, + "items": { + "required": ["amount", "name"], + "type": "object", + "properties": { + "amount": { + "minimum": 1, + "type": "integer", + "description": "The amount to be paid for the selected payment option." + }, + "name": { + "type": "string", + "description": "The name of the payment option as returned in bill fetch response.", + "example": "John Doe" + } + } + }, + "x-nullable": true, + "x-omitempty": true } } }, - "refId": { - "type": "string", - "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" - }, - "status": { - "type": "string", - "example": "Success", - "enum": ["Processing", "Success", "Failure"] - }, - "transactionId": { + "billerId": { "type": "string", - "example": "AX30910192192192192" + "description": "The biller ID on BBPS", + "example": "BBPSDUMMY001" }, - "additionalInfo": { + "bills": { + "uniqueItems": true, "type": "array", + "nullable": true, + "example": "The bills paid in case of list billers", "items": { - "required": ["name", "value"], + "required": ["amount", "billNumber"], "type": "object", "properties": { - "name": { + "billNumber": { "type": "string", - "example": "Line item 1" + "example": "B1234567" }, - "value": { - "type": "string", - "example": "Value 1" + "amount": { + "minimum": 1, + "type": "integer", + "description": "Amount in Paise" } - } + }, + "x-omitempty": true }, - "x-go-name": "BillAdditionalInfo" - }, - "billerId": { - "type": "string", - "description": "The biller ID on BBPS", - "example": "MAHI00000NATIC" + "x-omitempty": true }, "failureReason": { "required": ["code", "message"], "type": "object", "properties": { - "code": { - "type": "string", - "example": "ERR004" - }, "message": { "type": "string", - "example": "customer not found" + "example": "error-message-if-any" }, "type": { "type": "string", "enum": ["FUND_TRANSFER", "BBPS", "APP"] + }, + "code": { + "type": "string", + "example": "error-code-if-any" } } }, - "billerRefId": { + "lastPaidDate": { "type": "string", - "example": "ZA6291A177" + "format": "date-time", + "nullable": true, + "example": "2020-12-12T13:12:00+05:30" }, - "bills": { - "uniqueItems": true, + "refId": { + "type": "string", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + }, + "status": { + "type": "string", + "example": "Success", + "enum": [ + "Processing", + "Success", + "Failure", + "Credit_Adjustment" + ] + }, + "transactionId": { + "type": "string", + "example": "AX30910192192192192" + }, + "additionalInfo": { "type": "array", - "nullable": true, - "example": "The bills paid in case of list billers", + "description": "This tag captures the additional information provided by the Biller as part of response for a successful transaction.", "items": { - "required": ["amount", "billNumber"], + "required": ["name", "value"], "type": "object", "properties": { - "amount": { - "minimum": 1, - "type": "integer", - "description": "Amount in Paise" + "value": { + "type": "string", + "example": "Value 1" }, - "billNumber": { + "name": { "type": "string", - "example": "B1234567" + "example": "John Doe" } - }, - "x-omitempty": true + } }, - "x-omitempty": true + "x-go-name": "BillAdditionalInfo", + "x-omitempty": false + }, + "billerRefId": { + "type": "string", + "example": "ZA6291A177" } } }, @@ -1999,8 +2044,8 @@ "example": "C3SFG0O6N88R6UI7EQ" } }, - "x-go-name": "CouAgentBillPaymentResponse", - "x-omitempty": true + "x-omitempty": true, + "x-go-name": "CouAgentBillPaymentResponse" } } } @@ -2013,27 +2058,62 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { "traceId": { "type": "string", "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false } } } @@ -2059,12 +2139,11 @@ "post": { "tags": ["Dispute"], "description": "Raise dispute request API", - "operationId": "DisputeRequest", "parameters": [ { "name": "X-PARTNER-ID", "in": "header", - "description": "Partner ID", + "description": "The Partner ID provided by Setu.", "required": true, "schema": { "type": "integer" @@ -2087,7 +2166,6 @@ "disputeType": { "type": "string", "description": "The type of NPCI dispute", - "example": "account-not-updated", "enum": [ "account-not-updated", "double-payment", @@ -2119,34 +2197,34 @@ }, "responses": { "500": { - "description": "Bad request", + "description": "Internal server error", "content": { "application/json": { "schema": { "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -2214,25 +2292,35 @@ "type": "object", "properties": { "code": { - "type": "string" + "type": "string", + "example": "error-code-if-any" }, "message": { - "type": "string" + "type": "string", + "example": "error-message-if-any" + }, + "refId": { + "type": "string", + "description": "The generated BBPS Reference ID for the request.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } } }, "refId": { "type": "string", + "description": "The generated BBPS Reference ID for the request.", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } } }, "success": { "type": "boolean", + "description": "Boolean value indicating the status of the request", "example": true }, "traceId": { "type": "string", + "description": "The traceId generated for the request", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10461713" } } @@ -2248,27 +2336,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -2298,7 +2386,7 @@ { "name": "X-PARTNER-ID", "in": "header", - "description": "Partner ID", + "description": "The Partner ID provided by Setu.", "required": true, "schema": { "type": "integer" @@ -2314,7 +2402,8 @@ "properties": { "refId": { "type": "string", - "example": "LNMSQQR4RKT7X1UGPY7JGUV454PL9T2C689" + "description": "The generated BBPS Reference ID for the request.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" } }, "x-go-name": "RefIdBasedRequest", @@ -2397,6 +2486,7 @@ }, "refId": { "type": "string", + "description": "The generated BBPS Reference ID for the request.", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" }, "remarks": { @@ -2445,27 +2535,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -2480,27 +2570,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -2526,12 +2616,11 @@ "get": { "tags": ["List"], "description": "Returns the list of transactions.", - "operationId": "getTxns", "parameters": [ { "name": "X-PARTNER-ID", "in": "header", - "description": "Partner ID", + "description": "The Partner ID provided by Setu.", "required": true, "schema": { "type": "integer" @@ -2580,7 +2669,6 @@ { "name": "ids", "in": "query", - "description": "Transaction Reference Ids", "style": "form", "explode": false, "schema": { @@ -2622,8 +2710,7 @@ "type": "array", "items": { "type": "string", - "format": "date", - "example": "2022-07-19" + "format": "date" } } }, @@ -2637,7 +2724,6 @@ "type": "array", "items": { "type": "string", - "example": "Success", "enum": ["Processing", "Success", "Error"] } } @@ -2645,11 +2731,19 @@ { "name": "mobile", "in": "query", - "description": "Mobile number with 6, 10 and 20 digits are valid.", + "description": "Mobile number with 6 to 22 digits are valid.", "schema": { - "maxLength": 20, + "maxLength": 22, "minLength": 6, - "pattern": "^\\d{6}(\\d{4}(\\d{10})?)?$", + "pattern": "^\\d{6,22}$", + "type": "string" + } + }, + { + "name": "customerId", + "in": "query", + "description": "Customer Identifier", + "schema": { "type": "string" } }, @@ -2663,8 +2757,7 @@ "type": "array", "items": { "type": "string", - "example": "BILLER", - "enum": ["BILLER"] + "enum": ["BILLER", "ETHEREAL_TRANSACTION"] } } }, @@ -2678,7 +2771,7 @@ } ], "responses": { - "400": { + "500": { "description": "Bad request", "content": { "application/json": { @@ -2686,62 +2779,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { - "error": { - "required": ["code", "message"], - "type": "object", - "properties": { - "code": { - "type": "string", - "example": "validation-error" - }, - "message": { - "type": "string", - "example": "Input is invalid" - } - } - }, - "success": { - "type": "boolean", - "example": false - }, "traceId": { "type": "string", "example": "C3SFG0O6N88R6UI7EQ" - } - } - } - } - } - }, - "500": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "required": ["error", "success", "traceId"], - "type": "object", - "properties": { + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -2813,570 +2871,712 @@ } }, { + "required": ["data"], "type": "object", "properties": { "data": { - "type": "object", - "properties": { - "nextPage": { - "type": "string", - "example": "/api/bbps/billers?search=Aditya&CategoryCode=Loan+Repayment&CategoryCode=Insurance&after=ABCC00000PTNNS" + "allOf": [ + { + "type": "object", + "properties": { + "nextPage": { + "type": "string", + "example": "/api/bbps/transactions?search=Aditya&CategoryCode=Loan+Repayment&CategoryCode=Insurance&after=ABCC00000PTNNS" + } + } }, - "transactions": { - "type": "array", - "items": { - "allOf": [ - { - "type": "object", - "properties": { - "amount": { - "type": "integer" - }, - "bills": { - "type": "array", - "items": { - "required": ["amount", "billNumber"], - "type": "object", - "properties": { - "amount": { - "minimum": 1, - "type": "integer", - "description": "Amount in Paise" - }, - "billNumber": { - "type": "string", - "example": "B1234567" - } - }, - "x-omitempty": true - } - }, - "refId": { - "type": "string", - "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" - }, - "status": { - "type": "string", - "example": "Success", - "enum": [ - "Processing", - "Success", - "Error" - ] - }, - "biller": { - "required": [ - "categoryName", - "customerParams", - "exactness", - "fetchApiType", - "id", - "name", - "payWithoutFetchAllowed", - "paymentChannels", - "paymentModes", - "supportsPendingStatus" - ], + { + "type": "object", + "properties": { + "transactions": { + "type": "array", + "items": { + "allOf": [ + { "type": "object", "properties": { - "id": { + "customerId": { "type": "string", - "example": "ADIT00000NAT0T" + "description": "Customer Identifier", + "example": "4881317598" }, - "country": { + "refId": { "type": "string", - "example": "IND" + "description": "The generated BBPS Reference ID for the request.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" }, - "paymentChannels": { + "status": { + "type": "string", + "example": "Success", + "enum": [ + "Processing", + "Success", + "Error", + "Credit_Adjustment" + ] + }, + "amount": { + "type": "integer" + }, + "custConvFee": { + "type": "integer", + "description": "Customer convenience fee in paise" + }, + "customerParams": { "type": "array", + "description": "The bill params for fetching the bill", "items": { - "required": [ - "maxLimit", - "minLimit", - "paymentChannel", - "supportsPendingStatus" - ], + "required": ["name", "value"], "type": "object", "properties": { - "maxLimit": { - "type": "integer" - }, - "minLimit": { - "type": "integer" - }, - "paymentChannel": { + "name": { "type": "string", - "description": "This is the initiating channel.\n1. `AGT`: Offline agent.\n2. `BNKBRNCH`: Bank branch.\n3. `BSC`: Business correspondent\n4. `MOB`: Mobile application\n5. `INT`: Internet portal\n6. `INTB`: Internet banking\n7. `MOBB`: Mobile banking\n8. `ATM`: ATM\n9. `KIOSK`: KIOSK\n", - "example": "INT", - "enum": [ - "INT", - "INTB", - "MOB", - "BNKBRNCH", - "BSC", - "AGT", - "KIOSK", - "ATM", - "MOBB", - "POS", - "MPOS" - ] + "description": "The display name of the parameter. This has to match what is sent in fields.", + "example": "John Doe" }, - "supportsPendingStatus": { - "type": "boolean", - "example": false + "value": { + "type": "string", + "description": "The value of the customer parameter", + "example": "1895159" } } } }, - "responseType": { - "type": "string", - "nullable": true, - "example": "SINGLE", - "enum": [ - "SINGLE", - "LIST", - "SELECTIVE" + "etherealTransaction": { + "required": [ + "amount", + "billRefId", + "refId", + "status", + "transactionId" ], - "x-nullable": true, - "x-omitempty": false + "type": "object", + "properties": { + "amount": { + "type": "string", + "example": "100.00" + }, + "billRefId": { + "type": "string", + "description": "The BBPS Ref ID", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "refId": { + "type": "string", + "example": "COUWL910192192192192" + }, + "status": { + "type": "string", + "enum": [ + "INIT", + "SUCCESS", + "FAILURE", + "PENDING", + "UNKNOWN" + ] + }, + "transactionId": { + "type": "string", + "example": "Q910192192192192" + } + } }, - "selectionType": { + "refundStatus": { "type": "string", - "description": "Defined only for billers with response type as LIST. SINGLE: User can pay only one of the bills in bill fetch response. MULTIPLE: User can pay any combination of bills in bill fetch response. ALL: User has to pay all the bills in bill fetch response.", - "nullable": true, - "example": "SINGLE", "enum": [ - "SINGLE", - "MULTIPLE", - "ALL" - ], - "x-nullable": true, - "x-omitempty": false + "Required", + "Requested", + "Processed" + ] }, - "billerAdditionalInfo": { - "type": "array", - "items": { - "required": [ - "dataType", - "optional", - "paramName" - ], - "type": "object", - "properties": { - "dataType": { - "type": "string", - "example": "ALPHANUMERIC", - "enum": [ - "ALPHANUMERIC", - "NUMERIC" - ] - }, - "optional": { - "type": "boolean", - "example": false - }, - "paramName": { - "type": "string", - "example": "Package Duration" - } - } - } + "timestamp": { + "type": "string", + "description": "Timestamp provided by partner while making payment request.", + "format": "date-time", + "example": "2020-12-12T13:12:00+05:30" }, - "billerAdditionalInfoPayment": { - "type": "array", - "items": { - "required": [ - "dataType", - "optional", - "paramName" - ], - "type": "object", - "properties": { - "dataType": { - "type": "string", - "example": "ALPHANUMERIC", - "enum": [ - "ALPHANUMERIC", - "NUMERIC" - ] - }, - "optional": { - "type": "boolean", - "example": false - }, - "paramName": { - "type": "string", - "example": "Package Duration" - } - } - } - }, - "city": { - "type": "string", - "example": "Hyderabad" - }, - "enforcesSameDayFetchPay": { - "type": "boolean", - "example": true, - "x-omitempty": false - }, - "payWithoutFetchAllowed": { - "type": "boolean", - "example": true - }, - "supportsPendingStatus": { - "type": "boolean", - "example": false - }, - "tags": { - "type": "string", - "example": "tags" - }, - "modifiedAt": { - "type": "string", - "format": "date-time", - "nullable": true, - "example": "2021-11-12T13:37:04.572+05:30", - "x-omitempty": false - }, - "state": { - "type": "string", - "example": "TEL" - }, - "logo": { - "type": "string", - "example": "logo" - }, - "name": { + "transactionId": { "type": "string", - "example": "Aditya Birla Sun Life Insurance" + "description": "Setu BillPay Transaction ID.", + "example": "AS01910192192192192" }, - "coverage": { - "type": "string", - "example": "IND-TEL-Hyderabad" - }, - "customerParamsGroups": { - "type": "array", - "items": { - "type": "array", - "items": { + "biller": { + "required": [ + "categoryName", + "customerParams", + "exactness", + "fetchApiType", + "id", + "name", + "payWithoutFetchAllowed", + "paymentChannels", + "paymentModes", + "supportsPendingStatus" + ], + "type": "object", + "properties": { + "country": { "type": "string", - "example": "Param 1" - } - } - }, - "exactness": { - "type": "string", - "description": "Biller exactness", - "example": "Exact", - "enum": [ - "Exact", - "Exact and above", - "Exact and below", - "Any", - "RANGE" - ] - }, - "fetchApiType": { - "type": "string", - "example": "BILL_FETCH", - "enum": [ - "BILL_FETCH", - "BILL_VALIDATE", - "BILL_DIRECT" - ] - }, - "subCategoryName": { - "type": "string", - "example": "DAIRY" - }, - "bbpsUpdateTimestamp": { - "type": "string", - "description": "Last updated date-time of the Biller accurate to the nearest day.", - "format": "date-time", - "nullable": true, - "example": "2021-11-12T13:37:04.572+05:30", - "x-omitempty": true - }, - "plans": { - "type": "array", - "items": { - "required": [ - "amount", - "categoryType", - "description", - "id", - "status" - ], - "type": "object", - "properties": { - "additionalInfo": { - "minItems": 1, - "type": "array", - "description": "Plan Additional information details provided by the Biller.", - "example": [ - { - "paramName": "Mobile Number", - "paramValue": "Text" + "example": "IND" + }, + "modifiedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "example": "2021-11-12T13:37:04.572+05:30", + "x-omitempty": false + }, + "responseType": { + "type": "string", + "nullable": true, + "example": "SINGLE", + "enum": [ + "SINGLE", + "LIST", + "SELECTIVE" + ], + "x-nullable": true, + "x-omitempty": false + }, + "subCategoryName": { + "type": "string", + "example": "DAIRY" + }, + "coverage": { + "type": "string", + "example": "IND-TEL-Hyderabad" + }, + "interchangeFee": { + "type": "array", + "items": { + "type": "object", + "properties": { + "feeCode": { + "type": "string", + "example": "CCF1" + }, + "feeDesc": { + "type": "string", + "example": "Customer Convenience Fee" + }, + "feeDirection": { + "type": "string", + "example": "C2B" + }, + "interchangeFeeDetails": { + "required": [ + "effctvFrom", + "effctvTo", + "flatFee", + "percentFee", + "tranAmtRangeMax", + "tranAmtRangeMin" + ], + "type": "object", + "properties": { + "percentFee": { + "type": "number", + "format": "decimal", + "example": 1.0 + }, + "tranAmtRangeMax": { + "type": "integer", + "format": "int64" + }, + "tranAmtRangeMin": { + "type": "integer", + "format": "int64" + }, + "effctvFrom": { + "type": "string", + "example": "2024-01-01" + }, + "effctvTo": { + "type": "string", + "example": "2024-12-31" + }, + "flatFee": { + "type": "number", + "format": "decimal", + "example": 0.0 + } + } } + } + } + }, + "selectionType": { + "type": "string", + "description": "Defined only for billers with response type as LIST. SINGLE: User can pay only one of the bills in bill fetch response. MULTIPLE: User can pay any combination of bills in bill fetch response. ALL: User has to pay all the bills in bill fetch response.", + "nullable": true, + "example": "SINGLE", + "enum": [ + "SINGLE", + "MULTIPLE", + "ALL" + ], + "x-omitempty": false, + "x-nullable": true + }, + "pincode": { + "type": "string", + "example": "pincode" + }, + "supportsPendingStatus": { + "type": "boolean", + "description": "Flag indicating whether pending status is applicable for the biller or not", + "example": false + }, + "tags": { + "type": "string", + "example": "tags" + }, + "billerAdditionalInfoPayment": { + "type": "array", + "items": { + "required": [ + "dataType", + "optional", + "paramName" ], + "type": "object", + "properties": { + "dataType": { + "type": "string", + "example": "ALPHANUMERIC", + "enum": [ + "ALPHANUMERIC", + "NUMERIC" + ] + }, + "optional": { + "type": "boolean", + "example": false + }, + "paramName": { + "type": "string", + "example": "Package Duration" + } + } + } + }, + "customerParams": { + "type": "array", + "items": { + "required": [ + "dataType", + "maxLength", + "minLength", + "optional", + "paramName", + "regex", + "values", + "visibility" + ], + "type": "object", + "properties": { + "paramName": { + "type": "string", + "example": "Loan Account Number" + }, + "regex": { + "type": "string", + "example": "^[a-zA-Z0-9]{7,15}" + }, + "values": { + "type": "string" + }, + "visibility": { + "type": "boolean", + "example": true + }, + "dataType": { + "type": "string", + "example": "ALPHANUMERIC" + }, + "maxLength": { + "type": "integer" + }, + "minLength": { + "type": "integer" + }, + "optional": { + "type": "boolean", + "example": false + } + } + } + }, + "customerParamsGroups": { + "type": "array", + "items": { + "type": "array", "items": { - "type": "object", - "properties": { - "paramName": { - "type": "string", - "example": "Plan Additional information parameter name." - }, - "paramValue": { - "type": "string", - "example": "Plan Additional information parameter value." - } + "type": "string", + "example": "Param 1" + } + } + }, + "id": { + "type": "string", + "description": "Identifier of the biller in BBPS.", + "example": "ADIT00000NAT0T" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "example": "2021-11-12T13:37:04.572+05:30", + "x-omitempty": false + }, + "exactness": { + "type": "string", + "example": "Exact", + "enum": [ + "Exact", + "Exact and above", + "Exact and below", + "Any", + "RANGE" + ] + }, + "fetchApiType": { + "type": "string", + "enum": [ + "BILL_FETCH", + "BILL_VALIDATE", + "BILL_DIRECT" + ] + }, + "bbpsUpdateTimestamp": { + "type": "string", + "description": "Last updated date-time of the Biller accurate to the nearest day.", + "format": "date-time", + "nullable": true, + "example": "2021-11-12T13:37:04.572+05:30", + "x-omitempty": true + }, + "logo": { + "type": "string", + "example": "logo" + }, + "plans": { + "type": "array", + "nullable": true, + "items": { + "required": [ + "amount", + "categoryType", + "description", + "id", + "status" + ], + "type": "object", + "properties": { + "effectiveTo": { + "type": "string", + "description": "Effective to date of corresponding Plan.", + "format": "date", + "nullable": true, + "example": "2020-08-21", + "x-omitempty": false }, - "example": { - "paramName": "Mobile Number", - "paramValue": "Text" + "amount": { + "type": "string", + "example": "22.0" }, - "x-go-name": "PlanAdditionalInfoItem" - }, - "x-omitempty": true - }, - "amount": { - "type": "string", - "example": "22.0" - }, - "description": { - "type": "string", - "description": "Plan description as defined by the Biller.", - "example": "Unlimited Live Sports" - }, - "effectiveFrom": { - "type": "string", - "description": "Effective from date of corresponding Plan.", - "format": "date", - "nullable": true, - "example": "2017-07-21", - "x-omitempty": false - }, - "id": { - "type": "string", - "description": "Plan ID", - "example": "1.0" - }, - "status": { - "type": "string", - "description": "Effective to date of corresponding Plan.", - "example": "ACTIVE", - "enum": [ - "ACTIVE", - "DEACTIVATED" - ] + "effectiveFrom": { + "type": "string", + "description": "Effective from date of corresponding Plan.", + "format": "date", + "nullable": true, + "example": "2017-07-21", + "x-omitempty": false + }, + "categoryType": { + "type": "string", + "description": "Plan category as defined by the Biller.", + "example": "VIP" + }, + "description": { + "type": "string", + "description": "Plan description as defined by the Biller.", + "example": "Unlimited Live Sports" + }, + "id": { + "type": "string", + "description": "Plan ID", + "example": "1.0" + }, + "status": { + "type": "string", + "description": "Effective to date of corresponding Plan.", + "example": "ACTIVE", + "enum": [ + "ACTIVE", + "DEACTIVATED" + ] + }, + "additionalInfo": { + "minItems": 1, + "type": "array", + "description": "Plan Additional information details provided by the Biller.", + "example": [ + { + "paramName": "Mobile Number", + "paramValue": "Text" + } + ], + "items": { + "type": "object", + "properties": { + "paramName": { + "type": "string", + "example": "Plan Additional information parameter name." + }, + "paramValue": { + "type": "string", + "example": "Plan Additional information parameter value." + } + }, + "example": { + "paramName": "Mobile Number", + "paramValue": "Text" + }, + "x-go-name": "PlanAdditionalInfoItem" + }, + "x-omitempty": true + }, + "categorySubType": { + "type": "object", + "properties": {}, + "description": "Plan sub category as defined by the Biller.", + "example": { + "subType": "1 Month" + }, + "x-omitempty": true + } + } }, - "categorySubType": { + "x-omitempty": true + }, + "paymentModes": { + "type": "array", + "items": { + "required": [ + "maxLimit", + "minLimit", + "paymentMode", + "supportsPendingStatus" + ], "type": "object", - "properties": {}, - "description": "Plan sub category as defined by the Biller.", - "example": { - "subType": "1 Month" - }, - "x-omitempty": true - }, - "categoryType": { - "type": "string", - "description": "Plan category as defined by the Biller.", - "example": "VIP" - }, - "effectiveTo": { - "type": "string", - "description": "Effective to date of corresponding Plan.", - "format": "date", - "nullable": true, - "example": "2020-08-21", - "x-omitempty": false + "properties": { + "maxLimit": { + "type": "integer" + }, + "minLimit": { + "type": "integer" + }, + "paymentMode": { + "type": "string", + "example": "Internet Banking", + "enum": [ + "Internet Banking", + "Debit Card", + "Credit Card", + "Prepaid Card", + "IMPS", + "Cash", + "UPI", + "Wallet", + "NEFT", + "AEPS", + "Account Transfer", + "Bharat QR", + "USSD" + ] + }, + "supportsPendingStatus": { + "type": "boolean", + "example": false + } + } } - } - } - }, - "categoryName": { - "type": "string", - "example": "loan-repayment" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "nullable": true, - "example": "2021-11-12T13:37:04.572+05:30", - "x-omitempty": false - }, - "customerParams": { - "type": "array", - "items": { - "required": [ - "dataType", - "maxLength", - "minLength", - "optional", - "paramName", - "regex", - "values", - "visibility" - ], - "type": "object", - "properties": { - "regex": { - "type": "string", - "example": "^[a-zA-Z0-9]{7,15}" - }, - "values": { - "type": "string" - }, - "visibility": { - "type": "boolean", - "example": true - }, - "dataType": { - "type": "string", - "example": "ALPHANUMERIC" - }, - "maxLength": { - "type": "integer" - }, - "minLength": { - "type": "integer" - }, - "optional": { - "type": "boolean", - "example": false - }, - "paramName": { - "type": "string", - "example": "Loan Account Number" + }, + "categoryName": { + "type": "string", + "description": "Biller Category", + "example": "loan-repayment" + }, + "city": { + "type": "string", + "example": "Hyderabad" + }, + "enforcesSameDayFetchPay": { + "type": "boolean", + "example": true, + "x-omitempty": false + }, + "name": { + "type": "string", + "description": "Name of the biller.", + "example": "John Doe" + }, + "billerAdditionalInfo": { + "type": "array", + "items": { + "required": [ + "dataType", + "optional", + "paramName" + ], + "type": "object", + "properties": { + "dataType": { + "type": "string", + "example": "ALPHANUMERIC", + "enum": [ + "ALPHANUMERIC", + "NUMERIC" + ] + }, + "optional": { + "type": "boolean", + "example": false + }, + "paramName": { + "type": "string", + "example": "Package Duration" + } + } } - } - } - }, - "paymentModes": { - "type": "array", - "items": { - "required": [ - "maxLimit", - "minLimit", - "paymentMode", - "supportsPendingStatus" - ], - "type": "object", - "properties": { - "maxLimit": { - "type": "integer" - }, - "minLimit": { - "type": "integer" - }, - "paymentMode": { - "type": "string", - "example": "Internet Banking", - "enum": [ - "Internet Banking", - "Debit Card", - "Credit Card", - "Prepaid Card", - "IMPS", - "Cash", - "UPI", - "Wallet", - "NEFT", - "AEPS", - "Account Transfer", - "Bharat QR", - "USSD" - ] - }, - "supportsPendingStatus": { - "type": "boolean", - "example": false + }, + "payWithoutFetchAllowed": { + "type": "boolean", + "description": "Flag indicating if the Biller accepts adhoc payment", + "example": true + }, + "paymentChannels": { + "type": "array", + "items": { + "required": [ + "maxLimit", + "minLimit", + "paymentChannel", + "supportsPendingStatus" + ], + "type": "object", + "properties": { + "paymentChannel": { + "type": "string", + "description": "This is the initiating channel.\n1. `AGT`: Offline agent.\n2. `BNKBRNCH`: Bank branch.\n3. `BSC`: Business correspondent\n4. `MOB`: Mobile application\n5. `INT`: Internet portal\n6. `INTB`: Internet banking\n7. `MOBB`: Mobile banking\n8. `ATM`: ATM\n9. `KIOSK`: KIOSK\n", + "example": "INT", + "enum": [ + "INT", + "INTB", + "MOB", + "BNKBRNCH", + "BSC", + "AGT", + "KIOSK", + "ATM", + "MOBB", + "POS", + "MPOS" + ] + }, + "supportsPendingStatus": { + "type": "boolean", + "example": false + }, + "maxLimit": { + "type": "integer" + }, + "minLimit": { + "type": "integer" + } + } } + }, + "state": { + "type": "string", + "example": "TEL" } - } + }, + "x-go-name": "CouBillerDetails" }, - "pincode": { + "billerId": { "type": "string", - "example": "pincode" - } - }, - "x-go-name": "CouBillerDetails" - }, - "billerId": { - "type": "string", - "description": "The biller ID on BBPS", - "example": "MAHI00000NATIC" - }, - "customerParams": { - "type": "array", - "description": "The bill params for fetching the bill", - "items": { - "required": ["name", "value"], - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The display name of the parameter. This has to match what is sent in fields.", - "example": "Loan Number" - }, - "value": { - "type": "string", - "description": "The value of the customer parameter", - "example": "1895159" - } + "description": "The biller ID on BBPS", + "example": "BBPSDUMMY001" } } }, - "timestamp": { - "type": "string", - "description": "Timestamp provided by partner while making payment request.", - "format": "date-time", - "example": "2020-12-12T13:12:00+05:30" - }, - "transactionId": { - "type": "string", - "description": "Setu BillPay Transaction ID.", - "example": "AX30910192192192192" - } - } - }, - { - "type": "object", - "properties": { - "customerMobileNumber": { - "maxLength": 20, - "minLength": 6, - "pattern": "^\\d{6}(\\d{4}(\\d{10})?)?$", - "type": "string", - "description": "Mobile number with 6, 10 and 20 digits are valid.", - "example": "9481773053" - }, - "partnerRefId": { - "type": "string", - "description": "Agent's payment reference ID" - }, - "refundStatus": { - "type": "string", - "example": "Required", - "enum": [ - "Required", - "Requested", - "Processed" - ] + { + "type": "object", + "properties": { + "customerMobileNumber": { + "maxLength": 22, + "minLength": 6, + "pattern": "^\\d{6,22}$", + "type": "string", + "description": "Mobile number with 6 to 22 digits are valid." + }, + "partnerRefId": { + "maxLength": 35, + "minLength": 6, + "type": "string", + "description": "Unique identifier provided by Partner for the payment request.", + "example": "BD019181220291" + } + } } - } + ] } - ] + } } } - } + ] } } } - ] + ], + "x-go-name": "TransactionsResponseV1" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } } } } @@ -3399,12 +3599,11 @@ "get": { "tags": ["List"], "description": "Returns the list of billers.", - "operationId": "getBillers", "parameters": [ { "name": "X-PARTNER-ID", "in": "header", - "description": "Partner ID", + "description": "The Partner ID provided by Setu.", "required": true, "schema": { "type": "integer" @@ -3413,6 +3612,7 @@ { "name": "categoryName", "in": "query", + "description": "Biller category. The query parameter follows a multi instance format. Usage: categoryName=category1&categoryName=category2", "style": "form", "explode": true, "schema": { @@ -3619,6 +3819,10 @@ "required": ["billers"], "type": "object", "properties": { + "nextPage": { + "type": "string", + "example": "/api/bbps/billers?search=Aditya&CategoryCode=Loan+Repayment&CategoryCode=Insurance&after=ABCC00000PTNNS" + }, "total": { "type": "integer" }, @@ -3639,55 +3843,16 @@ ], "type": "object", "properties": { - "id": { - "type": "string", - "example": "ADIT00000NAT0T" - }, "country": { "type": "string", "example": "IND" }, - "paymentChannels": { - "type": "array", - "items": { - "required": [ - "maxLimit", - "minLimit", - "paymentChannel", - "supportsPendingStatus" - ], - "type": "object", - "properties": { - "maxLimit": { - "type": "integer" - }, - "minLimit": { - "type": "integer" - }, - "paymentChannel": { - "type": "string", - "description": "This is the initiating channel.\n1. `AGT`: Offline agent.\n2. `BNKBRNCH`: Bank branch.\n3. `BSC`: Business correspondent\n4. `MOB`: Mobile application\n5. `INT`: Internet portal\n6. `INTB`: Internet banking\n7. `MOBB`: Mobile banking\n8. `ATM`: ATM\n9. `KIOSK`: KIOSK\n", - "example": "INT", - "enum": [ - "INT", - "INTB", - "MOB", - "BNKBRNCH", - "BSC", - "AGT", - "KIOSK", - "ATM", - "MOBB", - "POS", - "MPOS" - ] - }, - "supportsPendingStatus": { - "type": "boolean", - "example": false - } - } - } + "modifiedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "example": "2021-11-12T13:37:04.572+05:30", + "x-omitempty": false }, "responseType": { "type": "string", @@ -3697,164 +3862,120 @@ "x-nullable": true, "x-omitempty": false }, - "selectionType": { + "subCategoryName": { "type": "string", - "description": "Defined only for billers with response type as LIST. SINGLE: User can pay only one of the bills in bill fetch response. MULTIPLE: User can pay any combination of bills in bill fetch response. ALL: User has to pay all the bills in bill fetch response.", - "nullable": true, - "example": "SINGLE", - "enum": ["SINGLE", "MULTIPLE", "ALL"], - "x-nullable": true, - "x-omitempty": false + "example": "DAIRY" }, - "billerAdditionalInfo": { - "type": "array", - "items": { - "required": [ - "dataType", - "optional", - "paramName" - ], - "type": "object", - "properties": { - "dataType": { - "type": "string", - "example": "ALPHANUMERIC", - "enum": ["ALPHANUMERIC", "NUMERIC"] - }, - "optional": { - "type": "boolean", - "example": false - }, - "paramName": { - "type": "string", - "example": "Package Duration" - } - } - } + "coverage": { + "type": "string", + "example": "IND-TEL-Hyderabad" }, - "billerAdditionalInfoPayment": { + "interchangeFee": { "type": "array", "items": { - "required": [ - "dataType", - "optional", - "paramName" - ], "type": "object", "properties": { - "dataType": { + "feeCode": { "type": "string", - "example": "ALPHANUMERIC", - "enum": ["ALPHANUMERIC", "NUMERIC"] + "example": "CCF1" }, - "optional": { - "type": "boolean", - "example": false + "feeDesc": { + "type": "string", + "example": "Customer Convenience Fee" }, - "paramName": { + "feeDirection": { "type": "string", - "example": "Package Duration" + "example": "C2B" + }, + "interchangeFeeDetails": { + "required": [ + "effctvFrom", + "effctvTo", + "flatFee", + "percentFee", + "tranAmtRangeMax", + "tranAmtRangeMin" + ], + "type": "object", + "properties": { + "percentFee": { + "type": "number", + "format": "decimal", + "example": 1.0 + }, + "tranAmtRangeMax": { + "type": "integer", + "format": "int64" + }, + "tranAmtRangeMin": { + "type": "integer", + "format": "int64" + }, + "effctvFrom": { + "type": "string", + "example": "2024-01-01" + }, + "effctvTo": { + "type": "string", + "example": "2024-12-31" + }, + "flatFee": { + "type": "number", + "format": "decimal", + "example": 0.0 + } + } } } } }, - "city": { + "selectionType": { "type": "string", - "example": "Hyderabad" - }, - "enforcesSameDayFetchPay": { - "type": "boolean", - "example": true, - "x-omitempty": false + "description": "Defined only for billers with response type as LIST. SINGLE: User can pay only one of the bills in bill fetch response. MULTIPLE: User can pay any combination of bills in bill fetch response. ALL: User has to pay all the bills in bill fetch response.", + "nullable": true, + "example": "SINGLE", + "enum": ["SINGLE", "MULTIPLE", "ALL"], + "x-omitempty": false, + "x-nullable": true }, - "payWithoutFetchAllowed": { - "type": "boolean", - "example": true + "pincode": { + "type": "string", + "example": "pincode" }, "supportsPendingStatus": { "type": "boolean", + "description": "Flag indicating whether pending status is applicable for the biller or not", "example": false }, "tags": { "type": "string", "example": "tags" }, - "modifiedAt": { - "type": "string", - "format": "date-time", - "nullable": true, - "example": "2021-11-12T13:37:04.572+05:30", - "x-omitempty": false - }, - "state": { - "type": "string", - "example": "TEL" - }, - "logo": { - "type": "string", - "example": "logo" - }, - "name": { - "type": "string", - "example": "Aditya Birla Sun Life Insurance" - }, - "coverage": { - "type": "string", - "example": "IND-TEL-Hyderabad" - }, - "customerParamsGroups": { + "billerAdditionalInfoPayment": { "type": "array", "items": { - "type": "array", - "items": { - "type": "string", - "example": "Param 1" - } - } - }, - "exactness": { - "type": "string", - "description": "Biller exactness", - "example": "Exact", - "enum": [ - "Exact", - "Exact and above", - "Exact and below", - "Any", - "RANGE" - ] - }, - "fetchApiType": { - "type": "string", - "example": "BILL_FETCH", - "enum": [ - "BILL_FETCH", - "BILL_VALIDATE", - "BILL_DIRECT" - ] - }, - "subCategoryName": { - "type": "string", - "example": "DAIRY" - }, - "bbpsUpdateTimestamp": { - "type": "string", - "description": "Last updated date-time of the Biller accurate to the nearest day.", - "format": "date-time", - "nullable": true, - "example": "2021-11-12T13:37:04.572+05:30", - "x-omitempty": true - }, - "categoryName": { - "type": "string", - "example": "loan-repayment" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "nullable": true, - "example": "2021-11-12T13:37:04.572+05:30", - "x-omitempty": false + "required": [ + "dataType", + "optional", + "paramName" + ], + "type": "object", + "properties": { + "dataType": { + "type": "string", + "example": "ALPHANUMERIC", + "enum": ["ALPHANUMERIC", "NUMERIC"] + }, + "optional": { + "type": "boolean", + "example": false + }, + "paramName": { + "type": "string", + "example": "Package Duration" + } + } + } }, "customerParams": { "type": "array", @@ -3871,6 +3992,10 @@ ], "type": "object", "properties": { + "paramName": { + "type": "string", + "example": "Loan Account Number" + }, "regex": { "type": "string", "example": "^[a-zA-Z0-9]{7,15}" @@ -3895,14 +4020,63 @@ "optional": { "type": "boolean", "example": false - }, - "paramName": { - "type": "string", - "example": "Loan Account Number" } } } }, + "customerParamsGroups": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "example": "Param 1" + } + } + }, + "id": { + "type": "string", + "description": "Identifier of the biller in BBPS.", + "example": "ADIT00000NAT0T" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "example": "2021-11-12T13:37:04.572+05:30", + "x-omitempty": false + }, + "exactness": { + "type": "string", + "example": "Exact", + "enum": [ + "Exact", + "Exact and above", + "Exact and below", + "Any", + "RANGE" + ] + }, + "fetchApiType": { + "type": "string", + "enum": [ + "BILL_FETCH", + "BILL_VALIDATE", + "BILL_DIRECT" + ] + }, + "bbpsUpdateTimestamp": { + "type": "string", + "description": "Last updated date-time of the Biller accurate to the nearest day.", + "format": "date-time", + "nullable": true, + "example": "2021-11-12T13:37:04.572+05:30", + "x-omitempty": true + }, + "logo": { + "type": "string", + "example": "logo" + }, "paymentModes": { "type": "array", "items": { @@ -3946,17 +4120,305 @@ } } }, - "pincode": { + "categoryName": { + "type": "string", + "description": "Biller Category", + "example": "loan-repayment" + }, + "city": { + "type": "string", + "example": "Hyderabad" + }, + "enforcesSameDayFetchPay": { + "type": "boolean", + "example": true, + "x-omitempty": false + }, + "name": { + "type": "string", + "description": "Name of the biller.", + "example": "John Doe" + }, + "billerAdditionalInfo": { + "type": "array", + "items": { + "required": [ + "dataType", + "optional", + "paramName" + ], + "type": "object", + "properties": { + "dataType": { + "type": "string", + "example": "ALPHANUMERIC", + "enum": ["ALPHANUMERIC", "NUMERIC"] + }, + "optional": { + "type": "boolean", + "example": false + }, + "paramName": { + "type": "string", + "example": "Package Duration" + } + } + } + }, + "payWithoutFetchAllowed": { + "type": "boolean", + "description": "Flag indicating if the Biller accepts adhoc payment", + "example": true + }, + "paymentChannels": { + "type": "array", + "items": { + "required": [ + "maxLimit", + "minLimit", + "paymentChannel", + "supportsPendingStatus" + ], + "type": "object", + "properties": { + "paymentChannel": { + "type": "string", + "description": "This is the initiating channel.\n1. `AGT`: Offline agent.\n2. `BNKBRNCH`: Bank branch.\n3. `BSC`: Business correspondent\n4. `MOB`: Mobile application\n5. `INT`: Internet portal\n6. `INTB`: Internet banking\n7. `MOBB`: Mobile banking\n8. `ATM`: ATM\n9. `KIOSK`: KIOSK\n", + "example": "INT", + "enum": [ + "INT", + "INTB", + "MOB", + "BNKBRNCH", + "BSC", + "AGT", + "KIOSK", + "ATM", + "MOBB", + "POS", + "MPOS" + ] + }, + "supportsPendingStatus": { + "type": "boolean", + "example": false + }, + "maxLimit": { + "type": "integer" + }, + "minLimit": { + "type": "integer" + } + } + } + }, + "state": { + "type": "string", + "example": "TEL" + } + }, + "x-go-name": "CouBillerDetails" + } + } + } + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": true + }, + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [ + { + "Production": ["bbps:partner"] + }, + { + "Sandbox": ["bbps:partner"] + }, + { + "QA": ["bbps:partner"] + } + ] + } + }, + "/api/v1/bbps/categories": { + "get": { + "tags": ["List"], + "description": "Returns the list of categories.", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "The Partner ID provided by Setu.", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "List of categories", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["success", "traceId"], + "type": "object", + "properties": { + "data": { + "required": ["categories"], + "type": "object", + "properties": { + "categories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "billerCount": { + "type": "integer" + }, + "name": { "type": "string", - "example": "pincode" + "example": "John Doe" } - }, - "x-go-name": "CouBillerDetails" + } } - }, - "nextPage": { - "type": "string", - "example": "/api/bbps/billers?search=Aditya&CategoryCode=Loan+Repayment&CategoryCode=Insurance&after=ABCC00000PTNNS" } } }, @@ -3966,11 +4428,11 @@ "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, @@ -3995,27 +4457,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -4030,27 +4492,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -4075,12 +4537,11 @@ "get": { "tags": ["List"], "description": "Returns the list of disputes.", - "operationId": "getDisputes", "parameters": [ { "name": "X-PARTNER-ID", "in": "header", - "description": "Partner ID", + "description": "The Partner ID provided by Setu.", "required": true, "schema": { "type": "integer" @@ -4092,7 +4553,6 @@ "style": "form", "explode": false, "schema": { - "uniqueItems": true, "type": "array", "items": { "type": "string", @@ -4143,8 +4603,7 @@ "type": "array", "items": { "type": "string", - "format": "date", - "example": "2022-07-19" + "format": "date" } } }, @@ -4156,13 +4615,21 @@ } }, { - "name": "mobile", + "name": "customerMobileNumber", "in": "query", - "description": "Mobile number with 6, 10 and 20 digits are valid.", + "description": "Mobile number with 6 to 22 digits are valid.", "schema": { - "maxLength": 20, + "maxLength": 22, "minLength": 6, - "pattern": "^\\d{6}(\\d{4}(\\d{10})?)?$", + "pattern": "^\\d{6,22}$", + "type": "string" + } + }, + { + "name": "customerId", + "in": "query", + "description": "Customer Identifier", + "schema": { "type": "string" } }, @@ -4173,7 +4640,6 @@ "style": "form", "explode": false, "schema": { - "uniqueItems": true, "type": "array", "items": { "type": "string" @@ -4187,9 +4653,10 @@ "style": "form", "explode": false, "schema": { - "uniqueItems": true, "type": "array", "items": { + "maxLength": 35, + "minLength": 6, "type": "string" } } @@ -4201,7 +4668,6 @@ "style": "form", "explode": false, "schema": { - "uniqueItems": true, "type": "array", "items": { "type": "string" @@ -4218,7 +4684,6 @@ "type": "array", "items": { "type": "string", - "example": "BILLER", "enum": ["BILLER", "TRANSACTION"] } } @@ -4293,15 +4758,9 @@ "type": "object", "properties": { "data": { + "required": ["disputes"], "type": "object", "properties": { - "nextPage": { - "type": "string", - "example": "/api/bbps/billers?search=Aditya&CategoryCode=Loan+Repayment&CategoryCode=Insurance&after=ABCC00000PTNNS" - }, - "total": { - "type": "integer" - }, "disputes": { "type": "array", "items": { @@ -4309,70 +4768,90 @@ { "type": "object", "properties": { + "lastModifiedAt": { + "type": "string", + "description": "Dispute's last modified timestamp", + "format": "date-time", + "example": "2020-12-12T13:12:00+05:30" + }, + "refId": { + "type": "string", + "description": "The generated BBPS Reference ID for the request.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + }, + "responseCode": { + "type": "string", + "example": "ADIT00000NATRA" + }, + "transactionId": { + "type": "string", + "description": "Setu BillPay Transaction ID.", + "example": "AS01910192192192192" + }, + "assigned": { + "type": "string", + "example": "ADIT00000NATRA" + }, + "complaintStatus": { + "type": "string", + "description": "BBPS Complaint status", + "example": "ASSIGNED", + "enum": [ + "INITIALIZED", + "ASSIGNED", + "RE_ASSIGNED", + "ASSIGNED_TO_BOU", + "ASSIGNED_TO_COU", + "ASSIGNED_TO_OU", + "ESCALATED", + "RESOLVED", + "UNRESOLVED" + ] + }, + "createdAt": { + "type": "string", + "description": "Dispute's creation timestamp", + "format": "date-time", + "example": "2020-12-12T13:12:00+05:30" + }, + "customerId": { + "type": "string", + "description": "Customer Identifier", + "example": "4881317598" + }, + "remarks": { + "type": "string", + "example": "ADIT00000NATRA" + }, + "responseReason": { + "type": "string", + "example": "ADIT00000NATRA" + }, "biller": { "required": [ "categoryName", - "customerParams", - "exactness", - "fetchApiType", - "id", - "name", - "payWithoutFetchAllowed", - "paymentChannels", - "paymentModes", - "supportsPendingStatus" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "example": "ADIT00000NAT0T" - }, - "country": { - "type": "string", - "example": "IND" - }, - "paymentChannels": { - "type": "array", - "items": { - "required": [ - "maxLimit", - "minLimit", - "paymentChannel", - "supportsPendingStatus" - ], - "type": "object", - "properties": { - "maxLimit": { - "type": "integer" - }, - "minLimit": { - "type": "integer" - }, - "paymentChannel": { - "type": "string", - "description": "This is the initiating channel.\n1. `AGT`: Offline agent.\n2. `BNKBRNCH`: Bank branch.\n3. `BSC`: Business correspondent\n4. `MOB`: Mobile application\n5. `INT`: Internet portal\n6. `INTB`: Internet banking\n7. `MOBB`: Mobile banking\n8. `ATM`: ATM\n9. `KIOSK`: KIOSK\n", - "example": "INT", - "enum": [ - "INT", - "INTB", - "MOB", - "BNKBRNCH", - "BSC", - "AGT", - "KIOSK", - "ATM", - "MOBB", - "POS", - "MPOS" - ] - }, - "supportsPendingStatus": { - "type": "boolean", - "example": false - } - } - } + "customerParams", + "exactness", + "fetchApiType", + "id", + "name", + "payWithoutFetchAllowed", + "paymentChannels", + "paymentModes", + "supportsPendingStatus" + ], + "type": "object", + "properties": { + "country": { + "type": "string", + "example": "IND" + }, + "modifiedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "example": "2021-11-12T13:37:04.572+05:30", + "x-omitempty": false }, "responseType": { "type": "string", @@ -4386,6 +4865,73 @@ "x-nullable": true, "x-omitempty": false }, + "subCategoryName": { + "type": "string", + "example": "DAIRY" + }, + "coverage": { + "type": "string", + "example": "IND-TEL-Hyderabad" + }, + "interchangeFee": { + "type": "array", + "items": { + "type": "object", + "properties": { + "feeCode": { + "type": "string", + "example": "CCF1" + }, + "feeDesc": { + "type": "string", + "example": "Customer Convenience Fee" + }, + "feeDirection": { + "type": "string", + "example": "C2B" + }, + "interchangeFeeDetails": { + "required": [ + "effctvFrom", + "effctvTo", + "flatFee", + "percentFee", + "tranAmtRangeMax", + "tranAmtRangeMin" + ], + "type": "object", + "properties": { + "percentFee": { + "type": "number", + "format": "decimal", + "example": 1.0 + }, + "tranAmtRangeMax": { + "type": "integer", + "format": "int64" + }, + "tranAmtRangeMin": { + "type": "integer", + "format": "int64" + }, + "effctvFrom": { + "type": "string", + "example": "2024-01-01" + }, + "effctvTo": { + "type": "string", + "example": "2024-12-31" + }, + "flatFee": { + "type": "number", + "format": "decimal", + "example": 0.0 + } + } + } + } + } + }, "selectionType": { "type": "string", "description": "Defined only for billers with response type as LIST. SINGLE: User can pay only one of the bills in bill fetch response. MULTIPLE: User can pay any combination of bills in bill fetch response. ALL: User has to pay all the bills in bill fetch response.", @@ -4396,10 +4942,23 @@ "MULTIPLE", "ALL" ], - "x-nullable": true, - "x-omitempty": false + "x-omitempty": false, + "x-nullable": true }, - "billerAdditionalInfo": { + "pincode": { + "type": "string", + "example": "pincode" + }, + "supportsPendingStatus": { + "type": "boolean", + "description": "Flag indicating whether pending status is applicable for the biller or not", + "example": false + }, + "tags": { + "type": "string", + "example": "tags" + }, + "billerAdditionalInfoPayment": { "type": "array", "items": { "required": [ @@ -4428,79 +4987,53 @@ } } }, - "billerAdditionalInfoPayment": { + "customerParams": { "type": "array", "items": { "required": [ "dataType", + "maxLength", + "minLength", "optional", - "paramName" + "paramName", + "regex", + "values", + "visibility" ], "type": "object", "properties": { + "paramName": { + "type": "string", + "example": "Loan Account Number" + }, + "regex": { + "type": "string", + "example": "^[a-zA-Z0-9]{7,15}" + }, + "values": { + "type": "string" + }, + "visibility": { + "type": "boolean", + "example": true + }, "dataType": { "type": "string", - "example": "ALPHANUMERIC", - "enum": [ - "ALPHANUMERIC", - "NUMERIC" - ] + "example": "ALPHANUMERIC" + }, + "maxLength": { + "type": "integer" + }, + "minLength": { + "type": "integer" }, "optional": { "type": "boolean", "example": false - }, - "paramName": { - "type": "string", - "example": "Package Duration" } } } }, - "city": { - "type": "string", - "example": "Hyderabad" - }, - "enforcesSameDayFetchPay": { - "type": "boolean", - "example": true, - "x-omitempty": false - }, - "payWithoutFetchAllowed": { - "type": "boolean", - "example": true - }, - "supportsPendingStatus": { - "type": "boolean", - "example": false - }, - "tags": { - "type": "string", - "example": "tags" - }, - "modifiedAt": { - "type": "string", - "format": "date-time", - "nullable": true, - "example": "2021-11-12T13:37:04.572+05:30", - "x-omitempty": false - }, - "state": { - "type": "string", - "example": "TEL" - }, - "logo": { - "type": "string", - "example": "logo" - }, - "name": { - "type": "string", - "example": "Aditya Birla Sun Life Insurance" - }, - "coverage": { - "type": "string", - "example": "IND-TEL-Hyderabad" - }, "customerParamsGroups": { "type": "array", "items": { @@ -4511,9 +5044,20 @@ } } }, + "id": { + "type": "string", + "description": "Identifier of the biller in BBPS.", + "example": "ADIT00000NAT0T" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "example": "2021-11-12T13:37:04.572+05:30", + "x-omitempty": false + }, "exactness": { "type": "string", - "description": "Biller exactness", "example": "Exact", "enum": [ "Exact", @@ -4525,17 +5069,12 @@ }, "fetchApiType": { "type": "string", - "example": "BILL_FETCH", "enum": [ "BILL_FETCH", "BILL_VALIDATE", "BILL_DIRECT" ] }, - "subCategoryName": { - "type": "string", - "example": "DAIRY" - }, "bbpsUpdateTimestamp": { "type": "string", "description": "Last updated date-time of the Biller accurate to the nearest day.", @@ -4544,52 +5083,89 @@ "example": "2021-11-12T13:37:04.572+05:30", "x-omitempty": true }, + "logo": { + "type": "string", + "example": "logo" + }, + "paymentModes": { + "type": "array", + "items": { + "required": [ + "maxLimit", + "minLimit", + "paymentMode", + "supportsPendingStatus" + ], + "type": "object", + "properties": { + "maxLimit": { + "type": "integer" + }, + "minLimit": { + "type": "integer" + }, + "paymentMode": { + "type": "string", + "example": "Internet Banking", + "enum": [ + "Internet Banking", + "Debit Card", + "Credit Card", + "Prepaid Card", + "IMPS", + "Cash", + "UPI", + "Wallet", + "NEFT", + "AEPS", + "Account Transfer", + "Bharat QR", + "USSD" + ] + }, + "supportsPendingStatus": { + "type": "boolean", + "example": false + } + } + } + }, "categoryName": { "type": "string", + "description": "Biller Category", "example": "loan-repayment" }, - "createdAt": { + "city": { "type": "string", - "format": "date-time", - "nullable": true, - "example": "2021-11-12T13:37:04.572+05:30", + "example": "Hyderabad" + }, + "enforcesSameDayFetchPay": { + "type": "boolean", + "example": true, "x-omitempty": false }, - "customerParams": { + "name": { + "type": "string", + "description": "Name of the biller.", + "example": "John Doe" + }, + "billerAdditionalInfo": { "type": "array", "items": { "required": [ "dataType", - "maxLength", - "minLength", "optional", - "paramName", - "regex", - "values", - "visibility" - ], - "type": "object", - "properties": { - "regex": { - "type": "string", - "example": "^[a-zA-Z0-9]{7,15}" - }, - "values": { - "type": "string" - }, - "visibility": { - "type": "boolean", - "example": true - }, + "paramName" + ], + "type": "object", + "properties": { "dataType": { "type": "string", - "example": "ALPHANUMERIC" - }, - "maxLength": { - "type": "integer" - }, - "minLength": { - "type": "integer" + "example": "ALPHANUMERIC", + "enum": [ + "ALPHANUMERIC", + "NUMERIC" + ] }, "optional": { "type": "boolean", @@ -4597,57 +5173,61 @@ }, "paramName": { "type": "string", - "example": "Loan Account Number" + "example": "Package Duration" } } } }, - "paymentModes": { + "payWithoutFetchAllowed": { + "type": "boolean", + "description": "Flag indicating if the Biller accepts adhoc payment", + "example": true + }, + "paymentChannels": { "type": "array", "items": { "required": [ "maxLimit", "minLimit", - "paymentMode", + "paymentChannel", "supportsPendingStatus" ], "type": "object", "properties": { - "maxLimit": { - "type": "integer" - }, - "minLimit": { - "type": "integer" - }, - "paymentMode": { + "paymentChannel": { "type": "string", - "example": "Internet Banking", + "description": "This is the initiating channel.\n1. `AGT`: Offline agent.\n2. `BNKBRNCH`: Bank branch.\n3. `BSC`: Business correspondent\n4. `MOB`: Mobile application\n5. `INT`: Internet portal\n6. `INTB`: Internet banking\n7. `MOBB`: Mobile banking\n8. `ATM`: ATM\n9. `KIOSK`: KIOSK\n", + "example": "INT", "enum": [ - "Internet Banking", - "Debit Card", - "Credit Card", - "Prepaid Card", - "IMPS", - "Cash", - "UPI", - "Wallet", - "NEFT", - "AEPS", - "Account Transfer", - "Bharat QR", - "USSD" + "INT", + "INTB", + "MOB", + "BNKBRNCH", + "BSC", + "AGT", + "KIOSK", + "ATM", + "MOBB", + "POS", + "MPOS" ] }, "supportsPendingStatus": { "type": "boolean", "example": false + }, + "maxLimit": { + "type": "integer" + }, + "minLimit": { + "type": "integer" } } } }, - "pincode": { + "state": { "type": "string", - "example": "pincode" + "example": "TEL" } }, "x-go-name": "CouBillerDetails" @@ -4655,64 +5235,11 @@ "billerId": { "type": "string", "description": "The biller ID on BBPS", - "example": "MAHI00000NATIC" + "example": "BBPSDUMMY001" }, "complaintId": { "type": "string", "example": "Loan Repayment" - }, - "lastModifiedAt": { - "type": "string", - "description": "Dispute's last modified timestamp", - "format": "date-time", - "example": "2020-12-12T13:12:00+05:30" - }, - "refId": { - "type": "string", - "example": "Loan Repayment" - }, - "responseCode": { - "type": "string", - "example": "ADIT00000NATRA" - }, - "assigned": { - "type": "string", - "example": "ADIT00000NATRA" - }, - "complaintStatus": { - "type": "string", - "description": "BBPS Complaint status", - "example": "ASSIGNED", - "enum": [ - "INITIALIZED", - "ASSIGNED", - "RE_ASSIGNED", - "ASSIGNED_TO_BOU", - "ASSIGNED_TO_COU", - "ASSIGNED_TO_OU", - "ESCALATED", - "RESOLVED", - "UNRESOLVED" - ] - }, - "createdAt": { - "type": "string", - "description": "Dispute's creation timestamp", - "format": "date-time", - "example": "2020-12-12T13:12:00+05:30" - }, - "remarks": { - "type": "string", - "example": "ADIT00000NATRA" - }, - "responseReason": { - "type": "string", - "example": "ADIT00000NATRA" - }, - "transactionId": { - "type": "string", - "description": "Setu BillPay Transaction ID.", - "example": "AX30910192192192192" } } }, @@ -4720,60 +5247,129 @@ "type": "object", "properties": { "customerMobileNumber": { - "maxLength": 20, + "maxLength": 22, "minLength": 6, - "pattern": "^\\d{6}(\\d{4}(\\d{10})?)?$", + "pattern": "^\\d{6,22}$", "type": "string", - "description": "Mobile number with 6, 10 and 20 digits are valid.", - "example": "9481773053" + "description": "Mobile number with 6 to 22 digits are valid." }, "partnerRefId": { + "maxLength": 35, + "minLength": 6, "type": "string", - "description": "Agent's payment reference ID" + "description": "Unique identifier provided by Partner for the payment request.", + "example": "BD019181220291" }, "transaction": { "allOf": [ { "type": "object", "properties": { + "customerId": { + "type": "string", + "description": "Customer Identifier", + "example": "4881317598" + }, + "refId": { + "type": "string", + "description": "The generated BBPS Reference ID for the request.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + }, + "status": { + "type": "string", + "example": "Success", + "enum": [ + "Processing", + "Success", + "Error", + "Credit_Adjustment" + ] + }, "amount": { "type": "integer" }, - "bills": { + "custConvFee": { + "type": "integer", + "description": "Customer convenience fee in paise" + }, + "customerParams": { "type": "array", + "description": "The bill params for fetching the bill", "items": { - "required": [ - "amount", - "billNumber" - ], + "required": ["name", "value"], "type": "object", "properties": { - "amount": { - "minimum": 1, - "type": "integer", - "description": "Amount in Paise" + "name": { + "type": "string", + "description": "The display name of the parameter. This has to match what is sent in fields.", + "example": "John Doe" }, - "billNumber": { + "value": { "type": "string", - "example": "B1234567" + "description": "The value of the customer parameter", + "example": "1895159" } - }, - "x-omitempty": true + } } }, - "refId": { - "type": "string", - "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + "etherealTransaction": { + "required": [ + "amount", + "billRefId", + "refId", + "status", + "transactionId" + ], + "type": "object", + "properties": { + "amount": { + "type": "string", + "example": "100.00" + }, + "billRefId": { + "type": "string", + "description": "The BBPS Ref ID", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "refId": { + "type": "string", + "example": "COUWL910192192192192" + }, + "status": { + "type": "string", + "enum": [ + "INIT", + "SUCCESS", + "FAILURE", + "PENDING", + "UNKNOWN" + ] + }, + "transactionId": { + "type": "string", + "example": "Q910192192192192" + } + } }, - "status": { + "refundStatus": { "type": "string", - "example": "Success", "enum": [ - "Processing", - "Success", - "Error" + "Required", + "Requested", + "Processed" ] }, + "timestamp": { + "type": "string", + "description": "Timestamp provided by partner while making payment request.", + "format": "date-time", + "example": "2020-12-12T13:12:00+05:30" + }, + "transactionId": { + "type": "string", + "description": "Setu BillPay Transaction ID.", + "example": "AS01910192192192192" + }, "biller": { "required": [ "categoryName", @@ -4789,68 +5385,96 @@ ], "type": "object", "properties": { - "id": { - "type": "string", - "example": "ADIT00000NAT0T" - }, "country": { "type": "string", "example": "IND" }, - "paymentChannels": { + "modifiedAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "example": "2021-11-12T13:37:04.572+05:30", + "x-omitempty": false + }, + "responseType": { + "type": "string", + "nullable": true, + "example": "SINGLE", + "enum": [ + "SINGLE", + "LIST", + "SELECTIVE" + ], + "x-nullable": true, + "x-omitempty": false + }, + "subCategoryName": { + "type": "string", + "example": "DAIRY" + }, + "coverage": { + "type": "string", + "example": "IND-TEL-Hyderabad" + }, + "interchangeFee": { "type": "array", "items": { - "required": [ - "maxLimit", - "minLimit", - "paymentChannel", - "supportsPendingStatus" - ], "type": "object", "properties": { - "maxLimit": { - "type": "integer" - }, - "minLimit": { - "type": "integer" + "feeCode": { + "type": "string", + "example": "CCF1" }, - "paymentChannel": { + "feeDesc": { "type": "string", - "description": "This is the initiating channel.\n1. `AGT`: Offline agent.\n2. `BNKBRNCH`: Bank branch.\n3. `BSC`: Business correspondent\n4. `MOB`: Mobile application\n5. `INT`: Internet portal\n6. `INTB`: Internet banking\n7. `MOBB`: Mobile banking\n8. `ATM`: ATM\n9. `KIOSK`: KIOSK\n", - "example": "INT", - "enum": [ - "INT", - "INTB", - "MOB", - "BNKBRNCH", - "BSC", - "AGT", - "KIOSK", - "ATM", - "MOBB", - "POS", - "MPOS" - ] + "example": "Customer Convenience Fee" }, - "supportsPendingStatus": { - "type": "boolean", - "example": false + "feeDirection": { + "type": "string", + "example": "C2B" + }, + "interchangeFeeDetails": { + "required": [ + "effctvFrom", + "effctvTo", + "flatFee", + "percentFee", + "tranAmtRangeMax", + "tranAmtRangeMin" + ], + "type": "object", + "properties": { + "percentFee": { + "type": "number", + "format": "decimal", + "example": 1.0 + }, + "tranAmtRangeMax": { + "type": "integer", + "format": "int64" + }, + "tranAmtRangeMin": { + "type": "integer", + "format": "int64" + }, + "effctvFrom": { + "type": "string", + "example": "2024-01-01" + }, + "effctvTo": { + "type": "string", + "example": "2024-12-31" + }, + "flatFee": { + "type": "number", + "format": "decimal", + "example": 0.0 + } + } } } } }, - "responseType": { - "type": "string", - "nullable": true, - "example": "SINGLE", - "enum": [ - "SINGLE", - "LIST", - "SELECTIVE" - ], - "x-nullable": true, - "x-omitempty": false - }, "selectionType": { "type": "string", "description": "Defined only for billers with response type as LIST. SINGLE: User can pay only one of the bills in bill fetch response. MULTIPLE: User can pay any combination of bills in bill fetch response. ALL: User has to pay all the bills in bill fetch response.", @@ -4861,10 +5485,23 @@ "MULTIPLE", "ALL" ], - "x-nullable": true, - "x-omitempty": false + "x-omitempty": false, + "x-nullable": true }, - "billerAdditionalInfo": { + "pincode": { + "type": "string", + "example": "pincode" + }, + "supportsPendingStatus": { + "type": "boolean", + "description": "Flag indicating whether pending status is applicable for the biller or not", + "example": false + }, + "tags": { + "type": "string", + "example": "tags" + }, + "billerAdditionalInfoPayment": { "type": "array", "items": { "required": [ @@ -4893,79 +5530,53 @@ } } }, - "billerAdditionalInfoPayment": { + "customerParams": { "type": "array", "items": { "required": [ "dataType", + "maxLength", + "minLength", "optional", - "paramName" + "paramName", + "regex", + "values", + "visibility" ], "type": "object", "properties": { + "paramName": { + "type": "string", + "example": "Loan Account Number" + }, + "regex": { + "type": "string", + "example": "^[a-zA-Z0-9]{7,15}" + }, + "values": { + "type": "string" + }, + "visibility": { + "type": "boolean", + "example": true + }, "dataType": { "type": "string", - "example": "ALPHANUMERIC", - "enum": [ - "ALPHANUMERIC", - "NUMERIC" - ] + "example": "ALPHANUMERIC" + }, + "maxLength": { + "type": "integer" + }, + "minLength": { + "type": "integer" }, "optional": { "type": "boolean", "example": false - }, - "paramName": { - "type": "string", - "example": "Package Duration" } } } }, - "city": { - "type": "string", - "example": "Hyderabad" - }, - "enforcesSameDayFetchPay": { - "type": "boolean", - "example": true, - "x-omitempty": false - }, - "payWithoutFetchAllowed": { - "type": "boolean", - "example": true - }, - "supportsPendingStatus": { - "type": "boolean", - "example": false - }, - "tags": { - "type": "string", - "example": "tags" - }, - "modifiedAt": { - "type": "string", - "format": "date-time", - "nullable": true, - "example": "2021-11-12T13:37:04.572+05:30", - "x-omitempty": false - }, - "state": { - "type": "string", - "example": "TEL" - }, - "logo": { - "type": "string", - "example": "logo" - }, - "name": { - "type": "string", - "example": "Aditya Birla Sun Life Insurance" - }, - "coverage": { - "type": "string", - "example": "IND-TEL-Hyderabad" - }, "customerParamsGroups": { "type": "array", "items": { @@ -4976,9 +5587,20 @@ } } }, + "id": { + "type": "string", + "description": "Identifier of the biller in BBPS.", + "example": "ADIT00000NAT0T" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "nullable": true, + "example": "2021-11-12T13:37:04.572+05:30", + "x-omitempty": false + }, "exactness": { "type": "string", - "description": "Biller exactness", "example": "Exact", "enum": [ "Exact", @@ -4990,17 +5612,12 @@ }, "fetchApiType": { "type": "string", - "example": "BILL_FETCH", "enum": [ "BILL_FETCH", "BILL_VALIDATE", "BILL_DIRECT" ] }, - "subCategoryName": { - "type": "string", - "example": "DAIRY" - }, "bbpsUpdateTimestamp": { "type": "string", "description": "Last updated date-time of the Biller accurate to the nearest day.", @@ -5009,52 +5626,89 @@ "example": "2021-11-12T13:37:04.572+05:30", "x-omitempty": true }, + "logo": { + "type": "string", + "example": "logo" + }, + "paymentModes": { + "type": "array", + "items": { + "required": [ + "maxLimit", + "minLimit", + "paymentMode", + "supportsPendingStatus" + ], + "type": "object", + "properties": { + "maxLimit": { + "type": "integer" + }, + "minLimit": { + "type": "integer" + }, + "paymentMode": { + "type": "string", + "example": "Internet Banking", + "enum": [ + "Internet Banking", + "Debit Card", + "Credit Card", + "Prepaid Card", + "IMPS", + "Cash", + "UPI", + "Wallet", + "NEFT", + "AEPS", + "Account Transfer", + "Bharat QR", + "USSD" + ] + }, + "supportsPendingStatus": { + "type": "boolean", + "example": false + } + } + } + }, "categoryName": { "type": "string", + "description": "Biller Category", "example": "loan-repayment" }, - "createdAt": { + "city": { "type": "string", - "format": "date-time", - "nullable": true, - "example": "2021-11-12T13:37:04.572+05:30", + "example": "Hyderabad" + }, + "enforcesSameDayFetchPay": { + "type": "boolean", + "example": true, "x-omitempty": false }, - "customerParams": { + "name": { + "type": "string", + "description": "Name of the biller.", + "example": "John Doe" + }, + "billerAdditionalInfo": { "type": "array", "items": { "required": [ "dataType", - "maxLength", - "minLength", "optional", - "paramName", - "regex", - "values", - "visibility" + "paramName" ], "type": "object", "properties": { - "regex": { - "type": "string", - "example": "^[a-zA-Z0-9]{7,15}" - }, - "values": { - "type": "string" - }, - "visibility": { - "type": "boolean", - "example": true - }, "dataType": { "type": "string", - "example": "ALPHANUMERIC" - }, - "maxLength": { - "type": "integer" - }, - "minLength": { - "type": "integer" + "example": "ALPHANUMERIC", + "enum": [ + "ALPHANUMERIC", + "NUMERIC" + ] }, "optional": { "type": "boolean", @@ -5062,57 +5716,61 @@ }, "paramName": { "type": "string", - "example": "Loan Account Number" + "example": "Package Duration" } } } }, - "paymentModes": { + "payWithoutFetchAllowed": { + "type": "boolean", + "description": "Flag indicating if the Biller accepts adhoc payment", + "example": true + }, + "paymentChannels": { "type": "array", "items": { "required": [ "maxLimit", "minLimit", - "paymentMode", + "paymentChannel", "supportsPendingStatus" ], "type": "object", "properties": { - "maxLimit": { - "type": "integer" - }, - "minLimit": { - "type": "integer" - }, - "paymentMode": { + "paymentChannel": { "type": "string", - "example": "Internet Banking", + "description": "This is the initiating channel.\n1. `AGT`: Offline agent.\n2. `BNKBRNCH`: Bank branch.\n3. `BSC`: Business correspondent\n4. `MOB`: Mobile application\n5. `INT`: Internet portal\n6. `INTB`: Internet banking\n7. `MOBB`: Mobile banking\n8. `ATM`: ATM\n9. `KIOSK`: KIOSK\n", + "example": "INT", "enum": [ - "Internet Banking", - "Debit Card", - "Credit Card", - "Prepaid Card", - "IMPS", - "Cash", - "UPI", - "Wallet", - "NEFT", - "AEPS", - "Account Transfer", - "Bharat QR", - "USSD" + "INT", + "INTB", + "MOB", + "BNKBRNCH", + "BSC", + "AGT", + "KIOSK", + "ATM", + "MOBB", + "POS", + "MPOS" ] }, "supportsPendingStatus": { "type": "boolean", "example": false + }, + "maxLimit": { + "type": "integer" + }, + "minLimit": { + "type": "integer" } } } }, - "pincode": { + "state": { "type": "string", - "example": "pincode" + "example": "TEL" } }, "x-go-name": "CouBillerDetails" @@ -5120,38 +5778,7 @@ "billerId": { "type": "string", "description": "The biller ID on BBPS", - "example": "MAHI00000NATIC" - }, - "customerParams": { - "type": "array", - "description": "The bill params for fetching the bill", - "items": { - "required": ["name", "value"], - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The display name of the parameter. This has to match what is sent in fields.", - "example": "Loan Number" - }, - "value": { - "type": "string", - "description": "The value of the customer parameter", - "example": "1895159" - } - } - } - }, - "timestamp": { - "type": "string", - "description": "Timestamp provided by partner while making payment request.", - "format": "date-time", - "example": "2020-12-12T13:12:00+05:30" - }, - "transactionId": { - "type": "string", - "description": "Setu BillPay Transaction ID.", - "example": "AX30910192192192192" + "example": "BBPSDUMMY001" } } }, @@ -5159,25 +5786,18 @@ "type": "object", "properties": { "customerMobileNumber": { - "maxLength": 20, + "maxLength": 22, "minLength": 6, - "pattern": "^\\d{6}(\\d{4}(\\d{10})?)?$", + "pattern": "^\\d{6,22}$", "type": "string", - "description": "Mobile number with 6, 10 and 20 digits are valid.", - "example": "9481773053" + "description": "Mobile number with 6 to 22 digits are valid." }, "partnerRefId": { + "maxLength": 35, + "minLength": 6, "type": "string", - "description": "Agent's payment reference ID" - }, - "refundStatus": { - "type": "string", - "example": "Required", - "enum": [ - "Required", - "Requested", - "Processed" - ] + "description": "Unique identifier provided by Partner for the payment request.", + "example": "BD019181220291" } } } @@ -5187,6 +5807,10 @@ } ] } + }, + "nextPage": { + "type": "string", + "example": "/api/bbps/disputes?search=Aditya&CategoryCode=Loan+Repayment&CategoryCode=Insurance&after=ABCC00000PTNNS" } } } @@ -5205,127 +5829,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { - "error": { - "required": ["code", "message"], - "type": "object", - "properties": { - "code": { - "type": "string", - "example": "validation-error" - }, - "message": { - "type": "string", - "example": "Input is invalid" - } - } - }, - "success": { - "type": "boolean", - "example": false - }, "traceId": { "type": "string", "example": "C3SFG0O6N88R6UI7EQ" - } - } - } - } - } - }, - "500": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "required": ["error", "success", "traceId"], - "type": "object", - "properties": { - "error": { - "required": ["code", "message"], - "type": "object", - "properties": { - "code": { - "type": "string", - "example": "validation-error" - }, - "message": { - "type": "string", - "example": "Input is invalid" - } - } - }, - "success": { - "type": "boolean", - "example": false }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" - } - } - } - } - } - } - }, - "security": [ - { - "Production": ["bbps:partner"] - }, - { - "Sandbox": ["bbps:partner"] - }, - { - "QA": ["bbps:partner"] - } - ] - } - }, - "/api/v1/bbps/categories": { - "get": { - "tags": ["List"], - "description": "Returns the list of categories.", - "parameters": [ - { - "name": "X-PARTNER-ID", - "in": "header", - "description": "Partner ID", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "responses": { - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "required": ["error", "success", "traceId"], - "type": "object", - "properties": { "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -5340,127 +5864,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { - "error": { - "required": ["code", "message"], - "type": "object", - "properties": { - "code": { - "type": "string", - "example": "validation-error" - }, - "message": { - "type": "string", - "example": "Input is invalid" - } - } - }, - "success": { - "type": "boolean", - "example": false - }, "traceId": { "type": "string", "example": "C3SFG0O6N88R6UI7EQ" - } - } - } - } - } - }, - "200": { - "description": "List of categories", - "headers": { - "X-Frame-Options": { - "description": "X Frame options", - "schema": { - "type": "string" - } - }, - "Strict-Transport-Security": { - "description": "Strict transport security", - "schema": { - "type": "string" - } - }, - "Cache-Control": { - "description": "Cache control", - "schema": { - "type": "string" - } - }, - "X-Content-Type-Options": { - "description": "X Content type options", - "schema": { - "type": "string" - } - }, - "Content-Security-Policy": { - "description": "Content security policy", - "schema": { - "type": "string" - } - }, - "Pragma": { - "description": "Pragma", - "schema": { - "type": "string" - } - }, - "X-XSS-Protection": { - "description": "X Xss Protection", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "required": ["success", "traceId"], - "type": "object", - "properties": { + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", - "example": true - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" - }, - "data": { - "required": ["categories"], - "type": "object", - "properties": { - "categories": { - "type": "array", - "items": { - "type": "object", - "properties": { - "billerCount": { - "type": "integer" - }, - "name": { - "type": "string", - "example": "Loan Repayment" - } - } - } - } - } + "example": false } } } diff --git a/api-references/payments/billpay_v1/pre-built-screens.json b/api-references/payments/billpay_v1/pre-built-screens.json index c3ff5288..34ccc830 100644 --- a/api-references/payments/billpay_v1/pre-built-screens.json +++ b/api-references/payments/billpay_v1/pre-built-screens.json @@ -20,11 +20,3381 @@ } ], "paths": { - "/api/v1/ethereal/link": { + "/api/v2/ethereal/configuration": { + "get": { + "tags": ["Link Generation"], + "description": "Ethereal configuration get request API", + "operationId": "EtherealConfigurationGetRequest", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "orgId", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "X-ADMIN-KEY", + "in": "header", + "description": "Admin key", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["configs", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "configs": { + "type": "array", + "items": { + "required": ["configId", "name", "value"], + "type": "object", + "properties": { + "configId": { + "type": "string", + "example": "000" + }, + "name": { + "type": "string", + "example": "John Doe" + }, + "value": { + "type": "string", + "example": "#ffa80h" + } + }, + "x-go-name": "EtherealOrgConfigurationItem", + "x-omitempty": true + } + }, + "error": { + "type": "string", + "example": "000" + } + }, + "x-go-name": "EtherealConfigurationGetResponse", + "x-omitempty": true + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [] + }, + "post": { + "tags": ["Link Generation"], + "description": "Ethereal configuration create request API", + "operationId": "EtherealConfigurationRequest", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "X-ADMIN-KEY", + "in": "header", + "description": "Admin key", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": ["configs", "orgId"], + "type": "object", + "properties": { + "configs": { + "type": "array", + "items": { + "required": ["name", "value"], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The display name of the configuration", + "example": "John Doe" + }, + "value": { + "type": "string", + "description": "The value of the configuration", + "example": "1895159" + } + } + } + }, + "orgId": { + "type": "string", + "example": "1.22337203685477E14" + } + }, + "x-go-name": "EtherealConfigurationCreateRequest", + "x-omitempty": true + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["result", "traceId"], + "type": "object", + "properties": { + "result": { + "type": "array", + "items": { + "required": ["configId"], + "type": "object", + "properties": { + "configId": { + "type": "string", + "example": "000" + }, + "success": { + "type": "boolean", + "example": true + } + } + } + }, + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "type": "string", + "example": "000" + } + }, + "x-go-name": "EtherealConfigurationCreateResponse", + "x-omitempty": true + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "EtherealConfigurationCreateRequest" + } + }, + "/api/v2/ethereal/saved-bills": { + "get": { + "tags": ["Link Generation"], + "description": "Ethereal saved bills list API", + "operationId": "EtherealSavedBillsListRequest", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "limit", + "in": "query", + "schema": { + "maximum": 100.0, + "type": "integer" + } + }, + { + "name": "cursor", + "in": "query", + "description": "Cursor for pagination", + "schema": { + "type": "string" + } + }, + { + "name": "lastPaidAfter", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "lastPaidBefore", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "categories", + "in": "query", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "List of saved bills", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "bills": { + "type": "array", + "items": { + "required": [ + "biller", + "customerParams", + "id", + "isDirectBill", + "lastPaidAt" + ], + "type": "object", + "properties": { + "biller": { + "required": ["categoryName", "id", "name"], + "type": "object", + "properties": { + "categoryName": { + "type": "string", + "example": "Electricity" + }, + "id": { + "type": "string", + "example": "ACNS002901BXYNYU" + }, + "logo": { + "type": "string", + "nullable": true, + "example": "https://cou.cdn.setu.co/billers/ACNS002901BXYNYU.webp", + "x-omitempty": true + }, + "name": { + "type": "string", + "example": "John Doe" + } + } + }, + "customerParams": { + "type": "array", + "description": "The bill params for fetching the bill", + "items": { + "required": ["name", "value"], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The display name of the parameter. This has to match what is sent in fields.", + "example": "John Doe" + }, + "value": { + "type": "string", + "description": "The value of the customer parameter", + "example": "1895159" + } + } + } + }, + "id": { + "type": "string", + "example": "173999910209831" + }, + "isDirectBill": { + "type": "boolean", + "example": true + }, + "lastPaidAt": { + "type": "string", + "format": "date-time", + "example": "2024-06-02T00:00:00Z" + } + } + } + }, + "cursor": { + "type": "string", + "description": "Cursor for pagination", + "example": "MTQ2MDQ4NjU5NzA0MzU1MzgzMw==" + } + } + } + } + }, + { + "required": ["success", "traceId"], + "type": "object", + "properties": { + "success": { + "type": "boolean", + "description": "Indicator to denote whether the request is successful.", + "example": true + }, + "traceId": { + "type": "string", + "description": "The traceId generated for the request.", + "example": "C3SFG0O6N88R6UI7EQ" + } + } + } + ] + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [] + } + }, + "/api/v2/landing/{orgId}": { + "get": { + "tags": ["Link Generation"], + "description": "Ethereal landing create request API", + "operationId": "EtherealLandingRequest", + "parameters": [ + { + "name": "orgId", + "in": "path", + "description": "Organisation Id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "Bad request", + "content": { + "*/*": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "*/*": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "302": { + "description": "Redirect", + "headers": { + "Location": { + "description": "Redirect to WL", + "schema": { + "type": "string", + "format": "uri" + } + } + }, + "content": {} + } + }, + "security": [] + } + }, + "/api/v2/qfix/refund": { + "post": { + "tags": ["QFIX"], + "description": "QFIX order status request API", + "operationId": "QFIXRefundCreateRequest", + "parameters": [ + { + "name": "X-ADMIN-KEY", + "in": "header", + "description": "Admin key", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": ["refId"], + "type": "object", + "properties": { + "refId": { + "type": "string", + "example": "1196687215019689511" + } + }, + "x-go-name": "CouQFIXRefundCreateRequest", + "x-omitempty": true + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["status"], + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "SUCCESS" + }, + "amount": { + "type": "string", + "example": "SUCCESS" + }, + "orderId": { + "type": "string", + "example": "SUCCESS" + }, + "refundId": { + "type": "string", + "example": "SUCCESS" + } + }, + "x-go-name": "CouQFIXRefundCreateResponse", + "x-omitempty": true + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "CouQFIXRefundCreateRequest" + } + }, + "/api/v2/short/{shortId}": { + "get": { + "tags": ["Link Generation"], + "description": "Ethereal short link API", + "operationId": "EtherealShortLinkRequest", + "parameters": [ + { + "name": "shortId", + "in": "path", + "description": "Short Id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "302": { + "description": "Redirect", + "headers": { + "Location": { + "description": "Redirect to WL", + "schema": { + "type": "string", + "format": "uri" + } + } + }, + "content": {} + }, + "404": { + "description": "Not found", + "content": { + "*/*": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "*/*": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + } + } + }, + "/api/v2/ethereal/session": { + "post": { + "tags": ["Link Generation"], + "description": "Ethereal sesssion validate request API", + "operationId": "EtherealSessionRequest", + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": ["sessionId"], + "type": "object", + "properties": { + "sessionId": { + "type": "string", + "example": "sessionId" + } + }, + "x-go-name": "EtherealSessionValidateRequest", + "x-omitempty": true + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Set-Cookie": { + "description": "key1=value1", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["success", "traceId"], + "type": "object", + "properties": { + "orgId": { + "type": "string", + "example": "orgId" + }, + "customerId": { + "type": "string", + "example": "4881317598" + }, + "isAnonymous": { + "type": "boolean", + "example": false + }, + "mobileNumber": { + "maxLength": 22, + "minLength": 6, + "pattern": "^\\d{6,22}$", + "type": "string", + "description": "Mobile number with 6 to 22 digits are valid." + }, + "secret": { + "type": "string", + "example": "exampleSecret" + }, + "success": { + "type": "boolean", + "example": true + }, + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "orgConfigs": { + "type": "array", + "items": { + "required": ["configId", "name", "value"], + "type": "object", + "properties": { + "configId": { + "type": "string", + "example": "000" + }, + "name": { + "type": "string", + "example": "John Doe" + }, + "value": { + "type": "string", + "example": "#ffa80h" + } + }, + "x-go-name": "EtherealOrgConfigurationItem", + "x-omitempty": true + } + }, + "partnerId": { + "type": "string", + "example": "partnerId" + }, + "redirectTo": { + "type": "object", + "properties": { + "redirectTo": { + "type": "string", + "example": "9082718673" + }, + "billParams": { + "type": "array", + "items": { + "required": ["name", "value"], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The display name of the parameter. This has to match what is sent in fields.", + "example": "John Doe" + }, + "value": { + "type": "string", + "description": "The value of the customer parameter", + "example": "1895159" + } + } + } + }, + "billerId": { + "type": "string", + "example": "BBPSDUMMY001" + }, + "categoryName": { + "type": "string", + "example": "9082718673" + } + } + } + }, + "x-go-name": "EtherealSessionValidateResponse", + "x-omitempty": true + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "EtherealSessionValidateRequest" + } + }, + "/api/v2/ethereal/link": { + "post": { + "tags": ["Link Generation"], + "description": "Ethereal link create request API", + "operationId": "EtherealLinkRequest", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": ["orgId"], + "type": "object", + "properties": { + "custID": { + "type": "string", + "description": "Customer Identifier", + "example": "123456" + }, + "mobileNumber": { + "maxLength": 22, + "minLength": 6, + "pattern": "^\\d{6,22}$", + "type": "string", + "description": "Mobile number with 6 to 22 digits are valid." + }, + "orgId": { + "type": "string", + "example": "1.22337203685477E14" + }, + "additionalInfo": { + "type": "object", + "properties": {}, + "description": "Additional session information" + }, + "billParams": { + "type": "array", + "items": { + "required": ["name", "value"], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The display name of the parameter. This has to match what is sent in fields.", + "example": "John Doe" + }, + "value": { + "type": "string", + "description": "The value of the customer parameter", + "example": "1895159" + } + } + } + }, + "billerId": { + "type": "string", + "example": "BBPSDUMMY001" + }, + "categoryName": { + "type": "string", + "example": "Water" + }, + "redirectTo": { + "type": "string", + "example": "transactions", + "enum": ["transactions", "disputes"] + }, + "shortLink": { + "maxLength": 16, + "minLength": 8, + "type": "string", + "example": "TLxLzmLF" + } + }, + "x-go-name": "EtherealLinkCreateRequest", + "x-omitempty": true + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["success", "traceId"], + "type": "object", + "properties": { + "link": { + "type": "string", + "example": "link" + }, + "sessionId": { + "type": "string", + "example": "sessionId" + }, + "shortLink": { + "type": "string", + "example": "TLxLzmLF" + }, + "success": { + "type": "boolean", + "example": true + }, + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + } + }, + "x-omitempty": true, + "x-go-name": "EtherealLinkCreateResponse" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "EtherealLinkCreateRequest" + } + }, + "/api/v2/ethereal/saved-bills/{billId}": { + "patch": { + "tags": ["Link Generation"], + "description": "Ethereal disable saved bill API", + "operationId": "EtherealDisableSavedBillRequest", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "billId", + "in": "path", + "description": "Bill ID to be disabled", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "requestBody": { + "description": "Disable bill request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "DISABLED", + "enum": ["DISABLED"] + } + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Saved bill disabled successfully", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["success", "traceId"], + "type": "object", + "properties": { + "success": { + "type": "boolean", + "description": "Indicator to denote whether the request is successful.", + "example": true + }, + "traceId": { + "type": "string", + "description": "The traceId generated for the request.", + "example": "C3SFG0O6N88R6UI7EQ" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "EtherealDisableSavedBillRequest" + } + }, + "/api/v2/ethereal/session/update": { + "post": { + "tags": ["Link Generation"], + "description": "Ethereal sesssion update request API", + "operationId": "EtherealSessionUpdateRequest", + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": ["sessionId"], + "type": "object", + "properties": { + "additionalInfo": { + "type": "object", + "properties": {} + }, + "sessionId": { + "type": "string", + "example": "sessionId" + } + }, + "x-go-name": "EtherealSessionUpdateRequest", + "x-omitempty": true + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Set-Cookie": { + "description": "key1=value1", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "EtherealSessionUpdateRequest" + } + }, + "/api/v2/qfix/order": { + "post": { + "tags": ["QFIX"], + "description": "QFIX order create request API", + "operationId": "QFIXOrderCreateRequest", + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": [ + "amount", + "billerId", + "isDirectBill", + "orgId", + "postPaymentUrl", + "sessionId" + ], + "type": "object", + "properties": { + "billRefId": { + "type": "string", + "example": "1196687215019689511" + }, + "custConvFee": { + "type": "integer" + }, + "customer": { + "required": ["mobile"], + "type": "object", + "properties": { + "id": { + "type": "string", + "nullable": true, + "example": "CUSTOMER_ID" + }, + "mobile": { + "maxLength": 22, + "minLength": 6, + "pattern": "^\\d{6,22}$", + "type": "string", + "description": "Mobile number with 6 to 22 digits are valid." + }, + "params": { + "type": "array", + "description": "The bill params for fetching the bill", + "items": { + "required": ["name", "value"], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The display name of the parameter. This has to match what is sent in fields.", + "example": "John Doe" + }, + "value": { + "type": "string", + "description": "The value of the customer parameter", + "example": "1895159" + } + } + } + } + }, + "x-go-name": "EtherealCustomer" + }, + "isDirectBill": { + "type": "boolean", + "example": false + }, + "orgId": { + "type": "string", + "example": "000" + }, + "sessionId": { + "type": "string", + "example": "000" + }, + "amount": { + "type": "string", + "example": "100" + }, + "billerId": { + "type": "string", + "example": "BBPSDUMMY001" + }, + "postPaymentUrl": { + "type": "string", + "example": "000" + } + }, + "x-go-name": "CouQFIXOrderCreateRequest", + "x-omitempty": true + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["link", "payload", "refId", "status"], + "type": "object", + "properties": { + "link": { + "type": "string", + "example": "SUCCESS" + }, + "payload": { + "type": "string", + "example": "SUCCESS" + }, + "refId": { + "type": "string", + "example": "000" + }, + "status": { + "type": "string", + "example": "SUCCESS" + } + }, + "x-go-name": "CouQFIXOrderCreateResponse", + "x-omitempty": true + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "CouQFIXOrderCreateRequest" + } + }, + "/api/v2/qfix/order/status": { + "post": { + "tags": ["QFIX"], + "description": "QFIX order status request API", + "operationId": "QFIXOrderStatusRequest", + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": ["refId"], + "type": "object", + "properties": { + "refId": { + "type": "string", + "example": "1196687215019689511" + } + }, + "x-go-name": "CouQFIXOrderStatusRequest", + "x-omitempty": true + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["refId", "status"], + "type": "object", + "properties": { + "paymentMode": { + "type": "string", + "example": "Internet Banking", + "enum": [ + "Internet Banking", + "Debit Card", + "Credit Card", + "Prepaid Card", + "IMPS", + "Cash", + "UPI", + "Wallet", + "NEFT", + "AEPS", + "Account Transfer", + "Bharat QR", + "USSD" + ] + }, + "refId": { + "type": "string", + "example": "SUCCESS" + }, + "status": { + "type": "string", + "example": "SUCCESS" + }, + "amount": { + "type": "string", + "example": "SUCCESS" + }, + "custConvFee": { + "type": "integer" + }, + "failureReason": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + } + }, + "x-go-name": "CouQFIXOrderStatusResponse", + "x-omitempty": true + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "CouQFIXOrderStatusRequest" + } + }, + "/api/v2/ethereal/organisation": { + "post": { + "tags": ["Link Generation"], + "description": "Ethereal organisation create request API", + "operationId": "EtherealOrganisationRequest", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "X-ADMIN-KEY", + "in": "header", + "description": "Admin key", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": ["name"], + "type": "object", + "properties": { + "agentInsitutionId": { + "type": "string", + "example": "12345" + }, + "name": { + "type": "string", + "example": "John Doe" + }, + "productInstanceId": { + "type": "string", + "example": "ab45e3e9-8f7d-48fd-8ebb-0ee6f9e7d2b5" + }, + "accountIdsPath": { + "type": "array", + "items": { + "type": "string", + "example": "ab45e3e9-8f7d-48fd-8ebb-0ee6f9e7d2b5" + } + } + }, + "x-go-name": "EtherealOrganisationCreateRequest", + "x-omitempty": true + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["success", "traceId"], + "type": "object", + "properties": { + "success": { + "type": "boolean", + "example": true + }, + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "name": { + "type": "string", + "example": "John Doe" + }, + "orgId": { + "type": "string", + "example": "123456" + } + }, + "x-go-name": "EtherealOrganisationCreateResponse", + "x-omitempty": true + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "EtherealOrganisationCreateRequest" + } + }, + "/api/v2/ethereal/txn/session": { + "post": { + "tags": ["Link Generation"], + "description": "Ethereal txn sesssion validate request API", + "operationId": "EtherealTxnSessionRequest", + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": ["sessionId", "sig", "txnRefId"], + "type": "object", + "properties": { + "sessionId": { + "type": "string", + "example": "sessionId" + }, + "sig": { + "type": "string" + }, + "txnRefId": { + "type": "string", + "example": "PP015076BX3VK1HF1111" + } + }, + "x-go-name": "EtherealTxnSessionValidateRequest", + "x-omitempty": true + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Set-Cookie": { + "description": "key1=value1", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["success", "traceId"], + "type": "object", + "properties": { + "orgId": { + "type": "string", + "example": "orgId" + }, + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "amount": { + "type": "string", + "example": "secret" + }, + "billRefId": { + "type": "string", + "example": "billRefId" + }, + "billerId": { + "type": "string", + "example": "BBPSDUMMY001" + }, + "customer": { + "allOf": [ + { + "required": ["mobile"], + "type": "object", + "properties": { + "customerId": { + "type": "string", + "description": "Customer Identifier", + "example": "4881317598" + }, + "mobile": { + "maxLength": 22, + "minLength": 6, + "pattern": "^\\d{6,22}$", + "type": "string", + "description": "Mobile number with 6 to 22 digits are valid." + } + } + }, + { + "required": ["customerParams"], + "type": "object", + "properties": { + "customerParams": { + "type": "array", + "description": "The bill params for fetching the bill", + "items": { + "required": ["name", "value"], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The display name of the parameter. This has to match what is sent in fields.", + "example": "John Doe" + }, + "value": { + "type": "string", + "description": "The value of the customer parameter", + "example": "1895159" + } + } + } + } + } + } + ] + }, + "orgConfigs": { + "type": "array", + "items": { + "required": ["configId", "name", "value"], + "type": "object", + "properties": { + "configId": { + "type": "string", + "example": "000" + }, + "name": { + "type": "string", + "example": "John Doe" + }, + "value": { + "type": "string", + "example": "#ffa80h" + } + }, + "x-go-name": "EtherealOrgConfigurationItem", + "x-omitempty": true + } + }, + "customerId": { + "type": "string", + "example": "4881317598" + }, + "mobileNumber": { + "maxLength": 22, + "minLength": 6, + "pattern": "^\\d{6,22}$", + "type": "string", + "description": "Mobile number with 6 to 22 digits are valid." + }, + "partnerId": { + "type": "string", + "example": "partnerId" + }, + "secret": { + "type": "string", + "example": "exampleSecret" + }, + "success": { + "type": "boolean", + "example": true + } + }, + "x-go-name": "EtherealTxnSessionValidateResponse", + "x-omitempty": true + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "EtherealTxnSessionValidateRequest" + } + }, + "/api/v2/webhooks/payment-event": { + "post": { + "tags": ["Custom Payment Webhook"], + "description": "Custom payment webhook API", + "operationId": "CouCustomPaymentWebhook", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": [ + "amount", + "orderId", + "paymentDateTime", + "paymentMode", + "paymentStatus", + "transactionId" + ], + "type": "object", + "properties": { + "failureReason": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "orderId": { + "type": "string", + "example": "COUWLab1C2dDe5F6g" + }, + "paymentDateTime": { + "type": "string", + "example": "2024-03-19 12:30:45" + }, + "amount": { + "type": "string", + "example": "100" + }, + "custConvFee": { + "type": "integer" + }, + "paymentMode": { + "type": "string", + "example": "UPI", + "enum": [ + "INTERNET BANKING", + "DEBIT CARD", + "CREDIT CARD", + "PREPAID CARD", + "IMPS", + "CASH", + "UPI", + "WALLET", + "NEFT", + "AEPS", + "ACCOUNT TRANSFER", + "BHARAT QR", + "USSD" + ] + }, + "paymentStatus": { + "type": "string", + "example": "SUCCESS", + "enum": ["SUCCESS", "FAILURE"] + }, + "remarks": { + "type": "string", + "example": "Payment processed successfully." + }, + "transactionId": { + "type": "string", + "example": "407012345678" + } + }, + "x-go-name": "CouCustomPaymentWebhook", + "x-omitempty": true + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["status"], + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "acknowledged" + } + }, + "x-go-name": "CouCustomPaymentWebhookResponse", + "x-omitempty": true + } + } + } + } + }, + "x-codegen-request-body-name": "CouCustomPaymentWebhook" + } + }, + "/api/v2/ethereal/login": { "post": { "tags": ["Link Generation"], - "description": "Ethereal link create request API", - "operationId": "EtherealLinkRequest", + "description": "Ethereal login create request API", + "operationId": "EtherealLoginRequest", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": ["mobileNumber", "orgId", "sessionId"], + "type": "object", + "properties": { + "sessionId": { + "type": "string", + "example": "sessionId" + }, + "mobileNumber": { + "maxLength": 22, + "minLength": 6, + "pattern": "^\\d{6,22}$", + "type": "string", + "description": "Mobile number with 6 to 22 digits are valid." + }, + "orgId": { + "type": "string", + "example": "orgId" + }, + "refId": { + "type": "string", + "example": "refId" + } + }, + "x-omitempty": true, + "x-go-name": "EtherealLoginCreateRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["success", "traceId"], + "type": "object", + "properties": { + "refId": { + "type": "string", + "example": "refId" + }, + "success": { + "type": "boolean", + "example": true + }, + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + } + }, + "x-go-name": "EtherealLoginCreateResponse", + "x-omitempty": true + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "EtherealLoginCreateRequest" + } + }, + "/api/v2/ethereal/login/validate": { + "post": { + "tags": ["Link Generation"], + "description": "Ethereal login validate request API", + "operationId": "EtherealLoginValidateRequest", "parameters": [ { "name": "X-PARTNER-ID", @@ -40,65 +3410,41 @@ "content": { "application/json": { "schema": { - "required": ["orgId"], + "required": [ + "mobileNumber", + "orgId", + "otp", + "refId", + "sessionId" + ], "type": "object", "properties": { - "categoryName": { - "type": "string", - "example": "Water" - }, - "custID": { - "type": "string", - "example": "12345" - }, "mobileNumber": { - "maxLength": 20, + "maxLength": 22, "minLength": 6, - "pattern": "^\\d{6}(\\d{4}(\\d{10})?)?$", + "pattern": "^\\d{6,22}$", "type": "string", - "description": "Mobile number with 6, 10 and 20 digits are valid.", - "example": "9481773053" + "description": "Mobile number with 6 to 22 digits are valid." }, "orgId": { "type": "string", - "example": "1.22337203685477E14" + "example": "orgId" }, - "redirectTo": { + "otp": { "type": "string", - "example": "transactions", - "enum": ["transactions", "disputes"] - }, - "additionalInfo": { - "type": "object", - "properties": {}, - "description": "Additional Session information" + "example": "otp" }, - "billParams": { - "type": "array", - "items": { - "required": ["name", "value"], - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The display name of the parameter. This has to match what is sent in fields.", - "example": "Loan Number" - }, - "value": { - "type": "string", - "description": "The value of the customer parameter", - "example": "1895159" - } - } - } + "refId": { + "type": "string", + "example": "refId" }, - "billerId": { + "sessionId": { "type": "string", - "example": "MAHI0000001" + "example": "sessionId" } }, - "x-omitempty": true, - "x-go-name": "EtherealLinkCreateRequest" + "x-go-name": "EtherealLoginValidateRequest", + "x-omitempty": true } } }, @@ -138,6 +3484,12 @@ "type": "string" } }, + "Set-Cookie": { + "description": "key1=value1", + "schema": { + "type": "string" + } + }, "Pragma": { "description": "Pragma", "schema": { @@ -157,24 +3509,16 @@ "required": ["success", "traceId"], "type": "object", "properties": { - "link": { - "type": "string", - "example": "link" - }, - "sessionId": { + "traceId": { "type": "string", - "example": "sessionId" + "example": "C3SFG0O6N88R6UI7EQ" }, "success": { "type": "boolean", "example": true - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } }, - "x-go-name": "EtherealLinkCreateResponse", + "x-go-name": "EtherealLoginValidateResponse", "x-omitempty": true } } @@ -188,27 +3532,199 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false + } + } + } + } + } + }, + "500": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } }, + "success": { + "type": "boolean", + "example": false + } + } + } + } + } + } + }, + "security": [], + "x-codegen-request-body-name": "EtherealLoginValidateRequest" + } + }, + "/api/v2/ethereal/payments": { + "get": { + "tags": ["Link Generation"], + "description": "Returns the list of payments (ethereal txns + bbps txns) for the customer mobile linked to the session (for otl) or cookie (for static link) - to be used only by the Ethereal", + "operationId": "GetEtherealPayments", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "maximum": 100.0, + "type": "integer" + } + }, + { + "name": "cursor", + "in": "query", + "description": "Base64 encoded OrderId", + "schema": { + "type": "string" + } + }, + { + "name": "createdSince", + "in": "query", + "description": "List the payments that were created since the given datetime (with timestamp)", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "months", + "in": "query", + "description": "Month ranges. A full-date notation as defined by 'RFC 3339, section 5.6' has to be provided but only month and year will be considered.", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "format": "date" + } + } + }, + { + "name": "status", + "in": "query", + "description": "Order Status", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": ["SUCCESS", "INIT", "FAILURE"] + } + } + }, + { + "name": "categories", + "in": "query", + "description": "Biller Categories", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "orderIds", + "in": "query", + "description": "Order IDs", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": ["error", "success", "traceId"], + "type": "object", + "properties": { "traceId": { "type": "string", "example": "C3SFG0O6N88R6UI7EQ" + }, + "error": { + "required": ["code", "message"], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "error-code-if-any" + }, + "message": { + "type": "string", + "example": "error-message-if-any" + } + } + }, + "success": { + "type": "boolean", + "example": false } } } @@ -223,36 +3739,227 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false + } + } + } + } + } + }, + "200": { + "description": "List of Payments", + "headers": { + "X-Frame-Options": { + "description": "X Frame options", + "schema": { + "type": "string" + } + }, + "Strict-Transport-Security": { + "description": "Strict transport security", + "schema": { + "type": "string" + } + }, + "Cache-Control": { + "description": "Cache control", + "schema": { + "type": "string" + } + }, + "X-Content-Type-Options": { + "description": "X Content type options", + "schema": { + "type": "string" + } + }, + "Content-Security-Policy": { + "description": "Content security policy", + "schema": { + "type": "string" + } + }, + "Pragma": { + "description": "Pragma", + "schema": { + "type": "string" + } + }, + "X-XSS-Protection": { + "description": "X Xss Protection", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "required": ["data", "success", "traceId"], + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "cursor": { + "type": "string", + "description": "Base64 encoded OrderId to be passed in the query parameter cursor to fetch the next page" + }, + "payments": { + "type": "array", + "items": { + "required": [ + "OrderAmountInRupees", + "OrderCreatedAt", + "OrderId", + "OrderStatus" + ], + "type": "object", + "properties": { + "BBPSBillerID": { + "type": "string", + "example": "BBPSDUMMY001" + }, + "BBPSTxnRefId": { + "type": "string", + "example": "PP015076BX3VK1HF1111" + }, + "CustConvFee": { + "type": "integer" + }, + "OrderId": { + "type": "string", + "example": "1234567890" + }, + "BBPSBillerLogo": { + "type": "string", + "example": "https://example.com/logo.png" + }, + "BBPSBillerName": { + "type": "string", + "example": "Dummy Biller" + }, + "BBPSCustomerParams": { + "type": "array", + "description": "The bill params for fetching the bill", + "items": { + "required": ["name", "value"], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The display name of the parameter. This has to match what is sent in fields.", + "example": "John Doe" + }, + "value": { + "type": "string", + "description": "The value of the customer parameter", + "example": "1895159" + } + } + } + }, + "BBPSTxnStatus": { + "type": "string", + "example": "Success", + "enum": [ + "Processing", + "Success", + "Error", + "Credit_Adjustment" + ] + }, + "BBPSTxnTimestamp": { + "type": "string", + "example": "2025-03-17T19:03:06+05:30" + }, + "Bills": { + "type": "array", + "items": { + "required": ["amount", "billNumber"], + "type": "object", + "properties": { + "billNumber": { + "type": "string", + "example": "B1234567" + }, + "amount": { + "minimum": 1, + "type": "integer", + "description": "Amount in Paise" + } + }, + "x-omitempty": true + } + }, + "OrderRefundId": { + "type": "string", + "example": "1234567890" + }, + "BBPSRefID": { + "type": "string", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + }, + "OrderCreatedAt": { + "type": "string", + "format": "date-time" + }, + "OrderStatus": { + "type": "string", + "example": "SUCCESS", + "enum": ["SUCCESS", "INIT", "FAILURE"] + }, + "BBPSBillerCategory": { + "type": "string", + "example": "Electricity" + }, + "OrderAmountInRupees": { + "type": "string", + "description": "Amount in rupees", + "example": "10000" + } + } + } + } + } + }, + "success": { + "type": "boolean", + "example": true }, "traceId": { "type": "string", "example": "C3SFG0O6N88R6UI7EQ" } - } + }, + "x-go-name": "ListEtherealPaymentsResponse", + "x-omitempty": true } } } } }, - "security": [], - "x-codegen-request-body-name": "EtherealLinkCreateRequest" + "security": [] } }, "/api/v1/auth/token": { @@ -269,11 +3976,13 @@ "properties": { "clientID": { "type": "string", - "description": "clientID from the API key pair" + "description": "clientID from the API key pair", + "example": "exampleClientID" }, "secret": { "type": "string", - "description": "secret from the API key pair" + "description": "secret from the API key pair", + "example": "exampleSecret" } }, "description": "Fetch Token API payload" @@ -343,7 +4052,8 @@ }, "token": { "type": "string", - "description": "Token to be used in subsequent requests" + "description": "Token to be used in subsequent requests", + "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" } } }, @@ -374,27 +4084,27 @@ "required": ["error", "success", "traceId"], "type": "object", "properties": { + "traceId": { + "type": "string", + "example": "C3SFG0O6N88R6UI7EQ" + }, "error": { "required": ["code", "message"], "type": "object", "properties": { "code": { "type": "string", - "example": "validation-error" + "example": "error-code-if-any" }, "message": { "type": "string", - "example": "Input is invalid" + "example": "error-message-if-any" } } }, "success": { "type": "boolean", "example": false - }, - "traceId": { - "type": "string", - "example": "C3SFG0O6N88R6UI7EQ" } } } @@ -413,11 +4123,13 @@ "properties": { "clientID": { "type": "string", - "description": "clientID from the API key pair" + "description": "clientID from the API key pair", + "example": "exampleClientID" }, "secret": { "type": "string", - "description": "secret from the API key pair" + "description": "secret from the API key pair", + "example": "exampleSecret" } }, "description": "Fetch Token API payload" @@ -434,7 +4146,8 @@ }, "token": { "type": "string", - "description": "Token to be used in subsequent requests" + "description": "Token to be used in subsequent requests", + "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" } } }, @@ -476,6 +4189,7 @@ "clientCredentials": { "tokenUrl": "https://coudc.setu.co/api/v1/auth/token", "scopes": { + "bbps:admin": "Required scope", "cou:wl_partner": "Required scope" } } @@ -487,6 +4201,7 @@ "clientCredentials": { "tokenUrl": "https://sandbox-coudc.setu.co/api/v1/auth/token", "scopes": { + "bbps:admin": "Required scope", "cou:wl_partner": "Required scope" } } @@ -498,6 +4213,7 @@ "clientCredentials": { "tokenUrl": "https://qa-coudc.setu.co/api/v1/auth/token", "scopes": { + "bbps:admin": "Required scope", "cou:wl_partner": "Required scope" } }