Bug: Sync Open API specifications with latest additions



The Open API specification needs to be updated to sync with:

- [x] newly implemented APIs such as `/session` and `/verify`
- [x] the addition/ changes in parameters of existing APIs shall also be modified in the specifications
- [x] payment `status` fields, description and significance
- [x] documentation of all possible API errors, explanation and significance
- [x] documentation of all webhook events with explanation
- [x] include the health check endpoint (`/health`) in the spec


diff --git a/openapi/open_api_spec.yaml b/openapi/open_api_spec.yaml
index dc995b199d0..6728a7244e8 100644
--- a/openapi/open_api_spec.yaml
+++ b/openapi/open_api_spec.yaml
@@ -1,4610 +1,4603 @@
 openapi: "3.0.1"
 info:
-    version: "0.2"
-    title: Juspay Router - API Documentation
-    x-logo:
-        url: "https://fresheropenings.com/wp-content/uploads/2019/09/Juspay-off-campus-drive-2019.png"
-        altText: "Juspay logo"
-    contact:
-        name: Juspay Support
-        url: "https://juspay.io"
-        email: support@juspay.in
-    termsOfService: "https://www.juspay.io/terms"
-    description: >
-        ## Get started
+  version: "0.2"
+  title: Juspay Router - API Documentation
+  x-logo:
+    url: "https://fresheropenings.com/wp-content/uploads/2019/09/Juspay-off-campus-drive-2019.png"
+    altText: "Juspay logo"
+  contact:
+    name: Juspay Support
+    url: "https://juspay.io"
+    email: support@juspay.in
+  termsOfService: "https://www.juspay.io/terms"
+  description: >
+    ## Get started
 
-        Juspay Router provides a collection of APIs that enable you to process and manage payments. Our APIs accept and return JSON in the HTTP body, and return standard HTTP response codes</a>.
+    Juspay Router provides a collection of APIs that enable you to process and manage payments. Our APIs accept and return JSON in the HTTP body, and return standard HTTP response codes</a>.
 
-        You can consume the APIs directly using your favorite HTTP/REST library.
+    You can consume the APIs directly using your favorite HTTP/REST library.
 
-        We have a testing environment referred to "sandbox", which you can setup to test API calls without affecting production data.
+    We have a testing environment referred to "sandbox", which you can setup to test API calls without affecting production data.
 
-        ### Base URLs
+    ### Base URLs
 
-        Use the following base URLs when making requests to the APIs:
+    Use the following base URLs when making requests to the APIs:
 
-          | Environment   |      Base URL                                        |
-          |---------------|------------------------------------------------------|
-          | Sandbox       |  https://sandbox-router.juspay.io                    |
-          | Production    |  https://router.juspay.io                            |
+      | Environment   |      Base URL                                        |
+      |---------------|------------------------------------------------------|
+      | Sandbox       | <https://sandbox-router.juspay.io>                   |
+      | Production    | <https://router.juspay.io>                           |
 
-        # Authentication
+    # Authentication
 
-        When you sign up for an account, you are given a secret key (also referred as api-key). You may authenticate all API requests with Juspay server by providing the appropriate key in the request Authorization header.
+    When you sign up for an account, you are given a secret key (also referred as api-key). You may authenticate all API requests with Juspay server by providing the appropriate key in the request Authorization header.
 
-        Never share your secret api keys. Keep them guarded and secure.
+    Never share your secret api keys. Keep them guarded and secure.
 
 servers:
-    - url: https://sandbox-router.juspay.io
-      description: Sandbox Environment
-    - url: https://router.juspay.io
-      description: Production Environment
+  - url: https://sandbox-router.juspay.io
+    description: Sandbox Environment
+  - url: https://router.juspay.io
+    description: Production Environment
 tags:
-    - name: Payments
-      description: Process and manage payments across wide range of payment processors using the Unified Payments API.
-    - name: Customers
-      description: Create a Customer entity which you can use to store and retrieve specific customers' data and payment methods.
+  - name: Payments
+    description: Process and manage payments across wide range of payment processors using the Unified Payments API.
+  - name: Customers
+    description: Create a Customer entity which you can use to store and retrieve specific customers' data and payment methods.
 x-tagGroups:
-    - name: Payments
-      tags:
-          - Payments
-    - name: Customers
-      tags:
-          - Customers
-    - name: Payment Methods
-      tags:
-          - PaymentMethods
-    - name: Refunds
-      tags:
-          - Refunds
-    - name: Mandates
-      tags:
-          - Mandates
-    - name: Merchant Accounts
-      tags:
-          - MerchantAccounts
-    - name: Payment Connectors
-      tags:
-          - PaymentConnectors
+  - name: Payments
+    tags:
+      - Payments
+  - name: Customers
+    tags:
+      - Customers
+  - name: Payment Methods
+    tags:
+      - PaymentMethods
+  - name: Refunds
+    tags:
+      - Refunds
+  - name: Mandates
+    tags:
+      - Mandates
+  - name: Merchant Accounts
+    tags:
+      - MerchantAccounts
+  - name: Payment Connectors
+    tags:
+      - PaymentConnectors
 
 security:
-    - ApiSecretKey: []
+  - ApiSecretKey: []
 
 paths:
-    /customers:
-        post:
-            tags:
-                - Customers
-            summary: Create Customer
-            operationId: createCustomer
-            description: Create a customer object and store the customer details to be reused for future payments. Incase the customer already exists in the system, this API will respond with the customer details.
-            requestBody:
-                required: true
-                content:
-                    application/json:
-                        schema:
-                            $ref: "#/components/schemas/CustomerCreateRequest"
-                        example:
-                            customer_id: "cus_udst2tfldj6upmye2reztkmm4i"
-                            email: "guest@example.com"
-                            name: "John Doe"
-                            phone: "999999999"
-                            phone_country_code: "+65"
-                            description: "First customer"
-                            address:
-                                city: "Bangalore"
-                                country: "IN"
-                                line1: "Juspay router"
-                                line2: "Koramangala"
-                                line3: "Stallion"
-                                state: "Karnataka"
-                                zip: "560095"
-                                first_name: "John"
-                                last_name: "Doe"
-                            metadata:
-                                udf1: "value1"
-                                new_customer: "true"
-                                login_date: "2019-09-10T10:11:12Z"
-            responses:
-                "200":
-                    description: Customer created successfully
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/CustomerCreateResponse"
-                            example:
-                                customer_id: "cus_udst2tfldj6upmye2reztkmm4i"
-                                email: "guest@example.com"
-                                name: "John Doe"
-                                phone: "999999999"
-                                phone_country_code: "+65"
-                                description: "First customer"
-                                address:
-                                    city: "Bangalore"
-                                    country: "IN"
-                                    line1: "Juspay router"
-                                    line2: "Koramangala"
-                                    line3: "Stallion"
-                                    state: "Karnataka"
-                                    zip: "560095"
-                                    first_name: "John"
-                                    last_name: "Doe"
-                                metadata:
-                                    udf1: "value1"
-                                    new_customer: "true"
-                                    login_date: "2019-09-10T10:11:12Z"
-                "401":
-                    description: Bad request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-
-    /customers/{id}:
-        get:
-            parameters:
-                - in: path
-                  name: id
-                  schema:
-                      type: string
-                  required: true
-                  description: unique customer id
-            tags:
-                - Customers
-            summary: Retrieve Customer
-            operationId: retrieveCustomer
-            description: Retrieve a customer's details.
-            responses:
-                "200":
-                    description: Customer retrieved successfully
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/CustomerCreateResponse"
-                            example:
-                                customer_id: "cus_udst2tfldj6upmye2reztkmm4i"
-                                email: "guest@example.com"
-                                name: "John Doe"
-                                phone: "999999999"
-                                phone_country_code: "+65"
-                                description: "First customer"
-                                address:
-                                    city: "Bangalore"
-                                    country: "IN"
-                                    line1: "Juspay router"
-                                    line2: "Koramangala"
-                                    line3: "Stallion"
-                                    state: "Karnataka"
-                                    zip: "560095"
-                                    first_name: "John"
-                                    last_name: "Doe"
-                                metadata:
-                                    udf1: "value1"
-                                    new_customer: "true"
-                                    login_date: "2019-09-10T10:11:12Z"
-                "404":
-                    description: Customer does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "customer_not_found"
-                                    message: "Customer does not exist in records"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-        post:
-            parameters:
-                - in: path
-                  name: id
-                  schema:
-                      type: string
-                  required: true
-                  description: unique customer id
-            tags:
-                - Customers
-            summary: Update Customer
-            operationId: updateCustomer
-            description: Updates the customer's details in a customer object.
-            requestBody:
-                required: true
-                content:
-                    application/json:
-                        schema:
-                            $ref: "#/components/schemas/CustomerUpdateRequest"
-            responses:
-                "200":
-                    description: Customer created successfully
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/CustomerCreateResponse"
-                "404":
-                    description: Customer does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "customer_not_found"
-                                    message: "Customer does not exist in records"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-        delete:
-            parameters:
-                - in: path
-                  name: id
-                  schema:
-                      type: string
-                  required: true
-                  description: unique customer id
-            tags:
-                - Customers
-            summary: Delete Customer
-            operationId: deleteCustomer
-            description: Delete a customer record.
-            responses:
-                "200":
-                    description: Customer deleted successfully
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/CustomerDeleteResponse"
-                "404":
-                    description: Customer does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "customer_not_found"
-                                    message: "Customer does not exist in records"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-    /payments:
-        post:
-            tags:
-                - Payments
-            summary: Payments - Create
-            operationId: createPayment
-            description: "To process a payment you will have to create a payment, attach a payment method and confirm. Depending on the user journey you wish to achieve, you may opt to all the steps in a single request or in a sequence of API request using following APIs: (i) Payments - Update, (ii) Payments - Confirm, and (iii) Payments - Capture"
-            requestBody:
-                content:
-                    application/json:
-                        schema:
-                            oneOf:
-                                - $ref: "#/components/schemas/PaymentsCreateRequest"
-            responses:  
-                "200":
-                    description: Payment created
-                    content:
-                        application/json:
-                            schema:
-                                oneOf:
-                                    - $ref: "#/components/schemas/PaymentsCreateResponse"
-                "400":
-                    description: Missing Mandatory fields
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "parameter_missing"
-                                    message: "Missing required param: <parameter_name>"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-    
-    /payments/{id}:
-        post:
-            parameters:
-                - in: path
-                  name: id
-                  schema:
-                      type: string
-                  required: true
-                  description: unique payment id
-            tags:
-                - Payments
-            summary: Payments - Update
-            operationId: updatePayment
-            description: "To update the properties of a PaymentIntent object. This may include attaching a payment method, or attaching customer object or metadata fields after the Payment is created "
-            requestBody:
-                content:
-                    application/json:
-                        schema:
-                            $ref: "#/components/schemas/PaymentsUpdateRequest"
-                        example:
-                            amount: 6540
-                            currency: "USD"
-                            capture_method: "automatic"
-                            capture_on: "2022-09-10T10:11:12Z"
-                            amount_to_capture: 6540
-                            amount_capturable: 6540
-                            customer_id: "cus_udst2tfldj6upmye2reztkmm4i"
-                            email: "guest@example.com"
-                            name: "John Doe"
-                            phone: "999999999"
-                            phone_country_code: "+65"
-                            description: "Its my first payment request"
-                            setup_future_usage: "optional"
-                            authentication_type: "no_three_ds"
-                            payment_method: "card"
-                            save_payment_method: true
-                            payment_method_data:
-                                card:
-                                    card_number: "4242424242424242"
-                                    card_exp_month: "10"
-                                    card_exp_year: "35"
-                                    card_holder_name: "John Doe"
-                                    card_cvc: "123"
-                            statement_descriptor_name: "Juspay"
-                            statement_descriptor_suffix: "Router"
-                            shipping:
-                                city: "Bangalore"
-                                country: "IN"
-                                line1: "Juspay router"
-                                line2: "Koramangala"
-                                line3: "Stallion"
-                                state: "Karnataka"
-                                zip: "560095"
-                                first_name: "John"
-                                last_name: "Doe"
-                            billing:
-                                city: "Bangalore"
-                                country: "IN"
-                                line1: "Juspay router"
-                                line2: "Koramangala"
-                                line3: "Stallion"
-                                state: "Karnataka"
-                                zip: "560095"
-                                first_name: "John"
-                                last_name: "Doe"
-                            metadata:
-                                udf1: "value1"
-                                new_customer: "true"
-                                login_date: "2019-09-10T10:11:12Z"
-            responses:
-                "200":
-                    description: Payment updated
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/PaymentsCreateResponse"
-                            example:
-                                payment_id: "pay_mbabizu24mvu3mela5njyhpit4"
-                                amount: 6540
-                                currency: "USD"
-                                status: "requires_customer_action"
-                                merchant_id: "jarnura"
-                                capture_method: "automatic"
-                                capture_on: "2022-09-10T10:11:12Z"
-                                amount_to_capture: 6540
-                                amount_capturable: 6540
-                                amount_recieved: 0
-                                customer_id: "cus_udst2tfldj6upmye2reztkmm4i"
-                                email: "guest@example.com"
-                                name: "John Doe"
-                                phone: "999999999"
-                                phone_country_code: "+65"
-                                description: "Its my first payment request"
-                                return_url: "http://example.com/payments"
-                                setup_future_usage: "optional"
-                                authentication_type: "no_three_ds"
-                                shipping:
-                                    city: "Bangalore"
-                                    country: "IN"
-                                    line1: "Juspay router"
-                                    line2: "Koramangala"
-                                    line3: "Stallion"
-                                    state: "Karnataka"
-                                    zip: "560095"
-                                    first_name: "John"
-                                    last_name: "Doe"
-                                billing:
-                                    city: "Bangalore"
-                                    country: "IN"
-                                    line1: "Juspay router"
-                                    line2: "Koramangala"
-                                    line3: "Stallion"
-                                    state: "Karnataka"
-                                    zip: "560095"
-                                    first_name: "John"
-                                    last_name: "Doe"
-                                next_action:
-                                    type: "redirect_to_url"
-                                    redirect_to_url: "https://pg-redirect-page.com"
-                                metadata:
-                                    udf1: "value1"
-                                    new_customer: "true"
-                                    login_date: "2019-09-10T10:11:12Z"
-                "404":
-                    description: Payment does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "payment_not_found"
-                                    message: "Payment does not exist in records"
-                "400":
-                    description: Invalid data
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_data"
-                                    message: "Amount shall be passed as: <expected_data_type>"
-                
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-        get:
-            parameters:
-                - in: path
-                  name: id
-                  schema:
-                      type: string
-                  required: true
-                  description: unique payment id
-            tags:
-                - Payments
-            summary: Payments - Retrieve
-            operationId: retrievePayment
-            description: "To retrieve the properties of a Payment. This may be used to get the status of a previously initiated payment or next action for an ongoing payment"
-            responses:
-                "200":
-                    description: Payment retrieved successfully
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/PaymentsCreateResponse"
-                            example:
-                                payment_id: "pay_mbabizu24mvu3mela5njyhpit4"
-                                amount: 6540
-                                currency: "USD"
-                                status: "requires_customer_action"
-                                merchant_id: "jarnura"
-                                capture_method: "automatic"
-                                capture_on: "2022-09-10T10:11:12Z"
-                                amount_to_capture: 6540
-                                amount_capturable: 6540
-                                customer_id: "cus_udst2tfldj6upmye2reztkmm4i"
-                                email: "guest@example.com"
-                                name: "John Doe"
-                                phone: "999999999"
-                                phone_country_code: "+65"
-                                description: "Its my first payment request"
-                                return_url: "http://example.com/payments"
-                                setup_future_usage: "optional"
-                                authentication_type: "no_three_ds"
-                                shipping:
-                                    city: "Bangalore"
-                                    country: "IN"
-                                    line1: "Juspay router"
-                                    line2: "Koramangala"
-                                    line3: "Stallion"
-                                    state: "Karnataka"
-                                    zip: "560095"
-                                    first_name: "John"
-                                    last_name: "Doe"
-                                billing:
-                                    city: "Bangalore"
-                                    country: "IN"
-                                    line1: "Juspay router"
-                                    line2: "Koramangala"
-                                    line3: "Stallion"
-                                    state: "Karnataka"
-                                    zip: "560095"
-                                    first_name: "John"
-                                    last_name: "Doe"
-                                next_action:
-                                    type: "redirect_to_url"
-                                    redirect_to_url: "https://pg-redirect-page.com"
-                                metadata:
-                                    udf1: "value1"
-                                    new_customer: "true"
-                                    login_date: "2019-09-10T10:11:12Z"
-                "404":
-                    description: Payment does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "payment_not_found"
-                                    message: "Payment does not exist in records"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-    /payments/{id}/capture:
-        post:
-            parameters:
-                - in: path
-                  name: id
-                  schema:
-                      type: string
-                  required: true
-                  description: unique payment id
-            tags:
-                - Payments
-            summary: Payments - Capture
-            operationId: capturePayment
-            description: "To capture the funds for an uncaptured payment"
-            requestBody:
-                content:
-                    application/json:
-                        schema:
-                            $ref: "#/components/schemas/PaymentsCaptureRequest"
-                        example:
-                            amount_to_capture: 6540
-                            statement_descriptor_name: "Juspay"
-                            statement_descriptor_suffix: "Router"
-            responses:
-                "200":
-                    description: Payment captured
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/PaymentsCreateResponse"
-                            example:
-                                payment_id: "pay_mbabizu24mvu3mela5njyhpit4"
-                                amount: 6540
-                                currency: "USD"
-                                status: "succeeded"
-                                merchant_id: "jarnura"
-                                capture_method: "automatic"
-                                capture_on: "2022-09-10T10:11:12Z"
-                                amount_to_capture: 6540
-                                amount_capturable: 0
-                                customer_id: "cus_udst2tfldj6upmye2reztkmm4i"
-                                email: "guest@example.com"
-                                name: "John Doe"
-                                phone: "999999999"
-                                phone_country_code: "+65"
-                                description: "Its my first payment request"
-                                return_url: "http://example.com/payments"
-                                setup_future_usage: "optional"
-                                authentication_type: "no_three_ds"
-                                shipping:
-                                    city: "Bangalore"
-                                    country: "IN"
-                                    line1: "Juspay router"
-                                    line2: "Koramangala"
-                                    line3: "Stallion"
-                                    state: "Karnataka"
-                                    zip: "560095"
-                                    first_name: "John"
-                                    last_name: "Doe"
-                                billing:
-                                    city: "Bangalore"
-                                    country: "IN"
-                                    line1: "Juspay router"
-                                    line2: "Koramangala"
-                                    line3: "Stallion"
-                                    state: "Karnataka"
-                                    zip: "560095"
-                                    first_name: "John"
-                                    last_name: "Doe"
-                                next_action: null
-                                metadata:
-                                    udf1: "value1"
-                                    new_customer: "true"
-                                    login_date: "2019-09-10T10:11:12Z"
-                "404":
-                    description: Payment does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "payment_not_found"
-                                    message: "Payment does not exist in records"
-                "400":
-                    description: Invalid data
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_data"
-                                    message: "Amount shall be passed as: <expected_data_type>"
-
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-    /payments/{id}/confirm:
-        post:
-            parameters:
-                - in: path
-                  name: id
-                  schema:
-                      type: string
-                  required: true
-                  description: unique payment id
-            tags:
-                - Payments
-            summary: Payments - Confirm
-            operationId: confirmPayment
-            description: "This API is to confirm the payment request and foward payment to the payment processor. This API provides more granular control upon when the API is forwarded to the payment processor. Alternatively you can confirm the payment within the Payments-Create API"
-            requestBody:
-                content:
-                    application/json:
-                        schema:
-                            $ref: "#/components/schemas/PaymentsConfirmRequest"
-                        example:
-                            return_url: "http://example.com/payments"
-                            setup_future_usage: "optional"
-                            authentication_type: "no_three_ds"
-                            payment_method: "card"
-                            save_payment_method: true
-                            payment_method_data:
-                                card:
-                                    card_number: "4242424242424242"
-                                    card_exp_month: "10"
-                                    card_exp_year: "35"
-                                    card_holder_name: "John Doe"
-                                    card_cvc: "123"
-                            shipping:
-                                city: "Bangalore"
-                                country: "IN"
-                                line1: "Juspay router"
-                                line2: "Koramangala"
-                                line3: "Stallion"
-                                state: "Karnataka"
-                                zip: "560095"
-                                first_name: "John"
-                                last_name: "Doe"
-                            billing:
-                                city: "Bangalore"
-                                country: "IN"
-                                line1: "Juspay router"
-                                line2: "Koramangala"
-                                line3: "Stallion"
-                                state: "Karnataka"
-                                zip: "560095"
-                                first_name: "John"
-                                last_name: "Doe"
-            responses:
-                "200":
-                    description: Payment confirmed
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/PaymentsCreateResponse"
-                            example:
-                                amount: 6540
-                                currency: "USD"
-                                confirm: true
-                                payment_id: "pay_mbabizu24mvu3mela5njyhpit4"
-                                merchant_id: "jarnura"
-                                capture_method: "automatic"
-                                capture_on: "2022-09-10T10:11:12Z"
-                                amount_to_capture: 6540
-                                customer_id: "cus_udst2tfldj6upmye2reztkmm4i"
-                                email: "guest@example.com"
-                                name: "John Doe"
-                                phone: "999999999"
-                                phone_country_code: "+65"
-                                description: "Its my first payment request"
-                                return_url: "http://example.com/payments"
-                                setup_future_usage: "optional"
-                                authentication_type: "no_three_ds"
-                                payment_method: "card"
-                                save_payment_method: true
-                                payment_method_data:
-                                    card:
-                                        card_number: "4242424242424242"
-                                        card_exp_month: "10"
-                                        card_exp_year: "35"
-                                        card_holder_name: "John Doe"
-                                        card_cvc: "123"
-                                statement_descriptor_name: "Juspay"
-                                statement_descriptor_suffix: "Router"
-                                shipping:
-                                    city: "Bangalore"
-                                    country: "IN"
-                                    line1: "Juspay router"
-                                    line2: "Koramangala"
-                                    line3: "Stallion"
-                                    state: "Karnataka"
-                                    zip: "560095"
-                                    first_name: "John"
-                                    last_name: "Doe"
-                                billing:
-                                    city: "Bangalore"
-                                    country: "IN"
-                                    line1: "Juspay router"
-                                    line2: "Koramangala"
-                                    line3: "Stallion"
-                                    state: "Karnataka"
-                                    zip: "560095"
-                                    first_name: "John"
-                                    last_name: "Doe"
-                                metadata:
-                                    udf1: "value1"
-                                    new_customer: "true"
-                                    login_date: "2019-09-10T10:11:12Z"
-                "404":
-                    description: Payment does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "payment_not_found"
-                                    message: "Payment does not exist in records"
-                "400":
-                    description: Invalid data
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_data"
-                                    message: "cancellation_reason shall be passed as: <expected_data_type>"
-               
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-    /payments/{id}/cancel:
-        post:
-            parameters:
-                - in: path
-                  name: id
-                  schema:
-                      type: string
-                  required: true
-                  description: unique payment id
-            tags:
-                - Payments
-            summary: Payments - Cancel
-            operationId: cancelPayment
-            description: "A Payment could can be cancelled when it is in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_customer_action"
-            requestBody:
-                content:
-                    application/json:
-                        schema:
-                            $ref: "#/components/schemas/PaymentsCancelRequest"
-                        example:
-                            cancellation_reason: "Payment attempt expired"
-            responses:
-                "200":
-                    description: Payment cancelled
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/PaymentsCreateResponse"
-                            example:
-                                payment_id: "pay_mbabizu24mvu3mela5njyhpit4"
-                                amount: 6540
-                                currency: "USD"
-                                cancellation_reason: "Payment attempt expired"
-                                status: "cancelled"
-                                merchant_id: "jarnura"
-                                capture_method: "automatic"
-                                capture_on: "2022-09-10T10:11:12Z"
-                                amount_to_capture: 6540
-                                amount_capturable: 0
-                                customer_id: "cus_udst2tfldj6upmye2reztkmm4i"
-                                email: "guest@example.com"
-                                name: "John Doe"
-                                phone: "999999999"
-                                phone_country_code: "+65"
-                                description: "Its my first payment request"
-                                return_url: "http://example.com/payments"
-                                setup_future_usage: "optional"
-                                authentication_type: "no_three_ds"
-                                shipping:
-                                    city: "Bangalore"
-                                    country: "IN"
-                                    line1: "Juspay router"
-                                    line2: "Koramangala"
-                                    line3: "Stallion"
-                                    state: "Karnataka"
-                                    zip: "560095"
-                                    first_name: "John"
-                                    last_name: "Doe"
-                                billing:
-                                    city: "Bangalore"
-                                    country: "IN"
-                                    line1: "Juspay router"
-                                    line2: "Koramangala"
-                                    line3: "Stallion"
-                                    state: "Karnataka"
-                                    zip: "560095"
-                                    first_name: "John"
-                                    last_name: "Doe"
-                                next_action: null
-                                metadata:
-                                    udf1: "value1"
-                                    new_customer: "true"
-                                    login_date: "2019-09-10T10:11:12Z"
-                "404":
-                    description: Payment does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "payment_not_found"
-                                    message: "Payment does not exist in records"
-                "400":
-                    description: Invalid data
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_data"
-                                    message: "cancellation_reason shall be passed as: <expected_data_type>"
-  
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-    /refunds:
-        post:
-            tags:
-                - Refunds
-            summary: Refunds - Create
-            operationId: createRefunds
-            description: "To create a refund againt an already processed payment"
-            requestBody:
-                content:
-                    application/json:
-                        schema:
-                            $ref: "#/components/schemas/RefundsCreateRequest"
-                        example:
-                            payment_id: "pay_mbabizu24mvu3mela5njyhpit4"
-                            refund_id: "a8537066-2569-4ac4-a7d3-87453387b09b"
-                            amount: 100
-                            currency: "USD"
-                            reason: "Customer returned product"
-                            metadata:
-                                udf1: "value1"
-                                new_customer: "true"
-                                login_date: "2019-09-10T10:11:12Z"
-            responses:
-                "200":
-                    description: Refund created
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/RefundsObject"
-                            example:
-                                payment_id: "pay_mbabizu24mvu3mela5njyhpit4"
-                                refund_id: "a8537066-2569-4ac4-a7d3-87453387b09b"
-                                amount: 100
-                                status: "pending"
-                                currency: "USD"
-                                reason: "Customer returned product"
-                                metadata:
-                                    udf1: "value1"
-                                    new_customer: "true"
-                                    login_date: "2019-09-10T10:11:12Z"
-                                created_at: "2022-09-10T10:11:12Z"
-                "400":
-                    description: Missing Mandatory fields
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "parameter_missing"
-                                    message: "Missing required param: <parameter_name>"
-
-    /refunds/{id}:
-        post:
-            parameters:
-                - in: path
-                  name: id
-                  schema:
-                      type: string
-                  required: true
-                  description: unique refund id
-            tags:
-                - Refunds
-            summary: Refunds - Update
-            operationId: updateRefund
-            description: "To update the properties of a Refund object. This may include attaching a reason for the refund or metadata fields"
-            requestBody:
-                content:
-                    application/json:
-                        schema:
-                            $ref: "#/components/schemas/RefundsUpdateRequest"
-                        example:
-                            reason: "Customer returned product"
-                            metadata:
-                                udf1: "value1"
-                                new_customer: "true"
-                                login_date: "2019-09-10T10:11:12Z"
-            responses:
-                "200":
-                    description: Refund updated
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/RefundsObject"
-                            example:
-                                payment_id: "pay_mbabizu24mvu3mela5njyhpit4"
-                                refund_id: "a8537066-2569-4ac4-a7d3-87453387b09b"
-                                amount: 100
-                                status: "pending"
-                                currency: "USD"
-                                reason: "Customer returned product"
-                                metadata:
-                                    udf1: "value1"
-                                    new_customer: "true"
-                                    login_date: "2019-09-10T10:11:12Z"
-                                created_at: "2022-09-10T10:11:12Z"
-                "404":
-                    description: Refund does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "refund_not_found"
-                                    message: "Refund does not exist in records"
-                "400":
-                    description: Invalid data
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_data"
-                                    message: "Amount shall be passed as: <expected_data_type>"
-                
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-        get:
-            parameters:
-                - in: path
-                  name: id
-                  schema:
-                      type: string
-                  required: true
-                  description: unique refund id
-            tags:
-                - Refunds
-            summary: Refunds - Retrieve
-            operationId: retrieveRefund
-            description: "To retrieve the properties of a Refund. This may be used to get the status of a previously initiated payment or next action for an ongoing payment"
-            responses:
-                "200":
-                    description: Refund retrieved successfully
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/RefundsObject"
-                            example:
-                                payment_id: "pay_mbabizu24mvu3mela5njyhpit4"
-                                refund_id: "a8537066-2569-4ac4-a7d3-87453387b09b"
-                                amount: 100
-                                status: "pending"
-                                currency: "USD"
-                                reason: "Customer returned product"
-                                metadata:
-                                    udf1: "value1"
-                                    new_customer: "true"
-                                    login_date: "2019-09-10T10:11:12Z"
-                                created_at: "2022-09-10T10:11:12Z"
-                "404":
-                    description: Refund does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "refund_not_found"
-                                    message: "Refund does not exist in records"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-
-    /payment_methods:
-        post:
-            tags:
-                - PaymentMethods
-            summary: PaymentMethods - Create
-            operationId: createPaymentMethodForCustomer
-            description: "To create a payment method against a customer object. In case of cards, this API could be used only by PCI compliant merchants"
-            requestBody:
-                content:
-                    application/json:
-                        schema:
-                            $ref: "#/components/schemas/PaymentMethodsCreateRequest"
-            responses:
-                "200":
-                    description: Payment Method Created
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/PaymentMethodsResponseObject"
-                "400":
-                    description: Invalid data
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_data"
-                                    message: "accepted_country shall be passed as: <expected_data_type>"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-    /payment_methods/{id}:
-        post:
-            parameters:
-                - in: path
-                  name: id
-                  schema:
-                      type: string
-                  required: true
-                  description: The unique identifier for the payment method
-            tags:
-                - PaymentMethods
-            summary: PaymentMethods - Update
-            operationId: updatePaymentMethodForCustomer
-            description: "To update an existng a payment method attached to a customer object. This API is useful for use cases such as updating the card number for expired cards, to prevent discontinuity in recurring payments"
-            requestBody:
-                content:
-                    application/json:
-                        schema:
-                            $ref: "#/components/schemas/PaymentMethodsUpdateRequest"
-            responses:
-                "200":
-                    description: Payment Method Updated
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/PaymentMethodsResponseObject"
-                "404":
-                    description: Payment Method does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "payment_method_not_found"
-                                    message: "Payment Method does not exist in records"
-                "400":
-                    description: Invalid data
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_data"
-                                    message: "accepted_country shall be passed as: <expected_data_type>"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-    /payment_methods/{id}/detach:
-        post:
-            parameters:
-                - in: path
-                  name: id
-                  schema:
-                      type: string
-                  required: true
-                  description: The unique identifier for the payment method
-            tags:
-                - PaymentMethods
-            summary: Delete PaymentMethods
-            operationId: deletePaymentMethods
-            description: Detaches a PaymentMethod object from a Customer.
-            responses:
-                "200":
-                    description: Payment Method detached successfully
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/PaymentMethodDeleteResponse"
-                "404":
-                    description: Payment Method does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "payment_method_not_found"
-                                    message: "Payment Method does not exist in records"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-    /payment_methods/{merchant_id}:
-        get:
-            parameters:
-                - in: query
-                  name: accepted_country
-                  schema:
-                      type: array
-                      items:
-                          type: string
-                          description: |
-                              The two-letter ISO currency code
-                          example: [US, UK, IN]
-                          maxLength: 2
-                          minLength: 2
-                - in: query
-                  name: accepted_currency
-                  schema:
-                      type: array
-                      items:
-                          type: string
-                          description: |
-                              The three-letter ISO currency code
-                          example: [USD, EUR]
-                - in: query
-                  name: minimum_amount
-                  schema:
-                      type: integer
-                      description: |
-                          The minimum ammount accepted for processing by the particular payment method.
-                      example: 100
-                - in: query
-                  name: maximum_amount
-                  schema:
-                      type: integer
-                      description: |
-                          The minimum ammount accepted for processing by the particular payment method.
-                      example: 10000000
-                - in: query
-                  name: recurring_payment_enabled
-                  schema:
-                      type: boolean
-                      description: Indicates whether the payment method is eligible for recurring payments
-                      example: true
-                - in: query
-                  name: installment_payment_enabled
-                  schema:
-                      type: boolean
-                      description: Indicates whether the payment method is eligible for installment payments
-                      example: true
-            tags:
-                - PaymentMethods
-            summary: List payment methods for a Merchant
-            operationId: listPaymentMethodsByMerchantId
-            description: "To filter and list the applicable payment methods for a particular merchant id."
-            responses:
-                "200":
-                    description: Payment Methods retrieved
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/ArrayOfMerchantPaymentMethods"
-                "404":
-                    description: Payment Methods does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "payment_method_not_found"
-                                    message: "Payment Methods does not exist in records"
-                "400":
-                    description: Invalid data
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_data"
-                                    message: "accepted_currency shall be passed as: <expected_data_type>"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-
-    /accounts:
-        post:
-            tags:
-                - MerchantAccounts
-            summary: Merchant Account - Create
-            operationId: createMechantAccount
-            description: "Create a new account for a merchant. The merchant could be a seller or retailer or client who likes to receive and send payments."
-            security:
-                - AdminSecretKey: []
-            requestBody:
-                content:
-                    application/json:
-                        schema:
-                            $ref: "#/components/schemas/MerchantAccountCreateRequest"
-            responses:
-                "200":
-                    description: Merchant Account Created
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/MerchantAccountResponse"
-                "400":
-                    description: Invalid data
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_data"
-                                    message: "merchant_name can't be empty or null"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-    /accounts/{id}:
-        get:
-            parameters:
-                - in: path
-                  name: id
-                  schema:
-                      type: string
-                  required: true
-                  description: The unique identifier for the merchant account
-            tags:
-                - MerchantAccounts
-            summary: Merchant Account - Retrieve
-            operationId: retrieveMerchantAccount
-            description: Retrieve a merchant account details.
-            security:
-                - AdminSecretKey: []
-            responses:
-                "200":
-                    description: Merchant Account retrieved successfully
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/MerchantAccountResponse"
-                "404":
-                    description: Merchant Account does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "merchant_account_not_found"
-                                    message: "Merchant Account does not exist in records"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-        post:
-            parameters:
-                - in: path
-                  name: id
-                  schema:
-                      type: string
-                  required: true
-                  description: The unique identifier for the merchant account
-            tags:
-                - MerchantAccounts
-            summary: Merchant Account - Update
-            operationId: updateMerchantAccount
-            description: "To update an existng merchant account. Helpful in updating merchant details such as email, contact deteails, or other configuration details like webhook, routing algorithm etc"
-            security:
-                - AdminSecretKey: []
-            requestBody:
-                content:
-                    application/json:
-                        schema:
-                            $ref: "#/components/schemas/MerchantAccountUpdateRequest"
-            responses:
-                "200":
-                    description: Merchant Account Updated
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/MerchantAccountResponse"
-                "404":
-                    description: Merchant Account does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "merchant_account_not_found"
-                                    message: "Merchant Account does not exist in records"
-                "400":
-                    description: Invalid data
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_data"
-                                    message: "Update Field can't be empty"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-        delete:
-            parameters:
-                - in: path
-                  name: id
-                  schema:
-                      type: string
-                  required: true
-                  description: The unique identifier for the merchant account
-            tags:
-                - MerchantAccounts
-            summary: Merchant Account - Delete
-            operationId: deleteMerchantAccount
-            description: Delete a Merchant Account
-            security:
-                - AdminSecretKey: []
-            responses:
-                "200":
-                    description: Merchant Account deleted successfully
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/MerchantAccountDeleteResponse"
-                "404":
-                    description: Merchant Account does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "merchant_account_not_found"
-                                    message: "Merchant Account does not exist in records"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-    /customers/{customer_id}/mandates:
-        get:
-            parameters:
-                - in: path
-                  name: customer_id
-                  schema:
-                      type: string
-                  required: true
-                  description: Unique customer id for which the list of mandates to be retrieved.
-            tags:
-                - Mandates
-            summary: Mandate - List all mandates against a customer id
-            operationId: listMandateDetails
-            description: "To list the all the mandates for a customer"
-            responses:
-                "200":
-                    description: Customer's mandates retrieved successfully
-                    content:
-                        application/json:
-                            schema:
-                                type: array
-                                items:
-                                    type: object
-                                    $ref: "#/components/schemas/MandateListResponse"
-                "404":
-                    description: Payment does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "payment_not_found"
-                                    message: "Payment does not exist in records"
-                "400":
-                    description: Invalid data
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_data"
-                                    message: "Amount shall be passed as: <expected_data_type>"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-    /customers/{customer_id}/payment_methods:
-        get:
-            parameters:
-                # - in: path
-                #   name: customer_id
-                #   schema:
-                #       type: string
-                #   required: true
-                #   description: The unique ID for the Customer.
-                - in: query
-                  name: accepted_country
-                  schema:
-                      type: array
-                      items:
-                          type: string
-                          description: |
-                              The two-letter ISO currency code
-                          example: ["US", "UK", "IN"]
-                          maxLength: 2
-                          minLength: 2
-                - in: query
-                  name: accepted_currency
-                  schema:
-                      type: array
-                      items:
-                          type: string
-                          description: |
-                              The three-letter ISO currency code
-                          example: ["USD", "EUR"]
-                - in: query
-                  name: minimum_amount
-                  schema:
-                      type: integer
-                      description: |
-                          The minimum ammount accepted for processing by the particular payment method.
-                      example: 100
-                - in: query
-                  name: maximum_amount
-                  schema:
-                      type: integer
-                      description: |
-                          The minimum ammount accepted for processing by the particular payment method.
-                      example: 10000000
-                - in: query
-                  name: recurring_payment_enabled
-                  schema:
-                      type: boolean
-                      description: Indicates whether the payment method is eligible for recurring payments
-                      example: true
-                - in: query
-                  name: installment_payment_enabled
-                  schema:
-                      type: boolean
-                      description: Indicates whether the payment method is eligible for installment payments
-                      example: true
-            security:
-                - ApiSecretKey: []
-            tags:
-                - PaymentMethods
-            summary: List payment methods for a Customer
-            operationId: listPaymentMethodsByCustomerId
-            description: "To filter and list the applicable payment methods for a particular Customer ID"
-            responses:
-                "200":
-                    description: Payment Methods retrieved
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/CustomerPaymentMethods"
-                "404":
-                    description: Payment Methods does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "payment_method_not_found"
-                                    message: "Payment Methods does not exist in records"
-                "400":
-                    description: Invalid data
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_data"
-                                    message: "accepted_currency shall be passed as: <expected_data_type>"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-    /mandates/{id}:
-        get:
-            parameters:
-                - in: path
-                  name: id
-                  schema:
-                      type: string
-                  required: true
-                  description: Unique mandate id
-            tags:
-                - Mandates
-            summary: Mandate - List details of a mandate
-            operationId: listMandateDetails
-            description: "To list the details of a mandate"
-            # requestBody:
-            #     content:
-            #         application/json:
-            #             schema:
-            #                 $ref: "#/components/schemas/MandateListResponse"
-            responses:
-                "200":
-                    description: Mandate retrieved successfully
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/MandateListResponse"
-                "404":
-                    description: Mandate does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "payment_not_found"
-                                    message: "Payment does not exist in records"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-    /mandates/{id}/revoke:
-        post:
-            parameters:
-                - in: path
-                  name: id
-                  schema:
-                      type: string
-                  required: true
-                  description: Unique mandate id
-            tags:
-                - Mandates
-            summary: Mandate - Revoke a mandate
-            operationId: revokeMandateDetails
-            description: "To revoke a mandate registered against a customer"
-            # requestBody:
-            #     content:
-            #         application/json:
-            #             schema:
-            #                 type: object
-            #                 properties:
-            #                     command:
-            #                         type: string
-            #                         description: The command for revoking a mandate.
-            #                         example: "revoke"
-            responses:
-                "200":
-                    description: Mandate Revoked
-                    content:
-                        application/json:
-                            schema:
-                                type: object
-                                properties:
-                                    mandate_id:
-                                        type: string
-                                        description: |
-                                            The unique id corresponding to the mandate.
-                                        example: "mandate_end38934n12s923d0"
-                                    status:
-                                        type: string
-                                        description: The status of the mandate.
-                                        example: "revoked"
-                "404":
-                    description: Mandate does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "payment_not_found"
-                                    message: "Payment does not exist in records"
-                "400":
-                    description: Invalid data
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_data"
-                                    message: "command shall be passed as: <expected_data_type>"
-                # "400":
-                #     description: Invalid parameter
-                #     content:
-                #         application/json:
-                #             schema:
-                #                 $ref: "#/components/responses/BadRequestError"
-                #             example:
-                #                 error:
-                #                     type: "invalid_request_error"
-                #                     code: "invalid_parameter"
-                #                     message: "The return_url cannot be passed unless confirm is set to true"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-
-
-    /account/{account_id}/connectors:
-        post:
-            parameters:
-                - in: path
-                  name: account_id
-                  schema:
-                      type: string
-                  required: true
-                  description: The unique identifier for the merchant account
-            tags:
-                - PaymentConnectors
-            summary: Payment Connector - Create
-            operationId: createPaymentConnector
-            description: "Create a new Payment Connector for the merchant account. The connector could be a payment processor / facilitator / acquirer or specialised services like Fraud / Accounting etc."
-            security:
-                - AdminSecretKey: []
-            requestBody:
-                content:
-                    application/json:
-                        schema:
-                            $ref: "#/components/schemas/PaymentConnectorCreateRequest"
-            responses:
-                "200":
-                    description: Payment Connector Created
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/PaymentConnectorResponse"
-                "400":
-                    description: Invalid data
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_data"
-                                    message: "connector_name can't be empty or null"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-    /account/{account_id}/connectors/{connector_id}:
-        get:
-            parameters:
-                - in: path
-                  name: account_id
-                  schema:
-                      type: string
-                  required: true
-                  description: The unique identifier for the merchant account
-                - in: path
-                  name: connector_id
-                  schema:
-                      type: string
-                  required: true
-                  description: The unique identifier for the payment connector
-            tags:
-                - PaymentConnectors
-            summary: Payment Connector - Retrieve
-            operationId: retrievePaymentConnector
-            description: Retrieve Payment Connector details.
-            security:
-                - AdminSecretKey: []
-            responses:
-                "200":
-                    description: Payment Connector retrieved successfully
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/PaymentConnectorResponse"
-                "404":
-                    description: Payment Connector does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "payment_connector_not_found"
-                                    message: "Payment Connector does not exist in records"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-        post:
-            parameters:
-                - in: path
-                  name: id1
-                  schema:
-                      type: string
-                  required: true
-                  description: The unique identifier for the merchant account
-                - in: path
-                  name: id2
-                  schema:
-                      type: string
-                  required: true
-                  description: The unique identifier for the payment connector
-            tags:
-                - PaymentConnectors
-            summary: Payment Connector - Update
-            operationId: updatePaymentConnector
-            description: "To update an existng Payment Connector. Helpful in enabling / disabling different payment methods and other settings for the connector etc"
-            security:
-                - AdminSecretKey: []
-            requestBody:
-                content:
-                    application/json:
-                        schema:
-                            $ref: "#/components/schemas/PaymentConnectorUpdateRequest"
-            responses:
-                "200":
-                    description: Payment Connector Updated
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/PaymentConnectorResponse"
-                "404":
-                    description: Payment Connector does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "payment_connector_not_found"
-                                    message: "Payment Connector does not exist in records"
-                "400":
-                    description: Invalid data
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_data"
-                                    message: "Update Field can't be empty"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-        delete:
-            parameters:
-                - in: path
-                  name: id1
-                  schema:
-                      type: string
-                  required: true
-                  description: The unique identifier for the merchant account
-                - in: path
-                  name: id2
-                  schema:
-                      type: string
-                  required: true
-                  description: The unique identifier for the payment connector
-            tags:
-                - PaymentConnectors
-            summary: Payment Connector - Delete
-            operationId: deletePaymentConnector
-            description: Delete or Detach a Payment Connector from Merchant Account
-            security:
-                - AdminSecretKey: []
-            responses:
-                "200":
-                    description: Payment Connector detached successfully
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/PaymentConnectorDeleteResponse"
-                "404":
-                    description: Payment Connector does not exist in records
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "object_not_found"
-                                    code: "payment_connector_not_found"
-                                    message: "Payment Connector does not exist in records"
-                "401":
-                    description: Unauthorized request
-                    content:
-                        application/json:
-                            schema:
-                                $ref: "#/components/schemas/Error"
-                            example:
-                                error:
-                                    type: "invalid_request_error"
-                                    code: "invalid_api_authentication"
-                                    message: "Access forbidden, invalid api-key was used"
-
-components:
-    schemas:
-        ArrayOfMerchantPaymentMethods:
-            type: array
-            items:
-                properties:
-                    payment_method:
-                        type: string
-                        $ref: "#/components/schemas/PaymentMethod"
-                        example: card
-                    payment_method_types:
-                        type: array
-                        items:
-                            $ref: "#/components/schemas/PaymentMethodType"
-                            example: [CREDIT]
-                    payment_method_issuers:
-                        type: array
-                        description: List of payment method issuers to be enabled for this payment method
-                        items:
-                            type: string
-                            example: [CHASE, WELLS_FARGO]
-                    payment_method_issuer_codes:
-                        type: string
-                        description: |
-                            A standard code representing the issuer of payment method
-                        example: [PM_CHASE, PM_WELLS]
-                    payment_schemes:
-                        type: array
-                        description: List of payment schemes accepted or has the processing capabilities of the processor
-                        items:
-                            $ref: "#/components/schemas/PaymentSchemes"
-                            example: [MASTER, VISA, DINERS]
-                    accepted_currencies:
-                        type: array
-                        description: List of currencies accepted or has the processing capabilities of the processor
-                        items:
-                            $ref: "#/components/schemas/CurrencyISO"
-                            example: [USD, EUR , AED]
-                    accepted_countries:
-                        type: array
-                        description: List of Countries accepted or has the processing capabilities of the processor
-                        items:
-                            $ref: "#/components/schemas/CountryISO"
-                            example: [US, IN]
-                    minimum_amount:
-                        type: integer
-                        description: Mininum amount supported by the processor. To be represented in the lowest denomination of the target currency (For example, for USD it should be in cents)
-                        example: 1
-                    maximum_amount:
-                        type: integer
-                        description: Maximum amount supported by the processor. To be represented in the lowest denomination of the target currency (For example, for USD it should be in cents)
-                        example: null
-                    recurring_enabled:
-                        type: boolean
-                        description: Boolean to enable recurring payments / mandates. Default is true.
-                        example: true
-                    installment_payment_enabled:
-                        type: boolean
-                        description: Boolean to enable installment / EMI / BNPL payments. Default is true.
-                        example: true
-                    payment_experience:
-                        type: array
-                        description: Type of payment experience enabled with the connector
-                        items:
-                            $ref: "#/components/schemas/NextAction"
-                        example: ["redirect_to_url"]
-                    # payment_method:
-                    #     type: string
-                    #     description: |
-                    #         The type of payment method use for the payment.
-                    #     enum:
-                    #         - card
-                    #         - payment_container
-                    #         - bank_transfer
-                    #         - bank_debit
-                    #         - pay_later
-                    #         - upi
-                    #         - netbanking
-                    #     example: card
-                    # payment_method_type:
-                    #     type: string
-                    #     description: |
-                    #         This is a sub-category of payment method.
-                    #     enum:
-                    #         - credit_card
-                    #         - debit_card
-                    #         - upi_intent
-                    #         - upi_collect
-                    #         - credit_card_installements
-                    #         - pay_later_installments
-                    #     example: credit_card
-                    # payment_method_issuer:
-                    #     type: string
-                    #     description: |
-                    #         The name of the bank/ provider isuing the payment method to the end user
-                    #     example: Citibank
-                    # payment_method_issuer_code:
-                    #     type: string
-                    #     description: |
-                    #         A standard code representing the issuer of payment method
-                    #     example: PM_CHASE
-                    # accepted_country:
-                    #     type: array
-                    #     items:
-                    #         type: string
-                    #         description: |
-                    #             The two-letter ISO currency code
-                    #         example: [US, UK, IN]
-                    #         maxLength: 2
-                    #         minLength: 2
-                    # accepted_currency:
-                    #     type: array
-                    #     items:
-                    #         type: string
-                    #         description: |
-                    #             The three-letter ISO currency code
-                    #         example: [USD, EUR]
-                    # minimum_amount:
-                    #     type: integer
-                    #     description: |
-                    #         The minimum ammount accepted for processing by the particular payment method.
-                    #     example: 100
-                    # maximum_amount:
-                    #     type: integer
-                    #     description: |
-                    #         The minimum ammount accepted for processing by the particular payment method.
-                    #     example: 10000000
-                    # recurring_payment_enabled:
-                    #     type: boolean
-                    #     description: Indicates whether the payment method is eligible for recurring payments
-                    #     example: true
-                    # installment_payment_enabled:
-                    #     type: boolean
-                    #     description: Indicates whether the payment method is eligible for installment payments
-                    #     example: true
-                    # payment_experience:
-                    #     type: array
-                    #     items:
-                    #         type: string
-                    #         description: "This indicates type of next_action (refer the response of Payment Create ) that is required in order to complete the payment with inputs from the user. This may involve actions such as redirecting the user to a URL, displaying a QR code, invoking the SDK client"
-                    #         enum:
-                    #             - redirect_to_url
-                    #             - display_qr_code
-                    #             - invoke_sdk_client
-                    #         example: ["redirect_to_url", "display_qr_code"]
-
-        CustomerPaymentMethods:
-            type: object
-            properties:
-                enabled_payment_methods:
-                    type: array
-                    items:
-                        type: object
-                        $ref: "#/components/schemas/PaymentMethodsEnabled"
-                customer_payment_methods:
-                    type: array
-                    items:
-                        type: object
-                        description: Refers to the Parent Merchant ID if the merchant being created is a sub-merchant
-                        $ref: "#/components/schemas/PaymentMethodsResponseObject"
-
-        # ArrayOfCustomerPaymentMethods:
-        #     type: array
-        #     items:
-        #         type: object
-        #         properties:
-        #             payment_method_id:
-        #                 type: string
-        #                 description: |
-        #                     The id corresponding to the payment method.
-        #                 example: "pm_end38934n12s923d0"    
-        #             payment_method:
-        #                 type: string
-        #                 description: |
-        #                     The type of payment method use for the payment.
-        #                 enum:
-        #                     - card
-        #                     - payment_container
-        #                     - bank_transfer
-        #                     - bank_debit
-        #                     - pay_later
-        #                     - upi
-        #                     - netbanking
-        #                 example: card
-        #             payment_method_type:
-        #                 type: string
-        #                 description: |
-        #                     This is a sub-category of payment method.
-        #                 enum:
-        #                     - credit_card
-        #                     - debit_card
-        #                     - upi_intent
-        #                     - upi_collect
-        #                     - credit_card_installements
-        #                     - pay_later_installments
-        #                 example: credit_card
-        #             payment_method_issuer:
-        #                 type: string
-        #                 description: |
-        #                     The name of the bank/ provider isuing the payment method to the end user
-        #                 example: Citibank
-        #             payment_method_issuer_code:
-        #                 type: string
-        #                 description: |
-        #                     A standard code representing the issuer of payment method
-        #                     example: PM_CHASE
-        #             payment_scheme:
-        #                 type: array
-        #                 items:
-        #                     type: string
-        #                     description: |
-        #                         The network scheme to which the payment method belongs
-        #                     example: [MASTER, VISA]
-        #             accepted_country:
-        #                 type: array
-        #                 items:
-        #                     type: string
-        #                     description: |
-        #                         The two-letter ISO currency code
-        #                     example: [US, UK, IN]
-        #                     maxLength: 2
-        #                     minLength: 2
-        #             accepted_currency:
-        #                 type: array
-        #                 items:
-        #                     type: string
-        #                     description: |
-        #                         The three-letter ISO currency code
-        #                     example: [USD, EUR]
-        #             minimum_amount:
-        #                 type: integer
-        #                 description: |
-        #                     The minimum ammount accepted for processing by the particular payment method.
-        #                 example: 100
-        #             maximum_amount:
-        #                 type: integer
-        #                 description: |
-        #                     The minimum ammount accepted for processing by the particular payment method.
-        #                 example: 10000000
-        #             recurring_payment_enabled:
-        #                 type: boolean
-        #                 description: Indicates whether the payment method is eligible for recurring payments
-        #                 example: true
-        #             installment_payment_enabled:
-        #                 type: boolean
-        #                 description: Indicates whether the payment method is eligible for installment payments
-        #                 example: true
-        #             payment_experience:
-        #                 type: array
-        #                 items:
-        #                     type: string
-        #                     description: "This indicates type of next_action (refer the response of Payment Create ) that is required in order to complete the payment with inputs from the user. This may involve actions such as redirecting the user to a URL, displaying a QR code, invoking the SDK client"
-        #                     enum:
-        #                         - redirect_to_url
-        #                         - display_qr_code
-        #                         - invoke_sdk_client
-        #                     example: ["redirect_to_url", "display_qr_code"]
-        #             card:
-        #                 description: The card identifier information to be displayed on the user interface
-        #                 $ref: "#/components/schemas/CardPaymentMethodResponse"
-        #             metadata:
-        #                 type: object
-        #                 description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
-        #                 maxLength: 255
-        #                 example: { "city": "NY", "unit": "245" }
-        Address:
-            type: object
-            properties:
-                line1:
-                    type: string
-                    description: The first line of the address
-                    maxLength: 200
-                    example: Juspay Router
-                line2:
-                    type: string
-                    description: The second line of the address
-                    maxLength: 200
-                    example: Koramangala
-                line3:
-                    type: string
-                    description: The second line of the address
-                    maxLength: 200
-                    example: Stallion
-                city:
-                    type: string
-                    description: The address city
-                    maxLength: 50
-                    example: Bangalore
-                state:
-                    type: string
-                    description: The address state
-                    maxLength: 50
-                    example: Karnataka
-                zip:
-                    type: string
-                    description: The address zip/postal code
-                    maxLength: 50
-                    example: "560095"
-                country:
-                    type: string
-                    description: The two-letter ISO country code
-                    example: IN
-                    maxLength: 2
-                    minLength: 2
-        CustomerCreateRequest:
-            type: object
-            description: The customer details
-            properties:
-                customer_id:
-                    type: string
-                    description: The identifier for the customer object. If not provided the customer ID will be autogenerated.
-                    maxLength: 255
-                    example: cus_y3oqhf46pyzuxjbcn2giaqnb44
-                email:
-                    type: string
-                    format: email
-                    description: The customer's email address
-                    maxLength: 255
-                    example: JohnTest@test.com
-                name:
-                    type: string
-                    description: The customer's name
-                    maxLength: 255
-                    example: John Test
-                phone_country_code:
-                    type: string
-                    description: The ccountry code for the customer phone number
-                    maxLength: 255
-                    example: "+65"
-                phone:
-                    type: string
-                    description: The customer's phone number
-                    maxLength: 255
-                    example: 9999999999
-                description:
-                    type: string
-                    description: An arbitrary string that you can attach to a customer object.
-                    maxLength: 255
-                    example: First customer
-                address:
-                    type: object
-                    description: The address for the customer
-                    $ref: "#/components/schemas/Address"
-                metadata:
-                    type: object
-                    description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
-                    maxLength: 255
-                    example: { "city": "NY", "unit": "245" }
-        CustomerUpdateRequest:
-            type: object
-            description: The customer details to be updated
-            properties:
-                email:
-                    type: string
-                    format: email
-                    description: The customer's email address
-                    maxLength: 255
-                    example: JohnTest@test.com
-                name:
-                    type: string
-                    description: The customer's name
-                    maxLength: 255
-                    example: John Test
-                phone_country_code:
-                    type: string
-                    description: The ccountry code for the customer phone number
-                    maxLength: 255
-                    example: "+65"
-                phone:
-                    type: string
-                    description: The customer's phone number
-                    maxLength: 255
-                    example: 9999999999
-                address:
-                    type: object
-                    description: The address for the customer
-                    $ref: "#/components/schemas/Address"
-                description:
-                    type: string
-                    description: An arbitrary string that you can attach to a customer object.
-                    maxLength: 255
-                    example: First customer
-                metadata:
-                    type: object
-                    description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
-                    maxLength: 255
-                    example: { "city": "NY", "unit": "245" }
-        CustomerCreateResponse:
-            type: object
-            description: Customer
-            required:
-                - customer_id
-            properties:
-                customer_id:
-                    type: string
-                    description: The identifier for the customer object. If not provided the customer ID will be autogenerated.
-                    maxLength: 255
-                    example: cus_y3oqhf46pyzuxjbcn2giaqnb44
-                email:
-                    type: string
-                    format: email
-                    description: The customer's email address
-                    maxLength: 255
-                    example: JohnTest@test.com
-                name:
-                    type: string
-                    description: The customer's name
-                    maxLength: 255
-                    example: John Test
-                phone_country_code:
-                    type: object
-                    description: The ccountry code for the customer phone number
-                    maxLength: 255
-                    example: +65
-                phone:
-                    type: object
-                    description: The customer's phone number
-                    maxLength: 255
-                    example: 9999999999
+  /customers:
+    post:
+      tags:
+        - Customers
+      summary: Create Customer
+      operationId: createCustomer
+      description: Create a customer object and store the customer details to be reused for future payments. Incase the customer already exists in the system, this API will respond with the customer details.
+      requestBody:
+        required: true
+        content:
+          application/json:
+            schema:
+              $ref: "#/components/schemas/CustomerCreateRequest"
+            example:
+              customer_id: "cus_udst2tfldj6upmye2reztkmm4i"
+              email: "guest@example.com"
+              name: "John Doe"
+              phone: "999999999"
+              phone_country_code: "+65"
+              description: "First customer"
+              address:
+                city: "Bangalore"
+                country: "IN"
+                line1: "Juspay router"
+                line2: "Koramangala"
+                line3: "Stallion"
+                state: "Karnataka"
+                zip: "560095"
+                first_name: "John"
+                last_name: "Doe"
+              metadata:
+                udf1: "value1"
+                new_customer: "true"
+                login_date: "2019-09-10T10:11:12Z"
+      responses:
+        "200":
+          description: Customer created successfully
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/CustomerCreateResponse"
+              example:
+                customer_id: "cus_udst2tfldj6upmye2reztkmm4i"
+                email: "guest@example.com"
+                name: "John Doe"
+                phone: "999999999"
+                phone_country_code: "+65"
+                description: "First customer"
                 address:
-                    type: object
-                    description: The address for the customer
-                    $ref: "#/components/schemas/Address"
-                description:
-                    type: object
-                    description: An arbitrary string that you can attach to a customer object.
-                    maxLength: 255
-                    example: First customer
+                  city: "Bangalore"
+                  country: "IN"
+                  line1: "Juspay router"
+                  line2: "Koramangala"
+                  line3: "Stallion"
+                  state: "Karnataka"
+                  zip: "560095"
+                  first_name: "John"
+                  last_name: "Doe"
                 metadata:
-                    type: object
-                    description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
-                    maxLength: 255
-                    example: { "city": "NY", "unit": "245" }
-        CustomerDeleteResponse:
-            type: object
-            description: Customer
-            required:
-                - customer_id
-                - deleted
-            properties:
-                customer_id:
-                    type: string
-                    description: The identifier for the customer object. If not provided the customer ID will be autogenerated.
-                    maxLength: 255
-                    example: cus_y3oqhf46pyzuxjbcn2giaqnb44
-                deleted:
-                    type: boolean
-                    description: Indicates the deletion status of the customer object.
-                    example: true
-        UpdateCustomerRequest:
-            type: object
-            description: The customer attached to the instrument
-            properties:
-                email:
-                    description: The email address of the customer
-                    type: string
-                    example: JohnTest@test.com
-                name:
-                    description: The name of the customer
-                    type: string
-                    example: John Test
-                default:
-                    description: The instrument ID for this customer’s default instrument
-                    type: string
-                    example: src_imu3wifxfvlebpqqq5usjrze6y
-                phone:
-                    type: object
-                    description: The customer's phone number
-                    example: "9999999999"
+                  udf1: "value1"
+                  new_customer: "true"
+                  login_date: "2019-09-10T10:11:12Z"
+        "401":
+          description: Bad request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+
+  /customers/{id}:
+    get:
+      parameters:
+        - in: path
+          name: id
+          schema:
+            type: string
+          required: true
+          description: unique customer id
+      tags:
+        - Customers
+      summary: Retrieve Customer
+      operationId: retrieveCustomer
+      description: Retrieve a customer's details.
+      responses:
+        "200":
+          description: Customer retrieved successfully
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/CustomerCreateResponse"
+              example:
+                customer_id: "cus_udst2tfldj6upmye2reztkmm4i"
+                email: "guest@example.com"
+                name: "John Doe"
+                phone: "999999999"
+                phone_country_code: "+65"
+                description: "First customer"
                 address:
-                    type: object
-                    description: The address for the customer
-                    $ref: "#/components/schemas/Address"
-                metadata:
-                    type: object
-                    description: Allows you to store additional information about a customer. You can include a maximum of 10 key-value pairs. Each key and value can be up to 100 characters long.
-                    example:
-                        coupon_code: "NY2018"
-                        partner_id: 123989
-        PaymentsCreateRequest:
-            type: object
-            required:
-                - amount
-                - currency
-            properties:
-                amount:
-                    type: integer
-                    description: |
-                        The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,
-                    minimum: 100
-                    example: 6540
-                currency:
-                    type: string
-                    description: |
-                        The three-letter ISO currency code
-                    example: USD
-                    maxLength: 3
-                    minLength: 3
-                payment_id:
-                    type: string
-                    description: |
-                        Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.
-                        If the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. 
-                        Sequential and only numeric characters are not recommended.
-                    maxLength: 30
-                    minLength: 30
-                    example: "pay_mbabizu24mvu3mela5njyhpit4"
-                confirm:
-                    type: boolean
-                    description: Whether to confirm the payment (if applicable)
-                    default: false
-                    example: true
-                capture_method:
-                    type: string
-                    description: "This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time"
-                    enum:
-                        - automatic
-                        - manual
-                        - scheduled
-                    default: automatic
-                    example: automatic
-                capture_on:
-                    description: |
-                        A timestamp (ISO 8601 code) that determines when the payment should be captured.
-                        Providing this field will automatically set `capture` to true
-                    allOf:
-                        - $ref: "#/components/schemas/Timestamp"
-                amount_to_capture:
-                    type: integer
-                    description: |
-                        The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,
-                        If not provided, the default amount_to_capture will be the payment amount.
-                    minimum: 100
-                    example: 6540
-                customer_id:
-                    type: string
-                    description: The identifier for the customer object. If not provided the customer ID will be autogenerated.
-                    maxLength: 255
-                    example: cus_y3oqhf46pyzuxjbcn2giaqnb44
-                description:
-                    type: string
-                    description: A description of the payment
-                    maxLength: 255
-                    example: "Its my first payment request"
-                email:
-                    type: string
-                    format: email
-                    description: The customer's email address
-                    maxLength: 255
-                    example: JohnTest@test.com
-                name:
-                    type: string
-                    description: The customer's name
-                    maxLength: 255
-                    example: John Test
-                phone:
-                    type: string
-                    description: The customer's phone number
-                    maxLength: 255
-                    example: 9999999999
-                phone_country_code:
-                    type: string
-                    description: The ccountry code for the customer phone number
-                    maxLength: 255
-                    example: "+65"
-                return_url:
-                    type: string
-                    description: The URL to redirect after the completion of the operation
-                    maxLength: 255
-                    example: "https://juspay.io/"
-                setup_future_usage:
-                    type: string
-                    description: "Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete."
-                    enum:
-                        - on_session
-                        - off_session
-                    example: off_session
-                off_session:
-                    type: boolean
-                    description: "Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true."
-                    example: true
-                mandate_data:
-                    type: object
-                    description: This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.
-                    properties:
-                        customer_acceptance:
-                            type: object
-                            description: Details about the customer’s acceptance.
-                            $ref: "#/components/schemas/CustomerAcceptance"
-                mandate_id:
-                    type: string
-                    description: ID of the mandate to be used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not available.
-                    example: "mandate_iwer89rnjef349dni3"
-                authentication_type:
-                    type: string
-                    description: "The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS"
-                    enum:
-                        - three_ds
-                        - three_ds_2
-                        - no_three_ds
-                    default: no_three_ds
-                    example: no_three_ds
-                payment_method:
-                    type: string
-                    description: "The payment method"
-                    enum:
-                        - card
-                        - bank_transfer
-                        - netbanking
-                        - upi
-                        - open_banking
-                        - consumer_finance
-                        - wallet
-                    example: card
-                payment_method_data:
-                    type: object
-                    description: The payment method information
-                    properties:
-                        card:
-                            type: object
-                            description: payment card
-                            oneOf:
-                                - $ref: "#/components/schemas/CardData"
-                # save_payment_method:
-                #     type: boolean
-                #     description: Enable this flag as true, if the user has consented for saving the payment method information
-                #     default: false
-                #     example: true
-                billing:
-                    type: object
-                    description: The billing address for the payment
-                    $ref: "#/components/schemas/Address"
-                shipping:
-                    type: object
-                    description: The shipping address for the payment
-                    $ref: "#/components/schemas/Address"
-                statement_descriptor_name:
-                    type: string
-                    description: For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.
-                    maxLength: 255
-                    example: "Juspay Router"
-                statement_descriptor_suffix:
-                    type: string
-                    description: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
-                    maxLength: 255
-                    example: "Payment for shoes purchase"
+                  city: "Bangalore"
+                  country: "IN"
+                  line1: "Juspay router"
+                  line2: "Koramangala"
+                  line3: "Stallion"
+                  state: "Karnataka"
+                  zip: "560095"
+                  first_name: "John"
+                  last_name: "Doe"
                 metadata:
-                    type: object
-                    description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
-                    maxLength: 255
-                    example: { "city": "NY", "unit": "245" }
-    
-        PaymentsConfirmRequest:
-            type: object
-            properties:
-                return_url:
-                    type: string
-                    description: The URL to redirect after the completion of the operation
-                    maxLength: 255
-                    example: "www.example.com/success"
-                setup_future_usage:
-                    type: string
-                    description: "Indicates that you intend to make future payments with this Payment’s payment method. Possible values are: (i) REQUIRED: The payment will be processed only with payment methods eligible for recurring payments (ii) OPTIONAL: The payment may/ may not be processed with payment methods eligible for recurring payments"
-                    enum:
-                        - required
-                        - optional
-                    example: required
-                authentication_type:
-                    type: string
-                    description: "The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS"
-                    enum:
-                        - three_ds
-                        - no_three_ds
-                    default: no_three_ds
-                payment_method:
-                    type: string
-                    description: "The payment method"
-                    enum:
-                        - card
-                        - bank_transfer
-                        - netbanking
-                        - upi
-                        - open_banking
-                        - consumer_finance
-                        - wallet
-                    default: three_ds
-                    example: automatic
-                payment_method_data:
-                    type: object
-                    description: The payment method information
-                    oneOf:
-                        - $ref: "#/components/schemas/CardData"
-                save_payment_method:
-                    type: boolean
-                    description: Enable this flag as true, if the user has consented for saving the payment method information
-                    default: false
-                    example: true
-                billing:
-                    type: object
-                    description: The billing address for the payment
-                    $ref: "#/components/schemas/Address"
+                  udf1: "value1"
+                  new_customer: "true"
+                  login_date: "2019-09-10T10:11:12Z"
+        "404":
+          description: Customer does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "customer_not_found"
+                  message: "Customer does not exist in records"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+    post:
+      parameters:
+        - in: path
+          name: id
+          schema:
+            type: string
+          required: true
+          description: unique customer id
+      tags:
+        - Customers
+      summary: Update Customer
+      operationId: updateCustomer
+      description: Updates the customer's details in a customer object.
+      requestBody:
+        required: true
+        content:
+          application/json:
+            schema:
+              $ref: "#/components/schemas/CustomerUpdateRequest"
+      responses:
+        "200":
+          description: Customer created successfully
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/CustomerCreateResponse"
+        "404":
+          description: Customer does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "customer_not_found"
+                  message: "Customer does not exist in records"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+    delete:
+      parameters:
+        - in: path
+          name: id
+          schema:
+            type: string
+          required: true
+          description: unique customer id
+      tags:
+        - Customers
+      summary: Delete Customer
+      operationId: deleteCustomer
+      description: Delete a customer record.
+      responses:
+        "200":
+          description: Customer deleted successfully
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/CustomerDeleteResponse"
+        "404":
+          description: Customer does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "customer_not_found"
+                  message: "Customer does not exist in records"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+  /payments:
+    post:
+      tags:
+        - Payments
+      summary: Payments - Create
+      operationId: createPayment
+      description: "To process a payment you will have to create a payment, attach a payment method and confirm. Depending on the user journey you wish to achieve, you may opt to all the steps in a single request or in a sequence of API request using following APIs: (i) Payments - Update, (ii) Payments - Confirm, and (iii) Payments - Capture"
+      requestBody:
+        content:
+          application/json:
+            schema:
+              oneOf:
+                - $ref: "#/components/schemas/PaymentsCreateRequest"
+      responses:
+        "200":
+          description: Payment created
+          content:
+            application/json:
+              schema:
+                oneOf:
+                  - $ref: "#/components/schemas/PaymentsCreateResponse"
+        "400":
+          description: Missing Mandatory fields
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "parameter_missing"
+                  message: "Missing required param: <parameter_name>"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+
+  /payments/{id}:
+    post:
+      parameters:
+        - in: path
+          name: id
+          schema:
+            type: string
+          required: true
+          description: unique payment id
+      tags:
+        - Payments
+      summary: Payments - Update
+      operationId: updatePayment
+      description: "To update the properties of a PaymentIntent object. This may include attaching a payment method, or attaching customer object or metadata fields after the Payment is created "
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: "#/components/schemas/PaymentsUpdateRequest"
+            example:
+              amount: 6540
+              currency: "USD"
+              capture_method: "automatic"
+              capture_on: "2022-09-10T10:11:12Z"
+              amount_to_capture: 6540
+              amount_capturable: 6540
+              customer_id: "cus_udst2tfldj6upmye2reztkmm4i"
+              email: "guest@example.com"
+              name: "John Doe"
+              phone: "999999999"
+              phone_country_code: "+65"
+              description: "Its my first payment request"
+              setup_future_usage: "optional"
+              authentication_type: "no_three_ds"
+              payment_method: "card"
+              save_payment_method: true
+              payment_method_data:
+                card:
+                  card_number: "4242424242424242"
+                  card_exp_month: "10"
+                  card_exp_year: "35"
+                  card_holder_name: "John Doe"
+                  card_cvc: "123"
+              statement_descriptor_name: "Juspay"
+              statement_descriptor_suffix: "Router"
+              shipping:
+                city: "Bangalore"
+                country: "IN"
+                line1: "Juspay router"
+                line2: "Koramangala"
+                line3: "Stallion"
+                state: "Karnataka"
+                zip: "560095"
+                first_name: "John"
+                last_name: "Doe"
+              billing:
+                city: "Bangalore"
+                country: "IN"
+                line1: "Juspay router"
+                line2: "Koramangala"
+                line3: "Stallion"
+                state: "Karnataka"
+                zip: "560095"
+                first_name: "John"
+                last_name: "Doe"
+              metadata:
+                udf1: "value1"
+                new_customer: "true"
+                login_date: "2019-09-10T10:11:12Z"
+      responses:
+        "200":
+          description: Payment updated
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/PaymentsCreateResponse"
+              example:
+                payment_id: "pay_mbabizu24mvu3mela5njyhpit4"
+                amount: 6540
+                currency: "USD"
+                status: "requires_customer_action"
+                merchant_id: "juspay_merchant"
+                capture_method: "automatic"
+                capture_on: "2022-09-10T10:11:12Z"
+                amount_to_capture: 6540
+                amount_capturable: 6540
+                amount_recieved: 0
+                customer_id: "cus_udst2tfldj6upmye2reztkmm4i"
+                email: "guest@example.com"
+                name: "John Doe"
+                phone: "999999999"
+                phone_country_code: "+65"
+                description: "Its my first payment request"
+                return_url: "http://example.com/payments"
+                setup_future_usage: "optional"
+                authentication_type: "no_three_ds"
                 shipping:
-                    type: object
-                    description: The shipping address for the payment
-                    $ref: "#/components/schemas/Address"
-        PaymentsUpdateRequest:
-            type: object
-            properties:
-                amount:
-                    type: integer
-                    description: |
-                        The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,
-                    minimum: 100
-                    example: 6540
-                currency:
-                    type: string
-                    description: |
-                        The three-letter ISO currency code
-                    example: USD
-                    maxLength: 3
-                    minLength: 3
-                capture_method:
-                    type: string
-                    description: "This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time"
-                    enum:
-                        - automatic
-                        - manual
-                        - scheduled
-                    default: automatic
-                    example: automatic
-                capture_on:
-                    description: |
-                        A timestamp (ISO 8601 code) that determines when the payment should be captured.
-                        Providing this field will automatically set `capture` to true
-                    allOf:
-                        - $ref: "#/components/schemas/Timestamp"
-                amount_to_capture:
-                    type: integer
-                    description: |
-                        The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,
-                        If not provided, the default amount_to_capture will be the payment amount.
-                    minimum: 100
-                    example: 6540
-                customer_id:
-                    type: string
-                    description: The identifier for the customer object. If not provided the customer ID will be autogenerated.
-                    maxLength: 255
-                    example: cus_y3oqhf46pyzuxjbcn2giaqnb44
-                description:
-                    type: string
-                    description: A description of the payment
-                    maxLength: 255
-                    example: "Its my first payment request"
-                email:
-                    type: string
-                    format: email
-                    description: The customer's email address
-                    maxLength: 255
-                    example: JohnTest@test.com
-                name:
-                    type: string
-                    description: The customer's name
-                    maxLength: 255
-                    example: John Test
-                phone:
-                    type: string
-                    description: The customer's phone number
-                    maxLength: 255
-                    example: 9999999999
-                phone_country_code:
-                    type: string
-                    description: The ccountry code for the customer phone number
-                    maxLength: 255
-                    example: "+65"
-                setup_future_usage:
-                    type: string
-                    description: "Indicates that you intend to make future payments with this Payment’s payment method. Possible values are: (i) REQUIRED: The payment will be processed only with payment methods eligible for recurring payments (ii) OPTIONAL: The payment may/ may not be processed with payment methods eligible for recurring payments"
-                    enum:
-                        - required
-                        - optional
-                    example: required
-                authentication_type:
-                    type: string
-                    description: "The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS"
-                    enum:
-                        - three_ds
-                        - no_three_ds
-                    default: no_three_ds
-                payment_method:
-                    type: string
-                    description: The payment method
-                    enum:
-                        - card
-                        - bank_transfer
-                        - netbanking
-                        - upi
-                        - open_banking
-                        - consumer_finance
-                        - wallet
-                    default: three_ds
-                    example: automatic
-                payment_method_data:
-                    type: object
-                    description: The payment method information
-                    oneOf:
-                        - $ref: "#/components/schemas/CardData"
-                save_payment_method:
-                    type: boolean
-                    description: Enable this flag as true, if the user has consented for saving the payment method information
-                    default: false
-                    example: true
+                  city: "Bangalore"
+                  country: "IN"
+                  line1: "Juspay router"
+                  line2: "Koramangala"
+                  line3: "Stallion"
+                  state: "Karnataka"
+                  zip: "560095"
+                  first_name: "John"
+                  last_name: "Doe"
                 billing:
-                    type: object
-                    description: The billing address for the payment
-                    $ref: "#/components/schemas/Address"
-                shipping:
-                    type: object
-                    description: The shipping address for the payment
-                    $ref: "#/components/schemas/Address"
-                statement_descriptor_name:
-                    type: string
-                    description: For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.
-                    maxLength: 255
-                    example: "Juspay Router"
-                statement_descriptor_suffix:
-                    type: string
-                    description: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
-                    maxLength: 255
-                    example: "Payment for shoes purchase"
+                  city: "Bangalore"
+                  country: "IN"
+                  line1: "Juspay router"
+                  line2: "Koramangala"
+                  line3: "Stallion"
+                  state: "Karnataka"
+                  zip: "560095"
+                  first_name: "John"
+                  last_name: "Doe"
+                next_action:
+                  type: "redirect_to_url"
+                  redirect_to_url: "https://pg-redirect-page.com"
                 metadata:
-                    type: object
-                    description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
-                    maxLength: 255
-                    example: { "city": "NY", "unit": "245" }
-        PaymentsCaptureRequest:
-            type: object
-            properties:
-                amount_to_capture:
-                    type: integer
-                    description: |
-                        The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,
-                        If not provided, the default amount_to_capture will be the payment amount.
-                    minimum: 100
-                    example: 6540
-                statement_descriptor_name:
-                    type: string
-                    description: For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.
-                    maxLength: 255
-                    example: "Juspay Router"
-                statement_descriptor_suffix:
-                    type: string
-                    description: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
-                    maxLength: 255
-                    example: "Payment for shoes purchase"
-        PaymentsCancelRequest:
-            type: object
-            properties:
-                cancellation_reason:
-                    type: string
-                    description: Provides information on the reason for cancellation
-                    maxLength: 255
-                    example: "Timeout for payment completion"
-        PaymentsCreateResponse:
-            type: object
-            required:
-              - payment_id
-              - status
-              - amount
-              - currency
-              - mandate_id
+                  udf1: "value1"
+                  new_customer: "true"
+                  login_date: "2019-09-10T10:11:12Z"
+        "404":
+          description: Payment does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "payment_not_found"
+                  message: "Payment does not exist in records"
+        "400":
+          description: Invalid data
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_data"
+                  message: "Amount shall be passed as: <expected_data_type>"
 
-            description: Payment Response
-            properties:
-                payment_id:
-                    type: string
-                    description: |
-                        Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.
-                        If the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. 
-                        Sequential and only numeric characters are not recommended.
-                    maxLength: 30
-                    example: "pay_mbabizu24mvu3mela5njyhpit4"
-                status:
-                    type: string
-                    description: The status of the payment
-                    enum:
-                        - succeeded
-                        - failed
-                        - processing
-                        - requires_customer_action
-                        - requires_payment_method
-                        - requires_confirmation
-                        - required_capture
-                    example: succeeded
-                amount:
-                    type: integer
-                    description: |
-                        The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,
-                    minimum: 100
-                    example: 6540
-                currency:
-                    type: string
-                    description: |
-                        The three-letter ISO currency code
-                    example: USD
-                    maxLength: 3
-                    minLength: 3
-                cancellation_reason:
-                    type: string
-                    description: The reason for cancelling the payment
-                    maxLength: 255
-                    example: "Payment attempt expired"
-                    nullable: true
-                capture_method:
-                    type: string
-                    description: "This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time"
-                    enum:
-                        - automatic
-                        - manual
-                        - scheduled
-                    default: automatic
-                    example: automatic
-                capture_on:
-                    description: |
-                        A timestamp (ISO 8601 code) that determines when the payment should be captured.
-                        Providing this field will automatically set `capture` to true
-                    allOf:
-                        - $ref: "#/components/schemas/Timestamp"
-                amount_to_capture:
-                    type: integer
-                    description: |
-                        The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,
-                        If not provided, the default amount_to_capture will be the payment amount.
-                    minimum: 100
-                    example: 6540
-                    nullable: true
-                amount_capturable:
-                    type: integer
-                    description: The maximum amount that could be captured from the payment
-                    minimum: 100
-                    example: 6540
-                    nullable: true
-                amount_recieved:
-                    type: integer
-                    description: The amount which is already captured from the payment
-                    minimum: 100
-                    example: 6540
-                    nullable: true
-                customer_id:
-                    type: string
-                    description: The identifier for the customer object. If not provided the customer ID will be autogenerated.
-                    maxLength: 255
-                    example: cus_y3oqhf46pyzuxjbcn2giaqnb44
-                    nullable: true
-                email:
-                    type: string
-                    format: email
-                    description: The customer's email address
-                    maxLength: 255
-                    example: JohnTest@test.com
-                    nullable: true
-                name:
-                    type: string
-                    description: The customer's name
-                    maxLength: 255
-                    example: John Test
-                    nullable: true
-                phone:
-                    type: string
-                    description: The customer's phone number
-                    maxLength: 255
-                    example: 9999999999
-                    nullable: true
-                phone_country_code:
-                    type: string
-                    description: The ccountry code for the customer phone number
-                    maxLength: 255
-                    example: "+65"
-                    nullable: true
-                client_secret:
-                    type: string
-                    description: This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK
-                    example: "secret_k2uj3he2893ein2d"
-                    maxLength: 30
-                    minLength: 30
-                    nullable: true
-                description:
-                    type: string
-                    description: A description of the payment
-                    maxLength: 255
-                    example: "Its my first payment request"
-                    nullable: true
-                setup_future_usage:
-                    type: string
-                    description: "Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete."
-                    enum:
-                        - on_session
-                        - off_session
-                    example: off_session
-                off_session:
-                    type: boolean
-                    description: "Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true."
-                    example: true
-                mandate_id:
-                    type: string
-                    description: ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed
-                    example: "mandate_iwer89rnjef349dni3"                    
-                mandate_data:
-                    type: object
-                    description: This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.
-                    properties:
-                        customer_acceptance:
-                            type: object
-                            description: Details about the customer’s acceptance.
-                            $ref: "#/components/schemas/CustomerAcceptance"
-                authentication_type:
-                    type: string
-                    description: "The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS"
-                    enum:
-                        - three_ds
-                        - no_three_ds
-                    default: no_three_ds
-                    example: no_three_ds
-                billing:
-                    type: object
-                    description: The billing address for the payment
-                    $ref: "#/components/schemas/Address"
-                    nullable: true
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+    get:
+      parameters:
+        - in: path
+          name: id
+          schema:
+            type: string
+          required: true
+          description: unique payment id
+      tags:
+        - Payments
+      summary: Payments - Retrieve
+      operationId: retrievePayment
+      description: "To retrieve the properties of a Payment. This may be used to get the status of a previously initiated payment or next action for an ongoing payment"
+      responses:
+        "200":
+          description: Payment retrieved successfully
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/PaymentsCreateResponse"
+              example:
+                payment_id: "pay_mbabizu24mvu3mela5njyhpit4"
+                amount: 6540
+                currency: "USD"
+                status: "requires_customer_action"
+                merchant_id: "juspay_merchant"
+                capture_method: "automatic"
+                capture_on: "2022-09-10T10:11:12Z"
+                amount_to_capture: 6540
+                amount_capturable: 6540
+                customer_id: "cus_udst2tfldj6upmye2reztkmm4i"
+                email: "guest@example.com"
+                name: "John Doe"
+                phone: "999999999"
+                phone_country_code: "+65"
+                description: "Its my first payment request"
+                return_url: "http://example.com/payments"
+                setup_future_usage: "optional"
+                authentication_type: "no_three_ds"
                 shipping:
-                    type: object
-                    description: The shipping address for the payment
-                    $ref: "#/components/schemas/Address"
-                    nullable: true
-                statement_descriptor_name:
-                    type: string
-                    description: For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.
-                    maxLength: 255
-                    example: "Juspay Router"
-                    nullable: true
-                statement_descriptor_suffix:
-                    type: string
-                    description: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
-                    maxLength: 255
-                    example: "Payment for shoes purchase"
-                    nullable: true
+                  city: "Bangalore"
+                  country: "IN"
+                  line1: "Juspay router"
+                  line2: "Koramangala"
+                  line3: "Stallion"
+                  state: "Karnataka"
+                  zip: "560095"
+                  first_name: "John"
+                  last_name: "Doe"
+                billing:
+                  city: "Bangalore"
+                  country: "IN"
+                  line1: "Juspay router"
+                  line2: "Koramangala"
+                  line3: "Stallion"
+                  state: "Karnataka"
+                  zip: "560095"
+                  first_name: "John"
+                  last_name: "Doe"
                 next_action:
-                    type: object
-                    description: Provides information about the user action required to complete the payment.
-                    $ref: "#/components/schemas/NextAction"
+                  type: "redirect_to_url"
+                  redirect_to_url: "https://pg-redirect-page.com"
                 metadata:
-                    type: object
-                    description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
-                    maxLength: 255
-                    example: { "city": "NY", "unit": "245" }
-                    nullable: true
-        
-        MandateListResponse:
-            type: object
-            description: Mandate Payment Create Response
-            required:
-                - mandate_id
-                - status
-                - payment_method_id
-            properties:
-                    mandate_id:
-                        type: string
-                        description: |
-                            The unique id corresponding to the mandate.
-                        example: "mandate_end38934n12s923d0"
-                    status:
-                        type: string
-                        description: The status of the mandate, which indicates whether it can be used to initiate a payment.
-                        enum:
-                            - active
-                            - inactive
-                            - pending
-                            - revoked
-                        example: "active"
-                    type:
-                        type: string
-                        description: The type of the mandate. (i) single_use refers to one-time mandates and (ii) multi-user refers to multiple payments.
-                        enum:
-                            - multi_use
-                            - single_use
-                        default: "multi_use"
-                        example: "multi_use"
+                  udf1: "value1"
+                  new_customer: "true"
+                  login_date: "2019-09-10T10:11:12Z"
+        "404":
+          description: Payment does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "payment_not_found"
+                  message: "Payment does not exist in records"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+  /payments/{id}/capture:
+    post:
+      parameters:
+        - in: path
+          name: id
+          schema:
+            type: string
+          required: true
+          description: unique payment id
+      tags:
+        - Payments
+      summary: Payments - Capture
+      operationId: capturePayment
+      description: "To capture the funds for an uncaptured payment"
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: "#/components/schemas/PaymentsCaptureRequest"
+            example:
+              amount_to_capture: 6540
+              statement_descriptor_name: "Juspay"
+              statement_descriptor_suffix: "Router"
+      responses:
+        "200":
+          description: Payment captured
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/PaymentsCreateResponse"
+              example:
+                payment_id: "pay_mbabizu24mvu3mela5njyhpit4"
+                amount: 6540
+                currency: "USD"
+                status: "succeeded"
+                merchant_id: "juspay_merchant"
+                capture_method: "automatic"
+                capture_on: "2022-09-10T10:11:12Z"
+                amount_to_capture: 6540
+                amount_capturable: 0
+                customer_id: "cus_udst2tfldj6upmye2reztkmm4i"
+                email: "guest@example.com"
+                name: "John Doe"
+                phone: "999999999"
+                phone_country_code: "+65"
+                description: "Its my first payment request"
+                return_url: "http://example.com/payments"
+                setup_future_usage: "optional"
+                authentication_type: "no_three_ds"
+                shipping:
+                  city: "Bangalore"
+                  country: "IN"
+                  line1: "Juspay router"
+                  line2: "Koramangala"
+                  line3: "Stallion"
+                  state: "Karnataka"
+                  zip: "560095"
+                  first_name: "John"
+                  last_name: "Doe"
+                billing:
+                  city: "Bangalore"
+                  country: "IN"
+                  line1: "Juspay router"
+                  line2: "Koramangala"
+                  line3: "Stallion"
+                  state: "Karnataka"
+                  zip: "560095"
+                  first_name: "John"
+                  last_name: "Doe"
+                next_action: null
+                metadata:
+                  udf1: "value1"
+                  new_customer: "true"
+                  login_date: "2019-09-10T10:11:12Z"
+        "404":
+          description: Payment does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "payment_not_found"
+                  message: "Payment does not exist in records"
+        "400":
+          description: Invalid data
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_data"
+                  message: "Amount shall be passed as: <expected_data_type>"
 
-                    payment_method_id:
-                        type: string
-                        description: The id corresponding to the payment method.
-                        example: "pm_end38934n12s923d0"
-                    payment_method:
-                        type: string
-                        description: |
-                            The type of payment method use for the payment.
-                        enum:
-                            - card
-                            - payment_container
-                            - bank_transfer
-                            - bank_debit
-                            - pay_later
-                            - upi
-                            - netbanking
-                        example: card
-                    card:
-                        description: The card identifier information to be displayed on the user interface
-                        $ref: "#/components/schemas/CardPaymentMethodResponse"
-                    customer_acceptance:
-                        description: The card identifier information to be displayed on the user interface
-                        $ref: "#/components/schemas/CustomerAcceptance"
-        CustomerAcceptance:
-            type: object
-            description: Details about the customer’s acceptance of the mandate.
-            properties:
-                accepted_at:
-                    description: A timestamp (ISO 8601 code) that determines when the refund was created.
-                    $ref: "#/components/schemas/Timestamp"
-                online:
-                    type: object
-                    description: If this is a Mandate accepted online, this hash contains details about the online acceptance.
-                    $ref: "#/components/schemas/CustomerAcceptanceOnline"
-                acceptance_type:
-                    type: string
-                    description: The type of customer acceptance information included with the Mandate. One of online or offline.
-                    enum:
-                        - online
-                        - offline
-                    example: "online"
-        CustomerAcceptanceOnline:
-            type: object
-            description: If this is a Mandate accepted online, this hash contains details about the online acceptance.
-            properties:
-                ip_address:
-                    type: string
-                    description: The IP address from which the Mandate was accepted by the customer.
-                    example: "127.0.0.1"
-                user_agent:
-                    type: string
-                    description: The user agent of the browser from which the Mandate was accepted by the customer.
-                    example: "device"
-        PaymentMethodsCreateRequest:
-            type: object
-            required:
-                - payment_method
-            properties:
-                payment_method:
-                    type: string
-                    description: |
-                        The type of payment method use for the payment.
-                    enum:
-                        - card
-                        - payment_container
-                        - bank_transfer
-                        - bank_debit
-                        - pay_later
-                        - upi
-                        - netbanking
-                    example: card
-                payment_method_type:
-                    type: string
-                    description: |
-                        This is a sub-category of payment method.
-                    enum:
-                        - credit_card
-                        - debit_card
-                        - upi_intent
-                        - upi_collect
-                        - credit_card_installements
-                        - pay_later_installments
-                    example: credit_card
-                payment_method_issuer:
-                    type: string
-                    description: |
-                        The name of the bank/ provider issuing the payment method to the end user
-                    example: Citibank
-                payment_method_issuer_code:
-                    type: string
-                    description: |
-                        A standard code representing the issuer of payment method
-                    example: JP_APPLEPAY
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+  /payments/{id}/confirm:
+    post:
+      parameters:
+        - in: path
+          name: id
+          schema:
+            type: string
+          required: true
+          description: unique payment id
+      tags:
+        - Payments
+      summary: Payments - Confirm
+      operationId: confirmPayment
+      description: "This API is to confirm the payment request and forward payment to the payment processor. This API provides more granular control upon when the API is forwarded to the payment processor. Alternatively you can confirm the payment within the Payments-Create API"
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: "#/components/schemas/PaymentsConfirmRequest"
+            example:
+              return_url: "http://example.com/payments"
+              setup_future_usage: "optional"
+              authentication_type: "no_three_ds"
+              payment_method: "card"
+              save_payment_method: true
+              payment_method_data:
                 card:
-                    type: object
-                    $ref: "#/components/schemas/CardPaymentMethodRequest"
-                customer_id:
-                    type: string
-                    description: |
-                        The unique identifier of the Customer.
-                    example: "cus_mnewerunwiuwiwqw"
+                  card_number: "4242424242424242"
+                  card_exp_month: "10"
+                  card_exp_year: "35"
+                  card_holder_name: "John Doe"
+                  card_cvc: "123"
+              shipping:
+                city: "Bangalore"
+                country: "IN"
+                line1: "Juspay router"
+                line2: "Koramangala"
+                line3: "Stallion"
+                state: "Karnataka"
+                zip: "560095"
+                first_name: "John"
+                last_name: "Doe"
+              billing:
+                city: "Bangalore"
+                country: "IN"
+                line1: "Juspay router"
+                line2: "Koramangala"
+                line3: "Stallion"
+                state: "Karnataka"
+                zip: "560095"
+                first_name: "John"
+                last_name: "Doe"
+      responses:
+        "200":
+          description: Payment confirmed
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/PaymentsCreateResponse"
+              example:
+                amount: 6540
+                currency: "USD"
+                confirm: true
+                payment_id: "pay_mbabizu24mvu3mela5njyhpit4"
+                merchant_id: "juspay_merchant"
+                capture_method: "automatic"
+                capture_on: "2022-09-10T10:11:12Z"
+                amount_to_capture: 6540
+                customer_id: "cus_udst2tfldj6upmye2reztkmm4i"
+                email: "guest@example.com"
+                name: "John Doe"
+                phone: "999999999"
+                phone_country_code: "+65"
+                description: "Its my first payment request"
+                return_url: "http://example.com/payments"
+                setup_future_usage: "optional"
+                authentication_type: "no_three_ds"
+                payment_method: "card"
+                save_payment_method: true
+                payment_method_data:
+                  card:
+                    card_number: "4242424242424242"
+                    card_exp_month: "10"
+                    card_exp_year: "35"
+                    card_holder_name: "John Doe"
+                    card_cvc: "123"
+                statement_descriptor_name: "Juspay"
+                statement_descriptor_suffix: "Router"
+                shipping:
+                  city: "Bangalore"
+                  country: "IN"
+                  line1: "Juspay router"
+                  line2: "Koramangala"
+                  line3: "Stallion"
+                  state: "Karnataka"
+                  zip: "560095"
+                  first_name: "John"
+                  last_name: "Doe"
+                billing:
+                  city: "Bangalore"
+                  country: "IN"
+                  line1: "Juspay router"
+                  line2: "Koramangala"
+                  line3: "Stallion"
+                  state: "Karnataka"
+                  zip: "560095"
+                  first_name: "John"
+                  last_name: "Doe"
                 metadata:
-                    type: object
-                    description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
-                    example: { "city": "NY", "unit": "245" }
-        PaymentMethodsUpdateRequest:
-            type: object
-            properties:
-                card:
-                    type: object
-                    $ref: "#/components/schemas/CardPaymentMethodRequest"
+                  udf1: "value1"
+                  new_customer: "true"
+                  login_date: "2019-09-10T10:11:12Z"
+        "404":
+          description: Payment does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "payment_not_found"
+                  message: "Payment does not exist in records"
+        "400":
+          description: Invalid data
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_data"
+                  message: "cancellation_reason shall be passed as: <expected_data_type>"
+
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+  /payments/{id}/cancel:
+    post:
+      parameters:
+        - in: path
+          name: id
+          schema:
+            type: string
+          required: true
+          description: unique payment id
+      tags:
+        - Payments
+      summary: Payments - Cancel
+      operationId: cancelPayment
+      description: "A Payment could can be cancelled when it is in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_customer_action"
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: "#/components/schemas/PaymentsCancelRequest"
+            example:
+              cancellation_reason: "Payment attempt expired"
+      responses:
+        "200":
+          description: Payment cancelled
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/PaymentsCreateResponse"
+              example:
+                payment_id: "pay_mbabizu24mvu3mela5njyhpit4"
+                amount: 6540
+                currency: "USD"
+                cancellation_reason: "Payment attempt expired"
+                status: "cancelled"
+                merchant_id: "juspay_merchant"
+                capture_method: "automatic"
+                capture_on: "2022-09-10T10:11:12Z"
+                amount_to_capture: 6540
+                amount_capturable: 0
+                customer_id: "cus_udst2tfldj6upmye2reztkmm4i"
+                email: "guest@example.com"
+                name: "John Doe"
+                phone: "999999999"
+                phone_country_code: "+65"
+                description: "Its my first payment request"
+                return_url: "http://example.com/payments"
+                setup_future_usage: "optional"
+                authentication_type: "no_three_ds"
+                shipping:
+                  city: "Bangalore"
+                  country: "IN"
+                  line1: "Juspay router"
+                  line2: "Koramangala"
+                  line3: "Stallion"
+                  state: "Karnataka"
+                  zip: "560095"
+                  first_name: "John"
+                  last_name: "Doe"
                 billing:
-                    type: object
-                    $ref: "#/components/schemas/Address"
+                  city: "Bangalore"
+                  country: "IN"
+                  line1: "Juspay router"
+                  line2: "Koramangala"
+                  line3: "Stallion"
+                  state: "Karnataka"
+                  zip: "560095"
+                  first_name: "John"
+                  last_name: "Doe"
+                next_action: null
                 metadata:
-                    type: object
-                    description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
-                    example: { "city": "NY", "unit": "245" }
-        PaymentMethodsResponseObject:
-            type: object
-            required:
-                - payment_method_id
-                - payment_method
-                - recurring_enabled
-                - installment_enabled
-                - payment_experience
-            properties:
-                payment_method_id:
-                    type: string
-                    description: The identifier for the payment method object.
-                    maxLength: 30
-                    example: pm_y3oqhf46pyzuxjbcn2giaqnb44
-                payment_method:
-                    type: string
-                    description: |
-                        The type of payment method use for the payment.
-                    enum:
-                        - card
-                        - payment_container
-                        - bank_transfer
-                        - bank_debit
-                        - pay_later
-                        - upi
-                        - netbanking
-                    example: card
-                payment_method_type:
-                    type: string
-                    description: |
-                        This is a sub-category of payment method.
-                    enum:
-                        - credit_card
-                        - debit_card
-                        - upi_intent
-                        - upi_collect
-                        - credit_card_installements
-                        - pay_later_installments
-                    example: credit_card
-                payment_method_issuer:
-                    type: string
-                    description: |
-                        The name of the bank/ provider isuing the payment method to the end user
-                    example: Citibank
-                payment_method_issuer_code:
-                    type: string
-                    description: |
-                        A standard code representing the issuer of payment method
-                    example: PM_APPLEPAY
-                card:
-                    type: object
-                    $ref: "#/components/schemas/CardPaymentMethodResponse"
-                payment_scheme:
-                    type: array
-                    items:
-                        type: string
-                        description: |
-                            The network scheme to which the payment method belongs
-                        example: [MASTER, VISA]
-                accepted_country:
-                    type: array
-                    items:
-                        type: string
-                        description: |
-                            The two-letter ISO currency code
-                        example: [US, UK, IN]
-                        maxLength: 2
-                        minLength: 2
-                accepted_currency:
-                    type: array
-                    items:
-                        type: string
-                        description: |
-                            The three-letter ISO currency code
-                        example: [USD, EUR]
-                minimum_amount:
-                    type: integer
-                    description: |
-                        The minimum ammount accepted for processing by the particular payment method.
-                    example: 100
-                maximum_amount:
-                    type: integer
-                    description: |
-                        The minimum ammount accepted for processing by the particular payment method.
-                    example: 10000000
-                recurring_payment_enabled:
-                    type: boolean
-                    description: Indicates whether the payment method is eligible for recurring payments
-                    example: true
-                installment_payment_enabled:
-                    type: boolean
-                    description: Indicates whether the payment method is eligible for installment payments
-                    example: true
-                payment_experience:
-                    type: array
-                    items:
-                        type: string
-                        description: "This indicates type of action that is required in order to complete the payment with inputs from the user. This may involve actions such as redirecting the user to a URL, displaying a QR code, invoking the SDK client"
-                        enum:
-                            - redirect_to_url
-                            - display_qr_code
-                            - invoke_sdk_client
-                        example: ["redirect_to_url", "display_qr_code"]
-        PaymentMethodDeleteResponse:
-            type: object
-            description: Payment Method deletion confirmation
-            required:
-                - payment_method_id
-                - deleted
-            properties:
-                payment_method_id:
-                    type: string
-                    description: The identifier for the payment method object.
-                    maxLength: 30
-                    example: pm_y3oqhf46pyzuxjbcn2giaqnb44
-                deleted:
-                    type: boolean
-                    description: Indicates the deletion status of the payment method object.
-                    example: true
-        RefundsCreateRequest:
-            type: object
-            required:
-                - payment_id
-            properties:
-                amount:
-                    type: integer
-                    description: |
-                        Total amount for which the refund is to be initiated. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,
-                        If not provided, this will default to the full payment amount
-                    minimum: 100
-                    example: 6540
-                refund_id:
-                    type: string
-                    description: |
-                        Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment.
-                        If the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response.
-                        It is recommended to generate uuid(v4) as the refund_id.
-                    maxLength: 30
-                    minLength: 30
-                    example: "ref_mbabizu24mvu3mela5njyhpit4"
-                payment_id:
-                    type: string
-                    description: |
-                        Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.
-                        If the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. 
-                        Sequential and only numeric characters are not recommended.
-                    maxLength: 30
-                    minLength: 30
-                    example: "pay_mbabizu24mvu3mela5njyhpit4"
-                currency:
-                    type: string
-                    description: |
-                        The three-letter ISO currency code
-                    example: USD
-                    maxLength: 3
-                    minLength: 3
-                reason:
-                    type: string
-                    description: An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive
-                    maxLength: 255
-                    example: "Customer returned the product"
-                created_at:
-                    description: |
-                        A timestamp (ISO 8601 code) that determines when the refund was created.
-                    allOf:
-                        - $ref: "#/components/schemas/Timestamp"
+                  udf1: "value1"
+                  new_customer: "true"
+                  login_date: "2019-09-10T10:11:12Z"
+        "404":
+          description: Payment does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "payment_not_found"
+                  message: "Payment does not exist in records"
+        "400":
+          description: Invalid data
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_data"
+                  message: "cancellation_reason shall be passed as: <expected_data_type>"
+
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+  /refunds:
+    post:
+      tags:
+        - Refunds
+      summary: Refunds - Create
+      operationId: createRefunds
+      description: "To create a refund against an already processed payment"
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: "#/components/schemas/RefundsCreateRequest"
+            example:
+              payment_id: "pay_mbabizu24mvu3mela5njyhpit4"
+              refund_id: "a8537066-2569-4ac4-a7d3-87453387b09b"
+              amount: 100
+              currency: "USD"
+              reason: "Customer returned product"
+              metadata:
+                udf1: "value1"
+                new_customer: "true"
+                login_date: "2019-09-10T10:11:12Z"
+      responses:
+        "200":
+          description: Refund created
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/RefundsObject"
+              example:
+                payment_id: "pay_mbabizu24mvu3mela5njyhpit4"
+                refund_id: "a8537066-2569-4ac4-a7d3-87453387b09b"
+                amount: 100
+                status: "pending"
+                currency: "USD"
+                reason: "Customer returned product"
                 metadata:
-                    type: object
-                    description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
-                    maxLength: 255
-                    example: { "city": "NY", "unit": "245" }
-        RefundsUpdateRequest:
-            type: object
-            required:
-                - metadata
-            properties:
-                reason:
-                    type: string
-                    description: An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive
-                    maxLength: 255
-                    example: "Customer returned the product"
+                  udf1: "value1"
+                  new_customer: "true"
+                  login_date: "2019-09-10T10:11:12Z"
+                created_at: "2022-09-10T10:11:12Z"
+        "400":
+          description: Missing Mandatory fields
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "parameter_missing"
+                  message: "Missing required param: <parameter_name>"
+
+  /refunds/{id}:
+    post:
+      parameters:
+        - in: path
+          name: id
+          schema:
+            type: string
+          required: true
+          description: unique refund id
+      tags:
+        - Refunds
+      summary: Refunds - Update
+      operationId: updateRefund
+      description: "To update the properties of a Refund object. This may include attaching a reason for the refund or metadata fields"
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: "#/components/schemas/RefundsUpdateRequest"
+            example:
+              reason: "Customer returned product"
+              metadata:
+                udf1: "value1"
+                new_customer: "true"
+                login_date: "2019-09-10T10:11:12Z"
+      responses:
+        "200":
+          description: Refund updated
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/RefundsObject"
+              example:
+                payment_id: "pay_mbabizu24mvu3mela5njyhpit4"
+                refund_id: "a8537066-2569-4ac4-a7d3-87453387b09b"
+                amount: 100
+                status: "pending"
+                currency: "USD"
+                reason: "Customer returned product"
                 metadata:
-                    type: object
-                    description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
-                    maxLength: 255
-                    example: { "city": "NY", "unit": "245" }
-        RefundsObject:
-            type: object
-            required:
-                - amount
-                - refund_id
-                - payment_id
-                - currency
-                - status
-            properties:
-                amount:
-                    type: integer
-                    description: |
-                        The refund amount, which should be less than or equal to the toal payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,
-                    minimum: 1
-                    example: 6540
-                refund_id:
-                    type: string
-                    description: |
-                        Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment.
-                        If the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response.
-                        It is recommended to generate uuid(v4) as the refund_id.
-                    maxLength: 30
-                    minLength: 30
-                    example: "ref_mbabizu24mvu3mela5njyhpit4"
-                payment_id:
-                    type: string
-                    description: |
-                        Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.
-                        If the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. 
-                        Sequential and only numeric characters are not recommended.
-                    maxLength: 30
-                    example: "pay_mbabizu24mvu3mela5njyhpit4"
-                currency:
-                    type: string
-                    description: |
-                        The three-letter ISO currency code
-                    example: USD
-                    maxLength: 3
-                    minLength: 3
-                reason:
-                    type: string
-                    description: An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive
-                    maxLength: 255
-                    example: "Customer returned the product"
+                  udf1: "value1"
+                  new_customer: "true"
+                  login_date: "2019-09-10T10:11:12Z"
+                created_at: "2022-09-10T10:11:12Z"
+        "404":
+          description: Refund does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "refund_not_found"
+                  message: "Refund does not exist in records"
+        "400":
+          description: Invalid data
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_data"
+                  message: "Amount shall be passed as: <expected_data_type>"
+
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+    get:
+      parameters:
+        - in: path
+          name: id
+          schema:
+            type: string
+          required: true
+          description: unique refund id
+      tags:
+        - Refunds
+      summary: Refunds - Retrieve
+      operationId: retrieveRefund
+      description: "To retrieve the properties of a Refund. This may be used to get the status of a previously initiated payment or next action for an ongoing payment"
+      responses:
+        "200":
+          description: Refund retrieved successfully
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/RefundsObject"
+              example:
+                payment_id: "pay_mbabizu24mvu3mela5njyhpit4"
+                refund_id: "a8537066-2569-4ac4-a7d3-87453387b09b"
+                amount: 100
+                status: "pending"
+                currency: "USD"
+                reason: "Customer returned product"
                 metadata:
-                    type: object
-                    description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
-                    maxLength: 255
-                    example: { "city": "NY", "unit": "245" }
-        RefundResponse:
+                  udf1: "value1"
+                  new_customer: "true"
+                  login_date: "2019-09-10T10:11:12Z"
+                created_at: "2022-09-10T10:11:12Z"
+        "404":
+          description: Refund does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "refund_not_found"
+                  message: "Refund does not exist in records"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+
+  /payment_methods:
+    post:
+      tags:
+        - PaymentMethods
+      summary: PaymentMethods - Create
+      operationId: createPaymentMethodForCustomer
+      description: "To create a payment method against a customer object. In case of cards, this API could be used only by PCI compliant merchants"
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: "#/components/schemas/PaymentMethodsCreateRequest"
+      responses:
+        "200":
+          description: Payment Method Created
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/PaymentMethodsResponseObject"
+        "400":
+          description: Invalid data
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_data"
+                  message: "accepted_country shall be passed as: <expected_data_type>"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+  /payment_methods/{id}:
+    post:
+      parameters:
+        - in: path
+          name: id
+          schema:
+            type: string
+          required: true
+          description: The unique identifier for the payment method
+      tags:
+        - PaymentMethods
+      summary: PaymentMethods - Update
+      operationId: updatePaymentMethodForCustomer
+      description: "To update an existing a payment method attached to a customer object. This API is useful for use cases such as updating the card number for expired cards, to prevent discontinuity in recurring payments"
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: "#/components/schemas/PaymentMethodsUpdateRequest"
+      responses:
+        "200":
+          description: Payment Method Updated
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/PaymentMethodsResponseObject"
+        "404":
+          description: Payment Method does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "payment_method_not_found"
+                  message: "Payment Method does not exist in records"
+        "400":
+          description: Invalid data
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_data"
+                  message: "accepted_country shall be passed as: <expected_data_type>"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+  /payment_methods/{id}/detach:
+    post:
+      parameters:
+        - in: path
+          name: id
+          schema:
+            type: string
+          required: true
+          description: The unique identifier for the payment method
+      tags:
+        - PaymentMethods
+      summary: Delete PaymentMethods
+      operationId: deletePaymentMethods
+      description: Detaches a PaymentMethod object from a Customer.
+      responses:
+        "200":
+          description: Payment Method detached successfully
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/PaymentMethodDeleteResponse"
+        "404":
+          description: Payment Method does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "payment_method_not_found"
+                  message: "Payment Method does not exist in records"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+  /payment_methods/{merchant_id}:
+    get:
+      parameters:
+        - in: query
+          name: accepted_country
+          schema:
+            type: array
+            items:
+              type: string
+              description: |
+                The two-letter ISO currency code
+              example: [US, UK, IN]
+              maxLength: 2
+              minLength: 2
+        - in: query
+          name: accepted_currency
+          schema:
+            type: array
+            items:
+              type: string
+              description: |
+                The three-letter ISO currency code
+              example: [USD, EUR]
+        - in: query
+          name: minimum_amount
+          schema:
+            type: integer
+            description: The minimum amount accepted for processing by the particular payment method.
+            example: 100
+        - in: query
+          name: maximum_amount
+          schema:
+            type: integer
+            description: The minimum amount accepted for processing by the particular payment method.
+            example: 10000000
+        - in: query
+          name: recurring_payment_enabled
+          schema:
+            type: boolean
+            description: Indicates whether the payment method is eligible for recurring payments
+            example: true
+        - in: query
+          name: installment_payment_enabled
+          schema:
+            type: boolean
+            description: Indicates whether the payment method is eligible for installment payments
+            example: true
+      tags:
+        - PaymentMethods
+      summary: List payment methods for a Merchant
+      operationId: listPaymentMethodsByMerchantId
+      description: "To filter and list the applicable payment methods for a particular merchant id."
+      responses:
+        "200":
+          description: Payment Methods retrieved
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/ArrayOfMerchantPaymentMethods"
+        "404":
+          description: Payment Methods does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "payment_method_not_found"
+                  message: "Payment Methods does not exist in records"
+        "400":
+          description: Invalid data
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_data"
+                  message: "accepted_currency shall be passed as: <expected_data_type>"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+
+  /accounts:
+    post:
+      tags:
+        - MerchantAccounts
+      summary: Merchant Account - Create
+      operationId: createMerchantAccount
+      description: "Create a new account for a merchant. The merchant could be a seller or retailer or client who likes to receive and send payments."
+      security:
+        - AdminSecretKey: []
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: "#/components/schemas/MerchantAccountCreateRequest"
+      responses:
+        "200":
+          description: Merchant Account Created
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/MerchantAccountResponse"
+        "400":
+          description: Invalid data
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_data"
+                  message: "merchant_name can't be empty or null"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+  /accounts/{id}:
+    get:
+      parameters:
+        - in: path
+          name: id
+          schema:
+            type: string
+          required: true
+          description: The unique identifier for the merchant account
+      tags:
+        - MerchantAccounts
+      summary: Merchant Account - Retrieve
+      operationId: retrieveMerchantAccount
+      description: Retrieve a merchant account details.
+      security:
+        - AdminSecretKey: []
+      responses:
+        "200":
+          description: Merchant Account retrieved successfully
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/MerchantAccountResponse"
+        "404":
+          description: Merchant Account does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "merchant_account_not_found"
+                  message: "Merchant Account does not exist in records"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+    post:
+      parameters:
+        - in: path
+          name: id
+          schema:
+            type: string
+          required: true
+          description: The unique identifier for the merchant account
+      tags:
+        - MerchantAccounts
+      summary: Merchant Account - Update
+      operationId: updateMerchantAccount
+      description: "To update an existing merchant account. Helpful in updating merchant details such as email, contact details, or other configuration details like webhook, routing algorithm etc"
+      security:
+        - AdminSecretKey: []
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: "#/components/schemas/MerchantAccountUpdateRequest"
+      responses:
+        "200":
+          description: Merchant Account Updated
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/MerchantAccountResponse"
+        "404":
+          description: Merchant Account does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "merchant_account_not_found"
+                  message: "Merchant Account does not exist in records"
+        "400":
+          description: Invalid data
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_data"
+                  message: "Update Field can't be empty"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+    delete:
+      parameters:
+        - in: path
+          name: id
+          schema:
+            type: string
+          required: true
+          description: The unique identifier for the merchant account
+      tags:
+        - MerchantAccounts
+      summary: Merchant Account - Delete
+      operationId: deleteMerchantAccount
+      description: Delete a Merchant Account
+      security:
+        - AdminSecretKey: []
+      responses:
+        "200":
+          description: Merchant Account deleted successfully
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/MerchantAccountDeleteResponse"
+        "404":
+          description: Merchant Account does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "merchant_account_not_found"
+                  message: "Merchant Account does not exist in records"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+  /customers/{customer_id}/mandates:
+    get:
+      parameters:
+        - in: path
+          name: customer_id
+          schema:
+            type: string
+          required: true
+          description: Unique customer id for which the list of mandates to be retrieved.
+      tags:
+        - Mandates
+      summary: Mandate - List all mandates against a customer id
+      operationId: listMandateDetails
+      description: "To list the all the mandates for a customer"
+      responses:
+        "200":
+          description: Customer's mandates retrieved successfully
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  type: object
+                  $ref: "#/components/schemas/MandateListResponse"
+        "404":
+          description: Payment does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "payment_not_found"
+                  message: "Payment does not exist in records"
+        "400":
+          description: Invalid data
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_data"
+                  message: "Amount shall be passed as: <expected_data_type>"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+  /customers/{customer_id}/payment_methods:
+    get:
+      parameters:
+        # - in: path
+        #   name: customer_id
+        #   schema:
+        #       type: string
+        #   required: true
+        #   description: The unique ID for the Customer.
+        - in: query
+          name: accepted_country
+          schema:
+            type: array
+            items:
+              type: string
+              description: |
+                The two-letter ISO currency code
+              example: ["US", "UK", "IN"]
+              maxLength: 2
+              minLength: 2
+        - in: query
+          name: accepted_currency
+          schema:
             type: array
             items:
+              type: string
+              description: |
+                The three-letter ISO currency code
+              example: ["USD", "EUR"]
+        - in: query
+          name: minimum_amount
+          schema:
+            type: integer
+            description: |
+              The minimum amount accepted for processing by the particular payment method.
+            example: 100
+        - in: query
+          name: maximum_amount
+          schema:
+            type: integer
+            description: |
+              The minimum amount accepted for processing by the particular payment method.
+            example: 10000000
+        - in: query
+          name: recurring_payment_enabled
+          schema:
+            type: boolean
+            description: Indicates whether the payment method is eligible for recurring payments
+            example: true
+        - in: query
+          name: installment_payment_enabled
+          schema:
+            type: boolean
+            description: Indicates whether the payment method is eligible for installment payments
+            example: true
+      security:
+        - ApiSecretKey: []
+      tags:
+        - PaymentMethods
+      summary: List payment methods for a Customer
+      operationId: listPaymentMethodsByCustomerId
+      description: "To filter and list the applicable payment methods for a particular Customer ID"
+      responses:
+        "200":
+          description: Payment Methods retrieved
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/CustomerPaymentMethods"
+        "404":
+          description: Payment Methods does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "payment_method_not_found"
+                  message: "Payment Methods does not exist in records"
+        "400":
+          description: Invalid data
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_data"
+                  message: "accepted_currency shall be passed as: <expected_data_type>"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+  /mandates/{id}:
+    get:
+      parameters:
+        - in: path
+          name: id
+          schema:
+            type: string
+          required: true
+          description: Unique mandate id
+      tags:
+        - Mandates
+      summary: Mandate - List details of a mandate
+      operationId: listMandateDetails
+      description: "To list the details of a mandate"
+      # requestBody:
+      #     content:
+      #         application/json:
+      #             schema:
+      #                 $ref: "#/components/schemas/MandateListResponse"
+      responses:
+        "200":
+          description: Mandate retrieved successfully
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/MandateListResponse"
+        "404":
+          description: Mandate does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "payment_not_found"
+                  message: "Payment does not exist in records"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+  /mandates/{id}/revoke:
+    post:
+      parameters:
+        - in: path
+          name: id
+          schema:
+            type: string
+          required: true
+          description: Unique mandate id
+      tags:
+        - Mandates
+      summary: Mandate - Revoke a mandate
+      operationId: revokeMandateDetails
+      description: "To revoke a mandate registered against a customer"
+      # requestBody:
+      #     content:
+      #         application/json:
+      #             schema:
+      #                 type: object
+      #                 properties:
+      #                     command:
+      #                         type: string
+      #                         description: The command for revoking a mandate.
+      #                         example: "revoke"
+      responses:
+        "200":
+          description: Mandate Revoked
+          content:
+            application/json:
+              schema:
                 type: object
                 properties:
-                    amount:
-                        type: integer
-                        description: |
-                            The refund amount, which should be less than or equal to the toal payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,
-                        minimum: 1
-                        example: 6540
-                    refund_id:
-                        type: string
-                        description: |
-                            Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment.
-                            If the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response.
-                            It is recommended to generate uuid(v4) as the refund_id.
-                        maxLength: 30
-                        minLength: 30
-                        example: "ref_mbabizu24mvu3mela5njyhpit4"
-                    payment_id:
-                        type: string
-                        description: |
-                            Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.
-                            If the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. 
-                            Sequential and only numeric characters are not recommended.
-                        maxLength: 30
-                        minLength: 30
-                        example: "pay_mbabizu24mvu3mela5njyhpit4"
-                    currency:
-                        type: string
-                        description: |
-                            The three-letter ISO currency code
-                        example: USD
-                        maxLength: 3
-                        minLength: 3
-                    reason:
-                        type: string
-                        description: An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive
-                        maxLength: 255
-                        example: "Customer returned the product"
-                    metadata:
-                        type: object
-                        description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
-                        maxLength: 255
-                        example: { "city": "NY", "unit": "245" }
-        CardData:
-            type: object
-            description: Card Data
-            properties:
-                card_number:
-                    type: string
-                    description: The card number
-                    maxLength: 30
-                    minLength: 30
-                    example: "4242424242424242"
-                card_exp_month:
-                    type: string
-                    description: The expiry month for the card
-                    maxLength: 2
-                    minLength: 2
-                    example: "10"
-                card_exp_year:
-                    type: string
-                    description: Expiry year for the card
-                    maxLength: 2
-                    minLength: 2
-                    example: "25"
-                card_holder_name:
-                    type: string
-                    description: The name of card holder
-                    maxLength: 255
-                    minLength: 1
-                    example: "John Doe"
-                card_cvc:
+                  mandate_id:
                     type: string
-                    description: The cvc number
-                    maxLength: 4
-                    minLength: 3
-                    example: "123"
-                card_token:
-                    type: string
-                    description: The token provided against a user's saved card. The token would be valid for 15 minutes.
-                    minLength: 30
-                    maxLength: 30
-                    example: "tkn_78892490hfh3r834rd"
-        CardPaymentMethodRequest:
+                    description: |
+                      The unique id corresponding to the mandate.
+                    example: "mandate_end38934n12s923d0"
+                  status:
+                    type: string
+                    description: The status of the mandate.
+                    example: "revoked"
+        "404":
+          description: Mandate does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "payment_not_found"
+                  message: "Payment does not exist in records"
+        "400":
+          description: Invalid data
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_data"
+                  message: "command shall be passed as: <expected_data_type>"
+        # "400":
+        #     description: Invalid parameter
+        #     content:
+        #         application/json:
+        #             schema:
+        #                 $ref: "#/components/responses/BadRequestError"
+        #             example:
+        #                 error:
+        #                     type: "invalid_request_error"
+        #                     code: "invalid_parameter"
+        #                     message: "The return_url cannot be passed unless confirm is set to true"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+
+  /account/{account_id}/connectors:
+    post:
+      parameters:
+        - in: path
+          name: account_id
+          schema:
+            type: string
+          required: true
+          description: The unique identifier for the merchant account
+      tags:
+        - PaymentConnectors
+      summary: Payment Connector - Create
+      operationId: createPaymentConnector
+      description: "Create a new Payment Connector for the merchant account. The connector could be a payment processor / facilitator / acquirer or specialized services like Fraud / Accounting etc."
+      security:
+        - AdminSecretKey: []
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: "#/components/schemas/PaymentConnectorCreateRequest"
+      responses:
+        "200":
+          description: Payment Connector Created
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/PaymentConnectorResponse"
+        "400":
+          description: Invalid data
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_data"
+                  message: "connector_name can't be empty or null"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+  /account/{account_id}/connectors/{connector_id}:
+    get:
+      parameters:
+        - in: path
+          name: account_id
+          schema:
+            type: string
+          required: true
+          description: The unique identifier for the merchant account
+        - in: path
+          name: connector_id
+          schema:
+            type: string
+          required: true
+          description: The unique identifier for the payment connector
+      tags:
+        - PaymentConnectors
+      summary: Payment Connector - Retrieve
+      operationId: retrievePaymentConnector
+      description: Retrieve Payment Connector details.
+      security:
+        - AdminSecretKey: []
+      responses:
+        "200":
+          description: Payment Connector retrieved successfully
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/PaymentConnectorResponse"
+        "404":
+          description: Payment Connector does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "payment_connector_not_found"
+                  message: "Payment Connector does not exist in records"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+    post:
+      parameters:
+        - in: path
+          name: id1
+          schema:
+            type: string
+          required: true
+          description: The unique identifier for the merchant account
+        - in: path
+          name: id2
+          schema:
+            type: string
+          required: true
+          description: The unique identifier for the payment connector
+      tags:
+        - PaymentConnectors
+      summary: Payment Connector - Update
+      operationId: updatePaymentConnector
+      description: "To update an existing Payment Connector. Helpful in enabling / disabling different payment methods and other settings for the connector etc"
+      security:
+        - AdminSecretKey: []
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: "#/components/schemas/PaymentConnectorUpdateRequest"
+      responses:
+        "200":
+          description: Payment Connector Updated
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/PaymentConnectorResponse"
+        "404":
+          description: Payment Connector does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "payment_connector_not_found"
+                  message: "Payment Connector does not exist in records"
+        "400":
+          description: Invalid data
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_data"
+                  message: "Update Field can't be empty"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+    delete:
+      parameters:
+        - in: path
+          name: id1
+          schema:
+            type: string
+          required: true
+          description: The unique identifier for the merchant account
+        - in: path
+          name: id2
+          schema:
+            type: string
+          required: true
+          description: The unique identifier for the payment connector
+      tags:
+        - PaymentConnectors
+      summary: Payment Connector - Delete
+      operationId: deletePaymentConnector
+      description: Delete or Detach a Payment Connector from Merchant Account
+      security:
+        - AdminSecretKey: []
+      responses:
+        "200":
+          description: Payment Connector detached successfully
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/PaymentConnectorDeleteResponse"
+        "404":
+          description: Payment Connector does not exist in records
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "object_not_found"
+                  code: "payment_connector_not_found"
+                  message: "Payment Connector does not exist in records"
+        "401":
+          description: Unauthorized request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+              example:
+                error:
+                  type: "invalid_request_error"
+                  code: "invalid_api_authentication"
+                  message: "Access forbidden, invalid api-key was used"
+
+components:
+  schemas:
+    ArrayOfMerchantPaymentMethods:
+      type: array
+      items:
+        properties:
+          payment_method:
+            type: string
+            $ref: "#/components/schemas/PaymentMethod"
+            example: card
+          payment_method_types:
+            type: array
+            items:
+              $ref: "#/components/schemas/PaymentMethodType"
+              example: [CREDIT]
+          payment_method_issuers:
+            type: array
+            description: List of payment method issuers to be enabled for this payment method
+            items:
+              type: string
+              example: [CHASE, WELLS_FARGO]
+          payment_method_issuer_codes:
+            type: string
+            description: |
+              A standard code representing the issuer of payment method
+            example: [PM_CHASE, PM_WELLS]
+          payment_schemes:
+            type: array
+            description: List of payment schemes accepted or has the processing capabilities of the processor
+            items:
+              $ref: "#/components/schemas/PaymentSchemes"
+              example: [MASTER, VISA, DINERS]
+          accepted_currencies:
+            type: array
+            description: List of currencies accepted or has the processing capabilities of the processor
+            items:
+              $ref: "#/components/schemas/CurrencyISO"
+              example: [USD, EUR, AED]
+          accepted_countries:
+            type: array
+            description: List of Countries accepted or has the processing capabilities of the processor
+            items:
+              $ref: "#/components/schemas/CountryISO"
+              example: [US, IN]
+          minimum_amount:
+            type: integer
+            description: Minimum amount supported by the processor. To be represented in the lowest denomination of the target currency (For example, for USD it should be in cents)
+            example: 1
+          maximum_amount:
+            type: integer
+            description: Maximum amount supported by the processor. To be represented in the lowest denomination of the target currency (For example, for USD it should be in cents)
+            example: null
+          recurring_enabled:
+            type: boolean
+            description: Boolean to enable recurring payments / mandates. Default is true.
+            example: true
+          installment_payment_enabled:
+            type: boolean
+            description: Boolean to enable installment / EMI / BNPL payments. Default is true.
+            example: true
+          payment_experience:
+            type: array
+            description: Type of payment experience enabled with the connector
+            items:
+              $ref: "#/components/schemas/NextAction"
+            example: ["redirect_to_url"]
+          # payment_method:
+          #     type: string
+          #     description: |
+          #         The type of payment method use for the payment.
+          #     enum:
+          #         - card
+          #         - payment_container
+          #         - bank_transfer
+          #         - bank_debit
+          #         - pay_later
+          #         - upi
+          #         - netbanking
+          #     example: card
+          # payment_method_type:
+          #     type: string
+          #     description: |
+          #         This is a sub-category of payment method.
+          #     enum:
+          #         - credit_card
+          #         - debit_card
+          #         - upi_intent
+          #         - upi_collect
+          #         - credit_card_installments
+          #         - pay_later_installments
+          #     example: credit_card
+          # payment_method_issuer:
+          #     type: string
+          #     description: |
+          #         The name of the bank/ provider issuing the payment method to the end user
+          #     example: Citibank
+          # payment_method_issuer_code:
+          #     type: string
+          #     description: |
+          #         A standard code representing the issuer of payment method
+          #     example: PM_CHASE
+          # accepted_country:
+          #     type: array
+          #     items:
+          #         type: string
+          #         description: |
+          #             The two-letter ISO currency code
+          #         example: [US, UK, IN]
+          #         maxLength: 2
+          #         minLength: 2
+          # accepted_currency:
+          #     type: array
+          #     items:
+          #         type: string
+          #         description: |
+          #             The three-letter ISO currency code
+          #         example: [USD, EUR]
+          # minimum_amount:
+          #     type: integer
+          #     description: |
+          #         The minimum amount accepted for processing by the particular payment method.
+          #     example: 100
+          # maximum_amount:
+          #     type: integer
+          #     description: |
+          #         The minimum amount accepted for processing by the particular payment method.
+          #     example: 10000000
+          # recurring_payment_enabled:
+          #     type: boolean
+          #     description: Indicates whether the payment method is eligible for recurring payments
+          #     example: true
+          # installment_payment_enabled:
+          #     type: boolean
+          #     description: Indicates whether the payment method is eligible for installment payments
+          #     example: true
+          # payment_experience:
+          #     type: array
+          #     items:
+          #         type: string
+          #         description: "This indicates type of next_action (refer the response of Payment Create ) that is required in order to complete the payment with inputs from the user. This may involve actions such as redirecting the user to a URL, displaying a QR code, invoking the SDK client"
+          #         enum:
+          #             - redirect_to_url
+          #             - display_qr_code
+          #             - invoke_sdk_client
+          #         example: ["redirect_to_url", "display_qr_code"]
+
+    CustomerPaymentMethods:
+      type: object
+      properties:
+        enabled_payment_methods:
+          type: array
+          items:
             type: object
-            description: Card Payment Method Information
-            properties:
-                card_number:
-                    type: string
-                    description: The card number
-                    maxLength: 30
-                    minLength: 30
-                    example: "4242424242424242"
-                card_exp_month:
-                    type: string
-                    description: The expiry month for the card
-                    maxLength: 2
-                    minLength: 2
-                    example: "10"
-                card_exp_year:
-                    type: string
-                    description: Expiry year for the card
-                    maxLength: 2
-                    minLength: 2
-                    example: "25"
-                card_holder_name:
-                    type: string
-                    description: The name of card holder
-                    maxLength: 255
-                    minLength: 1
-                    example: "John Doe"
-        CardPaymentMethodResponse:
+            $ref: "#/components/schemas/PaymentMethodsEnabled"
+        customer_payment_methods:
+          type: array
+          items:
             type: object
-            description: Card Payment Method object
-            properties:
-                last4_digits:
-                    type: string
-                    description: The last four digits of the case which could be displayed to the end user for identification.
-                    example: "xxxxxxxxxxxx4242"
-                card_exp_month:
-                    type: string
-                    description: The expiry month for the card
-                    maxLength: 2
-                    minLength: 2
-                    example: "10"
-                card_exp_year:
-                    type: string
-                    description: Expiry year for the card
-                    maxLength: 2
-                    minLength: 2
-                    example: "25"
-                card_holder_name:
-                    type: string
-                    description: The name of card holder
-                    maxLength: 255
-                    example: "Arun Raj"
-                card_token:
-                    type: string
-                    description: The token provided against a user's saved card. The token would be valid for 15 minutes.
-                    minLength: 30
-                    maxLength: 30
-                    example: "tkn_78892490hfh3r834rd"
-                scheme:
-                    type: string
-                    description: The card scheme network for the particular card
-                    example: "MASTER"
-                issuer_country:
-                    type: string
-                    description: The country code in in which the card was issued
-                    minLength: 2
-                    maxLength: 2
-                    example: "US"
-                card_fingerprint:
-                    type: string
-                    description: A unique identifier alias to identify a particular card.
-                    minLength: 30
-                    maxLength: 30
-                    example: "fpt_78892490hfh3r834rd"
+            description: Refers to the Parent Merchant ID if the merchant being created is a sub-merchant
+            $ref: "#/components/schemas/PaymentMethodsResponseObject"
 
-        MerchantAccountCreateRequest:
-            type: object
-            description: The Merchant Account details
-            required:
-                - merchant_id
-            properties:
-                merchant_id:
-                    type: string
-                    description: The identifier for the Merchant Account.
-                    maxLength: 255
-                    example: y3oqhf46pyzuxjbcn2giaqnb44
-                # create request may not have the api_key as it is the first time the API services are invoked
-                # api_key:
-                #     type: string
-                #     description: The public security key for accessing the APIs
-                #     maxLength: 255
-                #     example: xkkdf909012sdjki2dkh5sdf
-                merchant_name:
-                    type: string
-                    description: Name of the merchant
-                    example: NewAge Retailer
-                merchant_details:
-                    type: object
-                    description: Details about the merchant including contact person, email, address, website, business description etc
-                    $ref: "#/components/schemas/MerchantDetails"
-                return_url:
-                    type: string
-                    description: The URL to redirect after the completion of the operation
-                    maxLength: 255
-                    example: "www.example.com/success"
-                webhook_details:
-                    type: object
-                    description: The features for Webhook
-                    $ref: "#/components/schemas/WebhookDetails"
-                routing_algorithm:
-                    type: string
-                    description: The routing algorithm to be used to process the incoming request from merchant to outgoing payment processor or payment method. The default is CUSTOM if
-                    enum:
-                        - round_robin
-                        - max_conversion
-                        - min_cost
-                        - custom
-                    maxLength: 255
-                    example: custom
-                custom_routing_rules:
-                    type: array
-                    description: An array of custom routing rules
-                    $ref: "#/components/schemas/ArrayOfRoutingRules"
-                sub_merchants_enabled:
-                    type: boolean
-                    description: A boolean value to indicate if the merchant is a sub-merchant under a master or a parent merchant. By default, its value is false.
-                    maxLength: 255
-                    example: false
-                parent_merchant_id:
-                    type: string
-                    description: Refers to the Parent Merchant ID if the merchant being created is a sub-merchant
-                    maxLength: 255
-                    example: "xkkdf909012sdjki2dkh5sdf"
-                metadata:
-                    type: object
-                    description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
-                    maxLength: 255
-                    example: { "city": "NY", "unit": "245" }
+    # ArrayOfCustomerPaymentMethods:
+    #     type: array
+    #     items:
+    #         type: object
+    #         properties:
+    #             payment_method_id:
+    #                 type: string
+    #                 description: |
+    #                     The id corresponding to the payment method.
+    #                 example: "pm_end38934n12s923d0"
+    #             payment_method:
+    #                 type: string
+    #                 description: |
+    #                     The type of payment method use for the payment.
+    #                 enum:
+    #                     - card
+    #                     - payment_container
+    #                     - bank_transfer
+    #                     - bank_debit
+    #                     - pay_later
+    #                     - upi
+    #                     - netbanking
+    #                 example: card
+    #             payment_method_type:
+    #                 type: string
+    #                 description: |
+    #                     This is a sub-category of payment method.
+    #                 enum:
+    #                     - credit_card
+    #                     - debit_card
+    #                     - upi_intent
+    #                     - upi_collect
+    #                     - credit_card_installments
+    #                     - pay_later_installments
+    #                 example: credit_card
+    #             payment_method_issuer:
+    #                 type: string
+    #                 description: |
+    #                     The name of the bank/ provider issuing the payment method to the end user
+    #                 example: Citibank
+    #             payment_method_issuer_code:
+    #                 type: string
+    #                 description: |
+    #                     A standard code representing the issuer of payment method
+    #                     example: PM_CHASE
+    #             payment_scheme:
+    #                 type: array
+    #                 items:
+    #                     type: string
+    #                     description: |
+    #                         The network scheme to which the payment method belongs
+    #                     example: [MASTER, VISA]
+    #             accepted_country:
+    #                 type: array
+    #                 items:
+    #                     type: string
+    #                     description: |
+    #                         The two-letter ISO currency code
+    #                     example: [US, UK, IN]
+    #                     maxLength: 2
+    #                     minLength: 2
+    #             accepted_currency:
+    #                 type: array
+    #                 items:
+    #                     type: string
+    #                     description: |
+    #                         The three-letter ISO currency code
+    #                     example: [USD, EUR]
+    #             minimum_amount:
+    #                 type: integer
+    #                 description: |
+    #                     The minimum amount accepted for processing by the particular payment method.
+    #                 example: 100
+    #             maximum_amount:
+    #                 type: integer
+    #                 description: |
+    #                     The minimum amount accepted for processing by the particular payment method.
+    #                 example: 10000000
+    #             recurring_payment_enabled:
+    #                 type: boolean
+    #                 description: Indicates whether the payment method is eligible for recurring payments
+    #                 example: true
+    #             installment_payment_enabled:
+    #                 type: boolean
+    #                 description: Indicates whether the payment method is eligible for installment payments
+    #                 example: true
+    #             payment_experience:
+    #                 type: array
+    #                 items:
+    #                     type: string
+    #                     description: "This indicates type of next_action (refer the response of Payment Create ) that is required in order to complete the payment with inputs from the user. This may involve actions such as redirecting the user to a URL, displaying a QR code, invoking the SDK client"
+    #                     enum:
+    #                         - redirect_to_url
+    #                         - display_qr_code
+    #                         - invoke_sdk_client
+    #                     example: ["redirect_to_url", "display_qr_code"]
+    #             card:
+    #                 description: The card identifier information to be displayed on the user interface
+    #                 $ref: "#/components/schemas/CardPaymentMethodResponse"
+    #             metadata:
+    #                 type: object
+    #                 description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
+    #                 maxLength: 255
+    #                 example: { "city": "NY", "unit": "245" }
+    Address:
+      type: object
+      properties:
+        line1:
+          type: string
+          description: The first line of the address
+          maxLength: 200
+          example: Juspay Router
+        line2:
+          type: string
+          description: The second line of the address
+          maxLength: 200
+          example: Koramangala
+        line3:
+          type: string
+          description: The second line of the address
+          maxLength: 200
+          example: Stallion
+        city:
+          type: string
+          description: The address city
+          maxLength: 50
+          example: Bangalore
+        state:
+          type: string
+          description: The address state
+          maxLength: 50
+          example: Karnataka
+        zip:
+          type: string
+          description: The address zip/postal code
+          maxLength: 50
+          example: "560095"
+        country:
+          type: string
+          description: The two-letter ISO country code
+          example: IN
+          maxLength: 2
+          minLength: 2
+    CustomerCreateRequest:
+      type: object
+      description: The customer details
+      properties:
+        customer_id:
+          type: string
+          description: The identifier for the customer object. If not provided the customer ID will be autogenerated.
+          maxLength: 255
+          example: cus_y3oqhf46pyzuxjbcn2giaqnb44
+        email:
+          type: string
+          format: email
+          description: The customer's email address
+          maxLength: 255
+          example: JohnTest@test.com
+        name:
+          type: string
+          description: The customer's name
+          maxLength: 255
+          example: John Test
+        phone_country_code:
+          type: string
+          description: The country code for the customer phone number
+          maxLength: 255
+          example: "+65"
+        phone:
+          type: string
+          description: The customer's phone number
+          maxLength: 255
+          example: 9999999999
+        description:
+          type: string
+          description: An arbitrary string that you can attach to a customer object.
+          maxLength: 255
+          example: First customer
+        address:
+          type: object
+          description: The address for the customer
+          $ref: "#/components/schemas/Address"
+        metadata:
+          type: object
+          description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
+          maxLength: 255
+          example: { "city": "NY", "unit": "245" }
+    CustomerUpdateRequest:
+      type: object
+      description: The customer details to be updated
+      properties:
+        email:
+          type: string
+          format: email
+          description: The customer's email address
+          maxLength: 255
+          example: JohnTest@test.com
+        name:
+          type: string
+          description: The customer's name
+          maxLength: 255
+          example: John Test
+        phone_country_code:
+          type: string
+          description: The country code for the customer phone number
+          maxLength: 255
+          example: "+65"
+        phone:
+          type: string
+          description: The customer's phone number
+          maxLength: 255
+          example: 9999999999
+        address:
+          type: object
+          description: The address for the customer
+          $ref: "#/components/schemas/Address"
+        description:
+          type: string
+          description: An arbitrary string that you can attach to a customer object.
+          maxLength: 255
+          example: First customer
+        metadata:
+          type: object
+          description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
+          maxLength: 255
+          example: { "city": "NY", "unit": "245" }
+    CustomerCreateResponse:
+      type: object
+      description: Customer
+      required:
+        - customer_id
+      properties:
+        customer_id:
+          type: string
+          description: The identifier for the customer object. If not provided the customer ID will be autogenerated.
+          maxLength: 255
+          example: cus_y3oqhf46pyzuxjbcn2giaqnb44
+        email:
+          type: string
+          format: email
+          description: The customer's email address
+          maxLength: 255
+          example: JohnTest@test.com
+        name:
+          type: string
+          description: The customer's name
+          maxLength: 255
+          example: John Test
+        phone_country_code:
+          type: object
+          description: The country code for the customer phone number
+          maxLength: 255
+          example: +65
+        phone:
+          type: object
+          description: The customer's phone number
+          maxLength: 255
+          example: 9999999999
+        address:
+          type: object
+          description: The address for the customer
+          $ref: "#/components/schemas/Address"
+        description:
+          type: object
+          description: An arbitrary string that you can attach to a customer object.
+          maxLength: 255
+          example: First customer
+        metadata:
+          type: object
+          description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
+          maxLength: 255
+          example: { "city": "NY", "unit": "245" }
+    CustomerDeleteResponse:
+      type: object
+      description: Customer
+      required:
+        - customer_id
+        - deleted
+      properties:
+        customer_id:
+          type: string
+          description: The identifier for the customer object. If not provided the customer ID will be autogenerated.
+          maxLength: 255
+          example: cus_y3oqhf46pyzuxjbcn2giaqnb44
+        deleted:
+          type: boolean
+          description: Indicates the deletion status of the customer object.
+          example: true
+    UpdateCustomerRequest:
+      type: object
+      description: The customer attached to the instrument
+      properties:
+        email:
+          description: The email address of the customer
+          type: string
+          example: JohnTest@test.com
+        name:
+          description: The name of the customer
+          type: string
+          example: John Test
+        default:
+          description: The instrument ID for this customer’s default instrument
+          type: string
+          example: src_imu3wifxfvlebpqqq5usjrze6y
+        phone:
+          type: object
+          description: The customer's phone number
+          example: "9999999999"
+        address:
+          type: object
+          description: The address for the customer
+          $ref: "#/components/schemas/Address"
+        metadata:
+          type: object
+          description: Allows you to store additional information about a customer. You can include a maximum of 10 key-value pairs. Each key and value can be up to 100 characters long.
+          example:
+            coupon_code: "NY2018"
+            partner_id: 123989
+    PaymentsCreateRequest:
+      type: object
+      required:
+        - amount
+        - currency
+      properties:
+        amount:
+          type: integer
+          description: |
+            The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,
+          minimum: 100
+          example: 6540
+        currency:
+          type: string
+          description: |
+            The three-letter ISO currency code
+          example: USD
+          maxLength: 3
+          minLength: 3
+        payment_id:
+          type: string
+          description: |
+            Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.
+            If the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. 
+            Sequential and only numeric characters are not recommended.
+          maxLength: 30
+          minLength: 30
+          example: "pay_mbabizu24mvu3mela5njyhpit4"
+        confirm:
+          type: boolean
+          description: Whether to confirm the payment (if applicable)
+          default: false
+          example: true
+        capture_method:
+          type: string
+          description: "This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time"
+          enum:
+            - automatic
+            - manual
+            - scheduled
+          default: automatic
+          example: automatic
+        capture_on:
+          description: |
+            A timestamp (ISO 8601 code) that determines when the payment should be captured.
+            Providing this field will automatically set `capture` to true
+          allOf:
+            - $ref: "#/components/schemas/Timestamp"
+        amount_to_capture:
+          type: integer
+          description: |
+            The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,
+            If not provided, the default amount_to_capture will be the payment amount.
+          minimum: 100
+          example: 6540
+        customer_id:
+          type: string
+          description: The identifier for the customer object. If not provided the customer ID will be autogenerated.
+          maxLength: 255
+          example: cus_y3oqhf46pyzuxjbcn2giaqnb44
+        description:
+          type: string
+          description: A description of the payment
+          maxLength: 255
+          example: "Its my first payment request"
+        email:
+          type: string
+          format: email
+          description: The customer's email address
+          maxLength: 255
+          example: JohnTest@test.com
+        name:
+          type: string
+          description: The customer's name
+          maxLength: 255
+          example: John Test
+        phone:
+          type: string
+          description: The customer's phone number
+          maxLength: 255
+          example: 9999999999
+        phone_country_code:
+          type: string
+          description: The country code for the customer phone number
+          maxLength: 255
+          example: "+65"
+        return_url:
+          type: string
+          description: The URL to redirect after the completion of the operation
+          maxLength: 255
+          example: "https://juspay.io/"
+        setup_future_usage:
+          type: string
+          description: "Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete."
+          enum:
+            - on_session
+            - off_session
+          example: off_session
+        off_session:
+          type: boolean
+          description: "Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true."
+          example: true
+        mandate_data:
+          type: object
+          description: This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.
+          properties:
+            customer_acceptance:
+              type: object
+              description: Details about the customer’s acceptance.
+              $ref: "#/components/schemas/CustomerAcceptance"
+        mandate_id:
+          type: string
+          description: ID of the mandate to be used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not available.
+          example: "mandate_iwer89rnjef349dni3"
+        authentication_type:
+          type: string
+          description: "The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS"
+          enum:
+            - three_ds
+            - three_ds_2
+            - no_three_ds
+          default: no_three_ds
+          example: no_three_ds
+        payment_method:
+          type: string
+          description: "The payment method"
+          enum:
+            - card
+            - bank_transfer
+            - netbanking
+            - upi
+            - open_banking
+            - consumer_finance
+            - wallet
+          example: card
+        payment_method_data:
+          type: object
+          description: The payment method information
+          properties:
+            card:
+              type: object
+              description: payment card
+              oneOf:
+                - $ref: "#/components/schemas/CardData"
+        # save_payment_method:
+        #     type: boolean
+        #     description: Enable this flag as true, if the user has consented for saving the payment method information
+        #     default: false
+        #     example: true
+        billing:
+          type: object
+          description: The billing address for the payment
+          $ref: "#/components/schemas/Address"
+        shipping:
+          type: object
+          description: The shipping address for the payment
+          $ref: "#/components/schemas/Address"
+        statement_descriptor_name:
+          type: string
+          description: For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.
+          maxLength: 255
+          example: "Juspay Router"
+        statement_descriptor_suffix:
+          type: string
+          description: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
+          maxLength: 255
+          example: "Payment for shoes purchase"
+        metadata:
+          type: object
+          description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
+          maxLength: 255
+          example: { "city": "NY", "unit": "245" }
 
-        MerchantAccountUpdateRequest:
-            type: object
-            description: The Merchant Account details to be updated
-            required:
-                - merchant_id
-            properties:
-                merchant_id:
-                    type: string
-                    description: The identifier for the Merchant Account.
-                    maxLength: 255
-                    example: y3oqhf46pyzuxjbcn2giaqnb44
-                # api_key:
-                #     type: string
-                #     description: The public security key for accessing the APIs
-                #     maxLength: 255
-                #     example: xkkdf909012sdjki2dkh5sdf
-                merchant_name:
-                    type: string
-                    description: Name of the merchant
-                    example: NewAge Retailer
-                merchant_details:
-                    type: object
-                    description: Details about the merchant including contact person, email, address, website, business description etc
-                    $ref: "#/components/schemas/MerchantDetails"
-                return_url:
-                    type: string
-                    description: The URL to redirect after the completion of the operation
-                    maxLength: 255
-                    example: "www.example.com/success"
-                webhook_details:
-                    type: object
-                    description: The features for Webhook
-                    $ref: "#/components/schemas/WebhookDetails"
-                routing_algorithm:
-                    type: string
-                    description: The routing algorithm to be used to process the incoming request from merchant to outgoing payment processor or payment method. The default is CUSTOM if
-                    enum:
-                        - round_robin
-                        - max_conversion
-                        - min_cost
-                        - custom
-                    maxLength: 255
-                    example: custom
-                custom_routing_rules:
-                    type: array
-                    description: An array of custom routing rules
-                    $ref: "#/components/schemas/ArrayOfRoutingRules"
-                sub_merchants_enabled:
-                    type: boolean
-                    description: A boolean value to indicate if the merchant is a sub-merchant under a master or a parent merchant. By default, its value is false.
-                    maxLength: 255
-                    example: false
-                parent_merchant_id:
-                    type: string
-                    description: Refers to the Parent Merchant ID if the merchant being created is a sub-merchant
-                    maxLength: 255
-                    example: "xkkdf909012sdjki2dkh5sdf"
-                metadata:
-                    type: object
-                    description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
-                    maxLength: 255
-                    example: { "city": "NY", "unit": "245" }
+    PaymentsConfirmRequest:
+      type: object
+      properties:
+        return_url:
+          type: string
+          description: The URL to redirect after the completion of the operation
+          maxLength: 255
+          example: "www.example.com/success"
+        setup_future_usage:
+          type: string
+          description: "Indicates that you intend to make future payments with this Payment’s payment method. Possible values are: (i) REQUIRED: The payment will be processed only with payment methods eligible for recurring payments (ii) OPTIONAL: The payment may/ may not be processed with payment methods eligible for recurring payments"
+          enum:
+            - required
+            - optional
+          example: required
+        authentication_type:
+          type: string
+          description: "The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS"
+          enum:
+            - three_ds
+            - no_three_ds
+          default: no_three_ds
+        payment_method:
+          type: string
+          description: "The payment method"
+          enum:
+            - card
+            - bank_transfer
+            - netbanking
+            - upi
+            - open_banking
+            - consumer_finance
+            - wallet
+          default: three_ds
+          example: automatic
+        payment_method_data:
+          type: object
+          description: The payment method information
+          oneOf:
+            - $ref: "#/components/schemas/CardData"
+        save_payment_method:
+          type: boolean
+          description: Enable this flag as true, if the user has consented for saving the payment method information
+          default: false
+          example: true
+        billing:
+          type: object
+          description: The billing address for the payment
+          $ref: "#/components/schemas/Address"
+        shipping:
+          type: object
+          description: The shipping address for the payment
+          $ref: "#/components/schemas/Address"
+    PaymentsUpdateRequest:
+      type: object
+      properties:
+        amount:
+          type: integer
+          description: |
+            The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,
+          minimum: 100
+          example: 6540
+        currency:
+          type: string
+          description: |
+            The three-letter ISO currency code
+          example: USD
+          maxLength: 3
+          minLength: 3
+        capture_method:
+          type: string
+          description: "This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time"
+          enum:
+            - automatic
+            - manual
+            - scheduled
+          default: automatic
+          example: automatic
+        capture_on:
+          description: |
+            A timestamp (ISO 8601 code) that determines when the payment should be captured.
+            Providing this field will automatically set `capture` to true
+          allOf:
+            - $ref: "#/components/schemas/Timestamp"
+        amount_to_capture:
+          type: integer
+          description: |
+            The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,
+            If not provided, the default amount_to_capture will be the payment amount.
+          minimum: 100
+          example: 6540
+        customer_id:
+          type: string
+          description: The identifier for the customer object. If not provided the customer ID will be autogenerated.
+          maxLength: 255
+          example: cus_y3oqhf46pyzuxjbcn2giaqnb44
+        description:
+          type: string
+          description: A description of the payment
+          maxLength: 255
+          example: "Its my first payment request"
+        email:
+          type: string
+          format: email
+          description: The customer's email address
+          maxLength: 255
+          example: JohnTest@test.com
+        name:
+          type: string
+          description: The customer's name
+          maxLength: 255
+          example: John Test
+        phone:
+          type: string
+          description: The customer's phone number
+          maxLength: 255
+          example: 9999999999
+        phone_country_code:
+          type: string
+          description: The country code for the customer phone number
+          maxLength: 255
+          example: "+65"
+        setup_future_usage:
+          type: string
+          description: "Indicates that you intend to make future payments with this Payment’s payment method. Possible values are: (i) REQUIRED: The payment will be processed only with payment methods eligible for recurring payments (ii) OPTIONAL: The payment may/ may not be processed with payment methods eligible for recurring payments"
+          enum:
+            - required
+            - optional
+          example: required
+        authentication_type:
+          type: string
+          description: "The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS"
+          enum:
+            - three_ds
+            - no_three_ds
+          default: no_three_ds
+        payment_method:
+          type: string
+          description: The payment method
+          enum:
+            - card
+            - bank_transfer
+            - netbanking
+            - upi
+            - open_banking
+            - consumer_finance
+            - wallet
+          default: three_ds
+          example: automatic
+        payment_method_data:
+          type: object
+          description: The payment method information
+          oneOf:
+            - $ref: "#/components/schemas/CardData"
+        save_payment_method:
+          type: boolean
+          description: Enable this flag as true, if the user has consented for saving the payment method information
+          default: false
+          example: true
+        billing:
+          type: object
+          description: The billing address for the payment
+          $ref: "#/components/schemas/Address"
+        shipping:
+          type: object
+          description: The shipping address for the payment
+          $ref: "#/components/schemas/Address"
+        statement_descriptor_name:
+          type: string
+          description: For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.
+          maxLength: 255
+          example: "Juspay Router"
+        statement_descriptor_suffix:
+          type: string
+          description: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
+          maxLength: 255
+          example: "Payment for shoes purchase"
+        metadata:
+          type: object
+          description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
+          maxLength: 255
+          example: { "city": "NY", "unit": "245" }
+    PaymentsCaptureRequest:
+      type: object
+      properties:
+        amount_to_capture:
+          type: integer
+          description: |
+            The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,
+            If not provided, the default amount_to_capture will be the payment amount.
+          minimum: 100
+          example: 6540
+        statement_descriptor_name:
+          type: string
+          description: For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.
+          maxLength: 255
+          example: "Juspay Router"
+        statement_descriptor_suffix:
+          type: string
+          description: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
+          maxLength: 255
+          example: "Payment for shoes purchase"
+    PaymentsCancelRequest:
+      type: object
+      properties:
+        cancellation_reason:
+          type: string
+          description: Provides information on the reason for cancellation
+          maxLength: 255
+          example: "Timeout for payment completion"
+    PaymentsCreateResponse:
+      type: object
+      required:
+        - payment_id
+        - status
+        - amount
+        - currency
+        - mandate_id
 
-        #Standard Response for all API requests
-        MerchantAccountResponse:
-            type: object
-            description: Merchant Account
-            required:
-                - merchant_id
-            properties:
-                merchant_id:
-                    type: string
-                    description: The identifier for the Merchant Account.
-                    maxLength: 255
-                    example: y3oqhf46pyzuxjbcn2giaqnb44
-                api_key:
-                    type: string
-                    description: The public security key for accessing the APIs
-                    maxLength: 255
-                    example: xkkdf909012sdjki2dkh5sdf
-                merchant_name:
-                    type: string
-                    description: Name of the merchant
-                    example: NewAge Retailer
-                merchant_details:
-                    type: object
-                    description: Details about the merchant including contact person, email, address, website, business description etc
-                    $ref: "#/components/schemas/MerchantDetails"
-                webhook_details:
-                    type: object
-                    description: The features for Webhook
-                    $ref: "#/components/schemas/WebhookDetails"
-                routing_algorithm:
-                    type: string
-                    description: The routing algorithm to be used to process the incoming request from merchant to outgoing payment processor or payment method. The default is CUSTOM if
-                    enum:
-                        - round_robin
-                        - max_conversion
-                        - min_cost
-                        - custom
-                    maxLength: 255
-                    example: custom
-                custom_routing_rules:
-                    type: array
-                    description: An array of custom routing rules
-                    $ref: "#/components/schemas/ArrayOfRoutingRules"
-                sub_merchants_enabled:
-                    type: boolean
-                    description: A boolean value to indicate if the merchant is a sub-merchant under a master or a parent merchant. By default, its value is false.
-                    maxLength: 255
-                    example: false
-                parent_merchant_id:
-                    type: string
-                    description: Refers to the Parent Merchant ID if the merchant being created is a sub-merchant
-                    maxLength: 255
-                    example: "xkkdf909012sdjki2dkh5sdf"
-                metadata:
-                    type: object
-                    description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
-                    maxLength: 255
-                    example: { "city": "NY", "unit": "245" }
+      description: Payment Response
+      properties:
+        payment_id:
+          type: string
+          description: |
+            Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.
+            If the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. 
+            Sequential and only numeric characters are not recommended.
+          maxLength: 30
+          example: "pay_mbabizu24mvu3mela5njyhpit4"
+        status:
+          type: string
+          description: The status of the payment
+          enum:
+            - succeeded
+            - failed
+            - processing
+            - requires_customer_action
+            - requires_payment_method
+            - requires_confirmation
+            - required_capture
+          example: succeeded
+        amount:
+          type: integer
+          description: |
+            The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,
+          minimum: 100
+          example: 6540
+        currency:
+          type: string
+          description: |
+            The three-letter ISO currency code
+          example: USD
+          maxLength: 3
+          minLength: 3
+        cancellation_reason:
+          type: string
+          description: The reason for cancelling the payment
+          maxLength: 255
+          example: "Payment attempt expired"
+          nullable: true
+        capture_method:
+          type: string
+          description: "This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time"
+          enum:
+            - automatic
+            - manual
+            - scheduled
+          default: automatic
+          example: automatic
+        capture_on:
+          description: |
+            A timestamp (ISO 8601 code) that determines when the payment should be captured.
+            Providing this field will automatically set `capture` to true
+          allOf:
+            - $ref: "#/components/schemas/Timestamp"
+        amount_to_capture:
+          type: integer
+          description: |
+            The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,
+            If not provided, the default amount_to_capture will be the payment amount.
+          minimum: 100
+          example: 6540
+          nullable: true
+        amount_capturable:
+          type: integer
+          description: The maximum amount that could be captured from the payment
+          minimum: 100
+          example: 6540
+          nullable: true
+        amount_recieved:
+          type: integer
+          description: The amount which is already captured from the payment
+          minimum: 100
+          example: 6540
+          nullable: true
+        customer_id:
+          type: string
+          description: The identifier for the customer object. If not provided the customer ID will be autogenerated.
+          maxLength: 255
+          example: cus_y3oqhf46pyzuxjbcn2giaqnb44
+          nullable: true
+        email:
+          type: string
+          format: email
+          description: The customer's email address
+          maxLength: 255
+          example: JohnTest@test.com
+          nullable: true
+        name:
+          type: string
+          description: The customer's name
+          maxLength: 255
+          example: John Test
+          nullable: true
+        phone:
+          type: string
+          description: The customer's phone number
+          maxLength: 255
+          example: 9999999999
+          nullable: true
+        phone_country_code:
+          type: string
+          description: The country code for the customer phone number
+          maxLength: 255
+          example: "+65"
+          nullable: true
+        client_secret:
+          type: string
+          description: This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK
+          example: "secret_k2uj3he2893ein2d"
+          maxLength: 30
+          minLength: 30
+          nullable: true
+        description:
+          type: string
+          description: A description of the payment
+          maxLength: 255
+          example: "Its my first payment request"
+          nullable: true
+        setup_future_usage:
+          type: string
+          description: "Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete."
+          enum:
+            - on_session
+            - off_session
+          example: off_session
+        off_session:
+          type: boolean
+          description: "Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true."
+          example: true
+        mandate_id:
+          type: string
+          description: ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed
+          example: "mandate_iwer89rnjef349dni3"
+        mandate_data:
+          type: object
+          description: This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.
+          properties:
+            customer_acceptance:
+              type: object
+              description: Details about the customer’s acceptance.
+              $ref: "#/components/schemas/CustomerAcceptance"
+        authentication_type:
+          type: string
+          description: "The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS"
+          enum:
+            - three_ds
+            - no_three_ds
+          default: no_three_ds
+          example: no_three_ds
+        billing:
+          type: object
+          description: The billing address for the payment
+          $ref: "#/components/schemas/Address"
+          nullable: true
+        shipping:
+          type: object
+          description: The shipping address for the payment
+          $ref: "#/components/schemas/Address"
+          nullable: true
+        statement_descriptor_name:
+          type: string
+          description: For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.
+          maxLength: 255
+          example: "Juspay Router"
+          nullable: true
+        statement_descriptor_suffix:
+          type: string
+          description: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
+          maxLength: 255
+          example: "Payment for shoes purchase"
+          nullable: true
+        next_action:
+          type: object
+          description: Provides information about the user action required to complete the payment.
+          $ref: "#/components/schemas/NextAction"
+        metadata:
+          type: object
+          description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
+          maxLength: 255
+          example: { "city": "NY", "unit": "245" }
+          nullable: true
 
-        MerchantAccountDeleteResponse:
-            type: object
-            description: Merchant Account
-            required:
-                - merchant_id
-                - deleted
-            properties:
-                merchant_id:
-                    type: string
-                    description: The identifier for the MerchantAccount object.
-                    maxLength: 255
-                    example: y3oqhf46pyzuxjbcn2giaqnb44
-                deleted:
-                    type: boolean
-                    description: Indicates the deletion status of the Merchant Account object.
-                    example: true
+    MandateListResponse:
+      type: object
+      description: Mandate Payment Create Response
+      required:
+        - mandate_id
+        - status
+        - payment_method_id
+      properties:
+        mandate_id:
+          type: string
+          description: |
+            The unique id corresponding to the mandate.
+          example: "mandate_end38934n12s923d0"
+        status:
+          type: string
+          description: The status of the mandate, which indicates whether it can be used to initiate a payment.
+          enum:
+            - active
+            - inactive
+            - pending
+            - revoked
+          example: "active"
+        type:
+          type: string
+          description: The type of the mandate. (i) single_use refers to one-time mandates and (ii) multi-user refers to multiple payments.
+          enum:
+            - multi_use
+            - single_use
+          default: "multi_use"
+          example: "multi_use"
 
-        PaymentConnectorCreateRequest:
+        payment_method_id:
+          type: string
+          description: The id corresponding to the payment method.
+          example: "pm_end38934n12s923d0"
+        payment_method:
+          type: string
+          description: |
+            The type of payment method use for the payment.
+          enum:
+            - card
+            - payment_container
+            - bank_transfer
+            - bank_debit
+            - pay_later
+            - upi
+            - netbanking
+          example: card
+        card:
+          description: The card identifier information to be displayed on the user interface
+          $ref: "#/components/schemas/CardPaymentMethodResponse"
+        customer_acceptance:
+          description: The card identifier information to be displayed on the user interface
+          $ref: "#/components/schemas/CustomerAcceptance"
+    CustomerAcceptance:
+      type: object
+      description: Details about the customer’s acceptance of the mandate.
+      properties:
+        accepted_at:
+          description: A timestamp (ISO 8601 code) that determines when the refund was created.
+          $ref: "#/components/schemas/Timestamp"
+        online:
+          type: object
+          description: If this is a Mandate accepted online, this hash contains details about the online acceptance.
+          $ref: "#/components/schemas/CustomerAcceptanceOnline"
+        acceptance_type:
+          type: string
+          description: The type of customer acceptance information included with the Mandate. One of online or offline.
+          enum:
+            - online
+            - offline
+          example: "online"
+    CustomerAcceptanceOnline:
+      type: object
+      description: If this is a Mandate accepted online, this hash contains details about the online acceptance.
+      properties:
+        ip_address:
+          type: string
+          description: The IP address from which the Mandate was accepted by the customer.
+          example: "127.0.0.1"
+        user_agent:
+          type: string
+          description: The user agent of the browser from which the Mandate was accepted by the customer.
+          example: "device"
+    PaymentMethodsCreateRequest:
+      type: object
+      required:
+        - payment_method
+      properties:
+        payment_method:
+          type: string
+          description: |
+            The type of payment method use for the payment.
+          enum:
+            - card
+            - payment_container
+            - bank_transfer
+            - bank_debit
+            - pay_later
+            - upi
+            - netbanking
+          example: card
+        payment_method_type:
+          type: string
+          description: |
+            This is a sub-category of payment method.
+          enum:
+            - credit_card
+            - debit_card
+            - upi_intent
+            - upi_collect
+            - credit_card_installments
+            - pay_later_installments
+          example: credit_card
+        payment_method_issuer:
+          type: string
+          description: |
+            The name of the bank/ provider issuing the payment method to the end user
+          example: Citibank
+        payment_method_issuer_code:
+          type: string
+          description: |
+            A standard code representing the issuer of payment method
+          example: JP_APPLEPAY
+        card:
+          type: object
+          $ref: "#/components/schemas/CardPaymentMethodRequest"
+        customer_id:
+          type: string
+          description: |
+            The unique identifier of the Customer.
+          example: "cus_mnewerunwiuwiwqw"
+        metadata:
+          type: object
+          description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
+          example: { "city": "NY", "unit": "245" }
+    PaymentMethodsUpdateRequest:
+      type: object
+      properties:
+        card:
+          type: object
+          $ref: "#/components/schemas/CardPaymentMethodRequest"
+        billing:
+          type: object
+          $ref: "#/components/schemas/Address"
+        metadata:
+          type: object
+          description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
+          example: { "city": "NY", "unit": "245" }
+    PaymentMethodsResponseObject:
+      type: object
+      required:
+        - payment_method_id
+        - payment_method
+        - recurring_enabled
+        - installment_enabled
+        - payment_experience
+      properties:
+        payment_method_id:
+          type: string
+          description: The identifier for the payment method object.
+          maxLength: 30
+          example: pm_y3oqhf46pyzuxjbcn2giaqnb44
+        payment_method:
+          type: string
+          description: |
+            The type of payment method use for the payment.
+          enum:
+            - card
+            - payment_container
+            - bank_transfer
+            - bank_debit
+            - pay_later
+            - upi
+            - netbanking
+          example: card
+        payment_method_type:
+          type: string
+          description: |
+            This is a sub-category of payment method.
+          enum:
+            - credit_card
+            - debit_card
+            - upi_intent
+            - upi_collect
+            - credit_card_installments
+            - pay_later_installments
+          example: credit_card
+        payment_method_issuer:
+          type: string
+          description: |
+            The name of the bank/ provider issuing the payment method to the end user
+          example: Citibank
+        payment_method_issuer_code:
+          type: string
+          description: |
+            A standard code representing the issuer of payment method
+          example: PM_APPLEPAY
+        card:
+          type: object
+          $ref: "#/components/schemas/CardPaymentMethodResponse"
+        payment_scheme:
+          type: array
+          items:
+            type: string
+            description: |
+              The network scheme to which the payment method belongs
+            example: [MASTER, VISA]
+        accepted_country:
+          type: array
+          items:
+            type: string
+            description: |
+              The two-letter ISO currency code
+            example: [US, UK, IN]
+            maxLength: 2
+            minLength: 2
+        accepted_currency:
+          type: array
+          items:
+            type: string
+            description: |
+              The three-letter ISO currency code
+            example: [USD, EUR]
+        minimum_amount:
+          type: integer
+          description: |
+            The minimum amount accepted for processing by the particular payment method.
+          example: 100
+        maximum_amount:
+          type: integer
+          description: |
+            The minimum amount accepted for processing by the particular payment method.
+          example: 10000000
+        recurring_payment_enabled:
+          type: boolean
+          description: Indicates whether the payment method is eligible for recurring payments
+          example: true
+        installment_payment_enabled:
+          type: boolean
+          description: Indicates whether the payment method is eligible for installment payments
+          example: true
+        payment_experience:
+          type: array
+          items:
+            type: string
+            description: "This indicates type of action that is required in order to complete the payment with inputs from the user. This may involve actions such as redirecting the user to a URL, displaying a QR code, invoking the SDK client"
+            enum:
+              - redirect_to_url
+              - display_qr_code
+              - invoke_sdk_client
+            example: ["redirect_to_url", "display_qr_code"]
+    PaymentMethodDeleteResponse:
+      type: object
+      description: Payment Method deletion confirmation
+      required:
+        - payment_method_id
+        - deleted
+      properties:
+        payment_method_id:
+          type: string
+          description: The identifier for the payment method object.
+          maxLength: 30
+          example: pm_y3oqhf46pyzuxjbcn2giaqnb44
+        deleted:
+          type: boolean
+          description: Indicates the deletion status of the payment method object.
+          example: true
+    RefundsCreateRequest:
+      type: object
+      required:
+        - payment_id
+      properties:
+        amount:
+          type: integer
+          description: |
+            Total amount for which the refund is to be initiated. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,
+            If not provided, this will default to the full payment amount
+          minimum: 100
+          example: 6540
+        refund_id:
+          type: string
+          description: |
+            Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment.
+            If the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response.
+            It is recommended to generate uuid(v4) as the refund_id.
+          maxLength: 30
+          minLength: 30
+          example: "ref_mbabizu24mvu3mela5njyhpit4"
+        payment_id:
+          type: string
+          description: |
+            Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.
+            If the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. 
+            Sequential and only numeric characters are not recommended.
+          maxLength: 30
+          minLength: 30
+          example: "pay_mbabizu24mvu3mela5njyhpit4"
+        currency:
+          type: string
+          description: |
+            The three-letter ISO currency code
+          example: USD
+          maxLength: 3
+          minLength: 3
+        reason:
+          type: string
+          description: An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive
+          maxLength: 255
+          example: "Customer returned the product"
+        created_at:
+          description: |
+            A timestamp (ISO 8601 code) that determines when the refund was created.
+          allOf:
+            - $ref: "#/components/schemas/Timestamp"
+        metadata:
+          type: object
+          description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
+          maxLength: 255
+          example: { "city": "NY", "unit": "245" }
+    RefundsUpdateRequest:
+      type: object
+      required:
+        - metadata
+      properties:
+        reason:
+          type: string
+          description: An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive
+          maxLength: 255
+          example: "Customer returned the product"
+        metadata:
+          type: object
+          description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
+          maxLength: 255
+          example: { "city": "NY", "unit": "245" }
+    RefundsObject:
+      type: object
+      required:
+        - amount
+        - refund_id
+        - payment_id
+        - currency
+        - status
+      properties:
+        amount:
+          type: integer
+          description: |
+            The refund amount, which should be less than or equal to the total payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,
+          minimum: 1
+          example: 6540
+        refund_id:
+          type: string
+          description: |
+            Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment.
+            If the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response.
+            It is recommended to generate uuid(v4) as the refund_id.
+          maxLength: 30
+          minLength: 30
+          example: "ref_mbabizu24mvu3mela5njyhpit4"
+        payment_id:
+          type: string
+          description: |
+            Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.
+            If the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. 
+            Sequential and only numeric characters are not recommended.
+          maxLength: 30
+          example: "pay_mbabizu24mvu3mela5njyhpit4"
+        currency:
+          type: string
+          description: |
+            The three-letter ISO currency code
+          example: USD
+          maxLength: 3
+          minLength: 3
+        reason:
+          type: string
+          description: An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive
+          maxLength: 255
+          example: "Customer returned the product"
+        metadata:
+          type: object
+          description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
+          maxLength: 255
+          example: { "city": "NY", "unit": "245" }
+    RefundResponse:
+      type: array
+      items:
+        type: object
+        properties:
+          amount:
+            type: integer
+            description: |
+              The refund amount, which should be less than or equal to the total payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,
+            minimum: 1
+            example: 6540
+          refund_id:
+            type: string
+            description: |
+              Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment.
+              If the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response.
+              It is recommended to generate uuid(v4) as the refund_id.
+            maxLength: 30
+            minLength: 30
+            example: "ref_mbabizu24mvu3mela5njyhpit4"
+          payment_id:
+            type: string
+            description: |
+              Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.
+              If the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. 
+              Sequential and only numeric characters are not recommended.
+            maxLength: 30
+            minLength: 30
+            example: "pay_mbabizu24mvu3mela5njyhpit4"
+          currency:
+            type: string
+            description: |
+              The three-letter ISO currency code
+            example: USD
+            maxLength: 3
+            minLength: 3
+          reason:
+            type: string
+            description: An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive
+            maxLength: 255
+            example: "Customer returned the product"
+          metadata:
             type: object
-            description: The Payment Connector details
-            required:
-                - merchant_id
-                - connector_type
-                - connector_name
-            properties:
-                merchant_id:
-                    type: string
-                    description: The identifier for the Merchant Account.
-                    maxLength: 255
-                    example: y3oqhf46pyzuxjbcn2giaqnb44
-                connector_type:
-                    type: string
-                    description: Type of the Connector for the financial use case. Could range from Payments to Accounting to Banking.
-                    $ref: "#/components/schemas/ConnectorType"
-                connector_name:
-                    type: string
-                    description: Name of the Connector
-                    $ref: "#/components/schemas/PaymentConnector"
-                # connector_id:
-                #     type: integer
-                #     description: Unique ID of the connector. It is returned in the Reponse.
-                connector_account_details:
-                    type: object
-                    description: Account details of the Connector. You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Useful for storing additional, structured information on an object.
-                    example:
-                        { "api_key":"Basic MyVerySecretApiKey" }
-                    # $ref: "#/components/schemas/ConnectorAccountDetails"
+            description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
+            maxLength: 255
+            example: { "city": "NY", "unit": "245" }
+    CardData:
+      type: object
+      description: Card Data
+      properties:
+        card_number:
+          type: string
+          description: The card number
+          maxLength: 30
+          minLength: 30
+          example: "4242424242424242"
+        card_exp_month:
+          type: string
+          description: The expiry month for the card
+          maxLength: 2
+          minLength: 2
+          example: "10"
+        card_exp_year:
+          type: string
+          description: Expiry year for the card
+          maxLength: 2
+          minLength: 2
+          example: "25"
+        card_holder_name:
+          type: string
+          description: The name of card holder
+          maxLength: 255
+          minLength: 1
+          example: "John Doe"
+        card_cvc:
+          type: string
+          description: The cvc number
+          maxLength: 4
+          minLength: 3
+          example: "123"
+        card_token:
+          type: string
+          description: The token provided against a user's saved card. The token would be valid for 15 minutes.
+          minLength: 30
+          maxLength: 30
+          example: "tkn_78892490hfh3r834rd"
+    CardPaymentMethodRequest:
+      type: object
+      description: Card Payment Method Information
+      properties:
+        card_number:
+          type: string
+          description: The card number
+          maxLength: 30
+          minLength: 30
+          example: "4242424242424242"
+        card_exp_month:
+          type: string
+          description: The expiry month for the card
+          maxLength: 2
+          minLength: 2
+          example: "10"
+        card_exp_year:
+          type: string
+          description: Expiry year for the card
+          maxLength: 2
+          minLength: 2
+          example: "25"
+        card_holder_name:
+          type: string
+          description: The name of card holder
+          maxLength: 255
+          minLength: 1
+          example: "John Doe"
+    CardPaymentMethodResponse:
+      type: object
+      description: Card Payment Method object
+      properties:
+        last4_digits:
+          type: string
+          description: The last four digits of the case which could be displayed to the end user for identification.
+          example: "xxxxxxxxxxxx4242"
+        card_exp_month:
+          type: string
+          description: The expiry month for the card
+          maxLength: 2
+          minLength: 2
+          example: "10"
+        card_exp_year:
+          type: string
+          description: Expiry year for the card
+          maxLength: 2
+          minLength: 2
+          example: "25"
+        card_holder_name:
+          type: string
+          description: The name of card holder
+          maxLength: 255
+          example: "John Doe"
+        card_token:
+          type: string
+          description: The token provided against a user's saved card. The token would be valid for 15 minutes.
+          minLength: 30
+          maxLength: 30
+          example: "tkn_78892490hfh3r834rd"
+        scheme:
+          type: string
+          description: The card scheme network for the particular card
+          example: "MASTER"
+        issuer_country:
+          type: string
+          description: The country code in in which the card was issued
+          minLength: 2
+          maxLength: 2
+          example: "US"
+        card_fingerprint:
+          type: string
+          description: A unique identifier alias to identify a particular card.
+          minLength: 30
+          maxLength: 30
+          example: "fpt_78892490hfh3r834rd"
 
-                test_mode:
-                    type: boolean
-                    description: A boolean value to indicate if the connector is in Test mode. By default, its value is false.
-                    example: false
-                disabled:
-                    type: boolean
-                    description: A boolean value to indicate if the connector is disabled. By default, its value is false.
-                    example: false
-                payment_methods_enabled:
-                    type: array
-                    description: Refers to the Parent Merchant ID if the merchant being created is a sub-merchant
-                    $ref: "#/components/schemas/PaymentMethodsEnabled"
-                metadata:
-                    type: object
-                    description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
-                    maxLength: 255
-                    example: { "city": "NY", "unit": "245" }
+    MerchantAccountCreateRequest:
+      type: object
+      description: The Merchant Account details
+      required:
+        - merchant_id
+      properties:
+        merchant_id:
+          type: string
+          description: The identifier for the Merchant Account.
+          maxLength: 255
+          example: y3oqhf46pyzuxjbcn2giaqnb44
+        # create request may not have the api_key as it is the first time the API services are invoked
+        # api_key:
+        #     type: string
+        #     description: The public security key for accessing the APIs
+        #     maxLength: 255
+        #     example: xkkdf909012sdjki2dkh5sdf
+        merchant_name:
+          type: string
+          description: Name of the merchant
+          example: NewAge Retailer
+        merchant_details:
+          type: object
+          description: Details about the merchant including contact person, email, address, website, business description etc
+          $ref: "#/components/schemas/MerchantDetails"
+        return_url:
+          type: string
+          description: The URL to redirect after the completion of the operation
+          maxLength: 255
+          example: "www.example.com/success"
+        webhook_details:
+          type: object
+          description: The features for Webhook
+          $ref: "#/components/schemas/WebhookDetails"
+        routing_algorithm:
+          type: string
+          description: The routing algorithm to be used to process the incoming request from merchant to outgoing payment processor or payment method. The default is CUSTOM if
+          enum:
+            - round_robin
+            - max_conversion
+            - min_cost
+            - custom
+          maxLength: 255
+          example: custom
+        custom_routing_rules:
+          type: array
+          description: An array of custom routing rules
+          $ref: "#/components/schemas/ArrayOfRoutingRules"
+        sub_merchants_enabled:
+          type: boolean
+          description: A boolean value to indicate if the merchant is a sub-merchant under a master or a parent merchant. By default, its value is false.
+          maxLength: 255
+          example: false
+        parent_merchant_id:
+          type: string
+          description: Refers to the Parent Merchant ID if the merchant being created is a sub-merchant
+          maxLength: 255
+          example: "xkkdf909012sdjki2dkh5sdf"
+        metadata:
+          type: object
+          description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
+          maxLength: 255
+          example: { "city": "NY", "unit": "245" }
 
-        PaymentConnectorUpdateRequest:
-            type: object
-            description: The Payment Connector Update Request
-            required:
-                - merchant_id
-                - connector_type
-                - connector_name
-                - connector_id
-            properties:
-                merchant_id:
-                    type: string
-                    description: The identifier for the Merchant Account.
-                    maxLength: 255
-                    example: y3oqhf46pyzuxjbcn2giaqnb44
-                connector_type:
-                    type: string
-                    description: Type of the Connector for the financial use case. Could range from Payments to Accounting to Banking.
-                    $ref: "#/components/schemas/ConnectorType"
-                connector_name:
-                    type: string
-                    description: Name of the Connector
-                    $ref: "#/components/schemas/PaymentConnector"
-                connector_id:
-                    type: integer
-                    description: Unique ID of the connector
-                connector_account_details:
-                    type: object
-                    description: Account details of the Connector. You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Useful for storing additional, structured information on an object.
-                    example:
-                        { "processing_fee": "2.0%", "billing_currency": "USD" }
-                    # $ref: "#/components/schemas/ConnectorAccountDetails"
-                test_mode:
-                    type: boolean
-                    description: A boolean value to indicate if the connector is in Test mode. By default, its value is false.
-                    example: false
-                disabled:
-                    type: boolean
-                    description: A boolean value to indicate if the connector is disabled. By default, its value is false.
-                    example: false
-                payment_methods:
-                    type: array
-                    description: Refers to the Parent Merchant ID if the merchant being created is a sub-merchant
-                    $ref: "#/components/schemas/PaymentMethodsEnabled"
-                metadata:
-                    type: object
-                    description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
-                    maxLength: 255
-                    example: { "city": "NY", "unit": "245" }
+    MerchantAccountUpdateRequest:
+      type: object
+      description: The Merchant Account details to be updated
+      required:
+        - merchant_id
+      properties:
+        merchant_id:
+          type: string
+          description: The identifier for the Merchant Account.
+          maxLength: 255
+          example: y3oqhf46pyzuxjbcn2giaqnb44
+        # api_key:
+        #     type: string
+        #     description: The public security key for accessing the APIs
+        #     maxLength: 255
+        #     example: xkkdf909012sdjki2dkh5sdf
+        merchant_name:
+          type: string
+          description: Name of the merchant
+          example: NewAge Retailer
+        merchant_details:
+          type: object
+          description: Details about the merchant including contact person, email, address, website, business description etc
+          $ref: "#/components/schemas/MerchantDetails"
+        return_url:
+          type: string
+          description: The URL to redirect after the completion of the operation
+          maxLength: 255
+          example: "www.example.com/success"
+        webhook_details:
+          type: object
+          description: The features for Webhook
+          $ref: "#/components/schemas/WebhookDetails"
+        routing_algorithm:
+          type: string
+          description: The routing algorithm to be used to process the incoming request from merchant to outgoing payment processor or payment method. The default is CUSTOM if
+          enum:
+            - round_robin
+            - max_conversion
+            - min_cost
+            - custom
+          maxLength: 255
+          example: custom
+        custom_routing_rules:
+          type: array
+          description: An array of custom routing rules
+          $ref: "#/components/schemas/ArrayOfRoutingRules"
+        sub_merchants_enabled:
+          type: boolean
+          description: A boolean value to indicate if the merchant is a sub-merchant under a master or a parent merchant. By default, its value is false.
+          maxLength: 255
+          example: false
+        parent_merchant_id:
+          type: string
+          description: Refers to the Parent Merchant ID if the merchant being created is a sub-merchant
+          maxLength: 255
+          example: "xkkdf909012sdjki2dkh5sdf"
+        metadata:
+          type: object
+          description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
+          maxLength: 255
+          example: { "city": "NY", "unit": "245" }
 
-        PaymentConnectorResponse:
-            type: object
-            description: The Payment Connector Response details
-            required:
-                - merchant_id
-                - connector_type
-                - connector_name
-                - connector_id
-            properties:
-                merchant_id:
-                    type: string
-                    description: The identifier for the Merchant Account.
-                    maxLength: 255
-                    example: y3oqhf46pyzuxjbcn2giaqnb44
-                connector_type:
-                    type: string
-                    description: Type of the Connector for the financial use case. Could range from Payments to Accounting to Banking.
-                    $ref: "#/components/schemas/ConnectorType"
-                connector_name:
-                    type: string
-                    description: Name of the Connector
-                    $ref: "#/components/schemas/PaymentConnector"
-                connector_id:
-                    type: integer
-                    description: Unique ID of the connector
-                    example: 12
-                connector_account_details:
-                    type: object
-                    description: Account details of the Connector. You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Useful for storing additional, structured information on an object.
-                    example:
-                        { "processing_fee": "2.0%", "billing_currency": "USD" }
-                    # $ref: "#/components/schemas/ConnectorAccountDetails"
-                test_mode:
-                    type: boolean
-                    description: A boolean value to indicate if the connector is in Test mode. By default, its value is false.
-                    example: false
-                disabled:
-                    type: boolean
-                    description: A boolean value to indicate if the connector is disabled. By default, its value is false.
-                    example: false
-                payment_methods:
-                    type: array
-                    description: Refers to the Parent Merchant ID if the merchant being created is a sub-merchant
-                    $ref: "#/components/schemas/PaymentMethodsEnabled"
-                metadata:
-                    type: object
-                    description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
-                    maxLength: 255
-                    example: { "city": "NY", "unit": "245" }
+    #Standard Response for all API requests
+    MerchantAccountResponse:
+      type: object
+      description: Merchant Account
+      required:
+        - merchant_id
+      properties:
+        merchant_id:
+          type: string
+          description: The identifier for the Merchant Account.
+          maxLength: 255
+          example: y3oqhf46pyzuxjbcn2giaqnb44
+        api_key:
+          type: string
+          description: The public security key for accessing the APIs
+          maxLength: 255
+          example: xkkdf909012sdjki2dkh5sdf
+        merchant_name:
+          type: string
+          description: Name of the merchant
+          example: NewAge Retailer
+        merchant_details:
+          type: object
+          description: Details about the merchant including contact person, email, address, website, business description etc
+          $ref: "#/components/schemas/MerchantDetails"
+        webhook_details:
+          type: object
+          description: The features for Webhook
+          $ref: "#/components/schemas/WebhookDetails"
+        routing_algorithm:
+          type: string
+          description: The routing algorithm to be used to process the incoming request from merchant to outgoing payment processor or payment method. The default is CUSTOM if
+          enum:
+            - round_robin
+            - max_conversion
+            - min_cost
+            - custom
+          maxLength: 255
+          example: custom
+        custom_routing_rules:
+          type: array
+          description: An array of custom routing rules
+          $ref: "#/components/schemas/ArrayOfRoutingRules"
+        sub_merchants_enabled:
+          type: boolean
+          description: A boolean value to indicate if the merchant is a sub-merchant under a master or a parent merchant. By default, its value is false.
+          maxLength: 255
+          example: false
+        parent_merchant_id:
+          type: string
+          description: Refers to the Parent Merchant ID if the merchant being created is a sub-merchant
+          maxLength: 255
+          example: "xkkdf909012sdjki2dkh5sdf"
+        metadata:
+          type: object
+          description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
+          maxLength: 255
+          example: { "city": "NY", "unit": "245" }
 
-        PaymentConnectorDeleteResponse:
-            type: object
-            description: Payment Connector Delete Response
-            required:
-                - merchant_id
-                - connector_id
-                - deleted
-            properties:
-                merchant_id:
-                    type: string
-                    description: The identifier for the Merchant Account
-                    maxLength: 255
-                    example: y3oqhf46pyzuxjbcn2giaqnb44
-                connector_id:
-                    type: integer
-                    description: The identifier for the Payment Connector
-                    example: 10
-                deleted:
-                    type: boolean
-                    description: Indicates the deletion status of the Merchant Account object.
-                    example: true
+    MerchantAccountDeleteResponse:
+      type: object
+      description: Merchant Account
+      required:
+        - merchant_id
+        - deleted
+      properties:
+        merchant_id:
+          type: string
+          description: The identifier for the MerchantAccount object.
+          maxLength: 255
+          example: y3oqhf46pyzuxjbcn2giaqnb44
+        deleted:
+          type: boolean
+          description: Indicates the deletion status of the Merchant Account object.
+          example: true
 
-        ConnectorType:
-            type: string
-            description: Type of the connector
-            enum:
-                - payment_processor #PayFacs, Acquirers, Gateways, BNPL etc
-                - payment_vas #Fraud, Currency Conversion, Crypto etc
-                - fin_operations #Accounting, Billing, Invoicing, Tax etc
-                - fiz_operations #Inventory, ERP, CRM, KYC etc
-                - networks #Payment Networks like Visa, MasterCard etc
-                - banking_entities #All types of banks including corporate / commercial / personal / neo banks
-                - non_banking_finance #All types of non-banking financial institutions including Insurance, Credit / Lending etc
+    PaymentConnectorCreateRequest:
+      type: object
+      description: The Payment Connector details
+      required:
+        - merchant_id
+        - connector_type
+        - connector_name
+      properties:
+        merchant_id:
+          type: string
+          description: The identifier for the Merchant Account.
+          maxLength: 255
+          example: y3oqhf46pyzuxjbcn2giaqnb44
+        connector_type:
+          type: string
+          description: Type of the Connector for the financial use case. Could range from Payments to Accounting to Banking.
+          $ref: "#/components/schemas/ConnectorType"
+        connector_name:
+          type: string
+          description: Name of the Connector
+          $ref: "#/components/schemas/PaymentConnector"
+        # connector_id:
+        #     type: integer
+        #     description: Unique ID of the connector. It is returned in the Response.
+        connector_account_details:
+          type: object
+          description: Account details of the Connector. You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Useful for storing additional, structured information on an object.
+          example: { "api_key": "Basic MyVerySecretApiKey" }
+          # $ref: "#/components/schemas/ConnectorAccountDetails"
+
+        test_mode:
+          type: boolean
+          description: A boolean value to indicate if the connector is in Test mode. By default, its value is false.
+          example: false
+        disabled:
+          type: boolean
+          description: A boolean value to indicate if the connector is disabled. By default, its value is false.
+          example: false
+        payment_methods_enabled:
+          type: array
+          description: Refers to the Parent Merchant ID if the merchant being created is a sub-merchant
+          $ref: "#/components/schemas/PaymentMethodsEnabled"
+        metadata:
+          type: object
+          description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
+          maxLength: 255
+          example: { "city": "NY", "unit": "245" }
+
+    PaymentConnectorUpdateRequest:
+      type: object
+      description: The Payment Connector Update Request
+      required:
+        - merchant_id
+        - connector_type
+        - connector_name
+        - connector_id
+      properties:
+        merchant_id:
+          type: string
+          description: The identifier for the Merchant Account.
+          maxLength: 255
+          example: y3oqhf46pyzuxjbcn2giaqnb44
+        connector_type:
+          type: string
+          description: Type of the Connector for the financial use case. Could range from Payments to Accounting to Banking.
+          $ref: "#/components/schemas/ConnectorType"
+        connector_name:
+          type: string
+          description: Name of the Connector
+          $ref: "#/components/schemas/PaymentConnector"
+        connector_id:
+          type: integer
+          description: Unique ID of the connector
+        connector_account_details:
+          type: object
+          description: Account details of the Connector. You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Useful for storing additional, structured information on an object.
+          example: { "processing_fee": "2.0%", "billing_currency": "USD" }
+          # $ref: "#/components/schemas/ConnectorAccountDetails"
+        test_mode:
+          type: boolean
+          description: A boolean value to indicate if the connector is in Test mode. By default, its value is false.
+          example: false
+        disabled:
+          type: boolean
+          description: A boolean value to indicate if the connector is disabled. By default, its value is false.
+          example: false
+        payment_methods:
+          type: array
+          description: Refers to the Parent Merchant ID if the merchant being created is a sub-merchant
+          $ref: "#/components/schemas/PaymentMethodsEnabled"
+        metadata:
+          type: object
+          description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
+          maxLength: 255
+          example: { "city": "NY", "unit": "245" }
+
+    PaymentConnectorResponse:
+      type: object
+      description: The Payment Connector Response details
+      required:
+        - merchant_id
+        - connector_type
+        - connector_name
+        - connector_id
+      properties:
+        merchant_id:
+          type: string
+          description: The identifier for the Merchant Account.
+          maxLength: 255
+          example: y3oqhf46pyzuxjbcn2giaqnb44
+        connector_type:
+          type: string
+          description: Type of the Connector for the financial use case. Could range from Payments to Accounting to Banking.
+          $ref: "#/components/schemas/ConnectorType"
+        connector_name:
+          type: string
+          description: Name of the Connector
+          $ref: "#/components/schemas/PaymentConnector"
+        connector_id:
+          type: integer
+          description: Unique ID of the connector
+          example: 12
+        connector_account_details:
+          type: object
+          description: Account details of the Connector. You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Useful for storing additional, structured information on an object.
+          example: { "processing_fee": "2.0%", "billing_currency": "USD" }
+          # $ref: "#/components/schemas/ConnectorAccountDetails"
+        test_mode:
+          type: boolean
+          description: A boolean value to indicate if the connector is in Test mode. By default, its value is false.
+          example: false
+        disabled:
+          type: boolean
+          description: A boolean value to indicate if the connector is disabled. By default, its value is false.
+          example: false
+        payment_methods:
+          type: array
+          description: Refers to the Parent Merchant ID if the merchant being created is a sub-merchant
+          $ref: "#/components/schemas/PaymentMethodsEnabled"
+        metadata:
+          type: object
+          description: You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
+          maxLength: 255
+          example: { "city": "NY", "unit": "245" }
+
+    PaymentConnectorDeleteResponse:
+      type: object
+      description: Payment Connector Delete Response
+      required:
+        - merchant_id
+        - connector_id
+        - deleted
+      properties:
+        merchant_id:
+          type: string
+          description: The identifier for the Merchant Account
+          maxLength: 255
+          example: y3oqhf46pyzuxjbcn2giaqnb44
+        connector_id:
+          type: integer
+          description: The identifier for the Payment Connector
+          example: 10
+        deleted:
+          type: boolean
+          description: Indicates the deletion status of the Merchant Account object.
+          example: true
 
-        #INCOMPLETE. NEEDS MORE THINKING!
-        #QUESTION: Should we bring all elements of costs / conversion rates / supported payment methods etc in this object?
-        # ConnectorAccountDetails:
-        #     type: object
-        #     description: Account details of the Connector
-        #     properties:
-        #         processing_cost:
-        #             type: string
-        #             description: Description on the processing cost
-        #             example: "2.0% of processed amount"
-        #         conversion_rates:
-        #             type: string
-        #             description: Description on the Conversion Rates
-        #             example: "85% Conversion Rates"
+    ConnectorType:
+      type: string
+      description: Type of the connector
+      enum:
+        - payment_processor #PayFacs, Acquirers, Gateways, BNPL etc
+        - payment_vas #Fraud, Currency Conversion, Crypto etc
+        - fin_operations #Accounting, Billing, Invoicing, Tax etc
+        - fiz_operations #Inventory, ERP, CRM, KYC etc
+        - networks #Payment Networks like Visa, MasterCard etc
+        - banking_entities #All types of banks including corporate / commercial / personal / neo banks
+        - non_banking_finance #All types of non-banking financial institutions including Insurance, Credit / Lending etc
 
-        PaymentMethodsEnabled:
+    #INCOMPLETE. NEEDS MORE THINKING!
+    #QUESTION: Should we bring all elements of costs / conversion rates / supported payment methods etc in this object?
+    # ConnectorAccountDetails:
+    #     type: object
+    #     description: Account details of the Connector
+    #     properties:
+    #         processing_cost:
+    #             type: string
+    #             description: Description on the processing cost
+    #             example: "2.0% of processed amount"
+    #         conversion_rates:
+    #             type: string
+    #             description: Description on the Conversion Rates
+    #             example: "85% Conversion Rates"
+
+    PaymentMethodsEnabled:
+      type: array
+      description: Details of all the payment methods enabled for the connector for the given merchant account
+      items:
+        properties:
+          payment_method:
+            type: string
+            $ref: "#/components/schemas/PaymentMethod"
+            example: card
+          payment_method_types:
             type: array
-            description: Details of all the payment methods enabled for the connector for the given merchant account
             items:
-                properties:
-                    payment_method:
-                        type: string
-                        $ref: "#/components/schemas/PaymentMethod"
-                        example: card
-                    payment_method_types:
-                        type: array
-                        items:
-                            $ref: "#/components/schemas/PaymentMethodType"
-                            example: [CREDIT]
-                    payment_method_issuers:
-                        type: array
-                        description: List of payment method issuers to be enabled for this payment method
-                        items:
-                            type: string
-                            example: ["HDFC"]
-                    payment_schemes:
-                        type: array
-                        description: List of payment schemes accepted or has the processing capabilities of the processor
-                        items:
-                            $ref: "#/components/schemas/PaymentSchemes"
-                            example: [MASTER, VISA, DINERS]
-                    accepted_currencies:
-                        type: array
-                        description: List of currencies accepted or has the processing capabilities of the processor
-                        items:
-                            $ref: "#/components/schemas/CurrencyISO"
-                            example: [USD, EUR , AED]
-                    accepted_countries:
-                        type: array
-                        description: List of Countries accepted or has the processing capabilities of the processor
-                        items:
-                            $ref: "#/components/schemas/CountryISO"
-                            example: [US, IN]
-                    minimum_amount:
-                        type: integer
-                        description: Mininum amount supported by the processor. To be represented in the lowest denomination of the target currency (For example, for USD it should be in cents)
-                        example: 1
-                    maximum_amount:
-                        type: integer
-                        description: Maximum amount supported by the processor. To be represented in the lowest denomination of the target currency (For example, for USD it should be in cents)
-                        example: null
-                    recurring_enabled:
-                        type: boolean
-                        description: Boolean to enable recurring payments / mandates. Default is true.
-                        example: true
-                    installment_payment_enabled:
-                        type: boolean
-                        description: Boolean to enable installment / EMI / BNPL payments. Default is true.
-                        example: true
-                    payment_experience:
-                        type: array
-                        description: Type of payment experience enabled with the connector
-                        items:
-                            $ref: "#/components/schemas/NextAction"
-                        example: ["redirect_to_url"]
+              $ref: "#/components/schemas/PaymentMethodType"
+              example: [CREDIT]
+          payment_method_issuers:
+            type: array
+            description: List of payment method issuers to be enabled for this payment method
+            items:
+              type: string
+              example: ["HDFC"]
+          payment_schemes:
+            type: array
+            description: List of payment schemes accepted or has the processing capabilities of the processor
+            items:
+              $ref: "#/components/schemas/PaymentSchemes"
+              example: [MASTER, VISA, DINERS]
+          accepted_currencies:
+            type: array
+            description: List of currencies accepted or has the processing capabilities of the processor
+            items:
+              $ref: "#/components/schemas/CurrencyISO"
+              example: [USD, EUR, AED]
+          accepted_countries:
+            type: array
+            description: List of Countries accepted or has the processing capabilities of the processor
+            items:
+              $ref: "#/components/schemas/CountryISO"
+              example: [US, IN]
+          minimum_amount:
+            type: integer
+            description: Minimum amount supported by the processor. To be represented in the lowest denomination of the target currency (For example, for USD it should be in cents)
+            example: 1
+          maximum_amount:
+            type: integer
+            description: Maximum amount supported by the processor. To be represented in the lowest denomination of the target currency (For example, for USD it should be in cents)
+            example: null
+          recurring_enabled:
+            type: boolean
+            description: Boolean to enable recurring payments / mandates. Default is true.
+            example: true
+          installment_payment_enabled:
+            type: boolean
+            description: Boolean to enable installment / EMI / BNPL payments. Default is true.
+            example: true
+          payment_experience:
+            type: array
+            description: Type of payment experience enabled with the connector
+            items:
+              $ref: "#/components/schemas/NextAction"
+            example: ["redirect_to_url"]
 
-        PaymentSchemes:
-            type: string
-            description: Represent the payment schemes and networks
-            enum:
-                - VISA
-                - MasterCard
-                - Discover
-                - AMEX
+    PaymentSchemes:
+      type: string
+      description: Represent the payment schemes and networks
+      enum:
+        - VISA
+        - MasterCard
+        - Discover
+        - AMEX
 
-        MerchantDetails:
-            type: object
-            properties:
-                primary_contact_person:
-                    type: string
-                    description: The merchant's primary contact name
-                    maxLength: 255
-                    example: John Test
-                primary_email:
-                    type: string
-                    format: email
-                    description: The merchant's primary email address
-                    maxLength: 255
-                    example: JohnTest@test.com
-                primary_phone:
-                    type: string
-                    description: The merchant's primary phone number
-                    maxLength: 255
-                    example: 9999999999
-                secondary_contact_person:
-                    type: string
-                    description: The merchant's secondary contact name
-                    maxLength: 255
-                    example: John Test2
-                secondary_email:
-                    type: string
-                    format: email
-                    description: The merchant's secondary email address
-                    maxLength: 255
-                    example: JohnTest2@test.com
-                secondary_phone:
-                    type: string
-                    description: The merchant's secondary phone number
-                    maxLength: 255
-                    example: 9999999998
-                website:
-                    type: string
-                    description: The business website of the merchant
-                    maxLength: 255
-                    example: "www.example.com"
-                about_business:
-                    type: string
-                    description: A brief description about merchant's business
-                    maxLength: 255
-                    example: Online Retail with a wide selection of organic products for North America
-                address:
-                    type: object
-                    description: The address for the merchant
-                    $ref: "#/components/schemas/Address"
+    MerchantDetails:
+      type: object
+      properties:
+        primary_contact_person:
+          type: string
+          description: The merchant's primary contact name
+          maxLength: 255
+          example: John Test
+        primary_email:
+          type: string
+          format: email
+          description: The merchant's primary email address
+          maxLength: 255
+          example: JohnTest@test.com
+        primary_phone:
+          type: string
+          description: The merchant's primary phone number
+          maxLength: 255
+          example: 9999999999
+        secondary_contact_person:
+          type: string
+          description: The merchant's secondary contact name
+          maxLength: 255
+          example: John Test2
+        secondary_email:
+          type: string
+          format: email
+          description: The merchant's secondary email address
+          maxLength: 255
+          example: JohnTest2@test.com
+        secondary_phone:
+          type: string
+          description: The merchant's secondary phone number
+          maxLength: 255
+          example: 9999999998
+        website:
+          type: string
+          description: The business website of the merchant
+          maxLength: 255
+          example: "www.example.com"
+        about_business:
+          type: string
+          description: A brief description about merchant's business
+          maxLength: 255
+          example: Online Retail with a wide selection of organic products for North America
+        address:
+          type: object
+          description: The address for the merchant
+          $ref: "#/components/schemas/Address"
 
-        WebhookDetails:
-            type: object
-            properties:
-                webhook_version:
-                    type: string
-                    description: The version for Webhook
-                    maxLength: 255
-                    example: "1.0.1"
-                webhook_username:
-                    type: string
-                    description: The user name for Webhook login
-                    maxLength: 255
-                    example: "ekart_retail"
-                webhook_password:
-                    type: string
-                    description: The password for Webhook login
-                    maxLength: 255
-                    example: "password_ekart@123"
-                payment_created_enabled:
-                    type: boolean
-                    description: If this property is true, a webhook message is posted whenever a new payment is created
-                    example: true
-                payment_succeeded_enabled:
-                    type: boolean
-                    description: If this property is true, a webhook message is posted whenever a payment is successful
-                    example: true
-                payment_failed_enabled:
-                    type: boolean
-                    description: If this property is true, a webhook message is posted whenever a payment fails
-                    example: true
+    WebhookDetails:
+      type: object
+      properties:
+        webhook_version:
+          type: string
+          description: The version for Webhook
+          maxLength: 255
+          example: "1.0.1"
+        webhook_username:
+          type: string
+          description: The user name for Webhook login
+          maxLength: 255
+          example: "ekart_retail"
+        webhook_password:
+          type: string
+          description: The password for Webhook login
+          maxLength: 255
+          example: "password_ekart@123"
+        payment_created_enabled:
+          type: boolean
+          description: If this property is true, a webhook message is posted whenever a new payment is created
+          example: true
+        payment_succeeded_enabled:
+          type: boolean
+          description: If this property is true, a webhook message is posted whenever a payment is successful
+          example: true
+        payment_failed_enabled:
+          type: boolean
+          description: If this property is true, a webhook message is posted whenever a payment fails
+          example: true
 
-        ArrayOfRoutingRules:
+    ArrayOfRoutingRules:
+      type: array
+      items:
+        properties:
+          payment_methods_incl:
             type: array
+            description: The List of payment methods to include for this routing rule
             items:
-                properties:
-                    payment_methods_incl:
-                        type: array
-                        description: The List of payment methods to include for this routing rule
-                        items:
-                            $ref: "#/components/schemas/PaymentMethod"
-                        example: [card, upi]
+              $ref: "#/components/schemas/PaymentMethod"
+            example: [card, upi]
 
-                    payment_methods_excl:
-                        type: array
-                        description: The List of payment methods to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.
-                        items:
-                            $ref: "#/components/schemas/PaymentMethod"
-                        example: [card, upi]
+          payment_methods_excl:
+            type: array
+            description: The List of payment methods to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.
+            items:
+              $ref: "#/components/schemas/PaymentMethod"
+            example: [card, upi]
 
-                    payment_method_types_incl:
-                        type: array
-                        description: The List of payment method types to include for this routing rule
-                        items:
-                            $ref: "#/components/schemas/PaymentMethodType"
-                        example: [credit_card, debit_card]
+          payment_method_types_incl:
+            type: array
+            description: The List of payment method types to include for this routing rule
+            items:
+              $ref: "#/components/schemas/PaymentMethodType"
+            example: [credit_card, debit_card]
 
-                    payment_method_types_excl:
-                        type: array
-                        description: The List of payment method types to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.
-                        items:
-                            $ref: "#/components/schemas/PaymentMethodType"
-                        example: [credit_card, debit_card]
+          payment_method_types_excl:
+            type: array
+            description: The List of payment method types to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.
+            items:
+              $ref: "#/components/schemas/PaymentMethodType"
+            example: [credit_card, debit_card]
 
-                    payment_method_issuers_incl:
-                        type: array
-                        description: The List of payment method issuers to include for this routing rule
-                        items:
-                            type: string
-                        example: ["Citibank", "JPMorgan"]
+          payment_method_issuers_incl:
+            type: array
+            description: The List of payment method issuers to include for this routing rule
+            items:
+              type: string
+            example: ["Citibank", "JPMorgan"]
 
-                    payment_method_issuers_excl:
-                        type: array
-                        description: The List of payment method issuers to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.
-                        items:
-                            type: string
-                        example: ["Citibank", "JPMorgan"]
+          payment_method_issuers_excl:
+            type: array
+            description: The List of payment method issuers to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.
+            items:
+              type: string
+            example: ["Citibank", "JPMorgan"]
 
-                    countries_incl:
-                        type: array
-                        description: The List of countries to include for this routing rule
-                        items:
-                            $ref: "#/components/schemas/CountryISO"
-                        example: [US, UK, IN]
+          countries_incl:
+            type: array
+            description: The List of countries to include for this routing rule
+            items:
+              $ref: "#/components/schemas/CountryISO"
+            example: [US, UK, IN]
 
-                    countries_excl:
-                        type: array
-                        description: The List of countries to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.
-                        items:
-                            $ref: "#/components/schemas/CountryISO"
-                        example: [US, UK, IN]
+          countries_excl:
+            type: array
+            description: The List of countries to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.
+            items:
+              $ref: "#/components/schemas/CountryISO"
+            example: [US, UK, IN]
 
-                    currencies_incl:
-                        type: array
-                        description: The List of currencies to include for this routing rule
-                        items:
-                            $ref: "#/components/schemas/CurrencyISO"
-                        example: [USD, EUR]
+          currencies_incl:
+            type: array
+            description: The List of currencies to include for this routing rule
+            items:
+              $ref: "#/components/schemas/CurrencyISO"
+            example: [USD, EUR]
 
-                    currencies_excl:
-                        type: array
-                        description: The List of currencies to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.
-                        items:
-                            $ref: "#/components/schemas/CurrencyISO"
-                        example: [AED, SGD]
+          currencies_excl:
+            type: array
+            description: The List of currencies to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.
+            items:
+              $ref: "#/components/schemas/CurrencyISO"
+            example: [AED, SGD]
 
-                    metadata_filters_keys:
-                        type: array
-                        description: List of Metadata Filters to apply for the Routing Rule. The filtes are presented as 2 arrays of keys and value. This property contains all the keys.
-                        items:
-                            type: string
-                        example: ["payments.udf1", "payments.udf2"]
+          metadata_filters_keys:
+            type: array
+            description: List of Metadata Filters to apply for the Routing Rule. The filters are presented as 2 arrays of keys and value. This property contains all the keys.
+            items:
+              type: string
+            example: ["payments.udf1", "payments.udf2"]
 
-                    metadata_filters_values:
-                        type: array
-                        description: List of Metadata Filters to apply for the Routing Rule. The filtes are presented as 2 arrays of keys and value. This property contains all the keys.
-                        items:
-                            type: string
-                        example: ["android", "Category_Electronics"]
+          metadata_filters_values:
+            type: array
+            description: List of Metadata Filters to apply for the Routing Rule. The filters are presented as 2 arrays of keys and value. This property contains all the keys.
+            items:
+              type: string
+            example: ["android", "Category_Electronics"]
 
-                    connectors_pecking_order:
-                        type: array
-                        description: The pecking order of payment connectors (or processors) to be used for routing. The first connector in the array will be attempted for routing. If it fails, the second connector will be used till the list is exhausted.
-                        items:
-                            $ref: "#/components/schemas/PaymentConnector"
-                        example: ["stripe", "adyen", "brain_tree"]
+          connectors_pecking_order:
+            type: array
+            description: The pecking order of payment connectors (or processors) to be used for routing. The first connector in the array will be attempted for routing. If it fails, the second connector will be used till the list is exhausted.
+            items:
+              $ref: "#/components/schemas/PaymentConnector"
+            example: ["stripe", "adyen", "brain_tree"]
 
-                    connectors_traffic_weightage_key:
-                        type: array
-                        description: An Array of Connectors (as Keys) with the associated percentage of traffic to be routed through the given connector (Expressed as an array of values)
-                        items:
-                            $ref: "#/components/schemas/PaymentConnector"
-                        example: ["stripe", "adyen", "brain_tree"]
+          connectors_traffic_weightage_key:
+            type: array
+            description: An Array of Connectors (as Keys) with the associated percentage of traffic to be routed through the given connector (Expressed as an array of values)
+            items:
+              $ref: "#/components/schemas/PaymentConnector"
+            example: ["stripe", "adyen", "brain_tree"]
 
-                    connectors_traffic_weightage_value:
-                        type: array
-                        description: An Array of Weightage (expressed in percentage) that needs to be associated with the respective connectors (Expressed as an array of keys)
-                        items:
-                            $ref: "#/components/schemas/TrafficWeightage"
-                        example: [50, 30, 20]
+          connectors_traffic_weightage_value:
+            type: array
+            description: An Array of Weightage (expressed in percentage) that needs to be associated with the respective connectors (Expressed as an array of keys)
+            items:
+              $ref: "#/components/schemas/TrafficWeightage"
+            example: [50, 30, 20]
 
-                example:
-                    [
-                        {
-                            payment_method_types_incl: [credit_card],
-                            connectors_pecking_order:
-                                ["stripe", "adyen", "brain_tree"],
-                        },
-                        {
-                            payment_method_types_incl: [debit_card],
-                            connectors_traffic_weightage_key:
-                                ["stripe", "adyen", "brain_tree"],
-                            connectors_traffic_weightage_value: [50, 30, 20],
-                        },
-                    ]
+        example:
+          [
+            {
+              payment_method_types_incl: [credit_card],
+              connectors_pecking_order: ["stripe", "adyen", "brain_tree"],
+            },
+            {
+              payment_method_types_incl: [debit_card],
+              connectors_traffic_weightage_key:
+                ["stripe", "adyen", "brain_tree"],
+              connectors_traffic_weightage_value: [50, 30, 20],
+            },
+          ]
 
-        PaymentMethod:
-            type: string
-            enum:
-                - card # Credit Card, Debit Card, Prepaid, Gift card, Travel card etc
-                - wallet # Wallets & payment containers like Apple Pay, G Pay, PayPal, Grab Pay
-                # - real_time_payment # UPI, PayNow, FedNow etc //TODO Application changes needed
-                # - pay_later # BNPL like Klarna, Affirm, AfterPay, Zip, SplitIt etc //TODO Application changes needed
-                - bank_debit # Pull payments from bank - ACH direct debit (DD), BACS DD, SEPA DD, BECS Debt
-                - bank_redirect # Redirected to onling banking portal - Netbanking/India, sofort/Europe, giropay/Germany, BanContact/Belgium, Blik/Poland, EPS/Austria, FPX/Malaysia
-                - bank_transfer # Push payments to an account - ACH transfer, SEPA bank transfer, Multibanco
-            example: card
+    PaymentMethod:
+      type: string
+      enum:
+        - card # Credit Card, Debit Card, Prepaid, Gift card, Travel card etc
+        - wallet # Wallets & payment containers like Apple Pay, G Pay, PayPal, Grab Pay
+        # - real_time_payment # UPI, PayNow, FedNow etc //TODO Application changes needed
+        # - pay_later # BNPL like Klarna, Affirm, AfterPay, Zip, SplitIt etc //TODO Application changes needed
+        - bank_debit # Pull payments from bank - ACH direct debit (DD), BACS DD, SEPA DD, BECS Debt
+        - bank_redirect # Redirected to online banking portal - Netbanking/India, sofort/Europe, giropay/Germany, BanContact/Belgium, Blik/Poland, EPS/Austria, FPX/Malaysia
+        - bank_transfer # Push payments to an account - ACH transfer, SEPA bank transfer, Multibanco
+      example: card
 
-        PaymentMethodType:
-            type: string
-            enum:
-                - credit_card
-                - debit_card
-                - upi_intent
-                - upi_collect
-                # - credit_card_installements
-                # - pay_later_installments
-            example: credit_card
+    PaymentMethodType:
+      type: string
+      enum:
+        - credit_card
+        - debit_card
+        - upi_intent
+        - upi_collect
+        # - credit_card_installments
+        # - pay_later_installments
+      example: credit_card
 
-        # PaymentMethod:
-        #     type: string
-        #     enum:
-        #         - card
-        #         - payment_container
-        #         - bank_transfer
-        #         - bank_debit
-        #         - pay_later
-        #         - upi
-        #         - netbanking
-        #     example: card
+    # PaymentMethod:
+    #     type: string
+    #     enum:
+    #         - card
+    #         - payment_container
+    #         - bank_transfer
+    #         - bank_debit
+    #         - pay_later
+    #         - upi
+    #         - netbanking
+    #     example: card
 
-        # PaymentMethodType:
-        #     type: string
-        #     enum:
-        #         - credit_card
-        #         - debit_card
-        #         - upi_intent
-        #         - upi_collect
-        #         - credit_card_installements
-        #         - pay_later_installments
-        #     example: credit_card
+    # PaymentMethodType:
+    #     type: string
+    #     enum:
+    #         - credit_card
+    #         - debit_card
+    #         - upi_intent
+    #         - upi_collect
+    #         - credit_card_installments
+    #         - pay_later_installments
+    #     example: credit_card
 
-        CountryISO:
-            type: string
-            description: The two-letter ISO currency code
-            maxLength: 2
-            minLength: 2
-            example: US
+    CountryISO:
+      type: string
+      description: The two-letter ISO currency code
+      maxLength: 2
+      minLength: 2
+      example: US
 
-        CurrencyISO:
-            type: string
-            description: The three-letter ISO currency code
-            maxLength: 3
-            minLength: 3
-            example: USD
+    CurrencyISO:
+      type: string
+      description: The three-letter ISO currency code
+      maxLength: 3
+      minLength: 3
+      example: USD
 
-        PaymentConnector:
-            type: string
-            description: Unique name used for identifying the Connector
-            enum:
-                - stripe
-                - adyen
-                - brain_tree
-                - dlocal
-                - cyber_source
-            example: stripe
+    PaymentConnector:
+      type: string
+      description: Unique name used for identifying the Connector
+      enum:
+        - stripe
+        - adyen
+        - brain_tree
+        - dlocal
+        - cyber_source
+      example: stripe
 
-        TrafficWeightage:
-            type: integer
-            minimum: 0
-            maximum: 100
-            example: 50
+    TrafficWeightage:
+      type: integer
+      minimum: 0
+      maximum: 100
+      example: 50
 
-        NextAction:
-            type: object
-            description: States the next action to complete the payment
-            properties:
-                # type:
-                #     type: string
-                #     description: "This indicates type of action that is required in order to complete the payment with inputs from the user. This may involve actions such as redirecting the user to a URL, displaying a QR code, invoking the SDK client"
-                #     enum:
-                #         - redirect_to_url
-                #         - display_qr_code
-                #         - invoke_sdk_client
-                #         - invoke_payment_app
-                #         - trigger_api
-                #     example: "redirect_to_url"
-                redirect_to_url:
-                    type: string
-                    description: The URL to which the customer needs to be redirected for completing the payment.
-                    example: "https://pg-redirect-page.com"
-                display_qr_code:
-                    type: string
-                    description: The QR code data to be displayed to the customer.
-                    example: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb"
-                invoke_payment_app:
-                    type: object
-                    description: Contains the data for invoking the sdk client for completing the payment.
-                    example:
-                        intent_uri: "upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR"
-                invoke_sdk_client:
-                    type: object
-                    description: Contains the data for invoking the sdk client for completing the payment.
-                    example:
-                        sdk_name: "gpay"
-                        sdk_params: { param1: "value", param2: "value" }
-                        intent_uri: "upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR"
-                trigger_api:
-                    type: object
-                    description: Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.
-                    example:
-                        api_name: "submit_otp"
-                        doc: "https://router.juspay.io/api-reference/submit_otp"
-        PhoneNumber:
-            type: string
-            description: Phone number
-        Timestamp:
-            type: string
-            description: ISO 8601 timestamp
-            format: date-time
-        ApiAuthenticationError:
-            type: object
-            properties:
-                code:
-                    type: string
-                    description: The error code
-                    maxLength: 200
-                    example: invalid_api_request
-                message:
-                    type: string
-                    description: Description of the error, with rectification steps/ reference links to docs
-                    maxLength: 255
-                    example: Access forbidden, invalid api-key was used
-                type:
-                    type: string
-                    description: The category to which the error belongs
-                    maxLength: 200
-                    example: invalid_request_error
-        ObjectNotFoundError:
-            type: object
-            properties:
-                code:
-                    type: string
-                    description: The error code
-                    maxLength: 200
-                    example: object_not_found
-                message:
-                    type: string
-                    description: Description of the error, with rectification steps/ reference links to docs
-                    maxLength: 255
-                    example: Customer does not exist in records
-                type:
-                    type: string
-                    description: The category to which the error belongs
-                    maxLength: 200
-                    example: object_not_found
-        BadRequestError:
-            type: object
-            properties:
-                code:
-                    type: string
-                    description: The error code
-                    maxLength: 255
-                    example: parameter_missing
-                message:
-                    type: string
-                    description: "Missing required param: <parameter_name>"
-                    maxLength: 255
-                    example: "Missing required param: amount"
-                type:
-                    type: string
-                    description: The category to which the error belongs
-                    maxLength: 255
-                    example: invalid_request_error
-        Error:
-            type: object
-            properties:
-                code:
-                    type: string
-                    description: The error code
-                    maxLength: 255
-                    example: parameter_missing
-                message:
-                    type: string
-                    description: "Missing required param: <parameter_name>"
-                    maxLength: 255
-                    example: "Missing required param: amount"
-                type:
-                    type: string
-                    description: The category to which the error belongs
-                    maxLength: 255
-                    example: invalid_request_error
+    NextAction:
+      type: object
+      description: States the next action to complete the payment
+      properties:
+        # type:
+        #     type: string
+        #     description: "This indicates type of action that is required in order to complete the payment with inputs from the user. This may involve actions such as redirecting the user to a URL, displaying a QR code, invoking the SDK client"
+        #     enum:
+        #         - redirect_to_url
+        #         - display_qr_code
+        #         - invoke_sdk_client
+        #         - invoke_payment_app
+        #         - trigger_api
+        #     example: "redirect_to_url"
+        redirect_to_url:
+          type: string
+          description: The URL to which the customer needs to be redirected for completing the payment.
+          example: "https://pg-redirect-page.com"
+        display_qr_code:
+          type: string
+          description: The QR code data to be displayed to the customer.
+          example: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb"
+        invoke_payment_app:
+          type: object
+          description: Contains the data for invoking the sdk client for completing the payment.
+          example:
+            intent_uri: "upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR"
+        invoke_sdk_client:
+          type: object
+          description: Contains the data for invoking the sdk client for completing the payment.
+          example:
+            sdk_name: "gpay"
+            sdk_params: { param1: "value", param2: "value" }
+            intent_uri: "upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR"
+        trigger_api:
+          type: object
+          description: Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.
+          example:
+            api_name: "submit_otp"
+            doc: "https://router.juspay.io/api-reference/submit_otp"
+    PhoneNumber:
+      type: string
+      description: Phone number
+    Timestamp:
+      type: string
+      description: ISO 8601 timestamp
+      format: date-time
+    ApiAuthenticationError:
+      type: object
+      properties:
+        code:
+          type: string
+          description: The error code
+          maxLength: 200
+          example: invalid_api_request
+        message:
+          type: string
+          description: Description of the error, with rectification steps/ reference links to docs
+          maxLength: 255
+          example: Access forbidden, invalid api-key was used
+        type:
+          type: string
+          description: The category to which the error belongs
+          maxLength: 200
+          example: invalid_request_error
+    ObjectNotFoundError:
+      type: object
+      properties:
+        code:
+          type: string
+          description: The error code
+          maxLength: 200
+          example: object_not_found
+        message:
+          type: string
+          description: Description of the error, with rectification steps/ reference links to docs
+          maxLength: 255
+          example: Customer does not exist in records
+        type:
+          type: string
+          description: The category to which the error belongs
+          maxLength: 200
+          example: object_not_found
+    BadRequestError:
+      type: object
+      properties:
+        code:
+          type: string
+          description: The error code
+          maxLength: 255
+          example: parameter_missing
+        message:
+          type: string
+          description: "Missing required param: <parameter_name>"
+          maxLength: 255
+          example: "Missing required param: amount"
+        type:
+          type: string
+          description: The category to which the error belongs
+          maxLength: 255
+          example: invalid_request_error
+    Error:
+      type: object
+      properties:
+        code:
+          type: string
+          description: The error code
+          maxLength: 255
+          example: parameter_missing
+        message:
+          type: string
+          description: "Missing required param: <parameter_name>"
+          maxLength: 255
+          example: "Missing required param: amount"
+        type:
+          type: string
+          description: The category to which the error belongs
+          maxLength: 255
+          example: invalid_request_error
 
-    # headers:
-    #     Cko-Request-Id:
-    #         description: The unique identifier of the request
-    #         schema:
-    #             type: string
-    #     Cko-Version:
-    #         description: The version of the API
-    #         schema:
-    #             type: string
-    parameters:
-        hash:
-            name: hash
-            in: path
-            description: The token identifier string
-            schema:
-                type: string
-            required: true
-        mediaType:
-            name: Accept
-            in: header
-            schema:
-                type: string
-                enum:
-                    - application/json
-                default: application/json
-            description: The response media type
-        systemEventType:
-            name: eventType
-            in: path
-            description: The event type
-            schema:
-                type: string
-            required: true
-    securitySchemes:
-        ApiSecretKey:
-            description: >
-                Unless explicitly stated, all endpoints require authentication using your secret key. 
-                You may generate your API keys from the Juspay Dashboard.
+  # headers:
+  #     Cko-Request-Id:
+  #         description: The unique identifier of the request
+  #         schema:
+  #             type: string
+  #     Cko-Version:
+  #         description: The version of the API
+  #         schema:
+  #             type: string
+  parameters:
+    hash:
+      name: hash
+      in: path
+      description: The token identifier string
+      schema:
+        type: string
+      required: true
+    mediaType:
+      name: Accept
+      in: header
+      schema:
+        type: string
+        enum:
+          - application/json
+        default: application/json
+      description: The response media type
+    systemEventType:
+      name: eventType
+      in: path
+      description: The event type
+      schema:
+        type: string
+      required: true
+  securitySchemes:
+    ApiSecretKey:
+      description: >
+        Unless explicitly stated, all endpoints require authentication using your secret key. 
+        You may generate your API keys from the Juspay Dashboard.
 
-                #### Format
+        #### Format
 
-                - Sandbox `sk_xxxxxxxxxxxxxxxxxxxxxxxxxx`
+        - Sandbox `sk_xxxxxxxxxxxxxxxxxxxxxxxxxx`
 
-                - Production `pk_xxxxxxxxxxxxxxxxxxxxxxxxxx`
-            name: api-key
-            type: apiKey
-            in: header
-            x-cko-type: api-key
+        - Production `pk_xxxxxxxxxxxxxxxxxxxxxxxxxx`
+      name: api-key
+      type: apiKey
+      in: header
+      x-cko-type: api-key
 
-        AdminSecretKey:
-            description: >
-                Admin Key for manaing Merchant Accounts and Payment Connectors
-                In the OSS version - Developers can directly update the AdminSecretKey in the DB and start using the admin APIs to configure a new accounts and connectors
-                In the Hosted version - The key can be obtained from the Dashboard or the Support team
-            name: admin-api-key
-            type: apiKey
-            in: header
-            x-cko-type: admin-api-key
+    AdminSecretKey:
+      description: >
+        Admin Key for managing Merchant Accounts and Payment Connectors
+        In the OSS version - Developers can directly update the AdminSecretKey in the DB and start using the admin APIs to configure a new accounts and connectors
+        In the Hosted version - The key can be obtained from the Dashboard or the Support team
+      name: admin-api-key
+      type: apiKey
+      in: header
+      x-cko-type: admin-api-key
diff --git a/postman/collection.postman.json b/postman/collection.postman.json
index a15fd580edd..d973c239c1a 100644
--- a/postman/collection.postman.json
+++ b/postman/collection.postman.json
@@ -1,10 +1,10 @@
 {
   "_": {
-    "postman_id": "37584940-c2e2-4a94-9dde-59703dd0eab6"
+    "postman_id": "f714328d-aa9f-4cef-a376-fb0c30e34e50"
   },
   "item": [
     {
-      "id": "b5d832c0-9ce2-4c5d-8770-515ee16773cd",
+      "id": "7b86ab02-f1a6-4195-9033-0602c0fe2262",
       "name": "Payments",
       "description": {
         "content": "Process and manage payments across wide range of payment processors using the Unified Payments API.",
@@ -12,7 +12,7 @@
       },
       "item": [
         {
-          "id": "f148abdb-b350-4c82-b231-de8a2b60a746",
+          "id": "e1df62e4-a952-448e-a195-a1e7651c66b6",
           "name": "Payments - Create",
           "request": {
             "name": "Payments - Create",
@@ -43,7 +43,7 @@
             "method": "POST",
             "body": {
               "mode": "raw",
-              "raw": "{\n  \"amount\": 6540,\n  \"currency\": \"USD\",\n  \"payment_id\": \"pay_mbabizu24mvu3mela5njyhpit4\",\n  \"confirm\": true,\n  \"capture_method\": \"automatic\",\n  \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n  \"amount_to_capture\": 6540,\n  \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n  \"description\": \"Its my first payment request\",\n  \"email\": \"JohnTest@test.com\",\n  \"name\": \"John Test\",\n  \"phone\": \"irure Lorem\",\n  \"phone_country_code\": \"+65\",\n  \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n  \"setup_future_usage\": \"off_session\",\n  \"off_session\": true,\n  \"mandate_data\": {\n    \"customer_acceptance\": {\n      \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n      \"online\": {\n        \"ip_address\": \"127.0.0.1\",\n        \"user_agent\": \"device\"\n      },\n      \"acceptance_type\": \"online\"\n    }\n  },\n  \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n  \"authentication_type\": \"three_ds\",\n  \"payment_method\": \"card\",\n  \"payment_method_data\": {\n    \"card\": {\n      \"card_number\": \"pariatur Excepteur id doculpa \",\n      \"card_exp_month\": \"10\",\n      \"card_exp_year\": \"25\",\n      \"card_holder_name\": \"John Doe\",\n      \"card_cvc\": \"123\",\n      \"card_token\": \"irureveniam et sed enim occaec\"\n    }\n  },\n  \"billing\": {\n    \"line1\": \"Juspay Router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"city\": \"Bangalore\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"country\": \"IN\"\n  },\n  \"shipping\": {\n    \"line1\": \"Juspay Router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"city\": \"Bangalore\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"country\": \"IN\"\n  },\n  \"statement_descriptor_name\": \"Juspay Router\",\n  \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n  \"metadata\": {\n    \"city\": \"NY\",\n    \"unit\": \"245\"\n  }\n}",
+              "raw": "{\n  \"amount\": 6540,\n  \"currency\": \"USD\",\n  \"payment_id\": \"pay_mbabizu24mvu3mela5njyhpit4\",\n  \"confirm\": true,\n  \"capture_method\": \"automatic\",\n  \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n  \"amount_to_capture\": 6540,\n  \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n  \"description\": \"Its my first payment request\",\n  \"email\": \"JohnTest@test.com\",\n  \"name\": \"John Test\",\n  \"phone\": \"ipsum sint commodo Lo\",\n  \"phone_country_code\": \"+65\",\n  \"return_url\": \"https://juspay.io/\",\n  \"setup_future_usage\": \"off_session\",\n  \"off_session\": true,\n  \"mandate_data\": {\n    \"customer_acceptance\": {\n      \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n      \"online\": {\n        \"ip_address\": \"127.0.0.1\",\n        \"user_agent\": \"device\"\n      },\n      \"acceptance_type\": \"online\"\n    }\n  },\n  \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n  \"authentication_type\": \"no_three_ds\",\n  \"payment_method\": \"card\",\n  \"payment_method_data\": {\n    \"card\": {\n      \"card_number\": \"dolor dolore est ullamcosunt e\",\n      \"card_exp_month\": \"10\",\n      \"card_exp_year\": \"25\",\n      \"card_holder_name\": \"John Doe\",\n      \"card_cvc\": \"123\",\n      \"card_token\": \"consequat sint animad laboris \"\n    }\n  },\n  \"billing\": {\n    \"line1\": \"Juspay Router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"city\": \"Bangalore\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"country\": \"IN\"\n  },\n  \"shipping\": {\n    \"line1\": \"Juspay Router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"city\": \"Bangalore\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"country\": \"IN\"\n  },\n  \"statement_descriptor_name\": \"Juspay Router\",\n  \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n  \"metadata\": {\n    \"city\": \"NY\",\n    \"unit\": \"245\"\n  }\n}",
               "options": {
                 "raw": {
                   "language": "json"
@@ -56,17 +56,18 @@
             {
               "listen": "test",
               "script": {
-                "id": "b7d1b7da-5fa4-4dfa-9703-1b5057a6004c",
+                "id": "4bbb530a-366d-4a2b-a6c9-2356abc6aedd",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[POST]::/payments - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[POST]::/payments - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
                   "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                  "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                  "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                   "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                  "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id\nif (jsonData?.payment_id) {\n   pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);\n   console.log(\"- use {{payment_id}} as collection variable for value\",jsonData.payment_id);\n} else {\n   console.log('INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.');\n};\n",
-                  "",
-                  "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id\nif (jsonData?.mandate_id) {\n   pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);\n   console.log(\"- use {{mandate_id}} as collection variable for value\",jsonData.mandate_id);\n} else {\n   console.log('INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.');\n};\n"
+                  "// Set property value as variable\nconst _resPaymentId = jsonData?.payment_id;\n",
+                  "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id\nif (_resPaymentId !== undefined) {\n   pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);\n   console.log(\"- use {{payment_id}} as collection variable for value\",jsonData.payment_id);\n} else {\n   console.log('INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.');\n};\n",
+                  "// Set property value as variable\nconst _resMandateId = jsonData?.mandate_id;\n",
+                  "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id\nif (_resMandateId !== undefined) {\n   pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);\n   console.log(\"- use {{mandate_id}} as collection variable for value\",jsonData.mandate_id);\n} else {\n   console.log('INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.');\n};\n"
                 ]
               }
             }
@@ -76,7 +77,7 @@
           }
         },
         {
-          "id": "b42060cb-b037-4b3b-ac19-890b431d7270",
+          "id": "e816ca89-024b-4404-9715-f734d1ef2a22",
           "name": "Payments - Update",
           "request": {
             "name": "Payments - Update",
@@ -119,7 +120,7 @@
             "method": "POST",
             "body": {
               "mode": "raw",
-              "raw": "{\n  \"amount\": 6540,\n  \"currency\": \"USD\",\n  \"capture_method\": \"automatic\",\n  \"capture_on\": \"2022-09-10T10:11:12Z\",\n  \"amount_to_capture\": 6540,\n  \"amount_capturable\": 6540,\n  \"customer_id\": \"cus_udst2tfldj6upmye2reztkmm4i\",\n  \"email\": \"guest@example.com\",\n  \"name\": \"John Doe\",\n  \"phone\": \"999999999\",\n  \"phone_country_code\": \"+65\",\n  \"description\": \"Its my first payment request\",\n  \"setup_future_usage\": \"optional\",\n  \"authentication_type\": \"three_ds\",\n  \"payment_method\": \"card\",\n  \"save_payment_method\": true,\n  \"payment_method_data\": {\n    \"card\": {\n      \"card_number\": \"4242424242424242\",\n      \"card_exp_month\": \"10\",\n      \"card_exp_year\": \"35\",\n      \"card_holder_name\": \"Jpayment_method_dataohn Doe\",\n      \"card_cvc\": \"123\"\n    }\n  },\n  \"statement_descriptor_name\": \"Juspay\",\n  \"statement_descriptor_suffix\": \"Router\",\n  \"shipping\": {\n    \"city\": \"Bangalore\",\n    \"country\": \"IN\",\n    \"line1\": \"Juspay router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\"\n  },\n  \"billing\": {\n    \"city\": \"Bangalore\",\n    \"country\": \"IN\",\n    \"line1\": \"Juspay router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\"\n  },\n  \"metadata\": {\n    \"udf1\": \"value1\",\n    \"new_customer\": \"true\",\n    \"login_date\": \"2019-09-10T10:11:12Z\"\n  }\n}",
+              "raw": "{\n  \"amount\": 6540,\n  \"currency\": \"USD\",\n  \"capture_method\": \"automatic\",\n  \"capture_on\": \"2022-09-10T10:11:12Z\",\n  \"amount_to_capture\": 6540,\n  \"amount_capturable\": 6540,\n  \"customer_id\": \"cus_udst2tfldj6upmye2reztkmm4i\",\n  \"email\": \"guest@example.com\",\n  \"name\": \"John Doe\",\n  \"phone\": \"999999999\",\n  \"phone_country_code\": \"+65\",\n  \"description\": \"Its my first payment request\",\n  \"setup_future_usage\": \"optional\",\n  \"authentication_type\": \"no_three_ds\",\n  \"payment_method\": \"card\",\n  \"save_payment_method\": true,\n  \"payment_method_data\": {\n    \"card\": {\n      \"card_number\": \"4242424242424242\",\n      \"card_exp_month\": \"10\",\n      \"card_exp_year\": \"35\",\n      \"card_holder_name\": \"John Doe\",\n      \"card_cvc\": \"123\"\n    }\n  },\n  \"statement_descriptor_name\": \"Juspay\",\n  \"statement_descriptor_suffix\": \"Router\",\n  \"shipping\": {\n    \"city\": \"Bangalore\",\n    \"country\": \"IN\",\n    \"line1\": \"Juspay router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\"\n  },\n  \"billing\": {\n    \"city\": \"Bangalore\",\n    \"country\": \"IN\",\n    \"line1\": \"Juspay router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\"\n  },\n  \"metadata\": {\n    \"udf1\": \"value1\",\n    \"new_customer\": \"true\",\n    \"login_date\": \"2019-09-10T10:11:12Z\"\n  }\n}",
               "options": {
                 "raw": {
                   "language": "json"
@@ -132,13 +133,13 @@
             {
               "listen": "test",
               "script": {
-                "id": "2f813beb-2353-4850-a4aa-738a275ce41d",
+                "id": "2c4bf1f6-4d04-44a2-bac4-98d2428d6cf6",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[POST]::/payments/:id - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[POST]::/payments/:id - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
                   "// Validate if response has JSON Body \npm.test(\"[POST]::/payments/:id - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
+                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
                 ]
               }
             }
@@ -148,7 +149,7 @@
           }
         },
         {
-          "id": "0899ae95-e81e-45a8-8345-7f8cd336cdea",
+          "id": "a1d634d3-c5bf-46b1-ad54-570e8f4e67b1",
           "name": "Payments - Retrieve",
           "request": {
             "name": "Payments - Retrieve",
@@ -191,20 +192,20 @@
             {
               "listen": "test",
               "script": {
-                "id": "51d502ba-3e8d-457c-b217-a3c02055c0e1",
+                "id": "da0d3c9e-b4a4-42dc-b056-f15c079cfcb4",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
                   "// Validate if response has JSON Body \npm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
+                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
                 ]
               }
             }
           ]
         },
         {
-          "id": "c7fc2af2-e7da-4290-935d-da33ffa20ea8",
+          "id": "45e28fba-ce1e-4b90-a211-32c47a8b50b3",
           "name": "Payments - Capture",
           "request": {
             "name": "Payments - Capture",
@@ -261,17 +262,17 @@
             {
               "listen": "test",
               "script": {
-                "id": "e4ad74a3-a738-4e86-95aa-d4ef5c3c58a5",
+                "id": "f7c03d1c-6e08-4872-b5c5-6b27997e0549",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[POST]::/payments/:id/capture - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[POST]::/payments/:id/capture - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
                   "// Validate if response has JSON Body \npm.test(\"[POST]::/payments/:id/capture - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id/capture - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id/capture - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                   "// Validate status 2xx \npm.test(\"[POST]::/payments/:id/capture - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[POST]::/payments/:id/capture - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
                   "// Validate if response has JSON Body \npm.test(\"[POST]::/payments/:id/capture - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id/capture - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
+                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id/capture - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
                 ]
               }
             }
@@ -281,12 +282,12 @@
           }
         },
         {
-          "id": "23794371-7143-4b9c-9bfc-8b1267bc475a",
+          "id": "d7203dc0-97cf-4b61-bbd6-f3ab61d42ae5",
           "name": "Payments - Confirm",
           "request": {
             "name": "Payments - Confirm",
             "description": {
-              "content": "This API is to confirm the payment request and foward payment to the payment processor. This API provides more granular control upon when the API is forwarded to the payment processor. Alternatively you can confirm the payment within the Payments-Create API",
+              "content": "This API is to confirm the payment request and forward payment to the payment processor. This API provides more granular control upon when the API is forwarded to the payment processor. Alternatively you can confirm the payment within the Payments-Create API",
               "type": "text/plain"
             },
             "url": {
@@ -325,7 +326,7 @@
             "method": "POST",
             "body": {
               "mode": "raw",
-              "raw": "{\n  \"return_url\": \"http://example.com/payments\",\n  \"setup_future_usage\": \"optional\",\n  \"authentication_type\": \"three_ds\",\n  \"payment_method\": \"card\",\n  \"save_payment_method\": true,\n  \"payment_method_data\": {\n    \"card\": {\n      \"card_number\": \"4242424242424242\",\n      \"card_exp_month\": \"10\",\n      \"card_exp_year\": \"35\",\n      \"card_holder_name\": \"John Doe\",\n      \"card_cvc\": \"123\"\n    }\n  },\n  \"shipping\": {\n    \"city\": \"Bangalore\",\n    \"country\": \"IN\",\n    \"line1\": \"Juspay router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\"\n  },\n  \"billing\": {\n    \"city\": \"Bangalore\",\n    \"country\": \"IN\",\n    \"line1\": \"Juspay router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\"\n  }\n}",
+              "raw": "{\n  \"return_url\": \"http://example.com/payments\",\n  \"setup_future_usage\": \"optional\",\n  \"authentication_type\": \"no_three_ds\",\n  \"payment_method\": \"card\",\n  \"save_payment_method\": true,\n  \"payment_method_data\": {\n    \"card\": {\n      \"card_number\": \"4242424242424242\",\n      \"card_exp_month\": \"10\",\n      \"card_exp_year\": \"35\",\n      \"card_holder_name\": \"John Doe\",\n      \"card_cvc\": \"123\"\n    }\n  },\n  \"shipping\": {\n    \"city\": \"Bangalore\",\n    \"country\": \"IN\",\n    \"line1\": \"Juspay router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\"\n  },\n  \"billing\": {\n    \"city\": \"Bangalore\",\n    \"country\": \"IN\",\n    \"line1\": \"Juspay router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\"\n  }\n}",
               "options": {
                 "raw": {
                   "language": "json"
@@ -338,17 +339,17 @@
             {
               "listen": "test",
               "script": {
-                "id": "d09f166d-c02a-4ca7-9ea7-4c5d36561d92",
+                "id": "5af9dcc8-e829-4e9a-96a3-ea1e2c20f26b",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[POST]::/payments/:id/confirm - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[POST]::/payments/:id/confirm - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
                   "// Validate if response has JSON Body \npm.test(\"[POST]::/payments/:id/confirm - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id/confirm - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id/confirm - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                   "// Validate status 2xx \npm.test(\"[POST]::/payments/:id/confirm - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[POST]::/payments/:id/confirm - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
                   "// Validate if response has JSON Body \npm.test(\"[POST]::/payments/:id/confirm - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id/confirm - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
+                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id/confirm - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
                 ]
               }
             }
@@ -358,7 +359,7 @@
           }
         },
         {
-          "id": "f0f6921c-9600-4e31-a36d-55651816ab74",
+          "id": "2c5b66c3-7267-4287-8fd8-352161ad5c9d",
           "name": "Payments - Cancel",
           "request": {
             "name": "Payments - Cancel",
@@ -415,17 +416,17 @@
             {
               "listen": "test",
               "script": {
-                "id": "61465a36-1967-4c75-8a33-6a7748b56a51",
+                "id": "ea957899-4c2b-40f9-a5a8-5e54d1a11948",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[POST]::/payments/:id/cancel - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[POST]::/payments/:id/cancel - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
                   "// Validate if response has JSON Body \npm.test(\"[POST]::/payments/:id/cancel - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id/cancel - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id/cancel - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                   "// Validate status 2xx \npm.test(\"[POST]::/payments/:id/cancel - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[POST]::/payments/:id/cancel - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
                   "// Validate if response has JSON Body \npm.test(\"[POST]::/payments/:id/cancel - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id/cancel - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
+                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id/cancel - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
                 ]
               }
             }
@@ -438,7 +439,7 @@
       "event": []
     },
     {
-      "id": "92fe80c3-1f0d-4e2e-8494-899523bab07a",
+      "id": "4f09a5eb-0b20-4011-8005-cd6e87f813f6",
       "name": "Customers",
       "description": {
         "content": "Create a Customer entity which you can use to store and retrieve specific customers' data and payment methods.",
@@ -446,7 +447,7 @@
       },
       "item": [
         {
-          "id": "ac71d896-0eb4-4d5a-9846-358c321aaa3c",
+          "id": "8ee819a3-b8bc-4dd6-af78-3551a9a29d83",
           "name": "Create Customer",
           "request": {
             "name": "Create Customer",
@@ -490,18 +491,18 @@
             {
               "listen": "test",
               "script": {
-                "id": "e8b101d1-e9d3-4a71-a87f-88dc26291d53",
+                "id": "eefa31b1-13c1-465b-8ea0-8fbafd6b1bbb",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[POST]::/customers - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[POST]::/customers - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
                   "// Validate if response has JSON Body \npm.test(\"[POST]::/customers - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":\"string\",\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone_country_code\":{\"type\":\"object\",\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":65},\"phone\":{\"type\":\"object\",\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"address\":{\"type\":\"object\",\"description\":\"The address for the customer\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"description\":{\"type\":\"object\",\"description\":\"An arbitrary string that you can attach to a customer object.\",\"maxLength\":255,\"example\":\"First customer\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/customers - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                  "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":\"string\",\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone_country_code\":{\"type\":\"object\",\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":65},\"phone\":{\"type\":\"object\",\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"address\":{\"type\":\"object\",\"description\":\"The address for the customer\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"description\":{\"type\":\"object\",\"description\":\"An arbitrary string that you can attach to a customer object.\",\"maxLength\":255,\"example\":\"First customer\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/customers - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                   "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                  "// Response body should have \"customer_id\"\npm.test(\"[POST]::/customers - Content check if 'customer_id' exists\", function() {\n   pm.expect((typeof jsonData.customer_id !== \"undefined\")).to.be.true;\n});\n",
-                  "// Response body should have a minimum length of \"1\" for \"customer_id\"\nif (jsonData?.customer_id) {\npm.test(\"[POST]::/customers - Content check if value of 'customer_id' has a minimum length of '1'\", function() {\n  pm.expect(jsonData.customer_id.length).is.at.least(1);\n})};\n",
-                  "",
-                  "// pm.collectionVariables - Set customer_id as variable for jsonData.customer_id\nif (jsonData?.customer_id) {\n   pm.collectionVariables.set(\"customer_id\", jsonData.customer_id);\n   console.log(\"- use {{customer_id}} as collection variable for value\",jsonData.customer_id);\n} else {\n   console.log('INFO - Unable to assign variable {{customer_id}}, as jsonData.customer_id is undefined.');\n};\n"
+                  "// Set property value as variable\nconst _resCustomerId = jsonData?.customer_id;\n",
+                  "// Response body should have \"customer_id\"\npm.test(\"[POST]::/customers - Content check if 'customer_id' exists\", function() {\n   pm.expect(_resCustomerId !== undefined).to.be.true;\n});\n",
+                  "// Response body should have a minimum length of \"1\" for \"customer_id\"\nif (_resCustomerId !== undefined) {\npm.test(\"[POST]::/customers - Content check if value of 'customer_id' has a minimum length of '1'\", function() {\n  pm.expect(jsonData.customer_id.length).is.at.least(1);\n})};\n",
+                  "// pm.collectionVariables - Set customer_id as variable for jsonData.customer_id\nif (_resCustomerId !== undefined) {\n   pm.collectionVariables.set(\"customer_id\", jsonData.customer_id);\n   console.log(\"- use {{customer_id}} as collection variable for value\",jsonData.customer_id);\n} else {\n   console.log('INFO - Unable to assign variable {{customer_id}}, as jsonData.customer_id is undefined.');\n};\n"
                 ]
               }
             }
@@ -511,7 +512,7 @@
           }
         },
         {
-          "id": "7720deb2-0ce6-4b75-b242-a99e7bea0836",
+          "id": "5feafb24-871e-4eed-954d-061c19f33682",
           "name": "Retrieve Customer",
           "request": {
             "name": "Retrieve Customer",
@@ -554,20 +555,20 @@
             {
               "listen": "test",
               "script": {
-                "id": "35d05952-b8e9-41cd-919c-569dd5f71bb8",
+                "id": "056d8564-7c5b-47da-8558-e3e44c6f5a03",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[GET]::/customers/:id - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[GET]::/customers/:id - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
                   "// Validate if response has JSON Body \npm.test(\"[GET]::/customers/:id - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":\"string\",\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone_country_code\":{\"type\":\"object\",\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":65},\"phone\":{\"type\":\"object\",\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"address\":{\"type\":\"object\",\"description\":\"The address for the customer\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"description\":{\"type\":\"object\",\"description\":\"An arbitrary string that you can attach to a customer object.\",\"maxLength\":255,\"example\":\"First customer\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/customers/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
+                  "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":\"string\",\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone_country_code\":{\"type\":\"object\",\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":65},\"phone\":{\"type\":\"object\",\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"address\":{\"type\":\"object\",\"description\":\"The address for the customer\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"description\":{\"type\":\"object\",\"description\":\"An arbitrary string that you can attach to a customer object.\",\"maxLength\":255,\"example\":\"First customer\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/customers/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
                 ]
               }
             }
           ]
         },
         {
-          "id": "6f6153a7-9aed-46b6-8ad4-4b06e38db2b0",
+          "id": "fcd2f0d5-56b9-400e-adb5-90b221c630f9",
           "name": "Update Customer",
           "request": {
             "name": "Update Customer",
@@ -610,7 +611,7 @@
             "method": "POST",
             "body": {
               "mode": "raw",
-              "raw": "{\n  \"email\": \"JohnTest@test.com\",\n  \"name\": \"John Test\",\n  \"phone_country_code\": \"+65\",\n  \"phone\": \"qui dolor\",\n  \"address\": {\n    \"line1\": \"Juspay Router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"city\": \"Bangalore\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"country\": \"IN\"\n  },\n  \"description\": \"First customer\",\n  \"metadata\": {\n    \"city\": \"NY\",\n    \"unit\": \"245\"\n  }\n}",
+              "raw": "{\n  \"email\": \"JohnTest@test.com\",\n  \"name\": \"John Test\",\n  \"phone_country_code\": \"+65\",\n  \"phone\": \"elit Excepteur cupidatat in\",\n  \"address\": {\n    \"line1\": \"Juspay Router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"city\": \"Bangalore\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"country\": \"IN\"\n  },\n  \"description\": \"First customer\",\n  \"metadata\": {\n    \"city\": \"NY\",\n    \"unit\": \"245\"\n  }\n}",
               "options": {
                 "raw": {
                   "language": "json"
@@ -623,13 +624,13 @@
             {
               "listen": "test",
               "script": {
-                "id": "5f3e808b-40f8-4be0-86a1-28488298a07c",
+                "id": "d6d4c6ec-fd33-43ff-8eda-e7ae349e13b4",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[POST]::/customers/:id - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[POST]::/customers/:id - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
                   "// Validate if response has JSON Body \npm.test(\"[POST]::/customers/:id - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":\"string\",\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone_country_code\":{\"type\":\"object\",\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":65},\"phone\":{\"type\":\"object\",\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"address\":{\"type\":\"object\",\"description\":\"The address for the customer\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"description\":{\"type\":\"object\",\"description\":\"An arbitrary string that you can attach to a customer object.\",\"maxLength\":255,\"example\":\"First customer\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/customers/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
+                  "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":\"string\",\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone_country_code\":{\"type\":\"object\",\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":65},\"phone\":{\"type\":\"object\",\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"address\":{\"type\":\"object\",\"description\":\"The address for the customer\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"description\":{\"type\":\"object\",\"description\":\"An arbitrary string that you can attach to a customer object.\",\"maxLength\":255,\"example\":\"First customer\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/customers/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
                 ]
               }
             }
@@ -639,7 +640,7 @@
           }
         },
         {
-          "id": "cad2d113-d837-461d-8462-1d63536690e5",
+          "id": "f63ee059-67fb-4a62-9f35-7fdc7e3ee460",
           "name": "Delete Customer",
           "request": {
             "name": "Delete Customer",
@@ -682,7 +683,7 @@
             {
               "listen": "test",
               "script": {
-                "id": "ac0910c8-7cbf-4f4a-a35f-b47a39d8ca0d",
+                "id": "f1ac4ec7-f6b4-4ee6-b75b-b8b2f6b37ea8",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[DELETE]::/customers/:id - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
@@ -698,7 +699,7 @@
       "event": []
     },
     {
-      "id": "d3b9e84b-80c5-45f6-92a9-b0a30aa510b9",
+      "id": "fc171a2b-6e93-4783-ab6e-c4768c33a37d",
       "name": "Refunds",
       "description": {
         "content": "",
@@ -706,12 +707,12 @@
       },
       "item": [
         {
-          "id": "2a472ac7-27c4-4994-917f-521255ca5e33",
+          "id": "9058225c-ba4a-4a27-9653-2ac720a02a1b",
           "name": "Refunds - Create",
           "request": {
             "name": "Refunds - Create",
             "description": {
-              "content": "To create a refund againt an already processed payment",
+              "content": "To create a refund against an already processed payment",
               "type": "text/plain"
             },
             "url": {
@@ -750,12 +751,12 @@
             {
               "listen": "test",
               "script": {
-                "id": "068dea04-d69e-4e46-be41-c92d8f372f30",
+                "id": "f587ad45-b4c2-4b44-aaa8-d2321cf7a7b5",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[POST]::/refunds - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[POST]::/refunds - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"amount\",\"refund_id\",\"payment_id\",\"currency\",\"status\"],\"properties\":{\"amount\":{\"type\":\"integer\",\"description\":\"The refund amount, which should be less than or equal to the toal payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":1,\"example\":6540},\"refund_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment.\\nIf the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response.\\nIt is recommended to generate uuid(v4) as the refund_id.\\n\",\"maxLength\":30,\"minLength\":30,\"example\":\"ref_mbabizu24mvu3mela5njyhpit4\"},\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"reason\":{\"type\":\"string\",\"description\":\"An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive\",\"maxLength\":255,\"example\":\"Customer returned the product\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/refunds - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
+                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"amount\",\"refund_id\",\"payment_id\",\"currency\",\"status\"],\"properties\":{\"amount\":{\"type\":\"integer\",\"description\":\"The refund amount, which should be less than or equal to the total payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":1,\"example\":6540},\"refund_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment.\\nIf the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response.\\nIt is recommended to generate uuid(v4) as the refund_id.\\n\",\"maxLength\":30,\"minLength\":30,\"example\":\"ref_mbabizu24mvu3mela5njyhpit4\"},\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"reason\":{\"type\":\"string\",\"description\":\"An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive\",\"maxLength\":255,\"example\":\"Customer returned the product\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/refunds - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
                 ]
               }
             }
@@ -765,7 +766,7 @@
           }
         },
         {
-          "id": "445662d4-a9f2-4d55-85a9-02e139c43cd0",
+          "id": "3a153efd-55ca-40ec-8e3c-d78bea02fa8e",
           "name": "Refunds - Update",
           "request": {
             "name": "Refunds - Update",
@@ -821,12 +822,12 @@
             {
               "listen": "test",
               "script": {
-                "id": "bea9a02c-b5a7-43e4-afad-2a1810174639",
+                "id": "e9d09317-a6ee-44fa-b1f2-14c5012a905f",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[POST]::/refunds/:id - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[POST]::/refunds/:id - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"amount\",\"refund_id\",\"payment_id\",\"currency\",\"status\"],\"properties\":{\"amount\":{\"type\":\"integer\",\"description\":\"The refund amount, which should be less than or equal to the toal payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":1,\"example\":6540},\"refund_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment.\\nIf the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response.\\nIt is recommended to generate uuid(v4) as the refund_id.\\n\",\"maxLength\":30,\"minLength\":30,\"example\":\"ref_mbabizu24mvu3mela5njyhpit4\"},\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"reason\":{\"type\":\"string\",\"description\":\"An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive\",\"maxLength\":255,\"example\":\"Customer returned the product\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/refunds/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
+                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"amount\",\"refund_id\",\"payment_id\",\"currency\",\"status\"],\"properties\":{\"amount\":{\"type\":\"integer\",\"description\":\"The refund amount, which should be less than or equal to the total payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":1,\"example\":6540},\"refund_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment.\\nIf the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response.\\nIt is recommended to generate uuid(v4) as the refund_id.\\n\",\"maxLength\":30,\"minLength\":30,\"example\":\"ref_mbabizu24mvu3mela5njyhpit4\"},\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"reason\":{\"type\":\"string\",\"description\":\"An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive\",\"maxLength\":255,\"example\":\"Customer returned the product\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/refunds/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
                 ]
               }
             }
@@ -836,7 +837,7 @@
           }
         },
         {
-          "id": "8f1f6f85-2ea4-41b8-81aa-83ac10aaea72",
+          "id": "ec550bd9-6d1f-4faa-a98b-6d12fb8b7157",
           "name": "Refunds - Retrieve",
           "request": {
             "name": "Refunds - Retrieve",
@@ -879,12 +880,12 @@
             {
               "listen": "test",
               "script": {
-                "id": "63a31313-7dc9-4424-938a-ed1fbd18144f",
+                "id": "1b1cb82d-cc9a-4c2d-ac72-252ee8d14f2d",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[GET]::/refunds/:id - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[GET]::/refunds/:id - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"amount\",\"refund_id\",\"payment_id\",\"currency\",\"status\"],\"properties\":{\"amount\":{\"type\":\"integer\",\"description\":\"The refund amount, which should be less than or equal to the toal payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":1,\"example\":6540},\"refund_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment.\\nIf the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response.\\nIt is recommended to generate uuid(v4) as the refund_id.\\n\",\"maxLength\":30,\"minLength\":30,\"example\":\"ref_mbabizu24mvu3mela5njyhpit4\"},\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"reason\":{\"type\":\"string\",\"description\":\"An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive\",\"maxLength\":255,\"example\":\"Customer returned the product\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/refunds/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
+                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"amount\",\"refund_id\",\"payment_id\",\"currency\",\"status\"],\"properties\":{\"amount\":{\"type\":\"integer\",\"description\":\"The refund amount, which should be less than or equal to the total payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":1,\"example\":6540},\"refund_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment.\\nIf the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response.\\nIt is recommended to generate uuid(v4) as the refund_id.\\n\",\"maxLength\":30,\"minLength\":30,\"example\":\"ref_mbabizu24mvu3mela5njyhpit4\"},\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"reason\":{\"type\":\"string\",\"description\":\"An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive\",\"maxLength\":255,\"example\":\"Customer returned the product\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/refunds/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
                 ]
               }
             }
@@ -894,7 +895,7 @@
       "event": []
     },
     {
-      "id": "8d21f049-2bd8-4700-b2fd-8cc7969b591c",
+      "id": "da07f99a-1a76-46d6-80a8-a6976d6b6591",
       "name": "PaymentMethods",
       "description": {
         "content": "",
@@ -902,7 +903,7 @@
       },
       "item": [
         {
-          "id": "87dac93a-305d-4ea2-8f02-3b41c2e92789",
+          "id": "1209e8e8-2c7c-4f30-8ac8-1ac3f13ed76e",
           "name": "PaymentMethods - Create",
           "request": {
             "name": "PaymentMethods - Create",
@@ -933,7 +934,7 @@
             "method": "POST",
             "body": {
               "mode": "raw",
-              "raw": "{\n  \"payment_method\": \"card\",\n  \"payment_method_type\": \"credit_card\",\n  \"payment_method_issuer\": \"Citibank\",\n  \"payment_method_issuer_code\": \"JP_APPLEPAY\",\n  \"card\": {\n    \"card_number\": \"non quis est amet eiusmodin ci\",\n    \"card_exp_month\": \"10\",\n    \"card_exp_year\": \"25\",\n    \"card_holder_name\": \"John Doe\"\n  },\n  \"customer_id\": \"cus_mnewerunwiuwiwqw\",\n  \"metadata\": {\n    \"city\": \"NY\",\n    \"unit\": \"245\"\n  }\n}",
+              "raw": "{\n  \"payment_method\": \"card\",\n  \"payment_method_type\": \"credit_card\",\n  \"payment_method_issuer\": \"Citibank\",\n  \"payment_method_issuer_code\": \"JP_APPLEPAY\",\n  \"card\": {\n    \"card_number\": \"laboris sed pariatur inut pari\",\n    \"card_exp_month\": \"10\",\n    \"card_exp_year\": \"25\",\n    \"card_holder_name\": \"John Doe\"\n  },\n  \"customer_id\": \"cus_mnewerunwiuwiwqw\",\n  \"metadata\": {\n    \"city\": \"NY\",\n    \"unit\": \"245\"\n  }\n}",
               "options": {
                 "raw": {
                   "language": "json"
@@ -946,14 +947,15 @@
             {
               "listen": "test",
               "script": {
-                "id": "16cf2cf2-8523-4241-8b01-084444430caf",
+                "id": "ff20cf95-a66d-4325-b5cc-b585ad57a776",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[POST]::/payment_methods - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[POST]::/payment_methods - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_method_id\",\"payment_method\",\"recurring_enabled\",\"installment_enabled\",\"payment_experience\"],\"properties\":{\"payment_method_id\":{\"type\":\"string\",\"description\":\"The identifier for the payment method object.\",\"maxLength\":30,\"example\":\"pm_y3oqhf46pyzuxjbcn2giaqnb44\"},\"payment_method\":{\"type\":\"string\",\"description\":\"The type of payment method use for the payment.\\n\",\"enum\":[\"card\",\"payment_container\",\"bank_transfer\",\"bank_debit\",\"pay_later\",\"upi\",\"netbanking\"],\"example\":\"card\"},\"payment_method_type\":{\"type\":\"string\",\"description\":\"This is a sub-category of payment method.\\n\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\",\"credit_card_installements\",\"pay_later_installments\"],\"example\":\"credit_card\"},\"payment_method_issuer\":{\"type\":\"string\",\"description\":\"The name of the bank/ provider isuing the payment method to the end user\\n\",\"example\":\"Citibank\"},\"payment_method_issuer_code\":{\"type\":\"string\",\"description\":\"A standard code representing the issuer of payment method\\n\",\"example\":\"PM_APPLEPAY\"},\"card\":{\"type\":\"object\",\"description\":\"Card Payment Method object\",\"properties\":{\"last4_digits\":{\"type\":\"string\",\"description\":\"The last four digits of the case which could be displayed to the end user for identification.\",\"example\":\"xxxxxxxxxxxx4242\"},\"card_exp_month\":{\"type\":\"string\",\"description\":\"The expiry month for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"10\"},\"card_exp_year\":{\"type\":\"string\",\"description\":\"Expiry year for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"25\"},\"card_holder_name\":{\"type\":\"string\",\"description\":\"The name of card holder\",\"maxLength\":255,\"example\":\"Arun Raj\"},\"card_token\":{\"type\":\"string\",\"description\":\"The token provided against a user's saved card. The token would be valid for 15 minutes.\",\"minLength\":30,\"maxLength\":30,\"example\":\"tkn_78892490hfh3r834rd\"},\"scheme\":{\"type\":\"string\",\"description\":\"The card scheme network for the particular card\",\"example\":\"MASTER\"},\"issuer_country\":{\"type\":\"string\",\"description\":\"The country code in in which the card was issued\",\"minLength\":2,\"maxLength\":2,\"example\":\"US\"},\"card_fingerprint\":{\"type\":\"string\",\"description\":\"A unique identifier alias to identify a particular card.\",\"minLength\":30,\"maxLength\":30,\"example\":\"fpt_78892490hfh3r834rd\"}}},\"payment_scheme\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"The network scheme to which the payment method belongs\\n\",\"example\":[\"MASTER\",\"VISA\"]}},\"accepted_country\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"The two-letter ISO currency code\\n\",\"example\":[\"US\",\"UK\",\"IN\"],\"maxLength\":2,\"minLength\":2}},\"accepted_currency\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":[\"USD\",\"EUR\"]}},\"minimum_amount\":{\"type\":\"integer\",\"description\":\"The minimum ammount accepted for processing by the particular payment method.\\n\",\"example\":100},\"maximum_amount\":{\"type\":\"integer\",\"description\":\"The minimum ammount accepted for processing by the particular payment method.\\n\",\"example\":10000000},\"recurring_payment_enabled\":{\"type\":\"boolean\",\"description\":\"Indicates whether the payment method is eligible for recurring payments\",\"example\":true},\"installment_payment_enabled\":{\"type\":\"boolean\",\"description\":\"Indicates whether the payment method is eligible for installment payments\",\"example\":true},\"payment_experience\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"This indicates type of action that is required in order to complete the payment with inputs from the user. This may involve actions such as redirecting the user to a URL, displaying a QR code, invoking the SDK client\",\"enum\":[\"redirect_to_url\",\"display_qr_code\",\"invoke_sdk_client\"],\"example\":[\"redirect_to_url\",\"display_qr_code\"]}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payment_methods - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_method_id\",\"payment_method\",\"recurring_enabled\",\"installment_enabled\",\"payment_experience\"],\"properties\":{\"payment_method_id\":{\"type\":\"string\",\"description\":\"The identifier for the payment method object.\",\"maxLength\":30,\"example\":\"pm_y3oqhf46pyzuxjbcn2giaqnb44\"},\"payment_method\":{\"type\":\"string\",\"description\":\"The type of payment method use for the payment.\\n\",\"enum\":[\"card\",\"payment_container\",\"bank_transfer\",\"bank_debit\",\"pay_later\",\"upi\",\"netbanking\"],\"example\":\"card\"},\"payment_method_type\":{\"type\":\"string\",\"description\":\"This is a sub-category of payment method.\\n\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\",\"credit_card_installments\",\"pay_later_installments\"],\"example\":\"credit_card\"},\"payment_method_issuer\":{\"type\":\"string\",\"description\":\"The name of the bank/ provider issuing the payment method to the end user\\n\",\"example\":\"Citibank\"},\"payment_method_issuer_code\":{\"type\":\"string\",\"description\":\"A standard code representing the issuer of payment method\\n\",\"example\":\"PM_APPLEPAY\"},\"card\":{\"type\":\"object\",\"description\":\"Card Payment Method object\",\"properties\":{\"last4_digits\":{\"type\":\"string\",\"description\":\"The last four digits of the case which could be displayed to the end user for identification.\",\"example\":\"xxxxxxxxxxxx4242\"},\"card_exp_month\":{\"type\":\"string\",\"description\":\"The expiry month for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"10\"},\"card_exp_year\":{\"type\":\"string\",\"description\":\"Expiry year for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"25\"},\"card_holder_name\":{\"type\":\"string\",\"description\":\"The name of card holder\",\"maxLength\":255,\"example\":\"John Doe\"},\"card_token\":{\"type\":\"string\",\"description\":\"The token provided against a user's saved card. The token would be valid for 15 minutes.\",\"minLength\":30,\"maxLength\":30,\"example\":\"tkn_78892490hfh3r834rd\"},\"scheme\":{\"type\":\"string\",\"description\":\"The card scheme network for the particular card\",\"example\":\"MASTER\"},\"issuer_country\":{\"type\":\"string\",\"description\":\"The country code in in which the card was issued\",\"minLength\":2,\"maxLength\":2,\"example\":\"US\"},\"card_fingerprint\":{\"type\":\"string\",\"description\":\"A unique identifier alias to identify a particular card.\",\"minLength\":30,\"maxLength\":30,\"example\":\"fpt_78892490hfh3r834rd\"}}},\"payment_scheme\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"The network scheme to which the payment method belongs\\n\",\"example\":[\"MASTER\",\"VISA\"]}},\"accepted_country\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"The two-letter ISO currency code\\n\",\"example\":[\"US\",\"UK\",\"IN\"],\"maxLength\":2,\"minLength\":2}},\"accepted_currency\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":[\"USD\",\"EUR\"]}},\"minimum_amount\":{\"type\":\"integer\",\"description\":\"The minimum amount accepted for processing by the particular payment method.\\n\",\"example\":100},\"maximum_amount\":{\"type\":\"integer\",\"description\":\"The minimum amount accepted for processing by the particular payment method.\\n\",\"example\":10000000},\"recurring_payment_enabled\":{\"type\":\"boolean\",\"description\":\"Indicates whether the payment method is eligible for recurring payments\",\"example\":true},\"installment_payment_enabled\":{\"type\":\"boolean\",\"description\":\"Indicates whether the payment method is eligible for installment payments\",\"example\":true},\"payment_experience\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"This indicates type of action that is required in order to complete the payment with inputs from the user. This may involve actions such as redirecting the user to a URL, displaying a QR code, invoking the SDK client\",\"enum\":[\"redirect_to_url\",\"display_qr_code\",\"invoke_sdk_client\"],\"example\":[\"redirect_to_url\",\"display_qr_code\"]}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payment_methods - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                   "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                  "// pm.collectionVariables - Set payment_method_id as variable for jsonData.payment_method_id\nif (jsonData?.payment_method_id) {\n   pm.collectionVariables.set(\"payment_method_id\", jsonData.payment_method_id);\n   console.log(\"- use {{payment_method_id}} as collection variable for value\",jsonData.payment_method_id);\n} else {\n   console.log('INFO - Unable to assign variable {{payment_method_id}}, as jsonData.payment_method_id is undefined.');\n};\n"
+                  "// Set property value as variable\nconst _resPaymentMethodId = jsonData?.payment_method_id;\n",
+                  "// pm.collectionVariables - Set payment_method_id as variable for jsonData.payment_method_id\nif (_resPaymentMethodId !== undefined) {\n   pm.collectionVariables.set(\"payment_method_id\", jsonData.payment_method_id);\n   console.log(\"- use {{payment_method_id}} as collection variable for value\",jsonData.payment_method_id);\n} else {\n   console.log('INFO - Unable to assign variable {{payment_method_id}}, as jsonData.payment_method_id is undefined.');\n};\n"
                 ]
               }
             }
@@ -963,12 +965,12 @@
           }
         },
         {
-          "id": "57d9acec-690b-43e3-9cf1-1dd2a10e2e8a",
+          "id": "fb67fec7-32ed-472a-bf2b-16a25ed866f7",
           "name": "PaymentMethods - Update",
           "request": {
             "name": "PaymentMethods - Update",
             "description": {
-              "content": "To update an existng a payment method attached to a customer object. This API is useful for use cases such as updating the card number for expired cards, to prevent discontinuity in recurring payments",
+              "content": "To update an existing a payment method attached to a customer object. This API is useful for use cases such as updating the card number for expired cards, to prevent discontinuity in recurring payments",
               "type": "text/plain"
             },
             "url": {
@@ -1006,7 +1008,7 @@
             "method": "POST",
             "body": {
               "mode": "raw",
-              "raw": "{\n  \"card\": {\n    \"card_number\": \"in irureex sed velit adipisici\",\n    \"card_exp_month\": \"10\",\n    \"card_exp_year\": \"25\",\n    \"card_holder_name\": \"John Doe\"\n  },\n  \"billing\": {\n    \"line1\": \"Juspay Router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"city\": \"Bangalore\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"country\": \"IN\"\n  },\n  \"metadata\": {\n    \"city\": \"NY\",\n    \"unit\": \"245\"\n  }\n}",
+              "raw": "{\n  \"card\": {\n    \"card_number\": \"nisi dolore estanim dolor labo\",\n    \"card_exp_month\": \"10\",\n    \"card_exp_year\": \"25\",\n    \"card_holder_name\": \"John Doe\"\n  },\n  \"billing\": {\n    \"line1\": \"Juspay Router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"city\": \"Bangalore\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"country\": \"IN\"\n  },\n  \"metadata\": {\n    \"city\": \"NY\",\n    \"unit\": \"245\"\n  }\n}",
               "options": {
                 "raw": {
                   "language": "json"
@@ -1019,12 +1021,12 @@
             {
               "listen": "test",
               "script": {
-                "id": "9d4a2ba8-dc21-4a4f-9b27-e2d37f753322",
+                "id": "20457537-c953-49a4-8988-b5074adca187",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[POST]::/payment_methods/:id - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[POST]::/payment_methods/:id - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_method_id\",\"payment_method\",\"recurring_enabled\",\"installment_enabled\",\"payment_experience\"],\"properties\":{\"payment_method_id\":{\"type\":\"string\",\"description\":\"The identifier for the payment method object.\",\"maxLength\":30,\"example\":\"pm_y3oqhf46pyzuxjbcn2giaqnb44\"},\"payment_method\":{\"type\":\"string\",\"description\":\"The type of payment method use for the payment.\\n\",\"enum\":[\"card\",\"payment_container\",\"bank_transfer\",\"bank_debit\",\"pay_later\",\"upi\",\"netbanking\"],\"example\":\"card\"},\"payment_method_type\":{\"type\":\"string\",\"description\":\"This is a sub-category of payment method.\\n\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\",\"credit_card_installements\",\"pay_later_installments\"],\"example\":\"credit_card\"},\"payment_method_issuer\":{\"type\":\"string\",\"description\":\"The name of the bank/ provider isuing the payment method to the end user\\n\",\"example\":\"Citibank\"},\"payment_method_issuer_code\":{\"type\":\"string\",\"description\":\"A standard code representing the issuer of payment method\\n\",\"example\":\"PM_APPLEPAY\"},\"card\":{\"type\":\"object\",\"description\":\"Card Payment Method object\",\"properties\":{\"last4_digits\":{\"type\":\"string\",\"description\":\"The last four digits of the case which could be displayed to the end user for identification.\",\"example\":\"xxxxxxxxxxxx4242\"},\"card_exp_month\":{\"type\":\"string\",\"description\":\"The expiry month for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"10\"},\"card_exp_year\":{\"type\":\"string\",\"description\":\"Expiry year for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"25\"},\"card_holder_name\":{\"type\":\"string\",\"description\":\"The name of card holder\",\"maxLength\":255,\"example\":\"Arun Raj\"},\"card_token\":{\"type\":\"string\",\"description\":\"The token provided against a user's saved card. The token would be valid for 15 minutes.\",\"minLength\":30,\"maxLength\":30,\"example\":\"tkn_78892490hfh3r834rd\"},\"scheme\":{\"type\":\"string\",\"description\":\"The card scheme network for the particular card\",\"example\":\"MASTER\"},\"issuer_country\":{\"type\":\"string\",\"description\":\"The country code in in which the card was issued\",\"minLength\":2,\"maxLength\":2,\"example\":\"US\"},\"card_fingerprint\":{\"type\":\"string\",\"description\":\"A unique identifier alias to identify a particular card.\",\"minLength\":30,\"maxLength\":30,\"example\":\"fpt_78892490hfh3r834rd\"}}},\"payment_scheme\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"The network scheme to which the payment method belongs\\n\",\"example\":[\"MASTER\",\"VISA\"]}},\"accepted_country\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"The two-letter ISO currency code\\n\",\"example\":[\"US\",\"UK\",\"IN\"],\"maxLength\":2,\"minLength\":2}},\"accepted_currency\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":[\"USD\",\"EUR\"]}},\"minimum_amount\":{\"type\":\"integer\",\"description\":\"The minimum ammount accepted for processing by the particular payment method.\\n\",\"example\":100},\"maximum_amount\":{\"type\":\"integer\",\"description\":\"The minimum ammount accepted for processing by the particular payment method.\\n\",\"example\":10000000},\"recurring_payment_enabled\":{\"type\":\"boolean\",\"description\":\"Indicates whether the payment method is eligible for recurring payments\",\"example\":true},\"installment_payment_enabled\":{\"type\":\"boolean\",\"description\":\"Indicates whether the payment method is eligible for installment payments\",\"example\":true},\"payment_experience\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"This indicates type of action that is required in order to complete the payment with inputs from the user. This may involve actions such as redirecting the user to a URL, displaying a QR code, invoking the SDK client\",\"enum\":[\"redirect_to_url\",\"display_qr_code\",\"invoke_sdk_client\"],\"example\":[\"redirect_to_url\",\"display_qr_code\"]}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payment_methods/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
+                  "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_method_id\",\"payment_method\",\"recurring_enabled\",\"installment_enabled\",\"payment_experience\"],\"properties\":{\"payment_method_id\":{\"type\":\"string\",\"description\":\"The identifier for the payment method object.\",\"maxLength\":30,\"example\":\"pm_y3oqhf46pyzuxjbcn2giaqnb44\"},\"payment_method\":{\"type\":\"string\",\"description\":\"The type of payment method use for the payment.\\n\",\"enum\":[\"card\",\"payment_container\",\"bank_transfer\",\"bank_debit\",\"pay_later\",\"upi\",\"netbanking\"],\"example\":\"card\"},\"payment_method_type\":{\"type\":\"string\",\"description\":\"This is a sub-category of payment method.\\n\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\",\"credit_card_installments\",\"pay_later_installments\"],\"example\":\"credit_card\"},\"payment_method_issuer\":{\"type\":\"string\",\"description\":\"The name of the bank/ provider issuing the payment method to the end user\\n\",\"example\":\"Citibank\"},\"payment_method_issuer_code\":{\"type\":\"string\",\"description\":\"A standard code representing the issuer of payment method\\n\",\"example\":\"PM_APPLEPAY\"},\"card\":{\"type\":\"object\",\"description\":\"Card Payment Method object\",\"properties\":{\"last4_digits\":{\"type\":\"string\",\"description\":\"The last four digits of the case which could be displayed to the end user for identification.\",\"example\":\"xxxxxxxxxxxx4242\"},\"card_exp_month\":{\"type\":\"string\",\"description\":\"The expiry month for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"10\"},\"card_exp_year\":{\"type\":\"string\",\"description\":\"Expiry year for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"25\"},\"card_holder_name\":{\"type\":\"string\",\"description\":\"The name of card holder\",\"maxLength\":255,\"example\":\"John Doe\"},\"card_token\":{\"type\":\"string\",\"description\":\"The token provided against a user's saved card. The token would be valid for 15 minutes.\",\"minLength\":30,\"maxLength\":30,\"example\":\"tkn_78892490hfh3r834rd\"},\"scheme\":{\"type\":\"string\",\"description\":\"The card scheme network for the particular card\",\"example\":\"MASTER\"},\"issuer_country\":{\"type\":\"string\",\"description\":\"The country code in in which the card was issued\",\"minLength\":2,\"maxLength\":2,\"example\":\"US\"},\"card_fingerprint\":{\"type\":\"string\",\"description\":\"A unique identifier alias to identify a particular card.\",\"minLength\":30,\"maxLength\":30,\"example\":\"fpt_78892490hfh3r834rd\"}}},\"payment_scheme\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"The network scheme to which the payment method belongs\\n\",\"example\":[\"MASTER\",\"VISA\"]}},\"accepted_country\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"The two-letter ISO currency code\\n\",\"example\":[\"US\",\"UK\",\"IN\"],\"maxLength\":2,\"minLength\":2}},\"accepted_currency\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":[\"USD\",\"EUR\"]}},\"minimum_amount\":{\"type\":\"integer\",\"description\":\"The minimum amount accepted for processing by the particular payment method.\\n\",\"example\":100},\"maximum_amount\":{\"type\":\"integer\",\"description\":\"The minimum amount accepted for processing by the particular payment method.\\n\",\"example\":10000000},\"recurring_payment_enabled\":{\"type\":\"boolean\",\"description\":\"Indicates whether the payment method is eligible for recurring payments\",\"example\":true},\"installment_payment_enabled\":{\"type\":\"boolean\",\"description\":\"Indicates whether the payment method is eligible for installment payments\",\"example\":true},\"payment_experience\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"This indicates type of action that is required in order to complete the payment with inputs from the user. This may involve actions such as redirecting the user to a URL, displaying a QR code, invoking the SDK client\",\"enum\":[\"redirect_to_url\",\"display_qr_code\",\"invoke_sdk_client\"],\"example\":[\"redirect_to_url\",\"display_qr_code\"]}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payment_methods/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
                 ]
               }
             }
@@ -1034,7 +1036,7 @@
           }
         },
         {
-          "id": "ff1f7e89-bba7-4c56-b9eb-ac7c1ee948f6",
+          "id": "786d5677-539c-44fa-a903-06fc3cb9f78c",
           "name": "Delete PaymentMethods",
           "request": {
             "name": "Delete PaymentMethods",
@@ -1060,7 +1062,7 @@
                     "type": "text/plain"
                   },
                   "type": "any",
-                  "value": "veniam Lore",
+                  "value": "quis",
                   "key": "id"
                 }
               ]
@@ -1078,7 +1080,7 @@
             {
               "listen": "test",
               "script": {
-                "id": "a5e73ffd-b92c-4252-a40f-59ffc668689c",
+                "id": "90b3e99a-07a8-4d4e-8787-71218f5ad375",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[POST]::/payment_methods/:id/detach - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
@@ -1090,7 +1092,7 @@
           ]
         },
         {
-          "id": "895dfb8b-40c3-4dae-a5c0-b976ce135e63",
+          "id": "694b700e-32bc-4346-975b-f9a7dc4c4583",
           "name": "List payment methods for a Merchant",
           "request": {
             "name": "List payment methods for a Merchant",
@@ -1101,7 +1103,8 @@
             "url": {
               "path": [
                 "payment_methods",
-                ":merchant_id"
+                ":merchant_id",
+                ":id"
               ],
               "host": [
                 "{{baseUrl}}"
@@ -1110,22 +1113,22 @@
                 {
                   "disabled": false,
                   "key": "accepted_country",
-                  "value": "ex"
+                  "value": "la"
                 },
                 {
                   "disabled": false,
                   "key": "accepted_country",
-                  "value": "re"
+                  "value": "co"
                 },
                 {
                   "disabled": false,
                   "key": "accepted_currency",
-                  "value": "ut tempor"
+                  "value": "reprehenderit"
                 },
                 {
                   "disabled": false,
                   "key": "accepted_currency",
-                  "value": "Excepteur aliquip"
+                  "value": "Lorem mollit"
                 },
                 {
                   "disabled": false,
@@ -1148,7 +1151,14 @@
                   "value": "true"
                 }
               ],
-              "variable": []
+              "variable": [
+                {
+                  "disabled": false,
+                  "type": "any",
+                  "value": "{{payment_method_id}}",
+                  "key": "id"
+                }
+              ]
             },
             "header": [
               {
@@ -1163,19 +1173,19 @@
             {
               "listen": "test",
               "script": {
-                "id": "64764f3f-fd80-4501-b59b-51a46f6af57a",
+                "id": "0fd74960-45e7-4206-ba36-2716a57b538c",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[GET]::/payment_methods/:merchant_id - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[GET]::/payment_methods/:merchant_id - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"array\",\"items\":{\"properties\":{\"payment_method\":{\"type\":\"string\",\"description\":\"The type of payment method use for the payment.\\n\",\"enum\":[\"card\",\"payment_container\",\"bank_transfer\",\"bank_debit\",\"pay_later\",\"upi\",\"netbanking\"],\"example\":\"card\"},\"payment_method_type\":{\"type\":\"string\",\"description\":\"This is a sub-category of payment method.\\n\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\",\"credit_card_installements\",\"pay_later_installments\"],\"example\":\"credit_card\"},\"payment_method_issuer\":{\"type\":\"string\",\"description\":\"The name of the bank/ provider isuing the payment method to the end user\\n\",\"example\":\"Citibank\"},\"payment_method_issuer_code\":{\"type\":\"string\",\"description\":\"A standard code representing the issuer of payment method\\n\",\"example\":\"PM_CHASE\"},\"accepted_country\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"The two-letter ISO currency code\\n\",\"example\":[\"US\",\"UK\",\"IN\"],\"maxLength\":2,\"minLength\":2}},\"accepted_currency\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":[\"USD\",\"EUR\"]}},\"minimum_amount\":{\"type\":\"integer\",\"description\":\"The minimum ammount accepted for processing by the particular payment method.\\n\",\"example\":100},\"maximum_amount\":{\"type\":\"integer\",\"description\":\"The minimum ammount accepted for processing by the particular payment method.\\n\",\"example\":10000000},\"recurring_payment_enabled\":{\"type\":\"boolean\",\"description\":\"Indicates whether the payment method is eligible for recurring payments\",\"example\":true},\"installment_payment_enabled\":{\"type\":\"boolean\",\"description\":\"Indicates whether the payment method is eligible for installment payments\",\"example\":true},\"payment_experience\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"This indicates type of next_action (refer the response of Payment Create ) that is required in order to complete the payment with inputs from the user. This may involve actions such as redirecting the user to a URL, displaying a QR code, invoking the SDK client\",\"enum\":[\"redirect_to_url\",\"display_qr_code\",\"invoke_sdk_client\"],\"example\":[\"redirect_to_url\",\"display_qr_code\"]}}},\"type\":\"object\"}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/payment_methods/:merchant_id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
+                  "// Response Validation\nconst schema = {\"type\":\"array\",\"items\":{\"properties\":{\"payment_method\":{\"type\":\"string\",\"example\":\"card\",\"enum\":[\"card\",\"wallet\",\"bank_debit\",\"bank_redirect\",\"bank_transfer\"]},\"payment_method_types\":{\"type\":\"array\",\"items\":{\"example\":[\"CREDIT\"],\"type\":\"string\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\"]}},\"payment_method_issuers\":{\"type\":\"array\",\"description\":\"List of payment method issuers to be enabled for this payment method\",\"items\":{\"type\":\"string\",\"example\":[\"CHASE\",\"WELLS_FARGO\"]}},\"payment_method_issuer_codes\":{\"type\":\"string\",\"description\":\"A standard code representing the issuer of payment method\\n\",\"example\":[\"PM_CHASE\",\"PM_WELLS\"]},\"payment_schemes\":{\"type\":\"array\",\"description\":\"List of payment schemes accepted or has the processing capabilities of the processor\",\"items\":{\"example\":[\"MASTER\",\"VISA\",\"DINERS\"],\"type\":\"string\",\"description\":\"Represent the payment schemes and networks\",\"enum\":[\"VISA\",\"MasterCard\",\"Discover\",\"AMEX\"]}},\"accepted_currencies\":{\"type\":\"array\",\"description\":\"List of currencies accepted or has the processing capabilities of the processor\",\"items\":{\"example\":[\"USD\",\"EUR\",\"AED\"],\"type\":\"string\",\"description\":\"The three-letter ISO currency code\",\"maxLength\":3,\"minLength\":3}},\"accepted_countries\":{\"type\":\"array\",\"description\":\"List of Countries accepted or has the processing capabilities of the processor\",\"items\":{\"example\":[\"US\",\"IN\"],\"type\":\"string\",\"description\":\"The two-letter ISO currency code\",\"maxLength\":2,\"minLength\":2}},\"minimum_amount\":{\"type\":\"integer\",\"description\":\"Minimum amount supported by the processor. To be represented in the lowest denomination of the target currency (For example, for USD it should be in cents)\",\"example\":1},\"maximum_amount\":{\"type\":\"integer\",\"description\":\"Maximum amount supported by the processor. To be represented in the lowest denomination of the target currency (For example, for USD it should be in cents)\",\"example\":null},\"recurring_enabled\":{\"type\":\"boolean\",\"description\":\"Boolean to enable recurring payments / mandates. Default is true.\",\"example\":true},\"installment_payment_enabled\":{\"type\":\"boolean\",\"description\":\"Boolean to enable installment / EMI / BNPL payments. Default is true.\",\"example\":true},\"payment_experience\":{\"type\":\"array\",\"description\":\"Type of payment experience enabled with the connector\",\"items\":{\"type\":\"object\",\"description\":\"States the next action to complete the payment\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"example\":[\"redirect_to_url\"]}},\"type\":\"object\"}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/payment_methods/:merchant_id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
                 ]
               }
             }
           ]
         },
         {
-          "id": "d20794b6-e020-4df5-a396-8df2860958bc",
+          "id": "57d4c542-77c9-4715-ae04-49dd4bb1a4fd",
           "name": "List payment methods for a Customer",
           "request": {
             "name": "List payment methods for a Customer",
@@ -1185,8 +1195,9 @@
             },
             "url": {
               "path": [
-                "payment_methods",
-                ":customer_id"
+                "customers",
+                ":customer_id",
+                "payment_methods"
               ],
               "host": [
                 "{{baseUrl}}"
@@ -1195,22 +1206,22 @@
                 {
                   "disabled": false,
                   "key": "accepted_country",
-                  "value": "ex"
+                  "value": "la"
                 },
                 {
                   "disabled": false,
                   "key": "accepted_country",
-                  "value": "re"
+                  "value": "co"
                 },
                 {
                   "disabled": false,
                   "key": "accepted_currency",
-                  "value": "ut tempor"
+                  "value": "reprehenderit"
                 },
                 {
                   "disabled": false,
                   "key": "accepted_currency",
-                  "value": "Excepteur aliquip"
+                  "value": "Lorem mollit"
                 },
                 {
                   "disabled": false,
@@ -1268,12 +1279,13 @@
             {
               "listen": "test",
               "script": {
-                "id": "cbaba141-aab0-45b1-bb06-fd5e30e5bd7d",
+                "id": "bc64f1ba-74b0-42fd-aaf4-8897772d447b",
                 "type": "text/javascript",
                 "exec": [
-                  "// Validate status 2xx \npm.test(\"[GET]::/payment_methods/:customer_id - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
-                  "// Validate if response header has matching content-type\npm.test(\"[GET]::/payment_methods/:customer_id - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"payment_method_id\":{\"type\":\"string\",\"description\":\"The id corresponding to the payment method.\\n\",\"example\":\"pm_end38934n12s923d0\"},\"payment_method\":{\"type\":\"string\",\"description\":\"The type of payment method use for the payment.\\n\",\"enum\":[\"card\",\"payment_container\",\"bank_transfer\",\"bank_debit\",\"pay_later\",\"upi\",\"netbanking\"],\"example\":\"card\"},\"payment_method_type\":{\"type\":\"string\",\"description\":\"This is a sub-category of payment method.\\n\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\",\"credit_card_installements\",\"pay_later_installments\"],\"example\":\"credit_card\"},\"payment_method_issuer\":{\"type\":\"string\",\"description\":\"The name of the bank/ provider isuing the payment method to the end user\\n\",\"example\":\"Citibank\"},\"payment_method_issuer_code\":{\"type\":\"string\",\"description\":\"A standard code representing the issuer of payment method\\nexample: PM_CHASE\\n\"},\"payment_scheme\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"The network scheme to which the payment method belongs\\n\",\"example\":[\"MASTER\",\"VISA\"]}},\"accepted_country\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"The two-letter ISO currency code\\n\",\"example\":[\"US\",\"UK\",\"IN\"],\"maxLength\":2,\"minLength\":2}},\"accepted_currency\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":[\"USD\",\"EUR\"]}},\"minimum_amount\":{\"type\":\"integer\",\"description\":\"The minimum ammount accepted for processing by the particular payment method.\\n\",\"example\":100},\"maximum_amount\":{\"type\":\"integer\",\"description\":\"The minimum ammount accepted for processing by the particular payment method.\\n\",\"example\":10000000},\"recurring_payment_enabled\":{\"type\":\"boolean\",\"description\":\"Indicates whether the payment method is eligible for recurring payments\",\"example\":true},\"installment_payment_enabled\":{\"type\":\"boolean\",\"description\":\"Indicates whether the payment method is eligible for installment payments\",\"example\":true},\"payment_experience\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"This indicates type of next_action (refer the response of Payment Create ) that is required in order to complete the payment with inputs from the user. This may involve actions such as redirecting the user to a URL, displaying a QR code, invoking the SDK client\",\"enum\":[\"redirect_to_url\",\"display_qr_code\",\"invoke_sdk_client\"],\"example\":[\"redirect_to_url\",\"display_qr_code\"]}},\"card\":{\"description\":\"The card identifier information to be displayed on the user interface\",\"type\":\"object\",\"properties\":{\"last4_digits\":{\"type\":\"string\",\"description\":\"The last four digits of the case which could be displayed to the end user for identification.\",\"example\":\"xxxxxxxxxxxx4242\"},\"card_exp_month\":{\"type\":\"string\",\"description\":\"The expiry month for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"10\"},\"card_exp_year\":{\"type\":\"string\",\"description\":\"Expiry year for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"25\"},\"card_holder_name\":{\"type\":\"string\",\"description\":\"The name of card holder\",\"maxLength\":255,\"example\":\"Arun Raj\"},\"card_token\":{\"type\":\"string\",\"description\":\"The token provided against a user's saved card. The token would be valid for 15 minutes.\",\"minLength\":30,\"maxLength\":30,\"example\":\"tkn_78892490hfh3r834rd\"},\"scheme\":{\"type\":\"string\",\"description\":\"The card scheme network for the particular card\",\"example\":\"MASTER\"},\"issuer_country\":{\"type\":\"string\",\"description\":\"The country code in in which the card was issued\",\"minLength\":2,\"maxLength\":2,\"example\":\"US\"},\"card_fingerprint\":{\"type\":\"string\",\"description\":\"A unique identifier alias to identify a particular card.\",\"minLength\":30,\"maxLength\":30,\"example\":\"fpt_78892490hfh3r834rd\"}}},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/payment_methods/:customer_id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
+                  "// Validate status 2xx \npm.test(\"[GET]::/customers/:customer_id/payment_methods - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
+                  "// Validate if response header has matching content-type\npm.test(\"[GET]::/customers/:customer_id/payment_methods - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
+                  "// Validate if response has JSON Body \npm.test(\"[GET]::/customers/:customer_id/payment_methods - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
+                  "// Response Validation\nconst schema = {\"type\":\"object\",\"properties\":{\"enabled_payment_methods\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"description\":\"Details of all the payment methods enabled for the connector for the given merchant account\",\"items\":{\"properties\":{\"payment_method\":{\"type\":\"string\",\"example\":\"card\",\"enum\":[\"card\",\"wallet\",\"bank_debit\",\"bank_redirect\",\"bank_transfer\"]},\"payment_method_types\":{\"type\":\"array\",\"items\":{\"example\":[\"CREDIT\"],\"type\":\"string\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\"]}},\"payment_method_issuers\":{\"type\":\"array\",\"description\":\"List of payment method issuers to be enabled for this payment method\",\"items\":{\"type\":\"string\",\"example\":[\"HDFC\"]}},\"payment_schemes\":{\"type\":\"array\",\"description\":\"List of payment schemes accepted or has the processing capabilities of the processor\",\"items\":{\"example\":[\"MASTER\",\"VISA\",\"DINERS\"],\"type\":\"string\",\"description\":\"Represent the payment schemes and networks\",\"enum\":[\"VISA\",\"MasterCard\",\"Discover\",\"AMEX\"]}},\"accepted_currencies\":{\"type\":\"array\",\"description\":\"List of currencies accepted or has the processing capabilities of the processor\",\"items\":{\"example\":[\"USD\",\"EUR\",\"AED\"],\"type\":\"string\",\"description\":\"The three-letter ISO currency code\",\"maxLength\":3,\"minLength\":3}},\"accepted_countries\":{\"type\":\"array\",\"description\":\"List of Countries accepted or has the processing capabilities of the processor\",\"items\":{\"example\":[\"US\",\"IN\"],\"type\":\"string\",\"description\":\"The two-letter ISO currency code\",\"maxLength\":2,\"minLength\":2}},\"minimum_amount\":{\"type\":\"integer\",\"description\":\"Minimum amount supported by the processor. To be represented in the lowest denomination of the target currency (For example, for USD it should be in cents)\",\"example\":1},\"maximum_amount\":{\"type\":\"integer\",\"description\":\"Maximum amount supported by the processor. To be represented in the lowest denomination of the target currency (For example, for USD it should be in cents)\",\"example\":null},\"recurring_enabled\":{\"type\":\"boolean\",\"description\":\"Boolean to enable recurring payments / mandates. Default is true.\",\"example\":true},\"installment_payment_enabled\":{\"type\":\"boolean\",\"description\":\"Boolean to enable installment / EMI / BNPL payments. Default is true.\",\"example\":true},\"payment_experience\":{\"type\":\"array\",\"description\":\"Type of payment experience enabled with the connector\",\"items\":{\"type\":\"object\",\"description\":\"States the next action to complete the payment\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"example\":[\"redirect_to_url\"]}},\"type\":\"object\"}}},\"customer_payment_methods\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"description\":\"Refers to the Parent Merchant ID if the merchant being created is a sub-merchant\",\"required\":[\"payment_method_id\",\"payment_method\",\"recurring_enabled\",\"installment_enabled\",\"payment_experience\"],\"properties\":{\"payment_method_id\":{\"type\":\"string\",\"description\":\"The identifier for the payment method object.\",\"maxLength\":30,\"example\":\"pm_y3oqhf46pyzuxjbcn2giaqnb44\"},\"payment_method\":{\"type\":\"string\",\"description\":\"The type of payment method use for the payment.\\n\",\"enum\":[\"card\",\"payment_container\",\"bank_transfer\",\"bank_debit\",\"pay_later\",\"upi\",\"netbanking\"],\"example\":\"card\"},\"payment_method_type\":{\"type\":\"string\",\"description\":\"This is a sub-category of payment method.\\n\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\",\"credit_card_installments\",\"pay_later_installments\"],\"example\":\"credit_card\"},\"payment_method_issuer\":{\"type\":\"string\",\"description\":\"The name of the bank/ provider issuing the payment method to the end user\\n\",\"example\":\"Citibank\"},\"payment_method_issuer_code\":{\"type\":\"string\",\"description\":\"A standard code representing the issuer of payment method\\n\",\"example\":\"PM_APPLEPAY\"},\"card\":{\"type\":\"object\",\"description\":\"Card Payment Method object\",\"properties\":{\"last4_digits\":{\"type\":\"string\",\"description\":\"The last four digits of the case which could be displayed to the end user for identification.\",\"example\":\"xxxxxxxxxxxx4242\"},\"card_exp_month\":{\"type\":\"string\",\"description\":\"The expiry month for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"10\"},\"card_exp_year\":{\"type\":\"string\",\"description\":\"Expiry year for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"25\"},\"card_holder_name\":{\"type\":\"string\",\"description\":\"The name of card holder\",\"maxLength\":255,\"example\":\"John Doe\"},\"card_token\":{\"type\":\"string\",\"description\":\"The token provided against a user's saved card. The token would be valid for 15 minutes.\",\"minLength\":30,\"maxLength\":30,\"example\":\"tkn_78892490hfh3r834rd\"},\"scheme\":{\"type\":\"string\",\"description\":\"The card scheme network for the particular card\",\"example\":\"MASTER\"},\"issuer_country\":{\"type\":\"string\",\"description\":\"The country code in in which the card was issued\",\"minLength\":2,\"maxLength\":2,\"example\":\"US\"},\"card_fingerprint\":{\"type\":\"string\",\"description\":\"A unique identifier alias to identify a particular card.\",\"minLength\":30,\"maxLength\":30,\"example\":\"fpt_78892490hfh3r834rd\"}}},\"payment_scheme\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"The network scheme to which the payment method belongs\\n\",\"example\":[\"MASTER\",\"VISA\"]}},\"accepted_country\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"The two-letter ISO currency code\\n\",\"example\":[\"US\",\"UK\",\"IN\"],\"maxLength\":2,\"minLength\":2}},\"accepted_currency\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":[\"USD\",\"EUR\"]}},\"minimum_amount\":{\"type\":\"integer\",\"description\":\"The minimum amount accepted for processing by the particular payment method.\\n\",\"example\":100},\"maximum_amount\":{\"type\":\"integer\",\"description\":\"The minimum amount accepted for processing by the particular payment method.\\n\",\"example\":10000000},\"recurring_payment_enabled\":{\"type\":\"boolean\",\"description\":\"Indicates whether the payment method is eligible for recurring payments\",\"example\":true},\"installment_payment_enabled\":{\"type\":\"boolean\",\"description\":\"Indicates whether the payment method is eligible for installment payments\",\"example\":true},\"payment_experience\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"description\":\"This indicates type of action that is required in order to complete the payment with inputs from the user. This may involve actions such as redirecting the user to a URL, displaying a QR code, invoking the SDK client\",\"enum\":[\"redirect_to_url\",\"display_qr_code\",\"invoke_sdk_client\"],\"example\":[\"redirect_to_url\",\"display_qr_code\"]}}}}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/customers/:customer_id/payment_methods - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
                 ]
               }
             }
@@ -1283,7 +1295,7 @@
       "event": []
     },
     {
-      "id": "9528709c-dd59-4712-897e-74072227568a",
+      "id": "fbf71041-2821-4627-b07e-1cad4fd6b38e",
       "name": "MerchantAccounts",
       "description": {
         "content": "",
@@ -1291,7 +1303,7 @@
       },
       "item": [
         {
-          "id": "0017710d-7ffc-46bc-8ed9-b715f1c9bfb6",
+          "id": "09dc3355-2903-4516-8e71-b11b897757af",
           "name": "Merchant Account - Create",
           "request": {
             "name": "Merchant Account - Create",
@@ -1322,7 +1334,7 @@
             "method": "POST",
             "body": {
               "mode": "raw",
-              "raw": "{\n  \"merchant_id\": \"y3oqhf46pyzuxjbcn2giaqnb44\",\n  \"merchant_name\": \"NewAge Retailer\",\n  \"merchant_details\": {\n    \"primary_contact_person\": \"John Test\",\n    \"primary_email\": \"JohnTest@test.com\",\n    \"primary_phone\": \"cupidatat laborum Excepteur\",\n    \"secondary_contact_person\": \"John Test2\",\n    \"secondary_email\": \"JohnTest2@test.com\",\n    \"secondary_phone\": \"consectetur eu\",\n    \"website\": \"www.example.com\",\n    \"about_business\": \"Online Retail with a wide selection of organic products for North America\",\n    \"address\": {\n      \"line1\": \"Juspay Router\",\n      \"line2\": \"Koramangala\",\n      \"line3\": \"Stallion\",\n      \"city\": \"Bangalore\",\n      \"state\": \"Karnataka\",\n      \"zip\": \"560095\",\n      \"country\": \"IN\"\n    }\n  },\n  \"return_url\": \"www.example.com/success\",\n  \"webhook_details\": {\n    \"webhook_version\": \"1.0.1\",\n    \"webhook_username\": \"ekart_retail\",\n    \"webhook_password\": \"password_ekart@123\",\n    \"payment_created_enabled\": true,\n    \"payment_succeeded_enabled\": true,\n    \"payment_failed_enabled\": true\n  },\n  \"routing_algorithm\": \"custom\",\n  \"custom_routing_rules\": [\n    {\n      \"payment_methods_incl\": [\n        \"card\",\n        \"card\"\n      ],\n      \"payment_methods_excl\": [\n        \"card\",\n        \"card\"\n      ],\n      \"payment_method_types_incl\": [\n        \"credit_card\",\n        \"debit_card\"\n      ],\n      \"payment_method_types_excl\": [\n        \"credit_card\",\n        \"debit_card\"\n      ],\n      \"payment_method_issuers_incl\": [\n        \"Citibank\",\n        \"JPMorgan\"\n      ],\n      \"payment_method_issuers_excl\": [\n        \"Citibank\",\n        \"JPMorgan\"\n      ],\n      \"countries_incl\": [\n        \"US\",\n        \"UK\",\n        \"IN\"\n      ],\n      \"countries_excl\": [\n        \"US\",\n        \"UK\",\n        \"IN\"\n      ],\n      \"currencies_incl\": [\n        \"USD\",\n        \"EUR\"\n      ],\n      \"currencies_excl\": [\n        \"AED\",\n        \"SGD\"\n      ],\n      \"metadata_filters_keys\": [\n        \"payments.udf1\",\n        \"payments.udf2\"\n      ],\n      \"metadata_filters_values\": [\n        \"android\",\n        \"Category_Electronics\"\n      ],\n      \"connectors_pecking_order\": [\n        \"stripe\",\n        \"adyen\",\n        \"brain_tree\"\n      ],\n      \"connectors_traffic_weightage_key\": [\n        \"stripe\",\n        \"adyen\",\n        \"brain_tree\"\n      ],\n      \"connectors_traffic_weightage_value\": [\n        50,\n        30,\n        20\n      ]\n    },\n    {\n      \"payment_methods_incl\": [\n        \"card\",\n        \"card\"\n      ],\n      \"payment_methods_excl\": [\n        \"card\",\n        \"card\"\n      ],\n      \"payment_method_types_incl\": [\n        \"credit_card\",\n        \"debit_card\"\n      ],\n      \"payment_method_types_excl\": [\n        \"credit_card\",\n        \"debit_card\"\n      ],\n      \"payment_method_issuers_incl\": [\n        \"Citibank\",\n        \"JPMorgan\"\n      ],\n      \"payment_method_issuers_excl\": [\n        \"Citibank\",\n        \"JPMorgan\"\n      ],\n      \"countries_incl\": [\n        \"US\",\n        \"UK\",\n        \"IN\"\n      ],\n      \"countries_excl\": [\n        \"US\",\n        \"UK\",\n        \"IN\"\n      ],\n      \"currencies_incl\": [\n        \"USD\",\n        \"EUR\"\n      ],\n      \"currencies_excl\": [\n        \"AED\",\n        \"SGD\"\n      ],\n      \"metadata_filters_keys\": [\n        \"payments.udf1\",\n        \"payments.udf2\"\n      ],\n      \"metadata_filters_values\": [\n        \"android\",\n        \"Category_Electronics\"\n      ],\n      \"connectors_pecking_order\": [\n        \"stripe\",\n        \"adyen\",\n        \"brain_tree\"\n      ],\n      \"connectors_traffic_weightage_key\": [\n        \"stripe\",\n        \"adyen\",\n        \"brain_tree\"\n      ],\n      \"connectors_traffic_weightage_value\": [\n        50,\n        30,\n        20\n      ]\n    }\n  ],\n  \"sub_merchants_enabled\": false,\n  \"parent_merchant_id\": \"xkkdf909012sdjki2dkh5sdf\",\n  \"metadata\": {\n    \"city\": \"NY\",\n    \"unit\": \"245\"\n  }\n}",
+              "raw": "{\n  \"merchant_id\": \"y3oqhf46pyzuxjbcn2giaqnb44\",\n  \"merchant_name\": \"NewAge Retailer\",\n  \"merchant_details\": {\n    \"primary_contact_person\": \"John Test\",\n    \"primary_email\": \"JohnTest@test.com\",\n    \"primary_phone\": \"ullamco ut commodo sint\",\n    \"secondary_contact_person\": \"John Test2\",\n    \"secondary_email\": \"JohnTest2@test.com\",\n    \"secondary_phone\": \"dolore aliqua consequat amet nisi\",\n    \"website\": \"www.example.com\",\n    \"about_business\": \"Online Retail with a wide selection of organic products for North America\",\n    \"address\": {\n      \"line1\": \"Juspay Router\",\n      \"line2\": \"Koramangala\",\n      \"line3\": \"Stallion\",\n      \"city\": \"Bangalore\",\n      \"state\": \"Karnataka\",\n      \"zip\": \"560095\",\n      \"country\": \"IN\"\n    }\n  },\n  \"return_url\": \"www.example.com/success\",\n  \"webhook_details\": {\n    \"webhook_version\": \"1.0.1\",\n    \"webhook_username\": \"ekart_retail\",\n    \"webhook_password\": \"password_ekart@123\",\n    \"payment_created_enabled\": true,\n    \"payment_succeeded_enabled\": true,\n    \"payment_failed_enabled\": true\n  },\n  \"routing_algorithm\": \"custom\",\n  \"custom_routing_rules\": [\n    {\n      \"payment_methods_incl\": [\n        \"card\",\n        \"card\"\n      ],\n      \"payment_methods_excl\": [\n        \"card\",\n        \"card\"\n      ],\n      \"payment_method_types_incl\": [\n        \"credit_card\",\n        \"debit_card\"\n      ],\n      \"payment_method_types_excl\": [\n        \"credit_card\",\n        \"debit_card\"\n      ],\n      \"payment_method_issuers_incl\": [\n        \"Citibank\",\n        \"JPMorgan\"\n      ],\n      \"payment_method_issuers_excl\": [\n        \"Citibank\",\n        \"JPMorgan\"\n      ],\n      \"countries_incl\": [\n        \"US\",\n        \"UK\",\n        \"IN\"\n      ],\n      \"countries_excl\": [\n        \"US\",\n        \"UK\",\n        \"IN\"\n      ],\n      \"currencies_incl\": [\n        \"USD\",\n        \"EUR\"\n      ],\n      \"currencies_excl\": [\n        \"AED\",\n        \"SGD\"\n      ],\n      \"metadata_filters_keys\": [\n        \"payments.udf1\",\n        \"payments.udf2\"\n      ],\n      \"metadata_filters_values\": [\n        \"android\",\n        \"Category_Electronics\"\n      ],\n      \"connectors_pecking_order\": [\n        \"stripe\",\n        \"adyen\",\n        \"brain_tree\"\n      ],\n      \"connectors_traffic_weightage_key\": [\n        \"stripe\",\n        \"adyen\",\n        \"brain_tree\"\n      ],\n      \"connectors_traffic_weightage_value\": [\n        50,\n        30,\n        20\n      ]\n    },\n    {\n      \"payment_methods_incl\": [\n        \"card\",\n        \"card\"\n      ],\n      \"payment_methods_excl\": [\n        \"card\",\n        \"card\"\n      ],\n      \"payment_method_types_incl\": [\n        \"credit_card\",\n        \"debit_card\"\n      ],\n      \"payment_method_types_excl\": [\n        \"credit_card\",\n        \"debit_card\"\n      ],\n      \"payment_method_issuers_incl\": [\n        \"Citibank\",\n        \"JPMorgan\"\n      ],\n      \"payment_method_issuers_excl\": [\n        \"Citibank\",\n        \"JPMorgan\"\n      ],\n      \"countries_incl\": [\n        \"US\",\n        \"UK\",\n        \"IN\"\n      ],\n      \"countries_excl\": [\n        \"US\",\n        \"UK\",\n        \"IN\"\n      ],\n      \"currencies_incl\": [\n        \"USD\",\n        \"EUR\"\n      ],\n      \"currencies_excl\": [\n        \"AED\",\n        \"SGD\"\n      ],\n      \"metadata_filters_keys\": [\n        \"payments.udf1\",\n        \"payments.udf2\"\n      ],\n      \"metadata_filters_values\": [\n        \"android\",\n        \"Category_Electronics\"\n      ],\n      \"connectors_pecking_order\": [\n        \"stripe\",\n        \"adyen\",\n        \"brain_tree\"\n      ],\n      \"connectors_traffic_weightage_key\": [\n        \"stripe\",\n        \"adyen\",\n        \"brain_tree\"\n      ],\n      \"connectors_traffic_weightage_value\": [\n        50,\n        30,\n        20\n      ]\n    }\n  ],\n  \"sub_merchants_enabled\": false,\n  \"parent_merchant_id\": \"xkkdf909012sdjki2dkh5sdf\",\n  \"metadata\": {\n    \"city\": \"NY\",\n    \"unit\": \"245\"\n  }\n}",
               "options": {
                 "raw": {
                   "language": "json"
@@ -1355,14 +1367,12 @@
             {
               "listen": "test",
               "script": {
-                "id": "acc30195-c3bc-4542-a34d-e810aef51053",
+                "id": "8bb60c54-6ace-4702-9603-bd19395c7d6d",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[POST]::/accounts - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[POST]::/accounts - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Merchant Account\",\"required\":[\"merchant_id\"],\"properties\":{\"merchant_id\":{\"type\":\"string\",\"description\":\"The identifier for the Merchant Account.\",\"maxLength\":255,\"example\":\"y3oqhf46pyzuxjbcn2giaqnb44\"},\"api_key\":{\"type\":\"string\",\"description\":\"The public security key for accessing the APIs\",\"maxLength\":255,\"example\":\"xkkdf909012sdjki2dkh5sdf\"},\"merchant_name\":{\"type\":\"string\",\"description\":\"Name of the merchant\",\"example\":\"NewAge Retailer\"},\"merchant_details\":{\"type\":\"object\",\"description\":\"Details about the merchant including contact person, email, address, website, business description etc\",\"properties\":{\"primary_contact_person\":{\"type\":\"string\",\"description\":\"The merchant's primary contact name\",\"maxLength\":255,\"example\":\"John Test\"},\"primary_email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The merchant's primary email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"primary_phone\":{\"type\":\"string\",\"description\":\"The merchant's primary phone number\",\"maxLength\":255,\"example\":9999999999},\"secondary_contact_person\":{\"type\":\"string\",\"description\":\"The merchant's secondary contact name\",\"maxLength\":255,\"example\":\"John Test2\"},\"secondary_email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The merchant's secondary email address\",\"maxLength\":255,\"example\":\"JohnTest2@test.com\"},\"secondary_phone\":{\"type\":\"string\",\"description\":\"The merchant's secondary phone number\",\"maxLength\":255,\"example\":9999999998},\"website\":{\"type\":\"string\",\"description\":\"The business website of the merchant\",\"maxLength\":255,\"example\":\"www.example.com\"},\"about_business\":{\"type\":\"string\",\"description\":\"A brief description about merchant's business\",\"maxLength\":255,\"example\":\"Online Retail with a wide selection of organic products for North America\"},\"address\":{\"type\":\"object\",\"description\":\"The address for the merchant\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}}}},\"webhook_details\":{\"type\":\"object\",\"description\":\"The features for Webhook\",\"properties\":{\"webhook_version\":{\"type\":\"string\",\"description\":\"The version for Webhook\",\"maxLength\":255,\"example\":\"1.0.1\"},\"webhook_username\":{\"type\":\"string\",\"description\":\"The user name for Webhook login\",\"maxLength\":255,\"example\":\"ekart_retail\"},\"webhook_password\":{\"type\":\"string\",\"description\":\"The password for Webhook login\",\"maxLength\":255,\"example\":\"password_ekart@123\"},\"payment_created_enabled\":{\"type\":\"boolean\",\"description\":\"If this property is true, a webhook message is posted whenever a new payment is created\",\"example\":true},\"payment_succeeded_enabled\":{\"type\":\"boolean\",\"description\":\"If this property is true, a webhook message is posted whenever a payment is successful\",\"example\":true},\"payment_failed_enabled\":{\"type\":\"boolean\",\"description\":\"If this property is true, a webhook message is posted whenever a payment fails\",\"example\":true}}},\"routing_algorithm\":{\"type\":\"string\",\"description\":\"The routing algorithm to be used to process the incoming request from merchant to outgoing payment processor or payment method. The default is CUSTOM if\",\"enum\":[\"ROUND_ROBIN\",\"MAX_CONVERSION\",\"MIN_COST\",\"CUSTOM\"],\"maxLength\":255,\"example\":\"ROUND_ROBIN\"},\"custom_routing_rules\":{\"type\":\"array\",\"description\":\"An array of custom routing rules\",\"items\":{\"properties\":{\"payment_methods_incl\":{\"type\":\"array\",\"description\":\"The List of payment methods to include for this routing rule\",\"items\":{\"type\":\"string\",\"enum\":[\"card\",\"wallet\",\"bank_debit\",\"bank_redirect\",\"bank_transfer\"],\"example\":\"card\"},\"example\":[\"card\",\"upi\"]},\"payment_methods_excl\":{\"type\":\"array\",\"description\":\"The List of payment methods to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"enum\":[\"card\",\"wallet\",\"bank_debit\",\"bank_redirect\",\"bank_transfer\"],\"example\":\"card\"},\"example\":[\"card\",\"upi\"]},\"payment_method_types_incl\":{\"type\":\"array\",\"description\":\"The List of payment method types to include for this routing rule\",\"items\":{\"type\":\"string\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\"],\"example\":\"credit_card\"},\"example\":[\"credit_card\",\"debit_card\"]},\"payment_method_types_excl\":{\"type\":\"array\",\"description\":\"The List of payment method types to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\"],\"example\":\"credit_card\"},\"example\":[\"credit_card\",\"debit_card\"]},\"payment_method_issuers_incl\":{\"type\":\"array\",\"description\":\"The List of payment method issuers to include for this routing rule\",\"items\":{\"type\":\"string\"},\"example\":[\"Citibank\",\"JPMorgan\"]},\"payment_method_issuers_excl\":{\"type\":\"array\",\"description\":\"The List of payment method issuers to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\"},\"example\":[\"Citibank\",\"JPMorgan\"]},\"countries_incl\":{\"type\":\"array\",\"description\":\"The List of countries to include for this routing rule\",\"items\":{\"type\":\"string\",\"description\":\"The two-letter ISO currency code\",\"maxLength\":2,\"minLength\":2,\"example\":\"US\"},\"example\":[\"US\",\"UK\",\"IN\"]},\"countries_excl\":{\"type\":\"array\",\"description\":\"The List of countries to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"description\":\"The two-letter ISO currency code\",\"maxLength\":2,\"minLength\":2,\"example\":\"US\"},\"example\":[\"US\",\"UK\",\"IN\"]},\"currencies_incl\":{\"type\":\"array\",\"description\":\"The List of currencies to include for this routing rule\",\"items\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\",\"maxLength\":3,\"minLength\":3,\"example\":\"USD\"},\"example\":[\"USD\",\"EUR\"]},\"currencies_excl\":{\"type\":\"array\",\"description\":\"The List of currencies to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\",\"maxLength\":3,\"minLength\":3,\"example\":\"USD\"},\"example\":[\"AED\",\"SGD\"]},\"metadata_filters_keys\":{\"type\":\"array\",\"description\":\"List of Metadata Filters to apply for the Routing Rule. The filtes are presented as 2 arrays of keys and value. This property contains all the keys.\",\"items\":{\"type\":\"string\"},\"example\":[\"payments.udf1\",\"payments.udf2\"]},\"metadata_filters_values\":{\"type\":\"array\",\"description\":\"List of Metadata Filters to apply for the Routing Rule. The filtes are presented as 2 arrays of keys and value. This property contains all the keys.\",\"items\":{\"type\":\"string\"},\"example\":[\"android\",\"Category_Electronics\"]},\"connectors_pecking_order\":{\"type\":\"array\",\"description\":\"The pecking order of payment connectors (or processors) to be used for routing. The first connector in the array will be attempted for routing. If it fails, the second connector will be used till the list is exhausted.\",\"items\":{\"type\":\"string\",\"description\":\"Unique name used for identifying the Connector\",\"enum\":[\"stripe\",\"adyen\",\"brain_tree\",\"dlocal\",\"cyber_source\"],\"example\":\"stripe\"},\"example\":[\"stripe\",\"adyen\",\"brain_tree\"]},\"connectors_traffic_weightage_key\":{\"type\":\"array\",\"description\":\"An Array of Connectors (as Keys) with the associated percentage of traffic to be routed through the given connector (Expressed as an array of values)\",\"items\":{\"type\":\"string\",\"description\":\"Unique name used for identifying the Connector\",\"enum\":[\"stripe\",\"adyen\",\"brain_tree\",\"dlocal\",\"cyber_source\"],\"example\":\"stripe\"},\"example\":[\"stripe\",\"adyen\",\"brain_tree\"]},\"connectors_traffic_weightage_value\":{\"type\":\"array\",\"description\":\"An Array of Weightage (expressed in percentage) that needs to be associated with the respective connectors (Expressed as an array of keys)\",\"items\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":100,\"example\":50},\"example\":[50,30,20]}},\"example\":[{\"payment_method_types_incl\":[\"credit_card\"],\"connectors_pecking_order\":[\"stripe\",\"adyen\",\"brain_tree\"]},{\"payment_method_types_incl\":[\"debit_card\"],\"connectors_traffic_weightage_key\":[\"stripe\",\"adyen\",\"brain_tree\"],\"connectors_traffic_weightage_value\":[50,30,20]}],\"type\":\"object\"}},\"sub_merchants_enabled\":{\"type\":\"boolean\",\"description\":\"A boolean value to indicate if the merchant is a sub-merchant under a master or a parent merchant. By default, its value is false.\",\"maxLength\":255,\"example\":false},\"parent_merchant_id\":{\"type\":\"string\",\"description\":\"Refers to the Parent Merchant ID if the merchant being created is a sub-merchant\",\"maxLength\":255,\"example\":\"xkkdf909012sdjki2dkh5sdf\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/accounts - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
-                  "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                  "// pm.collectionVariables - Set merchant_id as variable for jsonData.merchant_id\nif (jsonData?.merchant_id) {\n   pm.collectionVariables.set(\"merchant_id\", jsonData.merchant_id);\n   console.log(\"- use {{merchant_id}} as collection variable for value\",jsonData.merchant_id);\n} else {\n   console.log('INFO - Unable to assign variable {{merchant_id}}, as jsonData.merchant_id is undefined.');\n};\n"
+                  "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Merchant Account\",\"required\":[\"merchant_id\"],\"properties\":{\"merchant_id\":{\"type\":\"string\",\"description\":\"The identifier for the Merchant Account.\",\"maxLength\":255,\"example\":\"y3oqhf46pyzuxjbcn2giaqnb44\"},\"api_key\":{\"type\":\"string\",\"description\":\"The public security key for accessing the APIs\",\"maxLength\":255,\"example\":\"xkkdf909012sdjki2dkh5sdf\"},\"merchant_name\":{\"type\":\"string\",\"description\":\"Name of the merchant\",\"example\":\"NewAge Retailer\"},\"merchant_details\":{\"type\":\"object\",\"description\":\"Details about the merchant including contact person, email, address, website, business description etc\",\"properties\":{\"primary_contact_person\":{\"type\":\"string\",\"description\":\"The merchant's primary contact name\",\"maxLength\":255,\"example\":\"John Test\"},\"primary_email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The merchant's primary email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"primary_phone\":{\"type\":\"string\",\"description\":\"The merchant's primary phone number\",\"maxLength\":255,\"example\":9999999999},\"secondary_contact_person\":{\"type\":\"string\",\"description\":\"The merchant's secondary contact name\",\"maxLength\":255,\"example\":\"John Test2\"},\"secondary_email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The merchant's secondary email address\",\"maxLength\":255,\"example\":\"JohnTest2@test.com\"},\"secondary_phone\":{\"type\":\"string\",\"description\":\"The merchant's secondary phone number\",\"maxLength\":255,\"example\":9999999998},\"website\":{\"type\":\"string\",\"description\":\"The business website of the merchant\",\"maxLength\":255,\"example\":\"www.example.com\"},\"about_business\":{\"type\":\"string\",\"description\":\"A brief description about merchant's business\",\"maxLength\":255,\"example\":\"Online Retail with a wide selection of organic products for North America\"},\"address\":{\"type\":\"object\",\"description\":\"The address for the merchant\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}}}},\"webhook_details\":{\"type\":\"object\",\"description\":\"The features for Webhook\",\"properties\":{\"webhook_version\":{\"type\":\"string\",\"description\":\"The version for Webhook\",\"maxLength\":255,\"example\":\"1.0.1\"},\"webhook_username\":{\"type\":\"string\",\"description\":\"The user name for Webhook login\",\"maxLength\":255,\"example\":\"ekart_retail\"},\"webhook_password\":{\"type\":\"string\",\"description\":\"The password for Webhook login\",\"maxLength\":255,\"example\":\"password_ekart@123\"},\"payment_created_enabled\":{\"type\":\"boolean\",\"description\":\"If this property is true, a webhook message is posted whenever a new payment is created\",\"example\":true},\"payment_succeeded_enabled\":{\"type\":\"boolean\",\"description\":\"If this property is true, a webhook message is posted whenever a payment is successful\",\"example\":true},\"payment_failed_enabled\":{\"type\":\"boolean\",\"description\":\"If this property is true, a webhook message is posted whenever a payment fails\",\"example\":true}}},\"routing_algorithm\":{\"type\":\"string\",\"description\":\"The routing algorithm to be used to process the incoming request from merchant to outgoing payment processor or payment method. The default is CUSTOM if\",\"enum\":[\"round_robin\",\"max_conversion\",\"min_cost\",\"custom\"],\"maxLength\":255,\"example\":\"custom\"},\"custom_routing_rules\":{\"type\":\"array\",\"description\":\"An array of custom routing rules\",\"items\":{\"properties\":{\"payment_methods_incl\":{\"type\":\"array\",\"description\":\"The List of payment methods to include for this routing rule\",\"items\":{\"type\":\"string\",\"enum\":[\"card\",\"wallet\",\"bank_debit\",\"bank_redirect\",\"bank_transfer\"],\"example\":\"card\"},\"example\":[\"card\",\"upi\"]},\"payment_methods_excl\":{\"type\":\"array\",\"description\":\"The List of payment methods to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"enum\":[\"card\",\"wallet\",\"bank_debit\",\"bank_redirect\",\"bank_transfer\"],\"example\":\"card\"},\"example\":[\"card\",\"upi\"]},\"payment_method_types_incl\":{\"type\":\"array\",\"description\":\"The List of payment method types to include for this routing rule\",\"items\":{\"type\":\"string\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\"],\"example\":\"credit_card\"},\"example\":[\"credit_card\",\"debit_card\"]},\"payment_method_types_excl\":{\"type\":\"array\",\"description\":\"The List of payment method types to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\"],\"example\":\"credit_card\"},\"example\":[\"credit_card\",\"debit_card\"]},\"payment_method_issuers_incl\":{\"type\":\"array\",\"description\":\"The List of payment method issuers to include for this routing rule\",\"items\":{\"type\":\"string\"},\"example\":[\"Citibank\",\"JPMorgan\"]},\"payment_method_issuers_excl\":{\"type\":\"array\",\"description\":\"The List of payment method issuers to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\"},\"example\":[\"Citibank\",\"JPMorgan\"]},\"countries_incl\":{\"type\":\"array\",\"description\":\"The List of countries to include for this routing rule\",\"items\":{\"type\":\"string\",\"description\":\"The two-letter ISO currency code\",\"maxLength\":2,\"minLength\":2,\"example\":\"US\"},\"example\":[\"US\",\"UK\",\"IN\"]},\"countries_excl\":{\"type\":\"array\",\"description\":\"The List of countries to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"description\":\"The two-letter ISO currency code\",\"maxLength\":2,\"minLength\":2,\"example\":\"US\"},\"example\":[\"US\",\"UK\",\"IN\"]},\"currencies_incl\":{\"type\":\"array\",\"description\":\"The List of currencies to include for this routing rule\",\"items\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\",\"maxLength\":3,\"minLength\":3,\"example\":\"USD\"},\"example\":[\"USD\",\"EUR\"]},\"currencies_excl\":{\"type\":\"array\",\"description\":\"The List of currencies to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\",\"maxLength\":3,\"minLength\":3,\"example\":\"USD\"},\"example\":[\"AED\",\"SGD\"]},\"metadata_filters_keys\":{\"type\":\"array\",\"description\":\"List of Metadata Filters to apply for the Routing Rule. The filters are presented as 2 arrays of keys and value. This property contains all the keys.\",\"items\":{\"type\":\"string\"},\"example\":[\"payments.udf1\",\"payments.udf2\"]},\"metadata_filters_values\":{\"type\":\"array\",\"description\":\"List of Metadata Filters to apply for the Routing Rule. The filters are presented as 2 arrays of keys and value. This property contains all the keys.\",\"items\":{\"type\":\"string\"},\"example\":[\"android\",\"Category_Electronics\"]},\"connectors_pecking_order\":{\"type\":\"array\",\"description\":\"The pecking order of payment connectors (or processors) to be used for routing. The first connector in the array will be attempted for routing. If it fails, the second connector will be used till the list is exhausted.\",\"items\":{\"type\":\"string\",\"description\":\"Unique name used for identifying the Connector\",\"enum\":[\"stripe\",\"adyen\",\"brain_tree\",\"dlocal\",\"cyber_source\"],\"example\":\"stripe\"},\"example\":[\"stripe\",\"adyen\",\"brain_tree\"]},\"connectors_traffic_weightage_key\":{\"type\":\"array\",\"description\":\"An Array of Connectors (as Keys) with the associated percentage of traffic to be routed through the given connector (Expressed as an array of values)\",\"items\":{\"type\":\"string\",\"description\":\"Unique name used for identifying the Connector\",\"enum\":[\"stripe\",\"adyen\",\"brain_tree\",\"dlocal\",\"cyber_source\"],\"example\":\"stripe\"},\"example\":[\"stripe\",\"adyen\",\"brain_tree\"]},\"connectors_traffic_weightage_value\":{\"type\":\"array\",\"description\":\"An Array of Weightage (expressed in percentage) that needs to be associated with the respective connectors (Expressed as an array of keys)\",\"items\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":100,\"example\":50},\"example\":[50,30,20]}},\"example\":[{\"payment_method_types_incl\":[\"credit_card\"],\"connectors_pecking_order\":[\"stripe\",\"adyen\",\"brain_tree\"]},{\"payment_method_types_incl\":[\"debit_card\"],\"connectors_traffic_weightage_key\":[\"stripe\",\"adyen\",\"brain_tree\"],\"connectors_traffic_weightage_value\":[50,30,20]}],\"type\":\"object\"}},\"sub_merchants_enabled\":{\"type\":\"boolean\",\"description\":\"A boolean value to indicate if the merchant is a sub-merchant under a master or a parent merchant. By default, its value is false.\",\"maxLength\":255,\"example\":false},\"parent_merchant_id\":{\"type\":\"string\",\"description\":\"Refers to the Parent Merchant ID if the merchant being created is a sub-merchant\",\"maxLength\":255,\"example\":\"xkkdf909012sdjki2dkh5sdf\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/accounts - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
                 ]
               }
             }
@@ -1372,7 +1382,7 @@
           }
         },
         {
-          "id": "9288993e-746c-426b-818f-dec1155eeb7b",
+          "id": "305da575-3c5f-4c68-82a7-bbb1a7449316",
           "name": "Merchant Account - Retrieve",
           "request": {
             "name": "Merchant Account - Retrieve",
@@ -1435,24 +1445,24 @@
             {
               "listen": "test",
               "script": {
-                "id": "419cc230-e796-4aaa-a7ab-177dfc2e216d",
+                "id": "44bd5f38-a1b7-41ed-83d5-fc6d986706dc",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[GET]::/accounts/:id - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[GET]::/accounts/:id - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Merchant Account\",\"required\":[\"merchant_id\"],\"properties\":{\"merchant_id\":{\"type\":\"string\",\"description\":\"The identifier for the Merchant Account.\",\"maxLength\":255,\"example\":\"y3oqhf46pyzuxjbcn2giaqnb44\"},\"api_key\":{\"type\":\"string\",\"description\":\"The public security key for accessing the APIs\",\"maxLength\":255,\"example\":\"xkkdf909012sdjki2dkh5sdf\"},\"merchant_name\":{\"type\":\"string\",\"description\":\"Name of the merchant\",\"example\":\"NewAge Retailer\"},\"merchant_details\":{\"type\":\"object\",\"description\":\"Details about the merchant including contact person, email, address, website, business description etc\",\"properties\":{\"primary_contact_person\":{\"type\":\"string\",\"description\":\"The merchant's primary contact name\",\"maxLength\":255,\"example\":\"John Test\"},\"primary_email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The merchant's primary email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"primary_phone\":{\"type\":\"string\",\"description\":\"The merchant's primary phone number\",\"maxLength\":255,\"example\":9999999999},\"secondary_contact_person\":{\"type\":\"string\",\"description\":\"The merchant's secondary contact name\",\"maxLength\":255,\"example\":\"John Test2\"},\"secondary_email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The merchant's secondary email address\",\"maxLength\":255,\"example\":\"JohnTest2@test.com\"},\"secondary_phone\":{\"type\":\"string\",\"description\":\"The merchant's secondary phone number\",\"maxLength\":255,\"example\":9999999998},\"website\":{\"type\":\"string\",\"description\":\"The business website of the merchant\",\"maxLength\":255,\"example\":\"www.example.com\"},\"about_business\":{\"type\":\"string\",\"description\":\"A brief description about merchant's business\",\"maxLength\":255,\"example\":\"Online Retail with a wide selection of organic products for North America\"},\"address\":{\"type\":\"object\",\"description\":\"The address for the merchant\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}}}},\"webhook_details\":{\"type\":\"object\",\"description\":\"The features for Webhook\",\"properties\":{\"webhook_version\":{\"type\":\"string\",\"description\":\"The version for Webhook\",\"maxLength\":255,\"example\":\"1.0.1\"},\"webhook_username\":{\"type\":\"string\",\"description\":\"The user name for Webhook login\",\"maxLength\":255,\"example\":\"ekart_retail\"},\"webhook_password\":{\"type\":\"string\",\"description\":\"The password for Webhook login\",\"maxLength\":255,\"example\":\"password_ekart@123\"},\"payment_created_enabled\":{\"type\":\"boolean\",\"description\":\"If this property is true, a webhook message is posted whenever a new payment is created\",\"example\":true},\"payment_succeeded_enabled\":{\"type\":\"boolean\",\"description\":\"If this property is true, a webhook message is posted whenever a payment is successful\",\"example\":true},\"payment_failed_enabled\":{\"type\":\"boolean\",\"description\":\"If this property is true, a webhook message is posted whenever a payment fails\",\"example\":true}}},\"routing_algorithm\":{\"type\":\"string\",\"description\":\"The routing algorithm to be used to process the incoming request from merchant to outgoing payment processor or payment method. The default is CUSTOM if\",\"enum\":[\"ROUND_ROBIN\",\"MAX_CONVERSION\",\"MIN_COST\",\"CUSTOM\"],\"maxLength\":255,\"example\":\"ROUND_ROBIN\"},\"custom_routing_rules\":{\"type\":\"array\",\"description\":\"An array of custom routing rules\",\"items\":{\"properties\":{\"payment_methods_incl\":{\"type\":\"array\",\"description\":\"The List of payment methods to include for this routing rule\",\"items\":{\"type\":\"string\",\"enum\":[\"card\",\"wallet\",\"bank_debit\",\"bank_redirect\",\"bank_transfer\"],\"example\":\"card\"},\"example\":[\"card\",\"upi\"]},\"payment_methods_excl\":{\"type\":\"array\",\"description\":\"The List of payment methods to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"enum\":[\"card\",\"wallet\",\"bank_debit\",\"bank_redirect\",\"bank_transfer\"],\"example\":\"card\"},\"example\":[\"card\",\"upi\"]},\"payment_method_types_incl\":{\"type\":\"array\",\"description\":\"The List of payment method types to include for this routing rule\",\"items\":{\"type\":\"string\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\"],\"example\":\"credit_card\"},\"example\":[\"credit_card\",\"debit_card\"]},\"payment_method_types_excl\":{\"type\":\"array\",\"description\":\"The List of payment method types to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\"],\"example\":\"credit_card\"},\"example\":[\"credit_card\",\"debit_card\"]},\"payment_method_issuers_incl\":{\"type\":\"array\",\"description\":\"The List of payment method issuers to include for this routing rule\",\"items\":{\"type\":\"string\"},\"example\":[\"Citibank\",\"JPMorgan\"]},\"payment_method_issuers_excl\":{\"type\":\"array\",\"description\":\"The List of payment method issuers to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\"},\"example\":[\"Citibank\",\"JPMorgan\"]},\"countries_incl\":{\"type\":\"array\",\"description\":\"The List of countries to include for this routing rule\",\"items\":{\"type\":\"string\",\"description\":\"The two-letter ISO currency code\",\"maxLength\":2,\"minLength\":2,\"example\":\"US\"},\"example\":[\"US\",\"UK\",\"IN\"]},\"countries_excl\":{\"type\":\"array\",\"description\":\"The List of countries to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"description\":\"The two-letter ISO currency code\",\"maxLength\":2,\"minLength\":2,\"example\":\"US\"},\"example\":[\"US\",\"UK\",\"IN\"]},\"currencies_incl\":{\"type\":\"array\",\"description\":\"The List of currencies to include for this routing rule\",\"items\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\",\"maxLength\":3,\"minLength\":3,\"example\":\"USD\"},\"example\":[\"USD\",\"EUR\"]},\"currencies_excl\":{\"type\":\"array\",\"description\":\"The List of currencies to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\",\"maxLength\":3,\"minLength\":3,\"example\":\"USD\"},\"example\":[\"AED\",\"SGD\"]},\"metadata_filters_keys\":{\"type\":\"array\",\"description\":\"List of Metadata Filters to apply for the Routing Rule. The filtes are presented as 2 arrays of keys and value. This property contains all the keys.\",\"items\":{\"type\":\"string\"},\"example\":[\"payments.udf1\",\"payments.udf2\"]},\"metadata_filters_values\":{\"type\":\"array\",\"description\":\"List of Metadata Filters to apply for the Routing Rule. The filtes are presented as 2 arrays of keys and value. This property contains all the keys.\",\"items\":{\"type\":\"string\"},\"example\":[\"android\",\"Category_Electronics\"]},\"connectors_pecking_order\":{\"type\":\"array\",\"description\":\"The pecking order of payment connectors (or processors) to be used for routing. The first connector in the array will be attempted for routing. If it fails, the second connector will be used till the list is exhausted.\",\"items\":{\"type\":\"string\",\"description\":\"Unique name used for identifying the Connector\",\"enum\":[\"stripe\",\"adyen\",\"brain_tree\",\"dlocal\",\"cyber_source\"],\"example\":\"stripe\"},\"example\":[\"stripe\",\"adyen\",\"brain_tree\"]},\"connectors_traffic_weightage_key\":{\"type\":\"array\",\"description\":\"An Array of Connectors (as Keys) with the associated percentage of traffic to be routed through the given connector (Expressed as an array of values)\",\"items\":{\"type\":\"string\",\"description\":\"Unique name used for identifying the Connector\",\"enum\":[\"stripe\",\"adyen\",\"brain_tree\",\"dlocal\",\"cyber_source\"],\"example\":\"stripe\"},\"example\":[\"stripe\",\"adyen\",\"brain_tree\"]},\"connectors_traffic_weightage_value\":{\"type\":\"array\",\"description\":\"An Array of Weightage (expressed in percentage) that needs to be associated with the respective connectors (Expressed as an array of keys)\",\"items\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":100,\"example\":50},\"example\":[50,30,20]}},\"example\":[{\"payment_method_types_incl\":[\"credit_card\"],\"connectors_pecking_order\":[\"stripe\",\"adyen\",\"brain_tree\"]},{\"payment_method_types_incl\":[\"debit_card\"],\"connectors_traffic_weightage_key\":[\"stripe\",\"adyen\",\"brain_tree\"],\"connectors_traffic_weightage_value\":[50,30,20]}],\"type\":\"object\"}},\"sub_merchants_enabled\":{\"type\":\"boolean\",\"description\":\"A boolean value to indicate if the merchant is a sub-merchant under a master or a parent merchant. By default, its value is false.\",\"maxLength\":255,\"example\":false},\"parent_merchant_id\":{\"type\":\"string\",\"description\":\"Refers to the Parent Merchant ID if the merchant being created is a sub-merchant\",\"maxLength\":255,\"example\":\"xkkdf909012sdjki2dkh5sdf\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/accounts/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
+                  "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Merchant Account\",\"required\":[\"merchant_id\"],\"properties\":{\"merchant_id\":{\"type\":\"string\",\"description\":\"The identifier for the Merchant Account.\",\"maxLength\":255,\"example\":\"y3oqhf46pyzuxjbcn2giaqnb44\"},\"api_key\":{\"type\":\"string\",\"description\":\"The public security key for accessing the APIs\",\"maxLength\":255,\"example\":\"xkkdf909012sdjki2dkh5sdf\"},\"merchant_name\":{\"type\":\"string\",\"description\":\"Name of the merchant\",\"example\":\"NewAge Retailer\"},\"merchant_details\":{\"type\":\"object\",\"description\":\"Details about the merchant including contact person, email, address, website, business description etc\",\"properties\":{\"primary_contact_person\":{\"type\":\"string\",\"description\":\"The merchant's primary contact name\",\"maxLength\":255,\"example\":\"John Test\"},\"primary_email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The merchant's primary email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"primary_phone\":{\"type\":\"string\",\"description\":\"The merchant's primary phone number\",\"maxLength\":255,\"example\":9999999999},\"secondary_contact_person\":{\"type\":\"string\",\"description\":\"The merchant's secondary contact name\",\"maxLength\":255,\"example\":\"John Test2\"},\"secondary_email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The merchant's secondary email address\",\"maxLength\":255,\"example\":\"JohnTest2@test.com\"},\"secondary_phone\":{\"type\":\"string\",\"description\":\"The merchant's secondary phone number\",\"maxLength\":255,\"example\":9999999998},\"website\":{\"type\":\"string\",\"description\":\"The business website of the merchant\",\"maxLength\":255,\"example\":\"www.example.com\"},\"about_business\":{\"type\":\"string\",\"description\":\"A brief description about merchant's business\",\"maxLength\":255,\"example\":\"Online Retail with a wide selection of organic products for North America\"},\"address\":{\"type\":\"object\",\"description\":\"The address for the merchant\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}}}},\"webhook_details\":{\"type\":\"object\",\"description\":\"The features for Webhook\",\"properties\":{\"webhook_version\":{\"type\":\"string\",\"description\":\"The version for Webhook\",\"maxLength\":255,\"example\":\"1.0.1\"},\"webhook_username\":{\"type\":\"string\",\"description\":\"The user name for Webhook login\",\"maxLength\":255,\"example\":\"ekart_retail\"},\"webhook_password\":{\"type\":\"string\",\"description\":\"The password for Webhook login\",\"maxLength\":255,\"example\":\"password_ekart@123\"},\"payment_created_enabled\":{\"type\":\"boolean\",\"description\":\"If this property is true, a webhook message is posted whenever a new payment is created\",\"example\":true},\"payment_succeeded_enabled\":{\"type\":\"boolean\",\"description\":\"If this property is true, a webhook message is posted whenever a payment is successful\",\"example\":true},\"payment_failed_enabled\":{\"type\":\"boolean\",\"description\":\"If this property is true, a webhook message is posted whenever a payment fails\",\"example\":true}}},\"routing_algorithm\":{\"type\":\"string\",\"description\":\"The routing algorithm to be used to process the incoming request from merchant to outgoing payment processor or payment method. The default is CUSTOM if\",\"enum\":[\"round_robin\",\"max_conversion\",\"min_cost\",\"custom\"],\"maxLength\":255,\"example\":\"custom\"},\"custom_routing_rules\":{\"type\":\"array\",\"description\":\"An array of custom routing rules\",\"items\":{\"properties\":{\"payment_methods_incl\":{\"type\":\"array\",\"description\":\"The List of payment methods to include for this routing rule\",\"items\":{\"type\":\"string\",\"enum\":[\"card\",\"wallet\",\"bank_debit\",\"bank_redirect\",\"bank_transfer\"],\"example\":\"card\"},\"example\":[\"card\",\"upi\"]},\"payment_methods_excl\":{\"type\":\"array\",\"description\":\"The List of payment methods to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"enum\":[\"card\",\"wallet\",\"bank_debit\",\"bank_redirect\",\"bank_transfer\"],\"example\":\"card\"},\"example\":[\"card\",\"upi\"]},\"payment_method_types_incl\":{\"type\":\"array\",\"description\":\"The List of payment method types to include for this routing rule\",\"items\":{\"type\":\"string\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\"],\"example\":\"credit_card\"},\"example\":[\"credit_card\",\"debit_card\"]},\"payment_method_types_excl\":{\"type\":\"array\",\"description\":\"The List of payment method types to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\"],\"example\":\"credit_card\"},\"example\":[\"credit_card\",\"debit_card\"]},\"payment_method_issuers_incl\":{\"type\":\"array\",\"description\":\"The List of payment method issuers to include for this routing rule\",\"items\":{\"type\":\"string\"},\"example\":[\"Citibank\",\"JPMorgan\"]},\"payment_method_issuers_excl\":{\"type\":\"array\",\"description\":\"The List of payment method issuers to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\"},\"example\":[\"Citibank\",\"JPMorgan\"]},\"countries_incl\":{\"type\":\"array\",\"description\":\"The List of countries to include for this routing rule\",\"items\":{\"type\":\"string\",\"description\":\"The two-letter ISO currency code\",\"maxLength\":2,\"minLength\":2,\"example\":\"US\"},\"example\":[\"US\",\"UK\",\"IN\"]},\"countries_excl\":{\"type\":\"array\",\"description\":\"The List of countries to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"description\":\"The two-letter ISO currency code\",\"maxLength\":2,\"minLength\":2,\"example\":\"US\"},\"example\":[\"US\",\"UK\",\"IN\"]},\"currencies_incl\":{\"type\":\"array\",\"description\":\"The List of currencies to include for this routing rule\",\"items\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\",\"maxLength\":3,\"minLength\":3,\"example\":\"USD\"},\"example\":[\"USD\",\"EUR\"]},\"currencies_excl\":{\"type\":\"array\",\"description\":\"The List of currencies to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\",\"maxLength\":3,\"minLength\":3,\"example\":\"USD\"},\"example\":[\"AED\",\"SGD\"]},\"metadata_filters_keys\":{\"type\":\"array\",\"description\":\"List of Metadata Filters to apply for the Routing Rule. The filters are presented as 2 arrays of keys and value. This property contains all the keys.\",\"items\":{\"type\":\"string\"},\"example\":[\"payments.udf1\",\"payments.udf2\"]},\"metadata_filters_values\":{\"type\":\"array\",\"description\":\"List of Metadata Filters to apply for the Routing Rule. The filters are presented as 2 arrays of keys and value. This property contains all the keys.\",\"items\":{\"type\":\"string\"},\"example\":[\"android\",\"Category_Electronics\"]},\"connectors_pecking_order\":{\"type\":\"array\",\"description\":\"The pecking order of payment connectors (or processors) to be used for routing. The first connector in the array will be attempted for routing. If it fails, the second connector will be used till the list is exhausted.\",\"items\":{\"type\":\"string\",\"description\":\"Unique name used for identifying the Connector\",\"enum\":[\"stripe\",\"adyen\",\"brain_tree\",\"dlocal\",\"cyber_source\"],\"example\":\"stripe\"},\"example\":[\"stripe\",\"adyen\",\"brain_tree\"]},\"connectors_traffic_weightage_key\":{\"type\":\"array\",\"description\":\"An Array of Connectors (as Keys) with the associated percentage of traffic to be routed through the given connector (Expressed as an array of values)\",\"items\":{\"type\":\"string\",\"description\":\"Unique name used for identifying the Connector\",\"enum\":[\"stripe\",\"adyen\",\"brain_tree\",\"dlocal\",\"cyber_source\"],\"example\":\"stripe\"},\"example\":[\"stripe\",\"adyen\",\"brain_tree\"]},\"connectors_traffic_weightage_value\":{\"type\":\"array\",\"description\":\"An Array of Weightage (expressed in percentage) that needs to be associated with the respective connectors (Expressed as an array of keys)\",\"items\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":100,\"example\":50},\"example\":[50,30,20]}},\"example\":[{\"payment_method_types_incl\":[\"credit_card\"],\"connectors_pecking_order\":[\"stripe\",\"adyen\",\"brain_tree\"]},{\"payment_method_types_incl\":[\"debit_card\"],\"connectors_traffic_weightage_key\":[\"stripe\",\"adyen\",\"brain_tree\"],\"connectors_traffic_weightage_value\":[50,30,20]}],\"type\":\"object\"}},\"sub_merchants_enabled\":{\"type\":\"boolean\",\"description\":\"A boolean value to indicate if the merchant is a sub-merchant under a master or a parent merchant. By default, its value is false.\",\"maxLength\":255,\"example\":false},\"parent_merchant_id\":{\"type\":\"string\",\"description\":\"Refers to the Parent Merchant ID if the merchant being created is a sub-merchant\",\"maxLength\":255,\"example\":\"xkkdf909012sdjki2dkh5sdf\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/accounts/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
                 ]
               }
             }
           ]
         },
         {
-          "id": "20852327-9e4b-4f31-9427-4d6fee54f33b",
+          "id": "c85a5cb4-5500-4ea3-ab83-5dc15cba647a",
           "name": "Merchant Account - Update",
           "request": {
             "name": "Merchant Account - Update",
             "description": {
-              "content": "To update an existng merchant account. Helpful in updating merchant details such as email, contact deteails, or other configuration details like webhook, routing algorithm etc",
+              "content": "To update an existing merchant account. Helpful in updating merchant details such as email, contact details, or other configuration details like webhook, routing algorithm etc",
               "type": "text/plain"
             },
             "url": {
@@ -1490,7 +1500,7 @@
             "method": "POST",
             "body": {
               "mode": "raw",
-              "raw": "{\n  \"merchant_id\": \"y3oqhf46pyzuxjbcn2giaqnb44\",\n  \"merchant_name\": \"NewAge Retailer\",\n  \"merchant_details\": {\n    \"primary_contact_person\": \"John Test\",\n    \"primary_email\": \"JohnTest@test.com\",\n    \"primary_phone\": \"in laborum commodo ullamco\",\n    \"secondary_contact_person\": \"John Test2\",\n    \"secondary_email\": \"JohnTest2@test.com\",\n    \"secondary_phone\": \"ut voluptate dolore eiusmod\",\n    \"website\": \"www.example.com\",\n    \"about_business\": \"Online Retail with a wide selection of organic products for North America\",\n    \"address\": {\n      \"line1\": \"Juspay Router\",\n      \"line2\": \"Koramangala\",\n      \"line3\": \"Stallion\",\n      \"city\": \"Bangalore\",\n      \"state\": \"Karnataka\",\n      \"zip\": \"560095\",\n      \"country\": \"IN\"\n    }\n  },\n  \"return_url\": \"www.example.com/success\",\n  \"webhook_details\": {\n    \"webhook_version\": \"1.0.1\",\n    \"webhook_username\": \"ekart_retail\",\n    \"webhook_password\": \"password_ekart@123\",\n    \"payment_created_enabled\": true,\n    \"payment_succeeded_enabled\": true,\n    \"payment_failed_enabled\": true\n  },\n  \"routing_algorithm\": \"ROUND_ROBIN\",\n  \"custom_routing_rules\": [\n    {\n      \"payment_methods_incl\": [\n        \"card\",\n        \"card\"\n      ],\n      \"payment_methods_excl\": [\n        \"card\",\n        \"card\"\n      ],\n      \"payment_method_types_incl\": [\n        \"credit_card\",\n        \"debit_card\"\n      ],\n      \"payment_method_types_excl\": [\n        \"credit_card\",\n        \"debit_card\"\n      ],\n      \"payment_method_issuers_incl\": [\n        \"Citibank\",\n        \"JPMorgan\"\n      ],\n      \"payment_method_issuers_excl\": [\n        \"Citibank\",\n        \"JPMorgan\"\n      ],\n      \"countries_incl\": [\n        \"US\",\n        \"UK\",\n        \"IN\"\n      ],\n      \"countries_excl\": [\n        \"US\",\n        \"UK\",\n        \"IN\"\n      ],\n      \"currencies_incl\": [\n        \"USD\",\n        \"EUR\"\n      ],\n      \"currencies_excl\": [\n        \"AED\",\n        \"SGD\"\n      ],\n      \"metadata_filters_keys\": [\n        \"payments.udf1\",\n        \"payments.udf2\"\n      ],\n      \"metadata_filters_values\": [\n        \"android\",\n        \"Category_Electronics\"\n      ],\n      \"connectors_pecking_order\": [\n        \"stripe\",\n        \"adyen\",\n        \"brain_tree\"\n      ],\n      \"connectors_traffic_weightage_key\": [\n        \"stripe\",\n        \"adyen\",\n        \"brain_tree\"\n      ],\n      \"connectors_traffic_weightage_value\": [\n        50,\n        30,\n        20\n      ]\n    },\n    {\n      \"payment_methods_incl\": [\n        \"card\",\n        \"card\"\n      ],\n      \"payment_methods_excl\": [\n        \"card\",\n        \"card\"\n      ],\n      \"payment_method_types_incl\": [\n        \"credit_card\",\n        \"debit_card\"\n      ],\n      \"payment_method_types_excl\": [\n        \"credit_card\",\n        \"debit_card\"\n      ],\n      \"payment_method_issuers_incl\": [\n        \"Citibank\",\n        \"JPMorgan\"\n      ],\n      \"payment_method_issuers_excl\": [\n        \"Citibank\",\n        \"JPMorgan\"\n      ],\n      \"countries_incl\": [\n        \"US\",\n        \"UK\",\n        \"IN\"\n      ],\n      \"countries_excl\": [\n        \"US\",\n        \"UK\",\n        \"IN\"\n      ],\n      \"currencies_incl\": [\n        \"USD\",\n        \"EUR\"\n      ],\n      \"currencies_excl\": [\n        \"AED\",\n        \"SGD\"\n      ],\n      \"metadata_filters_keys\": [\n        \"payments.udf1\",\n        \"payments.udf2\"\n      ],\n      \"metadata_filters_values\": [\n        \"android\",\n        \"Category_Electronics\"\n      ],\n      \"connectors_pecking_order\": [\n        \"stripe\",\n        \"adyen\",\n        \"brain_tree\"\n      ],\n      \"connectors_traffic_weightage_key\": [\n        \"stripe\",\n        \"adyen\",\n        \"brain_tree\"\n      ],\n      \"connectors_traffic_weightage_value\": [\n        50,\n        30,\n        20\n      ]\n    }\n  ],\n  \"sub_merchants_enabled\": false,\n  \"parent_merchant_id\": \"xkkdf909012sdjki2dkh5sdf\",\n  \"metadata\": {\n    \"city\": \"NY\",\n    \"unit\": \"245\"\n  }\n}",
+              "raw": "{\n  \"merchant_id\": \"y3oqhf46pyzuxjbcn2giaqnb44\",\n  \"merchant_name\": \"NewAge Retailer\",\n  \"merchant_details\": {\n    \"primary_contact_person\": \"John Test\",\n    \"primary_email\": \"JohnTest@test.com\",\n    \"primary_phone\": \"ea pariatur adipisicing voluptate\",\n    \"secondary_contact_person\": \"John Test2\",\n    \"secondary_email\": \"JohnTest2@test.com\",\n    \"secondary_phone\": \"veniam cillum in ut aliqua\",\n    \"website\": \"www.example.com\",\n    \"about_business\": \"Online Retail with a wide selection of organic products for North America\",\n    \"address\": {\n      \"line1\": \"Juspay Router\",\n      \"line2\": \"Koramangala\",\n      \"line3\": \"Stallion\",\n      \"city\": \"Bangalore\",\n      \"state\": \"Karnataka\",\n      \"zip\": \"560095\",\n      \"country\": \"IN\"\n    }\n  },\n  \"return_url\": \"www.example.com/success\",\n  \"webhook_details\": {\n    \"webhook_version\": \"1.0.1\",\n    \"webhook_username\": \"ekart_retail\",\n    \"webhook_password\": \"password_ekart@123\",\n    \"payment_created_enabled\": true,\n    \"payment_succeeded_enabled\": true,\n    \"payment_failed_enabled\": true\n  },\n  \"routing_algorithm\": \"custom\",\n  \"custom_routing_rules\": [\n    {\n      \"payment_methods_incl\": [\n        \"card\",\n        \"card\"\n      ],\n      \"payment_methods_excl\": [\n        \"card\",\n        \"card\"\n      ],\n      \"payment_method_types_incl\": [\n        \"credit_card\",\n        \"debit_card\"\n      ],\n      \"payment_method_types_excl\": [\n        \"credit_card\",\n        \"debit_card\"\n      ],\n      \"payment_method_issuers_incl\": [\n        \"Citibank\",\n        \"JPMorgan\"\n      ],\n      \"payment_method_issuers_excl\": [\n        \"Citibank\",\n        \"JPMorgan\"\n      ],\n      \"countries_incl\": [\n        \"US\",\n        \"UK\",\n        \"IN\"\n      ],\n      \"countries_excl\": [\n        \"US\",\n        \"UK\",\n        \"IN\"\n      ],\n      \"currencies_incl\": [\n        \"USD\",\n        \"EUR\"\n      ],\n      \"currencies_excl\": [\n        \"AED\",\n        \"SGD\"\n      ],\n      \"metadata_filters_keys\": [\n        \"payments.udf1\",\n        \"payments.udf2\"\n      ],\n      \"metadata_filters_values\": [\n        \"android\",\n        \"Category_Electronics\"\n      ],\n      \"connectors_pecking_order\": [\n        \"stripe\",\n        \"adyen\",\n        \"brain_tree\"\n      ],\n      \"connectors_traffic_weightage_key\": [\n        \"stripe\",\n        \"adyen\",\n        \"brain_tree\"\n      ],\n      \"connectors_traffic_weightage_value\": [\n        50,\n        30,\n        20\n      ]\n    },\n    {\n      \"payment_methods_incl\": [\n        \"card\",\n        \"card\"\n      ],\n      \"payment_methods_excl\": [\n        \"card\",\n        \"card\"\n      ],\n      \"payment_method_types_incl\": [\n        \"credit_card\",\n        \"debit_card\"\n      ],\n      \"payment_method_types_excl\": [\n        \"credit_card\",\n        \"debit_card\"\n      ],\n      \"payment_method_issuers_incl\": [\n        \"Citibank\",\n        \"JPMorgan\"\n      ],\n      \"payment_method_issuers_excl\": [\n        \"Citibank\",\n        \"JPMorgan\"\n      ],\n      \"countries_incl\": [\n        \"US\",\n        \"UK\",\n        \"IN\"\n      ],\n      \"countries_excl\": [\n        \"US\",\n        \"UK\",\n        \"IN\"\n      ],\n      \"currencies_incl\": [\n        \"USD\",\n        \"EUR\"\n      ],\n      \"currencies_excl\": [\n        \"AED\",\n        \"SGD\"\n      ],\n      \"metadata_filters_keys\": [\n        \"payments.udf1\",\n        \"payments.udf2\"\n      ],\n      \"metadata_filters_values\": [\n        \"android\",\n        \"Category_Electronics\"\n      ],\n      \"connectors_pecking_order\": [\n        \"stripe\",\n        \"adyen\",\n        \"brain_tree\"\n      ],\n      \"connectors_traffic_weightage_key\": [\n        \"stripe\",\n        \"adyen\",\n        \"brain_tree\"\n      ],\n      \"connectors_traffic_weightage_value\": [\n        50,\n        30,\n        20\n      ]\n    }\n  ],\n  \"sub_merchants_enabled\": false,\n  \"parent_merchant_id\": \"xkkdf909012sdjki2dkh5sdf\",\n  \"metadata\": {\n    \"city\": \"NY\",\n    \"unit\": \"245\"\n  }\n}",
               "options": {
                 "raw": {
                   "language": "json"
@@ -1523,12 +1533,12 @@
             {
               "listen": "test",
               "script": {
-                "id": "ee89817f-cf91-4249-85fb-d30ff30cf13c",
+                "id": "f60ec0fc-4857-4b9b-8f4e-c52c74d8edcc",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[POST]::/accounts/:id - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[POST]::/accounts/:id - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Merchant Account\",\"required\":[\"merchant_id\"],\"properties\":{\"merchant_id\":{\"type\":\"string\",\"description\":\"The identifier for the Merchant Account.\",\"maxLength\":255,\"example\":\"y3oqhf46pyzuxjbcn2giaqnb44\"},\"api_key\":{\"type\":\"string\",\"description\":\"The public security key for accessing the APIs\",\"maxLength\":255,\"example\":\"xkkdf909012sdjki2dkh5sdf\"},\"merchant_name\":{\"type\":\"string\",\"description\":\"Name of the merchant\",\"example\":\"NewAge Retailer\"},\"merchant_details\":{\"type\":\"object\",\"description\":\"Details about the merchant including contact person, email, address, website, business description etc\",\"properties\":{\"primary_contact_person\":{\"type\":\"string\",\"description\":\"The merchant's primary contact name\",\"maxLength\":255,\"example\":\"John Test\"},\"primary_email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The merchant's primary email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"primary_phone\":{\"type\":\"string\",\"description\":\"The merchant's primary phone number\",\"maxLength\":255,\"example\":9999999999},\"secondary_contact_person\":{\"type\":\"string\",\"description\":\"The merchant's secondary contact name\",\"maxLength\":255,\"example\":\"John Test2\"},\"secondary_email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The merchant's secondary email address\",\"maxLength\":255,\"example\":\"JohnTest2@test.com\"},\"secondary_phone\":{\"type\":\"string\",\"description\":\"The merchant's secondary phone number\",\"maxLength\":255,\"example\":9999999998},\"website\":{\"type\":\"string\",\"description\":\"The business website of the merchant\",\"maxLength\":255,\"example\":\"www.example.com\"},\"about_business\":{\"type\":\"string\",\"description\":\"A brief description about merchant's business\",\"maxLength\":255,\"example\":\"Online Retail with a wide selection of organic products for North America\"},\"address\":{\"type\":\"object\",\"description\":\"The address for the merchant\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}}}},\"webhook_details\":{\"type\":\"object\",\"description\":\"The features for Webhook\",\"properties\":{\"webhook_version\":{\"type\":\"string\",\"description\":\"The version for Webhook\",\"maxLength\":255,\"example\":\"1.0.1\"},\"webhook_username\":{\"type\":\"string\",\"description\":\"The user name for Webhook login\",\"maxLength\":255,\"example\":\"ekart_retail\"},\"webhook_password\":{\"type\":\"string\",\"description\":\"The password for Webhook login\",\"maxLength\":255,\"example\":\"password_ekart@123\"},\"payment_created_enabled\":{\"type\":\"boolean\",\"description\":\"If this property is true, a webhook message is posted whenever a new payment is created\",\"example\":true},\"payment_succeeded_enabled\":{\"type\":\"boolean\",\"description\":\"If this property is true, a webhook message is posted whenever a payment is successful\",\"example\":true},\"payment_failed_enabled\":{\"type\":\"boolean\",\"description\":\"If this property is true, a webhook message is posted whenever a payment fails\",\"example\":true}}},\"routing_algorithm\":{\"type\":\"string\",\"description\":\"The routing algorithm to be used to process the incoming request from merchant to outgoing payment processor or payment method. The default is CUSTOM if\",\"enum\":[\"ROUND_ROBIN\",\"MAX_CONVERSION\",\"MIN_COST\",\"CUSTOM\"],\"maxLength\":255,\"example\":\"ROUND_ROBIN\"},\"custom_routing_rules\":{\"type\":\"array\",\"description\":\"An array of custom routing rules\",\"items\":{\"properties\":{\"payment_methods_incl\":{\"type\":\"array\",\"description\":\"The List of payment methods to include for this routing rule\",\"items\":{\"type\":\"string\",\"enum\":[\"card\",\"wallet\",\"bank_debit\",\"bank_redirect\",\"bank_transfer\"],\"example\":\"card\"},\"example\":[\"card\",\"upi\"]},\"payment_methods_excl\":{\"type\":\"array\",\"description\":\"The List of payment methods to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"enum\":[\"card\",\"wallet\",\"bank_debit\",\"bank_redirect\",\"bank_transfer\"],\"example\":\"card\"},\"example\":[\"card\",\"upi\"]},\"payment_method_types_incl\":{\"type\":\"array\",\"description\":\"The List of payment method types to include for this routing rule\",\"items\":{\"type\":\"string\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\"],\"example\":\"credit_card\"},\"example\":[\"credit_card\",\"debit_card\"]},\"payment_method_types_excl\":{\"type\":\"array\",\"description\":\"The List of payment method types to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\"],\"example\":\"credit_card\"},\"example\":[\"credit_card\",\"debit_card\"]},\"payment_method_issuers_incl\":{\"type\":\"array\",\"description\":\"The List of payment method issuers to include for this routing rule\",\"items\":{\"type\":\"string\"},\"example\":[\"Citibank\",\"JPMorgan\"]},\"payment_method_issuers_excl\":{\"type\":\"array\",\"description\":\"The List of payment method issuers to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\"},\"example\":[\"Citibank\",\"JPMorgan\"]},\"countries_incl\":{\"type\":\"array\",\"description\":\"The List of countries to include for this routing rule\",\"items\":{\"type\":\"string\",\"description\":\"The two-letter ISO currency code\",\"maxLength\":2,\"minLength\":2,\"example\":\"US\"},\"example\":[\"US\",\"UK\",\"IN\"]},\"countries_excl\":{\"type\":\"array\",\"description\":\"The List of countries to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"description\":\"The two-letter ISO currency code\",\"maxLength\":2,\"minLength\":2,\"example\":\"US\"},\"example\":[\"US\",\"UK\",\"IN\"]},\"currencies_incl\":{\"type\":\"array\",\"description\":\"The List of currencies to include for this routing rule\",\"items\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\",\"maxLength\":3,\"minLength\":3,\"example\":\"USD\"},\"example\":[\"USD\",\"EUR\"]},\"currencies_excl\":{\"type\":\"array\",\"description\":\"The List of currencies to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\",\"maxLength\":3,\"minLength\":3,\"example\":\"USD\"},\"example\":[\"AED\",\"SGD\"]},\"metadata_filters_keys\":{\"type\":\"array\",\"description\":\"List of Metadata Filters to apply for the Routing Rule. The filtes are presented as 2 arrays of keys and value. This property contains all the keys.\",\"items\":{\"type\":\"string\"},\"example\":[\"payments.udf1\",\"payments.udf2\"]},\"metadata_filters_values\":{\"type\":\"array\",\"description\":\"List of Metadata Filters to apply for the Routing Rule. The filtes are presented as 2 arrays of keys and value. This property contains all the keys.\",\"items\":{\"type\":\"string\"},\"example\":[\"android\",\"Category_Electronics\"]},\"connectors_pecking_order\":{\"type\":\"array\",\"description\":\"The pecking order of payment connectors (or processors) to be used for routing. The first connector in the array will be attempted for routing. If it fails, the second connector will be used till the list is exhausted.\",\"items\":{\"type\":\"string\",\"description\":\"Unique name used for identifying the Connector\",\"enum\":[\"stripe\",\"adyen\",\"brain_tree\",\"dlocal\",\"cyber_source\"],\"example\":\"stripe\"},\"example\":[\"stripe\",\"adyen\",\"brain_tree\"]},\"connectors_traffic_weightage_key\":{\"type\":\"array\",\"description\":\"An Array of Connectors (as Keys) with the associated percentage of traffic to be routed through the given connector (Expressed as an array of values)\",\"items\":{\"type\":\"string\",\"description\":\"Unique name used for identifying the Connector\",\"enum\":[\"stripe\",\"adyen\",\"brain_tree\",\"dlocal\",\"cyber_source\"],\"example\":\"stripe\"},\"example\":[\"stripe\",\"adyen\",\"brain_tree\"]},\"connectors_traffic_weightage_value\":{\"type\":\"array\",\"description\":\"An Array of Weightage (expressed in percentage) that needs to be associated with the respective connectors (Expressed as an array of keys)\",\"items\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":100,\"example\":50},\"example\":[50,30,20]}},\"example\":[{\"payment_method_types_incl\":[\"credit_card\"],\"connectors_pecking_order\":[\"stripe\",\"adyen\",\"brain_tree\"]},{\"payment_method_types_incl\":[\"debit_card\"],\"connectors_traffic_weightage_key\":[\"stripe\",\"adyen\",\"brain_tree\"],\"connectors_traffic_weightage_value\":[50,30,20]}],\"type\":\"object\"}},\"sub_merchants_enabled\":{\"type\":\"boolean\",\"description\":\"A boolean value to indicate if the merchant is a sub-merchant under a master or a parent merchant. By default, its value is false.\",\"maxLength\":255,\"example\":false},\"parent_merchant_id\":{\"type\":\"string\",\"description\":\"Refers to the Parent Merchant ID if the merchant being created is a sub-merchant\",\"maxLength\":255,\"example\":\"xkkdf909012sdjki2dkh5sdf\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/accounts/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
+                  "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Merchant Account\",\"required\":[\"merchant_id\"],\"properties\":{\"merchant_id\":{\"type\":\"string\",\"description\":\"The identifier for the Merchant Account.\",\"maxLength\":255,\"example\":\"y3oqhf46pyzuxjbcn2giaqnb44\"},\"api_key\":{\"type\":\"string\",\"description\":\"The public security key for accessing the APIs\",\"maxLength\":255,\"example\":\"xkkdf909012sdjki2dkh5sdf\"},\"merchant_name\":{\"type\":\"string\",\"description\":\"Name of the merchant\",\"example\":\"NewAge Retailer\"},\"merchant_details\":{\"type\":\"object\",\"description\":\"Details about the merchant including contact person, email, address, website, business description etc\",\"properties\":{\"primary_contact_person\":{\"type\":\"string\",\"description\":\"The merchant's primary contact name\",\"maxLength\":255,\"example\":\"John Test\"},\"primary_email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The merchant's primary email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"primary_phone\":{\"type\":\"string\",\"description\":\"The merchant's primary phone number\",\"maxLength\":255,\"example\":9999999999},\"secondary_contact_person\":{\"type\":\"string\",\"description\":\"The merchant's secondary contact name\",\"maxLength\":255,\"example\":\"John Test2\"},\"secondary_email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The merchant's secondary email address\",\"maxLength\":255,\"example\":\"JohnTest2@test.com\"},\"secondary_phone\":{\"type\":\"string\",\"description\":\"The merchant's secondary phone number\",\"maxLength\":255,\"example\":9999999998},\"website\":{\"type\":\"string\",\"description\":\"The business website of the merchant\",\"maxLength\":255,\"example\":\"www.example.com\"},\"about_business\":{\"type\":\"string\",\"description\":\"A brief description about merchant's business\",\"maxLength\":255,\"example\":\"Online Retail with a wide selection of organic products for North America\"},\"address\":{\"type\":\"object\",\"description\":\"The address for the merchant\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}}}},\"webhook_details\":{\"type\":\"object\",\"description\":\"The features for Webhook\",\"properties\":{\"webhook_version\":{\"type\":\"string\",\"description\":\"The version for Webhook\",\"maxLength\":255,\"example\":\"1.0.1\"},\"webhook_username\":{\"type\":\"string\",\"description\":\"The user name for Webhook login\",\"maxLength\":255,\"example\":\"ekart_retail\"},\"webhook_password\":{\"type\":\"string\",\"description\":\"The password for Webhook login\",\"maxLength\":255,\"example\":\"password_ekart@123\"},\"payment_created_enabled\":{\"type\":\"boolean\",\"description\":\"If this property is true, a webhook message is posted whenever a new payment is created\",\"example\":true},\"payment_succeeded_enabled\":{\"type\":\"boolean\",\"description\":\"If this property is true, a webhook message is posted whenever a payment is successful\",\"example\":true},\"payment_failed_enabled\":{\"type\":\"boolean\",\"description\":\"If this property is true, a webhook message is posted whenever a payment fails\",\"example\":true}}},\"routing_algorithm\":{\"type\":\"string\",\"description\":\"The routing algorithm to be used to process the incoming request from merchant to outgoing payment processor or payment method. The default is CUSTOM if\",\"enum\":[\"round_robin\",\"max_conversion\",\"min_cost\",\"custom\"],\"maxLength\":255,\"example\":\"custom\"},\"custom_routing_rules\":{\"type\":\"array\",\"description\":\"An array of custom routing rules\",\"items\":{\"properties\":{\"payment_methods_incl\":{\"type\":\"array\",\"description\":\"The List of payment methods to include for this routing rule\",\"items\":{\"type\":\"string\",\"enum\":[\"card\",\"wallet\",\"bank_debit\",\"bank_redirect\",\"bank_transfer\"],\"example\":\"card\"},\"example\":[\"card\",\"upi\"]},\"payment_methods_excl\":{\"type\":\"array\",\"description\":\"The List of payment methods to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"enum\":[\"card\",\"wallet\",\"bank_debit\",\"bank_redirect\",\"bank_transfer\"],\"example\":\"card\"},\"example\":[\"card\",\"upi\"]},\"payment_method_types_incl\":{\"type\":\"array\",\"description\":\"The List of payment method types to include for this routing rule\",\"items\":{\"type\":\"string\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\"],\"example\":\"credit_card\"},\"example\":[\"credit_card\",\"debit_card\"]},\"payment_method_types_excl\":{\"type\":\"array\",\"description\":\"The List of payment method types to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"enum\":[\"credit_card\",\"debit_card\",\"upi_intent\",\"upi_collect\"],\"example\":\"credit_card\"},\"example\":[\"credit_card\",\"debit_card\"]},\"payment_method_issuers_incl\":{\"type\":\"array\",\"description\":\"The List of payment method issuers to include for this routing rule\",\"items\":{\"type\":\"string\"},\"example\":[\"Citibank\",\"JPMorgan\"]},\"payment_method_issuers_excl\":{\"type\":\"array\",\"description\":\"The List of payment method issuers to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\"},\"example\":[\"Citibank\",\"JPMorgan\"]},\"countries_incl\":{\"type\":\"array\",\"description\":\"The List of countries to include for this routing rule\",\"items\":{\"type\":\"string\",\"description\":\"The two-letter ISO currency code\",\"maxLength\":2,\"minLength\":2,\"example\":\"US\"},\"example\":[\"US\",\"UK\",\"IN\"]},\"countries_excl\":{\"type\":\"array\",\"description\":\"The List of countries to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"description\":\"The two-letter ISO currency code\",\"maxLength\":2,\"minLength\":2,\"example\":\"US\"},\"example\":[\"US\",\"UK\",\"IN\"]},\"currencies_incl\":{\"type\":\"array\",\"description\":\"The List of currencies to include for this routing rule\",\"items\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\",\"maxLength\":3,\"minLength\":3,\"example\":\"USD\"},\"example\":[\"USD\",\"EUR\"]},\"currencies_excl\":{\"type\":\"array\",\"description\":\"The List of currencies to exclude for this routing rule. If there is conflict between include and exclude lists, include list overrides the exclude list.\",\"items\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\",\"maxLength\":3,\"minLength\":3,\"example\":\"USD\"},\"example\":[\"AED\",\"SGD\"]},\"metadata_filters_keys\":{\"type\":\"array\",\"description\":\"List of Metadata Filters to apply for the Routing Rule. The filters are presented as 2 arrays of keys and value. This property contains all the keys.\",\"items\":{\"type\":\"string\"},\"example\":[\"payments.udf1\",\"payments.udf2\"]},\"metadata_filters_values\":{\"type\":\"array\",\"description\":\"List of Metadata Filters to apply for the Routing Rule. The filters are presented as 2 arrays of keys and value. This property contains all the keys.\",\"items\":{\"type\":\"string\"},\"example\":[\"android\",\"Category_Electronics\"]},\"connectors_pecking_order\":{\"type\":\"array\",\"description\":\"The pecking order of payment connectors (or processors) to be used for routing. The first connector in the array will be attempted for routing. If it fails, the second connector will be used till the list is exhausted.\",\"items\":{\"type\":\"string\",\"description\":\"Unique name used for identifying the Connector\",\"enum\":[\"stripe\",\"adyen\",\"brain_tree\",\"dlocal\",\"cyber_source\"],\"example\":\"stripe\"},\"example\":[\"stripe\",\"adyen\",\"brain_tree\"]},\"connectors_traffic_weightage_key\":{\"type\":\"array\",\"description\":\"An Array of Connectors (as Keys) with the associated percentage of traffic to be routed through the given connector (Expressed as an array of values)\",\"items\":{\"type\":\"string\",\"description\":\"Unique name used for identifying the Connector\",\"enum\":[\"stripe\",\"adyen\",\"brain_tree\",\"dlocal\",\"cyber_source\"],\"example\":\"stripe\"},\"example\":[\"stripe\",\"adyen\",\"brain_tree\"]},\"connectors_traffic_weightage_value\":{\"type\":\"array\",\"description\":\"An Array of Weightage (expressed in percentage) that needs to be associated with the respective connectors (Expressed as an array of keys)\",\"items\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":100,\"example\":50},\"example\":[50,30,20]}},\"example\":[{\"payment_method_types_incl\":[\"credit_card\"],\"connectors_pecking_order\":[\"stripe\",\"adyen\",\"brain_tree\"]},{\"payment_method_types_incl\":[\"debit_card\"],\"connectors_traffic_weightage_key\":[\"stripe\",\"adyen\",\"brain_tree\"],\"connectors_traffic_weightage_value\":[50,30,20]}],\"type\":\"object\"}},\"sub_merchants_enabled\":{\"type\":\"boolean\",\"description\":\"A boolean value to indicate if the merchant is a sub-merchant under a master or a parent merchant. By default, its value is false.\",\"maxLength\":255,\"example\":false},\"parent_merchant_id\":{\"type\":\"string\",\"description\":\"Refers to the Parent Merchant ID if the merchant being created is a sub-merchant\",\"maxLength\":255,\"example\":\"xkkdf909012sdjki2dkh5sdf\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/accounts/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
                 ]
               }
             }
@@ -1538,7 +1548,7 @@
           }
         },
         {
-          "id": "47d157d2-d3bc-41ae-aaf1-227c53cfffec",
+          "id": "a4ff553b-0320-46a8-a4ea-21c5c7dc53c6",
           "name": "Merchant Account - Delete",
           "request": {
             "name": "Merchant Account - Delete",
@@ -1601,7 +1611,7 @@
             {
               "listen": "test",
               "script": {
-                "id": "d98ea87d-35a5-41ee-84ee-774ad225b634",
+                "id": "370159aa-15c8-46c0-a711-a9fa3c6c0f6d",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[DELETE]::/accounts/:id - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
@@ -1616,7 +1626,7 @@
       "event": []
     },
     {
-      "id": "d7022060-1d20-4f78-99b1-1eed70d48550",
+      "id": "bbfef2d4-df51-48ba-a91a-173e800b3743",
       "name": "Mandates",
       "description": {
         "content": "",
@@ -1624,7 +1634,7 @@
       },
       "item": [
         {
-          "id": "fbfeddae-e4fa-4336-917a-72f17ca5b617",
+          "id": "dcb4ea40-a49c-46f2-8916-84c80b0d97a7",
           "name": "Mandate - List all mandates against a customer id",
           "request": {
             "name": "Mandate - List all mandates against a customer id",
@@ -1650,7 +1660,7 @@
                     "type": "text/plain"
                   },
                   "type": "any",
-                  "value": "veniam Lore",
+                  "value": "quis",
                   "key": "customer_id"
                 }
               ]
@@ -1668,20 +1678,20 @@
             {
               "listen": "test",
               "script": {
-                "id": "30e68668-b297-4057-9fae-cae6d3a18f5b",
+                "id": "5f43fd86-994c-487b-8982-23bf44899d89",
                 "type": "text/javascript",
                 "exec": [
                   "// Validate status 2xx \npm.test(\"[GET]::/customers/:customer_id/mandates - Status code is 2xx\", function () {\n   pm.response.to.be.success;\n});\n",
                   "// Validate if response header has matching content-type\npm.test(\"[GET]::/customers/:customer_id/mandates - Content-Type is application/json\", function () {\n   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");\n});\n",
                   "// Validate if response has JSON Body \npm.test(\"[GET]::/customers/:customer_id/mandates - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                  "// Response Validation\nconst schema = {\"type\":\"array\",\"items\":{\"type\":\"object\",\"description\":\"Mandate Payment Create Response\",\"required\":[\"mandate_id\",\"status\",\"payment_method_id\"],\"properties\":{\"mandate_id\":{\"type\":\"string\",\"description\":\"The unique id corresponding to the mandate.\\n\",\"example\":\"mandate_end38934n12s923d0\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the mandate, which indicates whether it can be used to initiate a payment.\",\"enum\":[\"active\",\"inactive\",\"pending\",\"revoked\"],\"example\":\"active\"},\"type\":{\"type\":\"string\",\"description\":\"The type of the mandate. (i) single_use refers to one-time mandates and (ii) multi-user refers to multiple payments.\",\"enum\":[\"multi_use\",\"single_use\"],\"default\":\"multi_use\",\"example\":\"multi_use\"},\"payment_method_id\":{\"type\":\"string\",\"description\":\"The id corresponding to the payment method.\",\"example\":\"pm_end38934n12s923d0\"},\"payment_method\":{\"type\":\"string\",\"description\":\"The type of payment method use for the payment.\\n\",\"enum\":[\"card\",\"payment_container\",\"bank_transfer\",\"bank_debit\",\"pay_later\",\"upi\",\"netbanking\"],\"example\":\"card\"},\"card\":{\"description\":\"The card identifier information to be displayed on the user interface\",\"type\":\"object\",\"properties\":{\"last4_digits\":{\"type\":\"string\",\"description\":\"The last four digits of the case which could be displayed to the end user for identification.\",\"example\":\"xxxxxxxxxxxx4242\"},\"card_exp_month\":{\"type\":\"string\",\"description\":\"The expiry month for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"10\"},\"card_exp_year\":{\"type\":\"string\",\"description\":\"Expiry year for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"25\"},\"card_holder_name\":{\"type\":\"string\",\"description\":\"The name of card holder\",\"maxLength\":255,\"example\":\"Arun Raj\"},\"card_token\":{\"type\":\"string\",\"description\":\"The token provided against a user's saved card. The token would be valid for 15 minutes.\",\"minLength\":30,\"maxLength\":30,\"example\":\"tkn_78892490hfh3r834rd\"},\"scheme\":{\"type\":\"string\",\"description\":\"The card scheme network for the particular card\",\"example\":\"MASTER\"},\"issuer_country\":{\"type\":\"string\",\"description\":\"The country code in in which the card was issued\",\"minLength\":2,\"maxLength\":2,\"example\":\"US\"},\"card_fingerprint\":{\"type\":\"string\",\"description\":\"A unique identifier alias to identify a particular card.\",\"minLength\":30,\"maxLength\":30,\"example\":\"fpt_78892490hfh3r834rd\"}}},\"customer_acceptance\":{\"description\":\"The card identifier information to be displayed on the user interface\",\"type\":\"object\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/customers/:customer_id/mandates - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
+                  "// Response Validation\nconst schema = {\"type\":\"array\",\"items\":{\"type\":\"object\",\"description\":\"Mandate Payment Create Response\",\"required\":[\"mandate_id\",\"status\",\"payment_method_id\"],\"properties\":{\"mandate_id\":{\"type\":\"string\",\"description\":\"The unique id corresponding to the mandate.\\n\",\"example\":\"mandate_end38934n12s923d0\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the mandate, which indicates whether it can be used to initiate a payment.\",\"enum\":[\"active\",\"inactive\",\"pending\",\"revoked\"],\"example\":\"active\"},\"type\":{\"type\":\"string\",\"description\":\"The type of the mandate. (i) single_use refers to one-time mandates and (ii) multi-user refers to multiple payments.\",\"enum\":[\"multi_use\",\"single_use\"],\"default\":\"multi_use\",\"example\":\"multi_use\"},\"payment_method_id\":{\"type\":\"string\",\"description\":\"The id corresponding to the payment method.\",\"example\":\"pm_end38934n12s923d0\"},\"payment_method\":{\"type\":\"string\",\"description\":\"The type of payment method use for the payment.\\n\",\"enum\":[\"card\",\"payment_container\",\"bank_transfer\",\"bank_debit\",\"pay_later\",\"upi\",\"netbanking\"],\"example\":\"card\"},\"card\":{\"description\":\"The card identifier information to be displayed on the user interface\",\"type\":\"object\",\"properties\":{\"last4_digits\":{\"type\":\"string\",\"description\":\"The last four digits of the case which could be displayed to the end user for identification.\",\"example\":\"xxxxxxxxxxxx4242\"},\"card_exp_month\":{\"type\":\"string\",\"description\":\"The expiry month for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"10\"},\"card_exp_year\":{\"type\":\"string\",\"description\":\"Expiry year for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"25\"},\"card_holder_name\":{\"type\":\"string\",\"description\":\"The name of card holder\",\"maxLength\":255,\"example\":\"John Doe\"},\"card_token\":{\"type\":\"string\",\"description\":\"The token provided against a user's saved card. The token would be valid for 15 minutes.\",\"minLength\":30,\"maxLength\":30,\"example\":\"tkn_78892490hfh3r834rd\"},\"scheme\":{\"type\":\"string\",\"description\":\"The card scheme network for the particular card\",\"example\":\"MASTER\"},\"issuer_country\":{\"type\":\"string\",\"description\":\"The country code in in which the card was issued\",\"minLength\":2,\"maxLength\":2,\"example\":\"US\"},\"card_fingerprint\":{\"type\":\"string\",\"description\":\"A unique identifier alias to identify a particular card.\",\"minLength\":30,\"maxLength\":30,\"example\":\"fpt_78892490hfh3r834rd\"}}},\"customer_acceptance\":{\"description\":\"The card identifier information to be displayed on the user interface\",\"type\":\"object\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/customers/:customer_id/mandates - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n"
                 ]
               }
             }
           ]
         },
         {
-          "id": "8ce11137-8d52-4a63-9e98-afc42cc4caf4",
+          "id": "7054ad26-0980-48bc-a5fb-b2f0165e3fcd",
           "name": "Mandate - List details of a mandate",
           "request": {
             "name": "Mandate - List details of a mandate",
@@ -1706,7 +1716,7 @@
                     "type": "text/plain"
                   },
                   "type": "any",
-                  "value": "veniam Lore",
+                  "value": "quis",
                   "key": "id"
                 }
               ]
@@ -1723,7 +1733,7 @@
           "event": []
         },
         {
-          "id": "71172ec5-bf8c-4cb8-bcd6-f221380ced9c",
+          "id": "bbda468d-0e3d-43ec-be80-e74c06219e66",
           "name": "Mandate - Revoke a mandate",
           "request": {
             "name": "Mandate - Revoke a mandate",
@@ -1749,7 +1759,7 @@
                     "type": "text/plain"
                   },
                   "type": "any",
-                  "value": "veniam Lore",
+                  "value": "quis",
                   "key": "id"
                 }
               ]
@@ -1769,7 +1779,7 @@
       "event": []
     },
     {
-      "id": "643b764e-1758-4b20-9efe-703316a66725",
+      "id": "babd6939-5fe4-436a-aec0-14b7e76c4864",
       "name": "PaymentConnectors",
       "description": {
         "content": "",
@@ -1777,12 +1787,12 @@
       },
       "item": [
         {
-          "id": "2a736ff9-27f7-4fc9-afca-31d72567c409",
+          "id": "1eaa09d1-c9f6-4c12-8b62-ec05e526147e",
           "name": "Payment Connector - Create",
           "request": {
             "name": "Payment Connector - Create",
             "description": {
-              "content": "Create a new Payment Connector for the merchant account. The connector could be a payment processor / facilitator / acquirer or specialised services like Fraud / Accounting etc.",
+              "content": "Create a new Payment Connector for the merchant account. The connector could be a payment processor / facilitator / acquirer or specialized services like Fraud / Accounting etc.",
               "type": "text/plain"
             },
             "url": {
@@ -1803,8 +1813,8 @@
                     "type": "text/plain"
                   },
                   "type": "any",
-                  "value": "veniam Lore",
-                  "key": "id"
+                  "value": "quis",
+                  "key": "account_id"
                 }
               ]
             },
@@ -1821,7 +1831,7 @@
             "method": "POST",
             "body": {
               "mode": "raw",
-              "raw": "{\n  \"merchant_id\": \"y3oqhf46pyzuxjbcn2giaqnb44\",\n  \"connector_type\": \"banking_entities\",\n  \"connector_name\": \"stripe\",\n  \"connector_account_details\": {\n    \"api_key\": \"Basic c2tfdGVzdF81MUtsb1cxSFl5clBtWlJyeTlkdjB6VXZ4UVkxcUx2R3RxRlQ5WVgwNXpIQ1pIaVFQeURYWjhIM3QxbG5RR2NGWmtjMk1FNTNDTEk1MmxOMGZSanNoMGdiczAwbHNmV3hTVW46\"\n  },\n  \"test_mode\": false,\n  \"disabled\": false,\n  \"payment_methods_enabled\": [\n    {\n      \"payment_methods\": \"bank_transfer\",\n      \"payment_method_types\": [\n        \"credit_card\",\n        \"upi_intent\"\n      ],\n      \"payment_method_issuers\": [\n        \"incididunt\",\n        \"cupidatat dolore aute consequat\"\n      ],\n      \"payment_schemes\": [\n        \"Discover\",\n        \"Discover\"\n      ],\n      \"accepted_currencies\": [\n        \"qui\",\n        \"pro\"\n      ],\n      \"accepted_countries\": [\n        \"re\",\n        \"do\"\n      ],\n      \"minimum_amount\": 1,\n      \"maximum_amount\": -82901816,\n      \"recurring_enabled\": true,\n      \"installment_payment_enabled\": true,\n      \"payment_experience\": [\n        {\n          \"redirect_to_url\": \"https://pg-redirect-page.com\",\n          \"display_qr_code\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\",\n          \"invoke_payment_app\": {\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"invoke_sdk_client\": {\n            \"sdk_name\": \"gpay\",\n            \"sdk_params\": {\n              \"param1\": \"value\",\n              \"param2\": \"value\"\n            },\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"trigger_api\": {\n            \"api_name\": \"submit_otp\",\n            \"doc\": \"https://router.juspay.io/api-reference/submit_otp\"\n          }\n        },\n        {\n          \"redirect_to_url\": \"https://pg-redirect-page.com\",\n          \"display_qr_code\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\",\n          \"invoke_payment_app\": {\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"invoke_sdk_client\": {\n            \"sdk_name\": \"gpay\",\n            \"sdk_params\": {\n              \"param1\": \"value\",\n              \"param2\": \"value\"\n            },\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"trigger_api\": {\n            \"api_name\": \"submit_otp\",\n            \"doc\": \"https://router.juspay.io/api-reference/submit_otp\"\n          }\n        }\n      ]\n    },\n    {\n      \"payment_methods\": \"card\",\n      \"payment_method_types\": [\n        \"debit_card\",\n        \"credit_card\"\n      ],\n      \"payment_method_issuers\": [\n        \"sed laboris ut reprehenderit aliqua\",\n        \"laboris ut\"\n      ],\n      \"payment_schemes\": [\n        \"AMEX\",\n        \"AMEX\"\n      ],\n      \"accepted_currencies\": [\n        \"vel\",\n        \"inE\"\n      ],\n      \"accepted_countries\": [\n        \"pa\",\n        \"ei\"\n      ],\n      \"minimum_amount\": 1,\n      \"maximum_amount\": -14074091,\n      \"recurring_enabled\": true,\n      \"installment_payment_enabled\": true,\n      \"payment_experience\": [\n        {\n          \"redirect_to_url\": \"https://pg-redirect-page.com\",\n          \"display_qr_code\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\",\n          \"invoke_payment_app\": {\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"invoke_sdk_client\": {\n            \"sdk_name\": \"gpay\",\n            \"sdk_params\": {\n              \"param1\": \"value\",\n              \"param2\": \"value\"\n            },\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"trigger_api\": {\n            \"api_name\": \"submit_otp\",\n            \"doc\": \"https://router.juspay.io/api-reference/submit_otp\"\n          }\n        },\n        {\n          \"redirect_to_url\": \"https://pg-redirect-page.com\",\n          \"display_qr_code\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\",\n          \"invoke_payment_app\": {\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"invoke_sdk_client\": {\n            \"sdk_name\": \"gpay\",\n            \"sdk_params\": {\n              \"param1\": \"value\",\n              \"param2\": \"value\"\n            },\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"trigger_api\": {\n            \"api_name\": \"submit_otp\",\n            \"doc\": \"https://router.juspay.io/api-reference/submit_otp\"\n          }\n        }\n      ]\n    }\n  ],\n  \"metadata\": {\n    \"city\": \"NY\",\n    \"unit\": \"245\"\n  }\n}",
+              "raw": "{\n  \"merchant_id\": \"y3oqhf46pyzuxjbcn2giaqnb44\",\n  \"connector_type\": \"payment_vas\",\n  \"connector_name\": \"stripe\",\n  \"connector_account_details\": {\n    \"api_key\": \"Basic MyVerySecretApiKey\"\n  },\n  \"test_mode\": false,\n  \"disabled\": false,\n  \"payment_methods_enabled\": [\n    {\n      \"payment_method\": \"card\",\n      \"payment_method_types\": [\n        \"upi_intent\",\n        \"upi_intent\"\n      ],\n      \"payment_method_issuers\": [\n        \"magna laboris et\",\n        \"ex occaecat velit exercitation\"\n      ],\n      \"payment_schemes\": [\n        \"Discover\",\n        \"AMEX\"\n      ],\n      \"accepted_currencies\": [\n        \"inc\",\n        \"in \"\n      ],\n      \"accepted_countries\": [\n        \"in\",\n        \"fu\"\n      ],\n      \"minimum_amount\": 1,\n      \"maximum_amount\": -40793123,\n      \"recurring_enabled\": true,\n      \"installment_payment_enabled\": true,\n      \"payment_experience\": [\n        {\n          \"redirect_to_url\": \"https://pg-redirect-page.com\",\n          \"display_qr_code\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\",\n          \"invoke_payment_app\": {\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"invoke_sdk_client\": {\n            \"sdk_name\": \"gpay\",\n            \"sdk_params\": {\n              \"param1\": \"value\",\n              \"param2\": \"value\"\n            },\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"trigger_api\": {\n            \"api_name\": \"submit_otp\",\n            \"doc\": \"https://router.juspay.io/api-reference/submit_otp\"\n          }\n        },\n        {\n          \"redirect_to_url\": \"https://pg-redirect-page.com\",\n          \"display_qr_code\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\",\n          \"invoke_payment_app\": {\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"invoke_sdk_client\": {\n            \"sdk_name\": \"gpay\",\n            \"sdk_params\": {\n              \"param1\": \"value\",\n              \"param2\": \"value\"\n            },\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"trigger_api\": {\n            \"api_name\": \"submit_otp\",\n            \"doc\": \"https://router.juspay.io/api-reference/submit_otp\"\n          }\n        }\n      ]\n    },\n    {\n      \"payment_method\": \"card\",\n      \"payment_method_types\": [\n        \"debit_card\",\n        \"debit_card\"\n      ],\n      \"payment_method_issuers\": [\n        \"irure pariatur officia anim\",\n        \"id non incidid\"\n      ],\n      \"payment_schemes\": [\n        \"Discover\",\n        \"AMEX\"\n      ],\n      \"accepted_currencies\": [\n        \"Lor\",\n        \"fug\"\n      ],\n      \"accepted_countries\": [\n        \"el\",\n        \"si\"\n      ],\n      \"minimum_amount\": 1,\n      \"maximum_amount\": -53035600,\n      \"recurring_enabled\": true,\n      \"installment_payment_enabled\": true,\n      \"payment_experience\": [\n        {\n          \"redirect_to_url\": \"https://pg-redirect-page.com\",\n          \"display_qr_code\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\",\n          \"invoke_payment_app\": {\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"invoke_sdk_client\": {\n            \"sdk_name\": \"gpay\",\n            \"sdk_params\": {\n              \"param1\": \"value\",\n              \"param2\": \"value\"\n            },\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"trigger_api\": {\n            \"api_name\": \"submit_otp\",\n            \"doc\": \"https://router.juspay.io/api-reference/submit_otp\"\n          }\n        },\n        {\n          \"redirect_to_url\": \"https://pg-redirect-page.com\",\n          \"display_qr_code\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\",\n          \"invoke_payment_app\": {\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"invoke_sdk_client\": {\n            \"sdk_name\": \"gpay\",\n            \"sdk_params\": {\n              \"param1\": \"value\",\n              \"param2\": \"value\"\n            },\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"trigger_api\": {\n            \"api_name\": \"submit_otp\",\n            \"doc\": \"https://router.juspay.io/api-reference/submit_otp\"\n          }\n        }\n      ]\n    }\n  ],\n  \"metadata\": {\n    \"city\": \"NY\",\n    \"unit\": \"245\"\n  }\n}",
               "options": {
                 "raw": {
                   "language": "json"
@@ -1856,7 +1866,7 @@
           }
         },
         {
-          "id": "a4a332bf-c130-47d2-b7ee-6813d8718064",
+          "id": "efa0d343-258a-4bec-9ead-8f9e3f61b26c",
           "name": "Payment Connector - Retrieve",
           "request": {
             "name": "Payment Connector - Retrieve",
@@ -1883,7 +1893,7 @@
                     "type": "text/plain"
                   },
                   "type": "any",
-                  "value": "veniam Lore",
+                  "value": "quis",
                   "key": "account_id"
                 },
                 {
@@ -1893,7 +1903,7 @@
                     "type": "text/plain"
                   },
                   "type": "any",
-                  "value": "veniam Lore",
+                  "value": "quis",
                   "key": "connector_id"
                 }
               ]
@@ -1930,12 +1940,12 @@
           "event": []
         },
         {
-          "id": "a69a6a42-9da7-4d46-aada-6ac714540119",
+          "id": "194779d0-0956-4c32-b403-1def62eea514",
           "name": "Payment Connector - Update",
           "request": {
             "name": "Payment Connector - Update",
             "description": {
-              "content": "To update an existng Payment Connector. Helpful in enabling / disabling different payment methods and other settings for the connector etc",
+              "content": "To update an existing Payment Connector. Helpful in enabling / disabling different payment methods and other settings for the connector etc",
               "type": "text/plain"
             },
             "url": {
@@ -1957,7 +1967,7 @@
                     "type": "text/plain"
                   },
                   "type": "any",
-                  "value": "veniam Lore",
+                  "value": "quis",
                   "key": "id1"
                 },
                 {
@@ -1967,7 +1977,7 @@
                     "type": "text/plain"
                   },
                   "type": "any",
-                  "value": "veniam Lore",
+                  "value": "quis",
                   "key": "id2"
                 }
               ]
@@ -1985,7 +1995,7 @@
             "method": "POST",
             "body": {
               "mode": "raw",
-              "raw": "{\n  \"merchant_id\": \"y3oqhf46pyzuxjbcn2giaqnb44\",\n  \"connector_type\": \"payment_vas\",\n  \"connector_name\": \"stripe\",\n  \"connector_id\": -18258249,\n  \"connector_account_details\": {\n    \"processing_fee\": \"2.0%\",\n    \"billing_currency\": \"USD\"\n  },\n  \"test_mode\": false,\n  \"disabled\": false,\n  \"payment_methods\": [\n    {\n      \"payment_methods\": \"wallet\",\n      \"payment_method_types\": [\n        \"upi_intent\",\n        \"debit_card\"\n      ],\n      \"payment_method_issuers\": [\n        \"aliquip voluptate sin\",\n        \"do ullamco\"\n      ],\n      \"payment_schemes\": [\n        \"AMEX\",\n        \"AMEX\"\n      ],\n      \"accepted_currencies\": [\n        \"do \",\n        \"ull\"\n      ],\n      \"accepted_countries\": [\n        \"pa\",\n        \"ma\"\n      ],\n      \"minimum_amount\": 1,\n      \"maximum_amount\": -20183884,\n      \"recurring_enabled\": true,\n      \"installment_payment_enabled\": true,\n      \"payment_experience\": [\n        {\n          \"redirect_to_url\": \"https://pg-redirect-page.com\",\n          \"display_qr_code\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\",\n          \"invoke_payment_app\": {\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"invoke_sdk_client\": {\n            \"sdk_name\": \"gpay\",\n            \"sdk_params\": {\n              \"param1\": \"value\",\n              \"param2\": \"value\"\n            },\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"trigger_api\": {\n            \"api_name\": \"submit_otp\",\n            \"doc\": \"https://router.juspay.io/api-reference/submit_otp\"\n          }\n        },\n        {\n          \"redirect_to_url\": \"https://pg-redirect-page.com\",\n          \"display_qr_code\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\",\n          \"invoke_payment_app\": {\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"invoke_sdk_client\": {\n            \"sdk_name\": \"gpay\",\n            \"sdk_params\": {\n              \"param1\": \"value\",\n              \"param2\": \"value\"\n            },\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"trigger_api\": {\n            \"api_name\": \"submit_otp\",\n            \"doc\": \"https://router.juspay.io/api-reference/submit_otp\"\n          }\n        }\n      ]\n    },\n    {\n      \"payment_methods\": \"wallet\",\n      \"payment_method_types\": [\n        \"upi_collect\",\n        \"credit_card\"\n      ],\n      \"payment_method_issuers\": [\n        \"cillum ex do\",\n        \"irure laborum Excepteur\"\n      ],\n      \"payment_schemes\": [\n        \"Discover\",\n        \"Discover\"\n      ],\n      \"accepted_currencies\": [\n        \"cul\",\n        \"ven\"\n      ],\n      \"accepted_countries\": [\n        \"Du\",\n        \"en\"\n      ],\n      \"minimum_amount\": 1,\n      \"maximum_amount\": -17444765,\n      \"recurring_enabled\": true,\n      \"installment_payment_enabled\": true,\n      \"payment_experience\": [\n        {\n          \"redirect_to_url\": \"https://pg-redirect-page.com\",\n          \"display_qr_code\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\",\n          \"invoke_payment_app\": {\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"invoke_sdk_client\": {\n            \"sdk_name\": \"gpay\",\n            \"sdk_params\": {\n              \"param1\": \"value\",\n              \"param2\": \"value\"\n            },\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"trigger_api\": {\n            \"api_name\": \"submit_otp\",\n            \"doc\": \"https://router.juspay.io/api-reference/submit_otp\"\n          }\n        },\n        {\n          \"redirect_to_url\": \"https://pg-redirect-page.com\",\n          \"display_qr_code\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\",\n          \"invoke_payment_app\": {\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"invoke_sdk_client\": {\n            \"sdk_name\": \"gpay\",\n            \"sdk_params\": {\n              \"param1\": \"value\",\n              \"param2\": \"value\"\n            },\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"trigger_api\": {\n            \"api_name\": \"submit_otp\",\n            \"doc\": \"https://router.juspay.io/api-reference/submit_otp\"\n          }\n        }\n      ]\n    }\n  ],\n  \"metadata\": {\n    \"city\": \"NY\",\n    \"unit\": \"245\"\n  }\n}",
+              "raw": "{\n  \"merchant_id\": \"y3oqhf46pyzuxjbcn2giaqnb44\",\n  \"connector_type\": \"fin_operations\",\n  \"connector_name\": \"stripe\",\n  \"connector_id\": 19213930,\n  \"connector_account_details\": {\n    \"processing_fee\": \"2.0%\",\n    \"billing_currency\": \"USD\"\n  },\n  \"test_mode\": false,\n  \"disabled\": false,\n  \"payment_methods\": [\n    {\n      \"payment_method\": \"card\",\n      \"payment_method_types\": [\n        \"upi_collect\",\n        \"upi_intent\"\n      ],\n      \"payment_method_issuers\": [\n        \"est ut velit\",\n        \"minim in\"\n      ],\n      \"payment_schemes\": [\n        \"AMEX\",\n        \"MasterCard\"\n      ],\n      \"accepted_currencies\": [\n        \"con\",\n        \"ess\"\n      ],\n      \"accepted_countries\": [\n        \"in\",\n        \"qu\"\n      ],\n      \"minimum_amount\": 1,\n      \"maximum_amount\": -52927105,\n      \"recurring_enabled\": true,\n      \"installment_payment_enabled\": true,\n      \"payment_experience\": [\n        {\n          \"redirect_to_url\": \"https://pg-redirect-page.com\",\n          \"display_qr_code\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\",\n          \"invoke_payment_app\": {\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"invoke_sdk_client\": {\n            \"sdk_name\": \"gpay\",\n            \"sdk_params\": {\n              \"param1\": \"value\",\n              \"param2\": \"value\"\n            },\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"trigger_api\": {\n            \"api_name\": \"submit_otp\",\n            \"doc\": \"https://router.juspay.io/api-reference/submit_otp\"\n          }\n        },\n        {\n          \"redirect_to_url\": \"https://pg-redirect-page.com\",\n          \"display_qr_code\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\",\n          \"invoke_payment_app\": {\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"invoke_sdk_client\": {\n            \"sdk_name\": \"gpay\",\n            \"sdk_params\": {\n              \"param1\": \"value\",\n              \"param2\": \"value\"\n            },\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"trigger_api\": {\n            \"api_name\": \"submit_otp\",\n            \"doc\": \"https://router.juspay.io/api-reference/submit_otp\"\n          }\n        }\n      ]\n    },\n    {\n      \"payment_method\": \"card\",\n      \"payment_method_types\": [\n        \"credit_card\",\n        \"credit_card\"\n      ],\n      \"payment_method_issuers\": [\n        \"aute sed ipsum dolor\",\n        \"cillum nulla\"\n      ],\n      \"payment_schemes\": [\n        \"Discover\",\n        \"VISA\"\n      ],\n      \"accepted_currencies\": [\n        \"min\",\n        \"exe\"\n      ],\n      \"accepted_countries\": [\n        \"nu\",\n        \"no\"\n      ],\n      \"minimum_amount\": 1,\n      \"maximum_amount\": 87381726,\n      \"recurring_enabled\": true,\n      \"installment_payment_enabled\": true,\n      \"payment_experience\": [\n        {\n          \"redirect_to_url\": \"https://pg-redirect-page.com\",\n          \"display_qr_code\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\",\n          \"invoke_payment_app\": {\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"invoke_sdk_client\": {\n            \"sdk_name\": \"gpay\",\n            \"sdk_params\": {\n              \"param1\": \"value\",\n              \"param2\": \"value\"\n            },\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"trigger_api\": {\n            \"api_name\": \"submit_otp\",\n            \"doc\": \"https://router.juspay.io/api-reference/submit_otp\"\n          }\n        },\n        {\n          \"redirect_to_url\": \"https://pg-redirect-page.com\",\n          \"display_qr_code\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\",\n          \"invoke_payment_app\": {\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"invoke_sdk_client\": {\n            \"sdk_name\": \"gpay\",\n            \"sdk_params\": {\n              \"param1\": \"value\",\n              \"param2\": \"value\"\n            },\n            \"intent_uri\": \"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"\n          },\n          \"trigger_api\": {\n            \"api_name\": \"submit_otp\",\n            \"doc\": \"https://router.juspay.io/api-reference/submit_otp\"\n          }\n        }\n      ]\n    }\n  ],\n  \"metadata\": {\n    \"city\": \"NY\",\n    \"unit\": \"245\"\n  }\n}",
               "options": {
                 "raw": {
                   "language": "json"
@@ -2020,7 +2030,7 @@
           }
         },
         {
-          "id": "6b024fbd-3309-40b2-bfe5-a4c6f418a2aa",
+          "id": "8116dff0-00c7-401d-91c9-02ef0bcbc1b4",
           "name": "Payment Connector - Delete",
           "request": {
             "name": "Payment Connector - Delete",
@@ -2047,7 +2057,7 @@
                     "type": "text/plain"
                   },
                   "type": "any",
-                  "value": "veniam Lore",
+                  "value": "quis",
                   "key": "id1"
                 },
                 {
@@ -2057,7 +2067,7 @@
                     "type": "text/plain"
                   },
                   "type": "any",
-                  "value": "veniam Lore",
+                  "value": "quis",
                   "key": "id2"
                 }
               ]
@@ -2097,15 +2107,15 @@
       "event": []
     },
     {
-      "id": "a1dc62a9-2028-44c3-9b1d-8dbbff474f82",
+      "id": "a7838230-1c06-434c-9ac6-caa429507842",
       "name": "Variation Tests",
       "item": [
         {
-          "id": "5f2b0213-2a2c-46a1-9e6a-8017c1d56965",
+          "id": "13849e83-d5ea-4be9-bb20-9cb6974dd227",
           "name": "Customers Variations",
           "item": [
             {
-              "id": "56fd6f19-6cd7-45d7-bd56-09d4a3a1ddfb",
+              "id": "6c2b163a-eb7c-4c3d-bede-11ac929cc9a3",
               "name": "Create Customer[Verify customer creation]",
               "request": {
                 "name": "Create Customer[Verify customer creation]",
@@ -2149,43 +2159,58 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "83cf98cb-7403-48a4-98a0-0f112bd1d9d6",
+                    "id": "75061f65-0508-4ab7-9e1e-e9e2dc815a0a",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/customers - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/customers - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":\"string\",\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone_country_code\":{\"type\":\"object\",\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":65},\"phone\":{\"type\":\"object\",\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"address\":{\"type\":\"object\",\"description\":\"The address for the customer\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"description\":{\"type\":\"object\",\"description\":\"An arbitrary string that you can attach to a customer object.\",\"maxLength\":255,\"example\":\"First customer\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/customers - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":\"string\",\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone_country_code\":{\"type\":\"object\",\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":65},\"phone\":{\"type\":\"object\",\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"address\":{\"type\":\"object\",\"description\":\"The address for the customer\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"description\":{\"type\":\"object\",\"description\":\"An arbitrary string that you can attach to a customer object.\",\"maxLength\":255,\"example\":\"First customer\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/customers - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"customer_id\"\npm.test(\"[POST]::/customers - Content check if 'customer_id' exists\", function() {\n   pm.expect((typeof jsonData.customer_id !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"CustomerNew1\" for \"customer_id\"\nif (jsonData?.customer_id) {\npm.test(\"[POST]::/customers - Content check if value for 'customer_id' matches 'CustomerNew1'\", function() {\n  pm.expect(jsonData.customer_id).to.eql(\"CustomerNew1\");\n})};\n",
-                      "// Response body should have \"name\"\npm.test(\"[POST]::/customers - Content check if 'name' exists\", function() {\n   pm.expect((typeof jsonData.name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"John Doe\" for \"name\"\nif (jsonData?.name) {\npm.test(\"[POST]::/customers - Content check if value for 'name' matches 'John Doe'\", function() {\n  pm.expect(jsonData.name).to.eql(\"John Doe\");\n})};\n",
-                      "// Response body should have \"phone\"\npm.test(\"[POST]::/customers - Content check if 'phone' exists\", function() {\n   pm.expect((typeof jsonData.phone !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"999999999\" for \"phone\"\nif (jsonData?.phone) {\npm.test(\"[POST]::/customers - Content check if value for 'phone' matches '999999999'\", function() {\n  pm.expect(jsonData.phone).to.eql(\"999999999\");\n})};\n",
-                      "// Response body should have \"email\"\npm.test(\"[POST]::/customers - Content check if 'email' exists\", function() {\n   pm.expect((typeof jsonData.email !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"guest@example.com\" for \"email\"\nif (jsonData?.email) {\npm.test(\"[POST]::/customers - Content check if value for 'email' matches 'guest@example.com'\", function() {\n  pm.expect(jsonData.email).to.eql(\"guest@example.com\");\n})};\n",
-                      "// Response body should have \"description\"\npm.test(\"[POST]::/customers - Content check if 'description' exists\", function() {\n   pm.expect((typeof jsonData.description !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"First customer\" for \"description\"\nif (jsonData?.description) {\npm.test(\"[POST]::/customers - Content check if value for 'description' matches 'First customer'\", function() {\n  pm.expect(jsonData.description).to.eql(\"First customer\");\n})};\n",
-                      "// Response body should have \"address.city\"\npm.test(\"[POST]::/customers - Content check if 'address.city' exists\", function() {\n   pm.expect((typeof jsonData.address.city !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Bangalore\" for \"address.city\"\nif (jsonData?.address?.city) {\npm.test(\"[POST]::/customers - Content check if value for 'address.city' matches 'Bangalore'\", function() {\n  pm.expect(jsonData.address.city).to.eql(\"Bangalore\");\n})};\n",
-                      "// Response body should have \"address.country\"\npm.test(\"[POST]::/customers - Content check if 'address.country' exists\", function() {\n   pm.expect((typeof jsonData.address.country !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"India\" for \"address.country\"\nif (jsonData?.address?.country) {\npm.test(\"[POST]::/customers - Content check if value for 'address.country' matches 'India'\", function() {\n  pm.expect(jsonData.address.country).to.eql(\"India\");\n})};\n",
-                      "// Response body should have \"address.line1\"\npm.test(\"[POST]::/customers - Content check if 'address.line1' exists\", function() {\n   pm.expect((typeof jsonData.address.line1 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Juspay router\" for \"address.line1\"\nif (jsonData?.address?.line1) {\npm.test(\"[POST]::/customers - Content check if value for 'address.line1' matches 'Juspay router'\", function() {\n  pm.expect(jsonData.address.line1).to.eql(\"Juspay router\");\n})};\n",
-                      "// Response body should have \"address.line2\"\npm.test(\"[POST]::/customers - Content check if 'address.line2' exists\", function() {\n   pm.expect((typeof jsonData.address.line2 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Koramangala\" for \"address.line2\"\nif (jsonData?.address?.line2) {\npm.test(\"[POST]::/customers - Content check if value for 'address.line2' matches 'Koramangala'\", function() {\n  pm.expect(jsonData.address.line2).to.eql(\"Koramangala\");\n})};\n",
-                      "// Response body should have \"address.line3\"\npm.test(\"[POST]::/customers - Content check if 'address.line3' exists\", function() {\n   pm.expect((typeof jsonData.address.line3 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Stallion\" for \"address.line3\"\nif (jsonData?.address?.line3) {\npm.test(\"[POST]::/customers - Content check if value for 'address.line3' matches 'Stallion'\", function() {\n  pm.expect(jsonData.address.line3).to.eql(\"Stallion\");\n})};\n",
-                      "// Response body should have \"address.state\"\npm.test(\"[POST]::/customers - Content check if 'address.state' exists\", function() {\n   pm.expect((typeof jsonData.address.state !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Karnataka\" for \"address.state\"\nif (jsonData?.address?.state) {\npm.test(\"[POST]::/customers - Content check if value for 'address.state' matches 'Karnataka'\", function() {\n  pm.expect(jsonData.address.state).to.eql(\"Karnataka\");\n})};\n",
-                      "// Response body should have \"address.zip\"\npm.test(\"[POST]::/customers - Content check if 'address.zip' exists\", function() {\n   pm.expect((typeof jsonData.address.zip !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"560095\" for \"address.zip\"\nif (jsonData?.address?.zip) {\npm.test(\"[POST]::/customers - Content check if value for 'address.zip' matches '560095'\", function() {\n  pm.expect(jsonData.address.zip).to.eql(\"560095\");\n})};\n",
-                      "// Response body should have \"address.first_name\"\npm.test(\"[POST]::/customers - Content check if 'address.first_name' exists\", function() {\n   pm.expect((typeof jsonData.address.first_name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"John\" for \"address.first_name\"\nif (jsonData?.address?.first_name) {\npm.test(\"[POST]::/customers - Content check if value for 'address.first_name' matches 'John'\", function() {\n  pm.expect(jsonData.address.first_name).to.eql(\"John\");\n})};\n",
-                      "// Response body should have \"address.last_name\"\npm.test(\"[POST]::/customers - Content check if 'address.last_name' exists\", function() {\n   pm.expect((typeof jsonData.address.last_name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Doe\" for \"address.last_name\"\nif (jsonData?.address?.last_name) {\npm.test(\"[POST]::/customers - Content check if value for 'address.last_name' matches 'Doe'\", function() {\n  pm.expect(jsonData.address.last_name).to.eql(\"Doe\");\n})};\n",
-                      "// Response body should have \"phone_country_code\"\npm.test(\"[POST]::/customers - Content check if 'phone_country_code' exists\", function() {\n   pm.expect((typeof jsonData.phone_country_code !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"+65\" for \"phone_country_code\"\nif (jsonData?.phone_country_code) {\npm.test(\"[POST]::/customers - Content check if value for 'phone_country_code' matches '+65'\", function() {\n  pm.expect(jsonData.phone_country_code).to.eql(\"+65\");\n})};\n"
+                      "// Set property value as variable\nconst _resCustomerId = jsonData?.customer_id;\n",
+                      "// Response body should have \"customer_id\"\npm.test(\"[POST]::/customers - Content check if 'customer_id' exists\", function() {\n   pm.expect(_resCustomerId !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"CustomerNew1\" for \"customer_id\"\nif (_resCustomerId !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'customer_id' matches 'CustomerNew1'\", function() {\n  pm.expect(_resCustomerId).to.eql(\"CustomerNew1\");\n})};\n",
+                      "// Set property value as variable\nconst _resName = jsonData?.name;\n",
+                      "// Response body should have \"name\"\npm.test(\"[POST]::/customers - Content check if 'name' exists\", function() {\n   pm.expect(_resName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"John Doe\" for \"name\"\nif (_resName !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'name' matches 'John Doe'\", function() {\n  pm.expect(_resName).to.eql(\"John Doe\");\n})};\n",
+                      "// Set property value as variable\nconst _resPhone = jsonData?.phone;\n",
+                      "// Response body should have \"phone\"\npm.test(\"[POST]::/customers - Content check if 'phone' exists\", function() {\n   pm.expect(_resPhone !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"999999999\" for \"phone\"\nif (_resPhone !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'phone' matches '999999999'\", function() {\n  pm.expect(_resPhone).to.eql(\"999999999\");\n})};\n",
+                      "// Set property value as variable\nconst _resEmail = jsonData?.email;\n",
+                      "// Response body should have \"email\"\npm.test(\"[POST]::/customers - Content check if 'email' exists\", function() {\n   pm.expect(_resEmail !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"guest@example.com\" for \"email\"\nif (_resEmail !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'email' matches 'guest@example.com'\", function() {\n  pm.expect(_resEmail).to.eql(\"guest@example.com\");\n})};\n",
+                      "// Set property value as variable\nconst _resDescription = jsonData?.description;\n",
+                      "// Response body should have \"description\"\npm.test(\"[POST]::/customers - Content check if 'description' exists\", function() {\n   pm.expect(_resDescription !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"First customer\" for \"description\"\nif (_resDescription !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'description' matches 'First customer'\", function() {\n  pm.expect(_resDescription).to.eql(\"First customer\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressCity = jsonData?.address?.city;\n",
+                      "// Response body should have \"address.city\"\npm.test(\"[POST]::/customers - Content check if 'address.city' exists\", function() {\n   pm.expect(_resAddressCity !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Bangalore\" for \"address.city\"\nif (_resAddressCity !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.city' matches 'Bangalore'\", function() {\n  pm.expect(_resAddressCity).to.eql(\"Bangalore\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressCountry = jsonData?.address?.country;\n",
+                      "// Response body should have \"address.country\"\npm.test(\"[POST]::/customers - Content check if 'address.country' exists\", function() {\n   pm.expect(_resAddressCountry !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"India\" for \"address.country\"\nif (_resAddressCountry !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.country' matches 'India'\", function() {\n  pm.expect(_resAddressCountry).to.eql(\"India\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine1 = jsonData?.address?.line1;\n",
+                      "// Response body should have \"address.line1\"\npm.test(\"[POST]::/customers - Content check if 'address.line1' exists\", function() {\n   pm.expect(_resAddressLine1 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Juspay router\" for \"address.line1\"\nif (_resAddressLine1 !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.line1' matches 'Juspay router'\", function() {\n  pm.expect(_resAddressLine1).to.eql(\"Juspay router\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine2 = jsonData?.address?.line2;\n",
+                      "// Response body should have \"address.line2\"\npm.test(\"[POST]::/customers - Content check if 'address.line2' exists\", function() {\n   pm.expect(_resAddressLine2 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Koramangala\" for \"address.line2\"\nif (_resAddressLine2 !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.line2' matches 'Koramangala'\", function() {\n  pm.expect(_resAddressLine2).to.eql(\"Koramangala\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine3 = jsonData?.address?.line3;\n",
+                      "// Response body should have \"address.line3\"\npm.test(\"[POST]::/customers - Content check if 'address.line3' exists\", function() {\n   pm.expect(_resAddressLine3 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Stallion\" for \"address.line3\"\nif (_resAddressLine3 !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.line3' matches 'Stallion'\", function() {\n  pm.expect(_resAddressLine3).to.eql(\"Stallion\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressState = jsonData?.address?.state;\n",
+                      "// Response body should have \"address.state\"\npm.test(\"[POST]::/customers - Content check if 'address.state' exists\", function() {\n   pm.expect(_resAddressState !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Karnataka\" for \"address.state\"\nif (_resAddressState !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.state' matches 'Karnataka'\", function() {\n  pm.expect(_resAddressState).to.eql(\"Karnataka\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressZip = jsonData?.address?.zip;\n",
+                      "// Response body should have \"address.zip\"\npm.test(\"[POST]::/customers - Content check if 'address.zip' exists\", function() {\n   pm.expect(_resAddressZip !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"560095\" for \"address.zip\"\nif (_resAddressZip !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.zip' matches '560095'\", function() {\n  pm.expect(_resAddressZip).to.eql(\"560095\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressFirstName = jsonData?.address?.first_name;\n",
+                      "// Response body should have \"address.first_name\"\npm.test(\"[POST]::/customers - Content check if 'address.first_name' exists\", function() {\n   pm.expect(_resAddressFirstName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"John\" for \"address.first_name\"\nif (_resAddressFirstName !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.first_name' matches 'John'\", function() {\n  pm.expect(_resAddressFirstName).to.eql(\"John\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLastName = jsonData?.address?.last_name;\n",
+                      "// Response body should have \"address.last_name\"\npm.test(\"[POST]::/customers - Content check if 'address.last_name' exists\", function() {\n   pm.expect(_resAddressLastName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Doe\" for \"address.last_name\"\nif (_resAddressLastName !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.last_name' matches 'Doe'\", function() {\n  pm.expect(_resAddressLastName).to.eql(\"Doe\");\n})};\n",
+                      "// Set property value as variable\nconst _resPhoneCountryCode = jsonData?.phone_country_code;\n",
+                      "// Response body should have \"phone_country_code\"\npm.test(\"[POST]::/customers - Content check if 'phone_country_code' exists\", function() {\n   pm.expect(_resPhoneCountryCode !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"+65\" for \"phone_country_code\"\nif (_resPhoneCountryCode !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'phone_country_code' matches '+65'\", function() {\n  pm.expect(_resPhoneCountryCode).to.eql(\"+65\");\n})};\n"
                     ]
                   }
                 }
@@ -2195,7 +2220,7 @@
               }
             },
             {
-              "id": "23f3a8be-7309-462b-81eb-87acade3a7cc",
+              "id": "919dd81c-348b-4b98-b9a2-1768bd7b03b0",
               "name": "Retrieve Customer[Verify customer creation]",
               "request": {
                 "name": "Retrieve Customer[Verify customer creation]",
@@ -2238,50 +2263,65 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "dac420d8-8a02-44d9-b0e9-2ffb6eea2737",
+                    "id": "5dfc1e72-06c7-4d29-9d58-28879030ce90",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[GET]::/customers/:id - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[GET]::/customers/:id - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":\"string\",\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone_country_code\":{\"type\":\"object\",\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":65},\"phone\":{\"type\":\"object\",\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"address\":{\"type\":\"object\",\"description\":\"The address for the customer\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"description\":{\"type\":\"object\",\"description\":\"An arbitrary string that you can attach to a customer object.\",\"maxLength\":255,\"example\":\"First customer\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/customers/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":\"string\",\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone_country_code\":{\"type\":\"object\",\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":65},\"phone\":{\"type\":\"object\",\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"address\":{\"type\":\"object\",\"description\":\"The address for the customer\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"description\":{\"type\":\"object\",\"description\":\"An arbitrary string that you can attach to a customer object.\",\"maxLength\":255,\"example\":\"First customer\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/customers/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"customer_id\"\npm.test(\"[GET]::/customers/:id - Content check if 'customer_id' exists\", function() {\n   pm.expect((typeof jsonData.customer_id !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"CustomerNew1\" for \"customer_id\"\nif (jsonData?.customer_id) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'customer_id' matches 'CustomerNew1'\", function() {\n  pm.expect(jsonData.customer_id).to.eql(\"CustomerNew1\");\n})};\n",
-                      "// Response body should have \"name\"\npm.test(\"[GET]::/customers/:id - Content check if 'name' exists\", function() {\n   pm.expect((typeof jsonData.name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"John Doe\" for \"name\"\nif (jsonData?.name) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'name' matches 'John Doe'\", function() {\n  pm.expect(jsonData.name).to.eql(\"John Doe\");\n})};\n",
-                      "// Response body should have \"phone\"\npm.test(\"[GET]::/customers/:id - Content check if 'phone' exists\", function() {\n   pm.expect((typeof jsonData.phone !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"999999999\" for \"phone\"\nif (jsonData?.phone) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'phone' matches '999999999'\", function() {\n  pm.expect(jsonData.phone).to.eql(\"999999999\");\n})};\n",
-                      "// Response body should have \"email\"\npm.test(\"[GET]::/customers/:id - Content check if 'email' exists\", function() {\n   pm.expect((typeof jsonData.email !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"guest@example.com\" for \"email\"\nif (jsonData?.email) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'email' matches 'guest@example.com'\", function() {\n  pm.expect(jsonData.email).to.eql(\"guest@example.com\");\n})};\n",
-                      "// Response body should have \"description\"\npm.test(\"[GET]::/customers/:id - Content check if 'description' exists\", function() {\n   pm.expect((typeof jsonData.description !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"First customer\" for \"description\"\nif (jsonData?.description) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'description' matches 'First customer'\", function() {\n  pm.expect(jsonData.description).to.eql(\"First customer\");\n})};\n",
-                      "// Response body should have \"address.city\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.city' exists\", function() {\n   pm.expect((typeof jsonData.address.city !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Bangalore\" for \"address.city\"\nif (jsonData?.address?.city) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.city' matches 'Bangalore'\", function() {\n  pm.expect(jsonData.address.city).to.eql(\"Bangalore\");\n})};\n",
-                      "// Response body should have \"address.country\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.country' exists\", function() {\n   pm.expect((typeof jsonData.address.country !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"India\" for \"address.country\"\nif (jsonData?.address?.country) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.country' matches 'India'\", function() {\n  pm.expect(jsonData.address.country).to.eql(\"India\");\n})};\n",
-                      "// Response body should have \"address.line1\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.line1' exists\", function() {\n   pm.expect((typeof jsonData.address.line1 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Juspay router\" for \"address.line1\"\nif (jsonData?.address?.line1) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.line1' matches 'Juspay router'\", function() {\n  pm.expect(jsonData.address.line1).to.eql(\"Juspay router\");\n})};\n",
-                      "// Response body should have \"address.line2\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.line2' exists\", function() {\n   pm.expect((typeof jsonData.address.line2 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Koramangala\" for \"address.line2\"\nif (jsonData?.address?.line2) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.line2' matches 'Koramangala'\", function() {\n  pm.expect(jsonData.address.line2).to.eql(\"Koramangala\");\n})};\n",
-                      "// Response body should have \"address.line3\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.line3' exists\", function() {\n   pm.expect((typeof jsonData.address.line3 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Stallion\" for \"address.line3\"\nif (jsonData?.address?.line3) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.line3' matches 'Stallion'\", function() {\n  pm.expect(jsonData.address.line3).to.eql(\"Stallion\");\n})};\n",
-                      "// Response body should have \"address.state\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.state' exists\", function() {\n   pm.expect((typeof jsonData.address.state !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Karnataka\" for \"address.state\"\nif (jsonData?.address?.state) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.state' matches 'Karnataka'\", function() {\n  pm.expect(jsonData.address.state).to.eql(\"Karnataka\");\n})};\n",
-                      "// Response body should have \"address.zip\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.zip' exists\", function() {\n   pm.expect((typeof jsonData.address.zip !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"560095\" for \"address.zip\"\nif (jsonData?.address?.zip) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.zip' matches '560095'\", function() {\n  pm.expect(jsonData.address.zip).to.eql(\"560095\");\n})};\n",
-                      "// Response body should have \"address.first_name\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.first_name' exists\", function() {\n   pm.expect((typeof jsonData.address.first_name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"John\" for \"address.first_name\"\nif (jsonData?.address?.first_name) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.first_name' matches 'John'\", function() {\n  pm.expect(jsonData.address.first_name).to.eql(\"John\");\n})};\n",
-                      "// Response body should have \"address.last_name\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.last_name' exists\", function() {\n   pm.expect((typeof jsonData.address.last_name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Doe\" for \"address.last_name\"\nif (jsonData?.address?.last_name) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.last_name' matches 'Doe'\", function() {\n  pm.expect(jsonData.address.last_name).to.eql(\"Doe\");\n})};\n",
-                      "// Response body should have \"phone_country_code\"\npm.test(\"[GET]::/customers/:id - Content check if 'phone_country_code' exists\", function() {\n   pm.expect((typeof jsonData.phone_country_code !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"+65\" for \"phone_country_code\"\nif (jsonData?.phone_country_code) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'phone_country_code' matches '+65'\", function() {\n  pm.expect(jsonData.phone_country_code).to.eql(\"+65\");\n})};\n"
+                      "// Set property value as variable\nconst _resCustomerId = jsonData?.customer_id;\n",
+                      "// Response body should have \"customer_id\"\npm.test(\"[GET]::/customers/:id - Content check if 'customer_id' exists\", function() {\n   pm.expect(_resCustomerId !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"CustomerNew1\" for \"customer_id\"\nif (_resCustomerId !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'customer_id' matches 'CustomerNew1'\", function() {\n  pm.expect(_resCustomerId).to.eql(\"CustomerNew1\");\n})};\n",
+                      "// Set property value as variable\nconst _resName = jsonData?.name;\n",
+                      "// Response body should have \"name\"\npm.test(\"[GET]::/customers/:id - Content check if 'name' exists\", function() {\n   pm.expect(_resName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"John Doe\" for \"name\"\nif (_resName !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'name' matches 'John Doe'\", function() {\n  pm.expect(_resName).to.eql(\"John Doe\");\n})};\n",
+                      "// Set property value as variable\nconst _resPhone = jsonData?.phone;\n",
+                      "// Response body should have \"phone\"\npm.test(\"[GET]::/customers/:id - Content check if 'phone' exists\", function() {\n   pm.expect(_resPhone !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"999999999\" for \"phone\"\nif (_resPhone !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'phone' matches '999999999'\", function() {\n  pm.expect(_resPhone).to.eql(\"999999999\");\n})};\n",
+                      "// Set property value as variable\nconst _resEmail = jsonData?.email;\n",
+                      "// Response body should have \"email\"\npm.test(\"[GET]::/customers/:id - Content check if 'email' exists\", function() {\n   pm.expect(_resEmail !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"guest@example.com\" for \"email\"\nif (_resEmail !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'email' matches 'guest@example.com'\", function() {\n  pm.expect(_resEmail).to.eql(\"guest@example.com\");\n})};\n",
+                      "// Set property value as variable\nconst _resDescription = jsonData?.description;\n",
+                      "// Response body should have \"description\"\npm.test(\"[GET]::/customers/:id - Content check if 'description' exists\", function() {\n   pm.expect(_resDescription !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"First customer\" for \"description\"\nif (_resDescription !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'description' matches 'First customer'\", function() {\n  pm.expect(_resDescription).to.eql(\"First customer\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressCity = jsonData?.address?.city;\n",
+                      "// Response body should have \"address.city\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.city' exists\", function() {\n   pm.expect(_resAddressCity !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Bangalore\" for \"address.city\"\nif (_resAddressCity !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.city' matches 'Bangalore'\", function() {\n  pm.expect(_resAddressCity).to.eql(\"Bangalore\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressCountry = jsonData?.address?.country;\n",
+                      "// Response body should have \"address.country\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.country' exists\", function() {\n   pm.expect(_resAddressCountry !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"India\" for \"address.country\"\nif (_resAddressCountry !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.country' matches 'India'\", function() {\n  pm.expect(_resAddressCountry).to.eql(\"India\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine1 = jsonData?.address?.line1;\n",
+                      "// Response body should have \"address.line1\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.line1' exists\", function() {\n   pm.expect(_resAddressLine1 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Juspay router\" for \"address.line1\"\nif (_resAddressLine1 !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.line1' matches 'Juspay router'\", function() {\n  pm.expect(_resAddressLine1).to.eql(\"Juspay router\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine2 = jsonData?.address?.line2;\n",
+                      "// Response body should have \"address.line2\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.line2' exists\", function() {\n   pm.expect(_resAddressLine2 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Koramangala\" for \"address.line2\"\nif (_resAddressLine2 !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.line2' matches 'Koramangala'\", function() {\n  pm.expect(_resAddressLine2).to.eql(\"Koramangala\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine3 = jsonData?.address?.line3;\n",
+                      "// Response body should have \"address.line3\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.line3' exists\", function() {\n   pm.expect(_resAddressLine3 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Stallion\" for \"address.line3\"\nif (_resAddressLine3 !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.line3' matches 'Stallion'\", function() {\n  pm.expect(_resAddressLine3).to.eql(\"Stallion\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressState = jsonData?.address?.state;\n",
+                      "// Response body should have \"address.state\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.state' exists\", function() {\n   pm.expect(_resAddressState !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Karnataka\" for \"address.state\"\nif (_resAddressState !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.state' matches 'Karnataka'\", function() {\n  pm.expect(_resAddressState).to.eql(\"Karnataka\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressZip = jsonData?.address?.zip;\n",
+                      "// Response body should have \"address.zip\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.zip' exists\", function() {\n   pm.expect(_resAddressZip !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"560095\" for \"address.zip\"\nif (_resAddressZip !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.zip' matches '560095'\", function() {\n  pm.expect(_resAddressZip).to.eql(\"560095\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressFirstName = jsonData?.address?.first_name;\n",
+                      "// Response body should have \"address.first_name\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.first_name' exists\", function() {\n   pm.expect(_resAddressFirstName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"John\" for \"address.first_name\"\nif (_resAddressFirstName !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.first_name' matches 'John'\", function() {\n  pm.expect(_resAddressFirstName).to.eql(\"John\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLastName = jsonData?.address?.last_name;\n",
+                      "// Response body should have \"address.last_name\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.last_name' exists\", function() {\n   pm.expect(_resAddressLastName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Doe\" for \"address.last_name\"\nif (_resAddressLastName !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.last_name' matches 'Doe'\", function() {\n  pm.expect(_resAddressLastName).to.eql(\"Doe\");\n})};\n",
+                      "// Set property value as variable\nconst _resPhoneCountryCode = jsonData?.phone_country_code;\n",
+                      "// Response body should have \"phone_country_code\"\npm.test(\"[GET]::/customers/:id - Content check if 'phone_country_code' exists\", function() {\n   pm.expect(_resPhoneCountryCode !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"+65\" for \"phone_country_code\"\nif (_resPhoneCountryCode !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'phone_country_code' matches '+65'\", function() {\n  pm.expect(_resPhoneCountryCode).to.eql(\"+65\");\n})};\n"
                     ]
                   }
                 }
               ]
             },
             {
-              "id": "b05b4842-ca33-4d84-992f-a75b5a6eeb7d",
+              "id": "4a389103-4f89-4da3-b4b9-8ca080249a1d",
               "name": "Update Customer[update customer details]",
               "request": {
                 "name": "Update Customer[update customer details]",
@@ -2337,41 +2377,55 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "5be84db7-7af1-4ce7-bb7a-dc79ec9d1070",
+                    "id": "b8d1b252-0318-441e-a540-2501b88b1c47",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/customers/:id - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/customers/:id - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":\"string\",\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone_country_code\":{\"type\":\"object\",\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":65},\"phone\":{\"type\":\"object\",\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"address\":{\"type\":\"object\",\"description\":\"The address for the customer\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"description\":{\"type\":\"object\",\"description\":\"An arbitrary string that you can attach to a customer object.\",\"maxLength\":255,\"example\":\"First customer\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/customers/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":\"string\",\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone_country_code\":{\"type\":\"object\",\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":65},\"phone\":{\"type\":\"object\",\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"address\":{\"type\":\"object\",\"description\":\"The address for the customer\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"description\":{\"type\":\"object\",\"description\":\"An arbitrary string that you can attach to a customer object.\",\"maxLength\":255,\"example\":\"First customer\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/customers/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"customer_id\"\npm.test(\"[POST]::/customers/:id - Content check if 'customer_id' exists\", function() {\n   pm.expect((typeof jsonData.customer_id !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"CustomerNew1\" for \"customer_id\"\nif (jsonData?.customer_id) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'customer_id' matches 'CustomerNew1'\", function() {\n  pm.expect(jsonData.customer_id).to.eql(\"CustomerNew1\");\n})};\n",
-                      "// Response body should have \"name\"\npm.test(\"[POST]::/customers/:id - Content check if 'name' exists\", function() {\n   pm.expect((typeof jsonData.name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Joseph\" for \"name\"\nif (jsonData?.name) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'name' matches 'Joseph'\", function() {\n  pm.expect(jsonData.name).to.eql(\"Joseph\");\n})};\n",
-                      "// Response body should have \"phone\"\npm.test(\"[POST]::/customers/:id - Content check if 'phone' exists\", function() {\n   pm.expect((typeof jsonData.phone !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"8888888888\" for \"phone\"\nif (jsonData?.phone) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'phone' matches '8888888888'\", function() {\n  pm.expect(jsonData.phone).to.eql(\"8888888888\");\n})};\n",
-                      "// Response body should have \"email\"\npm.test(\"[POST]::/customers/:id - Content check if 'email' exists\", function() {\n   pm.expect((typeof jsonData.email !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"joseph@example.com\" for \"email\"\nif (jsonData?.email) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'email' matches 'joseph@example.com'\", function() {\n  pm.expect(jsonData.email).to.eql(\"joseph@example.com\");\n})};\n",
-                      "// Response body should have \"description\"\npm.test(\"[POST]::/customers/:id - Content check if 'description' exists\", function() {\n   pm.expect((typeof jsonData.description !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Test customer\" for \"description\"\nif (jsonData?.description) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'description' matches 'Test customer'\", function() {\n  pm.expect(jsonData.description).to.eql(\"Test customer\");\n})};\n",
-                      "// Response body should have \"address.city\"\npm.test(\"[POST]::/customers/:id - Content check if 'address.city' exists\", function() {\n   pm.expect((typeof jsonData.address.city !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"chennai\" for \"address.city\"\nif (jsonData?.address?.city) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'address.city' matches 'chennai'\", function() {\n  pm.expect(jsonData.address.city).to.eql(\"chennai\");\n})};\n",
-                      "// Response body should have \"address.line1\"\npm.test(\"[POST]::/customers/:id - Content check if 'address.line1' exists\", function() {\n   pm.expect((typeof jsonData.address.line1 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"123\" for \"address.line1\"\nif (jsonData?.address?.line1) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'address.line1' matches '123'\", function() {\n  pm.expect(jsonData.address.line1).to.eql(\"123\");\n})};\n",
-                      "// Response body should have \"address.line2\"\npm.test(\"[POST]::/customers/:id - Content check if 'address.line2' exists\", function() {\n   pm.expect((typeof jsonData.address.line2 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"cg custom street\" for \"address.line2\"\nif (jsonData?.address?.line2) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'address.line2' matches 'cg custom street'\", function() {\n  pm.expect(jsonData.address.line2).to.eql(\"cg custom street\");\n})};\n",
-                      "// Response body should have \"address.line3\"\npm.test(\"[POST]::/customers/:id - Content check if 'address.line3' exists\", function() {\n   pm.expect((typeof jsonData.address.line3 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Stallion\" for \"address.line3\"\nif (jsonData?.address?.line3) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'address.line3' matches 'Stallion'\", function() {\n  pm.expect(jsonData.address.line3).to.eql(\"Stallion\");\n})};\n",
-                      "// Response body should have \"address.state\"\npm.test(\"[POST]::/customers/:id - Content check if 'address.state' exists\", function() {\n   pm.expect((typeof jsonData.address.state !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Tamilnadu\" for \"address.state\"\nif (jsonData?.address?.state) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'address.state' matches 'Tamilnadu'\", function() {\n  pm.expect(jsonData.address.state).to.eql(\"Tamilnadu\");\n})};\n",
-                      "// Response body should have \"address.zip\"\npm.test(\"[POST]::/customers/:id - Content check if 'address.zip' exists\", function() {\n   pm.expect((typeof jsonData.address.zip !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"620021\" for \"address.zip\"\nif (jsonData?.address?.zip) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'address.zip' matches '620021'\", function() {\n  pm.expect(jsonData.address.zip).to.eql(\"620021\");\n})};\n",
-                      "// Response body should have \"address.first_name\"\npm.test(\"[POST]::/customers/:id - Content check if 'address.first_name' exists\", function() {\n   pm.expect((typeof jsonData.address.first_name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"joseph\" for \"address.first_name\"\nif (jsonData?.address?.first_name) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'address.first_name' matches 'joseph'\", function() {\n  pm.expect(jsonData.address.first_name).to.eql(\"joseph\");\n})};\n",
-                      "// Response body should have \"address.last_name\"\npm.test(\"[POST]::/customers/:id - Content check if 'address.last_name' exists\", function() {\n   pm.expect((typeof jsonData.address.last_name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Doe\" for \"address.last_name\"\nif (jsonData?.address?.last_name) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'address.last_name' matches 'Doe'\", function() {\n  pm.expect(jsonData.address.last_name).to.eql(\"Doe\");\n})};\n",
-                      "// Response body should have \"phone_country_code\"\npm.test(\"[POST]::/customers/:id - Content check if 'phone_country_code' exists\", function() {\n   pm.expect((typeof jsonData.phone_country_code !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"+91\" for \"phone_country_code\"\nif (jsonData?.phone_country_code) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'phone_country_code' matches '+91'\", function() {\n  pm.expect(jsonData.phone_country_code).to.eql(\"+91\");\n})};\n"
+                      "// Set property value as variable\nconst _resCustomerId = jsonData?.customer_id;\n",
+                      "// Response body should have \"customer_id\"\npm.test(\"[POST]::/customers/:id - Content check if 'customer_id' exists\", function() {\n   pm.expect(_resCustomerId !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"CustomerNew1\" for \"customer_id\"\nif (_resCustomerId !== undefined) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'customer_id' matches 'CustomerNew1'\", function() {\n  pm.expect(_resCustomerId).to.eql(\"CustomerNew1\");\n})};\n",
+                      "// Set property value as variable\nconst _resName = jsonData?.name;\n",
+                      "// Response body should have \"name\"\npm.test(\"[POST]::/customers/:id - Content check if 'name' exists\", function() {\n   pm.expect(_resName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Joseph\" for \"name\"\nif (_resName !== undefined) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'name' matches 'Joseph'\", function() {\n  pm.expect(_resName).to.eql(\"Joseph\");\n})};\n",
+                      "// Set property value as variable\nconst _resPhone = jsonData?.phone;\n",
+                      "// Response body should have \"phone\"\npm.test(\"[POST]::/customers/:id - Content check if 'phone' exists\", function() {\n   pm.expect(_resPhone !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"8888888888\" for \"phone\"\nif (_resPhone !== undefined) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'phone' matches '8888888888'\", function() {\n  pm.expect(_resPhone).to.eql(\"8888888888\");\n})};\n",
+                      "// Set property value as variable\nconst _resEmail = jsonData?.email;\n",
+                      "// Response body should have \"email\"\npm.test(\"[POST]::/customers/:id - Content check if 'email' exists\", function() {\n   pm.expect(_resEmail !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"joseph@example.com\" for \"email\"\nif (_resEmail !== undefined) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'email' matches 'joseph@example.com'\", function() {\n  pm.expect(_resEmail).to.eql(\"joseph@example.com\");\n})};\n",
+                      "// Set property value as variable\nconst _resDescription = jsonData?.description;\n",
+                      "// Response body should have \"description\"\npm.test(\"[POST]::/customers/:id - Content check if 'description' exists\", function() {\n   pm.expect(_resDescription !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Test customer\" for \"description\"\nif (_resDescription !== undefined) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'description' matches 'Test customer'\", function() {\n  pm.expect(_resDescription).to.eql(\"Test customer\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressCity = jsonData?.address?.city;\n",
+                      "// Response body should have \"address.city\"\npm.test(\"[POST]::/customers/:id - Content check if 'address.city' exists\", function() {\n   pm.expect(_resAddressCity !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"chennai\" for \"address.city\"\nif (_resAddressCity !== undefined) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'address.city' matches 'chennai'\", function() {\n  pm.expect(_resAddressCity).to.eql(\"chennai\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine1 = jsonData?.address?.line1;\n",
+                      "// Response body should have \"address.line1\"\npm.test(\"[POST]::/customers/:id - Content check if 'address.line1' exists\", function() {\n   pm.expect(_resAddressLine1 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"123\" for \"address.line1\"\nif (_resAddressLine1 !== undefined) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'address.line1' matches '123'\", function() {\n  pm.expect(_resAddressLine1).to.eql(\"123\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine2 = jsonData?.address?.line2;\n",
+                      "// Response body should have \"address.line2\"\npm.test(\"[POST]::/customers/:id - Content check if 'address.line2' exists\", function() {\n   pm.expect(_resAddressLine2 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"cg custom street\" for \"address.line2\"\nif (_resAddressLine2 !== undefined) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'address.line2' matches 'cg custom street'\", function() {\n  pm.expect(_resAddressLine2).to.eql(\"cg custom street\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine3 = jsonData?.address?.line3;\n",
+                      "// Response body should have \"address.line3\"\npm.test(\"[POST]::/customers/:id - Content check if 'address.line3' exists\", function() {\n   pm.expect(_resAddressLine3 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Stallion\" for \"address.line3\"\nif (_resAddressLine3 !== undefined) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'address.line3' matches 'Stallion'\", function() {\n  pm.expect(_resAddressLine3).to.eql(\"Stallion\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressState = jsonData?.address?.state;\n",
+                      "// Response body should have \"address.state\"\npm.test(\"[POST]::/customers/:id - Content check if 'address.state' exists\", function() {\n   pm.expect(_resAddressState !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Tamilnadu\" for \"address.state\"\nif (_resAddressState !== undefined) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'address.state' matches 'Tamilnadu'\", function() {\n  pm.expect(_resAddressState).to.eql(\"Tamilnadu\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressZip = jsonData?.address?.zip;\n",
+                      "// Response body should have \"address.zip\"\npm.test(\"[POST]::/customers/:id - Content check if 'address.zip' exists\", function() {\n   pm.expect(_resAddressZip !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"620021\" for \"address.zip\"\nif (_resAddressZip !== undefined) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'address.zip' matches '620021'\", function() {\n  pm.expect(_resAddressZip).to.eql(\"620021\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressFirstName = jsonData?.address?.first_name;\n",
+                      "// Response body should have \"address.first_name\"\npm.test(\"[POST]::/customers/:id - Content check if 'address.first_name' exists\", function() {\n   pm.expect(_resAddressFirstName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"joseph\" for \"address.first_name\"\nif (_resAddressFirstName !== undefined) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'address.first_name' matches 'joseph'\", function() {\n  pm.expect(_resAddressFirstName).to.eql(\"joseph\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLastName = jsonData?.address?.last_name;\n",
+                      "// Response body should have \"address.last_name\"\npm.test(\"[POST]::/customers/:id - Content check if 'address.last_name' exists\", function() {\n   pm.expect(_resAddressLastName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Doe\" for \"address.last_name\"\nif (_resAddressLastName !== undefined) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'address.last_name' matches 'Doe'\", function() {\n  pm.expect(_resAddressLastName).to.eql(\"Doe\");\n})};\n",
+                      "// Set property value as variable\nconst _resPhoneCountryCode = jsonData?.phone_country_code;\n",
+                      "// Response body should have \"phone_country_code\"\npm.test(\"[POST]::/customers/:id - Content check if 'phone_country_code' exists\", function() {\n   pm.expect(_resPhoneCountryCode !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"+91\" for \"phone_country_code\"\nif (_resPhoneCountryCode !== undefined) {\npm.test(\"[POST]::/customers/:id - Content check if value for 'phone_country_code' matches '+91'\", function() {\n  pm.expect(_resPhoneCountryCode).to.eql(\"+91\");\n})};\n"
                     ]
                   }
                 }
@@ -2381,7 +2435,7 @@
               }
             },
             {
-              "id": "e0947927-8f39-4d50-9cbd-acb39aec9acc",
+              "id": "42bfb0c6-dd6e-4f96-ab65-a79e0f92c412",
               "name": "Retrieve Customer[retrieve updated customer]",
               "request": {
                 "name": "Retrieve Customer[retrieve updated customer]",
@@ -2424,48 +2478,62 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "9564811a-c3a5-4e8a-a476-0bfeec2843a3",
+                    "id": "08222f8e-64ba-491e-a5dd-7eaa378456ef",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[GET]::/customers/:id - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[GET]::/customers/:id - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":\"string\",\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone_country_code\":{\"type\":\"object\",\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":65},\"phone\":{\"type\":\"object\",\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"address\":{\"type\":\"object\",\"description\":\"The address for the customer\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"description\":{\"type\":\"object\",\"description\":\"An arbitrary string that you can attach to a customer object.\",\"maxLength\":255,\"example\":\"First customer\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/customers/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":\"string\",\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone_country_code\":{\"type\":\"object\",\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":65},\"phone\":{\"type\":\"object\",\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"address\":{\"type\":\"object\",\"description\":\"The address for the customer\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"description\":{\"type\":\"object\",\"description\":\"An arbitrary string that you can attach to a customer object.\",\"maxLength\":255,\"example\":\"First customer\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/customers/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"customer_id\"\npm.test(\"[GET]::/customers/:id - Content check if 'customer_id' exists\", function() {\n   pm.expect((typeof jsonData.customer_id !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"CustomerNew1\" for \"customer_id\"\nif (jsonData?.customer_id) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'customer_id' matches 'CustomerNew1'\", function() {\n  pm.expect(jsonData.customer_id).to.eql(\"CustomerNew1\");\n})};\n",
-                      "// Response body should have \"name\"\npm.test(\"[GET]::/customers/:id - Content check if 'name' exists\", function() {\n   pm.expect((typeof jsonData.name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Joseph\" for \"name\"\nif (jsonData?.name) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'name' matches 'Joseph'\", function() {\n  pm.expect(jsonData.name).to.eql(\"Joseph\");\n})};\n",
-                      "// Response body should have \"phone\"\npm.test(\"[GET]::/customers/:id - Content check if 'phone' exists\", function() {\n   pm.expect((typeof jsonData.phone !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"8888888888\" for \"phone\"\nif (jsonData?.phone) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'phone' matches '8888888888'\", function() {\n  pm.expect(jsonData.phone).to.eql(\"8888888888\");\n})};\n",
-                      "// Response body should have \"email\"\npm.test(\"[GET]::/customers/:id - Content check if 'email' exists\", function() {\n   pm.expect((typeof jsonData.email !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"joseph@example.com\" for \"email\"\nif (jsonData?.email) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'email' matches 'joseph@example.com'\", function() {\n  pm.expect(jsonData.email).to.eql(\"joseph@example.com\");\n})};\n",
-                      "// Response body should have \"description\"\npm.test(\"[GET]::/customers/:id - Content check if 'description' exists\", function() {\n   pm.expect((typeof jsonData.description !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Test customer\" for \"description\"\nif (jsonData?.description) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'description' matches 'Test customer'\", function() {\n  pm.expect(jsonData.description).to.eql(\"Test customer\");\n})};\n",
-                      "// Response body should have \"address.city\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.city' exists\", function() {\n   pm.expect((typeof jsonData.address.city !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"chennai\" for \"address.city\"\nif (jsonData?.address?.city) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.city' matches 'chennai'\", function() {\n  pm.expect(jsonData.address.city).to.eql(\"chennai\");\n})};\n",
-                      "// Response body should have \"address.line1\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.line1' exists\", function() {\n   pm.expect((typeof jsonData.address.line1 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"123\" for \"address.line1\"\nif (jsonData?.address?.line1) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.line1' matches '123'\", function() {\n  pm.expect(jsonData.address.line1).to.eql(\"123\");\n})};\n",
-                      "// Response body should have \"address.line2\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.line2' exists\", function() {\n   pm.expect((typeof jsonData.address.line2 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"cg custom street\" for \"address.line2\"\nif (jsonData?.address?.line2) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.line2' matches 'cg custom street'\", function() {\n  pm.expect(jsonData.address.line2).to.eql(\"cg custom street\");\n})};\n",
-                      "// Response body should have \"address.line3\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.line3' exists\", function() {\n   pm.expect((typeof jsonData.address.line3 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Stallion\" for \"address.line3\"\nif (jsonData?.address?.line3) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.line3' matches 'Stallion'\", function() {\n  pm.expect(jsonData.address.line3).to.eql(\"Stallion\");\n})};\n",
-                      "// Response body should have \"address.state\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.state' exists\", function() {\n   pm.expect((typeof jsonData.address.state !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Tamilnadu\" for \"address.state\"\nif (jsonData?.address?.state) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.state' matches 'Tamilnadu'\", function() {\n  pm.expect(jsonData.address.state).to.eql(\"Tamilnadu\");\n})};\n",
-                      "// Response body should have \"address.zip\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.zip' exists\", function() {\n   pm.expect((typeof jsonData.address.zip !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"620021\" for \"address.zip\"\nif (jsonData?.address?.zip) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.zip' matches '620021'\", function() {\n  pm.expect(jsonData.address.zip).to.eql(\"620021\");\n})};\n",
-                      "// Response body should have \"address.first_name\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.first_name' exists\", function() {\n   pm.expect((typeof jsonData.address.first_name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"joseph\" for \"address.first_name\"\nif (jsonData?.address?.first_name) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.first_name' matches 'joseph'\", function() {\n  pm.expect(jsonData.address.first_name).to.eql(\"joseph\");\n})};\n",
-                      "// Response body should have \"address.last_name\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.last_name' exists\", function() {\n   pm.expect((typeof jsonData.address.last_name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Doe\" for \"address.last_name\"\nif (jsonData?.address?.last_name) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.last_name' matches 'Doe'\", function() {\n  pm.expect(jsonData.address.last_name).to.eql(\"Doe\");\n})};\n",
-                      "// Response body should have \"phone_country_code\"\npm.test(\"[GET]::/customers/:id - Content check if 'phone_country_code' exists\", function() {\n   pm.expect((typeof jsonData.phone_country_code !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"+91\" for \"phone_country_code\"\nif (jsonData?.phone_country_code) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'phone_country_code' matches '+91'\", function() {\n  pm.expect(jsonData.phone_country_code).to.eql(\"+91\");\n})};\n"
+                      "// Set property value as variable\nconst _resCustomerId = jsonData?.customer_id;\n",
+                      "// Response body should have \"customer_id\"\npm.test(\"[GET]::/customers/:id - Content check if 'customer_id' exists\", function() {\n   pm.expect(_resCustomerId !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"CustomerNew1\" for \"customer_id\"\nif (_resCustomerId !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'customer_id' matches 'CustomerNew1'\", function() {\n  pm.expect(_resCustomerId).to.eql(\"CustomerNew1\");\n})};\n",
+                      "// Set property value as variable\nconst _resName = jsonData?.name;\n",
+                      "// Response body should have \"name\"\npm.test(\"[GET]::/customers/:id - Content check if 'name' exists\", function() {\n   pm.expect(_resName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Joseph\" for \"name\"\nif (_resName !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'name' matches 'Joseph'\", function() {\n  pm.expect(_resName).to.eql(\"Joseph\");\n})};\n",
+                      "// Set property value as variable\nconst _resPhone = jsonData?.phone;\n",
+                      "// Response body should have \"phone\"\npm.test(\"[GET]::/customers/:id - Content check if 'phone' exists\", function() {\n   pm.expect(_resPhone !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"8888888888\" for \"phone\"\nif (_resPhone !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'phone' matches '8888888888'\", function() {\n  pm.expect(_resPhone).to.eql(\"8888888888\");\n})};\n",
+                      "// Set property value as variable\nconst _resEmail = jsonData?.email;\n",
+                      "// Response body should have \"email\"\npm.test(\"[GET]::/customers/:id - Content check if 'email' exists\", function() {\n   pm.expect(_resEmail !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"joseph@example.com\" for \"email\"\nif (_resEmail !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'email' matches 'joseph@example.com'\", function() {\n  pm.expect(_resEmail).to.eql(\"joseph@example.com\");\n})};\n",
+                      "// Set property value as variable\nconst _resDescription = jsonData?.description;\n",
+                      "// Response body should have \"description\"\npm.test(\"[GET]::/customers/:id - Content check if 'description' exists\", function() {\n   pm.expect(_resDescription !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Test customer\" for \"description\"\nif (_resDescription !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'description' matches 'Test customer'\", function() {\n  pm.expect(_resDescription).to.eql(\"Test customer\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressCity = jsonData?.address?.city;\n",
+                      "// Response body should have \"address.city\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.city' exists\", function() {\n   pm.expect(_resAddressCity !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"chennai\" for \"address.city\"\nif (_resAddressCity !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.city' matches 'chennai'\", function() {\n  pm.expect(_resAddressCity).to.eql(\"chennai\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine1 = jsonData?.address?.line1;\n",
+                      "// Response body should have \"address.line1\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.line1' exists\", function() {\n   pm.expect(_resAddressLine1 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"123\" for \"address.line1\"\nif (_resAddressLine1 !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.line1' matches '123'\", function() {\n  pm.expect(_resAddressLine1).to.eql(\"123\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine2 = jsonData?.address?.line2;\n",
+                      "// Response body should have \"address.line2\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.line2' exists\", function() {\n   pm.expect(_resAddressLine2 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"cg custom street\" for \"address.line2\"\nif (_resAddressLine2 !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.line2' matches 'cg custom street'\", function() {\n  pm.expect(_resAddressLine2).to.eql(\"cg custom street\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine3 = jsonData?.address?.line3;\n",
+                      "// Response body should have \"address.line3\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.line3' exists\", function() {\n   pm.expect(_resAddressLine3 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Stallion\" for \"address.line3\"\nif (_resAddressLine3 !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.line3' matches 'Stallion'\", function() {\n  pm.expect(_resAddressLine3).to.eql(\"Stallion\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressState = jsonData?.address?.state;\n",
+                      "// Response body should have \"address.state\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.state' exists\", function() {\n   pm.expect(_resAddressState !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Tamilnadu\" for \"address.state\"\nif (_resAddressState !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.state' matches 'Tamilnadu'\", function() {\n  pm.expect(_resAddressState).to.eql(\"Tamilnadu\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressZip = jsonData?.address?.zip;\n",
+                      "// Response body should have \"address.zip\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.zip' exists\", function() {\n   pm.expect(_resAddressZip !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"620021\" for \"address.zip\"\nif (_resAddressZip !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.zip' matches '620021'\", function() {\n  pm.expect(_resAddressZip).to.eql(\"620021\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressFirstName = jsonData?.address?.first_name;\n",
+                      "// Response body should have \"address.first_name\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.first_name' exists\", function() {\n   pm.expect(_resAddressFirstName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"joseph\" for \"address.first_name\"\nif (_resAddressFirstName !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.first_name' matches 'joseph'\", function() {\n  pm.expect(_resAddressFirstName).to.eql(\"joseph\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLastName = jsonData?.address?.last_name;\n",
+                      "// Response body should have \"address.last_name\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.last_name' exists\", function() {\n   pm.expect(_resAddressLastName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Doe\" for \"address.last_name\"\nif (_resAddressLastName !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.last_name' matches 'Doe'\", function() {\n  pm.expect(_resAddressLastName).to.eql(\"Doe\");\n})};\n",
+                      "// Set property value as variable\nconst _resPhoneCountryCode = jsonData?.phone_country_code;\n",
+                      "// Response body should have \"phone_country_code\"\npm.test(\"[GET]::/customers/:id - Content check if 'phone_country_code' exists\", function() {\n   pm.expect(_resPhoneCountryCode !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"+91\" for \"phone_country_code\"\nif (_resPhoneCountryCode !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'phone_country_code' matches '+91'\", function() {\n  pm.expect(_resPhoneCountryCode).to.eql(\"+91\");\n})};\n"
                     ]
                   }
                 }
               ]
             },
             {
-              "id": "7f962bec-10bc-45f3-b74b-f2881bf8f393",
+              "id": "f5f0bf06-431d-4def-8fef-fe27a8b481f7",
               "name": "Delete Customer[Delete customer]",
               "request": {
                 "name": "Delete Customer[Delete customer]",
@@ -2508,22 +2576,23 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "5a2efe9d-8475-41e4-bf02-68623c900a15",
+                    "id": "6a1046a7-6c75-4062-8068-b3892ed9e8e2",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[DELETE]::/customers/:id - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[DELETE]::/customers/:id - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
                       "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\",\"deleted\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"deleted\":{\"type\":\"boolean\",\"description\":\"Indicates the deletion status of the customer object.\",\"example\":true}}}\n\n// Validate if response matches JSON schema \npm.test(\"[DELETE]::/customers/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"deleted\"\npm.test(\"[DELETE]::/customers/:id - Content check if 'deleted' exists\", function() {\n   pm.expect((typeof jsonData.deleted !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"true\" for \"deleted\"\nif (jsonData?.deleted) {\npm.test(\"[DELETE]::/customers/:id - Content check if value for 'deleted' matches 'true'\", function() {\n  pm.expect(jsonData.deleted).to.eql(\"true\");\n})};\n"
+                      "// Set property value as variable\nconst _resDeleted = jsonData?.deleted;\n",
+                      "// Response body should have \"deleted\"\npm.test(\"[DELETE]::/customers/:id - Content check if 'deleted' exists\", function() {\n   pm.expect(_resDeleted !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"true\" for \"deleted\"\nif (_resDeleted !== undefined) {\npm.test(\"[DELETE]::/customers/:id - Content check if value for 'deleted' matches 'true'\", function() {\n  pm.expect(_resDeleted).to.eql(\"true\");\n})};\n"
                     ]
                   }
                 }
               ]
             },
             {
-              "id": "ec400cc5-5588-4c42-bf4d-eafbff8a98fb",
+              "id": "3917a0ef-68a1-49e3-a48a-af76825d0518",
               "name": "Delete Customer[Delete Customer with invalid Id]",
               "request": {
                 "name": "Delete Customer[Delete Customer with invalid Id]",
@@ -2566,22 +2635,23 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "1dca9dd5-c178-4caf-9960-27f7ae00909d",
+                    "id": "fa8bc4ea-8e36-481c-b8cc-843b43cdca6c",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[DELETE]::/customers/:id - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[DELETE]::/customers/:id - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
                       "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\",\"deleted\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"deleted\":{\"type\":\"boolean\",\"description\":\"Indicates the deletion status of the customer object.\",\"example\":true}}}\n\n// Validate if response matches JSON schema \npm.test(\"[DELETE]::/customers/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"message\"\npm.test(\"[DELETE]::/customers/:id - Content check if 'message' exists\", function() {\n   pm.expect((typeof jsonData.message !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"No such customer exist: CustomerNew1\" for \"message\"\nif (jsonData?.message) {\npm.test(\"[DELETE]::/customers/:id - Content check if value for 'message' matches 'No such customer exist: CustomerNew1'\", function() {\n  pm.expect(jsonData.message).to.eql(\"No such customer exist: CustomerNew1\");\n})};\n"
+                      "// Set property value as variable\nconst _resMessage = jsonData?.message;\n",
+                      "// Response body should have \"message\"\npm.test(\"[DELETE]::/customers/:id - Content check if 'message' exists\", function() {\n   pm.expect(_resMessage !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"No such customer exist: CustomerNew1\" for \"message\"\nif (_resMessage !== undefined) {\npm.test(\"[DELETE]::/customers/:id - Content check if value for 'message' matches 'No such customer exist: CustomerNew1'\", function() {\n  pm.expect(_resMessage).to.eql(\"No such customer exist: CustomerNew1\");\n})};\n"
                     ]
                   }
                 }
               ]
             },
             {
-              "id": "17c1fbfb-57b8-4791-811c-a007188dcf2e",
+              "id": "6df068fe-2ab6-4ce2-8c86-a8ddbea63fca",
               "name": "Create Customer[Create Customer without CID]",
               "request": {
                 "name": "Create Customer[Create Customer without CID]",
@@ -2625,43 +2695,58 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "fa75f166-3ed3-4524-a272-129b39dfea9c",
+                    "id": "e831921d-acf0-4c83-8aae-227b35259260",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/customers - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/customers - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":\"string\",\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone_country_code\":{\"type\":\"object\",\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":65},\"phone\":{\"type\":\"object\",\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"address\":{\"type\":\"object\",\"description\":\"The address for the customer\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"description\":{\"type\":\"object\",\"description\":\"An arbitrary string that you can attach to a customer object.\",\"maxLength\":255,\"example\":\"First customer\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/customers - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":\"string\",\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone_country_code\":{\"type\":\"object\",\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":65},\"phone\":{\"type\":\"object\",\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"address\":{\"type\":\"object\",\"description\":\"The address for the customer\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"description\":{\"type\":\"object\",\"description\":\"An arbitrary string that you can attach to a customer object.\",\"maxLength\":255,\"example\":\"First customer\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/customers - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"customer_id\"\npm.test(\"[POST]::/customers - Content check if 'customer_id' exists\", function() {\n   pm.expect((typeof jsonData.customer_id !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have a minimum length of \"1\" for \"customer_id\"\nif (jsonData?.customer_id) {\npm.test(\"[POST]::/customers - Content check if value of 'customer_id' has a minimum length of '1'\", function() {\n  pm.expect(jsonData.customer_id.length).is.at.least(1);\n})};\n",
-                      "// Response body should have \"name\"\npm.test(\"[POST]::/customers - Content check if 'name' exists\", function() {\n   pm.expect((typeof jsonData.name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"John Doe\" for \"name\"\nif (jsonData?.name) {\npm.test(\"[POST]::/customers - Content check if value for 'name' matches 'John Doe'\", function() {\n  pm.expect(jsonData.name).to.eql(\"John Doe\");\n})};\n",
-                      "// Response body should have \"phone\"\npm.test(\"[POST]::/customers - Content check if 'phone' exists\", function() {\n   pm.expect((typeof jsonData.phone !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"999999999\" for \"phone\"\nif (jsonData?.phone) {\npm.test(\"[POST]::/customers - Content check if value for 'phone' matches '999999999'\", function() {\n  pm.expect(jsonData.phone).to.eql(\"999999999\");\n})};\n",
-                      "// Response body should have \"email\"\npm.test(\"[POST]::/customers - Content check if 'email' exists\", function() {\n   pm.expect((typeof jsonData.email !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"guest@example.com\" for \"email\"\nif (jsonData?.email) {\npm.test(\"[POST]::/customers - Content check if value for 'email' matches 'guest@example.com'\", function() {\n  pm.expect(jsonData.email).to.eql(\"guest@example.com\");\n})};\n",
-                      "// Response body should have \"description\"\npm.test(\"[POST]::/customers - Content check if 'description' exists\", function() {\n   pm.expect((typeof jsonData.description !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"First customer\" for \"description\"\nif (jsonData?.description) {\npm.test(\"[POST]::/customers - Content check if value for 'description' matches 'First customer'\", function() {\n  pm.expect(jsonData.description).to.eql(\"First customer\");\n})};\n",
-                      "// Response body should have \"address.city\"\npm.test(\"[POST]::/customers - Content check if 'address.city' exists\", function() {\n   pm.expect((typeof jsonData.address.city !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Bangalore\" for \"address.city\"\nif (jsonData?.address?.city) {\npm.test(\"[POST]::/customers - Content check if value for 'address.city' matches 'Bangalore'\", function() {\n  pm.expect(jsonData.address.city).to.eql(\"Bangalore\");\n})};\n",
-                      "// Response body should have \"address.country\"\npm.test(\"[POST]::/customers - Content check if 'address.country' exists\", function() {\n   pm.expect((typeof jsonData.address.country !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"India\" for \"address.country\"\nif (jsonData?.address?.country) {\npm.test(\"[POST]::/customers - Content check if value for 'address.country' matches 'India'\", function() {\n  pm.expect(jsonData.address.country).to.eql(\"India\");\n})};\n",
-                      "// Response body should have \"address.line1\"\npm.test(\"[POST]::/customers - Content check if 'address.line1' exists\", function() {\n   pm.expect((typeof jsonData.address.line1 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Juspay router\" for \"address.line1\"\nif (jsonData?.address?.line1) {\npm.test(\"[POST]::/customers - Content check if value for 'address.line1' matches 'Juspay router'\", function() {\n  pm.expect(jsonData.address.line1).to.eql(\"Juspay router\");\n})};\n",
-                      "// Response body should have \"address.line2\"\npm.test(\"[POST]::/customers - Content check if 'address.line2' exists\", function() {\n   pm.expect((typeof jsonData.address.line2 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Koramangala\" for \"address.line2\"\nif (jsonData?.address?.line2) {\npm.test(\"[POST]::/customers - Content check if value for 'address.line2' matches 'Koramangala'\", function() {\n  pm.expect(jsonData.address.line2).to.eql(\"Koramangala\");\n})};\n",
-                      "// Response body should have \"address.line3\"\npm.test(\"[POST]::/customers - Content check if 'address.line3' exists\", function() {\n   pm.expect((typeof jsonData.address.line3 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Stallion\" for \"address.line3\"\nif (jsonData?.address?.line3) {\npm.test(\"[POST]::/customers - Content check if value for 'address.line3' matches 'Stallion'\", function() {\n  pm.expect(jsonData.address.line3).to.eql(\"Stallion\");\n})};\n",
-                      "// Response body should have \"address.state\"\npm.test(\"[POST]::/customers - Content check if 'address.state' exists\", function() {\n   pm.expect((typeof jsonData.address.state !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Karnataka\" for \"address.state\"\nif (jsonData?.address?.state) {\npm.test(\"[POST]::/customers - Content check if value for 'address.state' matches 'Karnataka'\", function() {\n  pm.expect(jsonData.address.state).to.eql(\"Karnataka\");\n})};\n",
-                      "// Response body should have \"address.zip\"\npm.test(\"[POST]::/customers - Content check if 'address.zip' exists\", function() {\n   pm.expect((typeof jsonData.address.zip !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"560095\" for \"address.zip\"\nif (jsonData?.address?.zip) {\npm.test(\"[POST]::/customers - Content check if value for 'address.zip' matches '560095'\", function() {\n  pm.expect(jsonData.address.zip).to.eql(\"560095\");\n})};\n",
-                      "// Response body should have \"address.first_name\"\npm.test(\"[POST]::/customers - Content check if 'address.first_name' exists\", function() {\n   pm.expect((typeof jsonData.address.first_name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"John\" for \"address.first_name\"\nif (jsonData?.address?.first_name) {\npm.test(\"[POST]::/customers - Content check if value for 'address.first_name' matches 'John'\", function() {\n  pm.expect(jsonData.address.first_name).to.eql(\"John\");\n})};\n",
-                      "// Response body should have \"address.last_name\"\npm.test(\"[POST]::/customers - Content check if 'address.last_name' exists\", function() {\n   pm.expect((typeof jsonData.address.last_name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Doe\" for \"address.last_name\"\nif (jsonData?.address?.last_name) {\npm.test(\"[POST]::/customers - Content check if value for 'address.last_name' matches 'Doe'\", function() {\n  pm.expect(jsonData.address.last_name).to.eql(\"Doe\");\n})};\n",
-                      "// Response body should have \"phone_country_code\"\npm.test(\"[POST]::/customers - Content check if 'phone_country_code' exists\", function() {\n   pm.expect((typeof jsonData.phone_country_code !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"+65\" for \"phone_country_code\"\nif (jsonData?.phone_country_code) {\npm.test(\"[POST]::/customers - Content check if value for 'phone_country_code' matches '+65'\", function() {\n  pm.expect(jsonData.phone_country_code).to.eql(\"+65\");\n})};\n"
+                      "// Set property value as variable\nconst _resCustomerId = jsonData?.customer_id;\n",
+                      "// Response body should have \"customer_id\"\npm.test(\"[POST]::/customers - Content check if 'customer_id' exists\", function() {\n   pm.expect(_resCustomerId !== undefined).to.be.true;\n});\n",
+                      "// Response body should have a minimum length of \"1\" for \"customer_id\"\nif (_resCustomerId !== undefined) {\npm.test(\"[POST]::/customers - Content check if value of 'customer_id' has a minimum length of '1'\", function() {\n  pm.expect(jsonData.customer_id.length).is.at.least(1);\n})};\n",
+                      "// Set property value as variable\nconst _resName = jsonData?.name;\n",
+                      "// Response body should have \"name\"\npm.test(\"[POST]::/customers - Content check if 'name' exists\", function() {\n   pm.expect(_resName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"John Doe\" for \"name\"\nif (_resName !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'name' matches 'John Doe'\", function() {\n  pm.expect(_resName).to.eql(\"John Doe\");\n})};\n",
+                      "// Set property value as variable\nconst _resPhone = jsonData?.phone;\n",
+                      "// Response body should have \"phone\"\npm.test(\"[POST]::/customers - Content check if 'phone' exists\", function() {\n   pm.expect(_resPhone !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"999999999\" for \"phone\"\nif (_resPhone !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'phone' matches '999999999'\", function() {\n  pm.expect(_resPhone).to.eql(\"999999999\");\n})};\n",
+                      "// Set property value as variable\nconst _resEmail = jsonData?.email;\n",
+                      "// Response body should have \"email\"\npm.test(\"[POST]::/customers - Content check if 'email' exists\", function() {\n   pm.expect(_resEmail !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"guest@example.com\" for \"email\"\nif (_resEmail !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'email' matches 'guest@example.com'\", function() {\n  pm.expect(_resEmail).to.eql(\"guest@example.com\");\n})};\n",
+                      "// Set property value as variable\nconst _resDescription = jsonData?.description;\n",
+                      "// Response body should have \"description\"\npm.test(\"[POST]::/customers - Content check if 'description' exists\", function() {\n   pm.expect(_resDescription !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"First customer\" for \"description\"\nif (_resDescription !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'description' matches 'First customer'\", function() {\n  pm.expect(_resDescription).to.eql(\"First customer\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressCity = jsonData?.address?.city;\n",
+                      "// Response body should have \"address.city\"\npm.test(\"[POST]::/customers - Content check if 'address.city' exists\", function() {\n   pm.expect(_resAddressCity !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Bangalore\" for \"address.city\"\nif (_resAddressCity !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.city' matches 'Bangalore'\", function() {\n  pm.expect(_resAddressCity).to.eql(\"Bangalore\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressCountry = jsonData?.address?.country;\n",
+                      "// Response body should have \"address.country\"\npm.test(\"[POST]::/customers - Content check if 'address.country' exists\", function() {\n   pm.expect(_resAddressCountry !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"India\" for \"address.country\"\nif (_resAddressCountry !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.country' matches 'India'\", function() {\n  pm.expect(_resAddressCountry).to.eql(\"India\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine1 = jsonData?.address?.line1;\n",
+                      "// Response body should have \"address.line1\"\npm.test(\"[POST]::/customers - Content check if 'address.line1' exists\", function() {\n   pm.expect(_resAddressLine1 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Juspay router\" for \"address.line1\"\nif (_resAddressLine1 !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.line1' matches 'Juspay router'\", function() {\n  pm.expect(_resAddressLine1).to.eql(\"Juspay router\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine2 = jsonData?.address?.line2;\n",
+                      "// Response body should have \"address.line2\"\npm.test(\"[POST]::/customers - Content check if 'address.line2' exists\", function() {\n   pm.expect(_resAddressLine2 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Koramangala\" for \"address.line2\"\nif (_resAddressLine2 !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.line2' matches 'Koramangala'\", function() {\n  pm.expect(_resAddressLine2).to.eql(\"Koramangala\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine3 = jsonData?.address?.line3;\n",
+                      "// Response body should have \"address.line3\"\npm.test(\"[POST]::/customers - Content check if 'address.line3' exists\", function() {\n   pm.expect(_resAddressLine3 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Stallion\" for \"address.line3\"\nif (_resAddressLine3 !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.line3' matches 'Stallion'\", function() {\n  pm.expect(_resAddressLine3).to.eql(\"Stallion\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressState = jsonData?.address?.state;\n",
+                      "// Response body should have \"address.state\"\npm.test(\"[POST]::/customers - Content check if 'address.state' exists\", function() {\n   pm.expect(_resAddressState !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Karnataka\" for \"address.state\"\nif (_resAddressState !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.state' matches 'Karnataka'\", function() {\n  pm.expect(_resAddressState).to.eql(\"Karnataka\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressZip = jsonData?.address?.zip;\n",
+                      "// Response body should have \"address.zip\"\npm.test(\"[POST]::/customers - Content check if 'address.zip' exists\", function() {\n   pm.expect(_resAddressZip !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"560095\" for \"address.zip\"\nif (_resAddressZip !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.zip' matches '560095'\", function() {\n  pm.expect(_resAddressZip).to.eql(\"560095\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressFirstName = jsonData?.address?.first_name;\n",
+                      "// Response body should have \"address.first_name\"\npm.test(\"[POST]::/customers - Content check if 'address.first_name' exists\", function() {\n   pm.expect(_resAddressFirstName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"John\" for \"address.first_name\"\nif (_resAddressFirstName !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.first_name' matches 'John'\", function() {\n  pm.expect(_resAddressFirstName).to.eql(\"John\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLastName = jsonData?.address?.last_name;\n",
+                      "// Response body should have \"address.last_name\"\npm.test(\"[POST]::/customers - Content check if 'address.last_name' exists\", function() {\n   pm.expect(_resAddressLastName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Doe\" for \"address.last_name\"\nif (_resAddressLastName !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.last_name' matches 'Doe'\", function() {\n  pm.expect(_resAddressLastName).to.eql(\"Doe\");\n})};\n",
+                      "// Set property value as variable\nconst _resPhoneCountryCode = jsonData?.phone_country_code;\n",
+                      "// Response body should have \"phone_country_code\"\npm.test(\"[POST]::/customers - Content check if 'phone_country_code' exists\", function() {\n   pm.expect(_resPhoneCountryCode !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"+65\" for \"phone_country_code\"\nif (_resPhoneCountryCode !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'phone_country_code' matches '+65'\", function() {\n  pm.expect(_resPhoneCountryCode).to.eql(\"+65\");\n})};\n"
                     ]
                   }
                 }
@@ -2671,7 +2756,7 @@
               }
             },
             {
-              "id": "9e61c821-772a-4efa-a07f-170f4e02cc3e",
+              "id": "2ad84c00-097e-418e-810c-fda70a933d25",
               "name": "Create Customer[Create Customer without any details]",
               "request": {
                 "name": "Create Customer[Create Customer without any details]",
@@ -2715,43 +2800,58 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "104ef71a-b2ff-44bc-ba8e-f300369067b7",
+                    "id": "3c4ee7dd-cd0a-48a9-bc96-51a5c5ca93db",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/customers - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/customers - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":\"string\",\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone_country_code\":{\"type\":\"object\",\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":65},\"phone\":{\"type\":\"object\",\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"address\":{\"type\":\"object\",\"description\":\"The address for the customer\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"description\":{\"type\":\"object\",\"description\":\"An arbitrary string that you can attach to a customer object.\",\"maxLength\":255,\"example\":\"First customer\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/customers - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":\"string\",\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone_country_code\":{\"type\":\"object\",\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":65},\"phone\":{\"type\":\"object\",\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"address\":{\"type\":\"object\",\"description\":\"The address for the customer\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"description\":{\"type\":\"object\",\"description\":\"An arbitrary string that you can attach to a customer object.\",\"maxLength\":255,\"example\":\"First customer\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/customers - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"customer_id\"\npm.test(\"[POST]::/customers - Content check if 'customer_id' exists\", function() {\n   pm.expect((typeof jsonData.customer_id !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have a minimum length of \"1\" for \"customer_id\"\nif (jsonData?.customer_id) {\npm.test(\"[POST]::/customers - Content check if value of 'customer_id' has a minimum length of '1'\", function() {\n  pm.expect(jsonData.customer_id.length).is.at.least(1);\n})};\n",
-                      "// Response body should have \"name\"\npm.test(\"[POST]::/customers - Content check if 'name' exists\", function() {\n   pm.expect((typeof jsonData.name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"name\"\nif (jsonData?.name) {\npm.test(\"[POST]::/customers - Content check if value for 'name' matches 'NULL'\", function() {\n  pm.expect(jsonData.name).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"phone\"\npm.test(\"[POST]::/customers - Content check if 'phone' exists\", function() {\n   pm.expect((typeof jsonData.phone !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"phone\"\nif (jsonData?.phone) {\npm.test(\"[POST]::/customers - Content check if value for 'phone' matches 'NULL'\", function() {\n  pm.expect(jsonData.phone).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"email\"\npm.test(\"[POST]::/customers - Content check if 'email' exists\", function() {\n   pm.expect((typeof jsonData.email !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"email\"\nif (jsonData?.email) {\npm.test(\"[POST]::/customers - Content check if value for 'email' matches 'NULL'\", function() {\n  pm.expect(jsonData.email).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"description\"\npm.test(\"[POST]::/customers - Content check if 'description' exists\", function() {\n   pm.expect((typeof jsonData.description !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"description\"\nif (jsonData?.description) {\npm.test(\"[POST]::/customers - Content check if value for 'description' matches 'NULL'\", function() {\n  pm.expect(jsonData.description).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"address.city\"\npm.test(\"[POST]::/customers - Content check if 'address.city' exists\", function() {\n   pm.expect((typeof jsonData.address.city !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"address.city\"\nif (jsonData?.address?.city) {\npm.test(\"[POST]::/customers - Content check if value for 'address.city' matches 'NULL'\", function() {\n  pm.expect(jsonData.address.city).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"address.country\"\npm.test(\"[POST]::/customers - Content check if 'address.country' exists\", function() {\n   pm.expect((typeof jsonData.address.country !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"address.country\"\nif (jsonData?.address?.country) {\npm.test(\"[POST]::/customers - Content check if value for 'address.country' matches 'NULL'\", function() {\n  pm.expect(jsonData.address.country).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"address.line1\"\npm.test(\"[POST]::/customers - Content check if 'address.line1' exists\", function() {\n   pm.expect((typeof jsonData.address.line1 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"address.line1\"\nif (jsonData?.address?.line1) {\npm.test(\"[POST]::/customers - Content check if value for 'address.line1' matches 'NULL'\", function() {\n  pm.expect(jsonData.address.line1).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"address.line2\"\npm.test(\"[POST]::/customers - Content check if 'address.line2' exists\", function() {\n   pm.expect((typeof jsonData.address.line2 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"address.line2\"\nif (jsonData?.address?.line2) {\npm.test(\"[POST]::/customers - Content check if value for 'address.line2' matches 'NULL'\", function() {\n  pm.expect(jsonData.address.line2).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"address.line3\"\npm.test(\"[POST]::/customers - Content check if 'address.line3' exists\", function() {\n   pm.expect((typeof jsonData.address.line3 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"address.line3\"\nif (jsonData?.address?.line3) {\npm.test(\"[POST]::/customers - Content check if value for 'address.line3' matches 'NULL'\", function() {\n  pm.expect(jsonData.address.line3).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"address.state\"\npm.test(\"[POST]::/customers - Content check if 'address.state' exists\", function() {\n   pm.expect((typeof jsonData.address.state !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"address.state\"\nif (jsonData?.address?.state) {\npm.test(\"[POST]::/customers - Content check if value for 'address.state' matches 'NULL'\", function() {\n  pm.expect(jsonData.address.state).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"address.zip\"\npm.test(\"[POST]::/customers - Content check if 'address.zip' exists\", function() {\n   pm.expect((typeof jsonData.address.zip !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"address.zip\"\nif (jsonData?.address?.zip) {\npm.test(\"[POST]::/customers - Content check if value for 'address.zip' matches 'NULL'\", function() {\n  pm.expect(jsonData.address.zip).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"address.first_name\"\npm.test(\"[POST]::/customers - Content check if 'address.first_name' exists\", function() {\n   pm.expect((typeof jsonData.address.first_name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"address.first_name\"\nif (jsonData?.address?.first_name) {\npm.test(\"[POST]::/customers - Content check if value for 'address.first_name' matches 'NULL'\", function() {\n  pm.expect(jsonData.address.first_name).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"address.last_name\"\npm.test(\"[POST]::/customers - Content check if 'address.last_name' exists\", function() {\n   pm.expect((typeof jsonData.address.last_name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"address.last_name\"\nif (jsonData?.address?.last_name) {\npm.test(\"[POST]::/customers - Content check if value for 'address.last_name' matches 'NULL'\", function() {\n  pm.expect(jsonData.address.last_name).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"phone_country_code\"\npm.test(\"[POST]::/customers - Content check if 'phone_country_code' exists\", function() {\n   pm.expect((typeof jsonData.phone_country_code !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"phone_country_code\"\nif (jsonData?.phone_country_code) {\npm.test(\"[POST]::/customers - Content check if value for 'phone_country_code' matches 'NULL'\", function() {\n  pm.expect(jsonData.phone_country_code).to.eql(\"NULL\");\n})};\n"
+                      "// Set property value as variable\nconst _resCustomerId = jsonData?.customer_id;\n",
+                      "// Response body should have \"customer_id\"\npm.test(\"[POST]::/customers - Content check if 'customer_id' exists\", function() {\n   pm.expect(_resCustomerId !== undefined).to.be.true;\n});\n",
+                      "// Response body should have a minimum length of \"1\" for \"customer_id\"\nif (_resCustomerId !== undefined) {\npm.test(\"[POST]::/customers - Content check if value of 'customer_id' has a minimum length of '1'\", function() {\n  pm.expect(jsonData.customer_id.length).is.at.least(1);\n})};\n",
+                      "// Set property value as variable\nconst _resName = jsonData?.name;\n",
+                      "// Response body should have \"name\"\npm.test(\"[POST]::/customers - Content check if 'name' exists\", function() {\n   pm.expect(_resName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"name\"\nif (_resName !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'name' matches 'NULL'\", function() {\n  pm.expect(_resName).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resPhone = jsonData?.phone;\n",
+                      "// Response body should have \"phone\"\npm.test(\"[POST]::/customers - Content check if 'phone' exists\", function() {\n   pm.expect(_resPhone !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"phone\"\nif (_resPhone !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'phone' matches 'NULL'\", function() {\n  pm.expect(_resPhone).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resEmail = jsonData?.email;\n",
+                      "// Response body should have \"email\"\npm.test(\"[POST]::/customers - Content check if 'email' exists\", function() {\n   pm.expect(_resEmail !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"email\"\nif (_resEmail !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'email' matches 'NULL'\", function() {\n  pm.expect(_resEmail).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resDescription = jsonData?.description;\n",
+                      "// Response body should have \"description\"\npm.test(\"[POST]::/customers - Content check if 'description' exists\", function() {\n   pm.expect(_resDescription !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"description\"\nif (_resDescription !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'description' matches 'NULL'\", function() {\n  pm.expect(_resDescription).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressCity = jsonData?.address?.city;\n",
+                      "// Response body should have \"address.city\"\npm.test(\"[POST]::/customers - Content check if 'address.city' exists\", function() {\n   pm.expect(_resAddressCity !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"address.city\"\nif (_resAddressCity !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.city' matches 'NULL'\", function() {\n  pm.expect(_resAddressCity).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressCountry = jsonData?.address?.country;\n",
+                      "// Response body should have \"address.country\"\npm.test(\"[POST]::/customers - Content check if 'address.country' exists\", function() {\n   pm.expect(_resAddressCountry !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"address.country\"\nif (_resAddressCountry !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.country' matches 'NULL'\", function() {\n  pm.expect(_resAddressCountry).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine1 = jsonData?.address?.line1;\n",
+                      "// Response body should have \"address.line1\"\npm.test(\"[POST]::/customers - Content check if 'address.line1' exists\", function() {\n   pm.expect(_resAddressLine1 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"address.line1\"\nif (_resAddressLine1 !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.line1' matches 'NULL'\", function() {\n  pm.expect(_resAddressLine1).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine2 = jsonData?.address?.line2;\n",
+                      "// Response body should have \"address.line2\"\npm.test(\"[POST]::/customers - Content check if 'address.line2' exists\", function() {\n   pm.expect(_resAddressLine2 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"address.line2\"\nif (_resAddressLine2 !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.line2' matches 'NULL'\", function() {\n  pm.expect(_resAddressLine2).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine3 = jsonData?.address?.line3;\n",
+                      "// Response body should have \"address.line3\"\npm.test(\"[POST]::/customers - Content check if 'address.line3' exists\", function() {\n   pm.expect(_resAddressLine3 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"address.line3\"\nif (_resAddressLine3 !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.line3' matches 'NULL'\", function() {\n  pm.expect(_resAddressLine3).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressState = jsonData?.address?.state;\n",
+                      "// Response body should have \"address.state\"\npm.test(\"[POST]::/customers - Content check if 'address.state' exists\", function() {\n   pm.expect(_resAddressState !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"address.state\"\nif (_resAddressState !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.state' matches 'NULL'\", function() {\n  pm.expect(_resAddressState).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressZip = jsonData?.address?.zip;\n",
+                      "// Response body should have \"address.zip\"\npm.test(\"[POST]::/customers - Content check if 'address.zip' exists\", function() {\n   pm.expect(_resAddressZip !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"address.zip\"\nif (_resAddressZip !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.zip' matches 'NULL'\", function() {\n  pm.expect(_resAddressZip).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressFirstName = jsonData?.address?.first_name;\n",
+                      "// Response body should have \"address.first_name\"\npm.test(\"[POST]::/customers - Content check if 'address.first_name' exists\", function() {\n   pm.expect(_resAddressFirstName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"address.first_name\"\nif (_resAddressFirstName !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.first_name' matches 'NULL'\", function() {\n  pm.expect(_resAddressFirstName).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLastName = jsonData?.address?.last_name;\n",
+                      "// Response body should have \"address.last_name\"\npm.test(\"[POST]::/customers - Content check if 'address.last_name' exists\", function() {\n   pm.expect(_resAddressLastName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"address.last_name\"\nif (_resAddressLastName !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'address.last_name' matches 'NULL'\", function() {\n  pm.expect(_resAddressLastName).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resPhoneCountryCode = jsonData?.phone_country_code;\n",
+                      "// Response body should have \"phone_country_code\"\npm.test(\"[POST]::/customers - Content check if 'phone_country_code' exists\", function() {\n   pm.expect(_resPhoneCountryCode !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"phone_country_code\"\nif (_resPhoneCountryCode !== undefined) {\npm.test(\"[POST]::/customers - Content check if value for 'phone_country_code' matches 'NULL'\", function() {\n  pm.expect(_resPhoneCountryCode).to.eql(\"NULL\");\n})};\n"
                     ]
                   }
                 }
@@ -2761,7 +2861,7 @@
               }
             },
             {
-              "id": "062e163c-5a73-4943-b60f-576e63843c33",
+              "id": "deb8d5d4-9b37-4eae-b1ef-f35d9bcc17b2",
               "name": "Retrieve Customer[retrieve Customer without any details]",
               "request": {
                 "name": "Retrieve Customer[retrieve Customer without any details]",
@@ -2804,43 +2904,58 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "d4bc6d20-3bf0-4e6b-9d90-5e366c97a656",
+                    "id": "b2cb88a4-52c2-4241-b9a5-463c4c2a6723",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[GET]::/customers/:id - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[GET]::/customers/:id - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":\"string\",\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone_country_code\":{\"type\":\"object\",\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":65},\"phone\":{\"type\":\"object\",\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"address\":{\"type\":\"object\",\"description\":\"The address for the customer\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"description\":{\"type\":\"object\",\"description\":\"An arbitrary string that you can attach to a customer object.\",\"maxLength\":255,\"example\":\"First customer\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/customers/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Customer\",\"required\":[\"customer_id\"],\"properties\":{\"customer_id\":{\"type\":\"string\",\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":\"string\",\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone_country_code\":{\"type\":\"object\",\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":65},\"phone\":{\"type\":\"object\",\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"address\":{\"type\":\"object\",\"description\":\"The address for the customer\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"description\":{\"type\":\"object\",\"description\":\"An arbitrary string that you can attach to a customer object.\",\"maxLength\":255,\"example\":\"First customer\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/customers/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"customer_id\"\npm.test(\"[GET]::/customers/:id - Content check if 'customer_id' exists\", function() {\n   pm.expect((typeof jsonData.customer_id !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have a minimum length of \"1\" for \"customer_id\"\nif (jsonData?.customer_id) {\npm.test(\"[GET]::/customers/:id - Content check if value of 'customer_id' has a minimum length of '1'\", function() {\n  pm.expect(jsonData.customer_id.length).is.at.least(1);\n})};\n",
-                      "// Response body should have \"name\"\npm.test(\"[GET]::/customers/:id - Content check if 'name' exists\", function() {\n   pm.expect((typeof jsonData.name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"name\"\nif (jsonData?.name) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'name' matches 'NULL'\", function() {\n  pm.expect(jsonData.name).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"phone\"\npm.test(\"[GET]::/customers/:id - Content check if 'phone' exists\", function() {\n   pm.expect((typeof jsonData.phone !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"phone\"\nif (jsonData?.phone) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'phone' matches 'NULL'\", function() {\n  pm.expect(jsonData.phone).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"email\"\npm.test(\"[GET]::/customers/:id - Content check if 'email' exists\", function() {\n   pm.expect((typeof jsonData.email !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"email\"\nif (jsonData?.email) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'email' matches 'NULL'\", function() {\n  pm.expect(jsonData.email).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"description\"\npm.test(\"[GET]::/customers/:id - Content check if 'description' exists\", function() {\n   pm.expect((typeof jsonData.description !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"description\"\nif (jsonData?.description) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'description' matches 'NULL'\", function() {\n  pm.expect(jsonData.description).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"address.city\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.city' exists\", function() {\n   pm.expect((typeof jsonData.address.city !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"address.city\"\nif (jsonData?.address?.city) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.city' matches 'NULL'\", function() {\n  pm.expect(jsonData.address.city).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"address.country\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.country' exists\", function() {\n   pm.expect((typeof jsonData.address.country !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"address.country\"\nif (jsonData?.address?.country) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.country' matches 'NULL'\", function() {\n  pm.expect(jsonData.address.country).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"address.line1\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.line1' exists\", function() {\n   pm.expect((typeof jsonData.address.line1 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"address.line1\"\nif (jsonData?.address?.line1) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.line1' matches 'NULL'\", function() {\n  pm.expect(jsonData.address.line1).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"address.line2\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.line2' exists\", function() {\n   pm.expect((typeof jsonData.address.line2 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"address.line2\"\nif (jsonData?.address?.line2) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.line2' matches 'NULL'\", function() {\n  pm.expect(jsonData.address.line2).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"address.line3\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.line3' exists\", function() {\n   pm.expect((typeof jsonData.address.line3 !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"address.line3\"\nif (jsonData?.address?.line3) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.line3' matches 'NULL'\", function() {\n  pm.expect(jsonData.address.line3).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"address.state\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.state' exists\", function() {\n   pm.expect((typeof jsonData.address.state !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"address.state\"\nif (jsonData?.address?.state) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.state' matches 'NULL'\", function() {\n  pm.expect(jsonData.address.state).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"address.zip\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.zip' exists\", function() {\n   pm.expect((typeof jsonData.address.zip !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"address.zip\"\nif (jsonData?.address?.zip) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.zip' matches 'NULL'\", function() {\n  pm.expect(jsonData.address.zip).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"address.first_name\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.first_name' exists\", function() {\n   pm.expect((typeof jsonData.address.first_name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"address.first_name\"\nif (jsonData?.address?.first_name) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.first_name' matches 'NULL'\", function() {\n  pm.expect(jsonData.address.first_name).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"address.last_name\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.last_name' exists\", function() {\n   pm.expect((typeof jsonData.address.last_name !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"address.last_name\"\nif (jsonData?.address?.last_name) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.last_name' matches 'NULL'\", function() {\n  pm.expect(jsonData.address.last_name).to.eql(\"NULL\");\n})};\n",
-                      "// Response body should have \"phone_country_code\"\npm.test(\"[GET]::/customers/:id - Content check if 'phone_country_code' exists\", function() {\n   pm.expect((typeof jsonData.phone_country_code !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"NULL\" for \"phone_country_code\"\nif (jsonData?.phone_country_code) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'phone_country_code' matches 'NULL'\", function() {\n  pm.expect(jsonData.phone_country_code).to.eql(\"NULL\");\n})};\n"
+                      "// Set property value as variable\nconst _resCustomerId = jsonData?.customer_id;\n",
+                      "// Response body should have \"customer_id\"\npm.test(\"[GET]::/customers/:id - Content check if 'customer_id' exists\", function() {\n   pm.expect(_resCustomerId !== undefined).to.be.true;\n});\n",
+                      "// Response body should have a minimum length of \"1\" for \"customer_id\"\nif (_resCustomerId !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value of 'customer_id' has a minimum length of '1'\", function() {\n  pm.expect(jsonData.customer_id.length).is.at.least(1);\n})};\n",
+                      "// Set property value as variable\nconst _resName = jsonData?.name;\n",
+                      "// Response body should have \"name\"\npm.test(\"[GET]::/customers/:id - Content check if 'name' exists\", function() {\n   pm.expect(_resName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"name\"\nif (_resName !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'name' matches 'NULL'\", function() {\n  pm.expect(_resName).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resPhone = jsonData?.phone;\n",
+                      "// Response body should have \"phone\"\npm.test(\"[GET]::/customers/:id - Content check if 'phone' exists\", function() {\n   pm.expect(_resPhone !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"phone\"\nif (_resPhone !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'phone' matches 'NULL'\", function() {\n  pm.expect(_resPhone).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resEmail = jsonData?.email;\n",
+                      "// Response body should have \"email\"\npm.test(\"[GET]::/customers/:id - Content check if 'email' exists\", function() {\n   pm.expect(_resEmail !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"email\"\nif (_resEmail !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'email' matches 'NULL'\", function() {\n  pm.expect(_resEmail).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resDescription = jsonData?.description;\n",
+                      "// Response body should have \"description\"\npm.test(\"[GET]::/customers/:id - Content check if 'description' exists\", function() {\n   pm.expect(_resDescription !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"description\"\nif (_resDescription !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'description' matches 'NULL'\", function() {\n  pm.expect(_resDescription).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressCity = jsonData?.address?.city;\n",
+                      "// Response body should have \"address.city\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.city' exists\", function() {\n   pm.expect(_resAddressCity !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"address.city\"\nif (_resAddressCity !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.city' matches 'NULL'\", function() {\n  pm.expect(_resAddressCity).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressCountry = jsonData?.address?.country;\n",
+                      "// Response body should have \"address.country\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.country' exists\", function() {\n   pm.expect(_resAddressCountry !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"address.country\"\nif (_resAddressCountry !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.country' matches 'NULL'\", function() {\n  pm.expect(_resAddressCountry).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine1 = jsonData?.address?.line1;\n",
+                      "// Response body should have \"address.line1\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.line1' exists\", function() {\n   pm.expect(_resAddressLine1 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"address.line1\"\nif (_resAddressLine1 !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.line1' matches 'NULL'\", function() {\n  pm.expect(_resAddressLine1).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine2 = jsonData?.address?.line2;\n",
+                      "// Response body should have \"address.line2\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.line2' exists\", function() {\n   pm.expect(_resAddressLine2 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"address.line2\"\nif (_resAddressLine2 !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.line2' matches 'NULL'\", function() {\n  pm.expect(_resAddressLine2).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLine3 = jsonData?.address?.line3;\n",
+                      "// Response body should have \"address.line3\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.line3' exists\", function() {\n   pm.expect(_resAddressLine3 !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"address.line3\"\nif (_resAddressLine3 !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.line3' matches 'NULL'\", function() {\n  pm.expect(_resAddressLine3).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressState = jsonData?.address?.state;\n",
+                      "// Response body should have \"address.state\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.state' exists\", function() {\n   pm.expect(_resAddressState !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"address.state\"\nif (_resAddressState !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.state' matches 'NULL'\", function() {\n  pm.expect(_resAddressState).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressZip = jsonData?.address?.zip;\n",
+                      "// Response body should have \"address.zip\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.zip' exists\", function() {\n   pm.expect(_resAddressZip !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"address.zip\"\nif (_resAddressZip !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.zip' matches 'NULL'\", function() {\n  pm.expect(_resAddressZip).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressFirstName = jsonData?.address?.first_name;\n",
+                      "// Response body should have \"address.first_name\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.first_name' exists\", function() {\n   pm.expect(_resAddressFirstName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"address.first_name\"\nif (_resAddressFirstName !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.first_name' matches 'NULL'\", function() {\n  pm.expect(_resAddressFirstName).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resAddressLastName = jsonData?.address?.last_name;\n",
+                      "// Response body should have \"address.last_name\"\npm.test(\"[GET]::/customers/:id - Content check if 'address.last_name' exists\", function() {\n   pm.expect(_resAddressLastName !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"address.last_name\"\nif (_resAddressLastName !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'address.last_name' matches 'NULL'\", function() {\n  pm.expect(_resAddressLastName).to.eql(\"NULL\");\n})};\n",
+                      "// Set property value as variable\nconst _resPhoneCountryCode = jsonData?.phone_country_code;\n",
+                      "// Response body should have \"phone_country_code\"\npm.test(\"[GET]::/customers/:id - Content check if 'phone_country_code' exists\", function() {\n   pm.expect(_resPhoneCountryCode !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"NULL\" for \"phone_country_code\"\nif (_resPhoneCountryCode !== undefined) {\npm.test(\"[GET]::/customers/:id - Content check if value for 'phone_country_code' matches 'NULL'\", function() {\n  pm.expect(_resPhoneCountryCode).to.eql(\"NULL\");\n})};\n"
                     ]
                   }
                 }
@@ -2850,11 +2965,11 @@
           "event": []
         },
         {
-          "id": "4edab4ad-be4a-4933-a4bf-bc377e052ee9",
+          "id": "2189d368-4217-47c4-8b6e-19483c9e4d4b",
           "name": "Payments Variations",
           "item": [
             {
-              "id": "6a0af959-ece2-47f0-8a94-b4d258bec048",
+              "id": "5cde1906-ef2f-4ccc-aaf1-4f244bb7e8ea",
               "name": "Payments - Create[Verify Succeeded state]",
               "request": {
                 "name": "Payments - Create[Verify Succeeded state]",
@@ -2885,7 +3000,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n  \"amount\": 6540,\n  \"currency\": \"USD\",\n  \"payment_id\": \"pay_mbabizu24mvu3mela5njyhpit4\",\n  \"confirm\": true,\n  \"capture_method\": \"automatic\",\n  \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n  \"amount_to_capture\": 6540,\n  \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n  \"description\": \"Its my first payment request\",\n  \"email\": \"JohnTest@test.com\",\n  \"name\": \"John Test\",\n  \"phone\": \"irure Lorem\",\n  \"phone_country_code\": \"+65\",\n  \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n  \"setup_future_usage\": \"off_session\",\n  \"off_session\": true,\n  \"mandate_data\": {\n    \"customer_acceptance\": {\n      \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n      \"online\": {\n        \"ip_address\": \"127.0.0.1\",\n        \"user_agent\": \"device\"\n      },\n      \"acceptance_type\": \"online\"\n    }\n  },\n  \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n  \"authentication_type\": \"three_ds\",\n  \"payment_method\": \"card\",\n  \"payment_method_data\": {\n    \"card\": {\n      \"card_number\": \"pariatur Excepteur id doculpa \",\n      \"card_exp_month\": \"10\",\n      \"card_exp_year\": \"25\",\n      \"card_holder_name\": \"John Doe\",\n      \"card_cvc\": \"123\",\n      \"card_token\": \"irureveniam et sed enim occaec\"\n    }\n  },\n  \"billing\": {\n    \"line1\": \"Juspay Router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"city\": \"Bangalore\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"country\": \"IN\"\n  },\n  \"shipping\": {\n    \"line1\": \"Juspay Router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"city\": \"Bangalore\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"country\": \"IN\"\n  },\n  \"statement_descriptor_name\": \"Juspay Router\",\n  \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n  \"metadata\": {\n    \"city\": \"NY\",\n    \"unit\": \"245\"\n  }\n}",
+                  "raw": "{\n  \"amount\": 6540,\n  \"currency\": \"USD\",\n  \"payment_id\": \"pay_mbabizu24mvu3mela5njyhpit4\",\n  \"confirm\": true,\n  \"capture_method\": \"automatic\",\n  \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n  \"amount_to_capture\": 6540,\n  \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n  \"description\": \"Its my first payment request\",\n  \"email\": \"JohnTest@test.com\",\n  \"name\": \"John Test\",\n  \"phone\": \"ipsum sint commodo Lo\",\n  \"phone_country_code\": \"+65\",\n  \"return_url\": \"https://juspay.io/\",\n  \"setup_future_usage\": \"off_session\",\n  \"off_session\": true,\n  \"mandate_data\": {\n    \"customer_acceptance\": {\n      \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n      \"online\": {\n        \"ip_address\": \"127.0.0.1\",\n        \"user_agent\": \"device\"\n      },\n      \"acceptance_type\": \"online\"\n    }\n  },\n  \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n  \"authentication_type\": \"no_three_ds\",\n  \"payment_method\": \"card\",\n  \"payment_method_data\": {\n    \"card\": {\n      \"card_number\": \"dolor dolore est ullamcosunt e\",\n      \"card_exp_month\": \"10\",\n      \"card_exp_year\": \"25\",\n      \"card_holder_name\": \"John Doe\",\n      \"card_cvc\": \"123\",\n      \"card_token\": \"consequat sint animad laboris \"\n    }\n  },\n  \"billing\": {\n    \"line1\": \"Juspay Router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"city\": \"Bangalore\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"country\": \"IN\"\n  },\n  \"shipping\": {\n    \"line1\": \"Juspay Router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"city\": \"Bangalore\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"country\": \"IN\"\n  },\n  \"statement_descriptor_name\": \"Juspay Router\",\n  \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n  \"metadata\": {\n    \"city\": \"NY\",\n    \"unit\": \"245\"\n  }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -2898,19 +3013,22 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "a7a3fbef-bdf9-4a64-aa38-8c66758ade9c",
+                    "id": "d6ded059-34bc-4334-960d-ab21c4d03967",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Succeeded\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[POST]::/payments - Content check if value for 'status' matches 'Succeeded'\", function() {\n  pm.expect(jsonData.status).to.eql(\"Succeeded\");\n})};\n",
-                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments - Content check if 'amount' exists\", function() {\n   pm.expect((typeof jsonData.amount !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"6540\" for \"amount\"\nif (jsonData?.amount) {\npm.test(\"[POST]::/payments - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(jsonData.amount).to.eql(\"6540\");\n})};\n",
-                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments - Content check if 'currency' exists\", function() {\n   pm.expect((typeof jsonData.currency !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"USD\" for \"currency\"\nif (jsonData?.currency) {\npm.test(\"[POST]::/payments - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(jsonData.currency).to.eql(\"USD\");\n})};\n"
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Succeeded\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'status' matches 'Succeeded'\", function() {\n  pm.expect(_resStatus).to.eql(\"Succeeded\");\n})};\n",
+                      "// Set property value as variable\nconst _resAmount = jsonData?.amount;\n",
+                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments - Content check if 'amount' exists\", function() {\n   pm.expect(_resAmount !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"6540\" for \"amount\"\nif (_resAmount !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(_resAmount).to.eql(\"6540\");\n})};\n",
+                      "// Set property value as variable\nconst _resCurrency = jsonData?.currency;\n",
+                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments - Content check if 'currency' exists\", function() {\n   pm.expect(_resCurrency !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"USD\" for \"currency\"\nif (_resCurrency !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(_resCurrency).to.eql(\"USD\");\n})};\n"
                     ]
                   }
                 }
@@ -2920,7 +3038,7 @@
               }
             },
             {
-              "id": "46cadd0f-75f8-4d46-89b9-e846c52e6388",
+              "id": "4ae35fa8-ba04-447f-b025-3e26dd0596c8",
               "name": "Payments - Retrieve[Verify succeeded state]",
               "request": {
                 "name": "Payments - Retrieve[Verify succeeded state]",
@@ -2963,31 +3081,34 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "e9775136-8b48-4109-a3af-beacb9334e9b",
+                    "id": "d11840ee-b8b9-40d5-92f2-f90a8248f44f",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[GET]::/payments/:id - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"status\"\npm.test(\"[GET]::/payments/:id - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Succeeded\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'status' matches 'Succeeded'\", function() {\n  pm.expect(jsonData.status).to.eql(\"Succeeded\");\n})};\n",
-                      "// Response body should have \"amount\"\npm.test(\"[GET]::/payments/:id - Content check if 'amount' exists\", function() {\n   pm.expect((typeof jsonData.amount !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"6540\" for \"amount\"\nif (jsonData?.amount) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(jsonData.amount).to.eql(\"6540\");\n})};\n",
-                      "// Response body should have \"currency\"\npm.test(\"[GET]::/payments/:id - Content check if 'currency' exists\", function() {\n   pm.expect((typeof jsonData.currency !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"USD\" for \"currency\"\nif (jsonData?.currency) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(jsonData.currency).to.eql(\"USD\");\n})};\n"
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[GET]::/payments/:id - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Succeeded\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'status' matches 'Succeeded'\", function() {\n  pm.expect(_resStatus).to.eql(\"Succeeded\");\n})};\n",
+                      "// Set property value as variable\nconst _resAmount = jsonData?.amount;\n",
+                      "// Response body should have \"amount\"\npm.test(\"[GET]::/payments/:id - Content check if 'amount' exists\", function() {\n   pm.expect(_resAmount !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"6540\" for \"amount\"\nif (_resAmount !== undefined) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(_resAmount).to.eql(\"6540\");\n})};\n",
+                      "// Set property value as variable\nconst _resCurrency = jsonData?.currency;\n",
+                      "// Response body should have \"currency\"\npm.test(\"[GET]::/payments/:id - Content check if 'currency' exists\", function() {\n   pm.expect(_resCurrency !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"USD\" for \"currency\"\nif (_resCurrency !== undefined) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(_resCurrency).to.eql(\"USD\");\n})};\n"
                     ]
                   }
                 }
               ]
             },
             {
-              "id": "1724ad7c-4dfa-4d7d-9a08-3c7d156056d5",
+              "id": "46eb7e07-9541-44c2-991b-8312847a8f5d",
               "name": "Payments - Confirm[confirm payment for succeeded state]",
               "request": {
                 "name": "Payments - Confirm[confirm payment for succeeded state]",
                 "description": {
-                  "content": "This API is to confirm the payment request and foward payment to the payment processor. This API provides more granular control upon when the API is forwarded to the payment processor. Alternatively you can confirm the payment within the Payments-Create API",
+                  "content": "This API is to confirm the payment request and forward payment to the payment processor. This API provides more granular control upon when the API is forwarded to the payment processor. Alternatively you can confirm the payment within the Payments-Create API",
                   "type": "text/plain"
                 },
                 "url": {
@@ -3039,15 +3160,16 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "3e0183d4-4ce1-4569-b457-c3a96f329302",
+                    "id": "21ef892b-700a-41ad-8bcf-87b5f0365271",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments/:id/confirm - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments/:id/confirm - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id/confirm - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id/confirm - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments/:id/confirm - Content check if 'message' exists\", function() {\n   pm.expect((typeof jsonData.message !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"You cannot confirm this PaymentIntent because it has already succeeded after being previously confirmed.\" for \"message\"\nif (jsonData?.message) {\npm.test(\"[POST]::/payments/:id/confirm - Content check if value for 'message' matches 'You cannot confirm this PaymentIntent because it has already succeeded after being previously confirmed.'\", function() {\n  pm.expect(jsonData.message).to.eql(\"You cannot confirm this PaymentIntent because it has already succeeded after being previously confirmed.\");\n})};\n"
+                      "// Set property value as variable\nconst _resMessage = jsonData?.message;\n",
+                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments/:id/confirm - Content check if 'message' exists\", function() {\n   pm.expect(_resMessage !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"You cannot confirm this PaymentIntent because it has already succeeded after being previously confirmed.\" for \"message\"\nif (_resMessage !== undefined) {\npm.test(\"[POST]::/payments/:id/confirm - Content check if value for 'message' matches 'You cannot confirm this PaymentIntent because it has already succeeded after being previously confirmed.'\", function() {\n  pm.expect(_resMessage).to.eql(\"You cannot confirm this PaymentIntent because it has already succeeded after being previously confirmed.\");\n})};\n"
                     ]
                   }
                 }
@@ -3057,7 +3179,7 @@
               }
             },
             {
-              "id": "4c21d3d3-c116-4b4e-b31a-5167f574b88c",
+              "id": "4d1f702f-fb13-4222-a166-5b2bbeabf13c",
               "name": "Payments - Create[Verify RequireConfirmation state]",
               "request": {
                 "name": "Payments - Create[Verify RequireConfirmation state]",
@@ -3088,7 +3210,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"confirm\": false,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"irure Lorem\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"pariatur Excepteur id doculpa \",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"irureveniam et sed enim occaec\"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
+                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"confirm\": false,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"ipsum sint commodo Lo\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"https://juspay.io/\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"no_three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"dolor dolore est ullamcosunt e\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"consequat sint animad laboris \"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -3101,19 +3223,22 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "ae986bc3-5892-4b06-af91-22064aa3632f",
+                    "id": "7bb2b8b9-355d-428b-b924-841f3626603c",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"requires_confirmation\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[POST]::/payments - Content check if value for 'status' matches 'requires_confirmation'\", function() {\n  pm.expect(jsonData.status).to.eql(\"requires_confirmation\");\n})};\n",
-                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments - Content check if 'amount' exists\", function() {\n   pm.expect((typeof jsonData.amount !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"6540\" for \"amount\"\nif (jsonData?.amount) {\npm.test(\"[POST]::/payments - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(jsonData.amount).to.eql(\"6540\");\n})};\n",
-                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments - Content check if 'currency' exists\", function() {\n   pm.expect((typeof jsonData.currency !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"USD\" for \"currency\"\nif (jsonData?.currency) {\npm.test(\"[POST]::/payments - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(jsonData.currency).to.eql(\"USD\");\n})};\n"
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"requires_confirmation\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'status' matches 'requires_confirmation'\", function() {\n  pm.expect(_resStatus).to.eql(\"requires_confirmation\");\n})};\n",
+                      "// Set property value as variable\nconst _resAmount = jsonData?.amount;\n",
+                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments - Content check if 'amount' exists\", function() {\n   pm.expect(_resAmount !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"6540\" for \"amount\"\nif (_resAmount !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(_resAmount).to.eql(\"6540\");\n})};\n",
+                      "// Set property value as variable\nconst _resCurrency = jsonData?.currency;\n",
+                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments - Content check if 'currency' exists\", function() {\n   pm.expect(_resCurrency !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"USD\" for \"currency\"\nif (_resCurrency !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(_resCurrency).to.eql(\"USD\");\n})};\n"
                     ]
                   }
                 }
@@ -3123,7 +3248,7 @@
               }
             },
             {
-              "id": "0669602b-51e8-4e79-a999-5350581c82af",
+              "id": "f111ceca-b367-45bd-b0f8-6af5d4818fb4",
               "name": "Payments - Retrieve[Verify RequireConfirmation state]",
               "request": {
                 "name": "Payments - Retrieve[Verify RequireConfirmation state]",
@@ -3166,31 +3291,34 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "b21a55b6-8f6c-4430-8ec1-1800fbde6d18",
+                    "id": "b8b243b2-8faf-4fb7-b6bd-23608b585d5d",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[GET]::/payments/:id - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"status\"\npm.test(\"[GET]::/payments/:id - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"requires_confirmation\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'status' matches 'requires_confirmation'\", function() {\n  pm.expect(jsonData.status).to.eql(\"requires_confirmation\");\n})};\n",
-                      "// Response body should have \"amount\"\npm.test(\"[GET]::/payments/:id - Content check if 'amount' exists\", function() {\n   pm.expect((typeof jsonData.amount !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"6540\" for \"amount\"\nif (jsonData?.amount) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(jsonData.amount).to.eql(\"6540\");\n})};\n",
-                      "// Response body should have \"currency\"\npm.test(\"[GET]::/payments/:id - Content check if 'currency' exists\", function() {\n   pm.expect((typeof jsonData.currency !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"USD\" for \"currency\"\nif (jsonData?.currency) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(jsonData.currency).to.eql(\"USD\");\n})};\n"
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[GET]::/payments/:id - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"requires_confirmation\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'status' matches 'requires_confirmation'\", function() {\n  pm.expect(_resStatus).to.eql(\"requires_confirmation\");\n})};\n",
+                      "// Set property value as variable\nconst _resAmount = jsonData?.amount;\n",
+                      "// Response body should have \"amount\"\npm.test(\"[GET]::/payments/:id - Content check if 'amount' exists\", function() {\n   pm.expect(_resAmount !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"6540\" for \"amount\"\nif (_resAmount !== undefined) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(_resAmount).to.eql(\"6540\");\n})};\n",
+                      "// Set property value as variable\nconst _resCurrency = jsonData?.currency;\n",
+                      "// Response body should have \"currency\"\npm.test(\"[GET]::/payments/:id - Content check if 'currency' exists\", function() {\n   pm.expect(_resCurrency !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"USD\" for \"currency\"\nif (_resCurrency !== undefined) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(_resCurrency).to.eql(\"USD\");\n})};\n"
                     ]
                   }
                 }
               ]
             },
             {
-              "id": "33232b1d-375c-466e-a7ad-140c62438f13",
+              "id": "6658f201-c49f-4652-8577-f76dc036d961",
               "name": "Payments - Confirm[confirm the payment]",
               "request": {
                 "name": "Payments - Confirm[confirm the payment]",
                 "description": {
-                  "content": "This API is to confirm the payment request and foward payment to the payment processor. This API provides more granular control upon when the API is forwarded to the payment processor. Alternatively you can confirm the payment within the Payments-Create API",
+                  "content": "This API is to confirm the payment request and forward payment to the payment processor. This API provides more granular control upon when the API is forwarded to the payment processor. Alternatively you can confirm the payment within the Payments-Create API",
                   "type": "text/plain"
                 },
                 "url": {
@@ -3242,19 +3370,22 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "756aa163-89f1-46a2-b068-8eb465983fcd",
+                    "id": "dd14538d-3aff-4d86-aeb6-789443e01040",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments/:id/confirm - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments/:id/confirm - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id/confirm - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id/confirm - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments/:id/confirm - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"succeeded\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[POST]::/payments/:id/confirm - Content check if value for 'status' matches 'succeeded'\", function() {\n  pm.expect(jsonData.status).to.eql(\"succeeded\");\n})};\n",
-                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments/:id/confirm - Content check if 'amount' exists\", function() {\n   pm.expect((typeof jsonData.amount !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"6540\" for \"amount\"\nif (jsonData?.amount) {\npm.test(\"[POST]::/payments/:id/confirm - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(jsonData.amount).to.eql(\"6540\");\n})};\n",
-                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments/:id/confirm - Content check if 'currency' exists\", function() {\n   pm.expect((typeof jsonData.currency !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"USD\" for \"currency\"\nif (jsonData?.currency) {\npm.test(\"[POST]::/payments/:id/confirm - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(jsonData.currency).to.eql(\"USD\");\n})};\n"
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments/:id/confirm - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"succeeded\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[POST]::/payments/:id/confirm - Content check if value for 'status' matches 'succeeded'\", function() {\n  pm.expect(_resStatus).to.eql(\"succeeded\");\n})};\n",
+                      "// Set property value as variable\nconst _resAmount = jsonData?.amount;\n",
+                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments/:id/confirm - Content check if 'amount' exists\", function() {\n   pm.expect(_resAmount !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"6540\" for \"amount\"\nif (_resAmount !== undefined) {\npm.test(\"[POST]::/payments/:id/confirm - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(_resAmount).to.eql(\"6540\");\n})};\n",
+                      "// Set property value as variable\nconst _resCurrency = jsonData?.currency;\n",
+                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments/:id/confirm - Content check if 'currency' exists\", function() {\n   pm.expect(_resCurrency !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"USD\" for \"currency\"\nif (_resCurrency !== undefined) {\npm.test(\"[POST]::/payments/:id/confirm - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(_resCurrency).to.eql(\"USD\");\n})};\n"
                     ]
                   }
                 }
@@ -3264,7 +3395,7 @@
               }
             },
             {
-              "id": "e434ab03-db4b-479e-87b9-8aaf796a0252",
+              "id": "617e8ec2-4e82-4b9a-a46e-811b31c4d6e5",
               "name": "Payments - Retrieve[Verify Succeeded after confirm]",
               "request": {
                 "name": "Payments - Retrieve[Verify Succeeded after confirm]",
@@ -3307,26 +3438,29 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "a3023af2-9e7d-43ba-9e96-3f81b92520ae",
+                    "id": "45d85423-934f-4001-b340-9c8689731389",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[GET]::/payments/:id - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"status\"\npm.test(\"[GET]::/payments/:id - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"succeeded\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'status' matches 'succeeded'\", function() {\n  pm.expect(jsonData.status).to.eql(\"succeeded\");\n})};\n",
-                      "// Response body should have \"amount\"\npm.test(\"[GET]::/payments/:id - Content check if 'amount' exists\", function() {\n   pm.expect((typeof jsonData.amount !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"6540\" for \"amount\"\nif (jsonData?.amount) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(jsonData.amount).to.eql(\"6540\");\n})};\n",
-                      "// Response body should have \"currency\"\npm.test(\"[GET]::/payments/:id - Content check if 'currency' exists\", function() {\n   pm.expect((typeof jsonData.currency !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"USD\" for \"currency\"\nif (jsonData?.currency) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(jsonData.currency).to.eql(\"USD\");\n})};\n"
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[GET]::/payments/:id - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"succeeded\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'status' matches 'succeeded'\", function() {\n  pm.expect(_resStatus).to.eql(\"succeeded\");\n})};\n",
+                      "// Set property value as variable\nconst _resAmount = jsonData?.amount;\n",
+                      "// Response body should have \"amount\"\npm.test(\"[GET]::/payments/:id - Content check if 'amount' exists\", function() {\n   pm.expect(_resAmount !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"6540\" for \"amount\"\nif (_resAmount !== undefined) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(_resAmount).to.eql(\"6540\");\n})};\n",
+                      "// Set property value as variable\nconst _resCurrency = jsonData?.currency;\n",
+                      "// Response body should have \"currency\"\npm.test(\"[GET]::/payments/:id - Content check if 'currency' exists\", function() {\n   pm.expect(_resCurrency !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"USD\" for \"currency\"\nif (_resCurrency !== undefined) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(_resCurrency).to.eql(\"USD\");\n})};\n"
                     ]
                   }
                 }
               ]
             },
             {
-              "id": "fd5e6c53-7765-4ecd-9c84-3236751b31ce",
+              "id": "9f023cde-adaf-4ec7-a097-bdb1e5a700a5",
               "name": "Payments - Create[Verify RequiresPaymentMethod state]",
               "request": {
                 "name": "Payments - Create[Verify RequiresPaymentMethod state]",
@@ -3357,7 +3491,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"irure Lorem\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"three_ds\",\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
+                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"ipsum sint commodo Lo\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"https://juspay.io/\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"no_three_ds\",\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -3370,19 +3504,22 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "c8db4e81-2e94-4f07-b97d-3372c51b1275",
+                    "id": "232ea5e1-8472-48ac-8383-7592efd72c62",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"requires_payment_method\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[POST]::/payments - Content check if value for 'status' matches 'requires_payment_method'\", function() {\n  pm.expect(jsonData.status).to.eql(\"requires_payment_method\");\n})};\n",
-                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments - Content check if 'amount' exists\", function() {\n   pm.expect((typeof jsonData.amount !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"6540\" for \"amount\"\nif (jsonData?.amount) {\npm.test(\"[POST]::/payments - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(jsonData.amount).to.eql(\"6540\");\n})};\n",
-                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments - Content check if 'currency' exists\", function() {\n   pm.expect((typeof jsonData.currency !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"USD\" for \"currency\"\nif (jsonData?.currency) {\npm.test(\"[POST]::/payments - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(jsonData.currency).to.eql(\"USD\");\n})};\n"
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"requires_payment_method\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'status' matches 'requires_payment_method'\", function() {\n  pm.expect(_resStatus).to.eql(\"requires_payment_method\");\n})};\n",
+                      "// Set property value as variable\nconst _resAmount = jsonData?.amount;\n",
+                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments - Content check if 'amount' exists\", function() {\n   pm.expect(_resAmount !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"6540\" for \"amount\"\nif (_resAmount !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(_resAmount).to.eql(\"6540\");\n})};\n",
+                      "// Set property value as variable\nconst _resCurrency = jsonData?.currency;\n",
+                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments - Content check if 'currency' exists\", function() {\n   pm.expect(_resCurrency !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"USD\" for \"currency\"\nif (_resCurrency !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(_resCurrency).to.eql(\"USD\");\n})};\n"
                     ]
                   }
                 }
@@ -3392,7 +3529,7 @@
               }
             },
             {
-              "id": "c7d44387-92f3-4676-abcd-aa87b5df0be6",
+              "id": "1068c7e9-554c-4609-bc91-3690f0546f08",
               "name": "Payments - Retrieve[Verify RequiresPaymentMethod state]",
               "request": {
                 "name": "Payments - Retrieve[Verify RequiresPaymentMethod state]",
@@ -3435,31 +3572,34 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "2d43e718-6e36-49bc-a757-1ede51f5b06d",
+                    "id": "3825289e-a236-4edb-b99a-137231d61655",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[GET]::/payments/:id - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"status\"\npm.test(\"[GET]::/payments/:id - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"requires_payment_method\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'status' matches 'requires_payment_method'\", function() {\n  pm.expect(jsonData.status).to.eql(\"requires_payment_method\");\n})};\n",
-                      "// Response body should have \"amount\"\npm.test(\"[GET]::/payments/:id - Content check if 'amount' exists\", function() {\n   pm.expect((typeof jsonData.amount !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"6540\" for \"amount\"\nif (jsonData?.amount) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(jsonData.amount).to.eql(\"6540\");\n})};\n",
-                      "// Response body should have \"currency\"\npm.test(\"[GET]::/payments/:id - Content check if 'currency' exists\", function() {\n   pm.expect((typeof jsonData.currency !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"USD\" for \"currency\"\nif (jsonData?.currency) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(jsonData.currency).to.eql(\"USD\");\n})};\n"
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[GET]::/payments/:id - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"requires_payment_method\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'status' matches 'requires_payment_method'\", function() {\n  pm.expect(_resStatus).to.eql(\"requires_payment_method\");\n})};\n",
+                      "// Set property value as variable\nconst _resAmount = jsonData?.amount;\n",
+                      "// Response body should have \"amount\"\npm.test(\"[GET]::/payments/:id - Content check if 'amount' exists\", function() {\n   pm.expect(_resAmount !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"6540\" for \"amount\"\nif (_resAmount !== undefined) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(_resAmount).to.eql(\"6540\");\n})};\n",
+                      "// Set property value as variable\nconst _resCurrency = jsonData?.currency;\n",
+                      "// Response body should have \"currency\"\npm.test(\"[GET]::/payments/:id - Content check if 'currency' exists\", function() {\n   pm.expect(_resCurrency !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"USD\" for \"currency\"\nif (_resCurrency !== undefined) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(_resCurrency).to.eql(\"USD\");\n})};\n"
                     ]
                   }
                 }
               ]
             },
             {
-              "id": "9858993c-491f-4e2c-8ab4-acce4ce201ca",
+              "id": "1237656f-5bf9-4524-99a2-8006f9e3fe30",
               "name": "Payments - Confirm[confirm the payment which in requires_payment_method]",
               "request": {
                 "name": "Payments - Confirm[confirm the payment which in requires_payment_method]",
                 "description": {
-                  "content": "This API is to confirm the payment request and foward payment to the payment processor. This API provides more granular control upon when the API is forwarded to the payment processor. Alternatively you can confirm the payment within the Payments-Create API",
+                  "content": "This API is to confirm the payment request and forward payment to the payment processor. This API provides more granular control upon when the API is forwarded to the payment processor. Alternatively you can confirm the payment within the Payments-Create API",
                   "type": "text/plain"
                 },
                 "url": {
@@ -3511,19 +3651,22 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "93e835b1-29c8-413e-ae48-9452a24146da",
+                    "id": "2acff02c-fe02-4315-9e57-756c6d5f9d0c",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments/:id/confirm - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments/:id/confirm - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id/confirm - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id/confirm - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments/:id/confirm - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"succeeded\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[POST]::/payments/:id/confirm - Content check if value for 'status' matches 'succeeded'\", function() {\n  pm.expect(jsonData.status).to.eql(\"succeeded\");\n})};\n",
-                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments/:id/confirm - Content check if 'amount' exists\", function() {\n   pm.expect((typeof jsonData.amount !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"6540\" for \"amount\"\nif (jsonData?.amount) {\npm.test(\"[POST]::/payments/:id/confirm - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(jsonData.amount).to.eql(\"6540\");\n})};\n",
-                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments/:id/confirm - Content check if 'currency' exists\", function() {\n   pm.expect((typeof jsonData.currency !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"USD\" for \"currency\"\nif (jsonData?.currency) {\npm.test(\"[POST]::/payments/:id/confirm - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(jsonData.currency).to.eql(\"USD\");\n})};\n"
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments/:id/confirm - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"succeeded\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[POST]::/payments/:id/confirm - Content check if value for 'status' matches 'succeeded'\", function() {\n  pm.expect(_resStatus).to.eql(\"succeeded\");\n})};\n",
+                      "// Set property value as variable\nconst _resAmount = jsonData?.amount;\n",
+                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments/:id/confirm - Content check if 'amount' exists\", function() {\n   pm.expect(_resAmount !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"6540\" for \"amount\"\nif (_resAmount !== undefined) {\npm.test(\"[POST]::/payments/:id/confirm - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(_resAmount).to.eql(\"6540\");\n})};\n",
+                      "// Set property value as variable\nconst _resCurrency = jsonData?.currency;\n",
+                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments/:id/confirm - Content check if 'currency' exists\", function() {\n   pm.expect(_resCurrency !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"USD\" for \"currency\"\nif (_resCurrency !== undefined) {\npm.test(\"[POST]::/payments/:id/confirm - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(_resCurrency).to.eql(\"USD\");\n})};\n"
                     ]
                   }
                 }
@@ -3533,7 +3676,7 @@
               }
             },
             {
-              "id": "f9d84292-b3ca-4011-98de-e1dfd6235a64",
+              "id": "a978b41e-5bd8-411d-ac61-1d642b0e821b",
               "name": "Payments - Create[Verify RequiresCapture state]",
               "request": {
                 "name": "Payments - Create[Verify RequiresCapture state]",
@@ -3564,7 +3707,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": \"100\",\n    \"currency\": \"INR\",\n    \"confirm\": true,\n    \"capture_method\": \"manual\",\n    \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"irure Lorem\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"pariatur Excepteur id doculpa \",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"irureveniam et sed enim occaec\"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
+                  "raw": "{\n    \"amount\": \"100\",\n    \"currency\": \"INR\",\n    \"confirm\": true,\n    \"capture_method\": \"manual\",\n    \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"ipsum sint commodo Lo\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"https://juspay.io/\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"no_three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"dolor dolore est ullamcosunt e\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"consequat sint animad laboris \"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -3577,19 +3720,22 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "a2bde830-18d3-4619-93d1-0d5431da1794",
+                    "id": "ad3b048f-dde3-4fa5-8b31-4814e8eb19d3",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"requires_capture\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[POST]::/payments - Content check if value for 'status' matches 'requires_capture'\", function() {\n  pm.expect(jsonData.status).to.eql(\"requires_capture\");\n})};\n",
-                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments - Content check if 'amount' exists\", function() {\n   pm.expect((typeof jsonData.amount !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"100\" for \"amount\"\nif (jsonData?.amount) {\npm.test(\"[POST]::/payments - Content check if value for 'amount' matches '100'\", function() {\n  pm.expect(jsonData.amount).to.eql(\"100\");\n})};\n",
-                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments - Content check if 'currency' exists\", function() {\n   pm.expect((typeof jsonData.currency !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"INR\" for \"currency\"\nif (jsonData?.currency) {\npm.test(\"[POST]::/payments - Content check if value for 'currency' matches 'INR'\", function() {\n  pm.expect(jsonData.currency).to.eql(\"INR\");\n})};\n"
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"requires_capture\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'status' matches 'requires_capture'\", function() {\n  pm.expect(_resStatus).to.eql(\"requires_capture\");\n})};\n",
+                      "// Set property value as variable\nconst _resAmount = jsonData?.amount;\n",
+                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments - Content check if 'amount' exists\", function() {\n   pm.expect(_resAmount !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"100\" for \"amount\"\nif (_resAmount !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'amount' matches '100'\", function() {\n  pm.expect(_resAmount).to.eql(\"100\");\n})};\n",
+                      "// Set property value as variable\nconst _resCurrency = jsonData?.currency;\n",
+                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments - Content check if 'currency' exists\", function() {\n   pm.expect(_resCurrency !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"INR\" for \"currency\"\nif (_resCurrency !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'currency' matches 'INR'\", function() {\n  pm.expect(_resCurrency).to.eql(\"INR\");\n})};\n"
                     ]
                   }
                 }
@@ -3599,7 +3745,7 @@
               }
             },
             {
-              "id": "ed80f317-7cca-462f-9f2b-f04cf68560d6",
+              "id": "657b7700-77ab-4554-b557-a100fc4b3b65",
               "name": "Payments - Retrieve[Verify RequiresCapture state]",
               "request": {
                 "name": "Payments - Retrieve[Verify RequiresCapture state]",
@@ -3642,26 +3788,29 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "ce47589b-1f9d-4293-a666-cd0157fd98bf",
+                    "id": "6a915fdd-2ea5-4f81-9074-eaec092e1351",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[GET]::/payments/:id - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"status\"\npm.test(\"[GET]::/payments/:id - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"requires_capture\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'status' matches 'requires_capture'\", function() {\n  pm.expect(jsonData.status).to.eql(\"requires_capture\");\n})};\n",
-                      "// Response body should have \"amount\"\npm.test(\"[GET]::/payments/:id - Content check if 'amount' exists\", function() {\n   pm.expect((typeof jsonData.amount !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"6540\" for \"amount\"\nif (jsonData?.amount) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(jsonData.amount).to.eql(\"6540\");\n})};\n",
-                      "// Response body should have \"currency\"\npm.test(\"[GET]::/payments/:id - Content check if 'currency' exists\", function() {\n   pm.expect((typeof jsonData.currency !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"USD\" for \"currency\"\nif (jsonData?.currency) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(jsonData.currency).to.eql(\"USD\");\n})};\n"
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[GET]::/payments/:id - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"requires_capture\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'status' matches 'requires_capture'\", function() {\n  pm.expect(_resStatus).to.eql(\"requires_capture\");\n})};\n",
+                      "// Set property value as variable\nconst _resAmount = jsonData?.amount;\n",
+                      "// Response body should have \"amount\"\npm.test(\"[GET]::/payments/:id - Content check if 'amount' exists\", function() {\n   pm.expect(_resAmount !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"6540\" for \"amount\"\nif (_resAmount !== undefined) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(_resAmount).to.eql(\"6540\");\n})};\n",
+                      "// Set property value as variable\nconst _resCurrency = jsonData?.currency;\n",
+                      "// Response body should have \"currency\"\npm.test(\"[GET]::/payments/:id - Content check if 'currency' exists\", function() {\n   pm.expect(_resCurrency !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"USD\" for \"currency\"\nif (_resCurrency !== undefined) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(_resCurrency).to.eql(\"USD\");\n})};\n"
                     ]
                   }
                 }
               ]
             },
             {
-              "id": "5f91beee-a478-4ea3-a782-f7ce4abfab40",
+              "id": "00142e9b-68d0-4bb5-9cc2-37e4319fa678",
               "name": "Payments - Create[Pass Required Param]",
               "request": {
                 "name": "Payments - Create[Pass Required Param]",
@@ -3692,7 +3841,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\"\n}",
+                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\"\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -3705,19 +3854,22 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "2118c825-85f4-4f53-96ed-f67ed8b9dfa9",
+                    "id": "899f93e0-2546-4270-b194-0fa6caedf4cc",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"requires_payment_method\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[POST]::/payments - Content check if value for 'status' matches 'requires_payment_method'\", function() {\n  pm.expect(jsonData.status).to.eql(\"requires_payment_method\");\n})};\n",
-                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments - Content check if 'amount' exists\", function() {\n   pm.expect((typeof jsonData.amount !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"6540\" for \"amount\"\nif (jsonData?.amount) {\npm.test(\"[POST]::/payments - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(jsonData.amount).to.eql(\"6540\");\n})};\n",
-                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments - Content check if 'currency' exists\", function() {\n   pm.expect((typeof jsonData.currency !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"USD\" for \"currency\"\nif (jsonData?.currency) {\npm.test(\"[POST]::/payments - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(jsonData.currency).to.eql(\"USD\");\n})};\n"
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"requires_payment_method\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'status' matches 'requires_payment_method'\", function() {\n  pm.expect(_resStatus).to.eql(\"requires_payment_method\");\n})};\n",
+                      "// Set property value as variable\nconst _resAmount = jsonData?.amount;\n",
+                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments - Content check if 'amount' exists\", function() {\n   pm.expect(_resAmount !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"6540\" for \"amount\"\nif (_resAmount !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(_resAmount).to.eql(\"6540\");\n})};\n",
+                      "// Set property value as variable\nconst _resCurrency = jsonData?.currency;\n",
+                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments - Content check if 'currency' exists\", function() {\n   pm.expect(_resCurrency !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"USD\" for \"currency\"\nif (_resCurrency !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(_resCurrency).to.eql(\"USD\");\n})};\n"
                     ]
                   }
                 }
@@ -3727,7 +3879,7 @@
               }
             },
             {
-              "id": "3e1f098b-f057-4c04-8070-74fdab7f0ef3",
+              "id": "fc57c557-b234-4fe1-8f2b-975017b49ba3",
               "name": "Payments - Retrieve[Verify RequiresPaymentMethod state]",
               "request": {
                 "name": "Payments - Retrieve[Verify RequiresPaymentMethod state]",
@@ -3770,26 +3922,29 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "cee56638-cd2a-49ce-8890-f095ed71d9cf",
+                    "id": "236e6ccf-ea64-4737-9356-e00ee14b1654",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[GET]::/payments/:id - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"status\"\npm.test(\"[GET]::/payments/:id - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"requires_payment_method\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'status' matches 'requires_payment_method'\", function() {\n  pm.expect(jsonData.status).to.eql(\"requires_payment_method\");\n})};\n",
-                      "// Response body should have \"amount\"\npm.test(\"[GET]::/payments/:id - Content check if 'amount' exists\", function() {\n   pm.expect((typeof jsonData.amount !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"6540\" for \"amount\"\nif (jsonData?.amount) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(jsonData.amount).to.eql(\"6540\");\n})};\n",
-                      "// Response body should have \"currency\"\npm.test(\"[GET]::/payments/:id - Content check if 'currency' exists\", function() {\n   pm.expect((typeof jsonData.currency !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"USD\" for \"currency\"\nif (jsonData?.currency) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(jsonData.currency).to.eql(\"USD\");\n})};\n"
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[GET]::/payments/:id - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"requires_payment_method\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'status' matches 'requires_payment_method'\", function() {\n  pm.expect(_resStatus).to.eql(\"requires_payment_method\");\n})};\n",
+                      "// Set property value as variable\nconst _resAmount = jsonData?.amount;\n",
+                      "// Response body should have \"amount\"\npm.test(\"[GET]::/payments/:id - Content check if 'amount' exists\", function() {\n   pm.expect(_resAmount !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"6540\" for \"amount\"\nif (_resAmount !== undefined) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(_resAmount).to.eql(\"6540\");\n})};\n",
+                      "// Set property value as variable\nconst _resCurrency = jsonData?.currency;\n",
+                      "// Response body should have \"currency\"\npm.test(\"[GET]::/payments/:id - Content check if 'currency' exists\", function() {\n   pm.expect(_resCurrency !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"USD\" for \"currency\"\nif (_resCurrency !== undefined) {\npm.test(\"[GET]::/payments/:id - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(_resCurrency).to.eql(\"USD\");\n})};\n"
                     ]
                   }
                 }
               ]
             },
             {
-              "id": "da78440c-d114-4268-b844-de3aa113b47f",
+              "id": "3b60ddb9-2b40-4ece-abeb-1b793ddee40f",
               "name": "Payments - Create[Verify RequiresCapture state]",
               "request": {
                 "name": "Payments - Create[Verify RequiresCapture state]",
@@ -3820,7 +3975,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"irure Lorem\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"pariatur Excepteur id doculpa \",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"irureveniam et sed enim occaec\"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
+                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"ipsum sint commodo Lo\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"https://juspay.io/\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"no_three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"dolor dolore est ullamcosunt e\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"consequat sint animad laboris \"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -3833,15 +3988,16 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "3be3cfc0-d560-4128-a0b8-fa5dd08642f0",
+                    "id": "060a8bb7-97f9-42d3-bb45-882cf5ebe7a2",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"requires_capture\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[POST]::/payments - Content check if value for 'status' matches 'requires_capture'\", function() {\n  pm.expect(jsonData.status).to.eql(\"requires_capture\");\n})};\n"
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"requires_capture\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'status' matches 'requires_capture'\", function() {\n  pm.expect(_resStatus).to.eql(\"requires_capture\");\n})};\n"
                     ]
                   }
                 }
@@ -3851,7 +4007,7 @@
               }
             },
             {
-              "id": "1e77b900-faf7-45cb-b9b5-8e209f77a07d",
+              "id": "0809282f-85ad-4a88-a834-7a0a359f0d40",
               "name": "Payments - Create[Pass Invalid MerchantId]",
               "request": {
                 "name": "Payments - Create[Pass Invalid MerchantId]",
@@ -3882,7 +4038,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"irure Lorem\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"pariatur Excepteur id doculpa \",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"irureveniam et sed enim occaec\"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    },\n    \"merchant_id\": \"123\"\n}",
+                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"ipsum sint commodo Lo\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"https://juspay.io/\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"no_three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"dolor dolore est ullamcosunt e\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"consequat sint animad laboris \"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    },\n    \"merchant_id\": \"123\"\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -3895,15 +4051,16 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "46371da4-143a-4327-834a-d5b561dadee1",
+                    "id": "03cdfec9-b73f-489f-adb7-9e00deb229ca",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 400\", function () {\n    pm.expect(pm.response.code).to.equal(400);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
                       "// Response Validation\nconst schema = {\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\",\"description\":\"The error code\",\"maxLength\":255,\"example\":\"parameter_missing\"},\"message\":{\"type\":\"string\",\"description\":\"Missing required param: <parameter_name>\",\"maxLength\":255,\"example\":\"Missing required param: amount\"},\"type\":{\"type\":\"string\",\"description\":\"The category to which the error belongs\",\"maxLength\":255,\"example\":\"invalid_request_error\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments - Content check if 'message' exists\", function() {\n   pm.expect((typeof jsonData.message !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Invalid merchant id : 123\" for \"message\"\nif (jsonData?.message) {\npm.test(\"[POST]::/payments - Content check if value for 'message' matches 'Invalid merchant id : 123'\", function() {\n  pm.expect(jsonData.message).to.eql(\"Invalid merchant id : 123\");\n})};\n"
+                      "// Set property value as variable\nconst _resMessage = jsonData?.message;\n",
+                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments - Content check if 'message' exists\", function() {\n   pm.expect(_resMessage !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Invalid merchant id : 123\" for \"message\"\nif (_resMessage !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'message' matches 'Invalid merchant id : 123'\", function() {\n  pm.expect(_resMessage).to.eql(\"Invalid merchant id : 123\");\n})};\n"
                     ]
                   }
                 }
@@ -3913,7 +4070,7 @@
               }
             },
             {
-              "id": "947a73cf-218d-4167-88fb-bc103b9d83d0",
+              "id": "64df350e-b6b4-4e8c-ba90-6393eb661855",
               "name": "Payments - Create[Pass Invalid Currency]",
               "request": {
                 "name": "Payments - Create[Pass Invalid Currency]",
@@ -3944,7 +4101,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"United\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"irure Lorem\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"pariatur Excepteur id doculpa \",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"irureveniam et sed enim occaec\"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
+                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"United\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"ipsum sint commodo Lo\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"https://juspay.io/\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"no_three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"dolor dolore est ullamcosunt e\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"consequat sint animad laboris \"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -3957,15 +4114,16 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "a05c93b9-ced1-4996-910b-2b7058926b83",
+                    "id": "06f9748e-24c1-42af-bfc7-a0facf59f380",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 400\", function () {\n    pm.expect(pm.response.code).to.equal(400);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
                       "// Response Validation\nconst schema = {\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\",\"description\":\"The error code\",\"maxLength\":255,\"example\":\"parameter_missing\"},\"message\":{\"type\":\"string\",\"description\":\"Missing required param: <parameter_name>\",\"maxLength\":255,\"example\":\"Missing required param: amount\"},\"type\":{\"type\":\"string\",\"description\":\"The category to which the error belongs\",\"maxLength\":255,\"example\":\"invalid_request_error\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments - Content check if 'message' exists\", function() {\n   pm.expect((typeof jsonData.message !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Invalid currency : united\" for \"message\"\nif (jsonData?.message) {\npm.test(\"[POST]::/payments - Content check if value for 'message' matches 'Invalid currency : united'\", function() {\n  pm.expect(jsonData.message).to.eql(\"Invalid currency : united\");\n})};\n"
+                      "// Set property value as variable\nconst _resMessage = jsonData?.message;\n",
+                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments - Content check if 'message' exists\", function() {\n   pm.expect(_resMessage !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Invalid currency : united\" for \"message\"\nif (_resMessage !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'message' matches 'Invalid currency : united'\", function() {\n  pm.expect(_resMessage).to.eql(\"Invalid currency : united\");\n})};\n"
                     ]
                   }
                 }
@@ -3975,7 +4133,7 @@
               }
             },
             {
-              "id": "b73dea79-2851-463a-a863-b8d4cd87394e",
+              "id": "454fbc66-d81e-49e1-b44d-0e3c966c39e3",
               "name": "Payments - Create[Remove card number]",
               "request": {
                 "name": "Payments - Create[Remove card number]",
@@ -4006,7 +4164,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"irure Lorem\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"pariatur Excepteur id doculpa \",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"irureveniam et sed enim occaec\"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
+                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"ipsum sint commodo Lo\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"https://juspay.io/\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"no_three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"dolor dolore est ullamcosunt e\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"consequat sint animad laboris \"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -4019,15 +4177,16 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "ef73d2dd-a25d-457b-8d67-8ac04e442d68",
+                    "id": "6318a1f8-410f-4f7c-bb4c-89711c20b3b5",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 400\", function () {\n    pm.expect(pm.response.code).to.equal(400);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
                       "// Response Validation\nconst schema = {\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\",\"description\":\"The error code\",\"maxLength\":255,\"example\":\"parameter_missing\"},\"message\":{\"type\":\"string\",\"description\":\"Missing required param: <parameter_name>\",\"maxLength\":255,\"example\":\"Missing required param: amount\"},\"type\":{\"type\":\"string\",\"description\":\"The category to which the error belongs\",\"maxLength\":255,\"example\":\"invalid_request_error\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments - Content check if 'message' exists\", function() {\n   pm.expect((typeof jsonData.message !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Missing required param: payment_method_data[card_number].\" for \"message\"\nif (jsonData?.message) {\npm.test(\"[POST]::/payments - Content check if value for 'message' matches 'Missing required param: payment_method_data[card_number].'\", function() {\n  pm.expect(jsonData.message).to.eql(\"Missing required param: payment_method_data[card_number].\");\n})};\n"
+                      "// Set property value as variable\nconst _resMessage = jsonData?.message;\n",
+                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments - Content check if 'message' exists\", function() {\n   pm.expect(_resMessage !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Missing required param: payment_method_data[card_number].\" for \"message\"\nif (_resMessage !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'message' matches 'Missing required param: payment_method_data[card_number].'\", function() {\n  pm.expect(_resMessage).to.eql(\"Missing required param: payment_method_data[card_number].\");\n})};\n"
                     ]
                   }
                 }
@@ -4037,7 +4196,7 @@
               }
             },
             {
-              "id": "4fd84222-f6ac-4112-a00d-3a28500668bd",
+              "id": "2f542988-c783-49e8-9894-b18e569349a0",
               "name": "Payments - Create[Pass Invalid CaptureMethod]",
               "request": {
                 "name": "Payments - Create[Pass Invalid CaptureMethod]",
@@ -4068,7 +4227,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"confirm\": true,\n    \"capture_method\": \"Man\",\n    \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"irure Lorem\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"pariatur Excepteur id doculpa \",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"irureveniam et sed enim occaec\"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
+                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"confirm\": true,\n    \"capture_method\": \"Man\",\n    \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"ipsum sint commodo Lo\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"https://juspay.io/\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"no_three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"dolor dolore est ullamcosunt e\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"consequat sint animad laboris \"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -4081,15 +4240,16 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "59826bd2-3102-4c46-95e3-24b42cd2625b",
+                    "id": "4ae57772-3157-4b0a-8376-82a97c914303",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 400\", function () {\n    pm.expect(pm.response.code).to.equal(400);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
                       "// Response Validation\nconst schema = {\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\",\"description\":\"The error code\",\"maxLength\":255,\"example\":\"parameter_missing\"},\"message\":{\"type\":\"string\",\"description\":\"Missing required param: <parameter_name>\",\"maxLength\":255,\"example\":\"Missing required param: amount\"},\"type\":{\"type\":\"string\",\"description\":\"The category to which the error belongs\",\"maxLength\":255,\"example\":\"invalid_request_error\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments - Content check if 'message' exists\", function() {\n   pm.expect((typeof jsonData.message !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Invalid capture_method: must be one of automatic or manual or scheduled\" for \"message\"\nif (jsonData?.message) {\npm.test(\"[POST]::/payments - Content check if value for 'message' matches 'Invalid capture_method: must be one of automatic or manual or scheduled'\", function() {\n  pm.expect(jsonData.message).to.eql(\"Invalid capture_method: must be one of automatic or manual or scheduled\");\n})};\n"
+                      "// Set property value as variable\nconst _resMessage = jsonData?.message;\n",
+                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments - Content check if 'message' exists\", function() {\n   pm.expect(_resMessage !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Invalid capture_method: must be one of automatic or manual or scheduled\" for \"message\"\nif (_resMessage !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'message' matches 'Invalid capture_method: must be one of automatic or manual or scheduled'\", function() {\n  pm.expect(_resMessage).to.eql(\"Invalid capture_method: must be one of automatic or manual or scheduled\");\n})};\n"
                     ]
                   }
                 }
@@ -4099,7 +4259,7 @@
               }
             },
             {
-              "id": "5e273436-61fc-48b1-9e5b-47a7e199174d",
+              "id": "110d7b6c-90ed-49e1-9a04-80e785741eb2",
               "name": "Payments - Create[Pass Invalid integer for amount]",
               "request": {
                 "name": "Payments - Create[Pass Invalid integer for amount]",
@@ -4130,7 +4290,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": \"abc\",\n    \"currency\": \"USD\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"irure Lorem\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"pariatur Excepteur id doculpa \",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"irureveniam et sed enim occaec\"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
+                  "raw": "{\n    \"amount\": \"abc\",\n    \"currency\": \"USD\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"ipsum sint commodo Lo\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"https://juspay.io/\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"no_three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"dolor dolore est ullamcosunt e\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"consequat sint animad laboris \"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -4143,15 +4303,16 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "a5ee0acc-44d0-4e00-a938-d2a9eb4f627b",
+                    "id": "3c7737a3-1c78-4372-a468-0727cf9fdba7",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 400\", function () {\n    pm.expect(pm.response.code).to.equal(400);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
                       "// Response Validation\nconst schema = {\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\",\"description\":\"The error code\",\"maxLength\":255,\"example\":\"parameter_missing\"},\"message\":{\"type\":\"string\",\"description\":\"Missing required param: <parameter_name>\",\"maxLength\":255,\"example\":\"Missing required param: amount\"},\"type\":{\"type\":\"string\",\"description\":\"The category to which the error belongs\",\"maxLength\":255,\"example\":\"invalid_request_error\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments - Content check if 'message' exists\", function() {\n   pm.expect((typeof jsonData.message !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Invalid integer: abc\" for \"message\"\nif (jsonData?.message) {\npm.test(\"[POST]::/payments - Content check if value for 'message' matches 'Invalid integer: abc'\", function() {\n  pm.expect(jsonData.message).to.eql(\"Invalid integer: abc\");\n})};\n"
+                      "// Set property value as variable\nconst _resMessage = jsonData?.message;\n",
+                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments - Content check if 'message' exists\", function() {\n   pm.expect(_resMessage !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Invalid integer: abc\" for \"message\"\nif (_resMessage !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'message' matches 'Invalid integer: abc'\", function() {\n  pm.expect(_resMessage).to.eql(\"Invalid integer: abc\");\n})};\n"
                     ]
                   }
                 }
@@ -4161,7 +4322,7 @@
               }
             },
             {
-              "id": "d24463b8-cee1-44d6-92c3-dc809fc8d293",
+              "id": "b820d68d-51e3-4619-a68e-19f285cc427f",
               "name": "Payments - Create[Pass negative integer for amount]",
               "request": {
                 "name": "Payments - Create[Pass negative integer for amount]",
@@ -4192,7 +4353,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": \"-20\",\n    \"currency\": \"USD\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"irure Lorem\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"pariatur Excepteur id doculpa \",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"irureveniam et sed enim occaec\"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
+                  "raw": "{\n    \"amount\": \"-20\",\n    \"currency\": \"USD\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"ipsum sint commodo Lo\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"https://juspay.io/\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"no_three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"dolor dolore est ullamcosunt e\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"consequat sint animad laboris \"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -4205,15 +4366,16 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "f007cafa-6cb1-4799-ba5e-63d5e3576974",
+                    "id": "14b04741-c5d0-476b-af42-5062f557278f",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 400\", function () {\n    pm.expect(pm.response.code).to.equal(400);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
                       "// Response Validation\nconst schema = {\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\",\"description\":\"The error code\",\"maxLength\":255,\"example\":\"parameter_missing\"},\"message\":{\"type\":\"string\",\"description\":\"Missing required param: <parameter_name>\",\"maxLength\":255,\"example\":\"Missing required param: amount\"},\"type\":{\"type\":\"string\",\"description\":\"The category to which the error belongs\",\"maxLength\":255,\"example\":\"invalid_request_error\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments - Content check if 'message' exists\", function() {\n   pm.expect((typeof jsonData.message !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"This value must be greater than or equal to 1.\" for \"message\"\nif (jsonData?.message) {\npm.test(\"[POST]::/payments - Content check if value for 'message' matches 'This value must be greater than or equal to 1.'\", function() {\n  pm.expect(jsonData.message).to.eql(\"This value must be greater than or equal to 1.\");\n})};\n"
+                      "// Set property value as variable\nconst _resMessage = jsonData?.message;\n",
+                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments - Content check if 'message' exists\", function() {\n   pm.expect(_resMessage !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"This value must be greater than or equal to 1.\" for \"message\"\nif (_resMessage !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'message' matches 'This value must be greater than or equal to 1.'\", function() {\n  pm.expect(_resMessage).to.eql(\"This value must be greater than or equal to 1.\");\n})};\n"
                     ]
                   }
                 }
@@ -4223,7 +4385,7 @@
               }
             },
             {
-              "id": "96aba487-d088-4b5c-aa0f-054de79737b0",
+              "id": "66920a69-c765-432c-b155-126a1c555e30",
               "name": "Payments - Create[Pass Invalid PaymentMethod]",
               "request": {
                 "name": "Payments - Create[Pass Invalid PaymentMethod]",
@@ -4254,7 +4416,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"irure Lorem\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"three_ds\",\n    \"payment_method\": \"card123\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"pariatur Excepteur id doculpa \",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"irureveniam et sed enim occaec\"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
+                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"ipsum sint commodo Lo\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"https://juspay.io/\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"no_three_ds\",\n    \"payment_method\": \"card123\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"dolor dolore est ullamcosunt e\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"consequat sint animad laboris \"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -4267,15 +4429,16 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "fd0b937f-dd5c-4fb3-96d7-f16fdffdbe77",
+                    "id": "553c67f5-7c71-40eb-a96f-bd6516336012",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 400\", function () {\n    pm.expect(pm.response.code).to.equal(400);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
                       "// Response Validation\nconst schema = {\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\",\"description\":\"The error code\",\"maxLength\":255,\"example\":\"parameter_missing\"},\"message\":{\"type\":\"string\",\"description\":\"Missing required param: <parameter_name>\",\"maxLength\":255,\"example\":\"Missing required param: amount\"},\"type\":{\"type\":\"string\",\"description\":\"The category to which the error belongs\",\"maxLength\":255,\"example\":\"invalid_request_error\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments - Content check if 'message' exists\", function() {\n   pm.expect((typeof jsonData.message !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Invalid capture_method: must be one of `card`, `banktransfer`, `bankdebit`, `netbanking`, `consumer_finance`, `wallet`, `upi`\" for \"message\"\nif (jsonData?.message) {\npm.test(\"[POST]::/payments - Content check if value for 'message' matches 'Invalid capture_method: must be one of `card`, `banktransfer`, `bankdebit`, `netbanking`, `consumer_finance`, `wallet`, `upi`'\", function() {\n  pm.expect(jsonData.message).to.eql(\"Invalid capture_method: must be one of `card`, `banktransfer`, `bankdebit`, `netbanking`, `consumer_finance`, `wallet`, `upi`\");\n})};\n"
+                      "// Set property value as variable\nconst _resMessage = jsonData?.message;\n",
+                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments - Content check if 'message' exists\", function() {\n   pm.expect(_resMessage !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Invalid capture_method: must be one of `card`, `banktransfer`, `bankdebit`, `netbanking`, `consumer_finance`, `wallet`, `upi`\" for \"message\"\nif (_resMessage !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'message' matches 'Invalid capture_method: must be one of `card`, `banktransfer`, `bankdebit`, `netbanking`, `consumer_finance`, `wallet`, `upi`'\", function() {\n  pm.expect(_resMessage).to.eql(\"Invalid capture_method: must be one of `card`, `banktransfer`, `bankdebit`, `netbanking`, `consumer_finance`, `wallet`, `upi`\");\n})};\n"
                     ]
                   }
                 }
@@ -4285,7 +4448,7 @@
               }
             },
             {
-              "id": "83c6975a-2f3c-4a7b-8196-6a827bc040fb",
+              "id": "e34dddfa-1d12-40ea-8876-55d0c1059adf",
               "name": "Payments - Create[CaptureAmount greater than orderAmount]",
               "request": {
                 "name": "Payments - Create[CaptureAmount greater than orderAmount]",
@@ -4316,7 +4479,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n    \"amount_to_capture\": \"6550\",\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"irure Lorem\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"pariatur Excepteur id doculpa \",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"irureveniam et sed enim occaec\"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
+                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n    \"amount_to_capture\": \"6550\",\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"ipsum sint commodo Lo\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"https://juspay.io/\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"no_three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"dolor dolore est ullamcosunt e\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"consequat sint animad laboris \"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -4329,15 +4492,16 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "9fee07bb-114d-477f-a0bd-648ffea5ca12",
+                    "id": "d2b2babd-64dd-46d2-9c5c-00bdb9ca9ba2",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 400\", function () {\n    pm.expect(pm.response.code).to.equal(400);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
                       "// Response Validation\nconst schema = {\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\",\"description\":\"The error code\",\"maxLength\":255,\"example\":\"parameter_missing\"},\"message\":{\"type\":\"string\",\"description\":\"Missing required param: <parameter_name>\",\"maxLength\":255,\"example\":\"Missing required param: amount\"},\"type\":{\"type\":\"string\",\"description\":\"The category to which the error belongs\",\"maxLength\":255,\"example\":\"invalid_request_error\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments - Content check if 'message' exists\", function() {\n   pm.expect((typeof jsonData.message !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Validation error : amount_to_capture is greater than amount\" for \"message\"\nif (jsonData?.message) {\npm.test(\"[POST]::/payments - Content check if value for 'message' matches 'Validation error : amount_to_capture is greater than amount'\", function() {\n  pm.expect(jsonData.message).to.eql(\"Validation error : amount_to_capture is greater than amount\");\n})};\n"
+                      "// Set property value as variable\nconst _resMessage = jsonData?.message;\n",
+                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments - Content check if 'message' exists\", function() {\n   pm.expect(_resMessage !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Validation error : amount_to_capture is greater than amount\" for \"message\"\nif (_resMessage !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'message' matches 'Validation error : amount_to_capture is greater than amount'\", function() {\n  pm.expect(_resMessage).to.eql(\"Validation error : amount_to_capture is greater than amount\");\n})};\n"
                     ]
                   }
                 }
@@ -4347,7 +4511,7 @@
               }
             },
             {
-              "id": "7cf6da6b-a727-4aef-b137-68d8b64fa159",
+              "id": "fc3aa696-ceee-4d71-bf4d-ed0f9dae09a2",
               "name": "Payments - Create[Not passing required params]",
               "request": {
                 "name": "Payments - Create[Not passing required params]",
@@ -4378,7 +4542,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"currency\": \"USD\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"irure Lorem\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"pariatur Excepteur id doculpa \",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"irureveniam et sed enim occaec\"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
+                  "raw": "{\n    \"currency\": \"USD\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"ipsum sint commodo Lo\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"https://juspay.io/\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n    \"authentication_type\": \"no_three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"dolor dolore est ullamcosunt e\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"consequat sint animad laboris \"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -4391,15 +4555,16 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "2bf6a6d8-9ce9-4e94-942f-6e44a7d0a4d4",
+                    "id": "9f63c07c-08e2-48cc-a958-21a7bd81497a",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 400\", function () {\n    pm.expect(pm.response.code).to.equal(400);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
                       "// Response Validation\nconst schema = {\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\",\"description\":\"The error code\",\"maxLength\":255,\"example\":\"parameter_missing\"},\"message\":{\"type\":\"string\",\"description\":\"Missing required param: <parameter_name>\",\"maxLength\":255,\"example\":\"Missing required param: amount\"},\"type\":{\"type\":\"string\",\"description\":\"The category to which the error belongs\",\"maxLength\":255,\"example\":\"invalid_request_error\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments - Content check if 'message' exists\", function() {\n   pm.expect((typeof jsonData.message !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Missing required param: amount.\" for \"message\"\nif (jsonData?.message) {\npm.test(\"[POST]::/payments - Content check if value for 'message' matches 'Missing required param: amount.'\", function() {\n  pm.expect(jsonData.message).to.eql(\"Missing required param: amount.\");\n})};\n"
+                      "// Set property value as variable\nconst _resMessage = jsonData?.message;\n",
+                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments - Content check if 'message' exists\", function() {\n   pm.expect(_resMessage !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Missing required param: amount.\" for \"message\"\nif (_resMessage !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'message' matches 'Missing required param: amount.'\", function() {\n  pm.expect(_resMessage).to.eql(\"Missing required param: amount.\");\n})};\n"
                     ]
                   }
                 }
@@ -4409,7 +4574,7 @@
               }
             },
             {
-              "id": "d0bc2013-b4a9-49ce-9a73-7edf53ed89d8",
+              "id": "328d1f58-ae02-4256-a915-ae19fe91b0e2",
               "name": "Payments - Create[createPayment to update]",
               "request": {
                 "name": "Payments - Create[createPayment to update]",
@@ -4440,7 +4605,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\"\n}",
+                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"mandate_id\": \"mandate_iwer89rnjef349dni3\"\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -4453,19 +4618,22 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "c940bcf5-0fbe-4f3d-a7dc-866f5f7580fe",
+                    "id": "73ad0ea5-896c-4237-822d-5ab98bc7de04",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"requires_payment_method\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[POST]::/payments - Content check if value for 'status' matches 'requires_payment_method'\", function() {\n  pm.expect(jsonData.status).to.eql(\"requires_payment_method\");\n})};\n",
-                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments - Content check if 'amount' exists\", function() {\n   pm.expect((typeof jsonData.amount !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"6540\" for \"amount\"\nif (jsonData?.amount) {\npm.test(\"[POST]::/payments - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(jsonData.amount).to.eql(\"6540\");\n})};\n",
-                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments - Content check if 'currency' exists\", function() {\n   pm.expect((typeof jsonData.currency !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"USD\" for \"currency\"\nif (jsonData?.currency) {\npm.test(\"[POST]::/payments - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(jsonData.currency).to.eql(\"USD\");\n})};\n"
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"requires_payment_method\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'status' matches 'requires_payment_method'\", function() {\n  pm.expect(_resStatus).to.eql(\"requires_payment_method\");\n})};\n",
+                      "// Set property value as variable\nconst _resAmount = jsonData?.amount;\n",
+                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments - Content check if 'amount' exists\", function() {\n   pm.expect(_resAmount !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"6540\" for \"amount\"\nif (_resAmount !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(_resAmount).to.eql(\"6540\");\n})};\n",
+                      "// Set property value as variable\nconst _resCurrency = jsonData?.currency;\n",
+                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments - Content check if 'currency' exists\", function() {\n   pm.expect(_resCurrency !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"USD\" for \"currency\"\nif (_resCurrency !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(_resCurrency).to.eql(\"USD\");\n})};\n"
                     ]
                   }
                 }
@@ -4475,7 +4643,7 @@
               }
             },
             {
-              "id": "fa000139-36aa-403f-850c-d2ae3c7d930c",
+              "id": "a3c48b9e-a0f4-4f17-924d-9b2af0e4bd50",
               "name": "Payments - Update[Update the amount]",
               "request": {
                 "name": "Payments - Update[Update the amount]",
@@ -4518,7 +4686,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": \"200\",\n    \"currency\": \"USD\",\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2022-09-10T10:11:12Z\",\n    \"amount_to_capture\": 6540,\n    \"amount_capturable\": 6540,\n    \"customer_id\": \"cus_udst2tfldj6upmye2reztkmm4i\",\n    \"email\": \"guest@example.com\",\n    \"name\": \"John Doe\",\n    \"phone\": \"999999999\",\n    \"phone_country_code\": \"+65\",\n    \"description\": \"Its my first payment request\",\n    \"setup_future_usage\": \"optional\",\n    \"authentication_type\": \"three_ds\",\n    \"payment_method\": \"card\",\n    \"save_payment_method\": true,\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"4242424242424242\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"35\",\n            \"card_holder_name\": \"Jpayment_method_dataohn Doe\",\n            \"card_cvc\": \"123\"\n        }\n    },\n    \"statement_descriptor_name\": \"Juspay\",\n    \"statement_descriptor_suffix\": \"Router\",\n    \"shipping\": {\n        \"city\": \"Bangalore\",\n        \"country\": \"IN\",\n        \"line1\": \"Juspay router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"first_name\": \"John\",\n        \"last_name\": \"Doe\"\n    },\n    \"billing\": {\n        \"city\": \"Bangalore\",\n        \"country\": \"IN\",\n        \"line1\": \"Juspay router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"first_name\": \"John\",\n        \"last_name\": \"Doe\"\n    },\n    \"metadata\": {\n        \"udf1\": \"value1\",\n        \"new_customer\": \"true\",\n        \"login_date\": \"2019-09-10T10:11:12Z\"\n    }\n}",
+                  "raw": "{\n    \"amount\": \"200\",\n    \"currency\": \"USD\",\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2022-09-10T10:11:12Z\",\n    \"amount_to_capture\": 6540,\n    \"amount_capturable\": 6540,\n    \"customer_id\": \"cus_udst2tfldj6upmye2reztkmm4i\",\n    \"email\": \"guest@example.com\",\n    \"name\": \"John Doe\",\n    \"phone\": \"999999999\",\n    \"phone_country_code\": \"+65\",\n    \"description\": \"Its my first payment request\",\n    \"setup_future_usage\": \"optional\",\n    \"authentication_type\": \"no_three_ds\",\n    \"payment_method\": \"card\",\n    \"save_payment_method\": true,\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"4242424242424242\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"35\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\"\n        }\n    },\n    \"statement_descriptor_name\": \"Juspay\",\n    \"statement_descriptor_suffix\": \"Router\",\n    \"shipping\": {\n        \"city\": \"Bangalore\",\n        \"country\": \"IN\",\n        \"line1\": \"Juspay router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"first_name\": \"John\",\n        \"last_name\": \"Doe\"\n    },\n    \"billing\": {\n        \"city\": \"Bangalore\",\n        \"country\": \"IN\",\n        \"line1\": \"Juspay router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"first_name\": \"John\",\n        \"last_name\": \"Doe\"\n    },\n    \"metadata\": {\n        \"udf1\": \"value1\",\n        \"new_customer\": \"true\",\n        \"login_date\": \"2019-09-10T10:11:12Z\"\n    }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -4531,19 +4699,22 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "a9b1be2e-8d30-4bc6-a785-58585fbcb4c5",
+                    "id": "05f9f71a-8446-42e7-842e-222a5494ae0c",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments/:id - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments/:id - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments/:id - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"requires_confirmation\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[POST]::/payments/:id - Content check if value for 'status' matches 'requires_confirmation'\", function() {\n  pm.expect(jsonData.status).to.eql(\"requires_confirmation\");\n})};\n",
-                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments/:id - Content check if 'amount' exists\", function() {\n   pm.expect((typeof jsonData.amount !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"200\" for \"amount\"\nif (jsonData?.amount) {\npm.test(\"[POST]::/payments/:id - Content check if value for 'amount' matches '200'\", function() {\n  pm.expect(jsonData.amount).to.eql(\"200\");\n})};\n",
-                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments/:id - Content check if 'currency' exists\", function() {\n   pm.expect((typeof jsonData.currency !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"USD\" for \"currency\"\nif (jsonData?.currency) {\npm.test(\"[POST]::/payments/:id - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(jsonData.currency).to.eql(\"USD\");\n})};\n"
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments/:id - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"requires_confirmation\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[POST]::/payments/:id - Content check if value for 'status' matches 'requires_confirmation'\", function() {\n  pm.expect(_resStatus).to.eql(\"requires_confirmation\");\n})};\n",
+                      "// Set property value as variable\nconst _resAmount = jsonData?.amount;\n",
+                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments/:id - Content check if 'amount' exists\", function() {\n   pm.expect(_resAmount !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"200\" for \"amount\"\nif (_resAmount !== undefined) {\npm.test(\"[POST]::/payments/:id - Content check if value for 'amount' matches '200'\", function() {\n  pm.expect(_resAmount).to.eql(\"200\");\n})};\n",
+                      "// Set property value as variable\nconst _resCurrency = jsonData?.currency;\n",
+                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments/:id - Content check if 'currency' exists\", function() {\n   pm.expect(_resCurrency !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"USD\" for \"currency\"\nif (_resCurrency !== undefined) {\npm.test(\"[POST]::/payments/:id - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(_resCurrency).to.eql(\"USD\");\n})};\n"
                     ]
                   }
                 }
@@ -4553,7 +4724,7 @@
               }
             },
             {
-              "id": "03a8059a-d39e-4cf9-90e5-4cacccada297",
+              "id": "caf210f4-2887-4ce9-ac8c-906ce094f48b",
               "name": "Payments - Update[Update the currency]",
               "request": {
                 "name": "Payments - Update[Update the currency]",
@@ -4596,7 +4767,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"SGD\",\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2022-09-10T10:11:12Z\",\n    \"amount_to_capture\": 6540,\n    \"amount_capturable\": 6540,\n    \"customer_id\": \"cus_udst2tfldj6upmye2reztkmm4i\",\n    \"email\": \"guest@example.com\",\n    \"name\": \"John Doe\",\n    \"phone\": \"999999999\",\n    \"phone_country_code\": \"+65\",\n    \"description\": \"Its my first payment request\",\n    \"setup_future_usage\": \"optional\",\n    \"authentication_type\": \"three_ds\",\n    \"payment_method\": \"card\",\n    \"save_payment_method\": true,\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"4242424242424242\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"35\",\n            \"card_holder_name\": \"Jpayment_method_dataohn Doe\",\n            \"card_cvc\": \"123\"\n        }\n    },\n    \"statement_descriptor_name\": \"Juspay\",\n    \"statement_descriptor_suffix\": \"Router\",\n    \"shipping\": {\n        \"city\": \"Bangalore\",\n        \"country\": \"IN\",\n        \"line1\": \"Juspay router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"first_name\": \"John\",\n        \"last_name\": \"Doe\"\n    },\n    \"billing\": {\n        \"city\": \"Bangalore\",\n        \"country\": \"IN\",\n        \"line1\": \"Juspay router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"first_name\": \"John\",\n        \"last_name\": \"Doe\"\n    },\n    \"metadata\": {\n        \"udf1\": \"value1\",\n        \"new_customer\": \"true\",\n        \"login_date\": \"2019-09-10T10:11:12Z\"\n    }\n}",
+                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"SGD\",\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2022-09-10T10:11:12Z\",\n    \"amount_to_capture\": 6540,\n    \"amount_capturable\": 6540,\n    \"customer_id\": \"cus_udst2tfldj6upmye2reztkmm4i\",\n    \"email\": \"guest@example.com\",\n    \"name\": \"John Doe\",\n    \"phone\": \"999999999\",\n    \"phone_country_code\": \"+65\",\n    \"description\": \"Its my first payment request\",\n    \"setup_future_usage\": \"optional\",\n    \"authentication_type\": \"no_three_ds\",\n    \"payment_method\": \"card\",\n    \"save_payment_method\": true,\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"4242424242424242\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"35\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\"\n        }\n    },\n    \"statement_descriptor_name\": \"Juspay\",\n    \"statement_descriptor_suffix\": \"Router\",\n    \"shipping\": {\n        \"city\": \"Bangalore\",\n        \"country\": \"IN\",\n        \"line1\": \"Juspay router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"first_name\": \"John\",\n        \"last_name\": \"Doe\"\n    },\n    \"billing\": {\n        \"city\": \"Bangalore\",\n        \"country\": \"IN\",\n        \"line1\": \"Juspay router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"first_name\": \"John\",\n        \"last_name\": \"Doe\"\n    },\n    \"metadata\": {\n        \"udf1\": \"value1\",\n        \"new_customer\": \"true\",\n        \"login_date\": \"2019-09-10T10:11:12Z\"\n    }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -4609,19 +4780,22 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "b41c265c-a75c-4add-948b-a7019bc8dda3",
+                    "id": "c3af9bf1-f57a-49de-b1ed-6d7bdd25e49e",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments/:id - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments/:id - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments/:id - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"requires_confirmation\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[POST]::/payments/:id - Content check if value for 'status' matches 'requires_confirmation'\", function() {\n  pm.expect(jsonData.status).to.eql(\"requires_confirmation\");\n})};\n",
-                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments/:id - Content check if 'amount' exists\", function() {\n   pm.expect((typeof jsonData.amount !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"200\" for \"amount\"\nif (jsonData?.amount) {\npm.test(\"[POST]::/payments/:id - Content check if value for 'amount' matches '200'\", function() {\n  pm.expect(jsonData.amount).to.eql(\"200\");\n})};\n",
-                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments/:id - Content check if 'currency' exists\", function() {\n   pm.expect((typeof jsonData.currency !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"SGD\" for \"currency\"\nif (jsonData?.currency) {\npm.test(\"[POST]::/payments/:id - Content check if value for 'currency' matches 'SGD'\", function() {\n  pm.expect(jsonData.currency).to.eql(\"SGD\");\n})};\n"
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments/:id - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"requires_confirmation\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[POST]::/payments/:id - Content check if value for 'status' matches 'requires_confirmation'\", function() {\n  pm.expect(_resStatus).to.eql(\"requires_confirmation\");\n})};\n",
+                      "// Set property value as variable\nconst _resAmount = jsonData?.amount;\n",
+                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments/:id - Content check if 'amount' exists\", function() {\n   pm.expect(_resAmount !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"200\" for \"amount\"\nif (_resAmount !== undefined) {\npm.test(\"[POST]::/payments/:id - Content check if value for 'amount' matches '200'\", function() {\n  pm.expect(_resAmount).to.eql(\"200\");\n})};\n",
+                      "// Set property value as variable\nconst _resCurrency = jsonData?.currency;\n",
+                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments/:id - Content check if 'currency' exists\", function() {\n   pm.expect(_resCurrency !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"SGD\" for \"currency\"\nif (_resCurrency !== undefined) {\npm.test(\"[POST]::/payments/:id - Content check if value for 'currency' matches 'SGD'\", function() {\n  pm.expect(_resCurrency).to.eql(\"SGD\");\n})};\n"
                     ]
                   }
                 }
@@ -4631,7 +4805,7 @@
               }
             },
             {
-              "id": "e9cee5e0-a8e3-4af6-a909-1fa29d37800a",
+              "id": "6aedca5d-6495-46df-913c-161fc7bc0135",
               "name": "Payments - Create[Create SucceededPayment to update]",
               "request": {
                 "name": "Payments - Create[Create SucceededPayment to update]",
@@ -4662,7 +4836,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n  \"amount\": 6540,\n  \"currency\": \"USD\",\n  \"payment_id\": \"pay_mbabizu24mvu3mela5njyhpit4\",\n  \"confirm\": true,\n  \"capture_method\": \"automatic\",\n  \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n  \"amount_to_capture\": 6540,\n  \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n  \"description\": \"Its my first payment request\",\n  \"email\": \"JohnTest@test.com\",\n  \"name\": \"John Test\",\n  \"phone\": \"irure Lorem\",\n  \"phone_country_code\": \"+65\",\n  \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n  \"setup_future_usage\": \"off_session\",\n  \"off_session\": true,\n  \"mandate_data\": {\n    \"customer_acceptance\": {\n      \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n      \"online\": {\n        \"ip_address\": \"127.0.0.1\",\n        \"user_agent\": \"device\"\n      },\n      \"acceptance_type\": \"online\"\n    }\n  },\n  \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n  \"authentication_type\": \"three_ds\",\n  \"payment_method\": \"card\",\n  \"payment_method_data\": {\n    \"card\": {\n      \"card_number\": \"pariatur Excepteur id doculpa \",\n      \"card_exp_month\": \"10\",\n      \"card_exp_year\": \"25\",\n      \"card_holder_name\": \"John Doe\",\n      \"card_cvc\": \"123\",\n      \"card_token\": \"irureveniam et sed enim occaec\"\n    }\n  },\n  \"billing\": {\n    \"line1\": \"Juspay Router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"city\": \"Bangalore\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"country\": \"IN\"\n  },\n  \"shipping\": {\n    \"line1\": \"Juspay Router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"city\": \"Bangalore\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"country\": \"IN\"\n  },\n  \"statement_descriptor_name\": \"Juspay Router\",\n  \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n  \"metadata\": {\n    \"city\": \"NY\",\n    \"unit\": \"245\"\n  }\n}",
+                  "raw": "{\n  \"amount\": 6540,\n  \"currency\": \"USD\",\n  \"payment_id\": \"pay_mbabizu24mvu3mela5njyhpit4\",\n  \"confirm\": true,\n  \"capture_method\": \"automatic\",\n  \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n  \"amount_to_capture\": 6540,\n  \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n  \"description\": \"Its my first payment request\",\n  \"email\": \"JohnTest@test.com\",\n  \"name\": \"John Test\",\n  \"phone\": \"ipsum sint commodo Lo\",\n  \"phone_country_code\": \"+65\",\n  \"return_url\": \"https://juspay.io/\",\n  \"setup_future_usage\": \"off_session\",\n  \"off_session\": true,\n  \"mandate_data\": {\n    \"customer_acceptance\": {\n      \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n      \"online\": {\n        \"ip_address\": \"127.0.0.1\",\n        \"user_agent\": \"device\"\n      },\n      \"acceptance_type\": \"online\"\n    }\n  },\n  \"mandate_id\": \"mandate_iwer89rnjef349dni3\",\n  \"authentication_type\": \"no_three_ds\",\n  \"payment_method\": \"card\",\n  \"payment_method_data\": {\n    \"card\": {\n      \"card_number\": \"dolor dolore est ullamcosunt e\",\n      \"card_exp_month\": \"10\",\n      \"card_exp_year\": \"25\",\n      \"card_holder_name\": \"John Doe\",\n      \"card_cvc\": \"123\",\n      \"card_token\": \"consequat sint animad laboris \"\n    }\n  },\n  \"billing\": {\n    \"line1\": \"Juspay Router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"city\": \"Bangalore\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"country\": \"IN\"\n  },\n  \"shipping\": {\n    \"line1\": \"Juspay Router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"city\": \"Bangalore\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"country\": \"IN\"\n  },\n  \"statement_descriptor_name\": \"Juspay Router\",\n  \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n  \"metadata\": {\n    \"city\": \"NY\",\n    \"unit\": \"245\"\n  }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -4675,19 +4849,22 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "a58fee70-48fa-452b-bc0f-f5a1315fafbd",
+                    "id": "02dab74d-64f5-4329-87b6-f2401eb4c924",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Succeeded\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[POST]::/payments - Content check if value for 'status' matches 'Succeeded'\", function() {\n  pm.expect(jsonData.status).to.eql(\"Succeeded\");\n})};\n",
-                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments - Content check if 'amount' exists\", function() {\n   pm.expect((typeof jsonData.amount !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"6540\" for \"amount\"\nif (jsonData?.amount) {\npm.test(\"[POST]::/payments - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(jsonData.amount).to.eql(\"6540\");\n})};\n",
-                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments - Content check if 'currency' exists\", function() {\n   pm.expect((typeof jsonData.currency !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"USD\" for \"currency\"\nif (jsonData?.currency) {\npm.test(\"[POST]::/payments - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(jsonData.currency).to.eql(\"USD\");\n})};\n"
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[POST]::/payments - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Succeeded\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'status' matches 'Succeeded'\", function() {\n  pm.expect(_resStatus).to.eql(\"Succeeded\");\n})};\n",
+                      "// Set property value as variable\nconst _resAmount = jsonData?.amount;\n",
+                      "// Response body should have \"amount\"\npm.test(\"[POST]::/payments - Content check if 'amount' exists\", function() {\n   pm.expect(_resAmount !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"6540\" for \"amount\"\nif (_resAmount !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(_resAmount).to.eql(\"6540\");\n})};\n",
+                      "// Set property value as variable\nconst _resCurrency = jsonData?.currency;\n",
+                      "// Response body should have \"currency\"\npm.test(\"[POST]::/payments - Content check if 'currency' exists\", function() {\n   pm.expect(_resCurrency !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"USD\" for \"currency\"\nif (_resCurrency !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(_resCurrency).to.eql(\"USD\");\n})};\n"
                     ]
                   }
                 }
@@ -4697,7 +4874,7 @@
               }
             },
             {
-              "id": "3a04b199-c5cc-41f7-8794-db5e9f856d12",
+              "id": "12fedd49-becc-4394-8932-ce86aef88db6",
               "name": "Payments - Update[Update Succeded payment]",
               "request": {
                 "name": "Payments - Update[Update Succeded payment]",
@@ -4708,7 +4885,8 @@
                 "url": {
                   "path": [
                     "payments",
-                    ":id"
+                    ":id",
+                    ":amount"
                   ],
                   "host": [
                     "{{baseUrl}}"
@@ -4724,6 +4902,12 @@
                       "type": "string",
                       "value": "{{payment_id}}",
                       "key": "id"
+                    },
+                    {
+                      "disabled": false,
+                      "type": "any",
+                      "value": "1000",
+                      "key": "amount"
                     }
                   ]
                 },
@@ -4740,7 +4924,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n  \"amount\": 6540,\n  \"currency\": \"USD\",\n  \"capture_method\": \"automatic\",\n  \"capture_on\": \"2022-09-10T10:11:12Z\",\n  \"amount_to_capture\": 6540,\n  \"amount_capturable\": 6540,\n  \"customer_id\": \"cus_udst2tfldj6upmye2reztkmm4i\",\n  \"email\": \"guest@example.com\",\n  \"name\": \"John Doe\",\n  \"phone\": \"999999999\",\n  \"phone_country_code\": \"+65\",\n  \"description\": \"Its my first payment request\",\n  \"setup_future_usage\": \"optional\",\n  \"authentication_type\": \"three_ds\",\n  \"payment_method\": \"card\",\n  \"save_payment_method\": true,\n  \"payment_method_data\": {\n    \"card\": {\n      \"card_number\": \"4242424242424242\",\n      \"card_exp_month\": \"10\",\n      \"card_exp_year\": \"35\",\n      \"card_holder_name\": \"Jpayment_method_dataohn Doe\",\n      \"card_cvc\": \"123\"\n    }\n  },\n  \"statement_descriptor_name\": \"Juspay\",\n  \"statement_descriptor_suffix\": \"Router\",\n  \"shipping\": {\n    \"city\": \"Bangalore\",\n    \"country\": \"IN\",\n    \"line1\": \"Juspay router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\"\n  },\n  \"billing\": {\n    \"city\": \"Bangalore\",\n    \"country\": \"IN\",\n    \"line1\": \"Juspay router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\"\n  },\n  \"metadata\": {\n    \"udf1\": \"value1\",\n    \"new_customer\": \"true\",\n    \"login_date\": \"2019-09-10T10:11:12Z\"\n  }\n}",
+                  "raw": "{\n  \"amount\": 6540,\n  \"currency\": \"USD\",\n  \"capture_method\": \"automatic\",\n  \"capture_on\": \"2022-09-10T10:11:12Z\",\n  \"amount_to_capture\": 6540,\n  \"amount_capturable\": 6540,\n  \"customer_id\": \"cus_udst2tfldj6upmye2reztkmm4i\",\n  \"email\": \"guest@example.com\",\n  \"name\": \"John Doe\",\n  \"phone\": \"999999999\",\n  \"phone_country_code\": \"+65\",\n  \"description\": \"Its my first payment request\",\n  \"setup_future_usage\": \"optional\",\n  \"authentication_type\": \"no_three_ds\",\n  \"payment_method\": \"card\",\n  \"save_payment_method\": true,\n  \"payment_method_data\": {\n    \"card\": {\n      \"card_number\": \"4242424242424242\",\n      \"card_exp_month\": \"10\",\n      \"card_exp_year\": \"35\",\n      \"card_holder_name\": \"John Doe\",\n      \"card_cvc\": \"123\"\n    }\n  },\n  \"statement_descriptor_name\": \"Juspay\",\n  \"statement_descriptor_suffix\": \"Router\",\n  \"shipping\": {\n    \"city\": \"Bangalore\",\n    \"country\": \"IN\",\n    \"line1\": \"Juspay router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\"\n  },\n  \"billing\": {\n    \"city\": \"Bangalore\",\n    \"country\": \"IN\",\n    \"line1\": \"Juspay router\",\n    \"line2\": \"Koramangala\",\n    \"line3\": \"Stallion\",\n    \"state\": \"Karnataka\",\n    \"zip\": \"560095\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\"\n  },\n  \"metadata\": {\n    \"udf1\": \"value1\",\n    \"new_customer\": \"true\",\n    \"login_date\": \"2019-09-10T10:11:12Z\"\n  }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -4753,15 +4937,16 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "c26ea75c-c291-4feb-b082-2d5524428e2e",
+                    "id": "2e816d64-2df0-4018-8c51-b441c970a9eb",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments/:id - Response status code is 400\", function () {\n    pm.expect(pm.response.code).to.equal(400);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments/:id - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
                       "// Response Validation\nconst schema = {\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\",\"description\":\"The error code\",\"maxLength\":255,\"example\":\"parameter_missing\"},\"message\":{\"type\":\"string\",\"description\":\"Missing required param: <parameter_name>\",\"maxLength\":255,\"example\":\"Missing required param: amount\"},\"type\":{\"type\":\"string\",\"description\":\"The category to which the error belongs\",\"maxLength\":255,\"example\":\"invalid_request_error\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments/:id - Content check if 'message' exists\", function() {\n   pm.expect((typeof jsonData.message !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"This Payment's amount could not be updated because it has a status of succeeded.\" for \"message\"\nif (jsonData?.message) {\npm.test(\"[POST]::/payments/:id - Content check if value for 'message' matches 'This Payment's amount could not be updated because it has a status of succeeded.'\", function() {\n  pm.expect(jsonData.message).to.eql(\"This Payment's amount could not be updated because it has a status of succeeded.\");\n})};\n"
+                      "// Set property value as variable\nconst _resMessage = jsonData?.message;\n",
+                      "// Response body should have \"message\"\npm.test(\"[POST]::/payments/:id - Content check if 'message' exists\", function() {\n   pm.expect(_resMessage !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"This Payment's amount could not be updated because it has a status of succeeded.\" for \"message\"\nif (_resMessage !== undefined) {\npm.test(\"[POST]::/payments/:id - Content check if value for 'message' matches 'This Payment's amount could not be updated because it has a status of succeeded.'\", function() {\n  pm.expect(_resMessage).to.eql(\"This Payment's amount could not be updated because it has a status of succeeded.\");\n})};\n"
                     ]
                   }
                 }
@@ -4771,7 +4956,7 @@
               }
             },
             {
-              "id": "e946b187-236e-4b9e-b2a2-f2d67a1f1176",
+              "id": "d7a0eb31-f27f-49e6-9d2a-6c9ef6d2028d",
               "name": "Payments - Create[Create a mandates with on session]",
               "request": {
                 "name": "Payments - Create[Create a mandates with on session]",
@@ -4802,7 +4987,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"payment_id\": \"pay_mbabizu24mvu3mela5njyhpit4\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"OnsessionCustomer\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"irure Lorem\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n    \"setup_future_usage\": \"on_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"authentication_type\": \"three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"pariatur Excepteur id doculpa \",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"irureveniam et sed enim occaec\"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
+                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"payment_id\": \"pay_mbabizu24mvu3mela5njyhpit4\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"OnsessionCustomer\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"ipsum sint commodo Lo\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"https://juspay.io/\",\n    \"setup_future_usage\": \"on_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"authentication_type\": \"no_three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"dolor dolore est ullamcosunt e\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"consequat sint animad laboris \"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -4815,14 +5000,16 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "69ceea63-809e-4d71-a3b8-bdda8fea6110",
+                    "id": "5dba82bb-25b4-4c28-9199-95cd12a07197",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"mandate_id\"\npm.test(\"[POST]::/payments - Content check if 'mandate_id' exists\", function() {\n   pm.expect((typeof jsonData.mandate_id !== \"undefined\")).to.be.true;\n});\n"
+                      "// Set property value as variable\nconst _resMandateId = jsonData?.mandate_id;\n",
+                      "// Response body should have \"mandate_id\"\npm.test(\"[POST]::/payments - Content check if 'mandate_id' exists\", function() {\n   pm.expect(_resMandateId !== undefined).to.be.true;\n});\n",
+                      "// Response body should have a minimum length of \"0\" for \"mandate_id\"\nif (_resMandateId !== undefined) {\npm.test(\"[POST]::/payments - Content check if value of 'mandate_id' has a minimum length of '0'\", function() {\n  pm.expect(jsonData.mandate_id.length).is.at.least(0);\n})};\n"
                     ]
                   }
                 }
@@ -4832,7 +5019,7 @@
               }
             },
             {
-              "id": "12dc2cd6-0534-4471-bd7d-7e1a7e87e95f",
+              "id": "b6cf66b4-c630-4b98-a02a-15688b21a045",
               "name": "Payments - Create[Create a mandates with off session]",
               "request": {
                 "name": "Payments - Create[Create a mandates with off session]",
@@ -4863,7 +5050,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"payment_id\": \"pay_mbabizu24mvu3mela5njyhpit4\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"OffsessionCustomer\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"irure Lorem\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"authentication_type\": \"three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"pariatur Excepteur id doculpa \",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"irureveniam et sed enim occaec\"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
+                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"payment_id\": \"pay_mbabizu24mvu3mela5njyhpit4\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"OffsessionCustomer\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"ipsum sint commodo Lo\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"https://juspay.io/\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"authentication_type\": \"no_three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"dolor dolore est ullamcosunt e\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"consequat sint animad laboris \"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -4876,15 +5063,16 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "385ee93a-6e45-40bd-a26b-912e6e02264b",
+                    "id": "4ac9cc46-adce-4d04-b647-5ce28c02ec61",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The ccountry code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"three_ds\",\"example\":\"automatic\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is spplicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"oneOf\":[{\"type\":\"object\",\"required\":[\"payment_id\",\"status\",\"amount\",\"currency\",\"mandate_id\"],\"description\":\"Payment Response\",\"properties\":{\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the payment\",\"enum\":[\"succeeded\",\"failed\",\"processing\",\"requires_customer_action\",\"requires_payment_method\",\"requires_confirmation\",\"required_capture\"],\"example\":\"succeeded\"},\"amount\":{\"type\":\"integer\",\"description\":\"The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":100,\"example\":6540},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"cancellation_reason\":{\"type\":[\"string\",\"null\"],\"description\":\"The reason for cancelling the payment\",\"maxLength\":255,\"example\":\"Payment attempt expired\"},\"capture_method\":{\"type\":\"string\",\"description\":\"This is the instruction for capture/ debit the money from the users' card. On the other hand authorization refers to blocking the amount on the users' payment method. Capture request may happen in three types: (1) AUTOMATIC: Post the payment authorization, the capture will be executed on the full amount immediately, (2) MANUAL: The capture will happen only if the merchant triggers a Capture API request, (3) SCHEDULED: The capture can be scheduled to automatically get triggered at a specific date & time\",\"enum\":[\"automatic\",\"manual\",\"scheduled\"],\"default\":\"automatic\",\"example\":\"automatic\"},\"capture_on\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the payment should be captured.\\nProviding this field will automatically set `capture` to true\\n\",\"allOf\":[{\"type\":\"string\",\"description\":\"ISO 8601 timestamp\",\"format\":\"date-time\"}]},\"amount_to_capture\":{\"type\":[\"integer\",\"null\"],\"description\":\"The Amount to be captured/ debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\nIf not provided, the default amount_to_capture will be the payment amount.\\n\",\"minimum\":100,\"example\":6540},\"amount_capturable\":{\"type\":[\"integer\",\"null\"],\"description\":\"The maximum amount that could be captured from the payment\",\"minimum\":100,\"example\":6540},\"amount_recieved\":{\"type\":[\"integer\",\"null\"],\"description\":\"The amount which is already captured from the payment\",\"minimum\":100,\"example\":6540},\"customer_id\":{\"type\":[\"string\",\"null\"],\"description\":\"The identifier for the customer object. If not provided the customer ID will be autogenerated.\",\"maxLength\":255,\"example\":\"cus_y3oqhf46pyzuxjbcn2giaqnb44\"},\"email\":{\"type\":[\"string\",\"null\"],\"format\":\"email\",\"description\":\"The customer's email address\",\"maxLength\":255,\"example\":\"JohnTest@test.com\"},\"name\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's name\",\"maxLength\":255,\"example\":\"John Test\"},\"phone\":{\"type\":[\"string\",\"null\"],\"description\":\"The customer's phone number\",\"maxLength\":255,\"example\":9999999999},\"phone_country_code\":{\"type\":[\"string\",\"null\"],\"description\":\"The country code for the customer phone number\",\"maxLength\":255,\"example\":\"+65\"},\"client_secret\":{\"type\":[\"string\",\"null\"],\"description\":\"This is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK\",\"example\":\"secret_k2uj3he2893ein2d\",\"maxLength\":30,\"minLength\":30},\"description\":{\"type\":[\"string\",\"null\"],\"description\":\"A description of the payment\",\"maxLength\":255,\"example\":\"Its my first payment request\"},\"setup_future_usage\":{\"type\":\"string\",\"description\":\"Indicates that you intend to make future payments with this Payment’s payment method. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.\",\"enum\":[\"on_session\",\"off_session\"],\"example\":\"off_session\"},\"off_session\":{\"type\":\"boolean\",\"description\":\"Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.\",\"example\":true},\"mandate_id\":{\"type\":\"string\",\"description\":\"ID of the mandate used for this payment. This parameter can only be used with confirm = true. This parameter should be passed for Merchant Initiated Transaction scenarios where the user has already registered for a mandate and raw payment method details are not passed\",\"example\":\"mandate_iwer89rnjef349dni3\"},\"mandate_data\":{\"type\":\"object\",\"description\":\"This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.\",\"properties\":{\"customer_acceptance\":{\"type\":\"object\",\"description\":\"Details about the customer’s acceptance.\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}},\"authentication_type\":{\"type\":\"string\",\"description\":\"The transaction authentication can be set to undergo payer authentication. Possible values are: (i) THREE_DS: If the card is enrolled for 3DS authentication, the 3DS based authentication will be activated. The liability of chargeback shift to the issuer, (ii) NO_THREE_DS: 3DS based authentication will not be activated. The liability of chargeback stays with the merchant. By default, the authentication will be marked as NO_THREE_DS\",\"enum\":[\"three_ds\",\"no_three_ds\"],\"default\":\"no_three_ds\",\"example\":\"no_three_ds\"},\"billing\":{\"type\":[\"object\",\"null\"],\"description\":\"The billing address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"shipping\":{\"type\":[\"object\",\"null\"],\"description\":\"The shipping address for the payment\",\"properties\":{\"line1\":{\"type\":\"string\",\"description\":\"The first line of the address\",\"maxLength\":200,\"example\":\"Juspay Router\"},\"line2\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Koramangala\"},\"line3\":{\"type\":\"string\",\"description\":\"The second line of the address\",\"maxLength\":200,\"example\":\"Stallion\"},\"city\":{\"type\":\"string\",\"description\":\"The address city\",\"maxLength\":50,\"example\":\"Bangalore\"},\"state\":{\"type\":\"string\",\"description\":\"The address state\",\"maxLength\":50,\"example\":\"Karnataka\"},\"zip\":{\"type\":\"string\",\"description\":\"The address zip/postal code\",\"maxLength\":50,\"example\":\"560095\"},\"country\":{\"type\":\"string\",\"description\":\"The two-letter ISO country code\",\"example\":\"IN\",\"maxLength\":2,\"minLength\":2}}},\"statement_descriptor_name\":{\"type\":[\"string\",\"null\"],\"description\":\"For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.\",\"maxLength\":255,\"example\":\"Juspay Router\"},\"statement_descriptor_suffix\":{\"type\":[\"string\",\"null\"],\"description\":\"Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.\",\"maxLength\":255,\"example\":\"Payment for shoes purchase\"},\"next_action\":{\"type\":\"object\",\"description\":\"Provides information about the user action required to complete the payment.\",\"properties\":{\"redirect_to_url\":{\"type\":\"string\",\"description\":\"The URL to which the customer needs to be redirected for completing the payment.\",\"example\":\"https://pg-redirect-page.com\"},\"display_qr_code\":{\"type\":\"string\",\"description\":\"The QR code data to be displayed to the customer.\",\"example\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAA1AQAAAADJnZ7dAAABs0lEQVR4nAGoAVf+AgFqqzCrHAACfO2eCXLx8ALIuWcFE2AgAgDMJY+7KAACAMP1N48IAAI4wJ9v8kDgAoT27OLpdxAC/g8wHJSz+ALG5FSP+HnIAt7Si9v6m+AC+hZxUPoJWAKN7C4q3rTAAi/TeN30+6ACMYHnWkM8uALzviwJR9UIAs36kzcuuqACxsgBlqjsSAJrqdLoS4QAAimoq+YS7zgCM3EsnwNXeALqzAWMrDxgAnp3ZKuU/qACbmkC+I8riALKwNCjMUMoAs3w0GTalKgCdysPb\"},\"invoke_payment_app\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"invoke_sdk_client\":{\"type\":\"object\",\"description\":\"Contains the data for invoking the sdk client for completing the payment.\",\"example\":{\"sdk_name\":\"gpay\",\"sdk_params\":{\"param1\":\"value\",\"param2\":\"value\"},\"intent_uri\":\"upi://pay?pa=hhferf@abc&pn=merchant%20com&mc=5815&tid=pnf20200807108614390166&tr=20200807108614390166&tn=Transaction_Note&am=1&cu=INR\"}},\"trigger_api\":{\"type\":\"object\",\"description\":\"Provides the instructions on the next API to be triggered to complete the payment. This is applicable in cases wherein the merchant has to display a UI to the user for collecting information such as OTP, 2factor authentication details.\",\"example\":{\"api_name\":\"submit_otp\",\"doc\":\"https://router.juspay.io/api-reference/submit_otp\"}}}},\"metadata\":{\"type\":[\"object\",\"null\"],\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}]}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"mandate_id\"\npm.test(\"[POST]::/payments - Content check if 'mandate_id' exists\", function() {\n   pm.expect((typeof jsonData.mandate_id !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have a minimum length of \"1\" for \"mandate_id\"\nif (jsonData?.mandate_id) {\npm.test(\"[POST]::/payments - Content check if value of 'mandate_id' has a minimum length of '1'\", function() {\n  pm.expect(jsonData.mandate_id.length).is.at.least(1);\n})};\n"
+                      "// Set property value as variable\nconst _resMandateId = jsonData?.mandate_id;\n",
+                      "// Response body should have \"mandate_id\"\npm.test(\"[POST]::/payments - Content check if 'mandate_id' exists\", function() {\n   pm.expect(_resMandateId !== undefined).to.be.true;\n});\n",
+                      "// Response body should have a minimum length of \"1\" for \"mandate_id\"\nif (_resMandateId !== undefined) {\npm.test(\"[POST]::/payments - Content check if value of 'mandate_id' has a minimum length of '1'\", function() {\n  pm.expect(jsonData.mandate_id.length).is.at.least(1);\n})};\n"
                     ]
                   }
                 }
@@ -4894,7 +5082,7 @@
               }
             },
             {
-              "id": "2880d917-fa37-49dc-a708-04070777bc30",
+              "id": "459b5630-0d0c-44f4-ae30-866aac96bfba",
               "name": "Payments - Create[Create a mandates without customer id]",
               "request": {
                 "name": "Payments - Create[Create a mandates without customer id]",
@@ -4925,7 +5113,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"payment_id\": \"pay_mbabizu24mvu3mela5njyhpit4\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n    \"amount_to_capture\": 6540,\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"irure Lorem\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"authentication_type\": \"three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"pariatur Excepteur id doculpa \",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"irureveniam et sed enim occaec\"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
+                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"payment_id\": \"pay_mbabizu24mvu3mela5njyhpit4\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n    \"amount_to_capture\": 6540,\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"ipsum sint commodo Lo\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"https://juspay.io/\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"authentication_type\": \"no_three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"dolor dolore est ullamcosunt e\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"consequat sint animad laboris \"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -4938,15 +5126,16 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "1b863b8d-5155-44da-b494-e66635af3c04",
+                    "id": "69d26381-1db8-415b-9638-29ec20719742",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 400\", function () {\n    pm.expect(pm.response.code).to.equal(400);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
                       "// Response Validation\nconst schema = {\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\",\"description\":\"The error code\",\"maxLength\":255,\"example\":\"parameter_missing\"},\"message\":{\"type\":\"string\",\"description\":\"Missing required param: <parameter_name>\",\"maxLength\":255,\"example\":\"Missing required param: amount\"},\"type\":{\"type\":\"string\",\"description\":\"The category to which the error belongs\",\"maxLength\":255,\"example\":\"invalid_request_error\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"Error_message\"\npm.test(\"[POST]::/payments - Content check if 'Error_message' exists\", function() {\n   pm.expect((typeof jsonData.Error_message !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Customer Id is mandatory to create a mandates\" for \"Error_message\"\nif (jsonData?.Error_message) {\npm.test(\"[POST]::/payments - Content check if value for 'Error_message' matches 'Customer Id is mandatory to create a mandates'\", function() {\n  pm.expect(jsonData.Error_message).to.eql(\"Customer Id is mandatory to create a mandates\");\n})};\n"
+                      "// Set property value as variable\nconst _resErrorMessage = jsonData?.Error_message;\n",
+                      "// Response body should have \"Error_message\"\npm.test(\"[POST]::/payments - Content check if 'Error_message' exists\", function() {\n   pm.expect(_resErrorMessage !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Customer Id is mandatory to create a mandates\" for \"Error_message\"\nif (_resErrorMessage !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'Error_message' matches 'Customer Id is mandatory to create a mandates'\", function() {\n  pm.expect(_resErrorMessage).to.eql(\"Customer Id is mandatory to create a mandates\");\n})};\n"
                     ]
                   }
                 }
@@ -4956,7 +5145,7 @@
               }
             },
             {
-              "id": "ce2c90c0-8a51-4fb0-8f79-011601aa808f",
+              "id": "07398a56-d8e7-49bf-80cb-8e89c2a9c620",
               "name": "Payments - Create[Create a mandates without customer id]",
               "request": {
                 "name": "Payments - Create[Create a mandates without customer id]",
@@ -4987,7 +5176,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"payment_id\": \"pay_mbabizu24mvu3mela5njyhpit4\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n    \"amount_to_capture\": 6540,\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"irure Lorem\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"authentication_type\": \"three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"pariatur Excepteur id doculpa \",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"irureveniam et sed enim occaec\"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
+                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"payment_id\": \"pay_mbabizu24mvu3mela5njyhpit4\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n    \"amount_to_capture\": 6540,\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"ipsum sint commodo Lo\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"https://juspay.io/\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"authentication_type\": \"no_three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"dolor dolore est ullamcosunt e\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"consequat sint animad laboris \"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -5000,15 +5189,16 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "a8bfbe62-e2f7-4088-bc06-ab65d5948cf3",
+                    "id": "c24fac7e-5ced-4e1d-b6fd-16023e2a469e",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 400\", function () {\n    pm.expect(pm.response.code).to.equal(400);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
                       "// Response Validation\nconst schema = {\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\",\"description\":\"The error code\",\"maxLength\":255,\"example\":\"parameter_missing\"},\"message\":{\"type\":\"string\",\"description\":\"Missing required param: <parameter_name>\",\"maxLength\":255,\"example\":\"Missing required param: amount\"},\"type\":{\"type\":\"string\",\"description\":\"The category to which the error belongs\",\"maxLength\":255,\"example\":\"invalid_request_error\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"Error_message\"\npm.test(\"[POST]::/payments - Content check if 'Error_message' exists\", function() {\n   pm.expect((typeof jsonData.Error_message !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Customer Id is mandatory to create a mandates\" for \"Error_message\"\nif (jsonData?.Error_message) {\npm.test(\"[POST]::/payments - Content check if value for 'Error_message' matches 'Customer Id is mandatory to create a mandates'\", function() {\n  pm.expect(jsonData.Error_message).to.eql(\"Customer Id is mandatory to create a mandates\");\n})};\n"
+                      "// Set property value as variable\nconst _resErrorMessage = jsonData?.Error_message;\n",
+                      "// Response body should have \"Error_message\"\npm.test(\"[POST]::/payments - Content check if 'Error_message' exists\", function() {\n   pm.expect(_resErrorMessage !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Customer Id is mandatory to create a mandates\" for \"Error_message\"\nif (_resErrorMessage !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'Error_message' matches 'Customer Id is mandatory to create a mandates'\", function() {\n  pm.expect(_resErrorMessage).to.eql(\"Customer Id is mandatory to create a mandates\");\n})};\n"
                     ]
                   }
                 }
@@ -5018,7 +5208,7 @@
               }
             },
             {
-              "id": "8a7f7d9f-ceae-47dc-8aa2-e9170c25133a",
+              "id": "f996801f-1969-480e-8fdd-a20f926d1c77",
               "name": "Payments - Create[Create a mandates without setupfutureusage]",
               "request": {
                 "name": "Payments - Create[Create a mandates without setupfutureusage]",
@@ -5049,7 +5239,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"payment_id\": \"pay_mbabizu24mvu3mela5njyhpit4\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"irure Lorem\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"authentication_type\": \"three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"pariatur Excepteur id doculpa \",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"irureveniam et sed enim occaec\"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
+                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"payment_id\": \"pay_mbabizu24mvu3mela5njyhpit4\",\n    \"confirm\": true,\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"ipsum sint commodo Lo\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"https://juspay.io/\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"authentication_type\": \"no_three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"dolor dolore est ullamcosunt e\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"consequat sint animad laboris \"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -5062,15 +5252,16 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "3593be3e-cf4d-4577-9c65-a1b16ab6a6aa",
+                    "id": "44266766-40c5-4807-9926-6dee6030f1c7",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 400\", function () {\n    pm.expect(pm.response.code).to.equal(400);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
                       "// Response Validation\nconst schema = {\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\",\"description\":\"The error code\",\"maxLength\":255,\"example\":\"parameter_missing\"},\"message\":{\"type\":\"string\",\"description\":\"Missing required param: <parameter_name>\",\"maxLength\":255,\"example\":\"Missing required param: amount\"},\"type\":{\"type\":\"string\",\"description\":\"The category to which the error belongs\",\"maxLength\":255,\"example\":\"invalid_request_error\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"Error_message\"\npm.test(\"[POST]::/payments - Content check if 'Error_message' exists\", function() {\n   pm.expect((typeof jsonData.Error_message !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Pass setupfuture usage to create a mandates\" for \"Error_message\"\nif (jsonData?.Error_message) {\npm.test(\"[POST]::/payments - Content check if value for 'Error_message' matches 'Pass setupfuture usage to create a mandates'\", function() {\n  pm.expect(jsonData.Error_message).to.eql(\"Pass setupfuture usage to create a mandates\");\n})};\n"
+                      "// Set property value as variable\nconst _resErrorMessage = jsonData?.Error_message;\n",
+                      "// Response body should have \"Error_message\"\npm.test(\"[POST]::/payments - Content check if 'Error_message' exists\", function() {\n   pm.expect(_resErrorMessage !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Pass setupfuture usage to create a mandates\" for \"Error_message\"\nif (_resErrorMessage !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'Error_message' matches 'Pass setupfuture usage to create a mandates'\", function() {\n  pm.expect(_resErrorMessage).to.eql(\"Pass setupfuture usage to create a mandates\");\n})};\n"
                     ]
                   }
                 }
@@ -5080,7 +5271,7 @@
               }
             },
             {
-              "id": "b67fc2ee-b81c-4093-b8e9-5d6ad17b8944",
+              "id": "c5de6fec-b231-46ad-972d-e12824870dc4",
               "name": "Payments - Create[Create a mandates without confirm as true]",
               "request": {
                 "name": "Payments - Create[Create a mandates without confirm as true]",
@@ -5111,7 +5302,7 @@
                 "method": "POST",
                 "body": {
                   "mode": "raw",
-                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"payment_id\": \"pay_mbabizu24mvu3mela5njyhpit4\",\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"1994-10-08T16:15:50.329Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"irure Lorem\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"The URL to which the user will have to be redirected post payment completion. Alternatively, this URL may aslo be configured on the Juspay dashboard for all transactions pertaining to your merchant account\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"2014-10-27T03:32:29.019Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"authentication_type\": \"three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"pariatur Excepteur id doculpa \",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"irureveniam et sed enim occaec\"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
+                  "raw": "{\n    \"amount\": 6540,\n    \"currency\": \"USD\",\n    \"payment_id\": \"pay_mbabizu24mvu3mela5njyhpit4\",\n    \"capture_method\": \"automatic\",\n    \"capture_on\": \"2001-08-25T00:31:38.992Z\",\n    \"amount_to_capture\": 6540,\n    \"customer_id\": \"cus_y3oqhf46pyzuxjbcn2giaqnb44\",\n    \"description\": \"Its my first payment request\",\n    \"email\": \"JohnTest@test.com\",\n    \"name\": \"John Test\",\n    \"phone\": \"ipsum sint commodo Lo\",\n    \"phone_country_code\": \"+65\",\n    \"return_url\": \"https://juspay.io/\",\n    \"setup_future_usage\": \"off_session\",\n    \"off_session\": true,\n    \"mandate_data\": {\n        \"customer_acceptance\": {\n            \"accepted_at\": \"1956-09-05T17:57:28.894Z\",\n            \"online\": {\n                \"ip_address\": \"127.0.0.1\",\n                \"user_agent\": \"device\"\n            },\n            \"acceptance_type\": \"online\"\n        }\n    },\n    \"authentication_type\": \"no_three_ds\",\n    \"payment_method\": \"card\",\n    \"payment_method_data\": {\n        \"card\": {\n            \"card_number\": \"dolor dolore est ullamcosunt e\",\n            \"card_exp_month\": \"10\",\n            \"card_exp_year\": \"25\",\n            \"card_holder_name\": \"John Doe\",\n            \"card_cvc\": \"123\",\n            \"card_token\": \"consequat sint animad laboris \"\n        }\n    },\n    \"billing\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"shipping\": {\n        \"line1\": \"Juspay Router\",\n        \"line2\": \"Koramangala\",\n        \"line3\": \"Stallion\",\n        \"city\": \"Bangalore\",\n        \"state\": \"Karnataka\",\n        \"zip\": \"560095\",\n        \"country\": \"IN\"\n    },\n    \"statement_descriptor_name\": \"Juspay Router\",\n    \"statement_descriptor_suffix\": \"Payment for shoes purchase\",\n    \"metadata\": {\n        \"city\": \"NY\",\n        \"unit\": \"245\"\n    }\n}",
                   "options": {
                     "raw": {
                       "language": "json"
@@ -5124,15 +5315,16 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "ae2383a0-d549-4bb3-a8cf-7790bfaffee4",
+                    "id": "12ad7a92-6870-4fd8-9b14-43cac1d2ae09",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/payments - Response status code is 400\", function () {\n    pm.expect(pm.response.code).to.equal(400);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/payments - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
                       "// Response Validation\nconst schema = {\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\",\"description\":\"The error code\",\"maxLength\":255,\"example\":\"parameter_missing\"},\"message\":{\"type\":\"string\",\"description\":\"Missing required param: <parameter_name>\",\"maxLength\":255,\"example\":\"Missing required param: amount\"},\"type\":{\"type\":\"string\",\"description\":\"The category to which the error belongs\",\"maxLength\":255,\"example\":\"invalid_request_error\"}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/payments - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"Error_message\"\npm.test(\"[POST]::/payments - Content check if 'Error_message' exists\", function() {\n   pm.expect((typeof jsonData.Error_message !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Cant create a mandates when the confirm is true\" for \"Error_message\"\nif (jsonData?.Error_message) {\npm.test(\"[POST]::/payments - Content check if value for 'Error_message' matches 'Cant create a mandates when the confirm is true'\", function() {\n  pm.expect(jsonData.Error_message).to.eql(\"Cant create a mandates when the confirm is true\");\n})};\n"
+                      "// Set property value as variable\nconst _resErrorMessage = jsonData?.Error_message;\n",
+                      "// Response body should have \"Error_message\"\npm.test(\"[POST]::/payments - Content check if 'Error_message' exists\", function() {\n   pm.expect(_resErrorMessage !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Cant create a mandates when the confirm is true\" for \"Error_message\"\nif (_resErrorMessage !== undefined) {\npm.test(\"[POST]::/payments - Content check if value for 'Error_message' matches 'Cant create a mandates when the confirm is true'\", function() {\n  pm.expect(_resErrorMessage).to.eql(\"Cant create a mandates when the confirm is true\");\n})};\n"
                     ]
                   }
                 }
@@ -5145,16 +5337,16 @@
           "event": []
         },
         {
-          "id": "b21c8ea3-2675-4e93-86da-58582b453c10",
+          "id": "5dc01b3d-96f1-4239-a4f3-aa93a990e42c",
           "name": "Refunds Variations",
           "item": [
             {
-              "id": "de04e15f-11ac-4b64-a363-bbf2ea16a4ba",
+              "id": "9f9dbc89-d4a7-4170-b669-77d146dc9cfe",
               "name": "Refunds - Create[Refund excess amount]",
               "request": {
                 "name": "Refunds - Create[Refund excess amount]",
                 "description": {
-                  "content": "To create a refund againt an already processed payment",
+                  "content": "To create a refund against an already processed payment",
                   "type": "text/plain"
                 },
                 "url": {
@@ -5193,15 +5385,16 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "ad35f7cb-1377-4255-86f5-14be3eccae48",
+                    "id": "014b56f9-3aed-401d-950f-564d8b95acba",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/refunds - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/refunds - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"amount\",\"refund_id\",\"payment_id\",\"currency\",\"status\"],\"properties\":{\"amount\":{\"type\":\"integer\",\"description\":\"The refund amount, which should be less than or equal to the toal payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":1,\"example\":6540},\"refund_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment.\\nIf the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response.\\nIt is recommended to generate uuid(v4) as the refund_id.\\n\",\"maxLength\":30,\"minLength\":30,\"example\":\"ref_mbabizu24mvu3mela5njyhpit4\"},\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"reason\":{\"type\":\"string\",\"description\":\"An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive\",\"maxLength\":255,\"example\":\"Customer returned the product\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/refunds - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"amount\",\"refund_id\",\"payment_id\",\"currency\",\"status\"],\"properties\":{\"amount\":{\"type\":\"integer\",\"description\":\"The refund amount, which should be less than or equal to the total payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":1,\"example\":6540},\"refund_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment.\\nIf the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response.\\nIt is recommended to generate uuid(v4) as the refund_id.\\n\",\"maxLength\":30,\"minLength\":30,\"example\":\"ref_mbabizu24mvu3mela5njyhpit4\"},\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"reason\":{\"type\":\"string\",\"description\":\"An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive\",\"maxLength\":255,\"example\":\"Customer returned the product\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/refunds - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"message\"\npm.test(\"[POST]::/refunds - Content check if 'message' exists\", function() {\n   pm.expect((typeof jsonData.message !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Refund amount exceeds the payment amount\" for \"message\"\nif (jsonData?.message) {\npm.test(\"[POST]::/refunds - Content check if value for 'message' matches 'Refund amount exceeds the payment amount'\", function() {\n  pm.expect(jsonData.message).to.eql(\"Refund amount exceeds the payment amount\");\n})};\n"
+                      "// Set property value as variable\nconst _resMessage = jsonData?.message;\n",
+                      "// Response body should have \"message\"\npm.test(\"[POST]::/refunds - Content check if 'message' exists\", function() {\n   pm.expect(_resMessage !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Refund amount exceeds the payment amount\" for \"message\"\nif (_resMessage !== undefined) {\npm.test(\"[POST]::/refunds - Content check if value for 'message' matches 'Refund amount exceeds the payment amount'\", function() {\n  pm.expect(_resMessage).to.eql(\"Refund amount exceeds the payment amount\");\n})};\n"
                     ]
                   }
                 }
@@ -5211,12 +5404,12 @@
               }
             },
             {
-              "id": "486998c7-a0d5-4692-ac6d-aec99702e94f",
+              "id": "b3e8cab4-7b65-4b4b-ba40-20ef43c929b8",
               "name": "Refunds - Create[Refund partial amount]",
               "request": {
                 "name": "Refunds - Create[Refund partial amount]",
                 "description": {
-                  "content": "To create a refund againt an already processed payment",
+                  "content": "To create a refund against an already processed payment",
                   "type": "text/plain"
                 },
                 "url": {
@@ -5255,21 +5448,25 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "70bf9af6-a39a-45e0-acf8-f35e1ed2c594",
+                    "id": "330e261d-a46f-4342-a0a5-2b6a258098f4",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/refunds - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/refunds - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"amount\",\"refund_id\",\"payment_id\",\"currency\",\"status\"],\"properties\":{\"amount\":{\"type\":\"integer\",\"description\":\"The refund amount, which should be less than or equal to the toal payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":1,\"example\":6540},\"refund_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment.\\nIf the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response.\\nIt is recommended to generate uuid(v4) as the refund_id.\\n\",\"maxLength\":30,\"minLength\":30,\"example\":\"ref_mbabizu24mvu3mela5njyhpit4\"},\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"reason\":{\"type\":\"string\",\"description\":\"An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive\",\"maxLength\":255,\"example\":\"Customer returned the product\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/refunds - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"amount\",\"refund_id\",\"payment_id\",\"currency\",\"status\"],\"properties\":{\"amount\":{\"type\":\"integer\",\"description\":\"The refund amount, which should be less than or equal to the total payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":1,\"example\":6540},\"refund_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment.\\nIf the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response.\\nIt is recommended to generate uuid(v4) as the refund_id.\\n\",\"maxLength\":30,\"minLength\":30,\"example\":\"ref_mbabizu24mvu3mela5njyhpit4\"},\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"reason\":{\"type\":\"string\",\"description\":\"An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive\",\"maxLength\":255,\"example\":\"Customer returned the product\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/refunds - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"status\"\npm.test(\"[POST]::/refunds - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"succeeded\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[POST]::/refunds - Content check if value for 'status' matches 'succeeded'\", function() {\n  pm.expect(jsonData.status).to.eql(\"succeeded\");\n})};\n",
-                      "// Response body should have \"amount\"\npm.test(\"[POST]::/refunds - Content check if 'amount' exists\", function() {\n   pm.expect((typeof jsonData.amount !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"6540\" for \"amount\"\nif (jsonData?.amount) {\npm.test(\"[POST]::/refunds - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(jsonData.amount).to.eql(\"6540\");\n})};\n",
-                      "// Response body should have \"currency\"\npm.test(\"[POST]::/refunds - Content check if 'currency' exists\", function() {\n   pm.expect((typeof jsonData.currency !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"USD\" for \"currency\"\nif (jsonData?.currency) {\npm.test(\"[POST]::/refunds - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(jsonData.currency).to.eql(\"USD\");\n})};\n",
-                      "// Response body should have \"reason\"\npm.test(\"[POST]::/refunds - Content check if 'reason' exists\", function() {\n   pm.expect((typeof jsonData.reason !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"null\" for \"reason\"\nif (jsonData?.reason) {\npm.test(\"[POST]::/refunds - Content check if value for 'reason' matches 'null'\", function() {\n  pm.expect(jsonData.reason).to.eql(\"null\");\n})};\n"
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[POST]::/refunds - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"succeeded\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[POST]::/refunds - Content check if value for 'status' matches 'succeeded'\", function() {\n  pm.expect(_resStatus).to.eql(\"succeeded\");\n})};\n",
+                      "// Set property value as variable\nconst _resAmount = jsonData?.amount;\n",
+                      "// Response body should have \"amount\"\npm.test(\"[POST]::/refunds - Content check if 'amount' exists\", function() {\n   pm.expect(_resAmount !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"6540\" for \"amount\"\nif (_resAmount !== undefined) {\npm.test(\"[POST]::/refunds - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(_resAmount).to.eql(\"6540\");\n})};\n",
+                      "// Set property value as variable\nconst _resCurrency = jsonData?.currency;\n",
+                      "// Response body should have \"currency\"\npm.test(\"[POST]::/refunds - Content check if 'currency' exists\", function() {\n   pm.expect(_resCurrency !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"USD\" for \"currency\"\nif (_resCurrency !== undefined) {\npm.test(\"[POST]::/refunds - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(_resCurrency).to.eql(\"USD\");\n})};\n",
+                      "// Set property value as variable\nconst _resReason = jsonData?.reason;\n",
+                      "// Response body should have \"reason\"\npm.test(\"[POST]::/refunds - Content check if 'reason' exists\", function() {\n   pm.expect(_resReason !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"null\" for \"reason\"\nif (_resReason !== undefined) {\npm.test(\"[POST]::/refunds - Content check if value for 'reason' matches 'null'\", function() {\n  pm.expect(_resReason).to.eql(\"null\");\n})};\n"
                     ]
                   }
                 }
@@ -5279,12 +5476,12 @@
               }
             },
             {
-              "id": "1f7b62c5-43d4-43d2-b1f3-e8c663cd3977",
+              "id": "6a9ad4d4-508f-4d1c-af84-7b0fbbebc92b",
               "name": "Refunds - Create[Refund full amount]",
               "request": {
                 "name": "Refunds - Create[Refund full amount]",
                 "description": {
-                  "content": "To create a refund againt an already processed payment",
+                  "content": "To create a refund against an already processed payment",
                   "type": "text/plain"
                 },
                 "url": {
@@ -5323,21 +5520,25 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "0aead86e-7ac1-4cec-892f-32b8fd59f0ce",
+                    "id": "f30d1474-0c35-4781-a93b-cb0fbf435b52",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/refunds - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/refunds - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"amount\",\"refund_id\",\"payment_id\",\"currency\",\"status\"],\"properties\":{\"amount\":{\"type\":\"integer\",\"description\":\"The refund amount, which should be less than or equal to the toal payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":1,\"example\":6540},\"refund_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment.\\nIf the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response.\\nIt is recommended to generate uuid(v4) as the refund_id.\\n\",\"maxLength\":30,\"minLength\":30,\"example\":\"ref_mbabizu24mvu3mela5njyhpit4\"},\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"reason\":{\"type\":\"string\",\"description\":\"An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive\",\"maxLength\":255,\"example\":\"Customer returned the product\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/refunds - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"amount\",\"refund_id\",\"payment_id\",\"currency\",\"status\"],\"properties\":{\"amount\":{\"type\":\"integer\",\"description\":\"The refund amount, which should be less than or equal to the total payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":1,\"example\":6540},\"refund_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment.\\nIf the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response.\\nIt is recommended to generate uuid(v4) as the refund_id.\\n\",\"maxLength\":30,\"minLength\":30,\"example\":\"ref_mbabizu24mvu3mela5njyhpit4\"},\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"reason\":{\"type\":\"string\",\"description\":\"An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive\",\"maxLength\":255,\"example\":\"Customer returned the product\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/refunds - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"status\"\npm.test(\"[POST]::/refunds - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"succeeded\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[POST]::/refunds - Content check if value for 'status' matches 'succeeded'\", function() {\n  pm.expect(jsonData.status).to.eql(\"succeeded\");\n})};\n",
-                      "// Response body should have \"amount\"\npm.test(\"[POST]::/refunds - Content check if 'amount' exists\", function() {\n   pm.expect((typeof jsonData.amount !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"6540\" for \"amount\"\nif (jsonData?.amount) {\npm.test(\"[POST]::/refunds - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(jsonData.amount).to.eql(\"6540\");\n})};\n",
-                      "// Response body should have \"currency\"\npm.test(\"[POST]::/refunds - Content check if 'currency' exists\", function() {\n   pm.expect((typeof jsonData.currency !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"USD\" for \"currency\"\nif (jsonData?.currency) {\npm.test(\"[POST]::/refunds - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(jsonData.currency).to.eql(\"USD\");\n})};\n",
-                      "// Response body should have \"reason\"\npm.test(\"[POST]::/refunds - Content check if 'reason' exists\", function() {\n   pm.expect((typeof jsonData.reason !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"null\" for \"reason\"\nif (jsonData?.reason) {\npm.test(\"[POST]::/refunds - Content check if value for 'reason' matches 'null'\", function() {\n  pm.expect(jsonData.reason).to.eql(\"null\");\n})};\n"
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[POST]::/refunds - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"succeeded\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[POST]::/refunds - Content check if value for 'status' matches 'succeeded'\", function() {\n  pm.expect(_resStatus).to.eql(\"succeeded\");\n})};\n",
+                      "// Set property value as variable\nconst _resAmount = jsonData?.amount;\n",
+                      "// Response body should have \"amount\"\npm.test(\"[POST]::/refunds - Content check if 'amount' exists\", function() {\n   pm.expect(_resAmount !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"6540\" for \"amount\"\nif (_resAmount !== undefined) {\npm.test(\"[POST]::/refunds - Content check if value for 'amount' matches '6540'\", function() {\n  pm.expect(_resAmount).to.eql(\"6540\");\n})};\n",
+                      "// Set property value as variable\nconst _resCurrency = jsonData?.currency;\n",
+                      "// Response body should have \"currency\"\npm.test(\"[POST]::/refunds - Content check if 'currency' exists\", function() {\n   pm.expect(_resCurrency !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"USD\" for \"currency\"\nif (_resCurrency !== undefined) {\npm.test(\"[POST]::/refunds - Content check if value for 'currency' matches 'USD'\", function() {\n  pm.expect(_resCurrency).to.eql(\"USD\");\n})};\n",
+                      "// Set property value as variable\nconst _resReason = jsonData?.reason;\n",
+                      "// Response body should have \"reason\"\npm.test(\"[POST]::/refunds - Content check if 'reason' exists\", function() {\n   pm.expect(_resReason !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"null\" for \"reason\"\nif (_resReason !== undefined) {\npm.test(\"[POST]::/refunds - Content check if value for 'reason' matches 'null'\", function() {\n  pm.expect(_resReason).to.eql(\"null\");\n})};\n"
                     ]
                   }
                 }
@@ -5347,12 +5548,12 @@
               }
             },
             {
-              "id": "ed09f54f-b925-4251-b0e2-0f39f52fb4eb",
+              "id": "71106e95-5be8-409a-905d-92c1d7cefc58",
               "name": "Refunds - Create[Refund pending payment]",
               "request": {
                 "name": "Refunds - Create[Refund pending payment]",
                 "description": {
-                  "content": "To create a refund againt an already processed payment",
+                  "content": "To create a refund against an already processed payment",
                   "type": "text/plain"
                 },
                 "url": {
@@ -5391,15 +5592,16 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "db30c33e-507e-47ad-9d9b-bb4cf961d5e3",
+                    "id": "faf4c542-2937-4703-9a11-03f7edbbf549",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[POST]::/refunds - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[POST]::/refunds - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"amount\",\"refund_id\",\"payment_id\",\"currency\",\"status\"],\"properties\":{\"amount\":{\"type\":\"integer\",\"description\":\"The refund amount, which should be less than or equal to the toal payment amount. Amount for the payment in lowest denomination of the currrency. (i.e) in cents for USD denomination, in paisa for INR denomonation etc.,\\n\",\"minimum\":1,\"example\":6540},\"refund_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment.\\nIf the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response.\\nIt is recommended to generate uuid(v4) as the refund_id.\\n\",\"maxLength\":30,\"minLength\":30,\"example\":\"ref_mbabizu24mvu3mela5njyhpit4\"},\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"reason\":{\"type\":\"string\",\"description\":\"An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive\",\"maxLength\":255,\"example\":\"Customer returned the product\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/refunds - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"required\":[\"amount\",\"refund_id\",\"payment_id\",\"currency\",\"status\"],\"properties\":{\"amount\":{\"type\":\"integer\",\"description\":\"The refund amount, which should be less than or equal to the total payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,\\n\",\"minimum\":1,\"example\":6540},\"refund_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment.\\nIf the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response.\\nIt is recommended to generate uuid(v4) as the refund_id.\\n\",\"maxLength\":30,\"minLength\":30,\"example\":\"ref_mbabizu24mvu3mela5njyhpit4\"},\"payment_id\":{\"type\":\"string\",\"description\":\"Unique Identifier for the Payment. It is always recommended to provide this ID while creating a payment.\\nIf the identifiers in not provided in the Payment Request, this filed shall be auto generated and provide in the API response. It is suggested to keep the payment_id length as a maximum of 30 alphanumeric characters irrespective of payment methods and gateways. \\nSequential and only numeric characters are not recommended.\\n\",\"maxLength\":30,\"example\":\"pay_mbabizu24mvu3mela5njyhpit4\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter ISO currency code\\n\",\"example\":\"USD\",\"maxLength\":3,\"minLength\":3},\"reason\":{\"type\":\"string\",\"description\":\"An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive\",\"maxLength\":255,\"example\":\"Customer returned the product\"},\"metadata\":{\"type\":\"object\",\"description\":\"You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.\",\"maxLength\":255,\"example\":{\"city\":\"NY\",\"unit\":\"245\"}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[POST]::/refunds - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"message\"\npm.test(\"[POST]::/refunds - Content check if 'message' exists\", function() {\n   pm.expect((typeof jsonData.message !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"Refund is not allowed for unsuccessfull payment\" for \"message\"\nif (jsonData?.message) {\npm.test(\"[POST]::/refunds - Content check if value for 'message' matches 'Refund is not allowed for unsuccessfull payment'\", function() {\n  pm.expect(jsonData.message).to.eql(\"Refund is not allowed for unsuccessfull payment\");\n})};\n"
+                      "// Set property value as variable\nconst _resMessage = jsonData?.message;\n",
+                      "// Response body should have \"message\"\npm.test(\"[POST]::/refunds - Content check if 'message' exists\", function() {\n   pm.expect(_resMessage !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"Refund is not allowed for unsuccessfull payment\" for \"message\"\nif (_resMessage !== undefined) {\npm.test(\"[POST]::/refunds - Content check if value for 'message' matches 'Refund is not allowed for unsuccessfull payment'\", function() {\n  pm.expect(_resMessage).to.eql(\"Refund is not allowed for unsuccessfull payment\");\n})};\n"
                     ]
                   }
                 }
@@ -5412,11 +5614,11 @@
           "event": []
         },
         {
-          "id": "1204cc15-bf84-47d4-8db6-b20a7da3ecc2",
+          "id": "8a2a41ef-5e16-499a-8472-58c9bd7610bd",
           "name": "Mandates Variations",
           "item": [
             {
-              "id": "0aa2b8e7-f174-4bfb-b1ab-d1dceaf1d8c5",
+              "id": "31872186-5113-47e0-9bbc-66b54769c995",
               "name": "Mandate - List all mandates against a customer id[Get mandates for Customer]",
               "request": {
                 "name": "Mandate - List all mandates against a customer id[Get mandates for Customer]",
@@ -5460,24 +5662,26 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "33243c14-c79d-42ef-bed2-dfee6fd74cbc",
+                    "id": "0a7770d5-6a57-4036-8a97-18991617162a",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[GET]::/customers/:customer_id/mandates - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[GET]::/customers/:customer_id/mandates - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"array\",\"items\":{\"type\":\"object\",\"description\":\"Mandate Payment Create Response\",\"required\":[\"mandate_id\",\"status\",\"payment_method_id\"],\"properties\":{\"mandate_id\":{\"type\":\"string\",\"description\":\"The unique id corresponding to the mandate.\\n\",\"example\":\"mandate_end38934n12s923d0\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the mandate, which indicates whether it can be used to initiate a payment.\",\"enum\":[\"active\",\"inactive\",\"pending\",\"revoked\"],\"example\":\"active\"},\"type\":{\"type\":\"string\",\"description\":\"The type of the mandate. (i) single_use refers to one-time mandates and (ii) multi-user refers to multiple payments.\",\"enum\":[\"multi_use\",\"single_use\"],\"default\":\"multi_use\",\"example\":\"multi_use\"},\"payment_method_id\":{\"type\":\"string\",\"description\":\"The id corresponding to the payment method.\",\"example\":\"pm_end38934n12s923d0\"},\"payment_method\":{\"type\":\"string\",\"description\":\"The type of payment method use for the payment.\\n\",\"enum\":[\"card\",\"payment_container\",\"bank_transfer\",\"bank_debit\",\"pay_later\",\"upi\",\"netbanking\"],\"example\":\"card\"},\"card\":{\"description\":\"The card identifier information to be displayed on the user interface\",\"type\":\"object\",\"properties\":{\"last4_digits\":{\"type\":\"string\",\"description\":\"The last four digits of the case which could be displayed to the end user for identification.\",\"example\":\"xxxxxxxxxxxx4242\"},\"card_exp_month\":{\"type\":\"string\",\"description\":\"The expiry month for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"10\"},\"card_exp_year\":{\"type\":\"string\",\"description\":\"Expiry year for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"25\"},\"card_holder_name\":{\"type\":\"string\",\"description\":\"The name of card holder\",\"maxLength\":255,\"example\":\"Arun Raj\"},\"card_token\":{\"type\":\"string\",\"description\":\"The token provided against a user's saved card. The token would be valid for 15 minutes.\",\"minLength\":30,\"maxLength\":30,\"example\":\"tkn_78892490hfh3r834rd\"},\"scheme\":{\"type\":\"string\",\"description\":\"The card scheme network for the particular card\",\"example\":\"MASTER\"},\"issuer_country\":{\"type\":\"string\",\"description\":\"The country code in in which the card was issued\",\"minLength\":2,\"maxLength\":2,\"example\":\"US\"},\"card_fingerprint\":{\"type\":\"string\",\"description\":\"A unique identifier alias to identify a particular card.\",\"minLength\":30,\"maxLength\":30,\"example\":\"fpt_78892490hfh3r834rd\"}}},\"customer_acceptance\":{\"description\":\"The card identifier information to be displayed on the user interface\",\"type\":\"object\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/customers/:customer_id/mandates - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"array\",\"items\":{\"type\":\"object\",\"description\":\"Mandate Payment Create Response\",\"required\":[\"mandate_id\",\"status\",\"payment_method_id\"],\"properties\":{\"mandate_id\":{\"type\":\"string\",\"description\":\"The unique id corresponding to the mandate.\\n\",\"example\":\"mandate_end38934n12s923d0\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the mandate, which indicates whether it can be used to initiate a payment.\",\"enum\":[\"active\",\"inactive\",\"pending\",\"revoked\"],\"example\":\"active\"},\"type\":{\"type\":\"string\",\"description\":\"The type of the mandate. (i) single_use refers to one-time mandates and (ii) multi-user refers to multiple payments.\",\"enum\":[\"multi_use\",\"single_use\"],\"default\":\"multi_use\",\"example\":\"multi_use\"},\"payment_method_id\":{\"type\":\"string\",\"description\":\"The id corresponding to the payment method.\",\"example\":\"pm_end38934n12s923d0\"},\"payment_method\":{\"type\":\"string\",\"description\":\"The type of payment method use for the payment.\\n\",\"enum\":[\"card\",\"payment_container\",\"bank_transfer\",\"bank_debit\",\"pay_later\",\"upi\",\"netbanking\"],\"example\":\"card\"},\"card\":{\"description\":\"The card identifier information to be displayed on the user interface\",\"type\":\"object\",\"properties\":{\"last4_digits\":{\"type\":\"string\",\"description\":\"The last four digits of the case which could be displayed to the end user for identification.\",\"example\":\"xxxxxxxxxxxx4242\"},\"card_exp_month\":{\"type\":\"string\",\"description\":\"The expiry month for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"10\"},\"card_exp_year\":{\"type\":\"string\",\"description\":\"Expiry year for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"25\"},\"card_holder_name\":{\"type\":\"string\",\"description\":\"The name of card holder\",\"maxLength\":255,\"example\":\"John Doe\"},\"card_token\":{\"type\":\"string\",\"description\":\"The token provided against a user's saved card. The token would be valid for 15 minutes.\",\"minLength\":30,\"maxLength\":30,\"example\":\"tkn_78892490hfh3r834rd\"},\"scheme\":{\"type\":\"string\",\"description\":\"The card scheme network for the particular card\",\"example\":\"MASTER\"},\"issuer_country\":{\"type\":\"string\",\"description\":\"The country code in in which the card was issued\",\"minLength\":2,\"maxLength\":2,\"example\":\"US\"},\"card_fingerprint\":{\"type\":\"string\",\"description\":\"A unique identifier alias to identify a particular card.\",\"minLength\":30,\"maxLength\":30,\"example\":\"fpt_78892490hfh3r834rd\"}}},\"customer_acceptance\":{\"description\":\"The card identifier information to be displayed on the user interface\",\"type\":\"object\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/customers/:customer_id/mandates - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"mandate_id\"\npm.test(\"[GET]::/customers/:customer_id/mandates - Content check if 'mandate_id' exists\", function() {\n   pm.expect((typeof jsonData.mandate_id !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have a minimum length of \"1\" for \"mandate_id\"\nif (jsonData?.mandate_id) {\npm.test(\"[GET]::/customers/:customer_id/mandates - Content check if value of 'mandate_id' has a minimum length of '1'\", function() {\n  pm.expect(jsonData.mandate_id.length).is.at.least(1);\n})};\n",
-                      "// Response body should have \"status\"\npm.test(\"[GET]::/customers/:customer_id/mandates - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"active\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[GET]::/customers/:customer_id/mandates - Content check if value for 'status' matches 'active'\", function() {\n  pm.expect(jsonData.status).to.eql(\"active\");\n})};\n"
+                      "// Set property value as variable\nconst _resMandateId = jsonData?.mandate_id;\n",
+                      "// Response body should have \"mandate_id\"\npm.test(\"[GET]::/customers/:customer_id/mandates - Content check if 'mandate_id' exists\", function() {\n   pm.expect(_resMandateId !== undefined).to.be.true;\n});\n",
+                      "// Response body should have a minimum length of \"1\" for \"mandate_id\"\nif (_resMandateId !== undefined) {\npm.test(\"[GET]::/customers/:customer_id/mandates - Content check if value of 'mandate_id' has a minimum length of '1'\", function() {\n  pm.expect(jsonData.mandate_id.length).is.at.least(1);\n})};\n",
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[GET]::/customers/:customer_id/mandates - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"active\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[GET]::/customers/:customer_id/mandates - Content check if value for 'status' matches 'active'\", function() {\n  pm.expect(_resStatus).to.eql(\"active\");\n})};\n"
                     ]
                   }
                 }
               ]
             },
             {
-              "id": "90c44ef7-3657-412b-a7ef-e7c27d8a5db3",
+              "id": "cefeea1d-fef6-438e-be23-632634f99dc0",
               "name": "Mandate - List details of a mandate[Get mandates for Customer]",
               "request": {
                 "name": "Mandate - List details of a mandate[Get mandates for Customer]",
@@ -5488,7 +5692,8 @@
                 "url": {
                   "path": [
                     "mandates",
-                    ":id"
+                    ":id",
+                    ":customer_id"
                   ],
                   "host": [
                     "{{baseUrl}}"
@@ -5502,8 +5707,14 @@
                         "type": "text/plain"
                       },
                       "type": "any",
-                      "value": "veniam Lore",
+                      "value": "quis",
                       "key": "id"
+                    },
+                    {
+                      "disabled": false,
+                      "type": "any",
+                      "value": "OffsessionCustomer",
+                      "key": "customer_id"
                     }
                   ]
                 },
@@ -5520,17 +5731,19 @@
                 {
                   "listen": "test",
                   "script": {
-                    "id": "b8015b08-cd71-47fe-b048-9a0251e83683",
+                    "id": "f95deaec-6b5d-4cdf-af11-a898becd4a33",
                     "type": "text/javascript",
                     "exec": [
                       "// Validate response status code \npm.test(\"[GET]::/mandates/:id - Response status code is 200\", function () {\n    pm.expect(pm.response.code).to.equal(200);\n});\n",
                       "// Validate if response has JSON Body \npm.test(\"[GET]::/mandates/:id - Response has JSON Body\", function () {\n    pm.response.to.have.jsonBody();\n});\n",
-                      "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Mandate Payment Create Response\",\"required\":[\"mandate_id\",\"status\",\"payment_method_id\"],\"properties\":{\"mandate_id\":{\"type\":\"string\",\"description\":\"The unique id corresponding to the mandate.\\n\",\"example\":\"mandate_end38934n12s923d0\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the mandate, which indicates whether it can be used to initiate a payment.\",\"enum\":[\"active\",\"inactive\",\"pending\",\"revoked\"],\"example\":\"active\"},\"type\":{\"type\":\"string\",\"description\":\"The type of the mandate. (i) single_use refers to one-time mandates and (ii) multi-user refers to multiple payments.\",\"enum\":[\"multi_use\",\"single_use\"],\"default\":\"multi_use\",\"example\":\"multi_use\"},\"payment_method_id\":{\"type\":\"string\",\"description\":\"The id corresponding to the payment method.\",\"example\":\"pm_end38934n12s923d0\"},\"payment_method\":{\"type\":\"string\",\"description\":\"The type of payment method use for the payment.\\n\",\"enum\":[\"card\",\"payment_container\",\"bank_transfer\",\"bank_debit\",\"pay_later\",\"upi\",\"netbanking\"],\"example\":\"card\"},\"card\":{\"description\":\"The card identifier information to be displayed on the user interface\",\"type\":\"object\",\"properties\":{\"last4_digits\":{\"type\":\"string\",\"description\":\"The last four digits of the case which could be displayed to the end user for identification.\",\"example\":\"xxxxxxxxxxxx4242\"},\"card_exp_month\":{\"type\":\"string\",\"description\":\"The expiry month for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"10\"},\"card_exp_year\":{\"type\":\"string\",\"description\":\"Expiry year for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"25\"},\"card_holder_name\":{\"type\":\"string\",\"description\":\"The name of card holder\",\"maxLength\":255,\"example\":\"Arun Raj\"},\"card_token\":{\"type\":\"string\",\"description\":\"The token provided against a user's saved card. The token would be valid for 15 minutes.\",\"minLength\":30,\"maxLength\":30,\"example\":\"tkn_78892490hfh3r834rd\"},\"scheme\":{\"type\":\"string\",\"description\":\"The card scheme network for the particular card\",\"example\":\"MASTER\"},\"issuer_country\":{\"type\":\"string\",\"description\":\"The country code in in which the card was issued\",\"minLength\":2,\"maxLength\":2,\"example\":\"US\"},\"card_fingerprint\":{\"type\":\"string\",\"description\":\"A unique identifier alias to identify a particular card.\",\"minLength\":30,\"maxLength\":30,\"example\":\"fpt_78892490hfh3r834rd\"}}},\"customer_acceptance\":{\"description\":\"The card identifier information to be displayed on the user interface\",\"type\":\"object\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/mandates/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
+                      "// Response Validation\nconst schema = {\"type\":\"object\",\"description\":\"Mandate Payment Create Response\",\"required\":[\"mandate_id\",\"status\",\"payment_method_id\"],\"properties\":{\"mandate_id\":{\"type\":\"string\",\"description\":\"The unique id corresponding to the mandate.\\n\",\"example\":\"mandate_end38934n12s923d0\"},\"status\":{\"type\":\"string\",\"description\":\"The status of the mandate, which indicates whether it can be used to initiate a payment.\",\"enum\":[\"active\",\"inactive\",\"pending\",\"revoked\"],\"example\":\"active\"},\"type\":{\"type\":\"string\",\"description\":\"The type of the mandate. (i) single_use refers to one-time mandates and (ii) multi-user refers to multiple payments.\",\"enum\":[\"multi_use\",\"single_use\"],\"default\":\"multi_use\",\"example\":\"multi_use\"},\"payment_method_id\":{\"type\":\"string\",\"description\":\"The id corresponding to the payment method.\",\"example\":\"pm_end38934n12s923d0\"},\"payment_method\":{\"type\":\"string\",\"description\":\"The type of payment method use for the payment.\\n\",\"enum\":[\"card\",\"payment_container\",\"bank_transfer\",\"bank_debit\",\"pay_later\",\"upi\",\"netbanking\"],\"example\":\"card\"},\"card\":{\"description\":\"The card identifier information to be displayed on the user interface\",\"type\":\"object\",\"properties\":{\"last4_digits\":{\"type\":\"string\",\"description\":\"The last four digits of the case which could be displayed to the end user for identification.\",\"example\":\"xxxxxxxxxxxx4242\"},\"card_exp_month\":{\"type\":\"string\",\"description\":\"The expiry month for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"10\"},\"card_exp_year\":{\"type\":\"string\",\"description\":\"Expiry year for the card\",\"maxLength\":2,\"minLength\":2,\"example\":\"25\"},\"card_holder_name\":{\"type\":\"string\",\"description\":\"The name of card holder\",\"maxLength\":255,\"example\":\"John Doe\"},\"card_token\":{\"type\":\"string\",\"description\":\"The token provided against a user's saved card. The token would be valid for 15 minutes.\",\"minLength\":30,\"maxLength\":30,\"example\":\"tkn_78892490hfh3r834rd\"},\"scheme\":{\"type\":\"string\",\"description\":\"The card scheme network for the particular card\",\"example\":\"MASTER\"},\"issuer_country\":{\"type\":\"string\",\"description\":\"The country code in in which the card was issued\",\"minLength\":2,\"maxLength\":2,\"example\":\"US\"},\"card_fingerprint\":{\"type\":\"string\",\"description\":\"A unique identifier alias to identify a particular card.\",\"minLength\":30,\"maxLength\":30,\"example\":\"fpt_78892490hfh3r834rd\"}}},\"customer_acceptance\":{\"description\":\"The card identifier information to be displayed on the user interface\",\"type\":\"object\",\"properties\":{\"accepted_at\":{\"description\":\"A timestamp (ISO 8601 code) that determines when the refund was created.\",\"type\":\"string\",\"format\":\"date-time\"},\"online\":{\"type\":\"object\",\"description\":\"If this is a Mandate accepted online, this hash contains details about the online acceptance.\",\"properties\":{\"ip_address\":{\"type\":\"string\",\"description\":\"The IP address from which the Mandate was accepted by the customer.\",\"example\":\"127.0.0.1\"},\"user_agent\":{\"type\":\"string\",\"description\":\"The user agent of the browser from which the Mandate was accepted by the customer.\",\"example\":\"device\"}}},\"acceptance_type\":{\"type\":\"string\",\"description\":\"The type of customer acceptance information included with the Mandate. One of online or offline.\",\"enum\":[\"online\",\"offline\"],\"example\":\"online\"}}}}}\n\n// Validate if response matches JSON schema \npm.test(\"[GET]::/mandates/:id - Schema is valid\", function() {\n    pm.response.to.have.jsonSchema(schema,{unknownFormats: [\"int32\", \"int64\", \"float\", \"double\"]});\n});\n",
                       "// Set response object as internal variable\nlet jsonData = {};\ntry {jsonData = pm.response.json();}catch(e){}\n",
-                      "// Response body should have \"mandate_id\"\npm.test(\"[GET]::/mandates/:id - Content check if 'mandate_id' exists\", function() {\n   pm.expect((typeof jsonData.mandate_id !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have a minimum length of \"1\" for \"mandate_id\"\nif (jsonData?.mandate_id) {\npm.test(\"[GET]::/mandates/:id - Content check if value of 'mandate_id' has a minimum length of '1'\", function() {\n  pm.expect(jsonData.mandate_id.length).is.at.least(1);\n})};\n",
-                      "// Response body should have \"status\"\npm.test(\"[GET]::/mandates/:id - Content check if 'status' exists\", function() {\n   pm.expect((typeof jsonData.status !== \"undefined\")).to.be.true;\n});\n",
-                      "// Response body should have value \"active\" for \"status\"\nif (jsonData?.status) {\npm.test(\"[GET]::/mandates/:id - Content check if value for 'status' matches 'active'\", function() {\n  pm.expect(jsonData.status).to.eql(\"active\");\n})};\n"
+                      "// Set property value as variable\nconst _resMandateId = jsonData?.mandate_id;\n",
+                      "// Response body should have \"mandate_id\"\npm.test(\"[GET]::/mandates/:id - Content check if 'mandate_id' exists\", function() {\n   pm.expect(_resMandateId !== undefined).to.be.true;\n});\n",
+                      "// Response body should have a minimum length of \"1\" for \"mandate_id\"\nif (_resMandateId !== undefined) {\npm.test(\"[GET]::/mandates/:id - Content check if value of 'mandate_id' has a minimum length of '1'\", function() {\n  pm.expect(jsonData.mandate_id.length).is.at.least(1);\n})};\n",
+                      "// Set property value as variable\nconst _resStatus = jsonData?.status;\n",
+                      "// Response body should have \"status\"\npm.test(\"[GET]::/mandates/:id - Content check if 'status' exists\", function() {\n   pm.expect(_resStatus !== undefined).to.be.true;\n});\n",
+                      "// Response body should have value \"active\" for \"status\"\nif (_resStatus !== undefined) {\npm.test(\"[GET]::/mandates/:id - Content check if value for 'status' matches 'active'\", function() {\n  pm.expect(_resStatus).to.eql(\"active\");\n})};\n"
                     ]
                   }
                 }
@@ -5572,11 +5785,11 @@
     }
   ],
   "info": {
-    "_postman_id": "37584940-c2e2-4a94-9dde-59703dd0eab6",
+    "_postman_id": "f714328d-aa9f-4cef-a376-fb0c30e34e50",
     "name": "Juspay Router - API Documentation",
     "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
     "description": {
-      "content": "## Get started\nJuspay Router provides a collection of APIs that enable you to process and manage payments. Our APIs accept and return JSON in the HTTP body, and return standard HTTP response codes</a>.\nYou can consume the APIs directly using your favorite HTTP/REST library.\nWe have a testing environment referred to \"sandbox\", which you can setup to test API calls without affecting production data.\n### Base URLs\nUse the following base URLs when making requests to the APIs:\n\n  | Environment   |      Base URL                                        |\n  |---------------|------------------------------------------------------|\n  | Sandbox       |  https://sandbox-router.juspay.io                    |\n  | Production    |  https://router.juspay.io                            |\n\n# Authentication\nWhen you sign up for an account, you are given a secret key (also referred as api-key). You may authenticate all API requests with Juspay server by providing the appropriate key in the request Authorization header.\nNever share your secret api keys. Keep them guarded and secure.\n\n\nContact Support:\n Name: Juspay Support\n Email: support@juspay.in",
+      "content": "## Get started\nJuspay Router provides a collection of APIs that enable you to process and manage payments. Our APIs accept and return JSON in the HTTP body, and return standard HTTP response codes</a>.\nYou can consume the APIs directly using your favorite HTTP/REST library.\nWe have a testing environment referred to \"sandbox\", which you can setup to test API calls without affecting production data.\n### Base URLs\nUse the following base URLs when making requests to the APIs:\n\n  | Environment   |      Base URL                                        |\n  |---------------|------------------------------------------------------|\n  | Sandbox       | <https://sandbox-router.juspay.io>                   |\n  | Production    | <https://router.juspay.io>                           |\n\n# Authentication\nWhen you sign up for an account, you are given a secret key (also referred as api-key). You may authenticate all API requests with Juspay server by providing the appropriate key in the request Authorization header.\nNever share your secret api keys. Keep them guarded and secure.\n\n\nContact Support:\n Name: Juspay Support\n Email: support@juspay.in",
       "type": "text/plain"
     }
   }

## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [x] Bugfix
- [ ] New feature
- [ ] Enhancement
- [x] Refactoring
- [ ] Dependency updates

## Description
<!-- Describe your changes in detail -->

(If you're reviewing, it's better to follow changes in each commit, except for the first one. For the first commit, check [diff without whitespace changes](https://github.com/juspay/orca/commit/892fce6309a0c7e166cb90ce122a9152e09544d4?w=1).)

This PR includes the following changes:

- Re-formats the OpenAPI spec YAML file to use 2 spaces instead of 4 for indentation.
  - I just ran the [Prettier VS Code Extension](https://github.com/prettier/prettier-vscode) on the file.
  - View the diff for the commit without whitespace changes [here](https://github.com/juspay/orca/commit/892fce6309a0c7e166cb90ce122a9152e09544d4?w=1).
- Updates the base URLs in the description to be clickable links.
- Replaces some occurrences of `jarnura` and `Arun Raj` with placeholders.
- Fixes typos in the OpenAPI spec file (~50 of them)
- Re-generates the Postman collection from the OpenAPI spec file.

## Motivation and Context
<!--
Why is this change required? What problem does it solve?
If it fixes an open issue, please link to the issue here.

If you don't have an issue, we'd recommend starting with one first so the PR
can focus on the implementation (unless its an obvious bug or documentation fix
that will have little conversation).
-->
This PR paves the way for including a "quick start" section in the OpenAPI spec and the Postman collection, which will be made in a separate PR.

## How did you test it?
<!--
Did you write an integration/unit/API test to verify the code changes?
Or did you test this change manually (provide relevant screenshots)?
-->
N/A

## Checklist
<!-- Put an `x` in the boxes that apply -->

- [ ] I formatted the code `cargo +nightly fmt`
- [ ] I addressed lints thrown by `cargo clippy`
- [x] I reviewed submitted code
- [ ] I added unit tests for my changes where possible
- [ ] I added a [CHANGELOG](/CHANGELOG.md) entry if applicable
