From dce053d99f09370822e4d3b22a075e8fffa23e38 Mon Sep 17 00:00:00 2001 From: tanmay Date: Fri, 12 Sep 2025 08:39:05 +0530 Subject: [PATCH 01/10] initial commit --- .../billpay/api-integration/api-reference.mdx | 2 +- .../api-integration/bbps-v1_1-features.mdx | 4 + .../api-integration/harmonization_of_tat.mdx | 2 +- .../billpay/api-integration/objects.mdx | 2 +- .../billpay/api-integration/paying_bills.mdx | 698 ++++++++++++++++++ .../api-integration/plan-mdm-integration.mdx | 6 + .../billpay/api-integration/quickstart.mdx | 2 +- .../remittance_flows_guide.mdx | 17 +- .../payments/billpay/api-integration/upms.mdx | 2 +- .../billpay/api-integration/v2-migration.mdx | 2 +- .../billpay/api-integration/webhooks.mdx | 2 +- 11 files changed, 724 insertions(+), 15 deletions(-) create mode 100644 content/payments/billpay/api-integration/paying_bills.mdx diff --git a/content/payments/billpay/api-integration/api-reference.mdx b/content/payments/billpay/api-integration/api-reference.mdx index 1ddd8a2a..2015310d 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: 11 +order: 12 visible_in_sidebar: true --- diff --git a/content/payments/billpay/api-integration/bbps-v1_1-features.mdx b/content/payments/billpay/api-integration/bbps-v1_1-features.mdx index 54e59a4b..c42c6505 100644 --- a/content/payments/billpay/api-integration/bbps-v1_1-features.mdx +++ b/content/payments/billpay/api-integration/bbps-v1_1-features.mdx @@ -9,6 +9,10 @@ visible_in_sidebar: true ## Overview +This guide covers advanced BBPS V1.1 features for multi-bill processing and flexible payment configurations. + +📖 **For basic payment integration and API fundamentals → [Paying Bills Integration Guide](./paying_bills.mdx)** + Setu's BBPS BillPay APIs have been upgraded to align with BBPS V1.1 specifications, introducing powerful new capabilities that enhance flexibility and user experience in bill payment processing. This comprehensive guide covers all new features, implementation patterns, and best practices. ### Key Highlights diff --git a/content/payments/billpay/api-integration/harmonization_of_tat.mdx b/content/payments/billpay/api-integration/harmonization_of_tat.mdx index c5b5866a..f03b95b3 100644 --- a/content/payments/billpay/api-integration/harmonization_of_tat.mdx +++ b/content/payments/billpay/api-integration/harmonization_of_tat.mdx @@ -1,7 +1,7 @@ --- sidebar_title: Harmonization of TAT page_title: Harmonization Of TAT (Disputes Api) -order: 9 +order: 10 visible_in_sidebar: true --- diff --git a/content/payments/billpay/api-integration/objects.mdx b/content/payments/billpay/api-integration/objects.mdx index 24b80c43..0b30920a 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: 3 +order: 4 visible_in_sidebar: true --- diff --git a/content/payments/billpay/api-integration/paying_bills.mdx b/content/payments/billpay/api-integration/paying_bills.mdx new file mode 100644 index 00000000..59b127be --- /dev/null +++ b/content/payments/billpay/api-integration/paying_bills.mdx @@ -0,0 +1,698 @@ +--- +sidebar_title: Paying Bills +page_title: BBPS Bill Payment Integration Guide +order: 5 +visible_in_sidebar: true +--- + +# Paying Bills + +**Scope**: This guide covers paying bills through the BBPS (Bharat Bill Payment System) network. For prepaid mobile recharge, refer to the separate prepaid recharge API documentation. + +## Table of Contents + +1. [Understanding Bill Fetch Responses](#1-understanding-bill-fetch-responses) + 1.1 [API Versions](#11-api-versions) + 1.2 [Response Structure Overview](#12-response-structure-overview) + 1.3 [UI Decision Fields](#13-ui-decision-fields) + 1.4 [Status Handling](#14-status-handling) +2. [RefId-Based Payment Construction](#2-refid-based-payment-construction) + 2.1 [Required Headers](#21-required-headers) + 2.2 [RefId Payment Flow](#22-refid-payment-flow) + 2.3 [RefId Payment Request Template](#23-refid-payment-request-template) + 2.4 [Payment Request Construction](#24-payment-request-construction) + 2.5 [Amount Validation Rules](#25-amount-validation-rules) + 2.6 [Plan-Based Billers](#26-plan-based-billers) +3. [Payment Details and Remitter Information](#3-payment-details-and-remitter-information) + 3.1 [Account Info and Remitter Requirements](#31-account-info-and-remitter-requirements) + 3.2 [Common Payment Mode Examples](#32-common-payment-mode-examples) +4. [Payment Limits and Amount Validation](#4-payment-limits-and-amount-validation) + 4.1 [Reading Payment Limits from Fetch Response](#41-reading-payment-limits-from-fetch-response) + 4.2 [Payment Mode Support](#42-payment-mode-support) + 4.3 [Amount Validation](#43-amount-validation) +5. [Category-Specific Payment Examples](#5-category-specific-payment-examples) + 5.1 [Electricity Bill Payment](#51-electricity-bill-payment) + 5.2 [Credit Card Bill Payment](#52-credit-card-bill-payment) + 5.3 [Mobile Postpaid Bill Payment](#53-mobile-postpaid-bill-payment) + 5.4 [Gas Bill Payment](#54-gas-bill-payment) + 5.5 [Water Bill Payment](#55-water-bill-payment) + 5.6 [Multi-Bill Payment Example](#56-multi-bill-payment-example) +6. [Common Validation Rules and Edge Cases](#6-common-validation-rules-and-edge-cases) + 6.1 [Amount Precision Rules (Pseudocode)](#61-amount-precision-rules-pseudocode) + 6.2 [RefId Validity and Same-Day Policy (Pseudocode)](#62-refid-validity-and-same-day-policy-pseudocode) + 6.3 [Customer Parameter Validation (Pseudocode)](#63-customer-parameter-validation-pseudocode) + 6.4 [Error Handling Best Practices (Pseudocode)](#64-error-handling-best-practices-pseudocode) + 6.5 [Complete Payment Flow Implementation (Pseudocode)](#65-complete-payment-flow-implementation-pseudocode) + +--- + +## 1. Understanding Bill Fetch Responses + +### 1.1 API Versions + +| Aspect | V1 API | V2 API | +|--------|--------|--------| +| **Bill Structure** | `"bill": { ... }` (single object) | `"bills": [ { ... } ]` (array) | +| **Payment Limits** | Includes `paymentLimits` object | Bill-level limits only | +| **Endpoints** | `/api/v1/bbps/bills/*` | `/api/v2/bbps/bills/*` | + +📖 **For complete API migration details and field-level diffs → [V2 Migration Guide](./v2-migration.mdx)** + +### 1.2 Response Structure Overview + + +
+ + Sample Fetch Response + + {` +{ + "success": true, + "data": { + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", // → Use in payment request + "status": "Success", // → Processing|Success|Failure + "bills": [ // → V2 uses "bills" array (V1 uses "bill" object) + { + "amount": 150000, // → Base bill amount (paise) + "billNumber": "1232332", + "billDate": "2021-01-02", + "dueDate": "2021-09-24", + "billPeriod": "MONTHLY", + "customerName": "Manoj Chekuri", + "minAmount": 100000, // → Minimum payment amount for this bill (nulllable) + "maxAmount": 150000, // → Maximum payment amount for this bill (nulllable) + "amountMultiple": 100, // → Payment amount must be multiple of this (nullable) + "label": "Advance EMI", // → Bill description (optional) + "paymentOptions": [ // → Alternative payment options for this bill + { "name": "Full Payment", "amount": 150000, "minAmount": 150000, "maxAmount": 150000 }, + { "name": "Minimum Due", "amount": 100000, "minAmount": 100000, "maxAmount": 150000 } + ] + } + ], + "billerResponseType": "SINGLE", // → SINGLE|LIST|SELECTIVE + "billerSelectionType": "SINGLE", // → SINGLE|MULTIPLE|ALL (Applicable for LIST only) + "exactness": "Exact", // → Payment amount rules + "additionalInfo": [ // → Generate dynamic form fields + { "DataType": "ALPHANUMERIC", "Optional": false, "ParamName": "Wallet balance" } + ], + "paymentLimits": [ // → V1 only: mode-specific limits + { "paymentMode": "Internet Banking", "minAmount": 100, "maxAmount": 500000 } + ] + } +} +`} +
+
+ +### 1.3 UI Decision Fields + +**Bill Selection Logic:** +- `billerResponseType: "SINGLE"` → Display single bill interface +- `billerResponseType: "LIST"` → Display multi-bill interface based on `billerSelectionType` + +**Payment Amount Logic:** +- `paymentOptions: null` → Standard amount input field +- `paymentOptions: [...]` → Payment option buttons ("Full Payment", "Minimum Due", etc.) +- `exactness + minAmount/maxAmount` → Amount validation rules + +**Additional Form Fields:** +- `additionalInfo` → Additional bill details for the bill `ParamName` (required if `Optional: false`) + +🔧 **For multi-bill implementation patterns, advanced constraints, and V1.1 features → [BBPS V1.1 Features Guide](./bbps-v1_1-features.mdx)** + +### 1.4 Status Handling + +- `status: "Success"` → Proceed with payment request +- `status: "Processing"` → Poll fetch response API until Success/Failure +- `status: "Failure"` → Bill fetch failed, cannot initiate payment + +--- + +## 2. RefId-Based Payment Construction + +### 2.1 Required Headers + +All API requests must include these headers: + + +
+ + Required Headers + + {` +X-PARTNER-ID: {your-partner-id} +Authorization: Bearer {your-oauth-token} +Content-Type: application/json +`} +
+
+ +### 2.2 RefId Payment Flow + +1. Fetch the bill using the fetch API +2. Extract the `refId` from the fetch response +3. Use the `refId` in your payment request +4. Respect exactness and biller limits from the fetch response +5. Note: payment completion is async; poll the payment response API with `refId` or subscribe to BillPay webhooks to receive updates + +### 2.3 RefId Payment Request Template + + +
+ + Payment Request (RefId) + + {` +POST /api/v2/bbps/bills/payment/request HTTP/1.1 +Host: coudc.setu.co +X-PARTNER-ID: {{YOUR_PARTNER_ID}} +Authorization: Bearer {{YOUR_OAUTH_TOKEN}} +Content-Type: application/json + +{ + // [Required] From the latest successful fetch response + "refId": "{{FETCH_RESPONSE_REF_ID}}", + + // [Conditional] Only for LIST billers when a bill subset must be paid for + // Populate using bill numbers and amounts shown in the fetch response + "bills": [ + { "billNumber": "{{BILL_NUMBER}}", "amount": {{AMOUNT_IN_PAISE}} } + ], + + // [Required] Payment instrument and amount details + "paymentDetails": { + // [Required] Integer amount in paise after applying exactness/limits + "amount": {{CALCULATED_AMOUNT_IN_PAISE}}, + + // [Required] One of supported modes + "mode": "{{PAYMENT_MODE}}", + + // [Required] Unique idempotency key generated at the time of debit for this payment + "paymentRefId": "{{UNIQUE_PAYMENT_REF_ID}}", + + // [Required] ISO-8601 timestamp with timezone offset + "timestamp": "{{DEBIT_TIMESTAMP}}", + + // [Required] NPCI-compatible instrument info. See Section 3.1 + // Examples: "dummy@ybl" (UPI), "IFSC|ACCOUNT_NO" (NetBanking), "CARD_NO|AUTH_CODE" (Cards) + "accountInfo": "{{INSTRUMENT_INFO}}", + + // [Optional | Plan billers] Include when plan selection is required + // Capitalized key is as per API. Value is the selected plan identifier + "Id": "{{PLAN_ID}}", + + // [Optional] Required only when user explicitly picks a biller-provided option from fetch.paymentOptions + // Must echo back the chosen option(s) exactly (name and amount) + "selectedPaymentOptions": [ + { "name": "{{OPTION_NAME}}", "amount": {{OPTION_AMOUNT_IN_PAISE}} } + ] + }, + + // [Conditional] Required for certain categories or per compliance + // Provide when advised by integration team or biller specification + "remitter": { + "name": "{{PAYER_NAME}}", // Required for some categories + "email": "{{PAYER_EMAIL}}", // Optional + "aadhaar": "{{AADHAAR_NUMBER}}", // Optional + "pan": "{{PAN_NUMBER}}" // Optional + } +} +`} +
+
+ +### 2.4 Payment Request Construction + +**Required Fields to Forward:** + + +
+ + Required Fields to Forward + + {` +// From fetch response → payment request +fetchResponse.data.refId → paymentRequest.refId // Always required +`} +
+
+ +**Amount Calculation Logic:** + +- `bills[].amount` = Base bill amount +- `paymentOptions[].amount` = Alternative amounts provided by biller (user can choose) +- Payment amount = Base bill amount OR selected payment option amount +- Apply `exactness` rules to determine if user can modify the chosen amount + +### 2.5 Amount Validation Rules + +**Basic Exactness Rules:** + +- `"Exact"` → Payment amount must equal bill amount exactly +- `"Any"` → No bill-level restrictions (user can pay any amount) +- `"RANGE"` → Payment amount must be within `minAmount`/`maxAmount` constraints + +**Additional Constraints:** + +- `minAmount`/`maxAmount` → Payment range limits (if present) +- `amountMultiple` → Payment increment requirements (if present) + +**Biller Types:** + +- `fetchApiType: "BILL_FETCH"` → Returns valid bill(s) in `bills` array +- `fetchApiType: "BILL_VALIDATE"` → May return empty `bills` array (e.g., donation billers) + +🔧 **For detailed constraint scenarios, V1.1 features, and validation examples → [BBPS V1.1 Features Guide](./bbps-v1_1-features.mdx#amount-configuration)** + +### 2.6 Plan-Based Billers + +Some billers require plan selection before payment (mobile prepaid, DTH, broadband services): + +**Biller Type Identification:** +- **Static Plan Billers**: `planRequirement: "MANDATORY"` → Use List Plans API to fetch available plans first +- **Dynamic Plan Billers**: `planRequirement: "OPTIONAL"` + `responseType: "SELECTIVE"` → Plans returned in validation response + +**Key Differences from Standard Flow:** +- **Plan Discovery**: Required before or during validation +- **Plan ID**: Must be included in customer parameters or payment details +- **Validation Response**: May include customer-specific plan offerings + +**Example Plan Biller Payment:** + +
+ + Plan Biller Payment Request + + {` +{ + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "paymentDetails": { + "amount": 59900, + "mode": "UPI", + "paymentRefId": "BD019181220291", + "timestamp": "2020-12-12T13:12:00+05:30", + "Id": "PLAN_123" // Plan ID for dynamic billers + } +} +`} +
+
+ +🔧 **For complete plan-based integration patterns, List Plans API, and specialized workflows → [Plan MDM Integration Guide](./plan-mdm-integration.mdx)** + +--- + +## 3. Payment Details and Remitter Information + +### 3.1 Account Info and Remitter Requirements + +**Both accountInfo and remitter details are required for all bill payments:** + +- **`paymentDetails.accountInfo`**: NPCI-compatible format corresponding to payment mode +- **`remitter` object**: Information about the person making the payment + +**Basic Structure:** + + +
+ + Payment + Remitter Structure + + {` +{ + "paymentDetails": { + "mode": "UPI", + "amount": 150000, + "paymentRefId": "BD019181220291", + "timestamp": "2020-12-12T13:12:00+05:30", + "accountInfo": "user@ybl" // Format varies by payment mode + }, + "remitter": { + "name": "John Doe", + "email": "john.doe@example.com", + "aadhaar": "123456789012", + "pan": "ABCDE1234F" + } +} +`} +
+
+ +📖 **For complete NPCI specifications, validation rules, and all payment mode formats → [Remitter Details Integration Guide](./remittance_flows_guide.mdx)** + +### 3.2 Common Payment Mode Examples + +**UPI:** + +
+ + UPI Example + + {` +{ + "paymentDetails": { + "mode": "UPI", + "accountInfo": "user@ybl" + } +} +`} +
+
+ +**Internet Banking:** + +
+ + Internet Banking Example + + {` +{ + "paymentDetails": { + "mode": "Internet Banking", + "accountInfo": "ICIC0000152|1234567890" + } +} +`} +
+
+ +**Credit/Debit Cards:** + +
+ + Card Example + + {` +{ + "paymentDetails": { + "mode": "Credit Card", + "accountInfo": "1234567890123456|123456" + } +} +`} +
+
+ +📖 **For all payment modes and detailed format specifications → [Remitter Details Integration Guide](./remittance_flows_guide.mdx#npci-specifications)** + +--- + +## 4. Payment Limits and Amount Validation + +### 4.1 Reading Payment Limits from Fetch Response + +**V1 API**: Use `paymentLimits` array for mode-specific limits plus bill-level `minAmount`/`maxAmount`/`amountMultiple`: + + +
+ + V1 Mode Payment Limits + + {` +"paymentLimits": [ + { + "paymentMode": "Internet Banking", + "minAmount": 100, + "maxAmount": 500000 + }, + { + "paymentMode": "UPI", + "minAmount": 100, + "maxAmount": 100000 + } +] +`} +
+
+ +**V2 API**: Only bill-level limits (`minAmount`/`maxAmount`/`amountMultiple`) and `paymentOptions` are available. + +**Both APIs**: Always respect biller-mode-channel specific limits; your request is validated against these. + +### 4.3 Amount Validation + + +
+ + Amount Validation Pseudocode + + {` +FUNCTION VALIDATE_PAYMENT_AMOUNT(amount, bill, exactness) RETURNS BOOLEAN + // Validate against bill-specific limits + IF bill.minAmount EXISTS AND amount < bill.minAmount THEN + RAISE ERROR "Amount below bill minimum of " + bill.minAmount + END IF + + IF bill.maxAmount EXISTS AND amount > bill.maxAmount THEN + RAISE ERROR "Amount exceeds bill maximum of " + bill.maxAmount + END IF + + IF bill.amountMultiple EXISTS AND (amount MOD bill.amountMultiple) ≠ 0 THEN + RAISE ERROR "Amount must be multiple of " + bill.amountMultiple + END IF + + // Validate against exactness rules + IF exactness = "Exact" AND amount ≠ bill.amount THEN + RAISE ERROR "Amount must be exactly " + bill.amount + ELSE IF exactness = "Exact and above" AND amount < bill.amount THEN + RAISE ERROR "Amount must be at least " + bill.amount + ELSE IF exactness = "Exact and below" AND amount > bill.amount THEN + RAISE ERROR "Amount cannot exceed " + bill.amount + END IF + + RETURN TRUE +END FUNCTION +`} +
+
+ +### 4.2 Payment Mode Support + +All payment modes are processed through `paymentDetails`. Supported modes (exact enum values): + +- `"Internet Banking"` +- `"Debit Card"` +- `"Credit Card"` +- `"Prepaid Card"` +- `"IMPS"` +- `"Cash"` +- `"UPI"` +- `"Wallet"` +- `"NEFT"` +- `"AEPS"` +- `"Account Transfer"` +- `"Bharat QR"` +- `"USSD"` + +Note: Actual availability is biller-specific and validated against MDM limits. Always use the exact enum values shown above. + +--- + +## 5. Category-Specific Payment Examples + +### 5.1 Electricity Bill Payment + + +
+ + Electricity Payment + + {` +{ + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "biller": { "id": "MAHI00000NATIC" }, + "customer": { + "mobile": "9876543210", + "customerParams": [ + { "name": "Consumer Number", "value": "123456789012" }, + { "name": "Mobile Number", "value": "9876543210" } + ] + }, + "agent": { + "id": "AX01AI06512391457204", + "channel": "AGT", + "geocode": "19.0139,72.8254", + "postalCode": "600001", + "terminalId": "6000011234" + }, + "paymentDetails": { + "amount": 245000, + "mode": "Internet Banking", + "paymentRefId": "BD019181220291", + "timestamp": "2020-12-12T13:12:00+05:30" + } +} +`} +
+
+ +### 5.2 Credit Card Bill Payment + + +
+ + Credit Card Payment + + {` +{ + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "biller": { "id": "MAHI00000NATIC" }, + "customer": { + "mobile": "9876543210", + "customerParams": [ + { "name": "Credit Card Number", "value": "1234567890123456" }, + { "name": "Mobile Number", "value": "9876543210" } + ] + }, + "agent": { + "id": "AX01AI06512391457204", + "channel": "AGT", + "geocode": "19.0139,72.8254", + "postalCode": "600001", + "terminalId": "6000011234" + }, + "paymentDetails": { + "amount": 50000, + "mode": "Internet Banking", + "paymentRefId": "BD019181220291", + "timestamp": "2020-12-12T13:12:00+05:30" + }, + "remitter": { + "name": "John Doe", + "email": "john.doe@example.com", + "aadhaar": "123456789012", + "pan": "ABCDE1234F" + } +} +`} +
+
+ +### 5.3 Mobile Postpaid Bill Payment + + +
+ + Mobile Postpaid Payment + + {` +{ + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "biller": { "id": "MAHI00000NATIC" }, + "customer": { + "mobile": "9876543210", + "customerParams": [ + { "name": "Mobile Number", "value": "9876543210" } + ] + }, + "agent": { + "id": "AX01AI06512391457204", + "channel": "AGT", + "geocode": "19.0139,72.8254", + "postalCode": "600001", + "terminalId": "6000011234" + }, + "paymentDetails": { + "amount": 59900, + "mode": "UPI", + "paymentRefId": "BD019181220291", + "timestamp": "2020-12-12T13:12:00+05:30" + } +} +`} +
+
+ +### 5.4 Gas Bill Payment + + +
+ + Gas Bill Payment + + {` +{ + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "biller": { "id": "MAHI00000NATIC" }, + "customer": { + "mobile": "9876543210", + "customerParams": [ + { "name": "Consumer Number", "value": "123456789" }, + { "name": "Mobile Number", "value": "9876543210" } + ] + }, + "agent": { + "id": "AX01AI06512391457204", + "channel": "AGT", + "geocode": "19.0139,72.8254", + "postalCode": "600001", + "terminalId": "6000011234" + }, + "paymentDetails": { + "amount": 78500, + "mode": "Debit Card", + "paymentRefId": "BD019181220291", + "timestamp": "2020-12-12T13:12:00+05:30" + } +} +`} +
+
+ +### 5.5 Water Bill Payment + + +
+ + Water Bill Payment + + {` +{ + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "paymentDetails": { + "amount": 120000, + "mode": "Wallet", + "paymentRefId": "BD019181220291", + "timestamp": "2020-12-12T13:12:00+05:30" + } +} +`} +
+
+ +### 5.6 Multi-Bill Payment Example + +**Basic List Biller (Single Selection):** + + +
+ + Multi-Bill Payment Request + + {` +{ + "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "bills": [ + { + "billNumber": "B123", + "amount": 10000 + } + ], + "paymentDetails": { + "amount": 10000, + "mode": "Internet Banking", + "paymentRefId": "BD019181220291", + "timestamp": "2020-12-12T13:12:00+05:30" + }, + "remitter": { + "name": "John Doe", + "email": "john.doe@example.com" + } +} +`} +
+
+ +🔧 **For all 4 implementation patterns (Single, Multi-Single, Multi-Multiple, Bundle), detailed examples, and multi-bill scenarios → [BBPS V1.1 Features Guide](./bbps-v1_1-features.mdx#implementation-patterns)** + +--- diff --git a/content/payments/billpay/api-integration/plan-mdm-integration.mdx b/content/payments/billpay/api-integration/plan-mdm-integration.mdx index 8fcfc0de..4df760cb 100644 --- a/content/payments/billpay/api-integration/plan-mdm-integration.mdx +++ b/content/payments/billpay/api-integration/plan-mdm-integration.mdx @@ -8,6 +8,10 @@ visible_in_sidebar: true ## Overview +This guide covers plan-based billers - a specialized subset of BBPS billers that require plan selection as part of the payment flow. + +📖 **For standard bill payment integration fundamentals → [Paying Bills Integration Guide](./paying_bills.mdx)** + The **Bharath Bill Payment System (BBPS) Plan Master Data Management (MDM)** API enables billers to offer subscription-based services through the BBPS ecosystem. This system is specifically designed for billers who don't have traditional outstanding bills but instead offer plan-based services that customers must select and pay for upfront. ### Key Use Cases @@ -107,6 +111,8 @@ Dynamic plan billers offer personalized plans based on customer account details: The `planRequirement` is a field obtained from the list billers api. +📖 **See how plan billers fit into the overall payment flow → [RefId-Based Payment Construction](./paying_bills.mdx#2-refid-based-payment-construction)** + ``` Is planRequirement = "MANDATORY"? ├── YES → Static Plan Biller diff --git a/content/payments/billpay/api-integration/quickstart.mdx b/content/payments/billpay/api-integration/quickstart.mdx index 82a62173..1ba40fed 100644 --- a/content/payments/billpay/api-integration/quickstart.mdx +++ b/content/payments/billpay/api-integration/quickstart.mdx @@ -91,7 +91,7 @@ It is recommended that you set up a callback URL to receive notifications for va When this is enabled by you, any successful `fetch`, `validate`, `payment` or `dispute` event gets posted to your callback URL. -You may specify only one callback URL. **This should be a valid URI string that starts with either `https://` or `http://` scheme.**. For e.g., `https://my-billpay-callback.com`. +You may specify only one callback URL. **This should be a valid URI string that starts with either `https://` scheme.**. For e.g., `https://my-billpay-callback.com`. Setu will append the following default paths to this callback URL, to alert your on specific events— diff --git a/content/payments/billpay/api-integration/remittance_flows_guide.mdx b/content/payments/billpay/api-integration/remittance_flows_guide.mdx index 5b2e0f74..3d1857ea 100644 --- a/content/payments/billpay/api-integration/remittance_flows_guide.mdx +++ b/content/payments/billpay/api-integration/remittance_flows_guide.mdx @@ -10,30 +10,31 @@ visible_in_sidebar: true ## Overview -NPCI has introduced comprehensive remittance information handling across two distinct integration flows to accommodate acceptance of remittance data from Agent Institutions for Credit Card Bill Payments. These enhancements ensure compliance with NPCI specifications while providing flexibility for different integration approaches. +This guide provides comprehensive specifications for remitter details and account information formatting in bill payments. Remitter details are part of the overall payment integration flow. + +📖 **For complete payment integration context and examples → [Paying Bills Integration Guide](./paying_bills.mdx)** + +NPCI has introduced comprehensive remittance information handling to accommodate acceptance of remittance data for all bill payments. ## Remitter Details Specification | Property | Type | Constraints | Purpose | Notes | |-------|------|-------------|---------|-------| -| `accountInfo` | String (variable) | Must correspond to selected payment mode | Contains customer's remittance information in NPCI-compatible format | Required field | -| `remitter` | Object | - | Captures information about the person making the payment | May differ from credit card holder | +| `accountInfo` | String | Format varies by payment mode | Contains customer's remittance information in NPCI-compatible format | Required field | +| `remitter` | Object | - | Captures information about the person making the payment | May differ from account holder | #### Remitter Object Properties | Property | Type | Constraints | Purpose | Notes | |----------|------|-------------|---------|-------| -| `name` | String | min: 1, max: 50 | Remitter's full name | Auto-fallback: 'Not Available' for CC payments if not provided | +| `name` | String | min: 1, max: 50 | Remitter's full name | Auto-fallback: 'Not Available' if not provided | | `email` | String | min: 1, max: 50 | Remitter's email address | - | | `pan` | String | min: 1, max: 50 | Remitter's PAN number | - | | `aadhaar` | String | min: 1, max: 50 | Remitter's Aadhaar number | - | -### Key Notes -- **NPCI Compatibility**: The `accountInfo` field must be formatted according to [NPCI specifications](#npci-specifications) and to be passed with all Bill Payments and the `remitter` object to be passed with all Credit Card Bill Payments. -- **Credit Card Fallback**: When remitter name is not provided for credit card payments, the system automatically sends "Not Available" to NPCI -- **Remitter vs Cardholder**: The person making the payment (remitter) may be different from the credit card holder + ## Remitter Details in Bill Payment API Flow diff --git a/content/payments/billpay/api-integration/upms.mdx b/content/payments/billpay/api-integration/upms.mdx index ccb852b4..a2a49691 100644 --- a/content/payments/billpay/api-integration/upms.mdx +++ b/content/payments/billpay/api-integration/upms.mdx @@ -1,7 +1,7 @@ --- sidebar_title: Integrating with UPMS page_title: BBPS COU — Integrating with UPMS -order: 10 +order: 11 visible_in_sidebar: true --- diff --git a/content/payments/billpay/api-integration/v2-migration.mdx b/content/payments/billpay/api-integration/v2-migration.mdx index 918bf78f..bfbf09b2 100644 --- a/content/payments/billpay/api-integration/v2-migration.mdx +++ b/content/payments/billpay/api-integration/v2-migration.mdx @@ -1,7 +1,7 @@ --- sidebar_title: Migration Guide to v2 page_title: BBPS COU — Migration Guide to v2 -order: 5 +order: 9 visible_in_sidebar: true --- diff --git a/content/payments/billpay/api-integration/webhooks.mdx b/content/payments/billpay/api-integration/webhooks.mdx index c62f7c58..c80a8471 100644 --- a/content/payments/billpay/api-integration/webhooks.mdx +++ b/content/payments/billpay/api-integration/webhooks.mdx @@ -1,7 +1,7 @@ --- sidebar_title: Webhooks page_title: BBPS COU — Webhooks -order: 4 +order: 3 visible_in_sidebar: true --- From f4c3485dacca41b2f45ec8a51fce7ff2e50bbe02 Mon Sep 17 00:00:00 2001 From: tanmay Date: Mon, 15 Sep 2025 22:29:02 +0530 Subject: [PATCH 02/10] Restructure docs + enhance bill pay guides --- content/menuItems.json | 2 +- .../billpay/api-integration/api-reference.mdx | 2 +- .../api-integration/bbps-v1_1-features.mdx | 1240 ----------------- .../api-integration/bill-payment-options.mdx | 281 ++++ .../api-integration/harmonization_of_tat.mdx | 2 +- .../api-integration/multi-bill-processing.mdx | 145 ++ .../billpay/api-integration/objects.mdx | 3 + .../billpay/api-integration/paying_bills.mdx | 924 +++++------- .../api-integration/plan-mdm-integration.mdx | 267 ++-- .../billpay/api-integration/quickstart.mdx | 10 +- .../remittance_flows_guide.mdx | 214 +-- .../payments/billpay/api-integration/upms.mdx | 2 +- .../billpay/api-integration/v2-migration.mdx | 2 +- 13 files changed, 963 insertions(+), 2131 deletions(-) delete mode 100644 content/payments/billpay/api-integration/bbps-v1_1-features.mdx create mode 100644 content/payments/billpay/api-integration/bill-payment-options.mdx create mode 100644 content/payments/billpay/api-integration/multi-bill-processing.mdx diff --git a/content/menuItems.json b/content/menuItems.json index 9a466550..cffb89cb 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":11},{"name":"List of APIs","visible_in_sidebar":true,"page_title":"BBPS COU - List of APIs","path":"apis","order":2},{"name":"BBPS V1.1 Features","visible_in_sidebar":true,"page_title":"Learn how to integrate with BBPS V1.1 Features that support multi-bill via Setu's APIs","path":"bbps-v1_1-features","order":8},{"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":"Harmonization of TAT","visible_in_sidebar":true,"page_title":"Harmonization Of TAT (Disputes Api)","path":"harmonization_of_tat","order":9},{"name":"Objects","visible_in_sidebar":true,"page_title":"BBPS COU - Objects","path":"objects","order":3},{"name":"Plans","visible_in_sidebar":true,"page_title":"Learn how to integrate with BBPS billers that support plan-based payments via Setu's APIs","path":"plan-mdm-integration","order":7},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS COU - API integration","path":"quickstart","order":1},{"name":"Remitter Details","visible_in_sidebar":true,"page_title":"Remitter Details For Bill Payments Integration Guide","path":"remittance_flows_guide","order":6},{"name":"Integrating with UPMS","visible_in_sidebar":true,"page_title":"BBPS COU - Integrating with UPMS","path":"upms","order":10},{"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":4}]},{"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":"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":false,"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},{"path":"fi-data-types"},{"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":"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":13},{"name":"List of APIs","visible_in_sidebar":true,"page_title":"BBPS COU - List of APIs","path":"apis","order":2},{"name":"Bill Payment Options","visible_in_sidebar":true,"page_title":"Bill Payment Options Integration Guide","path":"bill-payment-options","order":7},{"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":"Harmonization of TAT","visible_in_sidebar":true,"page_title":"Harmonization Of TAT (Disputes Api)","path":"harmonization_of_tat","order":11},{"name":"Multi-Bill Processing","visible_in_sidebar":true,"page_title":"Multi-Bill Processing Integration Guide","path":"multi-bill-processing","order":8},{"name":"Objects","visible_in_sidebar":true,"page_title":"BBPS COU - Objects","path":"objects","order":4},{"name":"Paying Bills","visible_in_sidebar":true,"page_title":"BBPS Bill Payment Integration Guide","path":"paying_bills","order":5},{"name":"Plans","visible_in_sidebar":true,"page_title":"When Users Need to Select Plans Before Payment","path":"plan-mdm-integration","order":9},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS COU - API integration","path":"quickstart","order":1},{"name":"Remitter & Account Info","visible_in_sidebar":true,"page_title":"Remitter & Account Info (Format Reference)","path":"remittance_flows_guide","order":6},{"name":"Integrating with UPMS","visible_in_sidebar":true,"page_title":"BBPS COU - Integrating with UPMS","path":"upms","order":12},{"name":"Migration Guide to v2","visible_in_sidebar":true,"page_title":"BBPS COU - Migration Guide to v2","path":"v2-migration","order":10},{"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":"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":"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 2015310d..575b37d7 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: 12 +order: 13 visible_in_sidebar: true --- diff --git a/content/payments/billpay/api-integration/bbps-v1_1-features.mdx b/content/payments/billpay/api-integration/bbps-v1_1-features.mdx deleted file mode 100644 index c42c6505..00000000 --- a/content/payments/billpay/api-integration/bbps-v1_1-features.mdx +++ /dev/null @@ -1,1240 +0,0 @@ ---- -sidebar_title: BBPS V1.1 Features -page_title: Learn how to integrate with BBPS V1.1 Features that support multi-bill via Setu's APIs -order: 8 -visible_in_sidebar: true ---- - -# BBPS V1.1 Features Guide - -## Overview - -This guide covers advanced BBPS V1.1 features for multi-bill processing and flexible payment configurations. - -📖 **For basic payment integration and API fundamentals → [Paying Bills Integration Guide](./paying_bills.mdx)** - -Setu's BBPS BillPay APIs have been upgraded to align with BBPS V1.1 specifications, introducing powerful new capabilities that enhance flexibility and user experience in bill payment processing. This comprehensive guide covers all new features, implementation patterns, and best practices. - -### Key Highlights - -BBPS V1.1 introduces three major enhancements: - -1. **🔧 Flexible Amount Configuration** - Sophisticated payment amount controls with min/max ranges and increment specifications -2. **💳 Multiple Payment Options** - Support for various payment modes within a single bill (advance payments, partial payments, foreclosure options) -3. **📦 Bulk Operations** - Ability to fetch and process multiple bills simultaneously for streamlined B2B and corporate scenarios - -
- -## What's New in V1.1 - -### Enhanced Payment Flexibility -- Dynamic amount restrictions with `minAmount`, `maxAmount`, and `amountMultiple` controls -- Custom labels for improved bill identification and user experience -- Support for partial payments, advance payments, and custom payment structures - -### Multi-Bill Support -- Fetch multiple bills in a single API call -- Configurable selection types (single, multiple, or all bills) -- Optimized for corporate credit cards, utility bundles, and B2B payment scenarios - -### Improved Transaction Tracking -- Detailed bill-level information in transaction histories -- Enhanced reporting capabilities for multi-bill payments -- Better reconciliation support for complex payment scenarios - -
- -## Biller Configuration & Attributes - -Understanding biller attributes is crucial for implementing the correct payment flow. These attributes are returned in the **List Billers API** response and determine how bill fetch and payment operations should be handled. - -### Response Type - -The `responseType` attribute defines the bill return behavior: - -| Type | Description | Use Case | -|------|-------------|----------| -| `SINGLE` | Returns zero or one bill per fetch request | Traditional utility bills, individual account payments | -| `LIST` | Can return multiple bills in a single fetch | Corporate accounts, bundled services, family plans | - -
- -### Selection Type - -For `LIST` billers, the `selectionType` specifies payment flexibility: - -| Type | Description | Payment Behavior | -|------|-------------|------------------| -| `SINGLE` | Pay one bill from the list | Choose specific bill from multiple options | -| `MULTIPLE` | Pay any combination of bills | Flexible multi-bill payment | -| `ALL` | Must pay all returned bills | Mandatory bundle payment | - -
- -### Configuration Examples - -#### Single Bill Biller - -{` -{ - "id": "ELEC001", - "name": "State Electricity Board", - "responseType": "SINGLE", - "selectionType": null, -} -`} - - -#### Multi-bill Single Selection Biller - -{` -{ - "id": "ELEC001", - "name": "State Electricity Board", - "responseType": "LIST", - "selectionType": "SINGLE", -} -`} - - -#### Multi-Bill Flexible Biller - -{` -{ - "id": "CORP001", - "name": "Corporate Credit Card", - "responseType": "LIST", - "selectionType": "MULTIPLE", -} -`} - -#### Bundle Payment Biller - -{` -{ - "id": "BUNDLE001", - "name": "Telecom Bundle Services", - "responseType": "LIST", - "selectionType": "ALL", -} -`} - - -### Payment Amount Exactness - -The `exactness` field controls payment amount flexibility: - -| Type | Description | Implementation | -|------|-------------|----------------| -| `EXACT` | Must pay the exact bill amount | Standard bill payment | - -> **💡 Key Insight:** The `exactness` field now includes a new option `RANGE`. For `RANGE`, you must use the `minAmount` and `maxAmount` fields (if present) in the bill fetch response to set the allowable payment range. - -
- -## Implementation Patterns - -### Pattern 1: Single Bill Processing - -**Use Case:** Traditional utility bills, individual account payments - -#### Biller Configuration -{` -{ - "responseType": "SINGLE", - "selectionType": null -} -`} -
- - -#### Bill Fetch Response -**Response Handling** -- The `bills` element of fetch response contains the details of the fetched bill. -- If `minAmount`/`maxAmount`/`amountMultiple` are specified, they must be handled as described in the [Amount Configuration](#amount-configuration) section. -- If `paymentOptions` are specified in fetch response, they must be displayed as described in the [Payment Options](#payment-options) section. - - - -
- - - Sample Response - - -{` -{ - "success": true, - "traceId": "CSJ1BSREA37IGH20GIQ0", - "data": { - "status": "SUCCESS", - "refId": "CSJ1BPJEA37IGH20GILGDfl3qOd43071737", - "billerResponseType": "SINGLE", - "billerSelectionType": null, - "bills": [ - { - "billNumber": "ELEC_001_JUN2025", - "amount": 285000, - "dueDate": "2025-07-15", - "customerName": "Rajesh Kumar", - "label": "Monthly Electricity Bill - June 2025", - "minAmount": 285000, - "maxAmount": 285000 - // ...remaining fields - } - ] - // ...remaining fields - } -} -`} -
-
-
- -#### Payment Request - -**Building Payment Request** -- No bill details need to be specified in the payment request. -- If `minAmount`/`maxAmount`/`amountMultiple` are specified in fetch response, proper validations must be added prior to bill payment as described in the [Amount Configuration](#amount-configuration) section. -- If `paymentOptions` are specified in fetch response, the payment request must be handled as described in the [Payment Options](#payment-options) section. -- In all other cases, the bill payment request remains unchanged. - - -
- - - Sample Request - - -{` -{ - "refId": "CSJ1BPJEA37IGH20GILGDfl3qOd43071737", - "paymentDetails": { - "mode": "UPI", - "paymentRefId": "UPI_REF_123456", - "amount": 285000, - "timestamp": "2025-06-04T14:30:00+05:30" - } -} -`} -
-
-
- -### Pattern 2: Multi-Bill Single Selection - -**Use Case:** Choose one bill from multiple outstanding bills - -#### Biller Configuration - -{` -{ - "responseType": "LIST", - "selectionType": "SINGLE" -} -`} -
- - -#### Bill Fetch Response -**Response Handling** -- The `bills` array in the fetch response contains details of the fetched bill(s). -- Each bill object in the bills array may have its own `minAmount`, `maxAmount`, `amountMultiple`. If specified, they must be handled as described in the [Amount Configuration](#amount-configuration) section. -- If `paymentOptions` are specified in fetch response, the payment request must be handled as described in the [Payment Options](#payment-options) section. - - -
- - - Sample Response - - -{` -{ - "success": true, - "traceId": "CSJ1BSREA37IGH20GIQ0", - "data": { - "status": "SUCCESS", - "refId": "CSJ1BPJEA37IGH20GILGDfl3qOd43071737", - "billerResponseType": "LIST", - "billerSelectionType": "SINGLE", - "bills": [ - { - "billNumber": "CC_001_MAY2025", - "amount": 125000, - "dueDate": "2025-06-15", - "customerName": "Priya Sharma", - "label": "Credit Card - May 2025" - // ...remainig fields - }, - { - "billNumber": "CC_001_JUN2025", - "amount": 89000, - "dueDate": "2025-07-15", - "customerName": "Priya Sharma", - "label": "Credit Card - June 2025" - // ...remainig fields - } - ] - // ...remainig fields - } -} -`} -
-
-
- -#### Payment Request - -**Building Payment Request** -- Include details of the selected single bill in the `bills` array of the payment request. Ensure only one bill is included in the `bills` array. -- The amount in `paymentDetails` must match the amount of the selected bill. -- If `minAmount`/`maxAmount`/`amountMultiple` are specified for the selected bill in fetch response, proper validations must be added prior to bill payment as described in the [Amount Configuration](#amount-configuration) section. - - -
- - - Sample Request - - -{` -{ - "refId": "CSJ1BPJEA37IGH20GILGDfl3qOd43071737", - "bills": [ - { - "billNumber": "CC_001_MAY2025", - "amount": 125000 - } - ], - "paymentDetails": { - "mode": "Net Banking", - "paymentRefId": "NB_REF_789012", - "amount": 125000, - "timestamp": "2025-06-04T15:45:00+05:30" - } -} -`} -
-
-
- -### Pattern 3: Multi-Bill Multiple Selection - -**Use Case:** Corporate payments, family account management - -#### Biller Configuration - -{` -{ - "responseType": "LIST", - "selectionType": "MULTIPLE" -} -`} -
- -#### Bill Fetch Response -**Response Handling** -- The `bills` array in the fetch response contains details of the fetched bill(s). -- Each bill object in the bills array may have its own `minAmount`, `maxAmount`, `amountMultiple`. If specified, they must be handled as described in the [Amount Configuration](#amount-configuration) section. -- If `paymentOptions` are specified in fetch response, the payment request must be handled as described in the [Payment Options](#payment-options) section. - - - -
- - - Sample Response - - -{` -{ - "success": true, - "traceId": "CSJ1BSREA37IGH20GIQ0", - "data": { - "status": "SUCCESS", - "refId": "CSJ1BPJEA37IGH20GILGDfl3qOd43071737", - "billerResponseType": "LIST", - "billerSelectionType": "MULTIPLE", - "bills": [ - { - "billNumber": "CORP_EMP_001", - "amount": 45000, - "dueDate": "2025-06-30", - "customerName": "Amit Patel", - "label": "Employee Reimbursement - Travel" - // ...remainig fields - }, - { - "billNumber": "CORP_EMP_002", - "amount": 23000, - "dueDate": "2025-06-30", - "customerName": "Sneha Gupta", - "label": "Employee Reimbursement - Medical" - // ...remainig fields - }, - { - "billNumber": "CORP_EMP_003", - "amount": 67000, - "dueDate": "2025-06-30", - "customerName": "Vikram Singh", - "label": "Employee Reimbursement - Training" - // ...remainig fields - } - ] - // ...remainig fields - } -} -`} -
-
-
- -#### Payment Request (Selective Payment) - -**Building Payment Request** -- Include details of all selected bills in the `bills` array of the payment request. -- The amount in `paymentDetails` must be the sum of amounts of all selected bills. -- If `minAmount`/`maxAmount`/`amountMultiple` are specified for the selected bill in fetch response, proper validations must be added prior to bill payment as described in the [Amount Configuration](#amount-configuration) section. - - -
- - - Sample Request - - -{` -{ - "refId": "CSJ1BPJEA37IGH20GILGDfl3qOd43071737", - "bills": [ - { - "billNumber": "CORP_EMP_001", - "amount": 45000 - }, - { - "billNumber": "CORP_EMP_003", - "amount": 67000 - } - ], - "paymentDetails": { - "mode": "RTGS", - "paymentRefId": "RTGS_REF_345678", - "amount": 112000, - "timestamp": "2025-06-04T16:20:00+05:30" - } -} -`} -
-
-
- -### Pattern 4: Mandatory Bundle Payment - -**Use Case:** Service bundles, family plans that must be paid together - -#### Biller Configuration - -{` -{ - "responseType": "LIST", - "selectionType": "ALL" -} -`} -
- -#### Bill Fetch Response -**Response Handling** -- The `bills` array in the fetch response contains details of the fetched bill(s). -- Each bill object in the bills array may have its own `minAmount`, `maxAmount`, `amountMultiple`. If specified, they must be handled as described in the [Amount Configuration](#amount-configuration) section. -- If `paymentOptions` are specified in fetch response, the payment request must be handled as described in the [Payment Options](#payment-options) section. - - - -
- - - Sample Response - - -{` -{ - "success": true, - "traceId": "CSJ1BSREA37IGH20GIQ0", - "data": { - "status": "SUCCESS", - "refId": "CSJ1BPJEA37IGH20GILGDfl3qOd43071737", - "billerResponseType": "LIST", - "billerSelectionType": "ALL", - "bills": [ - { - "billNumber": "BUNDLE_MOBILE_001", - "amount": 85000, - "dueDate": "2025-06-30", - "customerName": "Amit Patel", - "label": "AIRTEL POST PAID" - // ...remainig fields - }, - { - "billNumber": "BUNDLE_MOBILE_002", - "amount": 120000, - "dueDate": "2025-06-30", - "customerName": "Sneha Gupta", - "label": "AIRTEL POST PAID" - // ...remainig fields - }, - { - "billNumber": "BUNDLE_MOBILE_003", - "amount": 65000, - "dueDate": "2025-06-30", - "customerName": "Vikram Singh", - "label": "AIRTEL POST PAID" - // ...remainig fields - } - ] - // ...remainig fields - } -} -`} -
-
-
- - -#### Payment Request (All Bills Required) - -**Building Payment Request** -- Include details of all bills from the fetch response in the `bills` array of the payment request. The array must contain all bills returned in the fetch response. -- The amount in `paymentDetails` must be the sum of amounts of all bills. -- If `minAmount`/`maxAmount`/`amountMultiple` are specified for the selected bill in fetch response, proper validations must be added prior to bill payment as described in the [Amount Configuration](#amount-configuration) section. - - -
- - - Sample Request - - -{` -{ - "refId": "CSJ1BPJEA37IGH20GILGDfl3qOd43071737", - "bills": [ - { - "billNumber": "BUNDLE_MOBILE_001", - "amount": 85000 - }, - { - "billNumber": "BUNDLE_MOBILE_002", - "amount": 120000 - }, - { - "billNumber": "BUNDLE_MOBILE_003", - "amount": 65000 - } - ], - "paymentDetails": { - "mode": "Debit Card", - "paymentRefId": "DC_REF_901234", - "amount": 270000, - "timestamp": "2025-06-04T17:10:00+05:30" - } -} -`} -
-
-
- -
- -## Amount Configuration - -BBPS V1.1 introduces flexible amount configuration for bills. This allows billers to set specific constraints on payment amounts. - -### New Fields - -The bill fetch response now includes the following new fields for each bill: - -| Field | Purpose | Usage | -|-------|---------|-------| -| `label` | Human-readable bill description | Display to users for better bill identification | -| `minAmount` | Minimum payable amount | Enforce minimum payment threshold | -| `maxAmount` | Maximum payable amount | Enforce maximum payment threshold | -| `amountMultiple` | Required payment increments | Ensure payments in specific denominations | - -
- -### Using New Fields - -#### label -> **Purpose**: Display this text to provide additional context about the bill -> -> **Usage**: Optional descriptive text that appears alongside the bill information - - -#### amountMultiple -> **Purpose**: Ensure the payment amount is a multiple of this value -> -> **Example**: If `amountMultiple` is 100, valid payments could be: -> - ✅ 100, 200, 300, 400... -> - ❌ 150, 250, 350... - - -#### minAmount & maxAmount - -| Scenario | Rule | Description | -|----------|------|-------------| -| **Both present** | `minAmount ≤ payment ≤ maxAmount` | Allow payments only within this range | -| **Only minAmount** | `payment ≥ minAmount` | Allow payments at or above this amount | -| **Only maxAmount** | `payment ≤ maxAmount` | Allow payments at or below this amount | -| **Neither present** | No restrictions | Allow any payment amount | - -
- -### Sample Responses - -**Biller doesn't put restrictions on payment amount** - - -
- - - Sample Response - - -{` -{ - "success": true, - "traceId": "CSJ1BSREA37IGH20GIQ0", - "data": { - "status": "SUCCESS", - "billerResponseType": "SINGLE", - "billerSelectionType": "null", - "bills": [ - { - "amount": 1000000, - "minAmount": null, - "maxAmount": null, - "amountMultiple": null - // ...remaining fields - } - ] - // ...remaining fields - } -} -`} -
-
-
- -**Biller sets a minimum payment amount** - - -
- - - Sample Response - - -{` -{ - "success": true, - "traceId": "CSJ1BSREA37IGH20GIQ0", - "data": { - "status": "SUCCESS", - "billerResponseType": "SINGLE", - "billerSelectionType": "null", - "bills": [ - { - "amount": 1000000, - "minAmount": 500000, - "maxAmount": null, - "amountMultiple": null - // ...remaining fields - } - ] - // ...remaining fields - } -} -`} -
-
-
- -**Biller sets a maximum payment amount** - - -
- - - Sample Response - - -{` -{ - "success": true, - "traceId": "CSJ1BSREA37IGH20GIQ0", - "data": { - "status": "SUCCESS", - "billerResponseType": "SINGLE", - "billerSelectionType": "null", - "bills": [ - { - "amount": 1000000, - "minAmount": null, - "maxAmount": 1500000, - "amountMultiple": null - // ...remaining fields - } - ] - // ...remaining fields - } -} -`} -
-
-
- -**Biller requires payments in specific increments** - - -
- - - Sample Response - - -{` -{ - "success": true, - "traceId": "CSJ1BSREA37IGH20GIQ0", - "data": { - "status": "SUCCESS", - "billerResponseType": "SINGLE", - "billerSelectionType": "null", - "bills": [ - { - "amount": 1000000, - "minAmount": null, - "maxAmount": null, - "amountMultiple": 100000 - // ...remaining fields - } - ] - // ...remaining fields - } -} -`} -
-
-
- -**Biller sets a payment range** - - -
- - - Sample Response - - -{` -{ - "success": true, - "traceId": "CSJ1BSREA37IGH20GIQ0", - "data": { - "status": "SUCCESS", - "billerResponseType": "SINGLE", - "billerSelectionType": "null", - "bills": [ - { - "amount": 1000000, - "minAmount": 500000, - "maxAmount": 1500000, - "amountMultiple": null - // ...remaining fields - } - ] - // ...remaining fields - } -} -`} -
-
-
- -**Biller sets a minimum payment and requires specific increments** - - -
- - - Sample Response - - -{` -{ - "success": true, - "traceId": "CSJ1BSREA37IGH20GIQ0", - "data": { - "status": "SUCCESS", - "billerResponseType": "SINGLE", - "billerSelectionType": "null", - "bills": [ - { - "amount": 1000000, - "minAmount": 500000, - "maxAmount": null, - "amountMultiple": 100000 - // ...remaining fields - } - ] - // ...remaining fields - } -} -`} -
-
-
- -**Biller sets a maximum payment and requires specific increments** - - -
- - - Sample Response - - -{` -{ - "success": true, - "traceId": "CSJ1BSREA37IGH20GIQ0", - "data": { - "status": "SUCCESS", - "billerResponseType": "SINGLE", - "billerSelectionType": "null", - "bills": [ - { - "amount": 1000000, - "minAmount": null, - "maxAmount": 1500000, - "amountMultiple": 100000 - // ...remaining fields - } - ] - // ...remaining fields - } -} -`} -
-
-
- -**Biller sets a payment range and requires specific increments** - - -
- - - Sample Response - - -{` -{ - "success": true, - "traceId": "CSJ1BSREA37IGH20GIQ0", - "data": { - "status": "SUCCESS", - "billerResponseType": "SINGLE", - "billerSelectionType": "null", - "bills": [ - { - "amount": 1000000, - "minAmount": 500000, - "maxAmount": 1500000, - "amountMultiple": 100000 - // ...remaining fields - } - ] - // ...remaining fields - } -} -`} -
-
-
- -### Additional Notes - -In all scenarios, the `amount` field represents the actual bill amount. The constraints (`minAmount`, `maxAmount`, `amountMultiple`) define the acceptable payment amounts, which may differ from the bill amount. - -#### Validation Rules - -Validate payment amounts using these rules: - -- If `minAmount` is set: `payment >= minAmount` -- If `maxAmount` is set: `payment <= maxAmount` -- If `amountMultiple` is set: `payment % amountMultiple == 0` - -#### Additional Constraints - -- **Effective minAmount** = `max(billMinAmount, paymentChannel minAmount, paymentMode minAmount)` -- **Effective maxAmount** = `min(billMaxAmount, paymentChannel maxAmount, paymentMode maxAmount)` - -### Multiple Bills Support - -All the amount configuration rules and implementation guidelines discussed above apply equally to scenarios where the fetch response contains multiple bill objects or single bill object in bills array. - -#### Example of fetch response with multiple bills - - -
- - - Sample Response - - -{` -{ - "success": true, - "traceId": "CSJ1BSREA37IGH20GIQ0", - "data": { - "status": "SUCCESS", - "billerResponseType": "LIST", - "billerSelectionType": "MULTIPLE", - "bills": [ - { - "amount": 1000000, - "minAmount": 500000, - "maxAmount": 1500000, - "amountMultiple": 100000 - // ...remaining fields - }, - { - "amount": 500000, - "minAmount": 250000, - "maxAmount": null, - "amountMultiple": 50000 - // ...remaining fields - } - ] - // ...remaining fields - } -} -`} -
-
-
- -#### Handling Multiple Bills - -When handling multiple bills: - -- Apply the validation rules to each bill individually -- Ensure that the total payment amount respects the constraints of all selected bills -- Allow users to select and pay for multiple bills based on the biller's `selectionType` - -
- -## Payment Options - -A new field called `paymentOptions` may be included in each bill within the `bills` array of the bill fetch response. This field appears when the biller provides multiple payment methods for a single bill. - -### Sample Bill Fetch Response - - -
- - - Sample Response - - -{` -{ - "success": true, - "traceId": "CSJ1BSREA37IGH20GIQ0", - "data": { - "status": "SUCCESS", - "refId": "CSJ1BPJEA37IGH20GILGDfl3qOd43071737", - "billerResponseType": "LIST", - "billerSelectionType": "SINGLE", - "bills": [ - { - "amount": 200000, - "billNumber": "LOAN001", - "customerName": "Samiksha Sharma", - "dueDate": "2099-12-30", - "paymentOptions": [ - { - "name": "Advance Payment", - "amount": 300000, - "minAmount": 300000, - "maxAmount": 1000000, - "amountMultiple": 50000 - // ...remainig fields - }, - { - "name": "Part Payment", - "amount": 50000, - "minAmount": 50000, - "maxAmount": 300000, - "amountMultiple": null - // ...remainig fields - }, - { - "name": "Foreclosure", - "amount": 500000, - "minAmount": 500000, - "maxAmount": 500000, - "amountMultiple": null - // ...remainig fields - } - ] - } - ] - // ...remainig fields - } -} -`} -
-
-
- -### Attributes - -Each payment option in the `paymentOptions` array may contain the following attributes: - -- **name**: A descriptive name for the payment option (required) -- **amount**: The suggested amount for this payment option (optional) -- **minAmount**: The minimum amount allowed for this option (optional) -- **maxAmount**: The maximum amount allowed for this option (optional) -- **amountMultiple**: The multiple in which the amount should be paid (optional) - -## Selecting a Payment Option - -The `selectedPaymentOptions` field in the payment request is used to specify which payment option the user has chosen, if any. - -This feature is currently only available for single billers (single bill scenarios). - -### Use Cases - -#### Paying Base Bill Amount (No Payment Options Selected) - -1. It can be null or empty when paying the base bill amount. -2. When no specific option is selected, the base bill amount's constraints (`minAmount`, `maxAmount`, `amountMultiple`) apply. - - -
- - - Sample Request - - -{` -{ - "refId": "ABC1234", - "paymentDetails": { - "mode": "Payment Mode", - "paymentRefId": "XYZ123", - "amount": 10000, - "timestamp": "YYYY-MM-DDTHH:MM:SS+05:30" - } -} -`} -
-
-
- -#### Paying for a Specific Option - -Only one of the payment options specified in the fetch response can be selected: - -- The `name` in `selectedPaymentOptions[0]` must match a name from the fetch response's `paymentOptions`. -- The `amount` in `selectedPaymentOptions[0]` must: - - Match `paymentDetails.amount` - - Adhere to `minAmount`, `maxAmount`, and `amountMultiple` of the corresponding option in the fetch response (if provided). - -##### Advance Payment Example - - -
- - - Sample Request - - -{` -{ - "refId": "ABC1234", - "paymentDetails": { - "mode": "Payment Mode", - "paymentRefId": "XYZ123", - "amount": 300000, - "timestamp": "YYYY-MM-DDTHH:MM:SS+05:30", - "selectedPaymentOptions": [ - { - "name": "Advance Payment", - "amount": 300000 - } - ] - } -} -`} -
-
-
- -##### Part Payment Example - - -
- - - Sample Request - - -{` -{ - "refId": "ABC1234", - "paymentDetails": { - "mode": "Payment Mode", - "paymentRefId": "XYZ123", - "amount": 50000, - "timestamp": "YYYY-MM-DDTHH:MM:SS+05:30", - "selectedPaymentOptions": [ - { - "name": "Part Payment", - "amount": 50000 - } - ] - } -} -`} -
-
-
- -##### Foreclosure Example - - -
- - - Sample Request - - -{` -{ - "refId": "ABC1234", - "paymentDetails": { - "mode": "Payment Mode", - "paymentRefId": "XYZ123", - "amount": 500000, - "timestamp": "YYYY-MM-DDTHH:MM:SS+05:30", - "selectedPaymentOptions": [ - { - "name": "Foreclosure", - "amount": 500000 - } - ] - } -} -`} -
-
-
- - -
- - -## Getting details of paid bills - -The List Transactions API response now includes a new `bills` array element, providing detailed information about the bills involved in each transaction. - -### Response - -The `bills` array in the List Transactions API response contains objects with `billNumber` and `amount` for each bill involved in the transaction. - -### Examples - -#### LIST Transactions - -1. The `bills` array in the response matches the `bills` array from the payment request. -2. It includes bills paid in the transaction (as present in payment request), regardless of the selection type. - - -
- - - Sample Response - - -{` -{ - "transactions": [ - { - // ... other transaction details ... - "bills": [ - { "billNumber": "BILL001", "amount": 100000 }, - { "billNumber": "BILL002", "amount": 150000 } - ] - } - ] -} -`} -
-
-
- -### SINGLE Billers (Bill Present in Fetch Response) - -The `bills` array contains one object with the `billNumber` and `amount` of the bill paid. - - -
- - - Sample Response - - -{` -{ - "transactions": [ - { - // ... other transaction details ... - "bills": [ - { "billNumber": "BILL001", "amount": 100000 } - ] - } - ] -} -`} -
-
-
- -### SINGLE Billers (No Bill in Fetch Response) - -An empty `bills` array is returned. - - -
- - - Sample Response - - -{` -{ - "transactions": [ - { - // ... other transaction details ... - "bills": [] - } - ] -} -`} -
-
-
\ No newline at end of file diff --git a/content/payments/billpay/api-integration/bill-payment-options.mdx b/content/payments/billpay/api-integration/bill-payment-options.mdx new file mode 100644 index 00000000..ceb168f8 --- /dev/null +++ b/content/payments/billpay/api-integration/bill-payment-options.mdx @@ -0,0 +1,281 @@ +--- +sidebar_title: Bill Payment Options +page_title: Bill Payment Options Integration Guide +order: 7 +visible_in_sidebar: true +--- + +# Bill Payment Options Integration Guide + +Some billers (eg: Loan repayments) offer multiple payment amounts for a single bill. + +📖 **For basic payment integration → [Paying Bills Integration Guide](./paying_bills.mdx)** + +## Overview + +Bill payment options allow customers to choose from different payment amounts for a single bill, such as: +- **Minimum Due**: Pay only the minimum required amount +- **Full Payment**: Pay the complete bill amount +- **Advance Payment**: Pay more than the bill amount +- **Partial Payment**: Pay a custom amount within limits +- **Foreclosure**: Pay the full outstanding amount + +**The `paymentOptions` field appears in fetch responses when billers support multiple payment amounts.** + +## Implementation Guide + +### Step 1: Detect Payment Options in Fetch Response + +Check for the `paymentOptions` field in your bill fetch response: + +{` +{ + "success": true, + "data": { + "refId": "FETCH_REF_123", + "status": "Success", + "bills": [ + { + "amount": 200000, // Base bill amount + "billNumber": "LOAN001", + "customerName": "John Doe", + "dueDate": "2024-12-30", + "paymentOptions": [ + { + "name": "Minimum Due", + "amount": 50000, + "minAmount": 50000, + "maxAmount": 50000 + }, + { + "name": "Full Payment", + "amount": 200000, + "minAmount": 200000, + "maxAmount": 200000 + }, + { + "name": "Advance Payment", + "amount": 300000, + "minAmount": 300000, + "maxAmount": 1000000, + "amountMultiple": 50000 + } + ] + } + ] + } +} +`} + +### Step 2: Present Options to Users + +**UI Implementation:** +- Display payment options as selectable buttons or dropdown +- Show option names with their corresponding amounts +- Allow custom amount input within option constraints +- Validate amounts against `minAmount`, `maxAmount`, and `amountMultiple` + +**Example UI Flow:** +``` +┌─────────────────────────────────┐ +│ Choose Payment Amount: │ +│ │ +│ ○ Minimum Due - ₹500.00 │ +│ ○ Full Payment - ₹2,000.00 │ +│ ● Advance Payment - ₹3,000.00 │ +│ │ +│ Custom Amount: [₹3,000.00 ] │ +│ (₹3,000 - ₹10,000, multiples │ +│ of ₹500) │ +└─────────────────────────────────┘ +``` + +### Step 3: Build Payment Request + +**When user selects a payment option:** + +{` +{ + "refId": "FETCH_REF_123", + "paymentDetails": { + "amount": 300000, // Must match selected option amount + "mode": "UPI", + "paymentRefId": "PAY_REF_456", + "timestamp": "2024-06-04T14:30:00+05:30", + "accountInfo": "user@ybl", + "selectedPaymentOptions": [ + { + "name": "Advance Payment", // Must match option name from fetch response + "amount": 300000 // Must match paymentDetails.amount + } + ] + }, + "remitter": { + "name": "John Doe" + } +} +`} + +**When user pays base bill amount (no option selected):** + +{` +{ + "refId": "FETCH_REF_123", + "paymentDetails": { + "amount": 200000, // Base bill amount + "mode": "UPI", + "paymentRefId": "PAY_REF_789", + "timestamp": "2024-06-04T14:30:00+05:30", + "accountInfo": "user@ybl" + // No selectedPaymentOptions field when paying base amount + }, + "remitter": { + "name": "John Doe" + } +} +`} + +## How Payment Options Work + +**Relationship to Base Bill:** +- Base bill has `amount` and may have `exactness` rules +- Payment options **override** base bill constraints when selected +- Each option defines its own amount limits and validation rules + +**Key Fields:** +- `name`: Option identifier (must match exactly in payment request) +- `amount`: Default amount for this option +- `minAmount`/`maxAmount`: Payment range for this option +- `amountMultiple`: Required increments (if specified) + +## Validation Rules + +**Step-by-Step Validation:** + +1. **Option Selection**: Choose option from `paymentOptions` array or use base bill amount +2. **Amount Constraints**: If option selected, validate against option's `minAmount`/`maxAmount` +3. **Multiple Validation**: If `amountMultiple` specified: `amount % amountMultiple == 0` +4. **Request Consistency**: `paymentDetails.amount` must equal `selectedPaymentOptions[0].amount` + +**Example Validation Logic:** +{` +IF user selects payment option: + amount = user_chosen_amount + validate: option.minAmount <= amount <= option.maxAmount + validate: amount % option.amountMultiple == 0 (if specified) + include: selectedPaymentOptions field +ELSE: + amount = bill.amount (or user amount within bill constraints) + validate: according to bill exactness rules + omit: selectedPaymentOptions field +`} + +## Real-World Example: Loan Repayment + +**Complete flow showing payment options in action:** + +{` +// Fetch Response +{ + "data": { + "refId": "LOAN_FETCH_123", + "bills": [{ + "amount": 50000, // Monthly EMI + "paymentOptions": [ + { + "name": "Monthly EMI", + "amount": 50000, + "minAmount": 50000, + "maxAmount": 50000 + }, + { + "name": "Partial Prepayment", + "amount": 100000, + "minAmount": 100000, + "maxAmount": 500000, + "amountMultiple": 10000 + }, + { + "name": "Foreclosure", + "amount": 1200000, + "minAmount": 1200000, + "maxAmount": 1200000 + } + ] + }] + } +} + +// Payment Request (Partial Prepayment) +{ + "refId": "LOAN_FETCH_123", + "paymentDetails": { + "amount": 250000, // User chose custom amount + "selectedPaymentOptions": [{ + "name": "Partial Prepayment", + "amount": 250000 + }] + } +} +`} + +## Error Handling + +**Common Validation Errors:** + +1. **Invalid option name**: Selected option doesn't exist in fetch response +2. **Amount mismatch**: `paymentDetails.amount` ≠ `selectedPaymentOptions[0].amount` +3. **Out of range**: Amount outside option's `minAmount`/`maxAmount` +4. **Invalid multiple**: Amount not a multiple of `amountMultiple` +5. **Missing selection**: Option required but `selectedPaymentOptions` not provided + +**Example Error Responses:** +{` +// Out of range error +{ + "success": false, + "error": { + "code": "AMOUNT_OUT_OF_RANGE", + "message": "Amount 75000 is below minimum 100000 for option 'Partial Prepayment'" + } +} + +// Invalid multiple error +{ + "success": false, + "error": { + "code": "INVALID_AMOUNT_MULTIPLE", + "message": "Amount 155000 must be multiple of 10000 for option 'Partial Prepayment'" + } +} +`} + +## Integration with CCF and Other Features + +**Customer Convenience Fee (CCF):** +- CCF calculation applies to the **final payment amount** (including selected option amount) +- Recalculate CCF when user changes payment options +- CCF applies to `paymentDetails.amount`, not base bill amount + +**Exactness Rules:** +- When payment option is selected: option constraints override bill exactness +- When no option selected: standard exactness rules apply to base bill +- `selectedPaymentOptions` signals which validation rules to use + +## Best Practices + +1. **Implement as standard feature** - not optional for comprehensive bill payment +2. **Validate in real-time** as users select options and enter amounts +3. **Clear option presentation** with amount ranges and constraints +4. **Handle gracefully** when paymentOptions is null/empty +5. **Consistent refId usage** throughout fetch-to-payment flow + +## Reference Links + +📖 **Related Guides:** +- [Paying Bills Integration Guide](./paying_bills.mdx) — Master guide with Flow 1 implementation +- [Multi-Bill Processing Guide](./multi-bill-processing.mdx) — Multiple bills handling (optional) +- [API Reference](./api-reference.mdx) — Complete endpoint specifications +- [Webhooks Integration](./webhooks.mdx) — Real-time payment status updates + + \ No newline at end of file diff --git a/content/payments/billpay/api-integration/harmonization_of_tat.mdx b/content/payments/billpay/api-integration/harmonization_of_tat.mdx index f03b95b3..c54e75a2 100644 --- a/content/payments/billpay/api-integration/harmonization_of_tat.mdx +++ b/content/payments/billpay/api-integration/harmonization_of_tat.mdx @@ -1,7 +1,7 @@ --- sidebar_title: Harmonization of TAT page_title: Harmonization Of TAT (Disputes Api) -order: 10 +order: 11 visible_in_sidebar: true --- diff --git a/content/payments/billpay/api-integration/multi-bill-processing.mdx b/content/payments/billpay/api-integration/multi-bill-processing.mdx new file mode 100644 index 00000000..a6a26aa3 --- /dev/null +++ b/content/payments/billpay/api-integration/multi-bill-processing.mdx @@ -0,0 +1,145 @@ +--- +sidebar_title: Multi-Bill Processing +page_title: Multi-Bill Processing Integration Guide +order: 8 +visible_in_sidebar: true +--- + +# Multi-Bill Processing Integration Guide + +**This extends [Flow 1 (Bill Fetch → Payment)](./paying_bills.mdx#flow-1-bill-fetch--payment-most-common) from the master guide.** Only needed when billers return multiple bills in a single fetch (< 1% of billers). + +📖 **Start here first → [Paying Bills Integration Guide](./paying_bills.mdx)** + +## When You Need This Guide + +**Most developers can skip this guide.** You only need multi-bill processing when your Flow 1 fetch response shows: + +```json +{ + "billerResponseType": "LIST" // Instead of "SINGLE" +} +``` + +**This indicates the biller can return multiple bills that require selection before payment.** + +### Quick Detection Check + +{` +// Add to your existing Flow 1 fetch response handler +if (fetchResponse.data.billerResponseType === "LIST") { + // Multiple bills detected - implement multi-bill selection UI + handleMultiBillFlow(fetchResponse); +} else { + // Single bill - continue with standard Flow 1 implementation + handleSingleBillFlow(fetchResponse); +} +`} + +**Example LIST Response Structure:** +{` +{ + "data": { + "refId": "FETCH_REF_123", + "billerResponseType": "LIST", // Multiple bills indicator + "billerSelectionType": "MULTIPLE", // Selection rules + "bills": [ + { "billNumber": "BILL_001", "amount": 50000 }, + { "billNumber": "BILL_002", "amount": 75000 } + ] + } +} +`} + +## Common Multi-Bill Scenarios + +**When billers return multiple outstanding bills:** +- **Corporate credit cards**: Multiple billing periods (May + June statements) +- **B2B invoices**: Multiple outstanding invoices requiring payment +- **Government eChallans**: Bulk payment processing + +## Selection Rules + +**The `billerSelectionType` field determines how many bills users can select:** + +- **`"SINGLE"`** → Choose exactly 1 bill (e.g., May OR June credit card statement) +- **`"MULTIPLE"`** → Choose 1+ bills (e.g., select which invoices to pay) +- **`"ALL"`** → Must pay all bills together (no selection) + +## Implementation Guide + +### Step 1: Build Selection UI + +**Based on your detection, implement selection interface:** + +{` +function renderBillSelection(fetchResponse) { + const { billerSelectionType, bills } = fetchResponse.data; + + switch(billerSelectionType) { + case "SINGLE": + return renderRadioButtons(bills); // Only one bill can be paid + case "MULTIPLE": + return renderCheckboxes(bills); // Any combination of bills can be paid + case "ALL": + return renderAllSelected(bills); // All bills must be paid together + } +} +`} + +### Step 2: Build Payment Request + +**Multi-bill payment extends your existing Flow 1 payment with:** +{` +{ + "refId": "MULTI_FETCH_REF_123", + "bills": [ + { "billNumber": "EMP_001_TRAVEL", "amount": 45000 }, + { "billNumber": "EMP_003_TRAINING", "amount": 67000 } + ], + "paymentDetails": { + "amount": 112000, // Sum: 45000 + 67000 + "mode": "UPI", + "paymentRefId": "MULTI_PAY_456", + "timestamp": "2024-06-04T16:20:00+05:30", + "accountInfo": "user@ybl" + }, + "remitter": { "name": "Corporate Account" } +} +`} + +**Key Differences from Single Bill Payment:** +- Add `bills` array with selected bill details +- Set `paymentDetails.amount` to sum of selected bills +- Each bill amount must match fetch response exactly + +## Validation Requirements + +**Essential Checks:** +1. **Selection count**: Match `billerSelectionType` requirements (1 for SINGLE, 1+ for MULTIPLE, all for ALL) +2. **Amount consistency**: `paymentDetails.amount` must equal sum of selected bill amounts +3. **Bill matching**: All selected `billNumber` values must exist in fetch response + +**Multi-Bill + Payment Options:** +Individual bills in LIST responses can also have `paymentOptions`. Handle bill selection first, then payment options for selected bills. + +📖 **Payment options implementation → [Bill Payment Options Guide](./bill-payment-options.mdx)** + +**Transaction responses include individual bill breakdown for detailed reconciliation and audit trails.** + +## Implementation Checklist + +1. **Add detection logic** to your existing Flow 1 fetch handler +2. **Build selection UI** based on `billerSelectionType` (radio/checkbox/all-selected) +3. **Validate in real-time** as users select/deselect bills +4. **Use same `refId`** from fetch response in payment request + +## Reference Links + +📖 **Related Guides:** +- [Paying Bills Integration Guide](./paying_bills.mdx) — Master guide with Flow 1 implementation +- [Bill Payment Options Guide](./bill-payment-options.mdx) — Handle payment options within bills +- [API Reference](./api-reference.mdx) — Complete endpoint specifications +- [Webhooks Integration](./webhooks.mdx) — Real-time payment status updates + + \ No newline at end of file diff --git a/content/payments/billpay/api-integration/objects.mdx b/content/payments/billpay/api-integration/objects.mdx index 0b30920a..9e65db0e 100644 --- a/content/payments/billpay/api-integration/objects.mdx +++ b/content/payments/billpay/api-integration/objects.mdx @@ -154,6 +154,9 @@ A standard structure for representing errors in API responses or callbacks. | amount | `integer` | Amount in paise | | timestamp | `date-time` | Timestamp | | selectedPaymentOptions | [Selected Payment Option](#selected-payment-option)`[]` | Array of selected payment options | +| accountInfo | `string` (Mandatory) | NPCI-compatible instrument info for the payment instrument. | +| custConvFee | `integer` (Optional) | Customer convenience fee in paise (when applicable). | +| Id | `string` (Optional) | Plan ID for plan-based billers. | ## Payment Bill diff --git a/content/payments/billpay/api-integration/paying_bills.mdx b/content/payments/billpay/api-integration/paying_bills.mdx index 59b127be..8bc9c7dc 100644 --- a/content/payments/billpay/api-integration/paying_bills.mdx +++ b/content/payments/billpay/api-integration/paying_bills.mdx @@ -7,692 +7,496 @@ visible_in_sidebar: true # Paying Bills -**Scope**: This guide covers paying bills through the BBPS (Bharat Bill Payment System) network. For prepaid mobile recharge, refer to the separate prepaid recharge API documentation. - -## Table of Contents - -1. [Understanding Bill Fetch Responses](#1-understanding-bill-fetch-responses) - 1.1 [API Versions](#11-api-versions) - 1.2 [Response Structure Overview](#12-response-structure-overview) - 1.3 [UI Decision Fields](#13-ui-decision-fields) - 1.4 [Status Handling](#14-status-handling) -2. [RefId-Based Payment Construction](#2-refid-based-payment-construction) - 2.1 [Required Headers](#21-required-headers) - 2.2 [RefId Payment Flow](#22-refid-payment-flow) - 2.3 [RefId Payment Request Template](#23-refid-payment-request-template) - 2.4 [Payment Request Construction](#24-payment-request-construction) - 2.5 [Amount Validation Rules](#25-amount-validation-rules) - 2.6 [Plan-Based Billers](#26-plan-based-billers) -3. [Payment Details and Remitter Information](#3-payment-details-and-remitter-information) - 3.1 [Account Info and Remitter Requirements](#31-account-info-and-remitter-requirements) - 3.2 [Common Payment Mode Examples](#32-common-payment-mode-examples) -4. [Payment Limits and Amount Validation](#4-payment-limits-and-amount-validation) - 4.1 [Reading Payment Limits from Fetch Response](#41-reading-payment-limits-from-fetch-response) - 4.2 [Payment Mode Support](#42-payment-mode-support) - 4.3 [Amount Validation](#43-amount-validation) -5. [Category-Specific Payment Examples](#5-category-specific-payment-examples) - 5.1 [Electricity Bill Payment](#51-electricity-bill-payment) - 5.2 [Credit Card Bill Payment](#52-credit-card-bill-payment) - 5.3 [Mobile Postpaid Bill Payment](#53-mobile-postpaid-bill-payment) - 5.4 [Gas Bill Payment](#54-gas-bill-payment) - 5.5 [Water Bill Payment](#55-water-bill-payment) - 5.6 [Multi-Bill Payment Example](#56-multi-bill-payment-example) -6. [Common Validation Rules and Edge Cases](#6-common-validation-rules-and-edge-cases) - 6.1 [Amount Precision Rules (Pseudocode)](#61-amount-precision-rules-pseudocode) - 6.2 [RefId Validity and Same-Day Policy (Pseudocode)](#62-refid-validity-and-same-day-policy-pseudocode) - 6.3 [Customer Parameter Validation (Pseudocode)](#63-customer-parameter-validation-pseudocode) - 6.4 [Error Handling Best Practices (Pseudocode)](#64-error-handling-best-practices-pseudocode) - 6.5 [Complete Payment Flow Implementation (Pseudocode)](#65-complete-payment-flow-implementation-pseudocode) +**Scope**: This guide covers using Setu APIs to pay bills through the BBPS (Bharat Bill Payment System) network. For prepaid mobile recharge, refer to the separate prepaid recharge API documentation. ---- + + This guide works for both v1 and v2 APIs. Key differences: +
    +
  • Customer parameters: v2 uses customer.customerParams, v1 uses customer.billParameters
  • +
  • Bill fetch response: v2 returns bills[] array, v1 returns single bill object
  • +
  • Endpoints: Use /api/v1/ or /api/v2/ as needed
  • +
+ For complete migration details → V2 Migration Guide +
-## 1. Understanding Bill Fetch Responses +## Understanding Bill Payment Models -### 1.1 API Versions +BBPS network supports three different payment models. Each biller determines which model they support: -| Aspect | V1 API | V2 API | -|--------|--------|--------| -| **Bill Structure** | `"bill": { ... }` (single object) | `"bills": [ { ... } ]` (array) | -| **Payment Limits** | Includes `paymentLimits` object | Bill-level limits only | -| **Endpoints** | `/api/v1/bbps/bills/*` | `/api/v2/bbps/bills/*` | +**Flow 1: Bill Fetch → Payment** +- Retrieve the current amount due for the bill, then allow the customer to pay the bill +- Common with: Electricity, Gas, Credit cards, Loan repayments +- **[Jump to Flow 1 →](#flow-1-bill-fetch--payment)** -📖 **For complete API migration details and field-level diffs → [V2 Migration Guide](./v2-migration.mdx)** +**Flow 2: Bill Validation → Payment** +- Validate customer's account exists with the biller, then allow them to pay the bill +- Common with: Broadband postpaid, Mobile postpaid, DTH/Cable TV, NCMC Recharge +- **[Jump to Flow 2 →](#flow-2-bill-validation--payment)** -### 1.2 Response Structure Overview +**Flow 3: Direct Payment** +- Customer can pay any amount they want, without requiring prior bill fetch or validation +- Common with: Donations +- **[Jump to Flow 3 →](#flow-3-direct-payment)** - -
- - Sample Fetch Response - - {` -{ - "success": true, - "data": { - "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", // → Use in payment request - "status": "Success", // → Processing|Success|Failure - "bills": [ // → V2 uses "bills" array (V1 uses "bill" object) - { - "amount": 150000, // → Base bill amount (paise) - "billNumber": "1232332", - "billDate": "2021-01-02", - "dueDate": "2021-09-24", - "billPeriod": "MONTHLY", - "customerName": "Manoj Chekuri", - "minAmount": 100000, // → Minimum payment amount for this bill (nulllable) - "maxAmount": 150000, // → Maximum payment amount for this bill (nulllable) - "amountMultiple": 100, // → Payment amount must be multiple of this (nullable) - "label": "Advance EMI", // → Bill description (optional) - "paymentOptions": [ // → Alternative payment options for this bill - { "name": "Full Payment", "amount": 150000, "minAmount": 150000, "maxAmount": 150000 }, - { "name": "Minimum Due", "amount": 100000, "minAmount": 100000, "maxAmount": 150000 } - ] - } - ], - "billerResponseType": "SINGLE", // → SINGLE|LIST|SELECTIVE - "billerSelectionType": "SINGLE", // → SINGLE|MULTIPLE|ALL (Applicable for LIST only) - "exactness": "Exact", // → Payment amount rules - "additionalInfo": [ // → Generate dynamic form fields - { "DataType": "ALPHANUMERIC", "Optional": false, "ParamName": "Wallet balance" } - ], - "paymentLimits": [ // → V1 only: mode-specific limits - { "paymentMode": "Internet Banking", "minAmount": 100, "maxAmount": 500000 } - ] - } -} -`} -
-
-### 1.3 UI Decision Fields +### Determining Which Flow to Implement -**Bill Selection Logic:** -- `billerResponseType: "SINGLE"` → Display single bill interface -- `billerResponseType: "LIST"` → Display multi-bill interface based on `billerSelectionType` +**Get biller metadata from the List Billers API** to determine which flow to implement: -**Payment Amount Logic:** -- `paymentOptions: null` → Standard amount input field -- `paymentOptions: [...]` → Payment option buttons ("Full Payment", "Minimum Due", etc.) -- `exactness + minAmount/maxAmount` → Amount validation rules +Check `biller.fetchApiType` field: -**Additional Form Fields:** -- `additionalInfo` → Additional bill details for the bill `ParamName` (required if `Optional: false`) + - `BILL_FETCH` → Implement the Bill Fetch → Payment flow + - `BILL_VALIDATE` → Implement the Bill Validation → Payment flow + - `BILL_DIRECT` → Implement the Direct Payment flow -🔧 **For multi-bill implementation patterns, advanced constraints, and V1.1 features → [BBPS V1.1 Features Guide](./bbps-v1_1-features.mdx)** -### 1.4 Status Handling +## Basic Requirements -- `status: "Success"` → Proceed with payment request -- `status: "Processing"` → Poll fetch response API until Success/Failure -- `status: "Failure"` → Bill fetch failed, cannot initiate payment +Use this as a quick checklist and minimal request skeleton. These are the minimum requirements common across all flows. ---- +For behavior and rules (amount exactness, CCF, idempotency), see Cross‑Flow Rules & Patterns below. -## 2. RefId-Based Payment Construction - -### 2.1 Required Headers - -All API requests must include these headers: - - -
- - Required Headers - - {` +**Required Headers:** +{` X-PARTNER-ID: {your-partner-id} Authorization: Bearer {your-oauth-token} Content-Type: application/json `} -
-
- -### 2.2 RefId Payment Flow - -1. Fetch the bill using the fetch API -2. Extract the `refId` from the fetch response -3. Use the `refId` in your payment request -4. Respect exactness and biller limits from the fetch response -5. Note: payment completion is async; poll the payment response API with `refId` or subscribe to BillPay webhooks to receive updates - -### 2.3 RefId Payment Request Template - - -
- - Payment Request (RefId) - - {` -POST /api/v2/bbps/bills/payment/request HTTP/1.1 -Host: coudc.setu.co -X-PARTNER-ID: {{YOUR_PARTNER_ID}} -Authorization: Bearer {{YOUR_OAUTH_TOKEN}} -Content-Type: application/json -{ - // [Required] From the latest successful fetch response - "refId": "{{FETCH_RESPONSE_REF_ID}}", - // [Conditional] Only for LIST billers when a bill subset must be paid for - // Populate using bill numbers and amounts shown in the fetch response - "bills": [ - { "billNumber": "{{BILL_NUMBER}}", "amount": {{AMOUNT_IN_PAISE}} } - ], - - // [Required] Payment instrument and amount details +**Basic Payment Structure:** +{` +{ "paymentDetails": { - // [Required] Integer amount in paise after applying exactness/limits - "amount": {{CALCULATED_AMOUNT_IN_PAISE}}, - - // [Required] One of supported modes - "mode": "{{PAYMENT_MODE}}", - - // [Required] Unique idempotency key generated at the time of debit for this payment - "paymentRefId": "{{UNIQUE_PAYMENT_REF_ID}}", - - // [Required] ISO-8601 timestamp with timezone offset - "timestamp": "{{DEBIT_TIMESTAMP}}", - - // [Required] NPCI-compatible instrument info. See Section 3.1 - // Examples: "dummy@ybl" (UPI), "IFSC|ACCOUNT_NO" (NetBanking), "CARD_NO|AUTH_CODE" (Cards) - "accountInfo": "{{INSTRUMENT_INFO}}", - - // [Optional | Plan billers] Include when plan selection is required - // Capitalized key is as per API. Value is the selected plan identifier - "Id": "{{PLAN_ID}}", - - // [Optional] Required only when user explicitly picks a biller-provided option from fetch.paymentOptions - // Must echo back the chosen option(s) exactly (name and amount) - "selectedPaymentOptions": [ - { "name": "{{OPTION_NAME}}", "amount": {{OPTION_AMOUNT_IN_PAISE}} } - ] + "mode": "UPI", // Required: Debit mode + "amount": 150000, // Required: Debit amount in paise + "custConvFee": 3540, // Optional: Customer convenience fee in paise (separate from amount) + "paymentRefId": "TXN123456789", // Required: Unique ID for the debit; acts as idempotency key + "timestamp": "2023-12-01T10:30:00+05:30", // Required: Time of debit in ISO-8601 with timezone + "accountInfo": "user@ybl" // Required: Debit instrument info }, - - // [Conditional] Required for certain categories or per compliance - // Provide when advised by integration team or biller specification "remitter": { - "name": "{{PAYER_NAME}}", // Required for some categories - "email": "{{PAYER_EMAIL}}", // Optional - "aadhaar": "{{AADHAAR_NUMBER}}", // Optional - "pan": "{{PAN_NUMBER}}" // Optional + "name": "John Doe", // Required: Payer's name + "email": "john.doe@example.com", // Optional: Payer's email + "aadhaar": "123456789012", // Optional: Payer's Aadhaar number + "pan": "ABCDE1234F" // Optional: Payer's PAN number } } `} -
-
- -### 2.4 Payment Request Construction - -**Required Fields to Forward:** - - -
- - Required Fields to Forward - - {` -// From fetch response → payment request -fetchResponse.data.refId → paymentRequest.refId // Always required -`} -
-
-**Amount Calculation Logic:** -- `bills[].amount` = Base bill amount -- `paymentOptions[].amount` = Alternative amounts provided by biller (user can choose) -- Payment amount = Base bill amount OR selected payment option amount -- Apply `exactness` rules to determine if user can modify the chosen amount +## Cross-Flow Rules & Patterns -### 2.5 Amount Validation Rules + -**Basic Exactness Rules:** +### Amounts & Exactness -- `"Exact"` → Payment amount must equal bill amount exactly -- `"Any"` → No bill-level restrictions (user can pay any amount) -- `"RANGE"` → Payment amount must be within `minAmount`/`maxAmount` constraints +- All amounts are in paise. -**Additional Constraints:** +### Remitter Details -- `minAmount`/`maxAmount` → Payment range limits (if present) -- `amountMultiple` → Payment increment requirements (if present) +- All bill payment requests require you to include remitter.name and paymentDetails.accountInfo for traceability. +- You can find NPCI-compatible formats and examples in the [Remitter Details Guide](./remittance_flows_guide.mdx) -**Biller Types:** +### Customer Convenience Fee (CCF) -- `fetchApiType: "BILL_FETCH"` → Returns valid bill(s) in `bills` array -- `fetchApiType: "BILL_VALIDATE"` → May return empty `bills` array (e.g., donation billers) + -🔧 **For detailed constraint scenarios, V1.1 features, and validation examples → [BBPS V1.1 Features Guide](./bbps-v1_1-features.mdx#amount-configuration)** +- Detect: In List Billers, use biller.interchangeFee[] entries with feeCode = "CCF1" and feeDirection = "C2B". +- If absent: Omit paymentDetails.custConvFee. +- Compute in paise: ccf = (flatFee + (billAmount`*`percentFee/100))`*`(1 + GST/100). +- Send: Put only the final value in paymentDetails.custConvFee. Do not add CCF to paymentDetails.amount. +- Ignore: EBF/PBF (B2C) are not customer fees and must not be computed or sent by clients. +- Total to debit/refund: paymentDetails.amount + paymentDetails.custConvFee. -### 2.6 Plan-Based Billers +### Idempotency and Retry Logic -Some billers require plan selection before payment (mobile prepaid, DTH, broadband services): +**Basic Idempotency:** +- Always generate unique paymentDetails.paymentRefId per debit attempt +- Reuse same key when retrying the same debit -**Biller Type Identification:** -- **Static Plan Billers**: `planRequirement: "MANDATORY"` → Use List Plans API to fetch available plans first -- **Dynamic Plan Billers**: `planRequirement: "OPTIONAL"` + `responseType: "SELECTIVE"` → Plans returned in validation response +**Payment Retry Logic:** -**Key Differences from Standard Flow:** -- **Plan Discovery**: Required before or during validation -- **Plan ID**: Must be included in customer parameters or payment details -- **Validation Response**: May include customer-specific plan offerings +When a payment fails after funds are debited, you cannot retry with the same `refId`. Here's the correct retry flow: +1. Initiate a new bill fetch/validation request to get a fresh `refId` +2. Use the same `paymentRefId` (your debit identifier) in the new bill payment request within 24 hours of the original bill payment request. +This allows proper retry while maintaining payment traceability -**Example Plan Biller Payment:** - -
- - Plan Biller Payment Request - - {` -{ - "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", - "paymentDetails": { - "amount": 59900, - "mode": "UPI", - "paymentRefId": "BD019181220291", - "timestamp": "2020-12-12T13:12:00+05:30", - "Id": "PLAN_123" // Plan ID for dynamic billers - } -} -`} -
-
+**Example retry sequence:** +``` +Original: Fetch → refId: ABC123 → Payment (paymentRefId: PAY456) → Fails +Retry: Fetch → refId: XYZ789 → Payment (paymentRefId: PAY456) → Success +``` -🔧 **For complete plan-based integration patterns, List Plans API, and specialized workflows → [Plan MDM Integration Guide](./plan-mdm-integration.mdx)** + + Important: Idempotency logic applies for 24 hours after the initial payment request. Plan your retry mechanism accordingly. + ---- -## 3. Payment Details and Remitter Information +## Flow 1: Bill Fetch → Payment -### 3.1 Account Info and Remitter Requirements +
-**Both accountInfo and remitter details are required for all bill payments:** +Use when customers want to see their current amount due before paying. Majority of the billers on the network use this model. -- **`paymentDetails.accountInfo`**: NPCI-compatible format corresponding to payment mode -- **`remitter` object**: Information about the person making the payment +**Implementation Steps:** +1. Fetch Bill Details → [Initiate bill fetch](/payments/billpay/api-integration/api-reference#/category~Fetch/operation~FetchRequest) and monitor status ([poll response](/payments/billpay/api-integration/api-reference#/category~Fetch/operation~FetchResponse) or [accept webhook](./webhooks.mdx#bill-fetch-webhook)) +2. Initiate Payment → [Initiate bill payment](/payments/billpay/api-integration/api-reference#/category~Payment/operation~PaymentRequest) and monitor status ([poll response](/payments/billpay/api-integration/api-reference#/category~Payment/operation~PaymentResponse) or [accept webhook](./webhooks.mdx#bill-payment-webhook)) -**Basic Structure:** +### Step 1: Fetch Bill Details - -
- - Payment + Remitter Structure - - {` +**Bill Fetch Request:** +{` { - "paymentDetails": { - "mode": "UPI", - "amount": 150000, - "paymentRefId": "BD019181220291", - "timestamp": "2020-12-12T13:12:00+05:30", - "accountInfo": "user@ybl" // Format varies by payment mode + "agent": { + "id": "{{AGENT_ID}}", + "channel": "{{AGENT_CHANNEL}}", // See Objects guide for channel-specific required parameters + // Required parameters depend on channel - see: /payments/billpay/api-integration/objects#agent }, - "remitter": { - "name": "John Doe", - "email": "john.doe@example.com", - "aadhaar": "123456789012", - "pan": "ABCDE1234F" + "biller": { + "id": "{{BILLER_ID}}" // biller id from list billers response + }, + "customer": { + "mobile": "{{MOBILE}}", // mobile number of the logged in user + "customerParams": [ // v1 users: use "billParameters" + { + "name": "{{Param}}", // biller.customerParams[].name + "value": "{{Value}}" // value entered by the user + } + ] } } `} -
-
-📖 **For complete NPCI specifications, validation rules, and all payment mode formats → [Remitter Details Integration Guide](./remittance_flows_guide.mdx)** +**Bill Fetch Response:** +{` +{ + "data": { + "refId": "FETCH_REF_123", + "status": "Success", + "bills": [ + { + "amount": 150000, + "customerName": "John Doe", + "dueDate": "2024-01-15", + "billNumber": "BILL123" + // See Objects guide for complete bill response: /payments/billpay/api-integration/objects#fetched-bill + } + ] + } +} +`} -### 3.2 Common Payment Mode Examples +### Step 2: Initiate Bill Payment for the fetched bill -**UPI:** - -
- - UPI Example - - {` +Call `/api/v{1|2}/bbps/bills/payment/request` with: + +{` { + "refId": "{{BILL_FETCH_REF_ID}}", // data.refId from fetch response "paymentDetails": { - "mode": "UPI", - "accountInfo": "user@ybl" + "amount": {{CALCULATED_DEBIT_AMOUNT_IN_PAISE}}, + "mode": "{{DEBIT_PAYMENT_MODE}}", + "custConvFee": {{COMPUTED_CCF_IN_PAISE}}, + "paymentRefId": "{{DEBIT_ID}}", + "timestamp": "{{DEBIT_TIMESTAMP}}", + "accountInfo": "{{DEBIT_PAYMENT_INSTRUMENT_INFO}}" + }, + "remitter": { + "name": "{{PAYER_NAME}}" } } `} -
-
- -**Internet Banking:** - -
- - Internet Banking Example - - {` + +**Amount Validation Rules based on the `exactness` field in the bill fetch response:** +- `"Exact"` → Must equal bill amount exactly +- `"Exact and above"` → Must be at least bill amount +- `"Exact and below"` → Must not exceed bill amount +- `"RANGE"` → Must be within `minAmount`/`maxAmount` +- `"Any"` → Any amount is allowed (within biller/payment mode limits) +- Validate that the paymentDetails.amount is a multiple of `amountMultiple` if present + + +### Paying for a specific option + +Some billers (eg: Loan repayments) offer multiple payment amounts for a single bill. + +**Sample Bill Fetch Response with Payment Options:** +{` { - "paymentDetails": { - "mode": "Internet Banking", - "accountInfo": "ICIC0000152|1234567890" + "data": { + "refId": "FETCH_REF_123", + "status": "Success", + "bills": [{ + "amount": 50000, + "customerName": "John Doe", + "paymentOptions": [ + { "name": "1 Month EMI", "amount": 15000 }, + { "name": "3 Month EMI", "amount": 45000 }, + { "name": "Full Payment", "amount": 50000 } + ] + }] } } `} -
-
- -**Credit/Debit Cards:** - -
- - Card Example - - {` + +**When your bill fetch response includes `paymentOptions`:** +- Present payment choices to users (e.g., "1 month EMI", "Partial repayment", "Foreclosure") +- Include selected option in payment request using `selectedPaymentOptions` field + +**Payment Request with Selected Option:** + +Call `/api/v{1|2}/bbps/bills/payment/request` with: + +{` { + "refId": "{{BILL_FETCH_REF_ID}}", "paymentDetails": { - "mode": "Credit Card", - "accountInfo": "1234567890123456|123456" + "amount": {{SELECTED_OPTION_AMOUNT}}, + "mode": "{{DEBIT_PAYMENT_MODE}}", + "custConvFee": {{COMPUTED_CCF_IN_PAISE}}, // Total debit = amount + custConvFee + "paymentRefId": "{{DEBIT_ID}}", + "timestamp": "{{DEBIT_TIMESTAMP}}", + "accountInfo": "{{DEBIT_PAYMENT_INSTRUMENT_INFO}}", + "selectedPaymentOptions": [ + { + "name": "{{SELECTED_OPTION_NAME}}", + "amount": {{SELECTED_OPTION_AMOUNT}} + } + ] + }, + "remitter": { + "name": "{{PAYER_NAME}}" } } `} -
-
-📖 **For all payment modes and detailed format specifications → [Remitter Details Integration Guide](./remittance_flows_guide.mdx#npci-specifications)** +📖 **Complete payment options implementation → [Bill Payment Options Guide](./bill-payment-options.mdx)** ---- +### Paying for multiple bills (Optional) -## 4. Payment Limits and Amount Validation +**Note:** A small set of billers (< 1%) support returning multiple bills in a single bill fetch. These billers primarily belong to B2B/eChallan categories. -### 4.1 Reading Payment Limits from Fetch Response +**Most developers can skip this section.** Only needed for billers returning `billerResponseType: "LIST"`. -**V1 API**: Use `paymentLimits` array for mode-specific limits plus bill-level `minAmount`/`maxAmount`/`amountMultiple`: +**Enhanced Payment Request (when needed):** - -
- - V1 Mode Payment Limits - - {` -"paymentLimits": [ - { - "paymentMode": "Internet Banking", - "minAmount": 100, - "maxAmount": 500000 +Call `/api/v{1|2}/bbps/bills/payment/request` with: + +{` +{ + "refId": "{{BILL_FETCH_REF_ID}}", + "bills": [ // Required: Subset of bills from the bill fetch response you want to pay for + { "billNumber": "B123", "amount": {{B123_AMOUNT_IN_PAISE}} }, + { "billNumber": "B124", "amount": {{B124_AMOUNT_IN_PAISE}} } + ], + "paymentDetails": { + "amount": {{SUM_OF_SELECTED_BILL_AMOUNTS_IN_PAISE}}, + "mode": "{{DEBIT_PAYMENT_MODE}}", + "paymentRefId": "{{DEBIT_ID}}", + "timestamp": "{{DEBIT_TIMESTAMP}}", + "accountInfo": "{{DEBIT_PAYMENT_INSTRUMENT_INFO}}" }, - { - "paymentMode": "UPI", - "minAmount": 100, - "maxAmount": 100000 + "remitter": { + "name": "{{PAYER_NAME}}" } -] -`} -
-
- -**V2 API**: Only bill-level limits (`minAmount`/`maxAmount`/`amountMultiple`) and `paymentOptions` are available. - -**Both APIs**: Always respect biller-mode-channel specific limits; your request is validated against these. - -### 4.3 Amount Validation - - -
- - Amount Validation Pseudocode - - {` -FUNCTION VALIDATE_PAYMENT_AMOUNT(amount, bill, exactness) RETURNS BOOLEAN - // Validate against bill-specific limits - IF bill.minAmount EXISTS AND amount < bill.minAmount THEN - RAISE ERROR "Amount below bill minimum of " + bill.minAmount - END IF - - IF bill.maxAmount EXISTS AND amount > bill.maxAmount THEN - RAISE ERROR "Amount exceeds bill maximum of " + bill.maxAmount - END IF - - IF bill.amountMultiple EXISTS AND (amount MOD bill.amountMultiple) ≠ 0 THEN - RAISE ERROR "Amount must be multiple of " + bill.amountMultiple - END IF - - // Validate against exactness rules - IF exactness = "Exact" AND amount ≠ bill.amount THEN - RAISE ERROR "Amount must be exactly " + bill.amount - ELSE IF exactness = "Exact and above" AND amount < bill.amount THEN - RAISE ERROR "Amount must be at least " + bill.amount - ELSE IF exactness = "Exact and below" AND amount > bill.amount THEN - RAISE ERROR "Amount cannot exceed " + bill.amount - END IF - - RETURN TRUE -END FUNCTION +} `} -
-
-### 4.2 Payment Mode Support +📖 **Complete multi-bill implementation → [Multi-Bill Processing Guide](./multi-bill-processing.mdx)** -All payment modes are processed through `paymentDetails`. Supported modes (exact enum values): -- `"Internet Banking"` -- `"Debit Card"` -- `"Credit Card"` -- `"Prepaid Card"` -- `"IMPS"` -- `"Cash"` -- `"UPI"` -- `"Wallet"` -- `"NEFT"` -- `"AEPS"` -- `"Account Transfer"` -- `"Bharat QR"` -- `"USSD"` +## Flow 2: Bill Validation → Payment -Note: Actual availability is biller-specific and validated against MDM limits. Always use the exact enum values shown above. +
---- +Use when you need to validate account existence before payment. Common with services like broadband postpaid, mobile postpaid, DTH/Cable TV. -## 5. Category-Specific Payment Examples +**Key Differences from the Bill Fetch → Payment model:** +- Validates customer account exists with biller +- May return empty `bills` array (since these billers only validate account existence) +- Uses same bill fetch endpoint but for validation purpose -### 5.1 Electricity Bill Payment +**Implementation Steps:** +1. Validate Account → [Initiate bill validation](/payments/billpay/api-integration/api-reference#/category~Fetch/operation~FetchRequest) and monitor status ([poll response](/payments/billpay/api-integration/api-reference#/category~Fetch/operation~FetchResponse) or [accept webhook](./webhooks.mdx#bill-fetch-webhook)) +2. Initiate Payment → [Initiate bill payment](/payments/billpay/api-integration/api-reference#/category~Payment/operation~PaymentRequest) and monitor status ([poll response](/payments/billpay/api-integration/api-reference#/category~Payment/operation~PaymentResponse) or [accept webhook](./webhooks.mdx#bill-payment-webhook)) - -
- - Electricity Payment - - {` -{ - "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", - "biller": { "id": "MAHI00000NATIC" }, - "customer": { - "mobile": "9876543210", - "customerParams": [ - { "name": "Consumer Number", "value": "123456789012" }, - { "name": "Mobile Number", "value": "9876543210" } - ] - }, - "agent": { - "id": "AX01AI06512391457204", - "channel": "AGT", - "geocode": "19.0139,72.8254", - "postalCode": "600001", - "terminalId": "6000011234" - }, - "paymentDetails": { - "amount": 245000, - "mode": "Internet Banking", - "paymentRefId": "BD019181220291", - "timestamp": "2020-12-12T13:12:00+05:30" - } -} -`} -
-
+### Basic Validation → Payment -### 5.2 Credit Card Bill Payment +**Most common use case for this model:** Validate account exists, then allow user to pay any amount. - -
- - Credit Card Payment - - {` +**Bill Validation Request:** +{` { - "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", - "biller": { "id": "MAHI00000NATIC" }, - "customer": { - "mobile": "9876543210", - "customerParams": [ - { "name": "Credit Card Number", "value": "1234567890123456" }, - { "name": "Mobile Number", "value": "9876543210" } - ] + "agent": { + "id": "{{AGENT_ID}}", + "channel": "{{AGENT_CHANNEL}}", // See Objects guide for channel-specific required parameters + // Required parameters depend on channel - see: /payments/billpay/api-integration/objects#agent }, - "agent": { - "id": "AX01AI06512391457204", - "channel": "AGT", - "geocode": "19.0139,72.8254", - "postalCode": "600001", - "terminalId": "6000011234" + "biller": { + "id": "{{BILLER_ID}}" // biller id from list billers response }, - "paymentDetails": { - "amount": 50000, - "mode": "Internet Banking", - "paymentRefId": "BD019181220291", - "timestamp": "2020-12-12T13:12:00+05:30" - }, - "remitter": { - "name": "John Doe", - "email": "john.doe@example.com", - "aadhaar": "123456789012", - "pan": "ABCDE1234F" + "customer": { + "mobile": "{{MOBILE}}", // mobile number of the logged in user + "customerParams": [ // v1 users: use "billParameters" + { + "name": "{{Param}}", // biller.customerParams[].name + "value": "{{Value}}" // value entered by the user + } + ] } } `} -
-
-### 5.3 Mobile Postpaid Bill Payment - - -
- - Mobile Postpaid Payment - - {` +**Typical Bill Validation Response:** +{` { - "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", - "biller": { "id": "MAHI00000NATIC" }, - "customer": { - "mobile": "9876543210", - "customerParams": [ - { "name": "Mobile Number", "value": "9876543210" } - ] - }, - "agent": { - "id": "AX01AI06512391457204", - "channel": "AGT", - "geocode": "19.0139,72.8254", - "postalCode": "600001", - "terminalId": "6000011234" - }, - "paymentDetails": { - "amount": 59900, - "mode": "UPI", - "paymentRefId": "BD019181220291", - "timestamp": "2020-12-12T13:12:00+05:30" + "data": { + "refId": "VALIDATION_REF_123", + "status": "Success", + "bills": [], // Empty - no specific bill amount + "customerName": "John Doe", + "dueDate": null } } `} -
-
-### 5.4 Gas Bill Payment +**Payment Request (after successful validation):** + +Call `/api/v{1|2}/bbps/bills/payment/request` with: - -
- - Gas Bill Payment - - {` +{` { - "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", - "biller": { "id": "MAHI00000NATIC" }, - "customer": { - "mobile": "9876543210", - "customerParams": [ - { "name": "Consumer Number", "value": "123456789" }, - { "name": "Mobile Number", "value": "9876543210" } - ] - }, - "agent": { - "id": "AX01AI06512391457204", - "channel": "AGT", - "geocode": "19.0139,72.8254", - "postalCode": "600001", - "terminalId": "6000011234" - }, + "refId": "VALIDATION_REF_123", "paymentDetails": { - "amount": 78500, - "mode": "Debit Card", - "paymentRefId": "BD019181220291", - "timestamp": "2020-12-12T13:12:00+05:30" + "amount": {{USER_CHOSEN_AMOUNT_IN_PAISE}}, + "mode": "{{DEBIT_PAYMENT_MODE}}", + "custConvFee": {{COMPUTED_CCF_IN_PAISE}}, // Include if biller charges CCF; Total debit = amount + custConvFee + "paymentRefId": "{{DEBIT_ID}}", + "timestamp": "{{DEBIT_TIMESTAMP}}", + "accountInfo": "{{DEBIT_PAYMENT_INSTRUMENT_INFO}}" + }, + "remitter": { + "name": "{{PAYER_NAME}}" } } `} -
-
-### 5.5 Water Bill Payment +### Paying for plans - -
- - Water Bill Payment - - {` +Some billers require users to choose a plan before payment - like mobile recharge, DTH packages, or broadband subscriptions. + +**Two user experience patterns you'll encounter:** + +**Pattern 1: Browse Plans First** +- Show users all available plans offered by the biller upfront (List Plans API) +- User selects plan → validate account/selected plan details → initiate bill payment + +**Pattern 2: Account-Specific Plans** +- User enters account details in bill validation request +- Biller returns plans available for this user in bill validation response +- User selects from personalized options → initiate bill payment with the selected plan + +**Initiate Bill Payment with Selected Plan:** + +Call `/api/v{1|2}/bbps/bills/payment/request` with: + +{` { - "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", + "refId": "{{VALIDATION_RESPONSE_REF_ID}}", "paymentDetails": { - "amount": 120000, - "mode": "Wallet", - "paymentRefId": "BD019181220291", - "timestamp": "2020-12-12T13:12:00+05:30" + "amount": {{PLAN_AMOUNT_IN_PAISE}}, + "mode": "UPI", + "custConvFee": {{COMPUTED_CCF_IN_PAISE}}, // Include if biller charges CCF; Total debit = amount + custConvFee + "paymentRefId": "{{UNIQUE_ID}}", + "timestamp": "{{ISO_8601}}", + "accountInfo": "user@ybl", + "Id": "PLAN_123" // Plan ID from selection + }, + "remitter": { + "name": "{{PAYER_NAME}}" } } `} -
-
-### 5.6 Multi-Bill Payment Example +📖 **Complete plan selection implementation guide → [Paying for plans](./plan-mdm-integration.mdx)** + +## Flow 3: Direct Payment -**Basic List Biller (Single Selection):** +
- -
- - Multi-Bill Payment Request - - {` +Use for ad-hoc payments where no prior bill fetch/bill validation is required and the user knows the exact amount. + +**Prerequisites:** Only use when `biller.fetchApiType = "BILL_DIRECT"`. + +**Direct Payment Request:** + +Call `/api/v{1|2}/bbps/bills/payment/request` with: + +{` { - "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", - "bills": [ - { - "billNumber": "B123", - "amount": 10000 + { + "agent": { + "id": "{{AGENT_ID}}", + "channel": "{{AGENT_CHANNEL}}", // See Objects guide for channel-specific required parameters + // Required parameters depend on channel - see: /payments/billpay/api-integration/objects#agent + }, + "biller": { + "id": "{{BILLER_ID}}" // biller id from list billers response + }, + "customer": { + "mobile": "{{MOBILE}}", // mobile number of the logged in user + "customerParams": [ // v1 users: use "billParameters" + { + "name": "{{Param}}", // biller.customerParams[].name + "value": "{{Value}}" // value entered by the user + } + ] } - ], + }, "paymentDetails": { - "amount": 10000, - "mode": "Internet Banking", - "paymentRefId": "BD019181220291", - "timestamp": "2020-12-12T13:12:00+05:30" + "amount": {{AMOUNT_IN_PAISE}}, + "mode": "{{PAYMENT_MODE}}", + "custConvFee": {{COMPUTED_CCF_IN_PAISE}}, // Include if biller charges CCF; Total debit = amount + custConvFee + "paymentRefId": "{{UNIQUE_IDEMPOTENT_ID}}", + "timestamp": "{{ISO_8601}}", + "accountInfo": "{{NPCI_FORMAT}}" }, - "remitter": { - "name": "John Doe", - "email": "john.doe@example.com" + "remitter": { + "name": "{{PAYER_NAME}}" } } `} -
-
-🔧 **For all 4 implementation patterns (Single, Multi-Single, Multi-Multiple, Bundle), detailed examples, and multi-bill scenarios → [BBPS V1.1 Features Guide](./bbps-v1_1-features.mdx#implementation-patterns)** +V1 users: use customer.billParameters in place of customer.customerParams. ---- +**Implementation Note:** Strip empty `customer.customerParams` (v2 users) or `customer.billParameters` (v1 users) before calling APIs. + +## Payment Response Handling + +After initiating a payment across any flow, you'll receive responses that require specific handling: + +**Status Interpretation:** +- `Processing` → Show "Payment in progress" to user, continue polling +- `Success` → Payment complete, update UI, store `transactionId` for future reference +- `Failure` → Payment failed, check `failureReason`, follow retry logic above if needed + +**Polling Guidelines:** +- Poll every 3-5 seconds for up to 2 minutes for standard billers +- For billers with `supportsPendingStatus: true`, poll up to 48 hours +- Always store `transactionId` from successful payments for disputes/reconciliation + +📖 **Complete response format → [Objects Reference](./objects.mdx#payment-response)** +📖 **Webhook alternative → [Bill Payment Webhook](./webhooks.mdx#bill-payment-webhook)** + +## Reference Links + +📖 **Essential References:** +- [Complete API Documentation](./api-reference.mdx) — Full endpoint specifications +- [Bill Payment Options Guide](./bill-payment-options.mdx) — Handle multiple payment amounts (essential) +- [Plan MDM Integration](./plan-mdm-integration.mdx) — Plan-based biller patterns +- [Multi-Bill Processing Guide](./multi-bill-processing.mdx) — Multiple bills handling (optional) +- [Remitter Details Guide](./remittance_flows_guide.mdx) — Payment format specifications +- [Webhooks Integration](./webhooks.mdx) — Real-time status updates + + diff --git a/content/payments/billpay/api-integration/plan-mdm-integration.mdx b/content/payments/billpay/api-integration/plan-mdm-integration.mdx index 4df760cb..5290f280 100644 --- a/content/payments/billpay/api-integration/plan-mdm-integration.mdx +++ b/content/payments/billpay/api-integration/plan-mdm-integration.mdx @@ -1,164 +1,139 @@ --- sidebar_title: Plans -page_title: Learn how to integrate with BBPS billers that support plan-based payments via Setu's APIs -order: 7 +page_title: When Users Need to Select Plans Before Payment +order: 9 visible_in_sidebar: true --- -# BBPS Plan MDM Integration Guide +# When Users Need to Select Plans ## Overview -This guide covers plan-based billers - a specialized subset of BBPS billers that require plan selection as part of the payment flow. +Some services require your users to choose a plan before payment - like mobile recharge plans, DTH packages, or broadband subscriptions. This guide shows you how to handle these plan selection flows in your app. -📖 **For standard bill payment integration fundamentals → [Paying Bills Integration Guide](./paying_bills.mdx)** +📖 **This extends [Flow 2: Bill Validation → Payment](./paying_bills.mdx#flow-2-bill-validation--payment) from the master guide** -The **Bharath Bill Payment System (BBPS) Plan Master Data Management (MDM)** API enables billers to offer subscription-based services through the BBPS ecosystem. This system is specifically designed for billers who don't have traditional outstanding bills but instead offer plan-based services that customers must select and pay for upfront. +**What this means for your users:** +- Instead of paying a bill amount, they choose from available plans +- Plans have fixed prices and specific benefits (data, validity, channels, etc.) +- Payment happens after plan selection -### Key Use Cases -- **Mobile Prepaid Recharges** - Choose data/talk time plans -- **DTH Services** - Select channel packages and validity periods +### Common Services That Need Plans +- **Mobile Prepaid Recharge** - Data plans, talk time, combo offers +- **DTH/Cable TV** - Channel packages, validity periods +- **Broadband Services** - Speed upgrades, data top-ups +- **OTT Subscriptions** - Monthly, annual, family plans -### Benefits -- **Single API Interface** - Handle both static and dynamic plans with consistent endpoints -- **Real-time Plan Updates** - Webhook notifications for plan changes and availability -- **Standardized Integration** - Same patterns work across all biller types +### What You'll Build +- Plan selection screens for your users +- Integration with plan APIs +- Validation and payment flows with selected plans
-## API Architecture Overview +## Two User Experience Patterns -The Plan MDM system supports two distinct biller types with different integration patterns: +Your users will encounter one of two plan selection patterns, depending on the service: -### A. Static Plan Billers -- **Characteristics**: `planRequirement: MANDATORY` -- **Plan Source**: Dedicated List Plans API -- **Examples**: BSNL/MTNL, Hungama Play, Sun Direct TV +### Pattern 1: Choose From Full Catalog +**User Flow:** Browse plans → Select plan → Enter account details → Pay -### B. Dynamic Plan Billers -- **Characteristics**: `planRequirement: OPTIONAL` and `responseType: SELECTIVE` -- **Plan Source**: Customer-specific plans from bill validation -- **Examples**: You Broadband, Airtel Wi-Fi Recharge +**What users see:** Complete list of available plans upfront (like mobile recharge plans) +**Examples:** BSNL/MTNL mobile recharge, DTH packages, OTT subscriptions -
- -## Integration Flows - -### Static Plan Biller Flow +### Pattern 2: Get Personalized Options +**User Flow:** Enter account details → See custom plans → Select plan → Pay -Static plan billers maintain predefined plan catalogs. The integration follows this structured approach: +**What users see:** Plans tailored to their account (like broadband upgrade options) -#### Phase 1: Plan Discovery & Selection -| Step | Actor | Action | API Endpoint | -|------|--------|--------|--------------| -| 1 | Customer | Initiates service subscription | - | -| 2 | Client App | Retrieve available plans | `GET /api/v2/bbps/billers/plans` | -| 3 | Client App | Display plans to customer | - | -| 4 | Customer | Selects plan + enters account details | - | +**Examples:** You Broadband plans, Airtel Wi-Fi recharge options -#### Phase 2: Validation & Payment -| Step | Actor | Action | API Endpoint | -|------|--------|--------|--------------| -| 5 | Client App | Validate customer details with plan ID | `POST /api/v2/bbps/bills/fetch/request` | -| 6 | Setu API | Forward validation to biller | - | -| 7 | Biller | Validate account and plan compatibility | - | -| 8 | Client App | Check validation status | `POST /api/v2/bbps/bills/fetch/response` or via webhook | -| 9 | Client App | Process payment with validated refId | `POST /api/v2/bbps/bills/payment/request` | -| 10 | Client App | Confirm payment completion | `POST /api/v2/bbps/bills/payment/response` | +
-> **💡 Key Insight:** Static plan billers require the plan ID to be included during the validation phase, ensuring plan availability before payment processing. - +## Implementation Guide -### Dynamic Plan Biller Flow +### Pattern 1: Choose From Full Catalog -Dynamic plan billers offer personalized plans based on customer account details: +**User Experience:** Show all available plans immediately, let user choose, then collect account details. -#### Phase 1: Account Validation & Plan Discovery -| Step | Actor | Action | API Endpoint | -|------|--------|--------|--------------| -| 1 | Customer | Enters account details (no plan selection) | - | -| 2 | Client App | Validate account details | `POST /api/v2/bbps/bills/fetch/request` | -| 3 | Biller | Return account status + custom plans | - | -| 4 | Client App | Check validation + retrieve plans | `POST /api/v2/bbps/bills/fetch/response` | +**Implementation Steps:** +1. **Get Available Plans** → `GET /api/v2/bbps/billers/plans` +2. **User Selects Plan + Enters Details** → Your app collects both +3. **Validate Account + Plan** → `POST /api/v2/bbps/bills/fetch/request` (include plan ID) +4. **Process Payment** → `POST /api/v2/bbps/bills/payment/request` -#### Phase 2: Plan Selection & Payment -| Step | Actor | Action | API Endpoint | -|------|--------|--------|--------------| -| 5 | Client App | Display customer-specific plans | - | -| 6 | Customer | Selects preferred plan | - | -| 7 | Client App | Process payment with plan ID | `POST /api/v2/bbps/bills/payment/request` | -| 8 | Client App | Confirm payment completion | `POST /api/v2/bbps/bills/payment/response` | +> **💡 Key Point:** You must include the selected plan ID when validating the account to ensure the plan is still available. +### Pattern 2: Get Personalized Options -> **💡 Key Insight:** Dynamic plan billers reveal available plans only after account validation, providing personalized offerings based on customer eligibility. +**User Experience:** Collect account details first, then show plans customized for that account. +**Implementation Steps:** +1. **User Enters Account Details** → Your app collects account info +2. **Validate Account** → `POST /api/v2/bbps/bills/fetch/request` (no plan ID) +3. **Get Custom Plans** → Response includes plans available for this account +4. **User Selects Plan** → Your app presents the options +5. **Process Payment** → `POST /api/v2/bbps/bills/payment/request` (include plan ID) -### Flow Comparison +> **💡 Key Point:** Plans are revealed only after account validation, so you can't show them upfront. -| Aspect | Static Plan Billers | Dynamic Plan Billers | -|--------|-------------------|---------------------| -| **Plan Discovery** | Before customer input via List Plans API | After account validation via validation response | -| **Plan Selection** | Customer selects from full catalog | Customer selects from personalized options | -| **Validation Input** | Customer details + Plan ID | Customer details only | -| **Validation Output** | Success/Failure status | Success/Failure + Available plans | -| **Use Cases** | Mobile recharge, DTH, OTT subscriptions | Broadband services, personalized offerings | +### Quick Reference: Which Pattern to Use -### Integration Decision Tree +| Pattern | When Plans Are Shown | User Flow | Common Examples | +|---------|---------------------|-----------|----------------| +| **Pattern 1** | Immediately available | Browse plans → Select → Enter details → Pay | Mobile recharge, DTH packages | +| **Pattern 2** | After account validation | Enter details → See custom plans → Select → Pay | Broadband upgrades, account-specific offers | -**Start Here:** What type of biller are you integrating? +### How to Detect Which Pattern to Implement -The `planRequirement` is a field obtained from the list billers api. +Check the biller metadata from [List Billers API](./api-reference.mdx) to determine the pattern: -📖 **See how plan billers fit into the overall payment flow → [RefId-Based Payment Construction](./paying_bills.mdx#2-refid-based-payment-construction)** +**Pattern 1 Detection:** +```json +{ + "planRequirement": "MANDATORY" +} +``` +**Pattern 2 Detection:** +```json +{ + "planRequirement": "OPTIONAL", + "responseType": "SELECTIVE" +} ``` -Is planRequirement = "MANDATORY"? -├── YES → Static Plan Biller -│ ├── Step 1: Fetch plans via List Plans API -│ ├── Step 2: Display plans to customer -│ ├── Step 3: Validate with plan ID included -│ └── Step 4: Process payment -│ -└── NO → Check responseType - └── Is responseType = "SELECTIVE"? - ├── YES → Dynamic Plan Biller - │ ├── Step 1: Validate customer account - │ ├── Step 2: Receive custom plans in response - │ ├── Step 3: Customer selects plan - │ └── Step 4: Process payment with plan ID - │ - └── NO → Standard bill payment flow + +**No Plan Selection Needed:** +```json +{ + "planRequirement": "OPTIONAL", + "responseType": "SINGLE" +} ``` +→ Use standard [Bill Validation flow](./paying_bills.mdx#flow-2-bill-validation--payment)
-## 1. Static Plan Billers - -Static plan billers maintain a predefined catalog of plans that can be retrieved independently of customer information. +## Pattern 1: Full Catalog Selection -### Identification Parameters -{` -{ - "planRequirement": "MANDATORY" -} -`} +**What this means:** All available plans can be fetched upfront and shown to users immediately. -### Common Examples +### Examples of This Pattern -| Biller | Customer Parameters | Plan Information | -|--------|-------------------|------------------| -| **BSNL/MTNL** | Mobile Number, Circle | Plan ID, Talktime, Validity, Data, Circle, Type | -| **Hungama Play/Music** | Mobile Number, Email ID | Plan ID, Package Duration | -| **Sun Direct TV** | Subscriber Number | Plan ID, Validity, Channel Type | +| Service | What User Enters | What User Selects From | +|---------|------------------|------------------------| +| **BSNL/MTNL Mobile** | Mobile Number, Circle | Data plans, talk time, combo offers | +| **Hungama Play** | Mobile Number, Email | Monthly, yearly subscription plans | +| **Sun Direct TV** | Subscriber Number | Channel packages, validity periods | -### A. Retrieving Plans +### Step 1: Get Available Plans -#### List Plans API +#### Fetch All Plans for a Service -Retrieve all available plans for specific billers using the dedicated endpoint
(See API Reference). +Retrieve all available plans for specific billers using the dedicated endpoint (See API Reference). **Request:** `GET /api/v2/bbps/billers/plans?billerIds=BILLER_ID` @@ -276,7 +251,7 @@ interface Plan { // Mandatory fields Id: string; // 1-32 chars, alphanumeric categoryType: string; // 1-100 chars, alphanumeric - amountInRupees: number; // 1-10 digits, decimals supported + amountInRupees: string; // 1-10 digits, decimals supported description: string; // text with special chars allowed effectiveFrom: string; // ISO date format effectiveTo: string; // ISO date format @@ -329,18 +304,36 @@ Receive real-time notifications when biller plans are modified {` +POST /api/v2/bbps/bills/fetch/request +{ + "biller": { "id": "{{BILLER_ID}}" }, + "customer": { + "mobile": "9999999999", + "customerParams": [ + { "name": "Id", "value": "3" }, // Plan ID from Step 1 + { "name": "Subscriber Number", "value": "ABC12345" } + ] + }, + "agent": { "id": "{{AGENT_ID}}", "channel": "INT" } +} +`} -**Request:** -`POST /api/v2/bbps/bills/fetch/request` +> **Note:** If a biller uses a different parameter name for plan ID, check that biller's specification from List Billers API. + +**V1 users:** Use customer.billParameters instead of customer.customerParams. + +**Complete Request Example:**
@@ -480,7 +473,7 @@ Validate customer details along with selected plan information.
-### D. Payment Processing +### Step 4: Process Payment Process payment for validated plans using the reference ID from validation. @@ -621,34 +614,18 @@ Process payment for validated plans using the reference ID from validation.
-## 2. Dynamic Plan Billers - -Dynamic plan billers offer customer-specific plans based on account validation, providing personalized offerings rather than generic catalogs. - -### Identification Parameters - -{` -{ - "planRequirement": "OPTIONAL", - "responseType": "SELECTIVE" -} -`} - - -### Common Examples +## Pattern 2: Personalized Options -| Biller | Customer Parameters | -|--------|-------------------| -| **You Broadband** | Username / Account No. | -| **Airtel Wi-Fi Recharge** | Broadband Id/Landline Number | +**What this means:** Plans are customized based on the user's account and only shown after account validation. -### A. Plan Sources +### Examples of This Pattern -Dynamic plan billers can offer plans through: -- **Generic Plans**: Available via List Plans API (optional) -- **Custom Plans**: Returned during customer account validation +| Service | What User Enters | What User Gets | +|---------|------------------|----------------| +| **You Broadband** | Username/Account Number | Plans available for their connection | +| **Airtel Wi-Fi** | Broadband ID/Landline | Recharge options for their specific plan | -### B. Customer Parameter Validation +### Step 1: Validate Account (Without Plan Selection) Validate customer account without requiring plan selection upfront. @@ -708,7 +685,7 @@ Validate customer account without requiring plan selection upfront.
-#### Check Validation Status with Plans +### Step 2: Get Personalized Plans from Validation Response **Request:** `POST /api/v2/bbps/bills/fetch/response` @@ -834,7 +811,7 @@ Validate customer account without requiring plan selection upfront.
-### C. Payment with Plan Selection +### Step 3: Process Payment with Selected Plan Process payment including the selected plan ID in payment details. diff --git a/content/payments/billpay/api-integration/quickstart.mdx b/content/payments/billpay/api-integration/quickstart.mdx index 1ba40fed..149056e1 100644 --- a/content/payments/billpay/api-integration/quickstart.mdx +++ b/content/payments/billpay/api-integration/quickstart.mdx @@ -124,13 +124,19 @@ Setu will append the following default paths to this callback URL, to alert your There are also other events that are not related to the core BillPay APIs, but are updates about the businesses on BBPS. -This would include alerts on businesses that may be delisted from BBPS, or if a business updates the type of identifier they accept to fetch a customer’s bill. If you maintain a database of BBPS businesses, you may want to use such events to stay up-to-date. Find the full list of events
here. +This would include alerts on businesses that may be delisted from BBPS, or if a business updates the type of identifier they accept to fetch a customer’s bill. If you maintain a database of BBPS businesses, you may want to use such events to stay up-to-date. Find the full list of events here.
### Step 3 — Start API integration -Once you have received your API keys and agent ID for testing, you can integration with our APIs and start testing out different scenarios for fetching/paying bills or for raising disputes and managing its resolution. +Once you have received your API keys and agent ID for testing, you can start integrating with our APIs. Begin with the Paying Bills Integration Guide which covers the 3 core payment flows: + +- **Bill Fetch → Payment** - For customers who want to see current bill amounts +- **Bill Validation → Payment** - For account verification before payment +- **Direct Payment** - For known amounts without prior fetch + +Use the complete API reference for detailed endpoint specifications.
diff --git a/content/payments/billpay/api-integration/remittance_flows_guide.mdx b/content/payments/billpay/api-integration/remittance_flows_guide.mdx index 3d1857ea..78cabe45 100644 --- a/content/payments/billpay/api-integration/remittance_flows_guide.mdx +++ b/content/payments/billpay/api-integration/remittance_flows_guide.mdx @@ -1,210 +1,66 @@ --- -sidebar_title: Remitter Details -page_title: Remitter Details For Bill Payments Integration Guide +sidebar_title: Remitter & Account Info +page_title: Remitter & Account Info (Format Reference) order: 6 visible_in_sidebar: true --- -# Remitter Details Integration Guide +# Remitter & Account Info ## Overview -This guide provides comprehensive specifications for remitter details and account information formatting in bill payments. Remitter details are part of the overall payment integration flow. +This guide is a concise format reference for remitter details and NPCI-compatible account information used in bill payments. Use it alongside the master integration guide. 📖 **For complete payment integration context and examples → [Paying Bills Integration Guide](./paying_bills.mdx)** -NPCI has introduced comprehensive remittance information handling to accommodate acceptance of remittance data for all bill payments. +NPCI supports rich remittance information for all bill payments. -## Remitter Details Specification +## Fields Reference | Property | Type | Constraints | Purpose | Notes | |-------|------|-------------|---------|-------| -| `accountInfo` | String | Format varies by payment mode | Contains customer's remittance information in NPCI-compatible format | Required field | +| `paymentDetails.accountInfo` | String | Format varies by payment mode | NPCI-compatible instrument info for the debit instrument | Required in payment requests | | `remitter` | Object | - | Captures information about the person making the payment | May differ from account holder | #### Remitter Object Properties | Property | Type | Constraints | Purpose | Notes | |----------|------|-------------|---------|-------| -| `name` | String | min: 1, max: 50 | Remitter's full name | Auto-fallback: 'Not Available' if not provided | -| `email` | String | min: 1, max: 50 | Remitter's email address | - | -| `pan` | String | min: 1, max: 50 | Remitter's PAN number | - | -| `aadhaar` | String | min: 1, max: 50 | Remitter's Aadhaar number | - | +| `name` | String | min: 1, max: 50 | Remitter's full name | **Required in payment requests** | +| `email` | String | min: 1, max: 50 | Remitter's email address | Optional | +| `pan` | String | min: 1, max: 50 | Remitter's PAN number | Optional | +| `aadhaar` | String | min: 1, max: 50 | Remitter's Aadhaar number | Optional | -## Remitter Details in Bill Payment API Flow +## Usage Across Flows -### Bill Fetch Request API Enhancement +- Fetch/Validation requests: remitter is optional. +- Payment requests (Flow 1–3): remitter.name and paymentDetails.accountInfo are required. +- For CCF handling and funds movement, see [Paying Bills → Cross‑Flow Rules & Patterns](./paying_bills.mdx#common-patterns). -The bill fetch request API has been enhanced to include remitter details within the `remitter` object. +### Sample Payment Request (minimal) - -
- - - Sample Request - - - - {` +{` { - "agent": { - "mac": "48-4D-7E-CB-DB-6F", - "mobile": "string", - "postalCode": "600001", - "id": "AX01AI06512391457204", - "ifsc": "ICIC0000152", - "imei": "123456789012345", - "ip": "124.170.23.24", - "os": "iOS", - "app": "SmartPay", - "channel": "INT", - "geocode": "19.0139,72.8254", - "terminalId": "6000011234" - }, -+ "remitter": { -+ "aadhaar": "123456789012", -+ "email": "test@example.com", -+ "name": "John Doe", -+ "pan": "ABDCE1121E" -+ }, - "biller": { - "id": "MAHI00000NATIC" - }, - "customer": { - "customerId": "4881317598", - "mobile": "string", - "customerParams": [ - { - "name": "John Doe", - "value": "1895159" - } - ] - } + "refId": "{{REF_ID_FROM_FETCH_OR_VALIDATION}}", + "paymentDetails": { + "amount": 50000, + "mode": "UPI", + "custConvFee": 120, // Optional; Total to debit = amount + custConvFee + "paymentRefId": "{{UNIQUE_DEBIT_ID}}", + "timestamp": "{{ISO_8601}}", + "accountInfo": "user@ybl" + }, + "remitter": { + "name": "{{PAYER_NAME}}" + } } -`} - -
-
- -### Bill Payment Request API Enhancement - -The bill payment request API has been enhanced to include remitter details under the `remitter` object and account information within the `accountInfo` property of the `paymentDetails` object. - -#### RefId Based Payment Request -- The `bill fetch request API` must be called to get the bill details before initiating the payment. -- The `refId` from the bill fetch request API must be used to make the payment. - - -
- - - Sample Request - - -{` -{ - "refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202", -+ "remitter": { -+ "aadhaar": "123456789012", -+ "email": "test@example.com", -+ "name": "John Doe", -+ "pan": "ABDCE1121E" -+ }, - "bills": "Selection on bills in case of list billers", - "paymentDetails": { - "custConvFee": 0, - "paymentRefId": "BD019181220291", - "timestamp": "2020-12-12T13:12:00+05:30", - "COUcustConvFee": 0, -+ "accountInfo": "ICIC0000152|1234567890", - "amount": 1, - "currency": 0, - "mode": "Internet Banking", - "selectedPaymentOptions": [ - { - "amount": 1, - "name": "John Doe" - } - ] - } -} -`} - -
-
- -#### Direct Payment Request - - -
- - - Sample Request - - -{` -{ - "biller": { - "id": "MAHI00000NATIC" - }, - "agent": { - "mac": "48-4D-7E-CB-DB-6F", - "mobile": "string", - "postalCode": "600001", - "id": "AX01AI06512391457204", - "ifsc": "ICIC0000152", - "imei": "123456789012345", - "ip": "124.170.23.24", - "os": "iOS", - "app": "SmartPay", - "channel": "INT", - "geocode": "19.0139,72.8254", - "terminalId": "6000011234" - }, -+ "remitter": { -+ "aadhaar": "123456789012", -+ "email": "test@example.com", -+ "name": "John Doe", -+ "pan": "ABDCE1121E" -+ }, - "paymentDetails": { - "custConvFee": 0, - "paymentRefId": "BD019181220291", - "timestamp": "2020-12-12T13:12:00+05:30", - "COUcustConvFee": 0, -+ "accountInfo": "ICIC0000152|1234567890", - "amount": 1, - "currency": 0, - "mode": "Internet Banking", - "selectedPaymentOptions": [ - { - "amount": 1, - "name": "John Doe" - } - ] - }, - "bills": "Selection on bills in case of list billers", - "customer": { - "customerId": "4881317598", - "mobile": "string", - "customerParams": [ - { - "name": "John Doe", - "value": "1895159" - } - ] - } -} -`} - -
-
+`} ## NPCI Specifications @@ -238,10 +94,10 @@ The following table provides detailed formatting specifications for different NP ### Field Handling Rules #### Mandatory Behavior -- The `accountInfo` field must contain NPCI-compatible values corresponding to the selected payment mode -- For credit card bill payments, both the `accountInfo` and `remitter` objects must be provided. +- In payment requests across Flow 1–3, `remitter.name` and `paymentDetails.accountInfo` are required +- The `paymentDetails.accountInfo` field must contain NPCI-compatible values corresponding to the selected payment mode #### Optional Field Handling -- If remitter details or account information are not available, the fields should be omitted entirely -- System automatically handles fallback scenarios - +- `remitter.email`, `remitter.pan`, and `remitter.aadhaar` are optional and can be omitted if not available +- Including `remitter` in bill fetch/validation requests is optional +- System automatically handles fallback scenarios for missing optional data diff --git a/content/payments/billpay/api-integration/upms.mdx b/content/payments/billpay/api-integration/upms.mdx index a2a49691..1193d621 100644 --- a/content/payments/billpay/api-integration/upms.mdx +++ b/content/payments/billpay/api-integration/upms.mdx @@ -1,7 +1,7 @@ --- sidebar_title: Integrating with UPMS page_title: BBPS COU — Integrating with UPMS -order: 11 +order: 12 visible_in_sidebar: true --- diff --git a/content/payments/billpay/api-integration/v2-migration.mdx b/content/payments/billpay/api-integration/v2-migration.mdx index bfbf09b2..17f2eb54 100644 --- a/content/payments/billpay/api-integration/v2-migration.mdx +++ b/content/payments/billpay/api-integration/v2-migration.mdx @@ -1,7 +1,7 @@ --- sidebar_title: Migration Guide to v2 page_title: BBPS COU — Migration Guide to v2 -order: 9 +order: 10 visible_in_sidebar: true --- From 3241eb3c6a534d01194ba7b236355286e911edaf Mon Sep 17 00:00:00 2001 From: tanmay Date: Mon, 15 Sep 2025 22:54:38 +0530 Subject: [PATCH 03/10] updates to titles & menu items --- content/menuItems.json | 2 +- .../payments/billpay/api-integration/harmonization_of_tat.mdx | 2 +- .../billpay/api-integration/multi-bill-processing.mdx | 4 ++-- .../payments/billpay/api-integration/plan-mdm-integration.mdx | 4 ++-- .../billpay/api-integration/remittance_flows_guide.mdx | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/content/menuItems.json b/content/menuItems.json index cffb89cb..b1074284 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":13},{"name":"List of APIs","visible_in_sidebar":true,"page_title":"BBPS COU - List of APIs","path":"apis","order":2},{"name":"Bill Payment Options","visible_in_sidebar":true,"page_title":"Bill Payment Options Integration Guide","path":"bill-payment-options","order":7},{"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":"Harmonization of TAT","visible_in_sidebar":true,"page_title":"Harmonization Of TAT (Disputes Api)","path":"harmonization_of_tat","order":11},{"name":"Multi-Bill Processing","visible_in_sidebar":true,"page_title":"Multi-Bill Processing Integration Guide","path":"multi-bill-processing","order":8},{"name":"Objects","visible_in_sidebar":true,"page_title":"BBPS COU - Objects","path":"objects","order":4},{"name":"Paying Bills","visible_in_sidebar":true,"page_title":"BBPS Bill Payment Integration Guide","path":"paying_bills","order":5},{"name":"Plans","visible_in_sidebar":true,"page_title":"When Users Need to Select Plans Before Payment","path":"plan-mdm-integration","order":9},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS COU - API integration","path":"quickstart","order":1},{"name":"Remitter & Account Info","visible_in_sidebar":true,"page_title":"Remitter & Account Info (Format Reference)","path":"remittance_flows_guide","order":6},{"name":"Integrating with UPMS","visible_in_sidebar":true,"page_title":"BBPS COU - Integrating with UPMS","path":"upms","order":12},{"name":"Migration Guide to v2","visible_in_sidebar":true,"page_title":"BBPS COU - Migration Guide to v2","path":"v2-migration","order":10},{"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":"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":"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 +{"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":13},{"name":"List of APIs","visible_in_sidebar":true,"page_title":"BBPS COU - List of APIs","path":"apis","order":2},{"name":"Bill Payment Options","visible_in_sidebar":true,"page_title":"Bill Payment Options Integration Guide","path":"bill-payment-options","order":7},{"name":"Harmonization of TAT","visible_in_sidebar":true,"page_title":"Harmonization Of TAT (Disputes API)","path":"harmonization_of_tat","order":11},{"name":"Paying for multiple bills","visible_in_sidebar":true,"page_title":"Paying for multiple bills","path":"multi-bill-processing","order":8},{"name":"Objects","visible_in_sidebar":true,"page_title":"BBPS COU - Objects","path":"objects","order":4},{"name":"Paying Bills","visible_in_sidebar":true,"page_title":"BBPS Bill Payment Integration Guide","path":"paying_bills","order":5},{"name":"Paying for plans","visible_in_sidebar":true,"page_title":"Paying for plans","path":"plan-mdm-integration","order":9},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS COU - API integration","path":"quickstart","order":1},{"name":"Passing Remitter Details in Bill Payments","visible_in_sidebar":true,"page_title":"Passing Remitter Details in Bill Payments","path":"remittance_flows_guide","order":6},{"name":"Integrating with UPMS","visible_in_sidebar":true,"page_title":"BBPS COU - Integrating with UPMS","path":"upms","order":12},{"name":"Migration Guide to v2","visible_in_sidebar":true,"page_title":"BBPS COU - Migration Guide to v2","path":"v2-migration","order":10},{"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":"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":"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/harmonization_of_tat.mdx b/content/payments/billpay/api-integration/harmonization_of_tat.mdx index c54e75a2..7d292f81 100644 --- a/content/payments/billpay/api-integration/harmonization_of_tat.mdx +++ b/content/payments/billpay/api-integration/harmonization_of_tat.mdx @@ -1,6 +1,6 @@ --- sidebar_title: Harmonization of TAT -page_title: Harmonization Of TAT (Disputes Api) +page_title: Harmonization Of TAT (Disputes API) order: 11 visible_in_sidebar: true --- diff --git a/content/payments/billpay/api-integration/multi-bill-processing.mdx b/content/payments/billpay/api-integration/multi-bill-processing.mdx index a6a26aa3..35cc5dee 100644 --- a/content/payments/billpay/api-integration/multi-bill-processing.mdx +++ b/content/payments/billpay/api-integration/multi-bill-processing.mdx @@ -1,6 +1,6 @@ --- -sidebar_title: Multi-Bill Processing -page_title: Multi-Bill Processing Integration Guide +sidebar_title: Paying for multiple bills +page_title: Paying for multiple bills order: 8 visible_in_sidebar: true --- diff --git a/content/payments/billpay/api-integration/plan-mdm-integration.mdx b/content/payments/billpay/api-integration/plan-mdm-integration.mdx index 5290f280..3c39bde5 100644 --- a/content/payments/billpay/api-integration/plan-mdm-integration.mdx +++ b/content/payments/billpay/api-integration/plan-mdm-integration.mdx @@ -1,6 +1,6 @@ --- -sidebar_title: Plans -page_title: When Users Need to Select Plans Before Payment +sidebar_title: Paying for plans +page_title: Paying for plans order: 9 visible_in_sidebar: true --- diff --git a/content/payments/billpay/api-integration/remittance_flows_guide.mdx b/content/payments/billpay/api-integration/remittance_flows_guide.mdx index 78cabe45..c1e68242 100644 --- a/content/payments/billpay/api-integration/remittance_flows_guide.mdx +++ b/content/payments/billpay/api-integration/remittance_flows_guide.mdx @@ -1,6 +1,6 @@ --- -sidebar_title: Remitter & Account Info -page_title: Remitter & Account Info (Format Reference) +sidebar_title: Passing Remitter Details in Bill Payments +page_title: Passing Remitter Details in Bill Payments order: 6 visible_in_sidebar: true --- From ce3ee94d52f4d0925d3225e39991ece3129b0dcb Mon Sep 17 00:00:00 2001 From: tanmay Date: Mon, 15 Sep 2025 23:21:34 +0530 Subject: [PATCH 04/10] fix links --- .../api-integration/bill-payment-options.mdx | 25 +++----------- .../api-integration/multi-bill-processing.mdx | 14 ++++---- .../billpay/api-integration/objects.mdx | 2 +- .../billpay/api-integration/paying_bills.mdx | 34 +++++++++---------- .../api-integration/plan-mdm-integration.mdx | 6 ++-- .../remittance_flows_guide.mdx | 8 ++--- 6 files changed, 37 insertions(+), 52 deletions(-) diff --git a/content/payments/billpay/api-integration/bill-payment-options.mdx b/content/payments/billpay/api-integration/bill-payment-options.mdx index ceb168f8..adda57e8 100644 --- a/content/payments/billpay/api-integration/bill-payment-options.mdx +++ b/content/payments/billpay/api-integration/bill-payment-options.mdx @@ -9,7 +9,7 @@ visible_in_sidebar: true Some billers (eg: Loan repayments) offer multiple payment amounts for a single bill. -📖 **For basic payment integration → [Paying Bills Integration Guide](./paying_bills.mdx)** +📖 **For basic payment integration → Paying Bills Integration Guide** ## Overview @@ -75,21 +75,6 @@ Check for the `paymentOptions` field in your bill fetch response: - Allow custom amount input within option constraints - Validate amounts against `minAmount`, `maxAmount`, and `amountMultiple` -**Example UI Flow:** -``` -┌─────────────────────────────────┐ -│ Choose Payment Amount: │ -│ │ -│ ○ Minimum Due - ₹500.00 │ -│ ○ Full Payment - ₹2,000.00 │ -│ ● Advance Payment - ₹3,000.00 │ -│ │ -│ Custom Amount: [₹3,000.00 ] │ -│ (₹3,000 - ₹10,000, multiples │ -│ of ₹500) │ -└─────────────────────────────────┘ -``` - ### Step 3: Build Payment Request **When user selects a payment option:** @@ -273,9 +258,9 @@ ELSE: ## Reference Links 📖 **Related Guides:** -- [Paying Bills Integration Guide](./paying_bills.mdx) — Master guide with Flow 1 implementation -- [Multi-Bill Processing Guide](./multi-bill-processing.mdx) — Multiple bills handling (optional) -- [API Reference](./api-reference.mdx) — Complete endpoint specifications -- [Webhooks Integration](./webhooks.mdx) — Real-time payment status updates +- Paying Bills Integration Guide — Master guide with Flow 1 implementation +- Multi-Bill Processing Guide — Multiple bills handling (optional) +- API Reference — Complete endpoint specifications +- Webhooks Integration — Real-time payment status updates \ No newline at end of file diff --git a/content/payments/billpay/api-integration/multi-bill-processing.mdx b/content/payments/billpay/api-integration/multi-bill-processing.mdx index 35cc5dee..08f26503 100644 --- a/content/payments/billpay/api-integration/multi-bill-processing.mdx +++ b/content/payments/billpay/api-integration/multi-bill-processing.mdx @@ -7,9 +7,9 @@ visible_in_sidebar: true # Multi-Bill Processing Integration Guide -**This extends [Flow 1 (Bill Fetch → Payment)](./paying_bills.mdx#flow-1-bill-fetch--payment-most-common) from the master guide.** Only needed when billers return multiple bills in a single fetch (< 1% of billers). +**This extends Flow 1 (Bill Fetch → Payment) from the master guide.** Only needed when billers return multiple bills in a single fetch (< 1% of billers). -📖 **Start here first → [Paying Bills Integration Guide](./paying_bills.mdx)** +📖 **Start here first → Paying Bills Integration Guide** ## When You Need This Guide @@ -123,7 +123,7 @@ function renderBillSelection(fetchResponse) { **Multi-Bill + Payment Options:** Individual bills in LIST responses can also have `paymentOptions`. Handle bill selection first, then payment options for selected bills. -📖 **Payment options implementation → [Bill Payment Options Guide](./bill-payment-options.mdx)** +📖 **Payment options implementation → Bill Payment Options Guide** **Transaction responses include individual bill breakdown for detailed reconciliation and audit trails.** @@ -137,9 +137,9 @@ Individual bills in LIST responses can also have `paymentOptions`. Handle bill s ## Reference Links 📖 **Related Guides:** -- [Paying Bills Integration Guide](./paying_bills.mdx) — Master guide with Flow 1 implementation -- [Bill Payment Options Guide](./bill-payment-options.mdx) — Handle payment options within bills -- [API Reference](./api-reference.mdx) — Complete endpoint specifications -- [Webhooks Integration](./webhooks.mdx) — Real-time payment status updates +- Paying Bills Integration Guide — Master guide with Flow 1 implementation +- Bill Payment Options Guide — Handle payment options within bills +- API Reference — Complete endpoint specifications +- Webhooks Integration — Real-time payment status updates \ No newline at end of file diff --git a/content/payments/billpay/api-integration/objects.mdx b/content/payments/billpay/api-integration/objects.mdx index 9e65db0e..d11ac794 100644 --- a/content/payments/billpay/api-integration/objects.mdx +++ b/content/payments/billpay/api-integration/objects.mdx @@ -68,7 +68,7 @@ CustomerV2 object holds the customer mobile number and the customer bill paramet | `customerParams[].value` | `string` | Value of the customer parameter. Value is validate according to the regex found in the biller details. | | `name` | `string` (Optional) | Customer's name as registered with the biller. Only present in UPMS registration callbacks if provided by the biller's system. | -Note: `customerParams` is a new field introduced in the V2 API in place of `billParameters`. +Note: `customerParams` is a new field introduced in the V2 API in place of `billParameters` (Refer V2 migration guide). ## Biller diff --git a/content/payments/billpay/api-integration/paying_bills.mdx b/content/payments/billpay/api-integration/paying_bills.mdx index 8bc9c7dc..f7f8b3a2 100644 --- a/content/payments/billpay/api-integration/paying_bills.mdx +++ b/content/payments/billpay/api-integration/paying_bills.mdx @@ -16,7 +16,7 @@ visible_in_sidebar: true
  • Bill fetch response: v2 returns bills[] array, v1 returns single bill object
  • Endpoints: Use /api/v1/ or /api/v2/ as needed
  • - For complete migration details → V2 Migration Guide + For complete migration details → V2 Migration Guide ## Understanding Bill Payment Models @@ -96,7 +96,7 @@ Content-Type: application/json ### Remitter Details - All bill payment requests require you to include remitter.name and paymentDetails.accountInfo for traceability. -- You can find NPCI-compatible formats and examples in the [Remitter Details Guide](./remittance_flows_guide.mdx) +- You can find NPCI-compatible formats and examples in the Remitter Details Guide ### Customer Convenience Fee (CCF) @@ -140,8 +140,8 @@ Retry: Fetch → refId: XYZ789 → Payment (paymentRefId: PAY456) → Success Use when customers want to see their current amount due before paying. Majority of the billers on the network use this model. **Implementation Steps:** -1. Fetch Bill Details → [Initiate bill fetch](/payments/billpay/api-integration/api-reference#/category~Fetch/operation~FetchRequest) and monitor status ([poll response](/payments/billpay/api-integration/api-reference#/category~Fetch/operation~FetchResponse) or [accept webhook](./webhooks.mdx#bill-fetch-webhook)) -2. Initiate Payment → [Initiate bill payment](/payments/billpay/api-integration/api-reference#/category~Payment/operation~PaymentRequest) and monitor status ([poll response](/payments/billpay/api-integration/api-reference#/category~Payment/operation~PaymentResponse) or [accept webhook](./webhooks.mdx#bill-payment-webhook)) +1. Fetch Bill Details → Initiate bill fetch and monitor status (poll response or accept webhook) +2. Initiate Payment → Initiate bill payment and monitor status (poll response or accept webhook) ### Step 1: Fetch Bill Details @@ -271,7 +271,7 @@ Call `/api/v{1|2}/bbps/bills/payment/request` with: } `} -📖 **Complete payment options implementation → [Bill Payment Options Guide](./bill-payment-options.mdx)** +📖 **Complete payment options implementation → Bill Payment Options Guide** ### Paying for multiple bills (Optional) @@ -303,7 +303,7 @@ Call `/api/v{1|2}/bbps/bills/payment/request` with: } `} -📖 **Complete multi-bill implementation → [Multi-Bill Processing Guide](./multi-bill-processing.mdx)** +📖 **Complete multi-bill implementation → Multi-Bill Processing Guide** ## Flow 2: Bill Validation → Payment @@ -318,8 +318,8 @@ Use when you need to validate account existence before payment. Common with serv - Uses same bill fetch endpoint but for validation purpose **Implementation Steps:** -1. Validate Account → [Initiate bill validation](/payments/billpay/api-integration/api-reference#/category~Fetch/operation~FetchRequest) and monitor status ([poll response](/payments/billpay/api-integration/api-reference#/category~Fetch/operation~FetchResponse) or [accept webhook](./webhooks.mdx#bill-fetch-webhook)) -2. Initiate Payment → [Initiate bill payment](/payments/billpay/api-integration/api-reference#/category~Payment/operation~PaymentRequest) and monitor status ([poll response](/payments/billpay/api-integration/api-reference#/category~Payment/operation~PaymentResponse) or [accept webhook](./webhooks.mdx#bill-payment-webhook)) +1. Validate Account → Initiate bill validation and monitor status (poll response or accept webhook) +2. Initiate Payment → Initiate bill payment and monitor status (poll response or accept webhook) ### Basic Validation → Payment @@ -419,7 +419,7 @@ Call `/api/v{1|2}/bbps/bills/payment/request` with: } `} -📖 **Complete plan selection implementation guide → [Paying for plans](./plan-mdm-integration.mdx)** +📖 **Complete plan selection implementation guide → Paying for plans** ## Flow 3: Direct Payment @@ -486,17 +486,17 @@ After initiating a payment across any flow, you'll receive responses that requir - For billers with `supportsPendingStatus: true`, poll up to 48 hours - Always store `transactionId` from successful payments for disputes/reconciliation -📖 **Complete response format → [Objects Reference](./objects.mdx#payment-response)** -📖 **Webhook alternative → [Bill Payment Webhook](./webhooks.mdx#bill-payment-webhook)** +📖 **Complete response format → Objects Reference** +📖 **Webhook alternative → Bill Payment Webhook** ## Reference Links 📖 **Essential References:** -- [Complete API Documentation](./api-reference.mdx) — Full endpoint specifications -- [Bill Payment Options Guide](./bill-payment-options.mdx) — Handle multiple payment amounts (essential) -- [Plan MDM Integration](./plan-mdm-integration.mdx) — Plan-based biller patterns -- [Multi-Bill Processing Guide](./multi-bill-processing.mdx) — Multiple bills handling (optional) -- [Remitter Details Guide](./remittance_flows_guide.mdx) — Payment format specifications -- [Webhooks Integration](./webhooks.mdx) — Real-time status updates +- Complete API Documentation — Full endpoint specifications +- Bill Payment Options Guide — Handle multiple payment amounts (essential) +- Plan MDM Integration — Plan-based biller patterns +- Multi-Bill Processing Guide — Multiple bills handling (optional) +- Remitter Details Guide — Payment format specifications +- Webhooks Integration — Real-time status updates diff --git a/content/payments/billpay/api-integration/plan-mdm-integration.mdx b/content/payments/billpay/api-integration/plan-mdm-integration.mdx index 3c39bde5..91b981c9 100644 --- a/content/payments/billpay/api-integration/plan-mdm-integration.mdx +++ b/content/payments/billpay/api-integration/plan-mdm-integration.mdx @@ -10,7 +10,7 @@ visible_in_sidebar: true Some services require your users to choose a plan before payment - like mobile recharge plans, DTH packages, or broadband subscriptions. This guide shows you how to handle these plan selection flows in your app. -📖 **This extends [Flow 2: Bill Validation → Payment](./paying_bills.mdx#flow-2-bill-validation--payment) from the master guide** +📖 **This extends Flow 2: Bill Validation → Payment from the master guide** **What this means for your users:** - Instead of paying a bill amount, they choose from available plans @@ -88,7 +88,7 @@ Your users will encounter one of two plan selection patterns, depending on the s ### How to Detect Which Pattern to Implement -Check the biller metadata from [List Billers API](./api-reference.mdx) to determine the pattern: +Check the biller metadata from List Billers API to determine the pattern: **Pattern 1 Detection:** ```json @@ -112,7 +112,7 @@ Check the biller metadata from [List Billers API](./api-reference.mdx) to determ "responseType": "SINGLE" } ``` -→ Use standard [Bill Validation flow](./paying_bills.mdx#flow-2-bill-validation--payment) +→ Use standard Bill Validation flow
    diff --git a/content/payments/billpay/api-integration/remittance_flows_guide.mdx b/content/payments/billpay/api-integration/remittance_flows_guide.mdx index c1e68242..bd94664f 100644 --- a/content/payments/billpay/api-integration/remittance_flows_guide.mdx +++ b/content/payments/billpay/api-integration/remittance_flows_guide.mdx @@ -1,6 +1,6 @@ --- -sidebar_title: Passing Remitter Details in Bill Payments -page_title: Passing Remitter Details in Bill Payments +sidebar_title: Remitter Details +page_title: Remitter Details order: 6 visible_in_sidebar: true --- @@ -12,7 +12,7 @@ visible_in_sidebar: true This guide is a concise format reference for remitter details and NPCI-compatible account information used in bill payments. Use it alongside the master integration guide. -📖 **For complete payment integration context and examples → [Paying Bills Integration Guide](./paying_bills.mdx)** +📖 **For complete payment integration context and examples → Paying Bills Integration Guide** NPCI supports rich remittance information for all bill payments. @@ -41,7 +41,7 @@ NPCI supports rich remittance information for all bill payments. - Fetch/Validation requests: remitter is optional. - Payment requests (Flow 1–3): remitter.name and paymentDetails.accountInfo are required. -- For CCF handling and funds movement, see [Paying Bills → Cross‑Flow Rules & Patterns](./paying_bills.mdx#common-patterns). +- For CCF handling and funds movement, see Paying Bills → Cross‑Flow Rules & Patterns. ### Sample Payment Request (minimal) From 1a4658c94e64c2ce44725e187ae903c66161f9ee Mon Sep 17 00:00:00 2001 From: tanmay Date: Tue, 16 Sep 2025 00:01:06 +0530 Subject: [PATCH 05/10] fix bill payment options --- .../billpay/api-integration/bill-payment-options.mdx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/content/payments/billpay/api-integration/bill-payment-options.mdx b/content/payments/billpay/api-integration/bill-payment-options.mdx index adda57e8..c3f2b576 100644 --- a/content/payments/billpay/api-integration/bill-payment-options.mdx +++ b/content/payments/billpay/api-integration/bill-payment-options.mdx @@ -190,7 +190,10 @@ ELSE: }] } } +`} + +{` // Payment Request (Partial Prepayment) { "refId": "LOAN_FETCH_123", @@ -224,7 +227,10 @@ ELSE: "message": "Amount 75000 is below minimum 100000 for option 'Partial Prepayment'" } } +`} + +{` // Invalid multiple error { "success": false, From dd72559cc60edb5d6de350d0588963066de187d4 Mon Sep 17 00:00:00 2001 From: tanmay Date: Tue, 16 Sep 2025 09:04:30 +0530 Subject: [PATCH 06/10] build menuItems --- content/menuItems.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/menuItems.json b/content/menuItems.json index b1074284..2648f905 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":13},{"name":"List of APIs","visible_in_sidebar":true,"page_title":"BBPS COU - List of APIs","path":"apis","order":2},{"name":"Bill Payment Options","visible_in_sidebar":true,"page_title":"Bill Payment Options Integration Guide","path":"bill-payment-options","order":7},{"name":"Harmonization of TAT","visible_in_sidebar":true,"page_title":"Harmonization Of TAT (Disputes API)","path":"harmonization_of_tat","order":11},{"name":"Paying for multiple bills","visible_in_sidebar":true,"page_title":"Paying for multiple bills","path":"multi-bill-processing","order":8},{"name":"Objects","visible_in_sidebar":true,"page_title":"BBPS COU - Objects","path":"objects","order":4},{"name":"Paying Bills","visible_in_sidebar":true,"page_title":"BBPS Bill Payment Integration Guide","path":"paying_bills","order":5},{"name":"Paying for plans","visible_in_sidebar":true,"page_title":"Paying for plans","path":"plan-mdm-integration","order":9},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS COU - API integration","path":"quickstart","order":1},{"name":"Passing Remitter Details in Bill Payments","visible_in_sidebar":true,"page_title":"Passing Remitter Details in Bill Payments","path":"remittance_flows_guide","order":6},{"name":"Integrating with UPMS","visible_in_sidebar":true,"page_title":"BBPS COU - Integrating with UPMS","path":"upms","order":12},{"name":"Migration Guide to v2","visible_in_sidebar":true,"page_title":"BBPS COU - Migration Guide to v2","path":"v2-migration","order":10},{"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":"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":"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 +{"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":13},{"name":"List of APIs","visible_in_sidebar":true,"page_title":"BBPS COU - List of APIs","path":"apis","order":2},{"name":"Bill Payment Options","visible_in_sidebar":true,"page_title":"Bill Payment Options Integration Guide","path":"bill-payment-options","order":7},{"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":"Harmonization of TAT","visible_in_sidebar":true,"page_title":"Harmonization Of TAT (Disputes API)","path":"harmonization_of_tat","order":11},{"name":"Paying for multiple bills","visible_in_sidebar":true,"page_title":"Paying for multiple bills","path":"multi-bill-processing","order":8},{"name":"Objects","visible_in_sidebar":true,"page_title":"BBPS COU - Objects","path":"objects","order":4},{"name":"Paying Bills","visible_in_sidebar":true,"page_title":"BBPS Bill Payment Integration Guide","path":"paying_bills","order":5},{"name":"Paying for plans","visible_in_sidebar":true,"page_title":"Paying for plans","path":"plan-mdm-integration","order":9},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS COU - API integration","path":"quickstart","order":1},{"name":"Remitter Details","visible_in_sidebar":true,"page_title":"Remitter Details","path":"remittance_flows_guide","order":6},{"name":"Integrating with UPMS","visible_in_sidebar":true,"page_title":"BBPS COU - Integrating with UPMS","path":"upms","order":12},{"name":"Migration Guide to v2","visible_in_sidebar":true,"page_title":"BBPS COU - Migration Guide to v2","path":"v2-migration","order":10},{"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":"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":"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 From a29910e70a95d82e759c5db0502d5646cf013aa6 Mon Sep 17 00:00:00 2001 From: tanmay Date: Tue, 16 Sep 2025 10:31:19 +0530 Subject: [PATCH 07/10] add integration for time based payment options --- .../api-integration/bill-payment-options.mdx | 199 +++++------------- .../billpay/api-integration/paying_bills.mdx | 6 +- 2 files changed, 53 insertions(+), 152 deletions(-) diff --git a/content/payments/billpay/api-integration/bill-payment-options.mdx b/content/payments/billpay/api-integration/bill-payment-options.mdx index c3f2b576..2515f461 100644 --- a/content/payments/billpay/api-integration/bill-payment-options.mdx +++ b/content/payments/billpay/api-integration/bill-payment-options.mdx @@ -7,59 +7,30 @@ visible_in_sidebar: true # Bill Payment Options Integration Guide -Some billers (eg: Loan repayments) offer multiple payment amounts for a single bill. - -📖 **For basic payment integration → Paying Bills Integration Guide** ## Overview -Bill payment options allow customers to choose from different payment amounts for a single bill, such as: -- **Minimum Due**: Pay only the minimum required amount -- **Full Payment**: Pay the complete bill amount -- **Advance Payment**: Pay more than the bill amount -- **Partial Payment**: Pay a custom amount within limits -- **Foreclosure**: Pay the full outstanding amount +Bill payment options let customers choose a different amount from the base bill when supported by the biller (e.g., Minimum Due, Partial/Prepayment, Advance/Top‑up, Foreclosure). -**The `paymentOptions` field appears in fetch responses when billers support multiple payment amounts.** +The `paymentOptions` array appears in fetch responses only when the biller supports multiple amounts. ## Implementation Guide -### Step 1: Detect Payment Options in Fetch Response +### Step 1: Detect alternative paymentOptions in bill fetch -Check for the `paymentOptions` field in your bill fetch response: +Check for `bills[].paymentOptions` in the fetch response: {` { - "success": true, "data": { "refId": "FETCH_REF_123", - "status": "Success", "bills": [ { - "amount": 200000, // Base bill amount - "billNumber": "LOAN001", - "customerName": "John Doe", + "amount": 200000, "dueDate": "2024-12-30", "paymentOptions": [ - { - "name": "Minimum Due", - "amount": 50000, - "minAmount": 50000, - "maxAmount": 50000 - }, - { - "name": "Full Payment", - "amount": 200000, - "minAmount": 200000, - "maxAmount": 200000 - }, - { - "name": "Advance Payment", - "amount": 300000, - "minAmount": 300000, - "maxAmount": 1000000, - "amountMultiple": 50000 - } + { "name": "Minimum Due", "amount": 50000, "minAmount": 50000, "maxAmount": 50000 }, + { "name": "Advance Payment", "amount": 300000, "minAmount": 300000, "maxAmount": 1000000, "amountMultiple": 50000 } ] } ] @@ -67,17 +38,13 @@ Check for the `paymentOptions` field in your bill fetch response: } `} -### Step 2: Present Options to Users +### Step 2: Present choices -**UI Implementation:** -- Display payment options as selectable buttons or dropdown -- Show option names with their corresponding amounts -- Allow custom amount input within option constraints -- Validate amounts against `minAmount`, `maxAmount`, and `amountMultiple` +- Present the base `bill.amount` alongside any `paymentOptions`. -### Step 3: Build Payment Request +### Step 3: Build payment request -**When user selects a payment option:** +- When a non‑base option is chosen, include exactly one `selectedPaymentOptions` item and match amounts. {` { @@ -101,7 +68,7 @@ Check for the `paymentOptions` field in your bill fetch response: } `} -**When user pays base bill amount (no option selected):** +- When paying the base amount, omit `selectedPaymentOptions`. {` { @@ -120,92 +87,42 @@ Check for the `paymentOptions` field in your bill fetch response: } `} -## How Payment Options Work +## Time‑Based Options -**Relationship to Base Bill:** -- Base bill has `amount` and may have `exactness` rules -- Payment options **override** base bill constraints when selected -- Each option defines its own amount limits and validation rules +Some billers expose time‑based amounts such as `Early Payment Amount`, `Late Payment Amount` in the bill fetch response. These can be used to determine the default option to be selected. -**Key Fields:** -- `name`: Option identifier (must match exactly in payment request) -- `amount`: Default amount for this option -- `minAmount`/`maxAmount`: Payment range for this option -- `amountMultiple`: Required increments (if specified) +Signals to check in bill fetch response: + - `bills[].paymentOptions[].name` equals `Early Payment Amount` or `Late Payment Amount`. + - `bills[].dueDate` for past‑due checks. + - `bills[].additionalInfo[]` includes `{ name: "Early Payment Date", value: YYYY-MM-DD }`. -## Validation Rules +Bill amount selection rules: +- Precedence: `Late Payment Amount` > `Early Payment Amount` > Base bill amount. +- Show `Late Payment Amount` only if today > `dueDate` and a `Late Payment Amount` option exists. +- Show `Early Payment Amount` only if a `Early Payment Amount` option exists and today ≤ `Early Payment Date` from `additionalInfo`. +- Otherwise show the base bill amount and optionally show all choices. -**Step-by-Step Validation:** - -1. **Option Selection**: Choose option from `paymentOptions` array or use base bill amount -2. **Amount Constraints**: If option selected, validate against option's `minAmount`/`maxAmount` -3. **Multiple Validation**: If `amountMultiple` specified: `amount % amountMultiple == 0` -4. **Request Consistency**: `paymentDetails.amount` must equal `selectedPaymentOptions[0].amount` - -**Example Validation Logic:** -{` -IF user selects payment option: - amount = user_chosen_amount - validate: option.minAmount <= amount <= option.maxAmount - validate: amount % option.amountMultiple == 0 (if specified) - include: selectedPaymentOptions field -ELSE: - amount = bill.amount (or user amount within bill constraints) - validate: according to bill exactness rules - omit: selectedPaymentOptions field -`} +Edge cases: +- Both Early and Late present: if past due, Late; else if within Early window, Early; else Base. +- Missing `dueDate`: default Base. +- Missing or invalid `Early Payment Date`: default Base. +- Options present but none match Early/Late labels: default Base. -## Real-World Example: Loan Repayment +All date comparisons are in IST. -**Complete flow showing payment options in action:** +## Key Fields in Payment Options -{` -// Fetch Response -{ - "data": { - "refId": "LOAN_FETCH_123", - "bills": [{ - "amount": 50000, // Monthly EMI - "paymentOptions": [ - { - "name": "Monthly EMI", - "amount": 50000, - "minAmount": 50000, - "maxAmount": 50000 - }, - { - "name": "Partial Prepayment", - "amount": 100000, - "minAmount": 100000, - "maxAmount": 500000, - "amountMultiple": 10000 - }, - { - "name": "Foreclosure", - "amount": 1200000, - "minAmount": 1200000, - "maxAmount": 1200000 - } - ] - }] - } -} -`} +- `name`: Option identifier (must match exactly in the request when selected) +- `amount`: Amount to pay when this option is chosen +- `minAmount` / `maxAmount`: Allowed range when the option supports variable amounts +- `amountMultiple`: Required increment (if provided) +## Validation Rules + +- When an option is selected, the amount must be within `minAmount`–`maxAmount` and respect `amountMultiple` if present. +- `paymentDetails.amount` must equal the chosen amount (base or selected option amount). +- Option `name` must match exactly one of the names in `paymentOptions`. -{` -// Payment Request (Partial Prepayment) -{ - "refId": "LOAN_FETCH_123", - "paymentDetails": { - "amount": 250000, // User chose custom amount - "selectedPaymentOptions": [{ - "name": "Partial Prepayment", - "amount": 250000 - }] - } -} -`} ## Error Handling @@ -215,51 +132,33 @@ ELSE: 2. **Amount mismatch**: `paymentDetails.amount` ≠ `selectedPaymentOptions[0].amount` 3. **Out of range**: Amount outside option's `minAmount`/`maxAmount` 4. **Invalid multiple**: Amount not a multiple of `amountMultiple` -5. **Missing selection**: Option required but `selectedPaymentOptions` not provided **Example Error Responses:** {` -// Out of range error { "success": false, "error": { - "code": "AMOUNT_OUT_OF_RANGE", + "code": "invalid-amount", "message": "Amount 75000 is below minimum 100000 for option 'Partial Prepayment'" - } + }, + "traceId": "C3SFG0O6N88R6UI7EQ" } `} -{` -// Invalid multiple error -{ - "success": false, - "error": { - "code": "INVALID_AMOUNT_MULTIPLE", - "message": "Amount 155000 must be multiple of 10000 for option 'Partial Prepayment'" - } -} -`} - ## Integration with CCF and Other Features **Customer Convenience Fee (CCF):** -- CCF calculation applies to the **final payment amount** (including selected option amount) +- CCF calculation applies to the **final payment amount** (i.e. paymentDetails.amount) - Recalculate CCF when user changes payment options - CCF applies to `paymentDetails.amount`, not base bill amount -**Exactness Rules:** -- When payment option is selected: option constraints override bill exactness -- When no option selected: standard exactness rules apply to base bill -- `selectedPaymentOptions` signals which validation rules to use - -## Best Practices +## Quick Checklist -1. **Implement as standard feature** - not optional for comprehensive bill payment -2. **Validate in real-time** as users select options and enter amounts -3. **Clear option presentation** with amount ranges and constraints -4. **Handle gracefully** when paymentOptions is null/empty -5. **Consistent refId usage** throughout fetch-to-payment flow +- Detect `paymentOptions`; always present base `bill.amount` alongside options. +- Choose exactly one: base (omit `selectedPaymentOptions`) or one option (include one item; amounts match). +- Optional: Apply Early/Late defaulting as described +- Recompute CCF (if applicable) for the final amount (base or selected option). ## Reference Links @@ -269,4 +168,4 @@ ELSE: - API Reference — Complete endpoint specifications - Webhooks Integration — Real-time payment status updates - \ No newline at end of file + diff --git a/content/payments/billpay/api-integration/paying_bills.mdx b/content/payments/billpay/api-integration/paying_bills.mdx index f7f8b3a2..4b4dea41 100644 --- a/content/payments/billpay/api-integration/paying_bills.mdx +++ b/content/payments/billpay/api-integration/paying_bills.mdx @@ -241,8 +241,10 @@ Some billers (eg: Loan repayments) offer multiple payment amounts for a single b `} **When your bill fetch response includes `paymentOptions`:** -- Present payment choices to users (e.g., "1 month EMI", "Partial repayment", "Foreclosure") -- Include selected option in payment request using `selectedPaymentOptions` field +- Present these options alongside the base `bill.amount`. +- Include exactly one selected option in the payment request when paying a non‑base option; `paymentDetails.amount` must match the selected option’s `amount`. +- Omit `selectedPaymentOptions` when paying the base `bill.amount`. +- For optional time‑based defaults (Early/Late) and complete selection rules, see the specialized guide below. **Payment Request with Selected Option:** From 81ede8271974f089ab823409022a56bf529332ce Mon Sep 17 00:00:00 2001 From: tanmay Date: Tue, 16 Sep 2025 10:53:43 +0530 Subject: [PATCH 08/10] style/content tweaks --- content/menuItems.json | 2 +- .../api-integration/bill-payment-options.mdx | 6 +++--- .../api-integration/multi-bill-processing.mdx | 15 ++++----------- .../billpay/api-integration/paying_bills.mdx | 6 +++--- .../api-integration/remittance_flows_guide.mdx | 13 +++++-------- 5 files changed, 16 insertions(+), 26 deletions(-) diff --git a/content/menuItems.json b/content/menuItems.json index 2648f905..cb5369dc 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":13},{"name":"List of APIs","visible_in_sidebar":true,"page_title":"BBPS COU - List of APIs","path":"apis","order":2},{"name":"Bill Payment Options","visible_in_sidebar":true,"page_title":"Bill Payment Options Integration Guide","path":"bill-payment-options","order":7},{"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":"Harmonization of TAT","visible_in_sidebar":true,"page_title":"Harmonization Of TAT (Disputes API)","path":"harmonization_of_tat","order":11},{"name":"Paying for multiple bills","visible_in_sidebar":true,"page_title":"Paying for multiple bills","path":"multi-bill-processing","order":8},{"name":"Objects","visible_in_sidebar":true,"page_title":"BBPS COU - Objects","path":"objects","order":4},{"name":"Paying Bills","visible_in_sidebar":true,"page_title":"BBPS Bill Payment Integration Guide","path":"paying_bills","order":5},{"name":"Paying for plans","visible_in_sidebar":true,"page_title":"Paying for plans","path":"plan-mdm-integration","order":9},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS COU - API integration","path":"quickstart","order":1},{"name":"Remitter Details","visible_in_sidebar":true,"page_title":"Remitter Details","path":"remittance_flows_guide","order":6},{"name":"Integrating with UPMS","visible_in_sidebar":true,"page_title":"BBPS COU - Integrating with UPMS","path":"upms","order":12},{"name":"Migration Guide to v2","visible_in_sidebar":true,"page_title":"BBPS COU - Migration Guide to v2","path":"v2-migration","order":10},{"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":"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":"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 +{"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":13},{"name":"List of APIs","visible_in_sidebar":true,"page_title":"BBPS COU - List of APIs","path":"apis","order":2},{"name":"Paying for alternative options","visible_in_sidebar":true,"page_title":"Paying for alternative options","path":"bill-payment-options","order":7},{"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":"Harmonization of TAT","visible_in_sidebar":true,"page_title":"Harmonization Of TAT (Disputes API)","path":"harmonization_of_tat","order":11},{"name":"Paying for multiple bills","visible_in_sidebar":true,"page_title":"Paying for multiple bills","path":"multi-bill-processing","order":8},{"name":"Objects","visible_in_sidebar":true,"page_title":"BBPS COU - Objects","path":"objects","order":4},{"name":"Paying Bills","visible_in_sidebar":true,"page_title":"BBPS Bill Payment Integration Guide","path":"paying_bills","order":5},{"name":"Paying for plans","visible_in_sidebar":true,"page_title":"Paying for plans","path":"plan-mdm-integration","order":9},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS COU - API integration","path":"quickstart","order":1},{"name":"Passing Remitter Details","visible_in_sidebar":true,"page_title":"Passing Remitter Details","path":"remittance_flows_guide","order":6},{"name":"Integrating with UPMS","visible_in_sidebar":true,"page_title":"BBPS COU - Integrating with UPMS","path":"upms","order":12},{"name":"Migration Guide to v2","visible_in_sidebar":true,"page_title":"BBPS COU - Migration Guide to v2","path":"v2-migration","order":10},{"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":"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":"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/bill-payment-options.mdx b/content/payments/billpay/api-integration/bill-payment-options.mdx index 2515f461..4b85438f 100644 --- a/content/payments/billpay/api-integration/bill-payment-options.mdx +++ b/content/payments/billpay/api-integration/bill-payment-options.mdx @@ -1,6 +1,6 @@ --- -sidebar_title: Bill Payment Options -page_title: Bill Payment Options Integration Guide +sidebar_title: Paying for alternative options +page_title: Paying for alternative options order: 7 visible_in_sidebar: true --- @@ -164,7 +164,7 @@ All date comparisons are in IST. 📖 **Related Guides:** - Paying Bills Integration Guide — Master guide with Flow 1 implementation -- Multi-Bill Processing Guide — Multiple bills handling (optional) +- Paying for multiple bills — Multiple bills handling - API Reference — Complete endpoint specifications - Webhooks Integration — Real-time payment status updates diff --git a/content/payments/billpay/api-integration/multi-bill-processing.mdx b/content/payments/billpay/api-integration/multi-bill-processing.mdx index 08f26503..5111b8d1 100644 --- a/content/payments/billpay/api-integration/multi-bill-processing.mdx +++ b/content/payments/billpay/api-integration/multi-bill-processing.mdx @@ -54,7 +54,7 @@ if (fetchResponse.data.billerResponseType === "LIST") { ## Common Multi-Bill Scenarios **When billers return multiple outstanding bills:** -- **Corporate credit cards**: Multiple billing periods (May + June statements) +- **Corporate credit cards**: Multiple outstanding bills - **B2B invoices**: Multiple outstanding invoices requiring payment - **Government eChallans**: Bulk payment processing @@ -62,9 +62,9 @@ if (fetchResponse.data.billerResponseType === "LIST") { **The `billerSelectionType` field determines how many bills users can select:** -- **`"SINGLE"`** → Choose exactly 1 bill (e.g., May OR June credit card statement) +- **`"SINGLE"`** → Choose exactly 1 bill (e.g., one credit card bill) - **`"MULTIPLE"`** → Choose 1+ bills (e.g., select which invoices to pay) -- **`"ALL"`** → Must pay all bills together (no selection) +- **`"ALL"`** → Must pay all bills together (pay all bills at once) ## Implementation Guide @@ -120,13 +120,6 @@ function renderBillSelection(fetchResponse) { 2. **Amount consistency**: `paymentDetails.amount` must equal sum of selected bill amounts 3. **Bill matching**: All selected `billNumber` values must exist in fetch response -**Multi-Bill + Payment Options:** -Individual bills in LIST responses can also have `paymentOptions`. Handle bill selection first, then payment options for selected bills. - -📖 **Payment options implementation → Bill Payment Options Guide** - -**Transaction responses include individual bill breakdown for detailed reconciliation and audit trails.** - ## Implementation Checklist 1. **Add detection logic** to your existing Flow 1 fetch handler @@ -138,7 +131,7 @@ Individual bills in LIST responses can also have `paymentOptions`. Handle bill s 📖 **Related Guides:** - Paying Bills Integration Guide — Master guide with Flow 1 implementation -- Bill Payment Options Guide — Handle payment options within bills +- Paying for alternative options — Handle payment options within bills - API Reference — Complete endpoint specifications - Webhooks Integration — Real-time payment status updates diff --git a/content/payments/billpay/api-integration/paying_bills.mdx b/content/payments/billpay/api-integration/paying_bills.mdx index 4b4dea41..1dc4f2a8 100644 --- a/content/payments/billpay/api-integration/paying_bills.mdx +++ b/content/payments/billpay/api-integration/paying_bills.mdx @@ -273,7 +273,7 @@ Call `/api/v{1|2}/bbps/bills/payment/request` with: } `} -📖 **Complete payment options implementation → Bill Payment Options Guide** +📖 **Complete payment options implementation → Paying for alternative options** ### Paying for multiple bills (Optional) @@ -495,9 +495,9 @@ After initiating a payment across any flow, you'll receive responses that requir 📖 **Essential References:** - Complete API Documentation — Full endpoint specifications -- Bill Payment Options Guide — Handle multiple payment amounts (essential) +- Paying for alternative options — Handle multiple payment amounts - Plan MDM Integration — Plan-based biller patterns -- Multi-Bill Processing Guide — Multiple bills handling (optional) +- Multi-Bill Processing Guide — Multiple bills handling - Remitter Details Guide — Payment format specifications - Webhooks Integration — Real-time status updates diff --git a/content/payments/billpay/api-integration/remittance_flows_guide.mdx b/content/payments/billpay/api-integration/remittance_flows_guide.mdx index bd94664f..6504780d 100644 --- a/content/payments/billpay/api-integration/remittance_flows_guide.mdx +++ b/content/payments/billpay/api-integration/remittance_flows_guide.mdx @@ -1,6 +1,6 @@ --- -sidebar_title: Remitter Details -page_title: Remitter Details +sidebar_title: Passing Remitter Details +page_title: Passing Remitter Details order: 6 visible_in_sidebar: true --- @@ -14,8 +14,6 @@ This guide is a concise format reference for remitter details and NPCI-compatibl 📖 **For complete payment integration context and examples → Paying Bills Integration Guide** -NPCI supports rich remittance information for all bill payments. - ## Fields Reference @@ -39,11 +37,10 @@ NPCI supports rich remittance information for all bill payments. ## Usage Across Flows -- Fetch/Validation requests: remitter is optional. -- Payment requests (Flow 1–3): remitter.name and paymentDetails.accountInfo are required. -- For CCF handling and funds movement, see Paying Bills → Cross‑Flow Rules & Patterns. +- Fetch/Validation requests: remitter is optional. +- Payment requests (Flow 1–3): remitter.name and paymentDetails.accountInfo are required. -### Sample Payment Request (minimal) +### Sample Payment Request {` { From 606bca5c6ae68ec010668d8d277bc099b3a79264 Mon Sep 17 00:00:00 2001 From: tanmay Date: Tue, 16 Sep 2025 14:55:46 +0530 Subject: [PATCH 09/10] feedback from review --- content/menuItems.json | 2 +- .../api-integration/bill-payment-options.mdx | 245 +++++++++++------- .../customer-convenience-fee.mdx | 226 ++++++++++++++++ .../billpay/api-integration/deprecated.mdx | 2 +- .../api-integration/multi-bill-processing.mdx | 32 +-- .../billpay/api-integration/objects.mdx | 2 +- .../billpay/api-integration/paying_bills.mdx | 239 ++++------------- .../api-integration/plan-mdm-integration.mdx | 93 +++---- .../remittance_flows_guide.mdx | 28 +- 9 files changed, 502 insertions(+), 367 deletions(-) create mode 100644 content/payments/billpay/api-integration/customer-convenience-fee.mdx diff --git a/content/menuItems.json b/content/menuItems.json index cb5369dc..4c1809a6 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":13},{"name":"List of APIs","visible_in_sidebar":true,"page_title":"BBPS COU - List of APIs","path":"apis","order":2},{"name":"Paying for alternative options","visible_in_sidebar":true,"page_title":"Paying for alternative options","path":"bill-payment-options","order":7},{"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":"Harmonization of TAT","visible_in_sidebar":true,"page_title":"Harmonization Of TAT (Disputes API)","path":"harmonization_of_tat","order":11},{"name":"Paying for multiple bills","visible_in_sidebar":true,"page_title":"Paying for multiple bills","path":"multi-bill-processing","order":8},{"name":"Objects","visible_in_sidebar":true,"page_title":"BBPS COU - Objects","path":"objects","order":4},{"name":"Paying Bills","visible_in_sidebar":true,"page_title":"BBPS Bill Payment Integration Guide","path":"paying_bills","order":5},{"name":"Paying for plans","visible_in_sidebar":true,"page_title":"Paying for plans","path":"plan-mdm-integration","order":9},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS COU - API integration","path":"quickstart","order":1},{"name":"Passing Remitter Details","visible_in_sidebar":true,"page_title":"Passing Remitter Details","path":"remittance_flows_guide","order":6},{"name":"Integrating with UPMS","visible_in_sidebar":true,"page_title":"BBPS COU - Integrating with UPMS","path":"upms","order":12},{"name":"Migration Guide to v2","visible_in_sidebar":true,"page_title":"BBPS COU - Migration Guide to v2","path":"v2-migration","order":10},{"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":"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":"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 +{"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":13},{"name":"List of APIs","visible_in_sidebar":true,"page_title":"BBPS COU - List of APIs","path":"apis","order":2},{"name":"Paying for alternative options","visible_in_sidebar":true,"page_title":"Paying for alternative options","path":"bill-payment-options","order":6},{"name":"Customer Convenience Fee (CCF)","visible_in_sidebar":true,"page_title":"Customer Convenience Fee (CCF) Integration Guide","path":"customer-convenience-fee","order":7},{"name":"Deprecated APIs","visible_in_sidebar":false,"page_title":"BBPS COU - API integration (deprecated)","path":"deprecated","order":15,"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":"Harmonization of TAT","visible_in_sidebar":true,"page_title":"Harmonization Of TAT (Disputes API)","path":"harmonization_of_tat","order":11},{"name":"Paying for multiple bills","visible_in_sidebar":true,"page_title":"Paying for multiple bills","path":"multi-bill-processing","order":8},{"name":"Objects","visible_in_sidebar":true,"page_title":"BBPS COU - Objects","path":"objects","order":14},{"name":"Paying Bills","visible_in_sidebar":true,"page_title":"BBPS Bill Payment Integration Guide","path":"paying_bills","order":4},{"name":"Paying for plans","visible_in_sidebar":true,"page_title":"Paying for plans","path":"plan-mdm-integration","order":9},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS COU - API integration","path":"quickstart","order":1},{"name":"Passing Remitter Details","visible_in_sidebar":true,"page_title":"Passing Remitter Details","path":"remittance_flows_guide","order":5},{"name":"Integrating with UPMS","visible_in_sidebar":true,"page_title":"BBPS COU - Integrating with UPMS","path":"upms","order":12},{"name":"Migration Guide to v2","visible_in_sidebar":true,"page_title":"BBPS COU - Migration Guide to v2","path":"v2-migration","order":10},{"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":"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":"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/bill-payment-options.mdx b/content/payments/billpay/api-integration/bill-payment-options.mdx index 4b85438f..67b4e35c 100644 --- a/content/payments/billpay/api-integration/bill-payment-options.mdx +++ b/content/payments/billpay/api-integration/bill-payment-options.mdx @@ -1,24 +1,17 @@ --- sidebar_title: Paying for alternative options page_title: Paying for alternative options -order: 7 +order: 6 visible_in_sidebar: true --- # Bill Payment Options Integration Guide +## 1. You're Here Because Your Fetch Returned Payment Options -## Overview +You successfully completed a Flow 1 bill fetch and discovered your response includes a `paymentOptions` array alongside the standard bill amount. This happens when billers—typically credit cards, loan providers, or utilities—offer customers multiple payment amounts instead of just the fixed bill amount. -Bill payment options let customers choose a different amount from the base bill when supported by the biller (e.g., Minimum Due, Partial/Prepayment, Advance/Top‑up, Foreclosure). - -The `paymentOptions` array appears in fetch responses only when the biller supports multiple amounts. - -## Implementation Guide - -### Step 1: Detect alternative paymentOptions in bill fetch - -Check for `bills[].paymentOptions` in the fetch response: +Here's what your fetch response looks like when this happens: {` { @@ -28,9 +21,12 @@ Check for `bills[].paymentOptions` in the fetch response: { "amount": 200000, "dueDate": "2024-12-30", + "additionalInfo": [ + { "name": "Early Payment Date", "value": "2024-12-20" } + ], "paymentOptions": [ - { "name": "Minimum Due", "amount": 50000, "minAmount": 50000, "maxAmount": 50000 }, - { "name": "Advance Payment", "amount": 300000, "minAmount": 300000, "maxAmount": 1000000, "amountMultiple": 50000 } + { "name": "Early Payment Amount", "amount": 195000 }, + { "name": "Late Payment Amount", "amount": 205000 } ] } ] @@ -38,134 +34,183 @@ Check for `bills[].paymentOptions` in the fetch response: } `} -### Step 2: Present choices +## 2. What This Means for Your Implementation + +You now have multiple valid payment amounts: the base `bills[].amount` plus each amount in `paymentOptions`. Your job is to let either the user or your application logic choose exactly one of these amounts, then build your payment request accordingly. -- Present the base `bill.amount` alongside any `paymentOptions`. +The fundamental rule: you're either paying the base amount (simple case) or paying one of the alternative options (requires additional request fields). All amounts are in paise, and the server will validate your choice—don't override the server's rules on the client side. -### Step 3: Build payment request +## 3. The Simple Case: Let Users Choose -- When a non‑base option is chosen, include exactly one `selectedPaymentOptions` item and match amounts. +Most teams handle payment options by showing all available amounts to the user and letting them pick. Present the base bill amount alongside each payment option, clearly labeled with the option name and amount. +### 3.1 Common Business Scenarios + +Payment options appear across many different types of services, each with their own business logic: + +**Credit Card Bills**: Users can pay minimum due, total outstanding, or a custom amount {` { - "refId": "FETCH_REF_123", - "paymentDetails": { - "amount": 300000, // Must match selected option amount - "mode": "UPI", - "paymentRefId": "PAY_REF_456", - "timestamp": "2024-06-04T14:30:00+05:30", - "accountInfo": "user@ybl", - "selectedPaymentOptions": [ - { - "name": "Advance Payment", // Must match option name from fetch response - "amount": 300000 // Must match paymentDetails.amount - } + "bills": [{ + "amount": 500000, // ₹5000 total outstanding + "paymentOptions": [ + { "name": "Minimum Due", "amount": 50000 }, // ₹500 + { "name": "Previous Balance", "amount": 350000 }, // ₹3500 + { "name": "Custom Amount", "minAmount": 50000, "maxAmount": 1000000, "amountMultiple": 100 } ] - }, - "remitter": { - "name": "John Doe" - } + }] } `} -- When paying the base amount, omit `selectedPaymentOptions`. +**Loan EMI Payments**: Borrowers can pay single month, multiple months, or full outstanding +{` +{ + "bills": [{ + "amount": 1200000, // ₹12000 full outstanding + "paymentOptions": [ + { "name": "1 Month EMI", "amount": 300000 }, // ₹3000 + { "name": "3 Month EMI", "amount": 900000 }, // ₹9000 + { "name": "Foreclosure", "amount": 1150000 } // ₹11500 (with discount) + ] + }] +} +`} +**Insurance Premiums**: Policyholders can pay full premium, partial premium, or renewal with penalties {` { - "refId": "FETCH_REF_123", - "paymentDetails": { - "amount": 200000, // Base bill amount - "mode": "UPI", - "paymentRefId": "PAY_REF_789", - "timestamp": "2024-06-04T14:30:00+05:30", - "accountInfo": "user@ybl" - // No selectedPaymentOptions field when paying base amount - }, - "remitter": { - "name": "John Doe" - } + "bills": [{ + "amount": 2500000, // ₹25000 annual premium + "paymentOptions": [ + { "name": "Quarterly Premium", "amount": 650000 }, // ₹6500 + { "name": "Late Payment", "amount": 2750000 }, // ₹27500 (with penalty) + { "name": "Partial Payment", "minAmount": 500000, "maxAmount": 2500000, "amountMultiple": 10000 } + ] + }] } `} -## Time‑Based Options +### 3.2 Implementation Pattern -Some billers expose time‑based amounts such as `Early Payment Amount`, `Late Payment Amount` in the bill fetch response. These can be used to determine the default option to be selected. +Regardless of the business scenario, the implementation pattern remains consistent: -Signals to check in bill fetch response: - - `bills[].paymentOptions[].name` equals `Early Payment Amount` or `Late Payment Amount`. - - `bills[].dueDate` for past‑due checks. - - `bills[].additionalInfo[]` includes `{ name: "Early Payment Date", value: YYYY-MM-DD }`. +1. **Present all choices**: Show the base `amount` alongside every `paymentOptions` entry +2. **Handle selection**: When users pick the base amount, omit `selectedPaymentOptions`. When they pick an alternative, include exactly one item in `selectedPaymentOptions` +3. **Validate constraints**: Respect any `minAmount`, `maxAmount`, or `amountMultiple` rules on selected options -Bill amount selection rules: -- Precedence: `Late Payment Amount` > `Early Payment Amount` > Base bill amount. -- Show `Late Payment Amount` only if today > `dueDate` and a `Late Payment Amount` option exists. -- Show `Early Payment Amount` only if a `Early Payment Amount` option exists and today ≤ `Early Payment Date` from `additionalInfo`. -- Otherwise show the base bill amount and optionally show all choices. +When the user selects the base amount, you build a standard payment request. When they select an alternative option, you include that choice in your payment request using the `selectedPaymentOptions` field. -Edge cases: -- Both Early and Late present: if past due, Late; else if within Early window, Early; else Base. -- Missing `dueDate`: default Base. -- Missing or invalid `Early Payment Date`: default Base. -- Options present but none match Early/Late labels: default Base. +## 4. Smart Defaults: Automatic Early/Late Selection -All date comparisons are in IST. +Some billers offer time-based pricing—early payment discounts or late payment fees—that you can handle automatically. When you see options named `Early Payment Amount` or `Late Payment Amount` in your fetch response, you can use simple date logic to pick the most appropriate default for your users. -## Key Fields in Payment Options +The logic is straightforward: if the bill is past due and a late payment option exists, default to that. If the bill is within an early payment window and an early payment option exists, default to that. Otherwise, use the base amount. All date comparisons use IST timezone. -- `name`: Option identifier (must match exactly in the request when selected) -- `amount`: Amount to pay when this option is chosen -- `minAmount` / `maxAmount`: Allowed range when the option supports variable amounts -- `amountMultiple`: Required increment (if provided) +Here's the complete decision tree: +- **Late payment**: Use `Late Payment Amount` when today > `dueDate` and the option exists +- **Early payment**: Use `Early Payment Amount` when today ≤ `Early Payment Date` (from `additionalInfo`) and the option exists +- **Standard payment**: Use base `amount` in all other cases -## Validation Rules +**Edge cases** (all intentional fallbacks): +- Both Early and Late options present: if past due, pick Late; else if within early window, pick Early; else Base +- Missing `dueDate` or invalid `Early Payment Date`: fallback to Base +- Option names don't match exactly: fallback to Base -- When an option is selected, the amount must be within `minAmount`–`maxAmount` and respect `amountMultiple` if present. -- `paymentDetails.amount` must equal the chosen amount (base or selected option amount). -- Option `name` must match exactly one of the names in `paymentOptions`. +## 5. Building Your Payment Request +Regardless of whether users choose manually or you use smart defaults, you'll build one of two request types: -## Error Handling +### 5.1 Paying the Base Amount -**Common Validation Errors:** +When paying the standard bill amount, omit the `selectedPaymentOptions` field entirely: -1. **Invalid option name**: Selected option doesn't exist in fetch response -2. **Amount mismatch**: `paymentDetails.amount` ≠ `selectedPaymentOptions[0].amount` -3. **Out of range**: Amount outside option's `minAmount`/`maxAmount` -4. **Invalid multiple**: Amount not a multiple of `amountMultiple` +{` +{ + "refId": "FETCH_REF_123", + "paymentDetails": { + "amount": 200000, + "mode": "UPI", + "paymentRefId": "PAY_REF_789", + "timestamp": "2024-06-04T14:30:00+05:30", + "accountInfo": "user@ybl" + }, + "remitter": { "name": "John Doe" } +} +`} + +### 5.2 Paying an Alternative Option + +When paying any amount from `paymentOptions`, include exactly one item in `selectedPaymentOptions` with the exact `name` and `amount` from your fetch response: -**Example Error Responses:** {` { - "success": false, - "error": { - "code": "invalid-amount", - "message": "Amount 75000 is below minimum 100000 for option 'Partial Prepayment'" + "refId": "FETCH_REF_123", + "paymentDetails": { + "amount": 205000, + "mode": "UPI", + "paymentRefId": "PAY_REF_456", + "timestamp": "2024-06-04T14:30:00+05:30", + "accountInfo": "user@ybl", + "selectedPaymentOptions": [ + { "name": "Late Payment Amount", "amount": 205000 } + ] }, - "traceId": "C3SFG0O6N88R6UI7EQ" + "remitter": { "name": "John Doe" } } `} +**Key rule**: The `paymentDetails.amount` must always match either the base `bill.amount` or the selected option's `amount` exactly. + +## 6. Validation Rules and Common Issues + +Before sending your payment request, validate these requirements to avoid API rejections: -## Integration with CCF and Other Features +**Essential validations:** +- **Exclusive choice**: Either omit `selectedPaymentOptions` entirely (base amount) or include exactly one item (alternative option) +- **Exact name match**: The `name` in `selectedPaymentOptions` must match exactly one option from your fetch response +- **Amount consistency**: `paymentDetails.amount` must equal either the base `bill.amount` or the selected option's `amount` +- **Constraint compliance**: If the selected option specifies `minAmount`, `maxAmount`, or `amountMultiple`, your amount must satisfy those constraints; otherwise fall back to bill-level rules (like `exactness`) -**Customer Convenience Fee (CCF):** -- CCF calculation applies to the **final payment amount** (i.e. paymentDetails.amount) -- Recalculate CCF when user changes payment options -- CCF applies to `paymentDetails.amount`, not base bill amount +## 7. Customer Convenience Fee (CCF) Considerations + +If your biller charges CCF, compute it on the final payable amount (base or selected option amount) and include it only in `paymentDetails.custConvFee`. Never add CCF to the `paymentDetails.amount` field. + +📖 **Complete CCF implementation → Customer Convenience Fee Guide** + +## 8. Complete Example: Smart Default in Action + +Scenario: Today is 2024‑12‑31 10:00 IST. Your fetch returned a base amount of ₹2000, an Early Payment Amount of ₹1950, and a Late Payment Amount of ₹2050. The due date was 2024‑12‑30, so you automatically default to the Late Payment Amount: + +{` +{ + "refId": "FETCH_REF_123", + "paymentDetails": { + "amount": 205000, + "mode": "UPI", + "paymentRefId": "PAY_REF_999", + "timestamp": "2024-12-31T10:00:00+05:30", + "accountInfo": "user@ybl", + "selectedPaymentOptions": [ + { "name": "Late Payment Amount", "amount": 205000 } + ] + }, + "remitter": { "name": "John Doe" } +} +`} -## Quick Checklist +## 9. Implementation Checklist -- Detect `paymentOptions`; always present base `bill.amount` alongside options. -- Choose exactly one: base (omit `selectedPaymentOptions`) or one option (include one item; amounts match). -- Optional: Apply Early/Late defaulting as described -- Recompute CCF (if applicable) for the final amount (base or selected option). +- **Detect options**: Check for `paymentOptions` array in your fetch response +- **Present choices**: Show base amount alongside all available options with clear labels +- **Handle selection**: Support either user choice or smart defaults based on your UX needs +- **Build request**: Use the correct format—omit `selectedPaymentOptions` for base, include exactly one item for options +- **Validate locally**: Check name matching and amount consistency before sending +- **Calculate CCF**: Compute on final amount if applicable -## Reference Links +## 10. Reference Links -📖 **Related Guides:** -- Paying Bills Integration Guide — Master guide with Flow 1 implementation -- Paying for multiple bills — Multiple bills handling -- API Reference — Complete endpoint specifications -- Webhooks Integration — Real-time payment status updates +- **Master guide**: Flow 1 implementation details → Paying Bills +- **API specifications**: Complete endpoint documentation → API Reference +- **Real‑time updates**: Payment status webhooks → Webhooks Integration diff --git a/content/payments/billpay/api-integration/customer-convenience-fee.mdx b/content/payments/billpay/api-integration/customer-convenience-fee.mdx new file mode 100644 index 00000000..98f2a67e --- /dev/null +++ b/content/payments/billpay/api-integration/customer-convenience-fee.mdx @@ -0,0 +1,226 @@ +--- +sidebar_title: Customer Convenience Fee (CCF) +page_title: Customer Convenience Fee (CCF) Integration Guide +order: 7 +visible_in_sidebar: true +--- + +# Customer Convenience Fee (CCF) Integration Guide + +## 1. Some Billers Charge Customer Convenience Fee (CCF) + +Customer Convenience Fee (CCF) is an additional charge some billers impose on top of the bill amount—essentially a fee your users pay for the convenience of digital bill payment through BBPS. + +Here's what CCF looks like in biller metadata: + +{` +{ + "id": "SOME00000NATRR", + "name": "Some Bank NCMC Pune Metro", + "interchangeFee": [ + { + "feeCode": "CCF1", + "feeDesc": "Customer_Convenience_Fee", + "feeDirection": "C2B", + "interchangeFeeDetails": { + "effctvFrom": "2023-07-28", + "effctvTo": "", + "flatFee": 100, // ₹1.00 in paise + "percentFee": 0, // No percentage component + "tranAmtRangeMax": 999999999999, + "tranAmtRangeMin": 1 + } + } + ] +} +`} + +## 2. What CCF Means for Your Users + +When a biller charges CCF, your users pay more than just the bill amount. For example, if someone's metro card recharge is ₹500 and the CCF is ₹1, they'll be debited ₹501 total. Your application needs to clearly communicate this additional cost and handle it correctly in payment requests. + +**Key principle**: CCF is always separate from the bill amount in your payment request—never add it to `paymentDetails.amount`, always include it as `paymentDetails.custConvFee`. + +## 3. Most Billers Have Zero CCF + +Before diving into complex calculations, understand that most billers on the BBPS network charge zero CCF. Many billers will have CCF entries in their metadata with `flatFee: 0` and `percentFee: 0`, which means no additional charge. + +**Zero CCF examples:** +{` +{ + "feeCode": "CCF1", + "feeDirection": "C2B", + "interchangeFeeDetails": { + "flatFee": 0, // No flat fee + "percentFee": 0, // No percentage fee + "tranAmtRangeMax": 9999999999, + "tranAmtRangeMin": 1 + } +} +`} + +**When CCF is zero**, you can omit the `custConvFee` field entirely from your payment request. + +## 4. When CCF Actually Applies (Real Examples) + +Some categories of billers do charge meaningful CCF. Here are some examples from the BBPS network: +Note: The values are for illustration purposes only. + +### 4.1 National Pension System (₹0.50 CCF) +{` +{ + "id": "SOME00000NATC3", + "name": "National Pension System", + "interchangeFeeDetails": { + "flatFee": 50, // ₹0.50 in paise + "percentFee": 0, // No percentage component + "tranAmtRangeMax": 999999999999, + "tranAmtRangeMin": 1 + } +} +`} + +### 4.2 HDFC NCMC Pune Metro (₹1.00 CCF) +{` +{ + "id": "HDFC00000NATRR", + "name": "HDFC Bank NCMC Pune Metro", + "interchangeFeeDetails": { + "flatFee": 100, // ₹1.00 in paise + "percentFee": 0, // No percentage component + "tranAmtRangeMax": 999999999999, + "tranAmtRangeMin": 1 + } +} +`} + +### 4.3 Airtel Payments Bank NCMC (Zero CCF) +{` +{ + "id": "AIRT00000NATCL", + "name": "Airtel Payments Bank RuPay NCMC", + "interchangeFeeDetails": { + "flatFee": 0, // No CCF charged + "percentFee": 0, // No percentage component + "tranAmtRangeMax": 9999999999, + "tranAmtRangeMin": 1 + } +} +`} + +## 5. How to Calculate and Implement CCF + +### 5.1 Detection Logic + +First, identify billers that charge CCF by looking for specific entries in the `interchangeFee` array which have `feeCode: "CCF1"` and `feeDirection: "C2B"`. + +### 5.2 CCF Calculation Formula + +When CCF applies, use this formula to calculate the fee in paise: + +**Formula**: `ccf = (flatFee + (billAmount × percentFee/100)) × (1 + GST/100)` + +**Note**: Currently, GST is 18% on CCF in the BBPS network. + +### 5.3 Real Calculation Examples + +**Example 1: National Pension System (₹2000 contribution)** +- Bill amount: ₹2000 (200000 paise) +- CCF: flatFee = 50, percentFee = 0 +- Calculation: `(50 + (200000 × 0/100)) × (1 + 18/100) = 50 × 1.18 = 59 paise` +- Total debit: ₹2000.59 + +**Example 2: HDFC NCMC (₹500 recharge)** +- Bill amount: ₹500 (50000 paise) +- CCF: flatFee = 100, percentFee = 0 +- Calculation: `(100 + (50000 × 0/100)) × (1 + 18/100) = 100 × 1.18 = 118 paise` +- Total debit: ₹501.18 + +**Example 3: Zero CCF biller (₹1500 bill)** +- CCF: flatFee = 0, percentFee = 0 +- Calculation: CCF = 0 +- Total debit: ₹1500 (omit custConvFee field) + +## 6. Building Your Payment Request + +### 6.1 Payment Request with CCF + +When CCF applies, include it as a separate `custConvFee` field: + +{` +{ + "refId": "FETCH_REF_123", + "paymentDetails": { + "amount": 200000, // Bill amount: ₹2000 in paise + "custConvFee": 59, // CCF: ₹0.59 in paise (separate field) + "mode": "UPI", + "paymentRefId": "PAY_REF_456", + "timestamp": "2024-06-04T14:30:00+05:30", + "accountInfo": "user@ybl" + }, + "remitter": { "name": "John Doe" } +} +`} + +**Total debit from user**: `paymentDetails.amount + paymentDetails.custConvFee = 200059 paise (₹2000.59)` + +### 6.2 Payment Request without CCF + +When CCF is zero, omit the `custConvFee` field entirely: + +{` +{ + "refId": "FETCH_REF_123", + "paymentDetails": { + "amount": 150000, // Bill amount: ₹1500 in paise + // No custConvFee field when CCF is zero + "mode": "UPI", + "paymentRefId": "PAY_REF_789", + "timestamp": "2024-06-04T14:30:00+05:30", + "accountInfo": "user@ybl" + }, + "remitter": { "name": "John Doe" } +} +`} + +**Total debit from user**: `paymentDetails.amount = 150000 paise (₹1500)` + +## 7. Edge Cases and Important Rules + +### 7.1 What to Ignore + +**Ignore EBF and PBF fees**: Only handle `CCF1` with `C2B` direction. Electronic Biller Fee (EBF) and Physical Biller Fee (PBF) with `B2C` direction are not customer charges. + +### 7.2 Zero CCF Handling + +When calculated CCF is zero (or rounds to zero), you can omit the `custConvFee` field from your payment request. + +### 7.3 CCF with Payment Options + +When using payment options (alternative amounts), calculate CCF on the final selected amount (`paymentDetails.amount`), not the base bill amount. + +## 8. Complete Implementation Checklist + +- **Detect CCF**: Look for `CCF1` entries with `C2B` direction in biller metadata +- **Calculate properly**: Use the complete formula including 18% GST +- **Handle zero CCF**: Omit `custConvFee` field when CCF is zero or rounds to zero +- **Separate from bill amount**: Never add CCF to `paymentDetails.amount` +- **Calculate on final amount**: For payment options, use selected amount not base amount +- **Ignore irrelevant fees**: Skip EBF/PBF entries (they're biller fees, not customer fees) +- **Communicate clearly**: Show users the total debit amount (bill + CCF) upfront + +## 9. User Experience Considerations + +**Transparency**: Always show users the CCF amount separately before payment: +- "Bill Amount: ₹500.00" +- "Convenience Fee: ₹1.18" +- "**Total: ₹501.18**" + +## 10. Reference Links + +- **Master guide**: Bill payment flows → Paying Bills +- **Payment options**: CCF with alternative amounts → Bill Payment Options +- **API specifications**: Complete endpoint documentation → API Reference +- **List Billers API**: Biller metadata and fee structure → List Billers + + \ No newline at end of file diff --git a/content/payments/billpay/api-integration/deprecated.mdx b/content/payments/billpay/api-integration/deprecated.mdx index 48db5021..f3e589e4 100644 --- a/content/payments/billpay/api-integration/deprecated.mdx +++ b/content/payments/billpay/api-integration/deprecated.mdx @@ -1,7 +1,7 @@ --- sidebar_title: Deprecated APIs page_title: BBPS COU — API integration (deprecated) -order: 4 +order: 15 visible_in_sidebar: false --- diff --git a/content/payments/billpay/api-integration/multi-bill-processing.mdx b/content/payments/billpay/api-integration/multi-bill-processing.mdx index 5111b8d1..ab721736 100644 --- a/content/payments/billpay/api-integration/multi-bill-processing.mdx +++ b/content/payments/billpay/api-integration/multi-bill-processing.mdx @@ -7,23 +7,23 @@ visible_in_sidebar: true # Multi-Bill Processing Integration Guide -**This extends Flow 1 (Bill Fetch → Payment) from the master guide.** Only needed when billers return multiple bills in a single fetch (< 1% of billers). +**This extends Flow 1 (Bill Fetch → Payment) from the master guide.** Only needed when billers return multiple bills in a single fetch (< 1% of billers). 📖 **Start here first → Paying Bills Integration Guide** -## When You Need This Guide +## 1. When You Need This Guide **Most developers can skip this guide.** You only need multi-bill processing when your Flow 1 fetch response shows: ```json { - "billerResponseType": "LIST" // Instead of "SINGLE" + "billerResponseType": "LIST" } ``` **This indicates the biller can return multiple bills that require selection before payment.** -### Quick Detection Check +### 1.1 Quick Detection Check {` // Add to your existing Flow 1 fetch response handler @@ -41,8 +41,8 @@ if (fetchResponse.data.billerResponseType === "LIST") { { "data": { "refId": "FETCH_REF_123", - "billerResponseType": "LIST", // Multiple bills indicator - "billerSelectionType": "MULTIPLE", // Selection rules + "billerResponseType": "LIST", + "billerSelectionType": "MULTIPLE", "bills": [ { "billNumber": "BILL_001", "amount": 50000 }, { "billNumber": "BILL_002", "amount": 75000 } @@ -51,14 +51,14 @@ if (fetchResponse.data.billerResponseType === "LIST") { } `} -## Common Multi-Bill Scenarios +## 2. Common Multi-Bill Scenarios **When billers return multiple outstanding bills:** - **Corporate credit cards**: Multiple outstanding bills - **B2B invoices**: Multiple outstanding invoices requiring payment - **Government eChallans**: Bulk payment processing -## Selection Rules +## 3. Selection Rules **The `billerSelectionType` field determines how many bills users can select:** @@ -66,9 +66,9 @@ if (fetchResponse.data.billerResponseType === "LIST") { - **`"MULTIPLE"`** → Choose 1+ bills (e.g., select which invoices to pay) - **`"ALL"`** → Must pay all bills together (pay all bills at once) -## Implementation Guide +## 4. Implementation Guide -### Step 1: Build Selection UI +### 4.1 Step 1: Build Selection UI **Based on your detection, implement selection interface:** @@ -87,7 +87,7 @@ function renderBillSelection(fetchResponse) { } `} -### Step 2: Build Payment Request +### 4.2 Step 2: Build Payment Request **Multi-bill payment extends your existing Flow 1 payment with:** {` @@ -98,7 +98,7 @@ function renderBillSelection(fetchResponse) { { "billNumber": "EMP_003_TRAINING", "amount": 67000 } ], "paymentDetails": { - "amount": 112000, // Sum: 45000 + 67000 + "amount": 112000, "mode": "UPI", "paymentRefId": "MULTI_PAY_456", "timestamp": "2024-06-04T16:20:00+05:30", @@ -113,21 +113,21 @@ function renderBillSelection(fetchResponse) { - Set `paymentDetails.amount` to sum of selected bills - Each bill amount must match fetch response exactly -## Validation Requirements +## 5. Validation Requirements **Essential Checks:** 1. **Selection count**: Match `billerSelectionType` requirements (1 for SINGLE, 1+ for MULTIPLE, all for ALL) 2. **Amount consistency**: `paymentDetails.amount` must equal sum of selected bill amounts 3. **Bill matching**: All selected `billNumber` values must exist in fetch response -## Implementation Checklist +## 6. Implementation Checklist 1. **Add detection logic** to your existing Flow 1 fetch handler 2. **Build selection UI** based on `billerSelectionType` (radio/checkbox/all-selected) 3. **Validate in real-time** as users select/deselect bills 4. **Use same `refId`** from fetch response in payment request -## Reference Links +## 7. Reference Links 📖 **Related Guides:** - Paying Bills Integration Guide — Master guide with Flow 1 implementation @@ -135,4 +135,4 @@ function renderBillSelection(fetchResponse) { - API Reference — Complete endpoint specifications - Webhooks Integration — Real-time payment status updates - \ No newline at end of file + diff --git a/content/payments/billpay/api-integration/objects.mdx b/content/payments/billpay/api-integration/objects.mdx index d11ac794..064b176c 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: 4 +order: 14 visible_in_sidebar: true --- diff --git a/content/payments/billpay/api-integration/paying_bills.mdx b/content/payments/billpay/api-integration/paying_bills.mdx index 1dc4f2a8..ea7894c2 100644 --- a/content/payments/billpay/api-integration/paying_bills.mdx +++ b/content/payments/billpay/api-integration/paying_bills.mdx @@ -1,7 +1,7 @@ --- sidebar_title: Paying Bills page_title: BBPS Bill Payment Integration Guide -order: 5 +order: 4 visible_in_sidebar: true --- @@ -19,27 +19,28 @@ visible_in_sidebar: true For complete migration details → V2 Migration Guide -## Understanding Bill Payment Models +## 1. Understanding Bill Payment Models + +### 1.1 The Three Bill Payment Models BBPS network supports three different payment models. Each biller determines which model they support: **Flow 1: Bill Fetch → Payment** - Retrieve the current amount due for the bill, then allow the customer to pay the bill - Common with: Electricity, Gas, Credit cards, Loan repayments -- **[Jump to Flow 1 →](#flow-1-bill-fetch--payment)** +- **[Jump to Flow 1 →](#3-flow-1-bill-fetch--payment)** -**Flow 2: Bill Validation → Payment** +**Flow 2: Bill Validation → Payment** - Validate customer's account exists with the biller, then allow them to pay the bill - Common with: Broadband postpaid, Mobile postpaid, DTH/Cable TV, NCMC Recharge -- **[Jump to Flow 2 →](#flow-2-bill-validation--payment)** +- **[Jump to Flow 2 →](#4-flow-2-bill-validation--payment)** **Flow 3: Direct Payment** - Customer can pay any amount they want, without requiring prior bill fetch or validation - Common with: Donations -- **[Jump to Flow 3 →](#flow-3-direct-payment)** - +- **[Jump to Flow 3 →](#5-direct-bill-payments)** -### Determining Which Flow to Implement +### 1.2 Determining Which Models to Implement **Get biller metadata from the List Billers API** to determine which flow to implement: @@ -50,12 +51,10 @@ Check `biller.fetchApiType` field: - `BILL_DIRECT` → Implement the Direct Payment flow -## Basic Requirements +## 2. Requirements Common to All Flows Use this as a quick checklist and minimal request skeleton. These are the minimum requirements common across all flows. -For behavior and rules (amount exactness, CCF, idempotency), see Cross‑Flow Rules & Patterns below. - **Required Headers:** {` X-PARTNER-ID: {your-partner-id} @@ -64,7 +63,8 @@ Content-Type: application/json `} -**Basic Payment Structure:** +### 2.1 Basic Payment Structure + {` { "paymentDetails": { @@ -85,65 +85,41 @@ Content-Type: application/json `} -## Cross-Flow Rules & Patterns - - +### 2.2 Why You Need Remitter Details -### Amounts & Exactness +Every bill payment through BBPS needs to identify who's making the payment and how they're paying. This is required for regulatory traceability, dispute resolution, and compliance with NPCI guidelines. -- All amounts are in paise. +The "remitter" is the person actually making the payment, which might be different from the account holder. For example, when someone pays their parent's electricity bill or when a company pays employee reimbursements. You'll need to include the remitter's name in every payment request, along with details about their payment instrument. -### Remitter Details +Different payment methods require specific formatting—UPI needs a Virtual Payment Address, cards need numbers and authorization codes, bank transfers need IFSC and account numbers. The specialized guide covers all these NPCI-compatible formats and when to use each one. -- All bill payment requests require you to include remitter.name and paymentDetails.accountInfo for traceability. -- You can find NPCI-compatible formats and examples in the Remitter Details Guide +📖 **Complete NPCI formats and examples → Remitter Details Guide** -### Customer Convenience Fee (CCF) +### 2.3 When Billers Charge Additional Fees - +Some billers charge a Customer Convenience Fee (CCF) on top of the bill amount—an additional cost your users pay for the convenience of digital payment. You'll discover this when checking biller metadata from the List Billers API and finding CCF entries in the `interchangeFee` array. -- Detect: In List Billers, use biller.interchangeFee[] entries with feeCode = "CCF1" and feeDirection = "C2B". -- If absent: Omit paymentDetails.custConvFee. -- Compute in paise: ccf = (flatFee + (billAmount`*`percentFee/100))`*`(1 + GST/100). -- Send: Put only the final value in paymentDetails.custConvFee. Do not add CCF to paymentDetails.amount. -- Ignore: EBF/PBF (B2C) are not customer fees and must not be computed or sent by clients. -- Total to debit/refund: paymentDetails.amount + paymentDetails.custConvFee. +Most billers have zero CCF, but when it applies, you'll need to calculate the fee separately and include it in your payment request as `custConvFee`. The total amount debited from your user will be the bill amount plus the CCF. -### Idempotency and Retry Logic +📖 **Complete CCF implementation → Customer Convenience Fee Guide** -**Basic Idempotency:** -- Always generate unique paymentDetails.paymentRefId per debit attempt -- Reuse same key when retrying the same debit - -**Payment Retry Logic:** - -When a payment fails after funds are debited, you cannot retry with the same `refId`. Here's the correct retry flow: -1. Initiate a new bill fetch/validation request to get a fresh `refId` -2. Use the same `paymentRefId` (your debit identifier) in the new bill payment request within 24 hours of the original bill payment request. -This allows proper retry while maintaining payment traceability - -**Example retry sequence:** -``` -Original: Fetch → refId: ABC123 → Payment (paymentRefId: PAY456) → Fails -Retry: Fetch → refId: XYZ789 → Payment (paymentRefId: PAY456) → Success -``` - - - Important: Idempotency logic applies for 24 hours after the initial payment request. Plan your retry mechanism accordingly. - +--- +These universal requirements form the foundation of every bill payment request, regardless of which flow you implement. Now you're ready to choose your specific flow based on the biller's `fetchApiType`—each flow builds on these universal requirements while adding its own steps for fetching bills, validating accounts, or processing direct payments. -## Flow 1: Bill Fetch → Payment +## 3. The Bill Fetch → Payment Flow - + -Use when customers want to see their current amount due before paying. Majority of the billers on the network use this model. +This flow uses all the universal requirements from Section 2, plus the specific fetch-and-pay steps below. Use this when customers want to see their current amount due before paying—the majority of billers on the network use this model. **Implementation Steps:** 1. Fetch Bill Details → Initiate bill fetch and monitor status (poll response or accept webhook) 2. Initiate Payment → Initiate bill payment and monitor status (poll response or accept webhook) -### Step 1: Fetch Bill Details +### 3.1 Basic Fetch & Pay Requests + +**Step 1: Fetch Bill Details** **Bill Fetch Request:** {` @@ -187,7 +163,7 @@ Use when customers want to see their current amount due before paying. Majority } `} -### Step 2: Initiate Bill Payment for the fetched bill +**Step 2: Initiate Bill Payment for the fetched bill** Call `/api/v{1|2}/bbps/bills/payment/request` with: @@ -217,102 +193,28 @@ Call `/api/v{1|2}/bbps/bills/payment/request` with: - Validate that the paymentDetails.amount is a multiple of `amountMultiple` if present -### Paying for a specific option +### 3.2 When Bills Offer Multiple Payment Amounts -Some billers (eg: Loan repayments) offer multiple payment amounts for a single bill. +After your fetch completes, check if your response includes a `paymentOptions` array within the bill. When billers like loan providers or credit card companies offer flexible payment amounts—such as minimum due, partial payments, or advance payments—they'll expose these as additional choices alongside the base bill amount. -**Sample Bill Fetch Response with Payment Options:** -{` -{ - "data": { - "refId": "FETCH_REF_123", - "status": "Success", - "bills": [{ - "amount": 50000, - "customerName": "John Doe", - "paymentOptions": [ - { "name": "1 Month EMI", "amount": 15000 }, - { "name": "3 Month EMI", "amount": 45000 }, - { "name": "Full Payment", "amount": 50000 } - ] - }] - } -} -`} +If you see `paymentOptions` in your fetch response, you'll need to handle amount selection and pass the user's choice in your payment request. The complete implementation guide walks through option detection, user interface patterns, time-based defaults for Early/Late payments, and request formatting. -**When your bill fetch response includes `paymentOptions`:** -- Present these options alongside the base `bill.amount`. -- Include exactly one selected option in the payment request when paying a non‑base option; `paymentDetails.amount` must match the selected option’s `amount`. -- Omit `selectedPaymentOptions` when paying the base `bill.amount`. -- For optional time‑based defaults (Early/Late) and complete selection rules, see the specialized guide below. +📖 **Complete implementation → Paying for alternative options** -**Payment Request with Selected Option:** +### 3.3 When Billers Return Multiple Bills -Call `/api/v{1|2}/bbps/bills/payment/request` with: - -{` -{ - "refId": "{{BILL_FETCH_REF_ID}}", - "paymentDetails": { - "amount": {{SELECTED_OPTION_AMOUNT}}, - "mode": "{{DEBIT_PAYMENT_MODE}}", - "custConvFee": {{COMPUTED_CCF_IN_PAISE}}, // Total debit = amount + custConvFee - "paymentRefId": "{{DEBIT_ID}}", - "timestamp": "{{DEBIT_TIMESTAMP}}", - "accountInfo": "{{DEBIT_PAYMENT_INSTRUMENT_INFO}}", - "selectedPaymentOptions": [ - { - "name": "{{SELECTED_OPTION_NAME}}", - "amount": {{SELECTED_OPTION_AMOUNT}} - } - ] - }, - "remitter": { - "name": "{{PAYER_NAME}}" - } -} -`} +Most billers return a single bill per fetch, but occasionally you'll encounter billers—typically in B2B or government eChallan categories—that return multiple outstanding bills in one response. You'll recognize this scenario when your fetch response contains `billerResponseType: "LIST"` instead of the standard single-bill format. -📖 **Complete payment options implementation → Paying for alternative options** - -### Paying for multiple bills (Optional) - -**Note:** A small set of billers (< 1%) support returning multiple bills in a single bill fetch. These billers primarily belong to B2B/eChallan categories. - -**Most developers can skip this section.** Only needed for billers returning `billerResponseType: "LIST"`. - -**Enhanced Payment Request (when needed):** - -Call `/api/v{1|2}/bbps/bills/payment/request` with: - -{` -{ - "refId": "{{BILL_FETCH_REF_ID}}", - "bills": [ // Required: Subset of bills from the bill fetch response you want to pay for - { "billNumber": "B123", "amount": {{B123_AMOUNT_IN_PAISE}} }, - { "billNumber": "B124", "amount": {{B124_AMOUNT_IN_PAISE}} } - ], - "paymentDetails": { - "amount": {{SUM_OF_SELECTED_BILL_AMOUNTS_IN_PAISE}}, - "mode": "{{DEBIT_PAYMENT_MODE}}", - "paymentRefId": "{{DEBIT_ID}}", - "timestamp": "{{DEBIT_TIMESTAMP}}", - "accountInfo": "{{DEBIT_PAYMENT_INSTRUMENT_INFO}}" - }, - "remitter": { - "name": "{{PAYER_NAME}}" - } -} -`} +When this happens, you'll need to implement bill selection logic and modify your payment request to include the specific bills the user wants to pay. The specialized guide covers bill selection patterns, validation rules, and the enhanced request format needed for multi-bill payments. 📖 **Complete multi-bill implementation → Multi-Bill Processing Guide** -## Flow 2: Bill Validation → Payment +## 4. The Bill Validation → Payment Flow - + -Use when you need to validate account existence before payment. Common with services like broadband postpaid, mobile postpaid, DTH/Cable TV. +This flow also uses all the universal requirements from Section 2, plus validation-specific steps. Use this when you need to validate account existence before payment—common with services like broadband postpaid, mobile postpaid, and DTH/Cable TV. **Key Differences from the Bill Fetch → Payment model:** - Validates customer account exists with biller @@ -323,7 +225,7 @@ Use when you need to validate account existence before payment. Common with serv 1. Validate Account → Initiate bill validation and monitor status (poll response or accept webhook) 2. Initiate Payment → Initiate bill payment and monitor status (poll response or accept webhook) -### Basic Validation → Payment +### 4.1 Basic Validation → Payment **Most common use case for this model:** Validate account exists, then allow user to pay any amount. @@ -384,50 +286,21 @@ Call `/api/v{1|2}/bbps/bills/payment/request` with: } `} -### Paying for plans +### 4.2 When Services Require Plan Selection -Some billers require users to choose a plan before payment - like mobile recharge, DTH packages, or broadband subscriptions. +After your validation succeeds, some service providers—particularly mobile operators, DTH providers, and broadband companies—will require users to select a specific plan or package before payment. You'll encounter this when your validation response returns an empty `bills` array but includes plan information, or when you need to browse available plans for the service. -**Two user experience patterns you'll encounter:** +Different billers follow different patterns: some expose their full plan catalog upfront, while others return personalized plan options after account validation. Your implementation will need to handle plan selection, user choice, and include the selected plan details in your payment request. -**Pattern 1: Browse Plans First** -- Show users all available plans offered by the biller upfront (List Plans API) -- User selects plan → validate account/selected plan details → initiate bill payment +📖 **Complete plan selection implementation → Paying for plans** -**Pattern 2: Account-Specific Plans** -- User enters account details in bill validation request -- Biller returns plans available for this user in bill validation response -- User selects from personalized options → initiate bill payment with the selected plan +## 5. Direct Bill Payments -**Initiate Bill Payment with Selected Plan:** + -Call `/api/v{1|2}/bbps/bills/payment/request` with: +### 5.1 Basic Direct Payment -{` -{ - "refId": "{{VALIDATION_RESPONSE_REF_ID}}", - "paymentDetails": { - "amount": {{PLAN_AMOUNT_IN_PAISE}}, - "mode": "UPI", - "custConvFee": {{COMPUTED_CCF_IN_PAISE}}, // Include if biller charges CCF; Total debit = amount + custConvFee - "paymentRefId": "{{UNIQUE_ID}}", - "timestamp": "{{ISO_8601}}", - "accountInfo": "user@ybl", - "Id": "PLAN_123" // Plan ID from selection - }, - "remitter": { - "name": "{{PAYER_NAME}}" - } -} -`} - -📖 **Complete plan selection implementation guide → Paying for plans** - -## Flow 3: Direct Payment - - - -Use for ad-hoc payments where no prior bill fetch/bill validation is required and the user knows the exact amount. +This flow combines the universal requirements from Section 2 with customer information in a single request. Use for ad-hoc payments where no prior bill fetch or validation is required and the user knows the exact amount. **Prerequisites:** Only use when `biller.fetchApiType = "BILL_DIRECT"`. @@ -459,7 +332,7 @@ Call `/api/v{1|2}/bbps/bills/payment/request` with: "paymentDetails": { "amount": {{AMOUNT_IN_PAISE}}, "mode": "{{PAYMENT_MODE}}", - "custConvFee": {{COMPUTED_CCF_IN_PAISE}}, // Include if biller charges CCF; Total debit = amount + custConvFee + "custConvFee": {{COMPUTED_CCF_IN_PAISE}}, "paymentRefId": "{{UNIQUE_IDEMPOTENT_ID}}", "timestamp": "{{ISO_8601}}", "accountInfo": "{{NPCI_FORMAT}}" @@ -474,7 +347,7 @@ Call `/api/v{1|2}/bbps/bills/payment/request` with: **Implementation Note:** Strip empty `customer.customerParams` (v2 users) or `customer.billParameters` (v1 users) before calling APIs. -## Payment Response Handling +## 6. Monitoring Bill Payment Status After initiating a payment across any flow, you'll receive responses that require specific handling: @@ -484,14 +357,14 @@ After initiating a payment across any flow, you'll receive responses that requir - `Failure` → Payment failed, check `failureReason`, follow retry logic above if needed **Polling Guidelines:** -- Poll every 3-5 seconds for up to 2 minutes for standard billers -- For billers with `supportsPendingStatus: true`, poll up to 48 hours -- Always store `transactionId` from successful payments for disputes/reconciliation +- Poll every 3-5 seconds for up to 180 seconds for standard billers +- You can stop polling if the payment is in `Success` or `Failure` state +- Always save `transactionId` from successful payments for disputes/reconciliation -📖 **Complete response format → Objects Reference** +📖 **Poll Payment Response API → Bill Payment Response API** 📖 **Webhook alternative → Bill Payment Webhook** -## Reference Links +## 7. Reference Links 📖 **Essential References:** - Complete API Documentation — Full endpoint specifications diff --git a/content/payments/billpay/api-integration/plan-mdm-integration.mdx b/content/payments/billpay/api-integration/plan-mdm-integration.mdx index 91b981c9..de743d6d 100644 --- a/content/payments/billpay/api-integration/plan-mdm-integration.mdx +++ b/content/payments/billpay/api-integration/plan-mdm-integration.mdx @@ -6,42 +6,42 @@ visible_in_sidebar: true --- # When Users Need to Select Plans -## Overview +## 1. Overview Some services require your users to choose a plan before payment - like mobile recharge plans, DTH packages, or broadband subscriptions. This guide shows you how to handle these plan selection flows in your app. -📖 **This extends Flow 2: Bill Validation → Payment from the master guide** +📖 **This extends Flow 2: Bill Validation → Payment from the master guide** **What this means for your users:** - Instead of paying a bill amount, they choose from available plans - Plans have fixed prices and specific benefits (data, validity, channels, etc.) - Payment happens after plan selection -### Common Services That Need Plans +### 1.1 Common Services That Need Plans - **Mobile Prepaid Recharge** - Data plans, talk time, combo offers - **DTH/Cable TV** - Channel packages, validity periods - **Broadband Services** - Speed upgrades, data top-ups - **OTT Subscriptions** - Monthly, annual, family plans -### What You'll Build +### 1.2 What You'll Build - Plan selection screens for your users - Integration with plan APIs - Validation and payment flows with selected plans
    -## Two User Experience Patterns +## 2. Two User Experience Patterns Your users will encounter one of two plan selection patterns, depending on the service: -### Pattern 1: Choose From Full Catalog +### 2.1 Pattern 1: Choose From Full Catalog **User Flow:** Browse plans → Select plan → Enter account details → Pay **What users see:** Complete list of available plans upfront (like mobile recharge plans) **Examples:** BSNL/MTNL mobile recharge, DTH packages, OTT subscriptions -### Pattern 2: Get Personalized Options +### 2.2 Pattern 2: Get Personalized Options **User Flow:** Enter account details → See custom plans → Select plan → Pay **What users see:** Plans tailored to their account (like broadband upgrade options) @@ -51,9 +51,9 @@ Your users will encounter one of two plan selection patterns, depending on the s
    -## Implementation Guide +## 3. Implementation Guide -### Pattern 1: Choose From Full Catalog +### 3.1 Pattern 1: Choose From Full Catalog **User Experience:** Show all available plans immediately, let user choose, then collect account details. @@ -65,7 +65,7 @@ Your users will encounter one of two plan selection patterns, depending on the s > **💡 Key Point:** You must include the selected plan ID when validating the account to ensure the plan is still available. -### Pattern 2: Get Personalized Options +### 3.2 Pattern 2: Get Personalized Options **User Experience:** Collect account details first, then show plans customized for that account. @@ -79,14 +79,14 @@ Your users will encounter one of two plan selection patterns, depending on the s > **💡 Key Point:** Plans are revealed only after account validation, so you can't show them upfront. -### Quick Reference: Which Pattern to Use +### 3.3 Quick Reference: Which Pattern to Use | Pattern | When Plans Are Shown | User Flow | Common Examples | |---------|---------------------|-----------|----------------| | **Pattern 1** | Immediately available | Browse plans → Select → Enter details → Pay | Mobile recharge, DTH packages | | **Pattern 2** | After account validation | Enter details → See custom plans → Select → Pay | Broadband upgrades, account-specific offers | -### How to Detect Which Pattern to Implement +### 3.4 How to Detect Which Pattern to Implement Check the biller metadata from List Billers API to determine the pattern: @@ -105,23 +105,18 @@ Check the biller metadata from Bill Validation flow +Other billers require no plan selection. + +→ Use standard Bill Validation flow
    -## Pattern 1: Full Catalog Selection +## 4. Pattern 1: Full Catalog Selection **What this means:** All available plans can be fetched upfront and shown to users immediately. -### Examples of This Pattern +### 4.1 Examples of This Pattern | Service | What User Enters | What User Selects From | |---------|------------------|------------------------| @@ -129,9 +124,9 @@ Check the biller metadata from (See API Reference). @@ -212,7 +207,7 @@ Retrieve all available plans for specific billers using the dedicated endpoint <
    -#### Pagination Support +#### 4.2.2 Pagination Support For billers with large plan catalogs, the API supports efficient pagination: @@ -242,7 +237,7 @@ For a biller with 3,700 plans using `limit=1000`: | `GET …&after=PLAN_2000` | 1000 plans | `after=PLAN_3000&limit=1000` | | `GET …&after=PLAN_3000` | 700 plans | `null` (complete) | -#### Plan Structure +#### 4.2.3 Plan Structure Each plan object contains both mandatory and optional fields: @@ -269,7 +264,7 @@ interface Plan { `} -#### Plan Update Webhooks +#### 4.2.4 Plan Update Webhooks Receive real-time notifications when biller plans are modified (See Webhook Reference): @@ -304,12 +299,12 @@ Receive real-time notifications when biller plans are modified {` { - "agent": { - // Agent details unchanged - }, + "agent": {}, "customer": { "mobile": "8484943411", "customerParams": [ @@ -397,7 +390,7 @@ POST /api/v2/bbps/bills/fetch/request
    -#### Check Validation Status +#### 4.4.1 Check Validation Status **Request:** `POST /api/v2/bbps/bills/fetch/response` @@ -446,7 +439,7 @@ POST /api/v2/bbps/bills/fetch/request
    -#### Validation Webhook +#### 4.4.2 Validation Webhook
    @@ -473,7 +466,7 @@ POST /api/v2/bbps/bills/fetch/request
    -### Step 4: Process Payment +### 4.5 Step 4: Process Payment Process payment for validated plans using the reference ID from validation. @@ -526,7 +519,7 @@ Process payment for validated plans using the reference ID from validation.
    -#### Check Payment Status +#### 4.5.1 Check Payment Status **Request:** `POST /api/v2/bbps/bills/payment/response` @@ -579,7 +572,7 @@ Process payment for validated plans using the reference ID from validation.
    -#### Payment Webhook +#### 4.5.2 Payment Webhook
    @@ -598,7 +591,7 @@ Process payment for validated plans using the reference ID from validation. "paymentDetails": { "amount": 2200, "mode": "UPI", - "paymentRefId": "2727513156LjQBKlR", + "paymentRefId": "2727513156LjQBKlR", "timestamp": "2024-11-26T03:34:50.784Z" }, "refId": "CT2K3MHK2D2FSSSIAU30AqF86fl43310904", @@ -614,18 +607,18 @@ Process payment for validated plans using the reference ID from validation.
    -## Pattern 2: Personalized Options +## 5. Pattern 2: Personalized Options **What this means:** Plans are customized based on the user's account and only shown after account validation. -### Examples of This Pattern +### 5.1 Examples of This Pattern | Service | What User Enters | What User Gets | |---------|------------------|----------------| | **You Broadband** | Username/Account Number | Plans available for their connection | | **Airtel Wi-Fi** | Broadband ID/Landline | Recharge options for their specific plan | -### Step 1: Validate Account (Without Plan Selection) +### 5.2 Step 1: Validate Account (Without Plan Selection) Validate customer account without requiring plan selection upfront. @@ -641,9 +634,7 @@ Validate customer account without requiring plan selection upfront. {` { - "agent": { - // Agent details unchanged - }, + "agent": {}, "customer": { "mobile": "8484943411", "customerParams": [ @@ -685,7 +676,7 @@ Validate customer account without requiring plan selection upfront.
    -### Step 2: Get Personalized Plans from Validation Response +### 5.3 Step 2: Get Personalized Plans from Validation Response **Request:** `POST /api/v2/bbps/bills/fetch/response` @@ -759,7 +750,7 @@ Validate customer account without requiring plan selection upfront.
    -#### Validation Webhook with Plans +#### 5.3.1 Validation Webhook with Plans
    @@ -774,7 +765,7 @@ Validate customer account without requiring plan selection upfront. "timeStamp": "2024-11-26T08:06:44.060+05:30", "data": { "additionalInfo": [], - "billerRefId": "836480286", + "billerRefId": "836480286", "exactness": "Any", "refId": "CT2J8EPK2D2FSSRG91EGNXTEK4U43310806", "status": "Success", @@ -811,7 +802,7 @@ Validate customer account without requiring plan selection upfront.
    -### Step 3: Process Payment with Selected Plan +### 5.4 Step 3: Process Payment with Selected Plan Process payment including the selected plan ID in payment details. @@ -865,7 +856,7 @@ Process payment including the selected plan ID in payment details.
    -#### Check Payment Status +#### 5.4.1 Check Payment Status **Request:** `POST /api/v2/bbps/bills/payment/response` @@ -920,7 +911,7 @@ Process payment including the selected plan ID in payment details.
    -#### Payment Webhook with Plan ID +#### 5.4.2 Payment Webhook with Plan ID It is similar to this
    webhook but with added plan details: diff --git a/content/payments/billpay/api-integration/remittance_flows_guide.mdx b/content/payments/billpay/api-integration/remittance_flows_guide.mdx index 6504780d..d5b07e6f 100644 --- a/content/payments/billpay/api-integration/remittance_flows_guide.mdx +++ b/content/payments/billpay/api-integration/remittance_flows_guide.mdx @@ -1,28 +1,28 @@ --- sidebar_title: Passing Remitter Details page_title: Passing Remitter Details -order: 6 +order: 5 visible_in_sidebar: true --- # Remitter & Account Info -## Overview +## 1. You're Here Because You Need NPCI-Compatible Formatting -This guide is a concise format reference for remitter details and NPCI-compatible account information used in bill payments. Use it alongside the master integration guide. +Bill payments require remitter details and payment instrument information, and you will need to format them correctly for different payment methods. This guide provides the exact formatting specifications NPCI requires for each payment mode, plus validation rules to ensure your requests are accepted. -📖 **For complete payment integration context and examples → Paying Bills Integration Guide** +The key principle: each payment method has its own format requirements, from simple UPI addresses to complex card authorization codes, and getting these wrong will cause payment failures. -## Fields Reference +## 2. Fields Reference | Property | Type | Constraints | Purpose | Notes | |-------|------|-------------|---------|-------| | `paymentDetails.accountInfo` | String | Format varies by payment mode | NPCI-compatible instrument info for the debit instrument | Required in payment requests | | `remitter` | Object | - | Captures information about the person making the payment | May differ from account holder | -#### Remitter Object Properties +### 2.1 Remitter Object Properties | Property | Type | Constraints | Purpose | Notes | |----------|------|-------------|---------|-------| @@ -35,12 +35,12 @@ This guide is a concise format reference for remitter details and NPCI-compatibl -## Usage Across Flows +## 3. Usage Across Flows - Fetch/Validation requests: remitter is optional. - Payment requests (Flow 1–3): remitter.name and paymentDetails.accountInfo are required. -### Sample Payment Request +### 3.1 Sample Payment Request {` { @@ -60,9 +60,9 @@ This guide is a concise format reference for remitter details and NPCI-compatibl `} -## NPCI Specifications +## 4. NPCI Specifications -### Account Information Format by Payment Mode +### 4.1 Account Information Format by Payment Mode | Payment Mode | Value Example | Length Constraints | NPCI Code | Description | |--------------|---------------|-------------------|-----------|-------------| @@ -74,7 +74,7 @@ This guide is a concise format reference for remitter details and NPCI-compatibl | **AEPS, BHIM Aadhaar Pay** | 123456789012\|1234567 | Min: 3, Max: 50 | Aadhaar\|IIN | Aadhaar number and IIN used for payment | | **Cash, USSD** | `` | Min: 1, Max: 50 | Remarks | Remarks when payment mode is cash | -### Code Format Examples +### 4.2 Code Format Examples The following table provides detailed formatting specifications for different NPCI codes: @@ -88,13 +88,13 @@ The following table provides detailed formatting specifications for different NP | **VPA** | Alphanumeric Special
    Min Length: 3, Max Length: 50 | `manoj@icici` | | **Aadhaar\|IIN** | Alphanumeric with characters on either side of '\|' separator
    Min Length: 3, Max Length: 50 | 123456789012\|1234567 | -### Field Handling Rules +### 4.3 Field Handling Rules -#### Mandatory Behavior +#### 4.3.1 Mandatory Behavior - In payment requests across Flow 1–3, `remitter.name` and `paymentDetails.accountInfo` are required - The `paymentDetails.accountInfo` field must contain NPCI-compatible values corresponding to the selected payment mode -#### Optional Field Handling +#### 4.3.2 Optional Field Handling - `remitter.email`, `remitter.pan`, and `remitter.aadhaar` are optional and can be omitted if not available - Including `remitter` in bill fetch/validation requests is optional - System automatically handles fallback scenarios for missing optional data From 02ee9769b14d8b386d2a36d9552d2cf8c2d16ff3 Mon Sep 17 00:00:00 2001 From: tanmay Date: Tue, 16 Sep 2025 15:03:34 +0530 Subject: [PATCH 10/10] remove extra space --- content/payments/billpay/api-integration/paying_bills.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/payments/billpay/api-integration/paying_bills.mdx b/content/payments/billpay/api-integration/paying_bills.mdx index ea7894c2..51881343 100644 --- a/content/payments/billpay/api-integration/paying_bills.mdx +++ b/content/payments/billpay/api-integration/paying_bills.mdx @@ -103,8 +103,6 @@ Most billers have zero CCF, but when it applies, you'll need to calculate the fe 📖 **Complete CCF implementation → Customer Convenience Fee Guide** ---- - These universal requirements form the foundation of every bill payment request, regardless of which flow you implement. Now you're ready to choose your specific flow based on the biller's `fetchApiType`—each flow builds on these universal requirements while adding its own steps for fetching bills, validating accounts, or processing direct payments. ## 3. The Bill Fetch → Payment Flow