diff --git a/api-references/payments/billpay/api-integration.json b/api-references/payments/billpay/api-integration.json index 423fd304..3799f28d 100644 --- a/api-references/payments/billpay/api-integration.json +++ b/api-references/payments/billpay/api-integration.json @@ -3241,6 +3241,15 @@ "refId": { "type": "string", "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + }, + "paymentType": { + "type": "string", + "description": "Indicates if the payment is being made for an FX mandate.", + "enum": [ + "MANDATE_AND_PAY" + ], + "example": "MANDATE_AND_PAY", + "x-omitempty": true } }, "x-omitempty": true @@ -12794,6 +12803,1405 @@ } ] } + }, + "/api/v2/bbps/valadd/{requestType}/request": { + "post": { + "tags": [ + "Val Add APIs" + ], + "description": "Initiate a Val Add operation", + "parameters": [ + { + "name": "requestType", + "in": "path", + "required": true, + "schema": { + "type": "string", + "enum": [ + "GetCustomerId", + "GenerateOTP", + "ValidateOTP", + "GetBankMarkup", + "FetchBestPrice" + ] + } + }, + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "Authorization", + "in": "header", + "required": true, + "schema": { + "type": "string", + "pattern": "^Bearer [a-zA-Z0-9\\-\\._~\\+\\/]+=*$" + }, + "description": "Bearer token for authentication. Format: `Bearer `", + "example": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..." + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "required": [ + "agent", + "biller", + "inputParams" + ], + "type": "object", + "properties": { + "agent": { + "required": [ + "channel", + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "example": "AX01AX26INBU00000001" + }, + "channel": { + "type": "string", + "example": "INTB" + }, + "ip": { + "type": "string", + "example": "124.170.23.24" + }, + "mac": { + "type": "string", + "example": "48-4D-7E-CB-DB-6F" + } + } + }, + "biller": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "example": "FXRE00000KER3U" + } + } + }, + "inputParams": { + "type": "array", + "description": "Input parameters required by the biller for this request.", + "items": { + "required": [ + "name", + "value" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "mobileNumber" + }, + "value": { + "type": "string", + "example": "9812000000" + } + } + } + } + } + }, + "examples": { + "getCustomerId": { + "summary": "Get Customer ID", + "value": { + "agent": { + "id": "AX01AX26INBU00000001", + "channel": "INTB", + "ip": "124.170.23.24", + "mac": "48-4D-7E-CB-DB-6F" + }, + "biller": { + "id": "FXRE00000KER3U" + }, + "inputParams": [ + { + "name": "mobileNumber", + "value": "9812000000" + } + ] + } + }, + "generateOtp": { + "summary": "Generate OTP", + "value": { + "agent": { + "id": "AX01AX26INBU00000001", + "channel": "INTB", + "ip": "124.170.23.24", + "mac": "48-4D-7E-CB-DB-6F" + }, + "biller": { + "id": "FXRE00000KER3U" + }, + "inputParams": [ + { + "name": "mobileNumber", + "value": "8838151414" + }, + { + "name": "emailId", + "value": "jayasurya.s_tra@npci.org.in" + }, + { + "name": "bankId", + "value": "10128" + }, + { + "name": "bankName", + "value": "INDIA POST PAYMENTS BANK LIMITED" + }, + { + "name": "bankAccountNumber", + "value": "150002000" + }, + { + "name": "customerAccountType", + "value": "Savings" + }, + { + "name": "ifsc", + "value": "ZSBL0000341" + }, + { + "name": "accountHolderName", + "value": "jayasurya" + }, + { + "name": "customerType", + "value": "ResidentIndividual" + }, + { + "name": "pan", + "value": "JS00024252" + }, + { + "name": "panValidated", + "value": "true" + } + ] + } + }, + "validateOtp": { + "summary": "Validate OTP", + "value": { + "agent": { + "id": "AX01AX26INBU00000001", + "channel": "INTB", + "ip": "124.170.23.24", + "mac": "48-4D-7E-CB-DB-6F" + }, + "biller": { + "id": "FXRE00000KER3U" + }, + "inputParams": [ + { + "name": "mobileNumber", + "value": "9182583612" + }, + { + "name": "emailId", + "value": "pragna.n@npci.org.in" + }, + { + "name": "mobileOTP", + "value": "870398" + }, + { + "name": "emailOTP", + "value": "806963" + }, + { + "name": "bankId", + "value": "10128" + }, + { + "name": "bankName", + "value": "INDIA POST PAYMENTS BANK LIMITED" + }, + { + "name": "bankAccountNumber", + "value": "150002000" + }, + { + "name": "customerAccountType", + "value": "Savings" + }, + { + "name": "ifsc", + "value": "ZSBL0000341" + }, + { + "name": "accountHolderName", + "value": "Pragna" + }, + { + "name": "customerType", + "value": "ResidentIndividual" + }, + { + "name": "pan", + "value": "NP00024253" + }, + { + "name": "panValidated", + "value": "true" + }, + { + "name": "tcFlag", + "value": "true" + } + ] + } + }, + "getBankMarkup": { + "summary": "Get Bank Markup", + "value": { + "agent": { + "id": "AX01AX26INBU00000001", + "channel": "INTB", + "ip": "124.170.23.24", + "mac": "48-4D-7E-CB-DB-6F" + }, + "biller": { + "id": "FXRE00000KER3U" + }, + "inputParams": [ + { + "name": "mobileNumber", + "value": "7075465595" + }, + { + "name": "customerId", + "value": "IN0025000217" + }, + { + "name": "pan", + "value": "NB00024252" + } + ] + } + }, + "fetchBestPrice": { + "summary": "Fetch Best Price", + "value": { + "agent": { + "id": "AX01AX26INBU00000001", + "channel": "INTB", + "ip": "124.170.23.24", + "mac": "48-4D-7E-CB-DB-6F" + }, + "biller": { + "id": "RBFX00000KARDG" + }, + "inputParams": [ + { + "name": "bankBranch", + "value": "SHIVAJI NAGAR" + }, + { + "name": "bankId", + "value": "10128" + }, + { + "name": "currency", + "value": "USD" + }, + { + "name": "customerId", + "value": "IN0025000213" + }, + { + "name": "deliveryMode", + "value": "Currency" + }, + { + "name": "ifsc", + "value": "ZSBL0000341" + }, + { + "name": "instrumentType", + "value": "CASH" + }, + { + "name": "markup", + "value": "0.5" + }, + { + "name": "mobileNumber", + "value": "8838151414" + }, + { + "name": "orderQuantity", + "value": "1000" + }, + { + "name": "pan", + "value": "JS00024252" + }, + { + "name": "relationshipBank", + "value": "INDIA POST PAYMENTS BANK LIMITED" + }, + { + "name": "tcFlag", + "value": "true" + }, + { + "name": "transactionType", + "value": "PURCHASE" + }, + { + "name": "units", + "value": "fixed" + } + ] + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Request acknowledged", + "content": { + "application/json": { + "schema": { + "required": [ + "data", + "status", + "traceId" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "Processing" + }, + "data": { + "required": [ + "refId" + ], + "type": "object", + "properties": { + "refId": { + "type": "string", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + } + } + }, + "traceId": { + "type": "string", + "example": "CV4PE82LTNJE9O014OE1" + } + } + } + } + } + }, + "400": { + "description": "Bad request" + }, + "500": { + "description": "Internal server error" + } + }, + "security": [ + { + "Production": [ + "bbps:partner" + ] + }, + { + "Sandbox": [ + "bbps:partner" + ] + }, + { + "QA": [ + "bbps:partner" + ] + } + ] + } + }, + "/api/v2/bbps/valadd/{requestType}/response": { + "post": { + "tags": [ + "Val Add APIs" + ], + "description": "Poll for the result of a Val Add operation, as a fallback for webhooks.", + "parameters": [ + { + "name": "requestType", + "in": "path", + "required": true, + "schema": { + "type": "string", + "enum": [ + "GetCustomerId", + "GenerateOTP", + "ValidateOTP", + "GetBankMarkup", + "FetchBestPrice" + ] + } + }, + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "Authorization", + "in": "header", + "required": true, + "schema": { + "type": "string", + "pattern": "^Bearer [a-zA-Z0-9\\-\\._~\\+\\/]+=*$" + }, + "description": "Bearer token for authentication. Format: `Bearer `", + "example": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..." + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "required": [ + "refId" + ], + "type": "object", + "properties": { + "refId": { + "type": "string", + "description": "The COU-generated refId for the Val Add operation.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Result retrieved", + "content": { + "application/json": { + "schema": { + "required": [ + "refId", + "status", + "traceId" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Current state of the Val Add operation.", + "example": "Success" + }, + "refId": { + "type": "string", + "description": "COU-generated reference ID for the Val Add operation.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + }, + "traceId": { + "type": "string", + "example": "CV4PE82LTNJE9O014OE0" + }, + "data": { + "type": "object", + "description": "Val Add result payload (varies by requestType). On success, contains `billerResponse`. On failure, contains `errors`.", + "properties": { + "billerResponse": { + "type": "array", + "description": "Key-value pairs returned by the biller for the Val Add operation. Present when status is `Success`.", + "items": { + "required": [ + "name", + "value" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "customerId" + }, + "value": { + "type": "string", + "example": "IN0025000213" + } + } + } + }, + "errors": { + "type": "array", + "description": "Error details. Present when status is `Failure`.", + "items": { + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Error code identifying the failure reason.", + "example": "CUS007" + }, + "message": { + "type": "string", + "description": "Human-readable error description.", + "example": "Customer does not exist" + } + } + } + } + } + } + } + } + , + "examples": { + "exampleGetCustomerIdSuccess": { + "summary": "Get Customer ID Success", + "value": { + "status": "Success", + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "traceId": "CV4PE82LTNJE9O014OE0", + "data": { + "billerResponse": [ + { + "name": "customerId", + "value": "IN0025000213" + }, + { + "name": "customerType", + "value": "RESIDENTINDIVIDUAL" + } + ] + } + } + }, + "exampleGenerateOtpSuccess": { + "summary": "Generate OTP Success", + "value": { + "status": "Success", + "refId": "OTPGENREF1234567890ABCDEFGHIJKLMNOPQ", + "traceId": "CV4PE82LTNJE9O014OTP", + "data": { + "billerResponse": [ + { + "name": "mobileNumber", + "value": "9812000000" + }, + { + "name": "emailId", + "value": "jane.doe@gmail.com" + }, + { + "name": "bankId", + "value": "10128" + }, + { + "name": "bankName", + "value": "INDIA POST PAYMENTS BANK LIMITED" + }, + { + "name": "bankAccountNumber", + "value": "150002000" + }, + { + "name": "customerAccountType", + "value": "Savings" + }, + { + "name": "ifsc", + "value": "ICIC0006720" + }, + { + "name": "accountHolderName", + "value": "jayasurya" + }, + { + "name": "customerType", + "value": "Individual" + }, + { + "name": "pan", + "value": "BPEPS55XXX" + }, + { + "name": "panValidated", + "value": "true" + }, + { + "name": "authenticationMethod", + "value": "OTP" + } + ] + } + } + }, + "exampleValidateOtpSuccess": { + "summary": "Validate OTP Success", + "value": { + "status": "Success", + "refId": "OTPVALREF1234567890RSTUVWXYZABCDEFG", + "traceId": "CV4PE82LTNJE9O01VAL", + "data": { + "billerResponse": [ + { + "name": "customerId", + "value": "IN0025000219" + }, + { + "name": "customerType", + "value": "RESIDENTINDIVIDUAL" + } + ] + } + } + }, + "exampleGetBankMarkupSuccess": { + "summary": "Get Bank Markup Success", + "value": { + "status": "Success", + "refId": "MARKUPREF1234567890HIJKLMNOPQRSTUV", + "traceId": "CV4PE82LTNJE9O0MARK", + "data": { + "billerResponse": [ + { + "name": "relationshipBank", + "value": "INDIA POST PAYMENTS BANK LIMITED", + "billerSpecificInfo": { + "billerId": "BBPSRELATIONSHIPBANK1", + "rate": "0.5", + "units": "fixed", + "indicativePrice": "8500", + "bankId": "10128", + "homeBranchIFSC": "ZSBL0000341" + } + }, + { + "name": "relationshipBank", + "value": "AXIS Bank", + "billerSpecificInfo": { + "billerId": "BBPSRELATIONSHIPBANK2", + "rate": "10.12", + "units": "fixed", + "indicativePrice": "8515", + "bankId": "AX01", + "homeBranchIFSC": "AXIS00006720" + } + }, + { + "name": "relationshipBank", + "value": "ICICI Bank", + "billerSpecificInfo": { + "billerId": "BBPSRELATIONSHIPBANK3", + "rate": "1.325", + "units": "percentage", + "indicativePrice": "8540", + "bankId": "IC01", + "homeBranchIFSC": "ICICI0006720" + } + } + ], + "additionalInfo": [ + { + "name": "accountHolderName", + "value": "Pragna" + }, + { + "name": "tcFlag", + "value": "true" + } + ] + } + } + }, + "exampleFetchBestPriceSuccess": { + "summary": "Fetch Best Price Success", + "value": { + "status": "Success", + "refId": "BESTPRCREF123456789WXYZABCDEFGHIJKL", + "traceId": "CV4PE82LTNJE9O0BEST", + "data": { + "billerResponse": [ + { + "name": "currency", + "value": "USD" + }, + { + "name": "dateOfDelivery", + "value": "2025-05-22" + }, + { + "name": "orderQuantity", + "value": "1000" + }, + { + "name": "bestPrice", + "value": "8505.5" + }, + { + "name": "markup", + "value": "0.5" + }, + { + "name": "units", + "value": "fixed" + }, + { + "name": "totalPayableAmount", + "value": "8506000" + } + ] + } + } + }, + "exampleProcessing": { + "summary": "Operation Still Processing", + "value": { + "status": "Processing", + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "traceId": "CV4PE82LTNJE9O014OE3", + "data": null + } + }, + "exampleFailureInvalidMobile": { + "summary": "Failure (Generic)", + "value": { + "status": "Failure", + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "traceId": "CV4PE82LTNJE9O014OE0", + "data": { + "errors": [ + { + "code": "error-code", + "message": "Error message" + } + ] + } + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "required": [ + "error", + "status", + "traceId" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "Failed" + }, + "traceId": { + "type": "string", + "example": "CV4PE82LTNJE9O014OE0" + }, + "error": { + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "validation-error" + }, + "message": { + "type": "string", + "example": "Input is invalid" + } + } + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "required": [ + "error", + "status", + "traceId" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "Failed" + }, + "traceId": { + "type": "string", + "example": "CV4PE82LTNJE9O014OE0" + }, + "error": { + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "not-found" + }, + "message": { + "type": "string", + "example": "Resource not found" + } + } + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "required": [ + "error", + "status", + "traceId" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "Failed" + }, + "traceId": { + "type": "string", + "example": "CV4PE82LTNJE9O014OE0" + }, + "error": { + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "internal-server-error" + }, + "message": { + "type": "string", + "example": "Internal server error" + } + } + } + } + } + } + } + } + }, + "security": [ + { + "Production": [ + "bbps:partner" + ] + }, + { + "Sandbox": [ + "bbps:partner" + ] + }, + { + "QA": [ + "bbps:partner" + ] + } + ] + } + }, + "/api/v2/bbps/bills/mandate/request": { + "post": { + "tags": [ + "Mandate API" + ], + "description": "Partner App requests COU to book an FX mandate after customer confirmation of the best price. For CASH transactions, this effectively means the mandate is placed.", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "Authorization", + "in": "header", + "required": true, + "schema": { + "type": "string", + "pattern": "^Bearer [a-zA-Z0-9\\-\\._~\\+\\/]+=*$" + }, + "description": "Bearer token for authentication. Format: `Bearer `", + "example": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..." + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "required": [ + "agent", + "biller", + "customer", + "mandate" + ], + "type": "object", + "properties": { + "agent": { + "required": [ + "channel", + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "example": "AX01AX26INBU00000001" + }, + "channel": { + "type": "string", + "example": "INTB" + }, + "ip": { + "type": "string", + "example": "124.170.23.24" + }, + "mac": { + "type": "string", + "example": "48-4D-7E-CB-DB-6F" + } + } + }, + "biller": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "example": "HD5140000NAT02" + } + } + }, + "customer": { + "required": [ + "customerParams" + ], + "type": "object", + "properties": { + "customerParams": { + "type": "array", + "items": { + "required": [ + "name", + "value" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "customerId" + }, + "value": { + "type": "string", + "example": "IN0025000213" + } + } + } + } + } + }, + "mandate": { + "required": [ + "amount", + "mandateRefId", + "mode" + ], + "type": "object", + "properties": { + "mode": { + "type": "string", + "example": "UPI" + }, + "amount": { + "type": "integer", + "example": 8260000 + }, + "mandateRefId": { + "type": "string", + "example": "d30eb5d76250a2faa76c5a2a59c76cc3" + } + } + } + } + } + } + } + }, + "responses": { + "200": { + "description": "FX Mandate booking request initiated", + "content": { + "application/json": { + "schema": { + "required": [ + "data", + "status", + "traceId" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "Processing" + }, + "data": { + "required": [ + "refId" + ], + "type": "object", + "properties": { + "refId": { + "type": "string", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + } + } + }, + "traceId": { + "type": "string", + "example": "CV6PG04MUNJG9P126QG3" + } + } + } + } + } + }, + "400": { + "description": "Bad request" + }, + "500": { + "description": "Internal server error" + } + }, + "security": [ + { + "Production": [ + "bbps:partner" + ] + }, + { + "Sandbox": [ + "bbps:partner" + ] + }, + { + "QA": [ + "bbps:partner" + ] + } + ] + } + }, + "/api/v2/bbps/bills/mandate/response": { + "post": { + "tags": [ + "Mandate API" + ], + "description": "Partner App polls COU for the status and result of a previously initiated FX Mandate booking operation.", + "parameters": [ + { + "name": "X-PARTNER-ID", + "in": "header", + "description": "Partner ID", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "Authorization", + "in": "header", + "required": true, + "schema": { + "type": "string", + "pattern": "^Bearer [a-zA-Z0-9\\-\\._~\\+\\/]+=*$" + }, + "description": "Bearer token for authentication. Format: `Bearer `", + "example": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..." + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "required": [ + "refId" + ], + "type": "object", + "properties": { + "refId": { + "type": "string", + "description": "The COU-generated refId for the Mandate booking operation.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Status retrieved", + "content": { + "application/json": { + "schema": { + "required": [ + "refId", + "status", + "traceId" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Current state of the mandate booking operation.", + "example": "Success" + }, + "refId": { + "type": "string", + "description": "COU-generated reference ID for the mandate booking operation.", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + }, + "traceId": { + "type": "string", + "example": "CV6PG04MUNJG9P126QG3" + }, + "data": { + "type": "object", + "description": "Mandate booking result payload.", + "properties": { + "billerRefId": { + "type": "string", + "description": "Biller reference ID (when available).", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + }, + "transactionId": { + "type": "string", + "description": "Transaction identifier (when available).", + "example": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + }, + "billerResponse": { + "type": "object", + "description": "Response object returned by the biller.", + "properties": { + "amount": { + "type": "string", + "description": "Amount for the mandate (as returned by biller).", + "example": "8260000" + } + } + }, + "additionalInfo": { + "type": "object", + "description": "Additional biller-provided context (keys may vary).", + "properties": { + "currency": { + "type": "string", + "example": "USD" + }, + "dateOfDelivery": { + "type": "string", + "example": "2025-05-22" + }, + "orderQuantity": { + "type": "string", + "example": "1000" + }, + "bestPrice": { + "type": "string", + "example": "8499.75" + }, + "markup": { + "type": "string", + "example": "0.5" + }, + "units": { + "type": "string", + "example": "fixed" + }, + "deliveryMode": { + "type": "string", + "example": "Currency" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "required": [ + "error", + "status", + "traceId" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "Failed" + }, + "traceId": { + "type": "string", + "example": "CV6PG04MUNJG9P126QG3" + }, + "error": { + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "not-found" + }, + "message": { + "type": "string", + "example": "Resource not found" + } + } + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "required": [ + "error", + "status", + "traceId" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "Failed" + }, + "traceId": { + "type": "string", + "example": "CV6PG04MUNJG9P126QG3" + }, + "error": { + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "internal-server-error" + }, + "message": { + "type": "string", + "example": "Internal server error" + } + } + } + } + } + } + } + } + }, + "security": [ + { + "Production": [ + "bbps:partner" + ] + }, + { + "Sandbox": [ + "bbps:partner" + ] + }, + { + "QA": [ + "bbps:partner" + ] + } + ] + } } }, "components": { diff --git a/content/menuItems.json b/content/menuItems.json index 983a5209..af17f371 100644 --- a/content/menuItems.json +++ b/content/menuItems.json @@ -1 +1 @@ -{"home":[{"name":"Payments","path":"payments","order":0,"visible_in_sidebar":true,"api_reference":true,"children":[{"name":"BBPS BillCollect","path":"bbps","order":0,"visible_in_sidebar":true,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"BBPS API reference","path":"api-reference","order":9},{"name":"Axis BBPS","visible_in_sidebar":false,"page_title":"Axis BBPS API Approach Document","path":"axis","order":10},{"name":"Bill Structure","visible_in_sidebar":true,"page_title":"BBPS - Bill Structure","path":"bill-structure","order":5,"children":[{"name":"Special cases","visible_in_sidebar":true,"page_title":"BBPS - Bill Structure special cases","path":"special-cases","order":1}]},{"name":"Go live","visible_in_sidebar":true,"page_title":"BBPS - Go live","path":"go-live","order":3},{"name":"Notifications","visible_in_sidebar":true,"page_title":"BBPS - Notifications","path":"notifications","order":4},{"name":"Overview","visible_in_sidebar":true,"page_title":"BBPS - Overview","path":"overview","order":1},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS - Quickstart","path":"quickstart","order":2,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"BBPS - API integration","path":"api-integration","order":2,"children":[{"name":"Fetch & Pay","visible_in_sidebar":true,"page_title":"API integration - Fetch & Pay","path":"fetch-pay","order":1},{"name":"Validate & Pay","visible_in_sidebar":true,"page_title":"BBPS - API integration","path":"validate-pay","order":2}]},{"name":"No-code CSV","visible_in_sidebar":true,"page_title":"BBPS - No-code CSV","path":"no-code-integration","order":1},{"name":"Share bills","visible_in_sidebar":false,"page_title":"BBPS - Share bills","path":"share-biils","order":1}]},{"name":"Reports API","visible_in_sidebar":true,"page_title":"BBPS - Reports API","path":"reports","order":6},{"name":"Additional resources","visible_in_sidebar":true,"page_title":"BBPS - Additional Resources","path":"resources","order":8,"children":[{"name":"Errors","visible_in_sidebar":true,"page_title":"BBPS error codes","path":"errors","order":4},{"name":"JWT authentication","visible_in_sidebar":true,"page_title":"UPI Deeplinks JWT authentication","path":"jwt","order":2},{"name":"OAuth 2.0","visible_in_sidebar":true,"page_title":"BBPS OAuth 2.0","path":"oauth","order":1},{"name":"Settlement object","visible_in_sidebar":true,"page_title":"UPI Deeplinks settlement object","path":"settlement-object","order":3}]}]},{"name":"BBPS BillPay","path":"billpay","order":1,"versions":["v1","v2"],"default_version":"v2","visible_in_sidebar":true,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"BBPS Billpay API integration","path":"api-integration","order":1,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"COU Direct Connectivity API reference","path":"api-reference","order":8},{"name":"List of APIs","visible_in_sidebar":true,"page_title":"BBPS COU - List of APIs","path":"apis","order":2},{"name":"Harmonization of TAT","visible_in_sidebar":true,"page_title":"Harmonization Of TAT (Disputes API)","path":"harmonization_of_tat","order":6},{"name":"Objects","visible_in_sidebar":true,"page_title":"BBPS COU - Objects","path":"objects","order":9},{"name":"Paying Bills","visible_in_sidebar":true,"page_title":"Paying Bills","path":"paying-bills","order":4,"children":[{"name":"Paying for options","visible_in_sidebar":true,"page_title":"Paying for alternative options","path":"bill-payment-options","order":4},{"name":"Passing CCF","visible_in_sidebar":true,"page_title":"Customer Convenience Fee (CCF) Integration Guide","path":"customer-convenience-fee","order":3},{"name":"Paying multiple bills","visible_in_sidebar":true,"page_title":"Paying for multiple bills","path":"multi-bill-processing","order":5},{"name":"Paying for plans","visible_in_sidebar":true,"page_title":"Paying for plans","path":"plan-mdm-integration","order":6},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS Bill Payment Integration Guide","path":"quickstart","order":1},{"name":"Remitter Details","visible_in_sidebar":true,"page_title":"Passing Remitter Details","path":"remittance_flows_guide","order":2}]},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS COU - API integration","path":"quickstart","order":1},{"name":"Integrating with UPMS","visible_in_sidebar":true,"page_title":"BBPS COU - Integrating with UPMS","path":"upms","order":7},{"name":"Migration Guide to v2","visible_in_sidebar":true,"page_title":"BBPS COU - Migration Guide to v2","path":"v2-migration","order":5},{"name":"Webhooks","visible_in_sidebar":true,"page_title":"BBPS COU - Webhooks","path":"webhooks","order":3}]},{"name":"API reference","visible_in_sidebar":false,"page_title":"BillPay API reference","path":"api-reference","order":5},{"name":"Prepaid Recharge","visible_in_sidebar":true,"page_title":"BBPS Billpay Prepaid Recharge APIs","path":"mobile-prepaid-recharge","order":3,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Mobile Prepaid Recharge API reference","path":"api-reference","order":2},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Mobile Prepaid Recharge quickstart","path":"quickstart","order":1},{"name":"Webhooks","visible_in_sidebar":true,"page_title":"Mobile Prepaid Recharge Webhooks","path":"webhooks","order":3}]},{"name":"Overview","visible_in_sidebar":true,"page_title":"BBPS Billpay Overview","path":"overview","order":0},{"name":"Pre-built screens","visible_in_sidebar":true,"page_title":"BBPS Billpay pre-built screens","path":"pre-built-screens","order":2,"children":[{"name":"API reference","visible_in_sidebar":false,"page_title":"BBPS Billpay API reference","path":"api-reference-wl","order":4},{"name":"API reference","visible_in_sidebar":true,"page_title":"BBPS Billpay API reference","path":"api-reference","order":5},{"name":"Custom payment","visible_in_sidebar":true,"page_title":"BBPS Billpay custom payment","path":"custom-payment","order":2,"children":[{"name":"Android","visible_in_sidebar":true,"page_title":"BBPS Billpay android integration for custom payment","path":"android","order":3},{"name":"Required APIs","visible_in_sidebar":true,"page_title":"BBPS Billpay APIs for custom payment","path":"apis","order":1},{"name":"Cross platform","visible_in_sidebar":true,"page_title":"BBPS Billpay cross-platform integration for custom payment","path":"cross-platform","order":3},{"name":"iOS","visible_in_sidebar":true,"page_title":"BBPS Billpay iOS integration for custom payment","path":"iOS","order":4},{"name":"Website","visible_in_sidebar":true,"page_title":"BBPS Billpay website integration for custom payment","path":"website","order":2}]},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS Billpay Quickstart","path":"quickstart","order":1,"children":[{"name":"Android","visible_in_sidebar":true,"page_title":"BBPS Billpay Android integration","path":"android","order":2},{"name":"API","visible_in_sidebar":false,"page_title":"BBPS Billpay API","path":"api","order":2},{"name":"Cross platform","visible_in_sidebar":true,"page_title":"BBPS Billpay cross platform integration","path":"cross-platform","order":4},{"name":"iOS","visible_in_sidebar":true,"page_title":"BBPS Billpay iOS integration","path":"iOS","order":3},{"name":"Website","visible_in_sidebar":true,"page_title":"BBPS Billpay website","path":"website","order":1}]},{"name":"Remitter Details","visible_in_sidebar":true,"page_title":"Remitter Details For Bill Payments Integration Guide","path":"remitter-details","order":4},{"name":"Webhooks","visible_in_sidebar":true,"page_title":"BBPS Billpay webhooks","path":"webhooks","order":2}]},{"name":"MCP Server for Bill Payments","path":"mcp","order":6,"visible_in_sidebar":false,"children":[{"name":"Integration Guide","visible_in_sidebar":false,"page_title":"MCP Server for Bill Payments \u2013 Integration Guide","path":"integration-guide","order":1},{"name":"Tools and Prompts","visible_in_sidebar":false,"page_title":"MCP Server for Bill Payments - Tools and Prompts","path":"tools-and-prompts","order":2}]},{"path":"v1","children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"BBPS Billpay API integration","path":"api-integration","order":1,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"COU Direct Connectivity API reference","path":"api-reference","order":5},{"name":"List of APIs","visible_in_sidebar":true,"page_title":"BBPS COU - List of APIs","path":"apis","order":2},{"name":"Deprecated APIs","visible_in_sidebar":false,"page_title":"BBPS COU - API integration (deprecated)","path":"deprecated","order":4,"children":[{"name":"Mock environment","visible_in_sidebar":false,"page_title":"BBPS Billpay Mock environment","path":"mock-environment","order":2},{"name":"Polling","visible_in_sidebar":false,"page_title":"BBPS Billpay polling","path":"polling","order":2}]},{"name":"Objects","visible_in_sidebar":true,"page_title":"BBPS COU - Objects","path":"objects","order":3},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS COU - API integration","path":"quickstart","order":1},{"name":"Webhooks","visible_in_sidebar":true,"page_title":"BBPS COU - Webhooks","path":"webhooks","order":4}]},{"name":"API reference","visible_in_sidebar":false,"page_title":"BillPay API reference","path":"api-reference","order":5},{"name":"Overview","visible_in_sidebar":true,"page_title":"BBPS Billpay Overview","path":"overview","order":0},{"name":"Pre-built screens","visible_in_sidebar":true,"page_title":"BBPS Billpay pre-built screens","path":"pre-built-screens","order":2,"children":[{"name":"API reference","visible_in_sidebar":false,"page_title":"BBPS Billpay API reference","path":"api-reference-wl","order":4},{"name":"API reference","visible_in_sidebar":true,"page_title":"BBPS Billpay API reference","path":"api-reference","order":4},{"name":"Custom payment","visible_in_sidebar":true,"page_title":"BBPS Billpay custom payment","path":"custom-payment","order":2,"children":[{"name":"Android","visible_in_sidebar":true,"page_title":"BBPS Billpay android integration for custom payment","path":"android","order":3},{"name":"Required APIs","visible_in_sidebar":true,"page_title":"BBPS Billpay APIs for custom payment","path":"apis","order":1},{"name":"Cross platform","visible_in_sidebar":true,"page_title":"BBPS Billpay cross-platform integration for custom payment","path":"cross-platform","order":3},{"name":"iOS","visible_in_sidebar":true,"page_title":"BBPS Billpay iOS integration for custom payment","path":"iOS","order":4},{"name":"Website","visible_in_sidebar":true,"page_title":"BBPS Billpay website integration for custom payment","path":"website","order":2}]},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS Billpay Quickstart","path":"quickstart","order":1,"children":[{"name":"Android","visible_in_sidebar":true,"page_title":"BBPS Billpay Android integration","path":"android","order":2},{"name":"API","visible_in_sidebar":true,"page_title":"BBPS Billpay API","path":"api","order":2},{"name":"Cross platform","visible_in_sidebar":true,"page_title":"BBPS Billpay cross platform integration","path":"cross-platform","order":4},{"name":"iOS","visible_in_sidebar":true,"page_title":"BBPS Billpay iOS integration","path":"iOS","order":3},{"name":"Website","visible_in_sidebar":true,"page_title":"BBPS Billpay website","path":"website","order":1}]},{"name":"Webhooks","visible_in_sidebar":true,"page_title":"BBPS Billpay webhooks","path":"webhooks","order":2}]}]}]},{"name":"WhatsApp Collect","path":"whatsapp-collect","order":3,"visible_in_sidebar":true,"children":[{"name":"API Integration","visible_in_sidebar":true,"page_title":"WhatsApp Collect API Integration","path":"api-integration","order":3},{"name":"API reference","visible_in_sidebar":true,"page_title":"WhatsApp Collect API reference","path":"api-reference","order":5},{"name":"Error codes","visible_in_sidebar":true,"page_title":"WhatsApp Collect error codes","path":"errors","order":4},{"name":"Collection journey","visible_in_sidebar":true,"page_title":"WhatsApp Collect Journey","path":"journey","order":1},{"name":"Overview","visible_in_sidebar":true,"page_title":"WhatsApp Collect Overview","path":"overview","order":0},{"name":"Collection reminders","visible_in_sidebar":true,"page_title":"WhatsApp Collect reminders","path":"reminders","order":2}]},{"name":"UPI DeepLinks","path":"upi-deeplinks","order":4,"visible_in_sidebar":true,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"UPI Deeplinks API reference","path":"api-reference","order":8},{"name":"Notifications","visible_in_sidebar":true,"page_title":"UPI Deeplinks Notifications","path":"notifications","order":6},{"name":"Overview","visible_in_sidebar":true,"page_title":"UPI Deeplinks Overview","path":"overview","order":0},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"UPI Deeplinks quickstart","path":"quickstart","order":1,"children":[{"name":"Go Live","visible_in_sidebar":true,"page_title":"UPI Deeplinks go live","path":"go-live","order":1}]},{"name":"Refunds","visible_in_sidebar":true,"page_title":"UPI Deeplinks Refunds","path":"refunds","order":4},{"name":"Reports API","visible_in_sidebar":true,"page_title":"UPI Deeplinks Reports API","path":"reports","order":5},{"name":"Additional resources","visible_in_sidebar":true,"page_title":"UPI Deeplinks additonal resources","path":"resources","order":6,"children":[{"name":"JWT authentication","visible_in_sidebar":true,"page_title":"UPI Deeplinks JWT authentication","path":"jwt","order":2},{"name":"OAuth 2.0","visible_in_sidebar":true,"page_title":"UPI Deeplinks OAuth 2.0","path":"oauth","order":1},{"name":"Settlement object","visible_in_sidebar":true,"page_title":"UPI Deeplinks settlement object","path":"settlement-object","order":3}]},{"name":"SDKs","visible_in_sidebar":true,"page_title":"UPI Deeplinks SDKs","path":"sdks","order":3},{"name":"Third party verification","visible_in_sidebar":true,"page_title":"UPI Deeplinks third party verification","path":"third-party-verification","order":3}]},{"name":"UPI Setu","path":"umap","order":7,"visible_in_sidebar":true,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"UPI Setu - API integration","path":"api-integration","order":2,"children":[{"name":"Aggregators","visible_in_sidebar":true,"page_title":"UPI Setu - API integration for aggregators","path":"aggregators","order":1},{"name":"Merchants","visible_in_sidebar":true,"page_title":"UPI Setu - API integration for merchants","path":"merchants","order":2}]},{"name":"API reference","visible_in_sidebar":true,"page_title":"UPI Setu - API reference","path":"api-reference","order":8},{"name":"UPI mandates","visible_in_sidebar":true,"page_title":"UPI mandates","path":"mandates","order":4,"children":[{"name":"Mandate operations","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Mandate operations","path":"generic","order":5,"children":[{"name":"Pause","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Pause","path":"pause","order":3},{"name":"Revoke","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Revoke","path":"revoke","order":2},{"name":"Unpause","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Unpause","path":"unpause","order":4},{"name":"Update","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Update","path":"update","order":1}]},{"name":"OneShot","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - OneShot","path":"one-shot","order":1,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Check payment status","path":"check-status","order":4},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Create One Time Mandate","path":"create","order":1},{"name":"Execute","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Execute One Time Mandate","path":"execute","order":3},{"name":"Pre Debit Notify","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Send One Time Mandate Pre Debit Notification","path":"pre-debit-notify","order":2}]},{"name":"Recur","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Recur","path":"recur","order":3,"children":[{"name":"Check payment status","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Check payment status","path":"check-status","order":4},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Create recurring mandate","path":"create","order":1},{"name":"Execute","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Execute mandate","path":"execute","order":3},{"name":"Pre Debit Notify","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Send Recurring Mandate Pre Debit Notification","path":"pre-debit-notify","order":2}]},{"name":"Reserve","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Reserve","path":"reserve","order":2,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Check payment status","path":"check-status","order":4},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Create Reserve Mandate","path":"create","order":1},{"name":"Execute","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Execute Reserve Mandate","path":"execute","order":3}]},{"name":"ReservePlus","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - ReservePlus","path":"reserve-plus","order":4,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Check payment status","path":"check-status","order":3},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Create single block multi-debit","path":"create","order":1},{"name":"Execute","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Execute single block multi-debit","path":"execute","order":2}]}]},{"name":"Merchant on-boarding","visible_in_sidebar":true,"page_title":"UPI Setu - Merchant onboarding","path":"merchant-onboarding","order":2,"children":[{"name":"Check VPA availability","visible_in_sidebar":true,"page_title":"UPI Setu - Merchant on-boarding - Check VPA availability","path":"check-vpa-availability-api","order":2},{"name":"Setup a merchant","visible_in_sidebar":true,"page_title":"UPI Setu - Merchant on-boarding - Setup merchant","path":"create-merchant-api","order":1},{"name":"Registering VPA","visible_in_sidebar":true,"page_title":"UPI Setu - Merchant on-boarding - Registering a VPA","path":"create-vpa-api","order":3}]},{"name":"Notifications and alerts","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts","path":"notifications","order":7,"children":[{"name":"VPA verification","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Customer VPA verification","path":"customer-vpa-verification","order":6},{"name":"Mandates","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Mandates","path":"mandates","order":3,"children":[{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Creation of mandate","path":"create","order":1},{"name":"Execute","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Mandate execution","path":"execute","order":7},{"name":"Notify","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Mandate pre-debit notifications","path":"notify","order":6},{"name":"Pause","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Pausing mandate","path":"pause","order":4},{"name":"Revoke","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Revoking mandate","path":"revoke","order":3},{"name":"Unpause","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Unpausing mandate","path":"unpause","order":5},{"name":"Update","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Updating mandate","path":"update","order":2}]},{"name":"Payments","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Payments","path":"payments","order":2},{"name":"Refunds","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Refunds","path":"refunds","order":4},{"name":"Verify signature","visible_in_sidebar":true,"page_title":"UMAP - Events and notifications","path":"verify-signature","order":1}]},{"name":"Overview","visible_in_sidebar":true,"page_title":"UPI Setu - Overview","path":"overview","order":0},{"name":"UPI payments","visible_in_sidebar":true,"page_title":"UPI payments","path":"payments","order":3,"children":[{"name":"Collect","visible_in_sidebar":true,"page_title":"UPI payments - Collect","path":"collect","order":2,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu payments - Collect request - Check payment status","path":"check-status","order":3},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu payments - Create collect request","path":"create-collect-request","order":2},{"name":"Verify customer VPA","visible_in_sidebar":true,"page_title":"UPI Setu payments - Verify customer VPA","path":"verify-customer-vpa-api","order":1}]},{"name":"Flash","visible_in_sidebar":true,"page_title":"UPI payments - Flash","path":"flash","order":1,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu payments - Intent/QR - Check payment status","path":"check-status","order":2},{"name":"Dynamic QR","visible_in_sidebar":true,"page_title":"UPI Setu payments - Create Dynamic QR","path":"create-dqr","order":1},{"name":"Static QR","visible_in_sidebar":true,"page_title":"UPI Setu payments - Create Static QR","path":"create-sqr","order":1}]},{"name":"TPV","visible_in_sidebar":true,"page_title":"UPI payments - TPV","path":"tpv","order":3,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu - Payments - TPV - Check payment status","path":"check-status","order":2},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Payments - Create TPV API","path":"create-tpv","order":1},{"name":"Payments","visible_in_sidebar":true,"page_title":"UMAP - Notifications and alerts - Payments","path":"life-cycle","order":1}]}]},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"UPI Setu - Quickstart","path":"quickstart","order":1,"children":[{"name":"Aggregators","visible_in_sidebar":true,"page_title":"UPI Setu - Quickstart for aggregators","path":"aggregators","order":1},{"name":"Merchants","visible_in_sidebar":true,"page_title":"UPI Setu - Quickstart for merchants","path":"merchants","order":2}]},{"name":"Refunds and disputes","visible_in_sidebar":true,"page_title":"UPI Setu - Refunds and disputes","path":"refunds-disputes","order":6,"children":[{"name":"Check refund status","visible_in_sidebar":true,"page_title":"UPI Setu - Refunds and disputes - Check refund status API","path":"check-refund-status-api","order":2},{"name":"Create refund","visible_in_sidebar":true,"page_title":"UPI Setu - Refunds and disputes - Create refund API","path":"create-refund-api","order":1},{"name":"Fetch dispute","visible_in_sidebar":true,"page_title":"UPI Setu - Refunds and disputes - Fetch dispute API","path":"fetch-dispute-api","order":3}]},{"name":"Transaction Monitoring","visible_in_sidebar":false,"page_title":"UPI Setu - Transaction Monitoring","path":"transaction-monitoring","order":5,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu - Transaction monitoring - Check status API","path":"check-status-api","order":1},{"name":"Check status history","visible_in_sidebar":true,"page_title":"UPI Setu - Transaction monitoring - Check status sistory API","path":"check-status-history-api","order":2},{"name":"Fetch payment","visible_in_sidebar":true,"page_title":"UPI Setu - Transaction monitoring - Fetch payment API","path":"fetch-payment-api","order":3}]}]}]},{"name":"Data","path":"data","order":1,"visible_in_sidebar":true,"children":[{"name":"KYC","path":"kyc","order":0,"visible_in_sidebar":true,"children":[{"name":"Secure Data Add-On","visible_in_sidebar":true,"page_title":"Setu Encrypted APIs","path":"encryption","order":2},{"name":"Overview","visible_in_sidebar":true,"page_title":"Setu KYC Overview","path":"overview","order":1}]},{"name":"PAN verification","path":"pan","order":0,"visible_in_sidebar":false,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"PAN verification API reference","path":"api-reference","order":1},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"PAN verification quickstart","path":"quickstart","order":0}]},{"name":"Aadhaar eSign","path":"esign","order":2,"visible_in_sidebar":true,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Aadhaar eSign API reference","path":"api-reference","order":9},{"name":"Error codes","visible_in_sidebar":true,"page_title":"Aadhaar eSign error codes","path":"error-codes","order":8},{"name":"eStamp overview","visible_in_sidebar":true,"page_title":"eStamp overview","path":"estamp","order":2},{"name":"Flexible eSign guide","visible_in_sidebar":true,"page_title":"Integration guide with flexible signature coordinates","path":"flexi-esign","order":4},{"name":"eSign Name Match","visible_in_sidebar":true,"page_title":"Aadhaar eSign Name Match","path":"name-match","order":6},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Aadhaar eSign Notifications","path":"notifications","order":7},{"name":"Overview","visible_in_sidebar":true,"page_title":"Aadhaar eSign overview","path":"overview","order":1},{"name":"PDF templates","visible_in_sidebar":true,"page_title":"Integration guide with pdf templating API's","path":"pdf-templating","order":5},{"name":"Integration guide","visible_in_sidebar":true,"page_title":"Aadhaar eSign integration guide","path":"quickstart","order":3}]},{"name":"DigiLocker","path":"digilocker","order":3,"visible_in_sidebar":false,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Digilocker API reference","path":"api-reference","order":3},{"name":"Error codes","visible_in_sidebar":true,"page_title":"DigiLocker error codes","path":"error-codes","order":4},{"name":"Overview","visible_in_sidebar":true,"page_title":"Digilocker overview","path":"overview","order":0},{"name":"Pull Driving Licence","visible_in_sidebar":true,"page_title":"Digilocker Quickstart","path":"pulldrivinglicense","order":2},{"name":"Integration guide","visible_in_sidebar":true,"page_title":"Digilocker quickstart","path":"quickstart","order":1}]},{"name":"AA Gateway","path":"account-aggregator","order":4,"versions":["v1","v2"],"default_version":"v2","visible_in_sidebar":true,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"Account Aggregator API integration","path":"api-integration","order":3,"children":[{"name":"Account Availability","visible_in_sidebar":true,"page_title":"Account Aggregator Account Availability","path":"account-availability-apis","order":5},{"name":"Consent flow","visible_in_sidebar":true,"page_title":"Account Aggregator Consent flow","path":"consent-flow","order":1},{"name":"Data flow","visible_in_sidebar":true,"page_title":"Account Aggregator Data flow","path":"data-apis","order":2},{"name":"Active FIPs","visible_in_sidebar":true,"page_title":"Account Aggregator Active FIPs","path":"fip-apis","order":4},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Account Aggregator Notifications","path":"notifications","order":3}]},{"name":"API reference","visible_in_sidebar":true,"page_title":"Account Aggregator API reference","path":"api-reference","order":10},{"name":"Consent object","visible_in_sidebar":true,"page_title":"Account Aggregator consent object","path":"consent-object","order":4},{"name":"Embed Setu screens","visible_in_sidebar":true,"page_title":"Account Aggregator Embed Setu screens","path":"embed-setu-aa","order":7},{"name":"FI data types","visible_in_sidebar":true,"page_title":"Account Aggregator FI data types","path":"fi-data-types","order":5},{"name":"Licenses and go live","visible_in_sidebar":true,"page_title":"Account Aggregator license and go live process","path":"licenses-and-go-live","order":8,"children":[{"name":"Go live","visible_in_sidebar":true,"page_title":"FIU go live process","path":"go-live","order":2},{"name":"Licenses","visible_in_sidebar":true,"page_title":"Licenses required to participate in AA","path":"licenses","order":1},{"name":"Participants in AA","visible_in_sidebar":true,"page_title":"Participants in AA","path":"participants-in-aa","order":0}]},{"name":"Multi AA gateway","visible_in_sidebar":true,"page_title":"Account Aggregator multi-AA gateway","path":"multi-aa-gateway","order":2},{"name":"Overview","visible_in_sidebar":true,"page_title":"Account Aggregator overview","path":"overview","order":0},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Account Aggregator quickstart","path":"quickstart","order":1},{"path":"v1","children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"Account Aggregator API integration","path":"api-integration","order":3,"children":[{"name":"Consent flow","visible_in_sidebar":true,"page_title":"Account Aggregator Consent flow","path":"consent-flow","order":1},{"name":"Data flow","visible_in_sidebar":true,"page_title":"Account Aggregator Data flow","path":"data-apis","order":2},{"name":"Active FIPs","visible_in_sidebar":true,"page_title":"Account Aggregator Active FIPs","path":"fip-apis","order":4},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Account Aggregator Notifications","path":"notifications","order":3}]},{"name":"API reference","visible_in_sidebar":true,"page_title":"Account Aggregator API reference","path":"api-reference","order":10},{"name":"Consent object","visible_in_sidebar":true,"page_title":"Account Aggregator Consent object","path":"consent-object","order":4},{"name":"Embed Setu screens","visible_in_sidebar":true,"page_title":"Account Aggregator Embed Setu screens","path":"embed-setu-aa","order":7},{"name":"End-to-end encryption","visible_in_sidebar":false,"page_title":"Account Aggregator End-to-end encryption","path":"encryption","order":1},{"name":"FI data types","visible_in_sidebar":true,"page_title":"Account Aggregator FI data types","path":"fi-data-types","order":5},{"name":"Get started","visible_in_sidebar":false,"page_title":"Account Aggregator getting started","path":"get-started","order":0},{"name":"Licenses and go live","visible_in_sidebar":true,"page_title":"Account Aggregator license and go live process","path":"licenses-and-go-live","order":8,"children":[{"name":"Go live","visible_in_sidebar":true,"page_title":"FIU go live process","path":"go-live","order":2},{"name":"Licenses","visible_in_sidebar":true,"page_title":"Licenses required to participate in AA","path":"licenses","order":1},{"name":"Participants in AA","visible_in_sidebar":true,"page_title":"Participants in AA","path":"participants-in-aa","order":0}]},{"name":"Migration guide","visible_in_sidebar":true,"page_title":"Account Aggregator Migration Guide","path":"migration-guide","order":6,"children":[{"name":"Consent flow","visible_in_sidebar":true,"page_title":"Account Aggregator Consent flow","path":"consent-flow","order":1},{"name":"Data flow","visible_in_sidebar":true,"page_title":"Account Aggregator Data flow","path":"data-flow","order":2},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Account Aggregator Notifications","path":"notifications","order":3}]},{"name":"Overview","visible_in_sidebar":true,"page_title":"Account Aggregator overview","path":"overview","order":0},{"name":"Postman integration","visible_in_sidebar":true,"page_title":"Account Aggregator Postman integration","path":"postman","order":2},{"name":"Quickstart","visible_in_sidebar":false,"page_title":"Account Aggregator quickstart","path":"quickstart-v1","order":1},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Account Aggregator quickstart","path":"quickstart","order":1},{"name":"Request signing","visible_in_sidebar":false,"page_title":"Account Aggregator Request signing","path":"request-signing","order":1}]}]},{"name":"Bank account verification","path":"bav","order":5,"visible_in_sidebar":false,"children":[{"name":"Penny drop","visible_in_sidebar":true,"page_title":"BAV using penny drop","path":"penny-drop","order":1,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"BAV API integration","path":"api-integration","order":1,"children":[{"name":"Async API","visible_in_sidebar":true,"page_title":"BAV Async API integration","path":"async","order":2},{"path":"bav-codes"},{"name":"Sync API","visible_in_sidebar":true,"page_title":"BAV Sync API integration","path":"sync","order":1}]},{"name":"API reference","visible_in_sidebar":true,"page_title":"BAV API reference","path":"api-reference","order":3},{"name":"Notifications","visible_in_sidebar":true,"page_title":"BAV Async Penny drop Notifications","path":"notifications","order":2},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BAV quickstart","path":"quickstart","order":0}]},{"name":"Reverse Penny drop","visible_in_sidebar":true,"page_title":"BAV using reverse penny drop","path":"reverse-penny-drop","order":3,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"RPD API integration","path":"api-integration","order":2},{"name":"API reference","visible_in_sidebar":true,"page_title":"BAV RPD API reference","path":"api-reference","order":4},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Quickstart for reverse penny drop","path":"quickstart","order":1},{"name":"Webhook Auth","visible_in_sidebar":true,"page_title":"Webhook Authentication","path":"webhook-authentication","order":3}]},{"name":"Bundled BAV","visible_in_sidebar":true,"page_title":"Bundled Bank Account Verification","path":"bundled-bav","order":5,"children":[{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Quickstart for Bundled BAV","path":"quickstart","order":1},{"name":"API integration","visible_in_sidebar":true,"page_title":"Bundled BAV API integration","path":"api-integration","order":2},{"name":"API reference","visible_in_sidebar":true,"page_title":"Bundled BAV API reference","path":"api-reference","order":3}]}]},{"name":"Insights","path":"insights","order":5,"versions":["v1","v2","v3"],"default_version":"v3","visible_in_sidebar":true,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Setu Insights API reference","path":"api-reference","order":4},{"name":"Error codes","visible_in_sidebar":true,"page_title":"Setu Insights error codes","path":"error-code","order":5},{"name":"List of insights","visible_in_sidebar":true,"page_title":"All Setu insights","path":"insights","order":2},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Setu Insights notifications","path":"notifications","order":3},{"name":"Overview","visible_in_sidebar":true,"page_title":"Setu Insights overview","path":"overview","order":0},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Setu Insights quickstart","path":"quickstart","order":1,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"Setu Insights Postman integration","path":"api-integration","order":1},{"name":"Postman integration","visible_in_sidebar":true,"page_title":"Setu Insights Postman integration","path":"postman","order":0}]},{"path":"v1","children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Setu Insights API reference","path":"api-reference","order":4},{"name":"List of insights","visible_in_sidebar":true,"page_title":"All Setu insights","path":"insights","order":2},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Setu Insights notifications","path":"notifications","order":3},{"name":"Overview","visible_in_sidebar":true,"page_title":"Setu Insights overview","path":"overview","order":0},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Setu Insights quickstart","path":"quickstart","order":1,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"Setu Insights Postman integration","path":"api-integration","order":1},{"name":"Postman integration","visible_in_sidebar":true,"page_title":"Setu Insights Postman integration","path":"postman","order":0}]}]},{"path":"v2","children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Setu Insights API reference","path":"api-reference","order":4},{"name":"List of insights","visible_in_sidebar":true,"page_title":"All Setu insights","path":"insights","order":2},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Setu Insights notifications","path":"notifications","order":3},{"name":"Overview","visible_in_sidebar":true,"page_title":"Setu Insights overview","path":"overview","order":0},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Setu Insights quickstart","path":"quickstart","order":1}]}]},{"name":"ULI","path":"uli","order":6,"visible_in_sidebar":false,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"GSTIN verification API reference","path":"api-reference","order":2},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"GST Verification quickstart","path":"quickstart","order":1}]},{"name":"GST verification","path":"gst","order":6,"visible_in_sidebar":false,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"GSTIN verification API reference","path":"api-reference","order":2},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"GST Verification quickstart","path":"quickstart","order":1}]},{"name":"Match APIs","path":"match-apis","order":7,"visible_in_sidebar":false,"children":[{"name":"Name match","visible_in_sidebar":true,"page_title":"Name match APIs","path":"name-match","order":1,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Name Match API reference","path":"api-reference","order":4},{"name":"Examples","visible_in_sidebar":true,"page_title":"Name Match API response examples","path":"examples","order":3},{"name":"Overview","visible_in_sidebar":true,"page_title":"Name Match API overview","path":"overview","order":1},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Name Match API quickstart","path":"quickstart","order":2}]}]},{"name":"eKYC","path":"ekyc","order":8,"visible_in_sidebar":false,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"eKYC API reference","path":"api-reference","order":2},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"PAN verification quickstart","path":"quickstart","order":1}]}]},{"name":"Dev tools","path":"dev-tools","order":2,"visible_in_sidebar":true,"children":[{"name":"The Bridge","path":"bridge","order":0,"versions":["v1","v2"],"default_version":"v2","visible_in_sidebar":true,"children":[{"name":"Analytics and reports","visible_in_sidebar":true,"page_title":"Bridge analytics and reports","path":"analytics-and-reports","order":3},{"name":"Configure products","visible_in_sidebar":true,"page_title":"Bridge explore and configure products","path":"explore-and-configure-products","order":2},{"name":"Glossary","visible_in_sidebar":true,"page_title":"Bridge glossary","path":"glossary","order":1},{"name":"Overview","visible_in_sidebar":true,"page_title":"Bridge overview","path":"overview","order":0},{"name":"Settings","visible_in_sidebar":true,"page_title":"Bridge settings","path":"settings","order":4},{"name":"User profile","visible_in_sidebar":true,"page_title":"Bridge user profile","path":"user-profile","order":5},{"path":"v1","children":[{"name":"Bridge configuration","visible_in_sidebar":false,"page_title":"Bridge configuration","path":"configure","order":6},{"name":"Generate Token","visible_in_sidebar":false,"page_title":"Bridge generate token","path":"generate-token","order":4},{"name":"Org settings","visible_in_sidebar":true,"page_title":"Bridge org settings","path":"org-settings","order":3,"children":[{"name":"API keys","visible_in_sidebar":true,"page_title":"API keys","path":"api-keys","order":2,"children":[{"name":"JWT Auth","visible_in_sidebar":false,"page_title":"JWT Auth","path":"jwt-auth","order":3},{"name":"JWT","visible_in_sidebar":true,"page_title":"JWT","path":"jwt","order":1},{"name":"OAuth","visible_in_sidebar":true,"page_title":"OAuth","path":"oauth","order":2}]},{"name":"People","visible_in_sidebar":true,"page_title":"People","path":"people","order":1}]},{"name":"Overview","visible_in_sidebar":true,"page_title":"Bridge overview","path":"overview","order":0},{"name":"Reports","visible_in_sidebar":true,"page_title":"Bridge reports","path":"reports","order":1,"children":[{"name":"Types","visible_in_sidebar":false,"page_title":"Report types","path":"types","order":1}]},{"name":"Reports API","visible_in_sidebar":false,"page_title":"Reports API","path":"reports-api","order":5}]}]}]},{"name":"Sample Category","path":"sample-category","order":3,"visible_in_sidebar":false,"children":[{"name":"Sample Product","path":"sample-product","order":0,"visible_in_sidebar":false,"children":[{"name":"Sample Page","visible_in_sidebar":false,"page_title":"Docs sample page","path":"sample-page","order":0}]}]}]} \ No newline at end of file +{"home":[{"name":"Payments","path":"payments","order":0,"visible_in_sidebar":true,"api_reference":true,"children":[{"name":"BBPS BillCollect","path":"bbps","order":0,"visible_in_sidebar":true,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"BBPS API reference","path":"api-reference","order":9},{"name":"Axis BBPS","visible_in_sidebar":false,"page_title":"Axis BBPS API Approach Document","path":"axis","order":10},{"name":"Bill Structure","visible_in_sidebar":true,"page_title":"BBPS - Bill Structure","path":"bill-structure","order":5,"children":[{"name":"Special cases","visible_in_sidebar":true,"page_title":"BBPS - Bill Structure special cases","path":"special-cases","order":1}]},{"name":"Go live","visible_in_sidebar":true,"page_title":"BBPS - Go live","path":"go-live","order":3},{"name":"Notifications","visible_in_sidebar":true,"page_title":"BBPS - Notifications","path":"notifications","order":4},{"name":"Overview","visible_in_sidebar":true,"page_title":"BBPS - Overview","path":"overview","order":1},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS - Quickstart","path":"quickstart","order":2,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"BBPS - API integration","path":"api-integration","order":2,"children":[{"name":"Fetch & Pay","visible_in_sidebar":true,"page_title":"API integration - Fetch & Pay","path":"fetch-pay","order":1},{"name":"Validate & Pay","visible_in_sidebar":true,"page_title":"BBPS - API integration","path":"validate-pay","order":2}]},{"name":"No-code CSV","visible_in_sidebar":true,"page_title":"BBPS - No-code CSV","path":"no-code-integration","order":1},{"name":"Share bills","visible_in_sidebar":false,"page_title":"BBPS - Share bills","path":"share-biils","order":1}]},{"name":"Reports API","visible_in_sidebar":true,"page_title":"BBPS - Reports API","path":"reports","order":6},{"name":"Additional resources","visible_in_sidebar":true,"page_title":"BBPS - Additional Resources","path":"resources","order":8,"children":[{"name":"Errors","visible_in_sidebar":true,"page_title":"BBPS error codes","path":"errors","order":4},{"name":"JWT authentication","visible_in_sidebar":true,"page_title":"UPI Deeplinks JWT authentication","path":"jwt","order":2},{"name":"OAuth 2.0","visible_in_sidebar":true,"page_title":"BBPS OAuth 2.0","path":"oauth","order":1},{"name":"Settlement object","visible_in_sidebar":true,"page_title":"UPI Deeplinks settlement object","path":"settlement-object","order":3}]}]},{"name":"BBPS BillPay","path":"billpay","order":1,"versions":["v1","v2"],"default_version":"v2","visible_in_sidebar":true,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"BBPS Billpay API integration","path":"api-integration","order":1,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"COU Direct Connectivity API reference","path":"api-reference","order":9},{"name":"List of APIs","visible_in_sidebar":true,"page_title":"BBPS COU - List of APIs","path":"apis","order":2},{"name":"FX Retail","visible_in_sidebar":true,"page_title":"BBPS COU - FX Retail (Forex category)","path":"fx-retail","order":8},{"name":"Harmonization of TAT","visible_in_sidebar":true,"page_title":"Harmonization Of TAT (Disputes API)","path":"harmonization_of_tat","order":6},{"name":"Objects","visible_in_sidebar":true,"page_title":"BBPS COU - Objects","path":"objects","order":10},{"name":"Paying Bills","visible_in_sidebar":true,"page_title":"Paying Bills","path":"paying-bills","order":4,"children":[{"name":"Paying for options","visible_in_sidebar":true,"page_title":"Paying for alternative options","path":"bill-payment-options","order":4},{"name":"Passing CCF","visible_in_sidebar":true,"page_title":"Customer Convenience Fee (CCF) Integration Guide","path":"customer-convenience-fee","order":3},{"name":"Paying multiple bills","visible_in_sidebar":true,"page_title":"Paying for multiple bills","path":"multi-bill-processing","order":5},{"name":"Paying for plans","visible_in_sidebar":true,"page_title":"Paying for plans","path":"plan-mdm-integration","order":6},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS Bill Payment Integration Guide","path":"quickstart","order":1},{"name":"Remitter Details","visible_in_sidebar":true,"page_title":"Passing Remitter Details","path":"remittance_flows_guide","order":2}]},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS COU - API integration","path":"quickstart","order":1},{"name":"Integrating with UPMS","visible_in_sidebar":true,"page_title":"BBPS COU - Integrating with UPMS","path":"upms","order":7},{"name":"Migration Guide to v2","visible_in_sidebar":true,"page_title":"BBPS COU - Migration Guide to v2","path":"v2-migration","order":5},{"name":"Webhooks","visible_in_sidebar":true,"page_title":"BBPS COU - Webhooks","path":"webhooks","order":3}]},{"name":"API reference","visible_in_sidebar":false,"page_title":"BillPay API reference","path":"api-reference","order":5},{"path":"mcp","children":[{"name":"Integration Guide","visible_in_sidebar":false,"page_title":"MCP Server for Bill Payments - Integration Guide","path":"integration-guide","order":1},{"name":"Tools and Prompts","visible_in_sidebar":false,"page_title":"MCP Server for Bill Payments - Tools and Prompts","path":"tools-and-prompts","order":2}]},{"name":"Prepaid Recharge","visible_in_sidebar":true,"page_title":"BBPS Billpay Prepaid Recharge APIs","path":"mobile-prepaid-recharge","order":3,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Mobile Prepaid Recharge API reference","path":"api-reference","order":2},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Mobile Prepaid Recharge quickstart","path":"quickstart","order":1},{"name":"Webhooks","visible_in_sidebar":true,"page_title":"Mobile Prepaid Recharge Webhooks","path":"webhooks","order":3}]},{"name":"Overview","visible_in_sidebar":true,"page_title":"BBPS Billpay Overview","path":"overview","order":0},{"name":"Pre-built screens","visible_in_sidebar":true,"page_title":"BBPS Billpay pre-built screens","path":"pre-built-screens","order":2,"children":[{"name":"API reference","visible_in_sidebar":false,"page_title":"BBPS Billpay API reference","path":"api-reference-wl","order":4},{"name":"API reference","visible_in_sidebar":true,"page_title":"BBPS Billpay API reference","path":"api-reference","order":5},{"name":"Custom payment","visible_in_sidebar":true,"page_title":"BBPS Billpay custom payment","path":"custom-payment","order":2,"children":[{"name":"Android","visible_in_sidebar":true,"page_title":"BBPS Billpay android integration for custom payment","path":"android","order":3},{"name":"Required APIs","visible_in_sidebar":true,"page_title":"BBPS Billpay APIs for custom payment","path":"apis","order":1},{"name":"Cross platform","visible_in_sidebar":true,"page_title":"BBPS Billpay cross-platform integration for custom payment","path":"cross-platform","order":3},{"name":"iOS","visible_in_sidebar":true,"page_title":"BBPS Billpay iOS integration for custom payment","path":"iOS","order":4},{"name":"Website","visible_in_sidebar":true,"page_title":"BBPS Billpay website integration for custom payment","path":"website","order":2}]},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS Billpay Quickstart","path":"quickstart","order":1,"children":[{"name":"Android","visible_in_sidebar":true,"page_title":"BBPS Billpay Android integration","path":"android","order":2},{"name":"API","visible_in_sidebar":false,"page_title":"BBPS Billpay API","path":"api","order":2},{"name":"Cross platform","visible_in_sidebar":true,"page_title":"BBPS Billpay cross platform integration","path":"cross-platform","order":4},{"name":"iOS","visible_in_sidebar":true,"page_title":"BBPS Billpay iOS integration","path":"iOS","order":3},{"name":"Website","visible_in_sidebar":true,"page_title":"BBPS Billpay website","path":"website","order":1}]},{"name":"Remitter Details","visible_in_sidebar":true,"page_title":"Remitter Details For Bill Payments Integration Guide","path":"remitter-details","order":4},{"name":"Webhooks","visible_in_sidebar":true,"page_title":"BBPS Billpay webhooks","path":"webhooks","order":2}]},{"path":"v1","children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"BBPS Billpay API integration","path":"api-integration","order":1,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"COU Direct Connectivity API reference","path":"api-reference","order":5},{"name":"List of APIs","visible_in_sidebar":true,"page_title":"BBPS COU - List of APIs","path":"apis","order":2},{"name":"Deprecated APIs","visible_in_sidebar":false,"page_title":"BBPS COU - API integration (deprecated)","path":"deprecated","order":4,"children":[{"name":"Mock environment","visible_in_sidebar":false,"page_title":"BBPS Billpay Mock environment","path":"mock-environment","order":2},{"name":"Polling","visible_in_sidebar":false,"page_title":"BBPS Billpay polling","path":"polling","order":2}]},{"name":"Objects","visible_in_sidebar":true,"page_title":"BBPS COU - Objects","path":"objects","order":3},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS COU - API integration","path":"quickstart","order":1},{"name":"Webhooks","visible_in_sidebar":true,"page_title":"BBPS COU - Webhooks","path":"webhooks","order":4}]},{"name":"API reference","visible_in_sidebar":false,"page_title":"BillPay API reference","path":"api-reference","order":5},{"name":"Overview","visible_in_sidebar":true,"page_title":"BBPS Billpay Overview","path":"overview","order":0},{"name":"Pre-built screens","visible_in_sidebar":true,"page_title":"BBPS Billpay pre-built screens","path":"pre-built-screens","order":2,"children":[{"name":"API reference","visible_in_sidebar":false,"page_title":"BBPS Billpay API reference","path":"api-reference-wl","order":4},{"name":"API reference","visible_in_sidebar":true,"page_title":"BBPS Billpay API reference","path":"api-reference","order":4},{"name":"Custom payment","visible_in_sidebar":true,"page_title":"BBPS Billpay custom payment","path":"custom-payment","order":2,"children":[{"name":"Android","visible_in_sidebar":true,"page_title":"BBPS Billpay android integration for custom payment","path":"android","order":3},{"name":"Required APIs","visible_in_sidebar":true,"page_title":"BBPS Billpay APIs for custom payment","path":"apis","order":1},{"name":"Cross platform","visible_in_sidebar":true,"page_title":"BBPS Billpay cross-platform integration for custom payment","path":"cross-platform","order":3},{"name":"iOS","visible_in_sidebar":true,"page_title":"BBPS Billpay iOS integration for custom payment","path":"iOS","order":4},{"name":"Website","visible_in_sidebar":true,"page_title":"BBPS Billpay website integration for custom payment","path":"website","order":2}]},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS Billpay Quickstart","path":"quickstart","order":1,"children":[{"name":"Android","visible_in_sidebar":true,"page_title":"BBPS Billpay Android integration","path":"android","order":2},{"name":"API","visible_in_sidebar":true,"page_title":"BBPS Billpay API","path":"api","order":2},{"name":"Cross platform","visible_in_sidebar":true,"page_title":"BBPS Billpay cross platform integration","path":"cross-platform","order":4},{"name":"iOS","visible_in_sidebar":true,"page_title":"BBPS Billpay iOS integration","path":"iOS","order":3},{"name":"Website","visible_in_sidebar":true,"page_title":"BBPS Billpay website","path":"website","order":1}]},{"name":"Webhooks","visible_in_sidebar":true,"page_title":"BBPS Billpay webhooks","path":"webhooks","order":2}]}]}]},{"name":"WhatsApp Collect","path":"whatsapp-collect","order":3,"visible_in_sidebar":true,"children":[{"name":"API Integration","visible_in_sidebar":true,"page_title":"WhatsApp Collect API Integration","path":"api-integration","order":3},{"name":"API reference","visible_in_sidebar":true,"page_title":"WhatsApp Collect API reference","path":"api-reference","order":5},{"name":"Error codes","visible_in_sidebar":true,"page_title":"WhatsApp Collect error codes","path":"errors","order":4},{"name":"Collection journey","visible_in_sidebar":true,"page_title":"WhatsApp Collect Journey","path":"journey","order":1},{"name":"Overview","visible_in_sidebar":true,"page_title":"WhatsApp Collect Overview","path":"overview","order":0},{"name":"Collection reminders","visible_in_sidebar":true,"page_title":"WhatsApp Collect reminders","path":"reminders","order":2}]},{"name":"UPI DeepLinks","path":"upi-deeplinks","order":4,"visible_in_sidebar":true,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"UPI Deeplinks API reference","path":"api-reference","order":8},{"name":"Notifications","visible_in_sidebar":true,"page_title":"UPI Deeplinks Notifications","path":"notifications","order":6},{"name":"Overview","visible_in_sidebar":true,"page_title":"UPI Deeplinks Overview","path":"overview","order":0},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"UPI Deeplinks quickstart","path":"quickstart","order":1,"children":[{"name":"Go Live","visible_in_sidebar":true,"page_title":"UPI Deeplinks go live","path":"go-live","order":1}]},{"name":"Refunds","visible_in_sidebar":true,"page_title":"UPI Deeplinks Refunds","path":"refunds","order":4},{"name":"Reports API","visible_in_sidebar":true,"page_title":"UPI Deeplinks Reports API","path":"reports","order":5},{"name":"Additional resources","visible_in_sidebar":true,"page_title":"UPI Deeplinks additonal resources","path":"resources","order":6,"children":[{"name":"JWT authentication","visible_in_sidebar":true,"page_title":"UPI Deeplinks JWT authentication","path":"jwt","order":2},{"name":"OAuth 2.0","visible_in_sidebar":true,"page_title":"UPI Deeplinks OAuth 2.0","path":"oauth","order":1},{"name":"Settlement object","visible_in_sidebar":true,"page_title":"UPI Deeplinks settlement object","path":"settlement-object","order":3}]},{"name":"SDKs","visible_in_sidebar":true,"page_title":"UPI Deeplinks SDKs","path":"sdks","order":3},{"name":"Third party verification","visible_in_sidebar":true,"page_title":"UPI Deeplinks third party verification","path":"third-party-verification","order":3}]},{"name":"UPI Setu","path":"umap","order":7,"visible_in_sidebar":true,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"UPI Setu - API integration","path":"api-integration","order":2,"children":[{"name":"Aggregators","visible_in_sidebar":true,"page_title":"UPI Setu - API integration for aggregators","path":"aggregators","order":1},{"name":"Merchants","visible_in_sidebar":true,"page_title":"UPI Setu - API integration for merchants","path":"merchants","order":2}]},{"name":"API reference","visible_in_sidebar":true,"page_title":"UPI Setu - API reference","path":"api-reference","order":8},{"name":"UPI mandates","visible_in_sidebar":true,"page_title":"UPI mandates","path":"mandates","order":4,"children":[{"name":"Mandate operations","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Mandate operations","path":"generic","order":5,"children":[{"name":"Pause","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Pause","path":"pause","order":3},{"name":"Revoke","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Revoke","path":"revoke","order":2},{"name":"Unpause","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Unpause","path":"unpause","order":4},{"name":"Update","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Update","path":"update","order":1}]},{"name":"OneShot","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - OneShot","path":"one-shot","order":1,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Check payment status","path":"check-status","order":4},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Create One Time Mandate","path":"create","order":1},{"name":"Execute","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Execute One Time Mandate","path":"execute","order":3},{"name":"Pre Debit Notify","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Send One Time Mandate Pre Debit Notification","path":"pre-debit-notify","order":2}]},{"name":"Recur","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Recur","path":"recur","order":3,"children":[{"name":"Check payment status","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Check payment status","path":"check-status","order":4},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Create recurring mandate","path":"create","order":1},{"name":"Execute","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Execute mandate","path":"execute","order":3},{"name":"Pre Debit Notify","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Send Recurring Mandate Pre Debit Notification","path":"pre-debit-notify","order":2}]},{"name":"Reserve","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Reserve","path":"reserve","order":2,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Check payment status","path":"check-status","order":4},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Create Reserve Mandate","path":"create","order":1},{"name":"Execute","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Execute Reserve Mandate","path":"execute","order":3}]},{"name":"ReservePlus","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - ReservePlus","path":"reserve-plus","order":4,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Check payment status","path":"check-status","order":3},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Create single block multi-debit","path":"create","order":1},{"name":"Execute","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Execute single block multi-debit","path":"execute","order":2}]}]},{"name":"Merchant on-boarding","visible_in_sidebar":true,"page_title":"UPI Setu - Merchant onboarding","path":"merchant-onboarding","order":2,"children":[{"name":"Check VPA availability","visible_in_sidebar":true,"page_title":"UPI Setu - Merchant on-boarding - Check VPA availability","path":"check-vpa-availability-api","order":2},{"name":"Setup a merchant","visible_in_sidebar":true,"page_title":"UPI Setu - Merchant on-boarding - Setup merchant","path":"create-merchant-api","order":1},{"name":"Registering VPA","visible_in_sidebar":true,"page_title":"UPI Setu - Merchant on-boarding - Registering a VPA","path":"create-vpa-api","order":3}]},{"name":"Notifications and alerts","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts","path":"notifications","order":7,"children":[{"name":"VPA verification","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Customer VPA verification","path":"customer-vpa-verification","order":6},{"name":"Mandates","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Mandates","path":"mandates","order":3,"children":[{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Creation of mandate","path":"create","order":1},{"name":"Execute","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Mandate execution","path":"execute","order":7},{"name":"Notify","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Mandate pre-debit notifications","path":"notify","order":6},{"name":"Pause","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Pausing mandate","path":"pause","order":4},{"name":"Revoke","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Revoking mandate","path":"revoke","order":3},{"name":"Unpause","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Unpausing mandate","path":"unpause","order":5},{"name":"Update","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Updating mandate","path":"update","order":2}]},{"name":"Payments","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Payments","path":"payments","order":2},{"name":"Refunds","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Refunds","path":"refunds","order":4},{"name":"Verify signature","visible_in_sidebar":true,"page_title":"UMAP - Events and notifications","path":"verify-signature","order":1}]},{"name":"Overview","visible_in_sidebar":true,"page_title":"UPI Setu - Overview","path":"overview","order":0},{"name":"UPI payments","visible_in_sidebar":true,"page_title":"UPI payments","path":"payments","order":3,"children":[{"name":"Collect","visible_in_sidebar":true,"page_title":"UPI payments - Collect","path":"collect","order":2,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu payments - Collect request - Check payment status","path":"check-status","order":3},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu payments - Create collect request","path":"create-collect-request","order":2},{"name":"Verify customer VPA","visible_in_sidebar":true,"page_title":"UPI Setu payments - Verify customer VPA","path":"verify-customer-vpa-api","order":1}]},{"name":"Flash","visible_in_sidebar":true,"page_title":"UPI payments - Flash","path":"flash","order":1,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu payments - Intent/QR - Check payment status","path":"check-status","order":2},{"name":"Dynamic QR","visible_in_sidebar":true,"page_title":"UPI Setu payments - Create Dynamic QR","path":"create-dqr","order":1},{"name":"Static QR","visible_in_sidebar":true,"page_title":"UPI Setu payments - Create Static QR","path":"create-sqr","order":1}]},{"name":"TPV","visible_in_sidebar":true,"page_title":"UPI payments - TPV","path":"tpv","order":3,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu - Payments - TPV - Check payment status","path":"check-status","order":2},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Payments - Create TPV API","path":"create-tpv","order":1},{"name":"Payments","visible_in_sidebar":true,"page_title":"UMAP - Notifications and alerts - Payments","path":"life-cycle","order":1}]}]},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"UPI Setu - Quickstart","path":"quickstart","order":1,"children":[{"name":"Aggregators","visible_in_sidebar":true,"page_title":"UPI Setu - Quickstart for aggregators","path":"aggregators","order":1},{"name":"Merchants","visible_in_sidebar":true,"page_title":"UPI Setu - Quickstart for merchants","path":"merchants","order":2}]},{"name":"Refunds and disputes","visible_in_sidebar":true,"page_title":"UPI Setu - Refunds and disputes","path":"refunds-disputes","order":6,"children":[{"name":"Check refund status","visible_in_sidebar":true,"page_title":"UPI Setu - Refunds and disputes - Check refund status API","path":"check-refund-status-api","order":2},{"name":"Create refund","visible_in_sidebar":true,"page_title":"UPI Setu - Refunds and disputes - Create refund API","path":"create-refund-api","order":1},{"name":"Fetch dispute","visible_in_sidebar":true,"page_title":"UPI Setu - Refunds and disputes - Fetch dispute API","path":"fetch-dispute-api","order":3}]},{"name":"Transaction Monitoring","visible_in_sidebar":false,"page_title":"UPI Setu - Transaction Monitoring","path":"transaction-monitoring","order":5,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu - Transaction monitoring - Check status API","path":"check-status-api","order":1},{"name":"Check status history","visible_in_sidebar":true,"page_title":"UPI Setu - Transaction monitoring - Check status sistory API","path":"check-status-history-api","order":2},{"name":"Fetch payment","visible_in_sidebar":true,"page_title":"UPI Setu - Transaction monitoring - Fetch payment API","path":"fetch-payment-api","order":3}]}]}]},{"name":"Data","path":"data","order":1,"visible_in_sidebar":true,"children":[{"name":"KYC","path":"kyc","order":0,"visible_in_sidebar":true,"children":[{"name":"Secure Data Add-On","visible_in_sidebar":true,"page_title":"Setu Encrypted APIs","path":"encryption","order":2},{"name":"Overview","visible_in_sidebar":true,"page_title":"Setu KYC Overview","path":"overview","order":1}]},{"name":"PAN verification","path":"pan","order":0,"visible_in_sidebar":false,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"PAN verification API reference","path":"api-reference","order":1},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"PAN verification quickstart","path":"quickstart","order":0}]},{"name":"Aadhaar eSign","path":"esign","order":2,"visible_in_sidebar":true,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Aadhaar eSign API reference","path":"api-reference","order":9},{"name":"Error codes","visible_in_sidebar":true,"page_title":"Aadhaar eSign error codes","path":"error-codes","order":8},{"name":"eStamp overview","visible_in_sidebar":true,"page_title":"eStamp overview","path":"estamp","order":2},{"name":"Flexible eSign guide","visible_in_sidebar":true,"page_title":"Integration guide with flexible signature coordinates","path":"flexi-esign","order":4},{"name":"eSign Name Match","visible_in_sidebar":true,"page_title":"Aadhaar eSign Name Match","path":"name-match","order":6},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Aadhaar eSign Notifications","path":"notifications","order":7},{"name":"Overview","visible_in_sidebar":true,"page_title":"Aadhaar eSign overview","path":"overview","order":1},{"name":"PDF templates","visible_in_sidebar":true,"page_title":"Integration guide with pdf templating API's","path":"pdf-templating","order":5},{"name":"Integration guide","visible_in_sidebar":true,"page_title":"Aadhaar eSign integration guide","path":"quickstart","order":3}]},{"name":"DigiLocker","path":"digilocker","order":3,"visible_in_sidebar":false,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Digilocker API reference","path":"api-reference","order":3},{"name":"Error codes","visible_in_sidebar":true,"page_title":"DigiLocker error codes","path":"error-codes","order":4},{"name":"Overview","visible_in_sidebar":true,"page_title":"Digilocker overview","path":"overview","order":0},{"name":"Pull Driving Licence","visible_in_sidebar":true,"page_title":"Digilocker Quickstart","path":"pulldrivinglicense","order":2},{"name":"Integration guide","visible_in_sidebar":true,"page_title":"Digilocker quickstart","path":"quickstart","order":1}]},{"name":"AA Gateway","path":"account-aggregator","order":4,"versions":["v1","v2"],"default_version":"v2","visible_in_sidebar":true,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"Account Aggregator API integration","path":"api-integration","order":3,"children":[{"name":"Account Availability","visible_in_sidebar":true,"page_title":"Account Aggregator Account Availability","path":"account-availability-apis","order":5},{"name":"Consent flow","visible_in_sidebar":true,"page_title":"Account Aggregator Consent flow","path":"consent-flow","order":1},{"name":"Data flow","visible_in_sidebar":true,"page_title":"Account Aggregator Data flow","path":"data-apis","order":2},{"name":"Active FIPs","visible_in_sidebar":true,"page_title":"Account Aggregator Active FIPs","path":"fip-apis","order":4},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Account Aggregator Notifications","path":"notifications","order":3}]},{"name":"API reference","visible_in_sidebar":true,"page_title":"Account Aggregator API reference","path":"api-reference","order":10},{"name":"Consent object","visible_in_sidebar":true,"page_title":"Account Aggregator consent object","path":"consent-object","order":4},{"name":"Embed Setu screens","visible_in_sidebar":true,"page_title":"Account Aggregator Embed Setu screens","path":"embed-setu-aa","order":7},{"name":"FI data types","visible_in_sidebar":true,"page_title":"Account Aggregator FI data types","path":"fi-data-types","order":5},{"name":"Licenses and go live","visible_in_sidebar":true,"page_title":"Account Aggregator license and go live process","path":"licenses-and-go-live","order":8,"children":[{"name":"Go live","visible_in_sidebar":true,"page_title":"FIU go live process","path":"go-live","order":2},{"name":"Licenses","visible_in_sidebar":true,"page_title":"Licenses required to participate in AA","path":"licenses","order":1},{"name":"Participants in AA","visible_in_sidebar":true,"page_title":"Participants in AA","path":"participants-in-aa","order":0}]},{"name":"Multi AA gateway","visible_in_sidebar":true,"page_title":"Account Aggregator multi-AA gateway","path":"multi-aa-gateway","order":2},{"name":"Overview","visible_in_sidebar":true,"page_title":"Account Aggregator overview","path":"overview","order":0},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Account Aggregator quickstart","path":"quickstart","order":1},{"path":"v1","children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"Account Aggregator API integration","path":"api-integration","order":3,"children":[{"name":"Consent flow","visible_in_sidebar":true,"page_title":"Account Aggregator Consent flow","path":"consent-flow","order":1},{"name":"Data flow","visible_in_sidebar":true,"page_title":"Account Aggregator Data flow","path":"data-apis","order":2},{"name":"Active FIPs","visible_in_sidebar":true,"page_title":"Account Aggregator Active FIPs","path":"fip-apis","order":4},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Account Aggregator Notifications","path":"notifications","order":3}]},{"name":"API reference","visible_in_sidebar":true,"page_title":"Account Aggregator API reference","path":"api-reference","order":10},{"name":"Consent object","visible_in_sidebar":true,"page_title":"Account Aggregator Consent object","path":"consent-object","order":4},{"name":"Embed Setu screens","visible_in_sidebar":true,"page_title":"Account Aggregator Embed Setu screens","path":"embed-setu-aa","order":7},{"name":"End-to-end encryption","visible_in_sidebar":false,"page_title":"Account Aggregator End-to-end encryption","path":"encryption","order":1},{"name":"FI data types","visible_in_sidebar":true,"page_title":"Account Aggregator FI data types","path":"fi-data-types","order":5},{"name":"Get started","visible_in_sidebar":false,"page_title":"Account Aggregator getting started","path":"get-started","order":0},{"name":"Licenses and go live","visible_in_sidebar":true,"page_title":"Account Aggregator license and go live process","path":"licenses-and-go-live","order":8,"children":[{"name":"Go live","visible_in_sidebar":true,"page_title":"FIU go live process","path":"go-live","order":2},{"name":"Licenses","visible_in_sidebar":true,"page_title":"Licenses required to participate in AA","path":"licenses","order":1},{"name":"Participants in AA","visible_in_sidebar":true,"page_title":"Participants in AA","path":"participants-in-aa","order":0}]},{"name":"Migration guide","visible_in_sidebar":true,"page_title":"Account Aggregator Migration Guide","path":"migration-guide","order":6,"children":[{"name":"Consent flow","visible_in_sidebar":true,"page_title":"Account Aggregator Consent flow","path":"consent-flow","order":1},{"name":"Data flow","visible_in_sidebar":true,"page_title":"Account Aggregator Data flow","path":"data-flow","order":2},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Account Aggregator Notifications","path":"notifications","order":3}]},{"name":"Overview","visible_in_sidebar":true,"page_title":"Account Aggregator overview","path":"overview","order":0},{"name":"Postman integration","visible_in_sidebar":true,"page_title":"Account Aggregator Postman integration","path":"postman","order":2},{"name":"Quickstart","visible_in_sidebar":false,"page_title":"Account Aggregator quickstart","path":"quickstart-v1","order":1},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Account Aggregator quickstart","path":"quickstart","order":1},{"name":"Request signing","visible_in_sidebar":false,"page_title":"Account Aggregator Request signing","path":"request-signing","order":1}]}]},{"name":"Bank account verification","path":"bav","order":5,"visible_in_sidebar":false,"children":[{"name":"Bundled BAV","visible_in_sidebar":true,"page_title":"Bundled Bank Account Verification","path":"bundled-bav","order":2,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"Bundled BAV API integration","path":"api-integration","order":2},{"name":"API reference","visible_in_sidebar":true,"page_title":"Bundled BAV API reference","path":"api-reference","order":3},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Quickstart for Bundled BAV","path":"quickstart","order":1}]},{"name":"Penny drop","visible_in_sidebar":true,"page_title":"BAV using penny drop","path":"penny-drop","order":1,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"BAV API integration","path":"api-integration","order":1,"children":[{"name":"Async API","visible_in_sidebar":true,"page_title":"BAV Async API integration","path":"async","order":2},{"path":"bav-codes"},{"name":"Sync API","visible_in_sidebar":true,"page_title":"BAV Sync API integration","path":"sync","order":1}]},{"name":"API reference","visible_in_sidebar":true,"page_title":"BAV API reference","path":"api-reference","order":3},{"name":"Notifications","visible_in_sidebar":true,"page_title":"BAV Async Penny drop Notifications","path":"notifications","order":2},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BAV quickstart","path":"quickstart","order":0}]},{"name":"Reverse Penny drop","visible_in_sidebar":true,"page_title":"BAV using reverse penny drop","path":"reverse-penny-drop","order":3,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"RPD API integration","path":"api-integration","order":2},{"name":"API reference","visible_in_sidebar":true,"page_title":"BAV RPD API reference","path":"api-reference","order":4},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Quickstart for reverse penny drop","path":"quickstart","order":1},{"name":"Webhook Auth","visible_in_sidebar":true,"page_title":"Webhook Authentication","path":"webhook-authentication","order":3}]}]},{"name":"Insights","path":"insights","order":5,"versions":["v1","v2","v3"],"default_version":"v3","visible_in_sidebar":true,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Setu Insights API reference","path":"api-reference","order":4},{"name":"Error codes","visible_in_sidebar":true,"page_title":"Setu Insights error codes","path":"error-code","order":5},{"name":"List of insights","visible_in_sidebar":true,"page_title":"All Setu insights","path":"insights","order":2},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Setu Insights notifications","path":"notifications","order":3},{"name":"Overview","visible_in_sidebar":true,"page_title":"Setu Insights overview","path":"overview","order":0},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Setu Insights quickstart","path":"quickstart","order":1,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"Setu Insights Postman integration","path":"api-integration","order":1},{"name":"Postman integration","visible_in_sidebar":true,"page_title":"Setu Insights Postman integration","path":"postman","order":0}]},{"path":"v1","children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Setu Insights API reference","path":"api-reference","order":4},{"name":"List of insights","visible_in_sidebar":true,"page_title":"All Setu insights","path":"insights","order":2},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Setu Insights notifications","path":"notifications","order":3},{"name":"Overview","visible_in_sidebar":true,"page_title":"Setu Insights overview","path":"overview","order":0},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Setu Insights quickstart","path":"quickstart","order":1,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"Setu Insights Postman integration","path":"api-integration","order":1},{"name":"Postman integration","visible_in_sidebar":true,"page_title":"Setu Insights Postman integration","path":"postman","order":0}]}]},{"path":"v2","children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Setu Insights API reference","path":"api-reference","order":4},{"name":"List of insights","visible_in_sidebar":true,"page_title":"All Setu insights","path":"insights","order":2},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Setu Insights notifications","path":"notifications","order":3},{"name":"Overview","visible_in_sidebar":true,"page_title":"Setu Insights overview","path":"overview","order":0},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Setu Insights quickstart","path":"quickstart","order":1}]}]},{"name":"ULI","path":"uli","order":6,"visible_in_sidebar":false,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"GSTIN verification API reference","path":"api-reference","order":2},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"GST Verification quickstart","path":"quickstart","order":1}]},{"name":"GST verification","path":"gst","order":6,"visible_in_sidebar":false,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"GSTIN verification API reference","path":"api-reference","order":2},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"GST Verification quickstart","path":"quickstart","order":1}]},{"name":"Match APIs","path":"match-apis","order":7,"visible_in_sidebar":false,"children":[{"name":"Name match","visible_in_sidebar":true,"page_title":"Name match APIs","path":"name-match","order":1,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Name Match API reference","path":"api-reference","order":4},{"name":"Examples","visible_in_sidebar":true,"page_title":"Name Match API response examples","path":"examples","order":3},{"name":"Overview","visible_in_sidebar":true,"page_title":"Name Match API overview","path":"overview","order":1},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Name Match API quickstart","path":"quickstart","order":2}]}]},{"name":"eKYC","path":"ekyc","order":8,"visible_in_sidebar":false,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"eKYC API reference","path":"api-reference","order":2},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"PAN verification quickstart","path":"quickstart","order":1}]}]},{"name":"Dev tools","path":"dev-tools","order":2,"visible_in_sidebar":true,"children":[{"name":"The Bridge","path":"bridge","order":0,"versions":["v1","v2"],"default_version":"v2","visible_in_sidebar":true,"children":[{"name":"Analytics and reports","visible_in_sidebar":true,"page_title":"Bridge analytics and reports","path":"analytics-and-reports","order":3},{"name":"Configure products","visible_in_sidebar":true,"page_title":"Bridge explore and configure products","path":"explore-and-configure-products","order":2},{"name":"Glossary","visible_in_sidebar":true,"page_title":"Bridge glossary","path":"glossary","order":1},{"name":"Overview","visible_in_sidebar":true,"page_title":"Bridge overview","path":"overview","order":0},{"name":"Settings","visible_in_sidebar":true,"page_title":"Bridge settings","path":"settings","order":4},{"name":"User profile","visible_in_sidebar":true,"page_title":"Bridge user profile","path":"user-profile","order":5},{"path":"v1","children":[{"name":"Bridge configuration","visible_in_sidebar":false,"page_title":"Bridge configuration","path":"configure","order":6},{"name":"Generate Token","visible_in_sidebar":false,"page_title":"Bridge generate token","path":"generate-token","order":4},{"name":"Org settings","visible_in_sidebar":true,"page_title":"Bridge org settings","path":"org-settings","order":3,"children":[{"name":"API keys","visible_in_sidebar":true,"page_title":"API keys","path":"api-keys","order":2,"children":[{"name":"JWT Auth","visible_in_sidebar":false,"page_title":"JWT Auth","path":"jwt-auth","order":3},{"name":"JWT","visible_in_sidebar":true,"page_title":"JWT","path":"jwt","order":1},{"name":"OAuth","visible_in_sidebar":true,"page_title":"OAuth","path":"oauth","order":2}]},{"name":"People","visible_in_sidebar":true,"page_title":"People","path":"people","order":1}]},{"name":"Overview","visible_in_sidebar":true,"page_title":"Bridge overview","path":"overview","order":0},{"name":"Reports","visible_in_sidebar":true,"page_title":"Bridge reports","path":"reports","order":1,"children":[{"name":"Types","visible_in_sidebar":false,"page_title":"Report types","path":"types","order":1}]},{"name":"Reports API","visible_in_sidebar":false,"page_title":"Reports API","path":"reports-api","order":5}]}]}]},{"name":"Sample Category","path":"sample-category","order":3,"visible_in_sidebar":false,"children":[{"name":"Sample Product","path":"sample-product","order":0,"visible_in_sidebar":false,"children":[{"name":"Sample Page","visible_in_sidebar":false,"page_title":"Docs sample page","path":"sample-page","order":0}]}]}]} \ No newline at end of file diff --git a/content/payments/billpay/api-integration/api-reference.mdx b/content/payments/billpay/api-integration/api-reference.mdx index 584a9286..ed3fbdf5 100644 --- a/content/payments/billpay/api-integration/api-reference.mdx +++ b/content/payments/billpay/api-integration/api-reference.mdx @@ -1,6 +1,6 @@ --- sidebar_title: API reference page_title: COU Direct Connectivity API reference -order: 8 +order: 9 visible_in_sidebar: true --- diff --git a/content/payments/billpay/api-integration/apis.mdx b/content/payments/billpay/api-integration/apis.mdx index 6d0b3e3c..e38106db 100644 --- a/content/payments/billpay/api-integration/apis.mdx +++ b/content/payments/billpay/api-integration/apis.mdx @@ -136,147 +136,516 @@ You may also use the `/bbps/bills/fetch/response` endpoint with above `refId` to In the response you either get the bill details, or "Processing" status if the bill fetch is still in progress. +
+ +### Val Add (Value Added Services) + +Some BBPS billers support **value added services** (Val Add) such as customer onboarding / OTP verification / markup & best-price discovery flows. COU exposes these flows as asynchronous APIs (request + response) — with webhooks as the primary mechanism and polling as fallback. + +- **Initiate Val Add operation**: `/bbps/valadd/{requestType}/request` +- **Poll Val Add result**: `/bbps/valadd/{requestType}/response` + +`requestType` is one of: + +- `GetCustomerId` +- `GenerateOTP` +- `ValidateOTP` +- `GetBankMarkup` +- `FetchBestPrice` + -
- - - Sample response - - - {` - { - "data": { - "additionalInfo": [ - { - "name": "Distributor Contact", - "value": "Cockatoojelly" - }, - { - "name": "Distributor Name", - "value": "Frightstripe" - }, - { - "name": "Consumer Number", - "value": "105" - }, - { - "name": "Consumer Address", - "value": "Samuraipsychadelic" - } - ], - "bills": [ - { - "amount": 300000, - "billDate": "2021-09-13", - "billNumber": "8394852342371080869", - "billPeriod": "Monthly", - "customerName": "William Miller", - "dueDate": "2021-09-26", - "paymentOptions": [ - { - "name": "3 month EMI", - "amount": 900000, - "minAmount": 300000, - "maxAmount": 1500000, - "amountMultiple": 10000 - }, - { - "name": "6 month EMI", - "amount": 1800000, - "minAmount": 600000, - "maxAmount": 3000000, - "amountMultiple": 10000 - } - ] - } - ], - "billerResponseType": "SINGLE", - "billerRefId": "4047076513", - "exactness": "Exact", - "paymentLimits": [ - { - "maxLimit": 20000000, - "minLimit": 100, - "paymentMode": "Internet Banking", - "supportsPendingStatus": false - }, - { - "maxLimit": 20000000, - "minLimit": 100, - "paymentMode": "Debit Card", - "supportsPendingStatus": false - }, - { - "maxLimit": 20000000, - "minLimit": 100, - "paymentMode": "Credit Card", - "supportsPendingStatus": false - }, - { - "maxLimit": 20000000, - "minLimit": 100, - "paymentMode": "Prepaid Card", - "supportsPendingStatus": false - }, - { - "maxLimit": 20000000, - "minLimit": 100, - "paymentMode": "IMPS", - "supportsPendingStatus": false - }, - { - "maxLimit": 4999900, - "minLimit": 100, - "paymentMode": "Cash", - "supportsPendingStatus": false - }, - { - "maxLimit": 20000000, - "minLimit": 100, - "paymentMode": "UPI", - "supportsPendingStatus": false - }, - { - "maxLimit": 20000000, - "minLimit": 100, - "paymentMode": "Wallet", - "supportsPendingStatus": false - }, - { - "maxLimit": 20000000, - "minLimit": 100, - "paymentMode": "NEFT", - "supportsPendingStatus": false - }, - { - "maxLimit": 20000000, - "minLimit": 100, - "paymentMode": "AEPS", - "supportsPendingStatus": false - }, - { - "maxLimit": 20000000, - "minLimit": 100, - "paymentMode": "Account Transfer", - "supportsPendingStatus": false - } - ], - "refId": "C51JQ9ED608P36RN28GGM9L63RN12591837", - "status": "Success" - }, - "success": true, - "traceId": "C51JQCUD608P36RN28H0" - } - `} -
+
+ + + Sample Request — GetCustomerId + + + {` +{ + "agent": { + "id": "AX01AX26INBU00000001", + "channel": "INTB", + "ip": "124.170.23.24", + "mac": "48-4D-7E-CB-DB-6F" + }, + "biller": { + "id": "FXRE00000KER3U" + }, + "inputParams": [ + { + "name": "mobileNumber", + "value": "9812000000" + } + ] +} + `} +
+
+ +
+ + +
+ + + Sample Request — GenerateOTP + + + {` +{ + "agent": { + "id": "AX01AX26INBU00000001", + "channel": "INTB", + "ip": "124.170.23.24", + "mac": "48-4D-7E-CB-DB-6F" + }, + "biller": { + "id": "FXRE00000KER3U" + }, + "inputParams": [ + { "name": "mobileNumber", "value": "8838151414" }, + { "name": "emailId", "value": "jayasurya.s_tra@npci.org.in" }, + { "name": "bankId", "value": "10128" }, + { "name": "bankName", "value": "INDIA POST PAYMENTS BANK LIMITED" }, + { "name": "bankAccountNumber", "value": "150002000" }, + { "name": "customerAccountType", "value": "Savings" }, + { "name": "ifsc", "value": "ZSBL0000341" }, + { "name": "accountHolderName", "value": "jayasurya" }, + { "name": "customerType", "value": "ResidentIndividual" }, + { "name": "pan", "value": "JS00024252" }, + { "name": "panValidated", "value": "true" } + ] +} + `} +
+
+ +
+ + +
+ + + Sample Request — ValidateOTP + + + {` +{ + "agent": { + "id": "AX01AX26INBU00000001", + "channel": "INTB", + "ip": "124.170.23.24", + "mac": "48-4D-7E-CB-DB-6F" + }, + "biller": { + "id": "FXRE00000KER3U" + }, + "inputParams": [ + { "name": "mobileNumber", "value": "9182583612" }, + { "name": "emailId", "value": "pragna.n@npci.org.in" }, + { "name": "mobileOTP", "value": "870398" }, + { "name": "emailOTP", "value": "806963" }, + { "name": "bankId", "value": "10128" }, + { "name": "bankName", "value": "INDIA POST PAYMENTS BANK LIMITED" }, + { "name": "bankAccountNumber", "value": "150002000" }, + { "name": "customerAccountType", "value": "Savings" }, + { "name": "ifsc", "value": "ZSBL0000341" }, + { "name": "accountHolderName", "value": "Pragna" }, + { "name": "customerType", "value": "ResidentIndividual" }, + { "name": "pan", "value": "NP00024253" }, + { "name": "panValidated", "value": "true" }, + { "name": "tcFlag", "value": "true" } + ] +} + `} +
+
+ +
+ + +
+ + + Sample Request — GetBankMarkup + + + {` +{ + "agent": { + "id": "AX01AX26INBU00000001", + "channel": "INTB", + "ip": "124.170.23.24", + "mac": "48-4D-7E-CB-DB-6F" + }, + "biller": { + "id": "FXRE00000KER3U" + }, + "inputParams": [ + { "name": "mobileNumber", "value": "7075465595" }, + { "name": "customerId", "value": "IN0025000217" }, + { "name": "pan", "value": "NB00024252" } + ] +} + `} +
+
+ +
+ + +
+ + + Sample Request — FetchBestPrice + + + {` +{ + "agent": { + "id": "AX01AX26INBU00000001", + "channel": "INTB", + "ip": "124.170.23.24", + "mac": "48-4D-7E-CB-DB-6F" + }, + "biller": { + "id": "RBFX00000KARDG" + }, + "inputParams": [ + { "name": "bankBranch", "value": "SHIVAJI NAGAR" }, + { "name": "bankId", "value": "10128" }, + { "name": "currency", "value": "USD" }, + { "name": "customerId", "value": "IN0025000213" }, + { "name": "deliveryMode", "value": "Currency" }, + { "name": "ifsc", "value": "ZSBL0000341" }, + { "name": "instrumentType", "value": "CASH" }, + { "name": "markup", "value": "0.5" }, + { "name": "mobileNumber", "value": "8838151414" }, + { "name": "orderQuantity", "value": "1000" }, + { "name": "pan", "value": "JS00024252" }, + { "name": "relationshipBank", "value": "INDIA POST PAYMENTS BANK LIMITED" }, + { "name": "tcFlag", "value": "true" }, + { "name": "transactionType", "value": "PURCHASE" }, + { "name": "units", "value": "fixed" } + ] +} + `} +
+
+ +
+ +The response will acknowledge the request and provide a `refId`. You’ll receive the final outcome via webhook; alternatively, you can poll using `/bbps/valadd/{requestType}/response`. + + +
+ + + Sample Response + + + {` +{ + "status": "Processing", + "data": { + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + }, + "traceId": "CV4PE82LTNJE9O014OE1" +} + `} +
+
+ +
+ + +
+ + + Sample Response — GetCustomerId (Success) + + + {` +{ + "status": "Success", + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "traceId": "CV4PE82LTNJE9O014OE0", + "data": { + "billerResponse": [ + { "name": "customerId", "value": "IN0025000213" }, + { "name": "customerType", "value": "RESIDENTINDIVIDUAL" } + ] + } +} + `} +
+
+ + +
+ + + Sample Response — GenerateOTP (Success) + + + {` +{ + "status": "Success", + "refId": "OTPGENREF1234567890ABCDEFGHIJKLMNOPQ", + "traceId": "CV4PE82LTNJE9O014OTP", + "data": { + "billerResponse": [ + { "name": "mobileNumber", "value": "9812000000" }, + { "name": "emailId", "value": "jane.doe@gmail.com" }, + { "name": "bankId", "value": "10128" }, + { "name": "bankName", "value": "INDIA POST PAYMENTS BANK LIMITED" }, + { "name": "bankAccountNumber", "value": "150002000" }, + { "name": "customerAccountType", "value": "Savings" }, + { "name": "ifsc", "value": "ICIC0006720" }, + { "name": "accountHolderName", "value": "jayasurya" }, + { "name": "customerType", "value": "Individual" }, + { "name": "pan", "value": "BPEPS55XXX" }, + { "name": "panValidated", "value": "true" }, + { "name": "authenticationMethod", "value": "OTP" } + ] + } +} + `} +
+
+ +
+ + +
+ + + Sample Response — ValidateOTP (Success) + + + {` +{ + "status": "Success", + "refId": "OTPVALREF1234567890RSTUVWXYZABCDEFG", + "traceId": "CV4PE82LTNJE9O01VAL", + "data": { + "billerResponse": [ + { "name": "customerId", "value": "IN0025000219" }, + { "name": "customerType", "value": "RESIDENTINDIVIDUAL" } + ] + } +} + `} +
+
+ +
+ + +
+ + + Sample Response — GetBankMarkup (Success) + + + {` +{ + "status": "Success", + "refId": "MARKUPREF1234567890HIJKLMNOPQRSTUV", + "traceId": "CV4PE82LTNJE9O0MARK", + "data": { + "billerResponse": [ + { + "name": "relationshipBank", + "value": "INDIA POST PAYMENTS BANK LIMITED", + "billerSpecificInfo": { + "billerId": "BBPSRELATIONSHIPBANK1", + "rate": "0.5", + "units": "fixed", + "indicativePrice": "8500", + "bankId": "10128", + "homeBranchIFSC": "ZSBL0000341" + } + } + ], + "additionalInfo": [ + { "name": "accountHolderName", "value": "Pragna" }, + { "name": "tcFlag", "value": "true" } + ] + } +} + `} +
+
+ +
+ + +
+ + + Sample Response — FetchBestPrice (Success) + + + {` +{ + "status": "Success", + "refId": "BESTPRCREF123456789WXYZABCDEFGHIJKL", + "traceId": "CV4PE82LTNJE9O0BEST", + "data": { + "billerResponse": [ + { "name": "currency", "value": "USD" }, + { "name": "dateOfDelivery", "value": "2025-05-22" }, + { "name": "orderQuantity", "value": "1000" }, + { "name": "bestPrice", "value": "8505.5" }, + { "name": "markup", "value": "0.5" }, + { "name": "units", "value": "fixed" }, + { "name": "totalPayableAmount", "value": "8506000" } + ] + } +} + `} +
+
+ +
+ + +
+ + + Sample Response — Failure (Generic) + + + {` +{ + "status": "Failure", + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "traceId": "CV4PE82LTNJE9O014OE0", + "data": { + "errors": [ + { "code": "error-code", "message": "Error message" } + ] + } +} + `} +
+
+ +
+ +### FX Mandate booking + +For the FX transaction flow, COU exposes APIs to **book an FX mandate** and to **poll the booking status** (fallback for webhooks). + +- **Book FX mandate**: `/bbps/bills/mandate/request` +- **Poll FX mandate status**: `/bbps/bills/mandate/response` + + +
+ + + Sample Request — Book FX mandate + + + {` +{ + "agent": { + "id": "AX01AX26INBU00000001", + "channel": "INTB", + "ip": "124.170.23.24", + "mac": "48-4D-7E-CB-DB-6F" + }, + "biller": { + "id": "HD5140000NAT02" + }, + "customer": { + "customerParams": [ + { "name": "mobileNumber", "value": "8838151414" }, + { "name": "customerId", "value": "IN0025000213" }, + { "name": "currency", "value": "USD" }, + { "name": "instrumentType", "value": "CASH" }, + { "name": "markup", "value": "0.5" }, + { "name": "bestPrice", "value": "8505.5" } + ] + }, + "mandate": { + "mode": "UPI", + "amount": 8260000, + "mandateRefId": "d30eb5d76250a2faa76c5a2a59c76cc3" + } +} + `} +
+
+ +
+ +Similar to other async COU APIs, you get a `refId` in the response, and can poll status using `/bbps/bills/mandate/response` if needed. + +
+ + + Possible Mandate error codes (FX Retail) + + + +| Error Code | Description | +| --- | --- | +| `MOB001` | Mobile number should not be empty | +| `MOB002` | Invalid mobile number | +| `MOB004` | Mobile number does not exist for the customer | +| `CUS002` | Customer status is not active. Current status is `` (e.g., suspend, terminate) | +| `CUS003` | Customer Id should not be empty | +| `CUS004` | Invalid Customer Id | +| `CUS005` | No active bank relationship for the customer | +| `CST002` | Customer type should be `RESIDENTINDIVIDUAL`/`SOLEPROPRIETORSHIP` | +| `CUR001` | Currency should not be empty | +| `CUR002` | Invalid currency | +| `TXN001` | Transaction Type should not be empty | +| `TXN002` | Invalid transaction type | +| `INT001` | Instrument Type should not be empty | +| `INT002` | Invalid instrument type | +| `BNK001` | Bank Name should not be empty | +| `BNK002` | Invalid Bank Name | +| `BNK003` | Bank does not exist | +| `BNK004` | Bank status is not active. Current status is `` (e.g., suspend, terminate) | +| `MRK001` | Markup should not be empty | +| `MRK002` | Invalid Markup | +| `DLM001` | Delivery mode should not be empty | +| `DLM002` | Delivery mode should only be `Currency`, `Forex Card Load`, `Remittance` | +| `ORQ001` | Order Quantity should not be empty | +| `ORQ002` | Order Quantity should be a positive value | +| `ORQ003` | Order Quantity should be greater than zero | +| `ORQ004` | Order Quantity should not be less than Minimum Order Quantity | +| `ORQ005` | Order Quantity should contain only 2 decimals | +| `ORQ006` | Maximum Order Quantity is breached. Allowed maximum value is `` | +| `BRH001` | Bank Branch should not be empty | +| `BRH002` | Invalid Bank Branch | +| `BNK005` | Bank id should not be empty | +| `AMT001` | Amount should not be empty | +| `AMT002` | Invalid Amount | +| `TXN003` | Txn Reference Id should not be empty | +| `TXN004` | Invalid Txn Reference Id | +| `TXN005` | Txn Reference Id should be unique | +| `MRI001` | Mandate Ref Id should not be empty | +| `MRI002` | Invalid Mandate Ref Id | +| `CTS001` | Customer Transaction services are closed for today. Please try again tomorrow during business hours. | +| `CUS007` | Customer does not exist | +| `MAN001` | User level limit price hard check failure | +| `internal-error` | Internal Server Error | +
+
### Pay bill The Pay bill API is used to send details of a payment done by a user on your app/website to Setu. Setu uses this information to confirm a payment with the biller. +> **FX Retail (Val Add + Mandate flows)**: When the payment is being initiated as part of the **FX mandate** journey, include `paymentType: "MANDATE_AND_PAY"` in the request body of the Pay bill API. The rest of the Pay bill payload remains the same. +
### Raise dispute @@ -307,6 +676,14 @@ For your convenience, Setu also provides actions to list data in bulk, that can List billers —lists all billers on BBPS. +
+ FX Retail fields (present on every biller): +
    +
  • valAddFlag (boolean) — indicates if value-added services are enabled for the biller.
  • +
  • valAddCustParams (ValAddCustParamSpec[]) — customer parameters required for value-added service flows. Each entry includes requestType (e.g. MANDATE_AND_PAY for FX Retail mandate+pay) and the corresponding customerParams specs.
  • +
  • mandateRequirement (string) — mandate requirement for the biller (e.g. MANDATORY). For FX Retail billers, use this to decide whether mandate+pay flow is required.
  • +
  • pseudoBiller (boolean) — indicates if the biller is a pseudo biller.
  • +
  • ` from the token API | +| `Content-Type` | `application/json` | + +### Agent object + +Every Val Add and Mandate request includes an `agent` object. See [Agent](/payments/billpay/api-integration/objects#agent) object for the full schema and channel-specific requirements. + +### Bank and branch master list + +The master list of banks and their branches (used in fields like `bankId`, `bankName`, `bankBranch`, and `ifsc`) will be shared manually with AIs for now. + +### Async pattern + +All Val Add and Mandate calls are **asynchronous**. On 200 OK, the initial request returns immediately with a `refId`: + +{`{ + "status": "Processing", + "data": { + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202" + }, + "traceId": "CV4PE82LTNJE9O014OE1" +}`} + +To get the final result, use either: + +- **Webhooks** (preferred) — receive the outcome on your registered webhook endpoint. See [Webhooks](/payments/billpay/api-integration/webhooks). +- **Polling** (fallback) — call the corresponding `/response` endpoint with the `refId` (each step below lists the exact poll URL). + +For the complete request/response schema and error codes, see the [Val Add API reference](/payments/billpay/api-integration/api-reference#/category~Val%20Add%20APIs) and [Mandate API reference](/payments/billpay/api-integration/api-reference#/category~Mandate%20API). The steps below cover the happy path with example payloads. + +## End-to-end flow (buy flow) + +The FX Retail flow is driven by **Val Add** APIs for onboarding + pricing, followed by **Mandate** booking (order placement), and finally a **Pay bill** request for BBPS/NPCI reconciliation. + +### Step 1 — Check if customer is onboarded (GetCustomerId) + +Check if the customer is already registered on the FX Retail platform using the customer's `mobileNumber`. + +- **Request**: `POST /api/v2/bbps/valadd/GetCustomerId/request` +- **Poll**: `POST /api/v2/bbps/valadd/GetCustomerId/response` + +If the customer is registered, the response includes a `customerId` and `customerType`. + +**Request body** + +{`{ + "agent": { + "id": "AX01AX26INBU00000001", + "channel": "INTB", + "ip": "124.170.23.24", + "mac": "48-4D-7E-CB-DB-6F" + }, + "biller": { + "id": "FXRE00000KER3U" + }, + "inputParams": [ + { + "name": "mobileNumber", + "value": "9812000000" + } + ] +}`} + +**Success response** (from `/response` endpoint or webhook) + +{`{ + "status": "Success", + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "traceId": "CV4PE82LTNJE9O014OE0", + "data": { + "billerResponse": [ + { + "name": "customerId", + "value": "IN0025000213" + }, + { + "name": "customerType", + "value": "RESIDENTINDIVIDUAL" + } + ] + } +}`} + +> If the response is successful, you already have a `customerId` — skip to Step 4. Only proceed to Step 2 if the call fails with error code `CUS007` (customer does not exist). + +### Step 2 — If not onboarded, generate OTP (GenerateOTP) + +If the customer is not registered, register them by generating OTP(s). + +- **Request**: `POST /api/v2/bbps/valadd/GenerateOTP/request` +- **Poll**: `POST /api/v2/bbps/valadd/GenerateOTP/response` + +Send required details such as: + +- `mobileNumber` +- `emailId` +- bank account details (bankId/bankName/account number/IFSC/account type/account holder name) +- `pan` and `panValidated` + +**Request body** + +{`{ + "agent": { + "id": "AX01AX26INBU00000001", + "channel": "INTB", + "ip": "124.170.23.24", + "mac": "48-4D-7E-CB-DB-6F" + }, + "biller": { + "id": "FXRE00000KER3U" + }, + "inputParams": [ + { + "name": "mobileNumber", + "value": "8838151414" + }, + { + "name": "emailId", + "value": "jayasurya.s_tra@npci.org.in" + }, + { + "name": "bankId", + "value": "10128" + }, + { + "name": "bankName", + "value": "INDIA POST PAYMENTS BANK LIMITED" + }, + { + "name": "bankAccountNumber", + "value": "150002000" + }, + { + "name": "customerAccountType", + "value": "Savings" + }, + { + "name": "ifsc", + "value": "ZSBL0000341" + }, + { + "name": "accountHolderName", + "value": "jayasurya" + }, + { + "name": "customerType", + "value": "ResidentIndividual" + }, + { + "name": "pan", + "value": "JS00024252" + }, + { + "name": "panValidated", + "value": "true" + } + ] +}`} + +**Success response** (from `/response` endpoint or webhook) + +On successful generation of OTP(s), the response will look like this: + +{`{ + "status": "Success", + "refId": "OTPGENREF1234567890ABCDEFGHIJKLMNOPQ", + "traceId": "CV4PE82LTNJE9O014OTP", + "data": { + "billerResponse": [ + { + "name": "mobileNumber", + "value": "9812000000" + }, + { + "name": "emailId", + "value": "jane.doe@gmail.com" + }, + { + "name": "bankId", + "value": "10128" + }, + { + "name": "bankName", + "value": "INDIA POST PAYMENTS BANK LIMITED" + }, + { + "name": "bankAccountNumber", + "value": "150002000" + }, + { + "name": "customerAccountType", + "value": "Savings" + }, + { + "name": "ifsc", + "value": "ICIC0006720" + }, + { + "name": "accountHolderName", + "value": "jayasurya" + }, + { + "name": "customerType", + "value": "Individual" + }, + { + "name": "pan", + "value": "BPEPS55XXX" + }, + { + "name": "panValidated", + "value": "true" + }, + { + "name": "authenticationMethod", + "value": "OTP" + } + ] + } +}`} + +### Step 3 — Validate OTP + accept T&C (ValidateOTP) + +Validate the OTP(s) received by the customer. + +- **Request**: `POST /api/v2/bbps/valadd/ValidateOTP/request` +- **Poll**: `POST /api/v2/bbps/valadd/ValidateOTP/response` + +Pass: + +- `mobileOTP` and `emailOTP` +- `tcFlag` (terms and conditions acceptance) +- along with the same context previously sent in GenerateOTP (as required by the biller) + +If OTP validation succeeds, the FX Retail platform registers the user and returns the `customerId`. + +**Request body** + +{`{ + "agent": { + "id": "AX01AX26INBU00000001", + "channel": "INTB", + "ip": "124.170.23.24", + "mac": "48-4D-7E-CB-DB-6F" + }, + "biller": { + "id": "FXRE00000KER3U" + }, + "inputParams": [ + { + "name": "mobileNumber", + "value": "9182583612" + }, + { + "name": "emailId", + "value": "pragna.n@npci.org.in" + }, + { + "name": "mobileOTP", + "value": "870398" + }, + { + "name": "emailOTP", + "value": "806963" + }, + { + "name": "bankId", + "value": "10128" + }, + { + "name": "bankName", + "value": "INDIA POST PAYMENTS BANK LIMITED" + }, + { + "name": "bankAccountNumber", + "value": "150002000" + }, + { + "name": "customerAccountType", + "value": "Savings" + }, + { + "name": "ifsc", + "value": "ZSBL0000341" + }, + { + "name": "accountHolderName", + "value": "Pragna" + }, + { + "name": "customerType", + "value": "ResidentIndividual" + }, + { + "name": "pan", + "value": "NP00024253" + }, + { + "name": "panValidated", + "value": "true" + }, + { + "name": "tcFlag", + "value": "true" + } + ] +}`} + +**Success response** (from `/response` endpoint or webhook) + +{`{ + "status": "Success", + "refId": "OTPVALREF1234567890RSTUVWXYZABCDEFG", + "traceId": "CV4PE82LTNJE9O01VAL", + "data": { + "billerResponse": [ + { + "name": "customerId", + "value": "IN0025000219" + }, + { + "name": "customerType", + "value": "RESIDENTINDIVIDUAL" + } + ] + } +}`} + +> The `customerId` returned here is used in Steps 4 and 5. + +### Step 4 — Get bank markup (GetBankMarkup) + +Fetch markup associated with the customer's bank. + +- **Request**: `POST /api/v2/bbps/valadd/GetBankMarkup/request` +- **Poll**: `POST /api/v2/bbps/valadd/GetBankMarkup/response` + +If multiple banks are associated with the customer's FX account, multiple markups can be returned. + +**Request body** + +{`{ + "agent": { + "id": "AX01AX26INBU00000001", + "channel": "INTB", + "ip": "124.170.23.24", + "mac": "48-4D-7E-CB-DB-6F" + }, + "biller": { + "id": "FXRE00000KER3U" + }, + "inputParams": [ + { + "name": "mobileNumber", + "value": "7075465595" + }, + { + "name": "customerId", + "value": "IN0025000217" + }, + { + "name": "pan", + "value": "NB00024252" + } + ] +}`} + +**Success response** (from `/response` endpoint or webhook) + +{`{ + "status": "Success", + "refId": "MARKUPREF1234567890HIJKLMNOPQRSTUV", + "traceId": "CV4PE82LTNJE9O0MARK", + "data": { + "billerResponse": [ + { + "name": "relationshipBank", + "value": "INDIA POST PAYMENTS BANK LIMITED", + "billerSpecificInfo": { + "billerId": "BBPSRELATIONSHIPBANK1", + "rate": "0.5", + "units": "fixed", + "indicativePrice": "8500", + "bankId": "10128", + "homeBranchIFSC": "ZSBL0000341" + } + }, + { + "name": "relationshipBank", + "value": "AXIS Bank", + "billerSpecificInfo": { + "billerId": "BBPSRELATIONSHIPBANK2", + "rate": "10.12", + "units": "fixed", + "indicativePrice": "8515", + "bankId": "AX01", + "homeBranchIFSC": "AXIS00006720" + } + }, + { + "name": "relationshipBank", + "value": "ICICI Bank", + "billerSpecificInfo": { + "billerId": "BBPSRELATIONSHIPBANK3", + "rate": "1.325", + "units": "percentage", + "indicativePrice": "8540", + "bankId": "IC01", + "homeBranchIFSC": "ICICI0006720" + } + } + ], + "additionalInfo": [ + { + "name": "accountHolderName", + "value": "Pragna" + }, + { + "name": "tcFlag", + "value": "true" + } + ] + } +}`} + +> Present these banks to the customer. The selected bank's `bankId`, `homeBranchIFSC`, `rate`, `units`, and `relationshipBank` name are needed for FetchBestPrice. + +### Step 5 — Fetch best price (FetchBestPrice) + +Customer selects a bank/markup and then the PSP app fetches the best currency price. + +- **Request**: `POST /api/v2/bbps/valadd/FetchBestPrice/request` +- **Poll**: `POST /api/v2/bbps/valadd/FetchBestPrice/response` + +The response includes the **best price** and a **total payable amount** which typically includes a **buffer** to account for price fluctuations. + +**Request body** + +The following fields are carried over from earlier steps: +- `bankId` — from Step 4 `billerSpecificInfo.bankId` +- `customerId` — from Step 1 or Step 3 +- `ifsc` — from Step 4 `billerSpecificInfo.homeBranchIFSC` +- `markup` — from Step 4 `billerSpecificInfo.rate` +- `relationshipBank` — from Step 4 `billerResponse[].value` +- `units` — from Step 4 `billerSpecificInfo.units` + +{`{ + "agent": { + "id": "AX01AX26INBU00000001", + "channel": "INTB", + "ip": "124.170.23.24", + "mac": "48-4D-7E-CB-DB-6F" + }, + "biller": { + "id": "RBFX00000KARDG" + }, + "inputParams": [ + { + "name": "bankBranch", + "value": "SHIVAJI NAGAR" + }, + { + "name": "bankId", + "value": "10128" + }, + { + "name": "currency", + "value": "USD" + }, + { + "name": "customerId", + "value": "IN0025000213" + }, + { + "name": "deliveryMode", + "value": "Currency" + }, + { + "name": "ifsc", + "value": "ZSBL0000341" + }, + { + "name": "instrumentType", + "value": "CASH" + }, + { + "name": "markup", + "value": "0.5" + }, + { + "name": "mobileNumber", + "value": "8838151414" + }, + { + "name": "orderQuantity", + "value": "1000" + }, + { + "name": "pan", + "value": "JS00024252" + }, + { + "name": "relationshipBank", + "value": "INDIA POST PAYMENTS BANK LIMITED" + }, + { + "name": "tcFlag", + "value": "true" + }, + { + "name": "transactionType", + "value": "PURCHASE" + }, + { + "name": "units", + "value": "fixed" + } + ] +}`} + +**Success response** (from `/response` endpoint or webhook) + +{`{ + "status": "Success", + "refId": "BESTPRCREF123456789WXYZABCDEFGHIJKL", + "traceId": "CV4PE82LTNJE9O0BEST", + "data": { + "billerResponse": [ + { + "name": "currency", + "value": "USD" + }, + { + "name": "dateOfDelivery", + "value": "2025-05-22" + }, + { + "name": "orderQuantity", + "value": "1000" + }, + { + "name": "bestPrice", + "value": "8505.5" + }, + { + "name": "markup", + "value": "0.5" + }, + { + "name": "units", + "value": "fixed" + }, + { + "name": "totalPayableAmount", + "value": "8506000" + } + ] + } +}`} + +> `totalPayableAmount` is in paise and includes a buffer for price fluctuation. This is the amount the PSP should debit in Step 6. + +### Step 6 — Debit funds from the customer (PSP-managed) + +The PSP app debits the `totalPayableAmount` (from Step 5) from the customer's account — this happens **outside** of BBPS COU APIs. + +### Step 7 — Place order by booking mandate (Mandate request/response) + +Initiate the mandate booking request. For FX Retail, this effectively places the order on the FX Retail platform. + +- **Mandate request**: `POST /api/v2/bbps/bills/mandate/request` +- **Mandate response (poll)**: `POST /api/v2/bbps/bills/mandate/response` (fallback for webhooks) + +On success, the mandate result includes the **actual amount utilised** for the order. + +**Important**: the mandate/order can fail if the market price moves above the amount returned during FetchBestPrice. + +**Request body** + +The `customerId` is from Step 1 or Step 3, and `amount` is the `totalPayableAmount` from Step 5 (in paise). + +{`{ + "agent": { + "id": "AX01AX26INBU00000001", + "channel": "INTB", + "ip": "124.170.23.24", + "mac": "48-4D-7E-CB-DB-6F" + }, + "biller": { + "id": "HD5140000NAT02" + }, + "customer": { + "customerParams": [ + { + "name": "customerId", + "value": "IN0025000213" + } + ] + }, + "mandate": { + "mode": "UPI", + "amount": 8506000, + "mandateRefId": "d30eb5d76250a2faa76c5a2a59c76cc3" + } +}`} + +**Success response** (from `/response` endpoint or webhook) + +{`{ + "status": "Success", + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "traceId": "CV6PG04MUNJG9P126QG3", + "data": { + "billerRefId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "transactionId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "billerResponse": { + "amount": "8260000" + }, + "additionalInfo": { + "currency": "USD", + "dateOfDelivery": "2025-05-22", + "orderQuantity": "1000", + "bestPrice": "8499.75", + "markup": "0.5", + "units": "fixed", + "deliveryMode": "Currency" + } + } +}`} + +> The mandate can fail if the market price moves above the buffered amount. + +### Step 8 — Refund the difference (PSP-managed) + +If the customer was debited a buffered amount, the PSP app should: + +- compute the delta between (debited amount) and (amount utilised returned in mandate result) +- refund the difference back to the customer + +Compute: `totalPayableAmount` (Step 5) minus `billerResponse.amount` (Step 7). Refund this delta to the customer. + +This refund happens **outside** of BBPS COU APIs. + +### Step 9 — Send Pay bill request for reconciliation (Pay bill) + +Finally, call **Pay bill** to complete BBPS/NPCI reconciliation. For FX Retail mandate flows, the payment has already been collected in the earlier PSP debit + mandate placement, so this API is used for reconciliation and settlement workflows. + +- **Pay bill request**: `POST /api/v2/bbps/bills/payment/request` + +For FX Retail mandate-related payments, include: + +- `paymentType: "MANDATE_AND_PAY"` + +**Request body** + +The `refId` is the mandate's `refId` from Step 7. + +{`{ + "agent": { + "id": "AX01AX26INBU00000001", + "channel": "INTB", + "ip": "124.170.23.24", + "mac": "48-4D-7E-CB-DB-6F" + }, + "biller": { + "id": "HD5140000NAT02" + }, + "customer": { + "mobile": "9812000000", + "customerParams": [ + { + "name": "customerId", + "value": "IN0025000213" + } + ] + }, + "paymentDetails": { + "amount": 8260000, + "mode": "Internet Banking", + "paymentRefId": "BD019181220291", + "timestamp": "2020-12-12T13:12:00+05:30" + }, + "remitter": { + "name": "jayasurya", + "email": "jayasurya.s_tra@npci.org.in", + "pan": "JS00024252" + }, + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "paymentType": "MANDATE_AND_PAY" +}`} + +## Error handling + +When an API call fails, the response follows this format: + +{`{ + "status": "Failure", + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "traceId": "CV4PE82LTNJE9O014OE0", + "data": { + "errors": [ + { + "code": "error-code", + "message": "Error message" + } + ] + } +}`} + +Common failure scenarios: + +- **Invalid OTP**: The OTP provided in ValidateOTP is incorrect or expired. Retry GenerateOTP to request a new OTP. +- **Price movement exceeding buffer**: The market price moved above the buffered `totalPayableAmount` between FetchBestPrice and the mandate request. Re-run FetchBestPrice to get updated pricing. +- **Customer not found**: The `customerId` is invalid or does not exist on the FX Retail platform. Verify the customer is registered via GetCustomerId. + +## Webhooks vs polling + +For details on the async pattern, see the [Common requirements](#common-requirements) section above. + +Refer to: + +- **Webhooks**: `/payments/billpay/api-integration/webhooks` +- **List of APIs**: `/payments/billpay/api-integration/apis` + + diff --git a/content/payments/billpay/api-integration/objects.mdx b/content/payments/billpay/api-integration/objects.mdx index 7177370a..940f3f1b 100644 --- a/content/payments/billpay/api-integration/objects.mdx +++ b/content/payments/billpay/api-integration/objects.mdx @@ -1,7 +1,7 @@ --- sidebar_title: Objects page_title: BBPS COU — Objects -order: 9 +order: 10 visible_in_sidebar: true --- @@ -67,6 +67,18 @@ Biller object holds the biller ID. | --------- | -------- | --------------------- | | `id` | `string` | The Biller ID on BBPS | +## Biller (List billers response) + +The List billers API returns a richer biller object. For **FX Retail** flows, the following fields are relevant: + +| parameter | type | description | +| --- | --- | --- | +| `valAddFlag` | `boolean` | Indicates if value-added services are enabled for the biller. | +| `valAddCustParams` | `object` | Customer parameters required for value-added service flows. Each entry is scoped by `requestType`. For FX Retail billers, `requestType` can be `MANDATE_AND_PAY`. | +| `mandateRequirement` | `string` | Mandate requirement for the biller (example: `MANDATORY`). For FX Retail billers, use this to determine if the biller requires the mandate+pay flow. | +| `pseudoBiller` | `boolean` | Indicates if the biller is a pseudo biller. | + + ## Agent Details pertaining to the Agent which initiates the transaction. Values of the field if provided to NPCI has to be matched against it. diff --git a/content/payments/billpay/api-integration/webhooks.mdx b/content/payments/billpay/api-integration/webhooks.mdx index f5adbeb5..08483c1a 100644 --- a/content/payments/billpay/api-integration/webhooks.mdx +++ b/content/payments/billpay/api-integration/webhooks.mdx @@ -121,6 +121,84 @@ If this field is absent or null, the callback corresponds to a manual bill fetch
    +### Val Add webhooks + +Val Add APIs (Value Added Services) are asynchronous. After you initiate a Val Add request using `/bbps/valadd/{requestType}/request`, COU will send you a webhook with the final outcome for that operation. + +Common `event` values include: + +- `VAL_ADD_GET_CUSTOMER_ID` +- `VAL_ADD_GENERATE_OTP` +- `VAL_ADD_VALIDATE_OTP` +- `VAL_ADD_GET_BANK_MARKUP` +- `VAL_ADD_FETCH_BEST_PRICE` + + +
    + + + Val Add sample webhook (success) + + + {`{ + "event": "VAL_ADD_GET_CUSTOMER_ID", + "status": "Success", + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "data": { + "billerResponse": [ + { "name": "customerId", "value": "IN0025000213" }, + { "name": "customerType", "value": "RESIDENTINDIVIDUAL" } + ] + }, + "timeStamp": "2025-03-10T17:40:38.163+05:30", + "traceId": "CV4PE82LTNJE9O014OE0" +}`} +
    +
    + +> **Fallback**: If you don’t receive a webhook, you can poll the result using `/bbps/valadd/{requestType}/response` with the `refId`. + +
    + +### FX Mandate result webhook + +After you initiate FX mandate booking using `/bbps/bills/mandate/request`, COU sends the final result using a dedicated webhook. + + +
    + + + FX mandate result webhook (success) + + + {`{ + "event": "BILL_MANDATE", + "status": "Success", + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "timeStamp": "2025-06-15T10:10:00Z", + "traceId": "CV6PG04MUNJG9P126QG3", + "data": { + "billerRefId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "transactionId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "billerResponse": { + "amount": "8260000" + }, + "additionalInfo": { + "currency": "USD", + "orderQuantity": "1000", + "bestPrice": "8499.75", + "markup": "0.5", + "deliveryMode": "Currency" + } + } +}`} +
    +
    + +> **Fallback**: If you don’t receive a webhook, you can poll the booking status using `/bbps/bills/mandate/response` with the `refId`. + +
    + ### Bill payment webhook This informs you that NPCI has received the payment request for a particular bill. It will also pass on