{
  "event": [
    {
      "listen": "prerequest",
      "script": {
        "exec": [
          ""
        ],
        "type": "text/javascript"
      }
    },
    {
      "listen": "test",
      "script": {
        "exec": [
          "// Set response object as internal variable",
          "let jsonData = {};",
          "try {",
          "  jsonData = pm.response.json();",
          "} catch (e) {}",
          "",
          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
          "if (jsonData?.payment_id) {",
          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
          "  console.log(\"[LOG]::payment_id - \" + jsonData.payment_id);",
          "}",
          "",
          "console.log(\"[LOG]::x-request-id - \" + pm.response.headers.get(\"x-request-id\"));",
          ""
        ],
        "type": "text/javascript"
      }
    }
  ],
  "item": [
    {
      "name": "Health check",
      "item": [
        {
          "name": "Healthcheck",
          "event": [
            {
              "listen": "test",
              "script": {
                "exec": [
                  "// Validate status 2xx",
                  "pm.test(\"[POST]::/accounts - Status code is 2xx\", function () {",
                  "  pm.response.to.be.success;",
                  "});",
                  ""
                ],
                "type": "text/javascript"
              }
            }
          ],
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/health",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "health"
              ]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Flow Testcases",
      "item": [
        {
          "name": "QuickStart",
          "item": [
            {
              "name": "Organization - Create",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(\"[POST]::/organization - Status code is 2xx\", function () {",
                      "  pm.response.to.be.success;",
                      "});",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(\"[POST]::/organization - Content-Type is application/json\", function () {",
                      "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "    \"application/json\",",
                      "  );",
                      "});",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = {};",
                      "try {",
                      "  jsonData = pm.response.json();",
                      "} catch (e) {}",
                      "",
                      "// pm.collectionVariables - Set merchant_id as variable for jsonData.merchant_id",
                      "if (jsonData?.organization_id) {",
                      "  pm.collectionVariables.set(\"organization_id\", jsonData.organization_id);",
                      "  console.log(",
                      "    \"- use {{organization_id}} as collection variable for value\",",
                      "    jsonData.organization_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{organization_id}}, as jsonData.organization_id is undefined.\",",
                      "  );",
                      "}"
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "auth": {
                  "type": "apikey",
                  "apikey": [
                    {
                      "key": "value",
                      "value": "{{admin_api_key}}",
                      "type": "string"
                    },
                    {
                      "key": "key",
                      "value": "api-key",
                      "type": "string"
                    },
                    {
                      "key": "in",
                      "value": "header",
                      "type": "string"
                    }
                  ]
                },
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  },
                  "raw": "{\"organization_details\":null,\"metadata\":null,\"organization_name\":\"Flowbird\"}"
                },
                "url": {
                  "raw": "{{baseUrl}}/organization",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "organization"
                  ]
                },
                "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."
              },
              "response": []
            },
            {
              "name": "Merchant Account - Create",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(\"[POST]::/accounts - Status code is 2xx\", function () {",
                      "  pm.response.to.be.success;",
                      "});",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(\"[POST]::/accounts - Content-Type is application/json\", function () {",
                      "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "    \"application/json\",",
                      "  );",
                      "});",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = {};",
                      "try {",
                      "  jsonData = pm.response.json();",
                      "} catch (e) {}",
                      "",
                      "// pm.collectionVariables - Set merchant_id as variable for jsonData.merchant_id",
                      "if (jsonData?.merchant_id) {",
                      "  pm.collectionVariables.set(\"merchant_id\", jsonData.merchant_id);",
                      "  console.log(",
                      "    \"- use {{merchant_id}} as collection variable for value\",",
                      "    jsonData.merchant_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{merchant_id}}, as jsonData.merchant_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set api_key as variable for jsonData.api_key",
                      "if (jsonData?.api_key) {",
                      "  pm.collectionVariables.set(\"api_key\", jsonData.api_key);",
                      "  console.log(",
                      "    \"- use {{api_key}} as collection variable for value\",",
                      "    jsonData.api_key,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{api_key}}, as jsonData.api_key is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set publishable_key as variable for jsonData.publishable_key",
                      "if (jsonData?.publishable_key) {",
                      "  pm.collectionVariables.set(\"publishable_key\", jsonData.publishable_key);",
                      "  console.log(",
                      "    \"- use {{publishable_key}} as collection variable for value\",",
                      "    jsonData.publishable_key,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{publishable_key}}, as jsonData.publishable_key is undefined.\",",
                      "  );",
                      "}",
                      ""
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "auth": {
                  "type": "apikey",
                  "apikey": [
                    {
                      "key": "value",
                      "value": "{{admin_api_key}}",
                      "type": "string"
                    },
                    {
                      "key": "key",
                      "value": "api-key",
                      "type": "string"
                    },
                    {
                      "key": "in",
                      "value": "header",
                      "type": "string"
                    }
                  ]
                },
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  },
                  "raw": "{\"merchant_id\":\"postman_merchant_GHAction_{{$guid}}\",\"organization_id\":\"{{organization_id}}\",\"merchant_name\":\"Flowbird\",\"merchant_details\":{\"primary_contact_person\":\"Primary Contact Person\",\"primary_email\":\"primary_email@flowbird.group\",\"primary_phone\":\"Primary Phone Number\",\"secondary_contact_person\":\"Flowbird contact\",\"secondary_email\":\"contact@flowbird.group\",\"secondary_phone\":\"+33 (0) 1 58 09 81 10\",\"website\":\"https://www.flowbird.com/\",\"about_business\":\"Effortless Parking, Charging, Payments and Movement, From City to City\",\"address\":{\"line1\":\"2 ter rue du château\",\"line2\":\"\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"}},\"sub_merchants_enabled\":false,\"metadata\":{\"compatible_connector\":\"archipel\"}}"
                },
                "url": {
                  "raw": "{{baseUrl}}/accounts",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "accounts"
                  ]
                },
                "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."
              },
              "response": []
            },
            {
              "name": "API Key - Create",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(\"[POST]::/api_keys/:merchant_id - Status code is 2xx\", function () {",
                      "  pm.response.to.be.success;",
                      "});",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(",
                      "  \"[POST]::/api_keys/:merchant_id - Content-Type is application/json\",",
                      "  function () {",
                      "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "      \"application/json\",",
                      "    );",
                      "  },",
                      ");",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = {};",
                      "try {",
                      "  jsonData = pm.response.json();",
                      "} catch (e) {}",
                      "",
                      "// pm.collectionVariables - Set api_key_id as variable for jsonData.key_id",
                      "if (jsonData?.key_id) {",
                      "  pm.collectionVariables.set(\"api_key_id\", jsonData.key_id);",
                      "  console.log(",
                      "    \"- use {{api_key_id}} as collection variable for value\",",
                      "    jsonData.key_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{api_key_id}}, as jsonData.key_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set api_key as variable for jsonData.api_key",
                      "if (jsonData?.api_key) {",
                      "  pm.collectionVariables.set(\"api_key\", jsonData.api_key);",
                      "  console.log(",
                      "    \"- use {{api_key}} as collection variable for value\",",
                      "    jsonData.api_key,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{api_key}}, as jsonData.api_key is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "pm.test(",
                      "  \"[POST]::/api_keys/:merchant_id - Validate merchant_id\",",
                      "  function () {",
                      "    pm.expect(jsonData.merchant_id).to.equal(",
                      "      pm.collectionVariables.get(\"merchant_id\"),",
                      "    );",
                      "  },",
                      ");",
                      ""
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "auth": {
                  "type": "apikey",
                  "apikey": [
                    {
                      "key": "value",
                      "value": "{{admin_api_key}}",
                      "type": "string"
                    },
                    {
                      "key": "key",
                      "value": "api-key",
                      "type": "string"
                    }
                  ]
                },
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\"name\":\"archipel_connector_dev_key\",\"description\":\"Api key used to test payments with archipel connector\",\"expiration\":\"2099-09-23T01:02:03.000Z\"}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api_keys/:merchant_id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api_keys",
                    ":merchant_id"
                  ],
                  "variable": [
                    {
                      "key": "merchant_id",
                      "value": "{{merchant_id}}"
                    }
                  ]
                }
              },
              "response": []
            },
            {
              "name": "Business Profile - Create",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(",
                      "  \"[POST]::/account/:account_id/business_profile - Status code is 2xx\",",
                      "  function () {",
                      "    pm.response.to.be.success;",
                      "  },",
                      ");",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(",
                      "  \"[POST]::/account/:account_id/business_profile - Content-Type is application/json\",",
                      "  function () {",
                      "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "      \"application/json\",",
                      "    );",
                      "  },",
                      ");",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = {};",
                      "try {",
                      "  jsonData = pm.response.json();",
                      "} catch (e) {}",
                      "",
                      "// pm.collectionVariables - Set profile_id as variable for jsonData.profile_id",
                      "if (jsonData?.profile_id) {",
                      "  pm.collectionVariables.set(",
                      "    \"profile_id\",",
                      "    jsonData.profile_id,",
                      "  );",
                      "  console.log(",
                      "    \"- use {{profile_id}} as collection variable for value\",",
                      "    jsonData.profile_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{profile_id}}, as jsonData.profile_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// Validate if response has correct merchant_id",
                      "pm.test(",
                      "  \"[POST]::/account/:account_id/business_profile - Validate merchant_id\",",
                      "  function () {",
                      "    pm.expect(jsonData.merchant_id).to.eql(",
                      "      pm.collectionVariables.get(\"merchant_id\")",
                      "    );",
                      "  }",
                      ");"
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "auth": {
                  "type": "apikey",
                  "apikey": [
                    {
                      "key": "value",
                      "value": "{{api_key}}",
                      "type": "string"
                    },
                    {
                      "key": "key",
                      "value": "api-key",
                      "type": "string"
                    },
                    {
                      "key": "in",
                      "value": "header",
                      "type": "string"
                    }
                  ]
                },
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  },
                  "raw": "{\"profile_name\":\"eisop_cnp\",\"is_connector_agnostic_mit_enabled\":true,\"collect_billing_details_from_wallet_connector\":true}"
                },
                "url": {
                  "raw": "{{baseUrl}}/account/:account_id/business_profile",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "account",
                    ":account_id",
                    "business_profile"
                  ],
                  "variable": [
                    {
                      "key": "account_id",
                      "value": "{{merchant_id}}"
                    }
                  ]
                },
                "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."
              },
              "response": []
            },
            {
              "name": "Payment Connector - Create",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(",
                      "    \"[POST]::/account/:account_id/connectors - Status code is 2xx\",",
                      "    function () {",
                      "        pm.response.to.have.status(200);",
                      "    },",
                      ");",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(",
                      "    \"[POST]::/account/:account_id/connectors - Content-Type is application/json\",",
                      "    function () {",
                      "        pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "            \"application/json\",",
                      "        );",
                      "    },",
                      ");",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = pm.response.json();",
                      "",
                      "// Validate if connector_type is payment_processor",
                      "pm.test(",
                      "    \"[POST]::/account/:account_id/connectors - Validate connector_type\",",
                      "    function () {",
                      "        pm.expect(jsonData.connector_type).to.equal(",
                      "            \"payment_processor\",",
                      "        );",
                      "    },",
                      ");",
                      "",
                      "// Validate if connector_name is archipel",
                      "pm.test(",
                      "    \"[POST]::/account/:account_id/connectors - Validate connector_name\",",
                      "    function () {",
                      "        pm.expect(jsonData.connector_name).to.equal(",
                      "            \"archipel\",",
                      "        );",
                      "    },",
                      ");",
                      "",
                      "// Validate if connector_account_details are not empty",
                      "pm.test(",
                      "    \"[POST]::/account/:account_id/connectors - Validate merchant_connector_id\",",
                      "    function () {",
                      "        // pm.collectionVariables - Set merchant_connector_id as variable for jsonData.merchant_connector_id",
                      "        if (jsonData?.merchant_connector_id) {",
                      "            pm.collectionVariables.set(",
                      "                \"merchant_connector_id\",",
                      "                jsonData.merchant_connector_id,",
                      "            );",
                      "            console.log(",
                      "                \"- use {{merchant_connector_id}} as collection variable for value\",",
                      "                jsonData.merchant_connector_id,",
                      "            );",
                      "        } else {",
                      "            console.log(",
                      "                \"INFO - Unable to assign variable {{merchant_connector_id}}, as jsonData.merchant_connector_id is undefined.\",",
                      "            );",
                      "        }",
                      "        pm.expect(jsonData.merchant_connector_id).to.equal(",
                      "            pm.collectionVariables.get(\"merchant_connector_id\")",
                      "        );",
                      "    },",
                      ");",
                      "",
                      "// Validate if auth_type is HeaderKey",
                      "pm.test(",
                      "    \"[POST]::/account/:account_id/connectors - Validate auth_type is HeaderKey\",",
                      "    function () {",
                      "        pm.expect(jsonData.connector_account_details.auth_type).to.equal(",
                      "            \"HeaderKey\"",
                      "        );",
                      "    },",
                      ");",
                      "",
                      "// Validate if metadata contains tenant_id",
                      "pm.test(",
                      "    \"[POST]::/account/:account_id/connectors - Validate metadata contains tenant_id\",",
                      "    function () {",
                      "        pm.expect(jsonData.metadata.tenant_id).to.not.be.null;",
                      "    },",
                      ");",
                      "",
                      "// Validate if test_mode is true",
                      "pm.test(",
                      "    \"[POST]::/account/:account_id/connectors - Validate is not test_mode\",",
                      "    function () {",
                      "        pm.expect(jsonData.test_mode).to.be.true;",
                      "    },",
                      ");",
                      "",
                      "// Validate if disabled is false",
                      "pm.test(",
                      "    \"[POST]::/account/:account_id/connectors - Validate is not disabled\",",
                      "    function () {",
                      "        pm.expect(jsonData.disabled).to.be.false;",
                      "    },",
                      ");",
                      "",
                      "// Validate if status is active",
                      "pm.test(",
                      "    \"[POST]::/account/:account_id/connectors - Validate have active status\",",
                      "    function () {",
                      "        pm.expect(jsonData.status).to.equal(",
                      "            \"active\"",
                      "        );",
                      "    },",
                      ");",
                      "",
                      ""
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "auth": {
                  "type": "apikey",
                  "apikey": [
                    {
                      "key": "value",
                      "value": "{{api_key}}",
                      "type": "string"
                    },
                    {
                      "key": "key",
                      "value": "api-key",
                      "type": "string"
                    },
                    {
                      "key": "in",
                      "value": "header",
                      "type": "string"
                    }
                  ]
                },
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  },
                  "raw": "{\"connector_type\":\"payment_processor\",\"connector_name\":\"archipel\",\"connector_account_details\":{\"auth_type\":\"HeaderKey\",\"api_key\":\"{{connector_api_key}}\"},\"metadata\":{\"tenant_id\":\"{{archipel_tenant_id}}\",\"platform_url\":\"{{archipel_platform_url}}\",\"apple_pay_combined\":{\"manual\":{\"session_token_data\":{\"initiative\":\"web\",\"certificate\":\"\",\"display_name\":\"Flowbird\",\"certificate_keys\":\"\",\"initiative_context\":\"\",\"merchant_identifier\":\"\",\"merchant_business_country\":\"\",\"payment_processing_details_at\":\"Hyperswitch\",\"payment_processing_certificate\":\"\",\"payment_processing_certificate_key\":\"\"},\"payment_request_data\":{\"label\":\"Flowbird\",\"supported_networks\":[\"visa\",\"masterCard\",\"amex\",\"discover\"],\"merchant_capabilities\":[\"supports3DS\"]}}}},\"profile_id\":\"{{profile_id}}\",\"test_mode\":true,\"disabled\":false,\"payment_methods_enabled\":[{\"payment_method\":\"card\",\"payment_method_types\":[{\"payment_method_type\":\"credit\",\"payment_experience\":null,\"card_networks\":[\"AmericanExpress\",\"Discover\",\"Interac\",\"JCB\",\"Mastercard\",\"Visa\",\"DinersClub\",\"UnionPay\",\"RuPay\"],\"accepted_currencies\":null,\"accepted_countries\":null,\"minimum_amount\":1,\"maximum_amount\":68607706,\"recurring_enabled\":true,\"installment_payment_enabled\":true},{\"payment_method_type\":\"debit\",\"payment_experience\":null,\"card_networks\":[\"AmericanExpress\",\"Discover\",\"Interac\",\"JCB\",\"Mastercard\",\"Visa\",\"DinersClub\",\"UnionPay\",\"RuPay\"],\"accepted_currencies\":null,\"accepted_countries\":null,\"minimum_amount\":1,\"maximum_amount\":68607706,\"recurring_enabled\":true,\"installment_payment_enabled\":true}]},{\"payment_method\":\"wallet\",\"payment_method_types\":[{\"payment_method_type\":\"apple_pay\",\"payment_experience\":null,\"card_networks\":[\"AmericanExpress\",\"Discover\",\"Interac\",\"JCB\",\"Mastercard\",\"Visa\",\"DinersClub\",\"UnionPay\",\"RuPay\"],\"accepted_currencies\":null,\"accepted_countries\":null,\"minimum_amount\":1,\"maximum_amount\":68607706,\"recurring_enabled\":false,\"installment_payment_enabled\":true}]}]}"
                },
                "url": {
                  "raw": "{{baseUrl}}/account/:account_id/connectors",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "account",
                    ":account_id",
                    "connectors"
                  ],
                  "variable": [
                    {
                      "key": "account_id",
                      "value": "{{merchant_id}}",
                      "description": "(Required) The unique identifier for the merchant account"
                    }
                  ]
                },
                "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."
              },
              "response": []
            },
            {
              "name": "3DS Authenticator - Create",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(",
                      "    \"[POST]::/account/:account_id/connectors - Status code is 2xx\",",
                      "    function () {",
                      "        pm.response.to.have.status(200);",
                      "    },",
                      ");",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(",
                      "    \"[POST]::/account/:account_id/connectors - Content-Type is application/json\",",
                      "    function () {",
                      "        pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "            \"application/json\",",
                      "        );",
                      "    },",
                      ");",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = pm.response.json();",
                      "",
                      "// Validate if connector_type is authentication_processor",
                      "pm.test(",
                      "    \"[POST]::/account/:account_id/connectors - Validate connector_type\",",
                      "    function () {",
                      "        pm.expect(jsonData.connector_type).to.equal(",
                      "            \"authentication_processor\",",
                      "        );",
                      "    },",
                      ");",
                      "",
                      "// Validate if connector_name is netcetera",
                      "pm.test(",
                      "    \"[POST]::/account/:account_id/connectors - Validate connector_name\",",
                      "    function () {",
                      "        pm.expect(jsonData.connector_name).to.equal(",
                      "            \"netcetera\",",
                      "        );",
                      "    },",
                      ");",
                      "",
                      "// Validate if auth_type is CertificateAuth",
                      "pm.test(",
                      "    \"[POST]::/account/:account_id/connectors - Validate auth_type is CertificateAuth\",",
                      "    function () {",
                      "        pm.expect(jsonData.connector_account_details.auth_type).to.equal(",
                      "            \"CertificateAuth\"",
                      "        );",
                      "    },",
                      ");",
                      "",
                      "// Validate if metadata contains merchant_configuration_id",
                      "pm.test(",
                      "    \"[POST]::/account/:account_id/connectors - Validate metadata contains merchant_configuration_id\",",
                      "    function () {",
                      "        pm.expect(jsonData.metadata.merchant_configuration_id).to.not.be.null;",
                      "    },",
                      ");",
                      "",
                      "// Validate if test_mode is true",
                      "pm.test(",
                      "    \"[POST]::/account/:account_id/connectors - Validate is not test_mode\",",
                      "    function () {",
                      "        pm.expect(jsonData.test_mode).to.be.true;",
                      "    },",
                      ");",
                      "",
                      "// Validate if disabled is false",
                      "pm.test(",
                      "    \"[POST]::/account/:account_id/connectors - Validate is not disabled\",",
                      "    function () {",
                      "        pm.expect(jsonData.disabled).to.be.false;",
                      "    },",
                      ");",
                      "",
                      "// Validate if status is active",
                      "pm.test(",
                      "    \"[POST]::/account/:account_id/connectors - Validate have active status\",",
                      "    function () {",
                      "        pm.expect(jsonData.status).to.equal(",
                      "            \"active\"",
                      "        );",
                      "    },",
                      ");"
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "auth": {
                  "type": "apikey",
                  "apikey": [
                    {
                      "key": "value",
                      "value": "{{api_key}}",
                      "type": "string"
                    },
                    {
                      "key": "key",
                      "value": "api-key",
                      "type": "string"
                    },
                    {
                      "key": "in",
                      "value": "header",
                      "type": "string"
                    }
                  ]
                },
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-merchant-id",
                    "value": "{{merchant_id}}"
                  },
                  {
                    "key": "x-profile-id",
                    "value": "{{profile_id}}"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  },
                  "raw": "{\"connector_type\":\"authentication_processor\",\"connector_name\":\"netcetera\",\"connector_account_details\":{\"auth_type\":\"CertificateAuth\",\"certificate\":\"{{netcetera_certificate}}\",\"private_key\":\"{{netcetera_private_key}}\"},\"metadata\":{\"merchant_configuration_id\":\"{{netcetera_merchant_configuration_id}}\",\"endpoint_prefix\":\"flowbird\",\"pull_mechanism_for_external_3ds_enabled\":false},\"profile_id\":\"{{profile_id}}\",\"test_mode\":true,\"disabled\":false,\"status\":\"active\",\"additional_merchant_data\":null}"
                },
                "url": {
                  "raw": "{{baseUrl}}/account/:account_id/connectors",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "account",
                    ":account_id",
                    "connectors"
                  ],
                  "variable": [
                    {
                      "key": "account_id",
                      "value": "{{merchant_id}}",
                      "description": "(Required) The unique identifier for the merchant account"
                    }
                  ]
                },
                "description": "Create a new 3DS Authenticator for the merchant account. This endpoint allows you to set up a 3DS Authenticator that can be used for processing 3D Secure transactions."
              },
              "response": []
            },
            {
              "name": "3DS Authenticator - Configure",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(",
                      "  \"[POST]::/account/:account_id/business_profile - Status code is 2xx\",",
                      "  function () {",
                      "    pm.response.to.be.success;",
                      "  },",
                      ");",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(",
                      "  \"[POST]::/account/:account_id/business_profile - Content-Type is application/json\",",
                      "  function () {",
                      "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "      \"application/json\",",
                      "    );",
                      "  },",
                      ");",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = {};",
                      "try {",
                      "  jsonData = pm.response.json();",
                      "} catch (e) {}",
                      "",
                      "// Validate if response has correct merchant_id",
                      "pm.test(",
                      "  \"[POST]::/account/:account_id/business_profile - Validate merchant_id\",",
                      "  function () {",
                      "    pm.expect(jsonData.merchant_id).to.eql(",
                      "      pm.collectionVariables.get(\"merchant_id\")",
                      "    );",
                      "  }",
                      ");",
                      "",
                      "// Validate if response has correct profile_id",
                      "pm.test(",
                      "  \"[POST]::/account/:account_id/business_profile - Validate profile_id\",",
                      "  function () {",
                      "    pm.expect(jsonData.profile_id).to.eql(",
                      "      pm.collectionVariables.get(\"profile_id\")",
                      "    );",
                      "  }",
                      ");",
                      "",
                      "// Validate if authentication_connector_details is present",
                      "pm.test(",
                      "  \"[POST]::/account/:account_id/business_profile - Validate authentication_connector_details is present\",",
                      "  function () {",
                      "    pm.expect(jsonData.authentication_connector_details).to.be.an(\"object\");",
                      "  }",
                      ");",
                      "",
                      "// Validate if authentication_connector_details has netcetera as authentication_connectors",
                      "pm.test(",
                      "  \"[POST]::/account/:account_id/business_profile - Validate authentication_connector_details has netcetera\",",
                      "  function () {",
                      "    pm.expect(jsonData.authentication_connector_details.authentication_connectors[0]).to.eql(",
                      "      \"netcetera\",",
                      "    );",
                      "  },",
                      ");",
                      "",
                      "// Validate if authentication_connector_details has three_ds_requestor_url and three_ds_requestor_app_url",
                      "pm.test(",
                      "  \"[POST]::/account/:account_id/business_profile - Validate authentication_connector_details has three_ds_requestor_url and three_ds_requestor_app_url\",",
                      "  function () {",
                      "    pm.expect(jsonData.authentication_connector_details).to.have.property(",
                      "      \"three_ds_requestor_url\",",
                      "    );",
                      "    pm.expect(jsonData.authentication_connector_details).to.have.property(",
                      "      \"three_ds_requestor_app_url\",",
                      "    );",
                      "  },",
                      ");"
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "auth": {
                  "type": "apikey",
                  "apikey": [
                    {
                      "key": "value",
                      "value": "{{api_key}}",
                      "type": "string"
                    },
                    {
                      "key": "key",
                      "value": "api-key",
                      "type": "string"
                    },
                    {
                      "key": "in",
                      "value": "header",
                      "type": "string"
                    }
                  ]
                },
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-merchant-id",
                    "value": "{{merchant_id}}"
                  },
                  {
                    "key": "x-profile-id",
                    "value": "{{profile_id}}"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  },
                  "raw": "{\"return_url\":\"https://abc.com/\",\"collect_shipping_details_from_wallet_connector\":false,\"always_collect_shipping_details_from_wallet_connector\":false,\"collect_billing_details_from_wallet_connector\":false,\"always_collect_billing_details_from_wallet_connector\":false,\"is_auto_retries_enabled\":false,\"is_connector_agnostic_mit_enabled\":false,\"force_3ds_challenge\":false,\"is_debit_routing_enabled\":false,\"webhook_details\":{\"webhook_version\":null,\"webhook_username\":null,\"webhook_password\":null,\"webhook_url\":null,\"payment_created_enabled\":null,\"payment_succeeded_enabled\":null,\"payment_failed_enabled\":null},\"authentication_connector_details\":{\"authentication_connectors\":[\"netcetera\"],\"three_ds_requestor_url\":\"{{netcetera_requestor_url}}\",\"three_ds_requestor_app_url\":\"{{netcetera_requestor_app_url}}\"},\"is_click_to_pay_enabled\":false}"
                },
                "url": {
                  "raw": "{{baseUrl}}/account/:account_id/business_profile/:profile_id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "account",
                    ":account_id",
                    "business_profile",
                    ":profile_id"
                  ],
                  "variable": [
                    {
                      "key": "account_id",
                      "value": "{{merchant_id}}",
                      "description": "(Required) The unique identifier for the merchant account"
                    },
                    {
                      "key": "profile_id",
                      "value": "{{profile_id}}",
                      "description": "(Required) The unique identifier for the business profile"
                    }
                  ]
                }
              },
              "response": []
            },
            {
              "name": "Connector Agnostic MIT - Enable",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(",
                      "  \"[POST]::/account/:account_id/business_profile - Status code is 2xx\",",
                      "  function () {",
                      "    pm.response.to.be.success;",
                      "  },",
                      ");",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(",
                      "  \"[POST]::/account/:account_id/business_profile - Content-Type is application/json\",",
                      "  function () {",
                      "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "      \"application/json\",",
                      "    );",
                      "  },",
                      ");",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = {};",
                      "try {",
                      "  jsonData = pm.response.json();",
                      "} catch (e) {}",
                      "",
                      "// Validate if response has correct merchant_id",
                      "pm.test(",
                      "  \"[POST]::/account/:account_id/business_profile - Validate merchant_id\",",
                      "  function () {",
                      "    pm.expect(jsonData.merchant_id).to.eql(",
                      "      pm.collectionVariables.get(\"merchant_id\")",
                      "    );",
                      "  }",
                      ");",
                      "",
                      "// Validate if response has correct profile_id",
                      "pm.test(",
                      "  \"[POST]::/account/:account_id/business_profile - Validate profile_id\",",
                      "  function () {",
                      "    pm.expect(jsonData.profile_id).to.eql(",
                      "      pm.collectionVariables.get(\"profile_id\")",
                      "    );",
                      "  }",
                      ");",
                      "",
                      "// Validate if authentication_connector_details is present",
                      "pm.test(",
                      "  \"[POST]::/account/:account_id/business_profile - Validate authentication_connector_details is present\",",
                      "  function () {",
                      "    pm.expect(jsonData.authentication_connector_details).to.be.an(\"object\");",
                      "  }",
                      ");",
                      "",
                      "// Validate if authentication_connector_details has netcetera as authentication_connectors",
                      "pm.test(",
                      "  \"[POST]::/account/:account_id/business_profile - Validate authentication_connector_details has netcetera\",",
                      "  function () {",
                      "    pm.expect(jsonData.authentication_connector_details.authentication_connectors[0]).to.eql(",
                      "      \"netcetera\",",
                      "    );",
                      "  },",
                      ");",
                      "",
                      "// Validate if authentication_connector_details has three_ds_requestor_url and three_ds_requestor_app_url",
                      "pm.test(",
                      "  \"[POST]::/account/:account_id/business_profile - Validate authentication_connector_details has three_ds_requestor_url and three_ds_requestor_app_url\",",
                      "  function () {",
                      "    pm.expect(jsonData.authentication_connector_details).to.have.property(",
                      "      \"three_ds_requestor_url\",",
                      "    );",
                      "    pm.expect(jsonData.authentication_connector_details).to.have.property(",
                      "      \"three_ds_requestor_app_url\",",
                      "    );",
                      "  },",
                      ");",
                      "",
                      "// Validate if is_connector_agnostic_mit_enabled true or not",
                      "pm.test(",
                      "  \"[POST]::/account/:account_id/business_profile - Validate is_connector_agnostic_mit_enabled is true\",",
                      "  function () {",
                      "    pm.expect(jsonData.is_connector_agnostic_mit_enabled).to.eql(true);",
                      "  }",
                      ");"
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "auth": {
                  "type": "apikey",
                  "apikey": [
                    {
                      "key": "value",
                      "value": "{{api_key}}",
                      "type": "string"
                    },
                    {
                      "key": "key",
                      "value": "api-key",
                      "type": "string"
                    },
                    {
                      "key": "in",
                      "value": "header",
                      "type": "string"
                    }
                  ]
                },
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-merchant-id",
                    "value": "{{merchant_id}}"
                  },
                  {
                    "key": "x-profile-id",
                    "value": "{{profile_id}}"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  },
                  "raw": "{\"is_connector_agnostic_mit_enabled\":true}"
                },
                "url": {
                  "raw": "{{baseUrl}}/account/:account_id/business_profile/:profile_id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "account",
                    ":account_id",
                    "business_profile",
                    ":profile_id"
                  ],
                  "variable": [
                    {
                      "key": "account_id",
                      "value": "{{merchant_id}}",
                      "description": "(Required) The unique identifier for the merchant account"
                    },
                    {
                      "key": "profile_id",
                      "value": "{{profile_id}}",
                      "description": "(Required) The unique identifier for the business profile"
                    }
                  ]
                }
              },
              "response": []
            },
            {
              "name": "Customer - Create",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx ",
                      "pm.test(\"[POST]::/customers - Status code is 2xx\", function () {",
                      "   pm.response.to.be.success;",
                      "});",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(\"[POST]::/customers - Content-Type is application/json\", function () {",
                      "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                      "});",
                      "",
                      "// Validate if response has JSON Body ",
                      "pm.test(\"[POST]::/customers - Response has JSON Body\", function () {",
                      "    pm.response.to.have.jsonBody();",
                      "});",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = {};",
                      "try {jsonData = pm.response.json();}catch(e){}",
                      "",
                      "// pm.collectionVariables - Set payment_id as variable for jsonData.customer_id",
                      "if (jsonData?.customer_id) {",
                      "   pm.collectionVariables.set(\"customer_id\", jsonData.customer_id);",
                      "   console.log(\"- use {{customer_id}} as collection variable for value\",jsonData.customer_id);",
                      "} else {",
                      "   console.log('INFO - Unable to assign variable {{customer_id}}, as jsonData.payment_id is undefined.');",
                      "};"
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "auth": {
                  "type": "apikey",
                  "apikey": [
                    {
                      "key": "value",
                      "value": "{{api_key}}",
                      "type": "string"
                    },
                    {
                      "key": "key",
                      "value": "api-key",
                      "type": "string"
                    },
                    {
                      "key": "in",
                      "value": "header",
                      "type": "string"
                    }
                  ]
                },
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  },
                  "raw": "{\"name\":\"User Test\",\"email\":\"user@test.com\",\"phone\":\"381545600\",\"phone_country_code\":\"+33\",\"description\":\"Archipel connector test user\",\"address\":{\"line1\":\"Parc La Fayette\",\"line2\":\"6 Rue Isaac Newton\",\"line3\":\"\",\"zip\":\"25000\",\"city\":\"Besancon\",\"state\":\"FRANCE\",\"country\":\"FR\",\"first_name\":\"User\",\"last_name\":\"Test\"},\"metadata\":{}}"
                },
                "url": {
                  "raw": "{{baseUrl}}/customers",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "customers"
                  ]
                },
                "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"
              },
              "response": []
            },
            {
              "name": "Payments - Create",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                      "  pm.response.to.be.success;",
                      "});",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                      "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "    \"application/json\",",
                      "  );",
                      "});",
                      "",
                      "// Validate if response has JSON Body",
                      "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                      "  pm.response.to.have.jsonBody();",
                      "});",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = {};",
                      "try {",
                      "  jsonData = pm.response.json();",
                      "} catch (e) {}",
                      "",
                      "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                      "if (jsonData?.payment_id) {",
                      "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                      "  console.log(",
                      "    \"- use {{payment_id}} as collection variable for value\",",
                      "    jsonData.payment_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                      "if (jsonData?.mandate_id) {",
                      "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                      "  console.log(",
                      "    \"- use {{mandate_id}} as collection variable for value\",",
                      "    jsonData.mandate_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                      "if (jsonData?.client_secret) {",
                      "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                      "  console.log(",
                      "    \"- use {{client_secret}} as collection variable for value\",",
                      "    jsonData.client_secret,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                      "  );",
                      "}",
                      ""
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  },
                  "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"automatic\",\"authentication_type\":\"no_three_ds\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                },
                "url": {
                  "raw": "{{baseUrl}}/payments",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "payments"
                  ]
                },
                "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"
              },
              "response": []
            },
            {
              "name": "Payments - Retrieve",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                      "  pm.response.to.be.success;",
                      "});",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                      "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "    \"application/json\",",
                      "  );",
                      "});",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = {};",
                      "try {",
                      "  jsonData = pm.response.json();",
                      "} catch (e) {}",
                      "",
                      "// Validate if response has JSON Body",
                      "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                      "  pm.response.to.have.jsonBody();",
                      "});",
                      "",
                      "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                      "if (jsonData?.payment_id) {",
                      "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                      "  console.log(",
                      "    \"- use {{payment_id}} as collection variable for value\",",
                      "    jsonData.payment_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                      "if (jsonData?.mandate_id) {",
                      "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                      "  console.log(",
                      "    \"- use {{mandate_id}} as collection variable for value\",",
                      "    jsonData.mandate_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                      "if (jsonData?.client_secret) {",
                      "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                      "  console.log(",
                      "    \"- use {{client_secret}} as collection variable for value\",",
                      "    jsonData.client_secret,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                      "  );",
                      "}",
                      ""
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/payments/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "payments",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "{{payment_id}}",
                      "description": "(Required) unique payment id"
                    }
                  ]
                },
                "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"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Happy Cases",
          "item": [
            {
              "name": "Scenario1-Create payment with confirm true",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "    pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "        \"application/json\",",
                          "    );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "    pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "    jsonData = pm.response.json();",
                          "} catch (e) { }",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "    pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "    console.log(",
                          "        \"- use {{payment_id}} as collection variable for value\",",
                          "        jsonData.payment_id,",
                          "    );",
                          "} else {",
                          "    console.log(",
                          "        \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "    );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "    pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "    console.log(",
                          "        \"- use {{client_secret}} as collection variable for value\",",
                          "        jsonData.client_secret,",
                          "    );",
                          "} else {",
                          "    console.log(",
                          "        \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "    );",
                          "}",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "        pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          ");",
                          "",
                          "// Response body should have \"connector_transaction_id\"",
                          "pm.test(",
                          "    \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "    function () {",
                          "        pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "            .true;",
                          "        pm.collectionVariables.set(\"connector_transaction_id\", jsonData.connector_transaction_id)",
                          "    },",
                          ");",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"automatic\",\"authentication_type\":\"no_three_ds\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Retrieve",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "",
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// Response body should have value \"Succeeded\" for \"status\"",
                          "pm.test(",
                          "    \"[POST]::/payments/:id - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "        pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'amount' equal 500\",",
                          "  function () {",
                          "    pm.expect(jsonData.amount).to.eql(500);",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'net_amount' equal 500\",",
                          "  function () {",
                          "    pm.expect(jsonData.net_amount).to.eql(500);",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'amount_capturable' equal 0\",",
                          "  function () {",
                          "    pm.expect(jsonData.amount_capturable).to.eql(0);",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'amount_received' equal 500\",",
                          "  function () {",
                          "    pm.expect(jsonData.amount_received).to.eql(500);",
                          "  },",
                          ");",
                          "",
                          "",
                          "// Response body should have \"connector_transaction_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "  },",
                          ");",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "force_sync",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Retrieve payment attempt",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// Response body should have value \"Succeeded\" for \"status\"",
                          "pm.test(",
                          "\"[POST]::/payments/:id - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "        pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          ");",
                          "",
                          "// Response body should have \"connector_transaction_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(jsonData.connector_transaction_id).to.be.equal(",
                          "        pm.collectionVariables.get(\"connector_transaction_id\")",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "let payment_attempt = {}",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment has one 'Payment Attempt'\",",
                          "  function () {",
                          "    pm.expect(jsonData.attempts.length).to.be.equal(1);",
                          "    payment_attempt = jsonData.attempts[0]",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment Attempt has 'charged' status\",",
                          "  function () {",
                          "    pm.expect(payment_attempt.status).to.be.equal(\"charged\");",
                          "  },",
                          ");",
                          "",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment Attempt has 'connector_transaction_id'\",",
                          "  function () {",
                          "    pm.expect(jsonData.connector_transaction_id).to.be.equal(",
                          "        pm.collectionVariables.get(\"connector_transaction_id\")",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Archiepl response 'transactionId' is updated and not null\",",
                          "  function () {",
                          "    pm.expect(payment_attempt.connector_metadata.transactionId).not.null",
                          "    pm.expect(payment_attempt.connector_metadata.transactionId).to.not.equal(",
                          "        pm.collectionVariables.get(\"archipel_transaction_uuid\")",
                          "    )",
                          "    pm.collectionVariables.set(\"archipel_transaction_uuid\", payment_attempt.connector_metadata.transactionId)",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment Attempt has no error\",",
                          "  function () {",
                          "    pm.expect(payment_attempt.error_message).to.be.null;",
                          "  },",
                          ");",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?expand_attempts=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "expand_attempts",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario2-Create payment with confirm false",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"requires_payment_method\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'requires_payment_method'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"requires_payment_method\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    },
                    {
                      "listen": "prerequest",
                      "script": {
                        "exec": [
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":false,\"capture_method\":\"automatic\",\"authentication_type\":\"no_three_ds\",\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Retrieve with client secret",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// Response body should have value \"Succeeded\" for \"status\"",
                          "pm.test(",
                          "\"[POST]::/payments/:id - Content check if value for 'status' matches 'requires_payment_method'\",",
                          "    function () {",
                          "        pm.expect(jsonData.status).to.eql(\"requires_payment_method\");",
                          "    },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if no 'connector' is affected to the payment intent\",",
                          "  function () {",
                          "    pm.expect(jsonData.connector).to.be.null;",
                          "  },",
                          ");",
                          "",
                          "// Response body should not have \"connector_transaction_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' is null\",",
                          "  function () {",
                          "    pm.expect(jsonData.connector_transaction_id).to.be.null;",
                          "  },",
                          ");",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "auth": {
                      "type": "apikey",
                      "apikey": [
                        {
                          "key": "value",
                          "value": "{{publishable_key}}",
                          "type": "string"
                        },
                        {
                          "key": "key",
                          "value": "api-key",
                          "type": "string"
                        },
                        {
                          "key": "in",
                          "value": "header",
                          "type": "string"
                        }
                      ]
                    },
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?client_secret={{client_secret}}",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "client_secret",
                          "value": "{{client_secret}}"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Retrieve",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// Response body should have value \"Succeeded\" for \"status\"",
                          "pm.test(",
                          "\"[POST]::/payments/:id - Content check if value for 'status' matches 'requires_payment_method'\",",
                          "    function () {",
                          "        pm.expect(jsonData.status).to.eql(\"requires_payment_method\");",
                          "    },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if no 'connector' is affected to the payment intent\",",
                          "  function () {",
                          "    pm.expect(jsonData.connector).to.be.null;",
                          "  },",
                          ");",
                          "",
                          "// Response body should not have \"connector_transaction_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' is null\",",
                          "  function () {",
                          "    pm.expect(jsonData.connector_transaction_id).to.be.null;",
                          "  },",
                          ");",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Confirm",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments/:id/confirm - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/confirm - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/confirm - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "pm.test(",
                          "\"[POST]::/payments/:id/confirm - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "    pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "    pm.collectionVariables.set(\"connector_transaction_id\", jsonData.connector_transaction_id)",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector' is archipel\",",
                          "  function () {",
                          "    pm.expect(jsonData.connector).to.be.equal(\"archipel\");",
                          "  },",
                          ");",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    },
                    {
                      "listen": "prerequest",
                      "script": {
                        "exec": [
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "auth": {
                      "type": "apikey",
                      "apikey": [
                        {
                          "key": "value",
                          "value": "{{publishable_key}}",
                          "type": "string"
                        },
                        {
                          "key": "key",
                          "value": "api-key",
                          "type": "string"
                        },
                        {
                          "key": "in",
                          "value": "header",
                          "type": "string"
                        }
                      ]
                    },
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"client_secret\":\"{{client_secret}}\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"browser_info\":{\"user_agent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36\",\"accept_header\":\"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\",\"language\":\"nl-NL\",\"color_depth\":24,\"screen_height\":723,\"screen_width\":1536,\"time_zone\":0,\"java_enabled\":true,\"java_script_enabled\":true,\"ip_address\":\"125.0.0.1\"}}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/confirm",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "confirm"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Retrieve after confirm",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// Response body should have value \"Succeeded\" for \"status\"",
                          "pm.test(",
                          "    \"[POST]::/payments/:id - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "        pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'amount' equal 500\",",
                          "  function () {",
                          "    pm.expect(jsonData.amount).to.eql(500);",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'net_amount' equal 500\",",
                          "  function () {",
                          "    pm.expect(jsonData.net_amount).to.eql(500);",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'amount_capturable' equal 0\",",
                          "  function () {",
                          "    pm.expect(jsonData.amount_capturable).to.eql(0);",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'amount_received' equal 500\",",
                          "  function () {",
                          "    pm.expect(jsonData.amount_received).to.eql(500);",
                          "  },",
                          ");",
                          "",
                          "",
                          "// Response body should have \"connector_transaction_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "  },",
                          ");",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "force_sync",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Retrieve with connector sync",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// Response body should have value \"Succeeded\" for \"status\"",
                          "pm.test(",
                          "\"[POST]::/payments/:id - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "        pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          ");",
                          "",
                          "// Response body should have \"connector_transaction_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(jsonData.connector_transaction_id).to.be.equal(",
                          "        pm.collectionVariables.get(\"connector_transaction_id\")",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "let payment_attempt = {}",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment has one 'Payment Attempt'\",",
                          "  function () {",
                          "    pm.expect(jsonData.attempts.length).to.be.equal(1);",
                          "    payment_attempt = jsonData.attempts[0]",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment Attempt has 'charged' status\",",
                          "  function () {",
                          "    pm.expect(payment_attempt.status).to.be.equal(\"charged\");",
                          "  },",
                          ");",
                          "",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment Attempt has 'connector_transaction_id'\",",
                          "  function () {",
                          "    pm.expect(jsonData.connector_transaction_id).to.be.equal(",
                          "        pm.collectionVariables.get(\"connector_transaction_id\")",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Archiepl response 'transactionId' is updated and not null\",",
                          "  function () {",
                          "    pm.expect(payment_attempt.connector_metadata.transactionId).not.null",
                          "    pm.expect(payment_attempt.connector_metadata.transactionId).to.not.equal(",
                          "        pm.collectionVariables.get(\"archipel_transaction_uuid\")",
                          "    )",
                          "    pm.collectionVariables.set(\"archipel_transaction_uuid\", payment_attempt.connector_metadata.transactionId)",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment Attempt has no error\",",
                          "  function () {",
                          "    pm.expect(payment_attempt.error_message).to.be.null;",
                          "  },",
                          ");",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?expand_attempts=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "expand_attempts",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario3a-Create payment with Manual capture",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"requires_capture\" for \"status\"",
                          "pm.test(",
                          "\"[POST]::/payments - Content check if value for 'status' matches 'requires_capture'\",",
                          "function () {",
                          "    pm.expect(jsonData.status).to.eql(\"requires_capture\");",
                          "},",
                          ");",
                          "",
                          "// Response body should have \"connector_transaction_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "    pm.collectionVariables.set(\"connector_transaction_id\", jsonData.connector_transaction_id)",
                          "  },",
                          ");"
                        ],
                        "type": "text/javascript"
                      }
                    },
                    {
                      "listen": "prerequest",
                      "script": {
                        "exec": [
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"manual\",\"authentication_type\":\"no_three_ds\",\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Capture",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments/:id/capture - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/capture - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/capture - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "pm.test(",
                          "\"[POST]:://payments/:id/capture - Content check if value for 'status' matches 'succeeded'\",",
                          "function () {",
                          "    pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "},",
                          ");",
                          "",
                          "// Response body should have value \"500\" for \"amount\"",
                          "pm.test(",
                          "\"[post]:://payments/:id/capture - Content check if value for 'amount' matches '500'\",",
                          "    function () {",
                          "        pm.expect(jsonData.amount).to.eql(500);",
                          "    },",
                          ");",
                          "",
                          "// Response body should have value \"500\" for \"net_amount\"",
                          "pm.test(",
                          "\"[post]:://payments/:id/capture - Content check if value for 'net_amount' matches '500'\",",
                          "    function () {",
                          "        pm.expect(jsonData.net_amount).to.eql(500);",
                          "    },",
                          ");",
                          "",
                          "// Response body should have value \"500\" for \"amount_capturable\"",
                          "pm.test(",
                          "\"[post]:://payments/:id/capture - Content check if value for 'amount_capturable' matches '0'\",",
                          "    function () {",
                          "        pm.expect(jsonData.amount_capturable).to.eql(0);",
                          "    },",
                          ");",
                          "",
                          "pm.test(",
                          "\"[POST]::/payments:id/capture - Content check if value for 'amount_received' equal 500\",",
                          "    function () {",
                          "        pm.expect(jsonData.amount_received).to.eql(500);",
                          "    },",
                          ");",
                          "",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "    pm.collectionVariables.set(\"connector_transaction_id\", jsonData.connector_transaction_id)",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector' is archipel\",",
                          "  function () {",
                          "    pm.expect(jsonData.connector).to.be.equal(\"archipel\");",
                          "  },",
                          ");",
                          "",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    },
                    {
                      "listen": "prerequest",
                      "script": {
                        "exec": [
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount_to_capture\":500,\"statement_descriptor_name\":\"John\",\"statement_descriptor_suffix\":\"JD\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/capture",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "capture"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Sync payment",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// Response body should have value \"Succeeded\" for \"status\"",
                          "pm.test(",
                          "    \"[POST]::/payments/:id - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "        pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'amount' equal 500\",",
                          "  function () {",
                          "    pm.expect(jsonData.amount).to.eql(500);",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'net_amount' equal 500\",",
                          "  function () {",
                          "    pm.expect(jsonData.net_amount).to.eql(500);",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'amount_capturable' equal 0\",",
                          "  function () {",
                          "    pm.expect(jsonData.amount_capturable).to.eql(0);",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'amount_received' equal 500\",",
                          "  function () {",
                          "    pm.expect(jsonData.amount_received).to.eql(500);",
                          "  },",
                          ");",
                          "",
                          "",
                          "// Response body should have \"connector_transaction_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "  },",
                          ");"
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "force_sync",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Check payment attempt",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "",
                          "let payment_attempt = {}",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment has one 'Payment Attempt'\",",
                          "  function () {",
                          "    pm.expect(jsonData.attempts.length).to.be.equal(1);",
                          "    payment_attempt = jsonData.attempts[0]",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment Attempt has 'charged' status\",",
                          "  function () {",
                          "    pm.expect(payment_attempt.status).to.be.equal(\"charged\");",
                          "  },",
                          ");",
                          "",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment Attempt has 'connector_transaction_id'\",",
                          "  function () {",
                          "    pm.expect(jsonData.connector_transaction_id).to.be.equal(",
                          "        pm.collectionVariables.get(\"connector_transaction_id\")",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment Attempt has no error\",",
                          "  function () {",
                          "    pm.expect(payment_attempt.error_message).to.be.null;",
                          "  },",
                          ");"
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?expand_attempts=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "expand_attempts",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario3b-Create payment with partial capture",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"requires_capture\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'requires_capture'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"requires_capture\");",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Response body should have \"connector_transaction_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "    pm.collectionVariables.set(\"connector_transaction_id\", jsonData.connector_transaction_id)",
                          "  },",
                          ");"
                        ],
                        "type": "text/javascript"
                      }
                    },
                    {
                      "listen": "prerequest",
                      "script": {
                        "exec": [
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"manual\",\"authentication_type\":\"no_three_ds\",\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Capture",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments/:id/capture - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/capture - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/capture - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"partially_captured\" for \"status\"",
                          "pm.test(",
                          "\"[POST]:://payments/:id/capture - Content check if value for 'status' matches 'partially_captured'\",",
                          "function () {",
                          "    pm.expect(jsonData.status).to.eql(\"partially_captured\");",
                          "},",
                          ");",
                          "",
                          "// Response body should have value \"500\" for \"amount\"",
                          "pm.test(",
                          "\"[post]:://payments/:id/capture - Content check if value for 'amount' matches '500'\",",
                          "    function () {",
                          "        pm.expect(jsonData.amount).to.eql(500);",
                          "    },",
                          ");",
                          "",
                          "// Response body should have value \"500\" for \"net_amount\"",
                          "pm.test(",
                          "\"[post]:://payments/:id/capture - Content check if value for 'net_amount' matches '500'\",",
                          "    function () {",
                          "        pm.expect(jsonData.net_amount).to.eql(500);",
                          "    },",
                          ");",
                          "",
                          "// Response body should have value \"500\" for \"amount_capturable\"",
                          "pm.test(",
                          "\"[post]:://payments/:id/capture - Content check if value for 'amount_capturable' matches '0'\",",
                          "    function () {",
                          "        pm.expect(jsonData.amount_capturable).to.eql(0);",
                          "    },",
                          ");",
                          "",
                          "pm.test(",
                          "\"[POST]::/payments:id/capture - Content check if value for 'amount_received' equal 200\",",
                          "    function () {",
                          "        pm.expect(jsonData.amount_received).to.eql(200);",
                          "    },",
                          ");",
                          "",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "    pm.collectionVariables.set(\"connector_transaction_id\", jsonData.connector_transaction_id)",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector' is archipel\",",
                          "  function () {",
                          "    pm.expect(jsonData.connector).to.be.equal(\"archipel\");",
                          "  },",
                          ");"
                        ],
                        "type": "text/javascript"
                      }
                    },
                    {
                      "listen": "prerequest",
                      "script": {
                        "exec": [
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount_to_capture\":200,\"statement_descriptor_name\":\"John\",\"statement_descriptor_suffix\":\"JD\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/capture",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "capture"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Sync payment",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// Response body should have value \"partially_captured\" for \"status\"",
                          "pm.test(",
                          "    \"[POST]::/payments/:id - Content check if value for 'status' matches 'partially_captured'\",",
                          "    function () {",
                          "        pm.expect(jsonData.status).to.eql(\"partially_captured\");",
                          "    },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'amount' equal 500\",",
                          "  function () {",
                          "    pm.expect(jsonData.amount).to.eql(500);",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'net_amount' equal 500\",",
                          "  function () {",
                          "    pm.expect(jsonData.net_amount).to.eql(500);",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'amount_capturable' equal 0\",",
                          "  function () {",
                          "    pm.expect(jsonData.amount_capturable).to.eql(0);",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'amount_received' equal 500\",",
                          "  function () {",
                          "    pm.expect(jsonData.amount_received).to.eql(200);",
                          "  },",
                          ");",
                          "",
                          "",
                          "// Response body should have \"connector_transaction_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "  },",
                          ");",
                          "",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "force_sync",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Check payment attempt",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "",
                          "let payment_attempt = {}",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment has one 'Payment Attempt'\",",
                          "  function () {",
                          "    pm.expect(jsonData.attempts.length).to.be.equal(1);",
                          "    payment_attempt = jsonData.attempts[0]",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment Attempt has 'partial_charged' status\",",
                          "  function () {",
                          "    pm.expect(payment_attempt.status).to.be.equal(\"partial_charged\");",
                          "  },",
                          ");",
                          "",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment Attempt has 'connector_transaction_id'\",",
                          "  function () {",
                          "    pm.expect(jsonData.connector_transaction_id).to.be.equal(",
                          "        pm.collectionVariables.get(\"connector_transaction_id\")",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment Attempt has no error\",",
                          "  function () {",
                          "    pm.expect(payment_attempt.error_message).to.be.null;",
                          "  },",
                          ");"
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?expand_attempts=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "expand_attempts",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario3c-Create payment with confirm false and manual capture",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) { }",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"requires_confirmation\" for \"status\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if value for 'status' matches 'requires_confirmation'\",",
                          "  function () {",
                          "    pm.expect(jsonData.status).to.eql(\"requires_confirmation\");",
                          "  },",
                          ");",
                          "",
                          "// Response body should have \"connector_transaction_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "    pm.collectionVariables.set(\"connector_transaction_id\", jsonData.connector_transaction_id)",
                          "  },",
                          ");"
                        ],
                        "type": "text/javascript"
                      }
                    },
                    {
                      "listen": "prerequest",
                      "script": {
                        "exec": [
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":false,\"capture_method\":\"manual\",\"authentication_type\":\"no_three_ds\",\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Confirm",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments/:id/confirm - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/confirm - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/confirm - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) { }",
                          "",
                          "// Response body should have value \"requires_capture\" for \"status\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if value for 'status' matches 'requires_capture'\",",
                          "  function () {",
                          "    pm.expect(jsonData.status).to.eql(\"requires_capture\");",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "    pm.collectionVariables.set(\"connector_transaction_id\", jsonData.connector_transaction_id)",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector' is archipel\",",
                          "  function () {",
                          "    pm.expect(jsonData.connector).to.be.equal(\"archipel\");",
                          "  },",
                          ");",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    },
                    {
                      "listen": "prerequest",
                      "script": {
                        "exec": [
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "auth": {
                      "type": "apikey",
                      "apikey": [
                        {
                          "key": "value",
                          "value": "{{publishable_key}}",
                          "type": "string"
                        },
                        {
                          "key": "key",
                          "value": "api-key",
                          "type": "string"
                        },
                        {
                          "key": "in",
                          "value": "header",
                          "type": "string"
                        }
                      ]
                    },
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"client_secret\":\"{{client_secret}}\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"browser_info\":{\"user_agent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36\",\"accept_header\":\"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\",\"language\":\"nl-NL\",\"color_depth\":24,\"screen_height\":723,\"screen_width\":1536,\"time_zone\":0,\"java_enabled\":true,\"java_script_enabled\":true,\"ip_address\":\"125.0.0.1\"}}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/confirm",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "confirm"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Capture",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments/:id/capture - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/capture - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/capture - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "pm.test(",
                          "\"[POST]:://payments/:id/capture - Content check if value for 'status' matches 'succeeded'\",",
                          "function () {",
                          "    pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "},",
                          ");",
                          "",
                          "// Response body should have value \"500\" for \"amount\"",
                          "pm.test(",
                          "\"[post]:://payments/:id/capture - Content check if value for 'amount' matches '500'\",",
                          "    function () {",
                          "        pm.expect(jsonData.amount).to.eql(500);",
                          "    },",
                          ");",
                          "",
                          "// Response body should have value \"500\" for \"net_amount\"",
                          "pm.test(",
                          "\"[post]:://payments/:id/capture - Content check if value for 'net_amount' matches '500'\",",
                          "    function () {",
                          "        pm.expect(jsonData.net_amount).to.eql(500);",
                          "    },",
                          ");",
                          "",
                          "// Response body should have value \"500\" for \"amount_capturable\"",
                          "pm.test(",
                          "\"[post]:://payments/:id/capture - Content check if value for 'amount_capturable' matches '0'\",",
                          "    function () {",
                          "        pm.expect(jsonData.amount_capturable).to.eql(0);",
                          "    },",
                          ");",
                          "",
                          "pm.test(",
                          "\"[POST]::/payments:id/capture - Content check if value for 'amount_received' equal 500\",",
                          "    function () {",
                          "        pm.expect(jsonData.amount_received).to.eql(500);",
                          "    },",
                          ");",
                          "",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "    pm.collectionVariables.set(\"connector_transaction_id\", jsonData.connector_transaction_id)",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector' is archipel\",",
                          "  function () {",
                          "    pm.expect(jsonData.connector).to.be.equal(\"archipel\");",
                          "  },",
                          ");",
                          "",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    },
                    {
                      "listen": "prerequest",
                      "script": {
                        "exec": [
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount_to_capture\":500,\"statement_descriptor_name\":\"John\",\"statement_descriptor_suffix\":\"JD\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/capture",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "capture"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Check payment attempt",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "",
                          "let payment_attempt = {}",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment has one 'Payment Attempt'\",",
                          "  function () {",
                          "    pm.expect(jsonData.attempts.length).to.be.equal(1);",
                          "    payment_attempt = jsonData.attempts[0]",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment Attempt has 'charged' status\",",
                          "  function () {",
                          "    pm.expect(payment_attempt.status).to.be.equal(\"charged\");",
                          "  },",
                          ");",
                          "",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment Attempt has 'connector_transaction_id'\",",
                          "  function () {",
                          "    pm.expect(jsonData.connector_transaction_id).to.be.equal(",
                          "        pm.collectionVariables.get(\"connector_transaction_id\")",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment Attempt has no error\",",
                          "  function () {",
                          "    pm.expect(payment_attempt.error_message).to.be.null;",
                          "  },",
                          ");"
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?expand_attempts=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "expand_attempts",
                          "value": "true"
                        },
                        {
                          "key": "force_sync",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario4a-Void a payment",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "  console.log(",
                          "    \"- use {{mandate_id}} as collection variable for value\",",
                          "    jsonData.mandate_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"requires_confirmation\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'requires_confirmation'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"requires_confirmation\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":false,\"capture_method\":\"automatic\",\"authentication_type\":\"no_three_ds\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    }
                  },
                  "response": []
                },
                {
                  "name": "Payments - Cancel",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments/:id/cancel - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/cancel - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/cancel - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"cancelled\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments/:id/cancel - Content check if value for 'status' matches 'cancelled'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"cancelled\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"cancellation_reason\":\"requested_by_customer\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/cancel",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "cancel"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Retrieve",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "  console.log(",
                          "    \"- use {{mandate_id}} as collection variable for value\",",
                          "    jsonData.mandate_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"cancelled\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments/:id - Content check if value for 'status' matches 'cancelled'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"cancelled\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "force_sync",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario4b-Void a partially captured payment",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "  console.log(",
                          "    \"- use {{mandate_id}} as collection variable for value\",",
                          "    jsonData.mandate_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"requires_capture\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'requires_capture'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"requires_capture\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"manual\",\"authentication_type\":\"no_three_ds\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    }
                  },
                  "response": []
                },
                {
                  "name": "Payments - Capture",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments/:id/capture - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/capture - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/capture - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"partially_captured\" for \"status\"",
                          "pm.test(",
                          "\"[POST]:://payments/:id/capture - Content check if value for 'status' matches 'partially_captured'\",",
                          "function () {",
                          "    pm.expect(jsonData.status).to.eql(\"partially_captured\");",
                          "},",
                          ");",
                          "",
                          "// Response body should have value \"500\" for \"amount\"",
                          "pm.test(",
                          "\"[post]:://payments/:id/capture - Content check if value for 'amount' matches '500'\",",
                          "    function () {",
                          "        pm.expect(jsonData.amount).to.eql(500);",
                          "    },",
                          ");",
                          "",
                          "// Response body should have value \"500\" for \"net_amount\"",
                          "pm.test(",
                          "\"[post]:://payments/:id/capture - Content check if value for 'net_amount' matches '500'\",",
                          "    function () {",
                          "        pm.expect(jsonData.net_amount).to.eql(500);",
                          "    },",
                          ");",
                          "",
                          "// Response body should have value \"500\" for \"amount_capturable\"",
                          "pm.test(",
                          "\"[post]:://payments/:id/capture - Content check if value for 'amount_capturable' matches '0'\",",
                          "    function () {",
                          "        pm.expect(jsonData.amount_capturable).to.eql(0);",
                          "    },",
                          ");",
                          "",
                          "pm.test(",
                          "\"[POST]::/payments:id/capture - Content check if value for 'amount_received' equal 200\",",
                          "    function () {",
                          "        pm.expect(jsonData.amount_received).to.eql(200);",
                          "    },",
                          ");",
                          "",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "    pm.collectionVariables.set(\"connector_transaction_id\", jsonData.connector_transaction_id)",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector' is archipel\",",
                          "  function () {",
                          "    pm.expect(jsonData.connector).to.be.equal(\"archipel\");",
                          "  },",
                          ");"
                        ],
                        "type": "text/javascript"
                      }
                    },
                    {
                      "listen": "prerequest",
                      "script": {
                        "exec": [
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount_to_capture\":200,\"statement_descriptor_name\":\"John\",\"statement_descriptor_suffix\":\"JD\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/capture",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "capture"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Cancel",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments/:id/cancel - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/cancel - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/cancel - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"cancelled\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments/:id/cancel - Content check if value for 'status' matches 'cancelled'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"cancelled\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"cancellation_reason\":\"requested_by_customer\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/cancel",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "cancel"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Retrieve",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "  console.log(",
                          "    \"- use {{mandate_id}} as collection variable for value\",",
                          "    jsonData.mandate_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"cancelled\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments/:id - Content check if value for 'status' matches 'cancelled'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"cancelled\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "force_sync",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario4c-Void a successful payment",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"requires_capture\" for \"status\"",
                          "pm.test(",
                          "\"[POST]::/payments - Content check if value for 'status' matches 'requires_capture'\",",
                          "function () {",
                          "    pm.expect(jsonData.status).to.eql(\"requires_capture\");",
                          "},",
                          ");",
                          "",
                          "// Response body should have \"connector_transaction_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "    pm.collectionVariables.set(\"connector_transaction_id\", jsonData.connector_transaction_id)",
                          "  },",
                          ");"
                        ],
                        "type": "text/javascript"
                      }
                    },
                    {
                      "listen": "prerequest",
                      "script": {
                        "exec": [
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"manual\",\"authentication_type\":\"no_three_ds\",\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Capture",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments/:id/capture - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/capture - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/capture - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "pm.test(",
                          "\"[POST]:://payments/:id/capture - Content check if value for 'status' matches 'succeeded'\",",
                          "function () {",
                          "    pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "},",
                          ");",
                          "",
                          "// Response body should have value \"500\" for \"amount\"",
                          "pm.test(",
                          "\"[post]:://payments/:id/capture - Content check if value for 'amount' matches '500'\",",
                          "    function () {",
                          "        pm.expect(jsonData.amount).to.eql(500);",
                          "    },",
                          ");",
                          "",
                          "// Response body should have value \"500\" for \"net_amount\"",
                          "pm.test(",
                          "\"[post]:://payments/:id/capture - Content check if value for 'net_amount' matches '500'\",",
                          "    function () {",
                          "        pm.expect(jsonData.net_amount).to.eql(500);",
                          "    },",
                          ");",
                          "",
                          "// Response body should have value \"500\" for \"amount_capturable\"",
                          "pm.test(",
                          "\"[post]:://payments/:id/capture - Content check if value for 'amount_capturable' matches '0'\",",
                          "    function () {",
                          "        pm.expect(jsonData.amount_capturable).to.eql(0);",
                          "    },",
                          ");",
                          "",
                          "pm.test(",
                          "\"[POST]::/payments:id/capture - Content check if value for 'amount_received' equal 500\",",
                          "    function () {",
                          "        pm.expect(jsonData.amount_received).to.eql(500);",
                          "    },",
                          ");",
                          "",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "    pm.collectionVariables.set(\"connector_transaction_id\", jsonData.connector_transaction_id)",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector' is archipel\",",
                          "  function () {",
                          "    pm.expect(jsonData.connector).to.be.equal(\"archipel\");",
                          "  },",
                          ");",
                          "",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    },
                    {
                      "listen": "prerequest",
                      "script": {
                        "exec": [
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount_to_capture\":500,\"statement_descriptor_name\":\"John\",\"statement_descriptor_suffix\":\"JD\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/capture",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "capture"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Sync payment",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// Response body should have value \"Succeeded\" for \"status\"",
                          "pm.test(",
                          "    \"[POST]::/payments/:id - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "        pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'amount' equal 500\",",
                          "  function () {",
                          "    pm.expect(jsonData.amount).to.eql(500);",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'net_amount' equal 500\",",
                          "  function () {",
                          "    pm.expect(jsonData.net_amount).to.eql(500);",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'amount_capturable' equal 0\",",
                          "  function () {",
                          "    pm.expect(jsonData.amount_capturable).to.eql(0);",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'amount_received' equal 500\",",
                          "  function () {",
                          "    pm.expect(jsonData.amount_received).to.eql(500);",
                          "  },",
                          ");",
                          "",
                          "",
                          "// Response body should have \"connector_transaction_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "  },",
                          ");"
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "force_sync",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Cancel",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 400",
                          "pm.test(\"[POST]::/payments/:id/cancel - Status code is 400\", function () {",
                          "  pm.response.to.have.status(400);",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/cancel - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/cancel - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Validate if response has error body",
                          "pm.test(\"[POST]::/payments/:id/cancel - Response has error body\", function () {",
                          "  pm.expect(pm.response.json()).to.have.property(\"error\");",
                          "});",
                          "",
                          "// Validate if response has \"invalid_request\" error type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/cancel - Response has 'invalid_request' error type\",",
                          "  function () {",
                          "    pm.expect(pm.response.json().error).to.have.property(\"type\", \"invalid_request\");",
                          "  },",
                          ");",
                          "",
                          "// Validate if response has \"You cannot cancel this payment because it has status succeeded\" error message",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/cancel - Response has 'You cannot cancel this payment because it has status succeeded' error message\",",
                          "  function () {",
                          "    pm.expect(pm.response.json().error).to.have.property(",
                          "      \"message\",",
                          "      \"You cannot cancel this payment because it has status succeeded\",",
                          "    );",
                          "  },",
                          ");"
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"cancellation_reason\":\"requested_by_customer\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/cancel",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "cancel"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario5a-Create a zero auth mandate and recurring payment (using mandate_id)",
              "item": [
                {
                  "name": "Mandate Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx ",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "   pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                          "});",
                          "",
                          "// Validate if response has JSON Body ",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "    pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {jsonData = pm.response.json();}catch(e){}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "   pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "   console.log(\"- use {{payment_id}} as collection variable for value\",jsonData.payment_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.');",
                          "};",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "   pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "   console.log(\"- use {{client_secret}} as collection variable for value\",jsonData.client_secret);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.');",
                          "};",
                          "",
                          "",
                          "// Response body should have value \"requires_payment_method\" for \"status\"",
                          "if (jsonData?.status) {",
                          "pm.test(\"[POST]::/payments - Content check if value for 'status' matches 'requires_payment_method'\", function() {",
                          "  pm.expect(jsonData.status).to.eql(\"requires_payment_method\");",
                          "})};",
                          "",
                          "// Response body should have \"mandate_id\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_id' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_id !== \"undefined\")).to.be.true;",
                          "});",
                          "",
                          "// Response body should have \"mandate_data\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_data' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_data !== \"undefined\")).to.be.true;",
                          "});",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "auth": {
                      "type": "apikey",
                      "apikey": [
                        {
                          "key": "value",
                          "value": "{{api_key}}",
                          "type": "string"
                        },
                        {
                          "key": "key",
                          "value": "api-key",
                          "type": "string"
                        },
                        {
                          "key": "in",
                          "value": "header",
                          "type": "string"
                        }
                      ]
                    },
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":0,\"currency\":\"USD\",\"confirm\":false,\"capture_method\":\"automatic\",\"customer_id\":\"{{customer_id}}\",\"email\":\"guest@example.com\",\"profile_id\":\"{{profile_id}}\",\"name\":\"John Doe\",\"setup_future_usage\":\"off_session\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"authentication_type\":\"no_three_ds\",\"billing\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"John\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"John\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"browser_info\":{\"user_agent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36\",\"accept_header\":\"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\",\"language\":\"nl-NL\",\"color_depth\":24,\"screen_height\":723,\"screen_width\":1536,\"time_zone\":0,\"java_enabled\":true,\"java_script_enabled\":true,\"ip_address\":\"125.0.0.1\"},\"statement_descriptor_name\":\"joseph\",\"statement_descriptor_suffix\":\"JS\",\"order_details\":[{\"product_name\":\"Apple iphone 15\",\"quantity\":1,\"amount\":0,\"account_name\":\"transaction_processing\"}]}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Confirm",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx ",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "   pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                          "});",
                          "",
                          "// Validate if response has JSON Body ",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "    pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {jsonData = pm.response.json();}catch(e){}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "   pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "   console.log(\"- use {{payment_id}} as collection variable for value\",jsonData.payment_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.');",
                          "};",
                          "",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "   pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "   console.log(\"- use {{mandate_id}} as collection variable for value\",jsonData.mandate_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.');",
                          "};",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "   pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "   console.log(\"- use {{client_secret}} as collection variable for value\",jsonData.client_secret);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.');",
                          "};",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "pm.test(\"[POST]::/payments - Content check if value for 'status' matches 'succeeded'\", function() {",
                          "  pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "})};",
                          "",
                          "// Response body should have \"mandate_id\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_id' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_id !== \"undefined\")).to.be.true;",
                          "});",
                          "",
                          "// Response body should have \"mandate_data\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_data' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_data !== \"undefined\")).to.be.true;",
                          "});",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "auth": {
                      "type": "apikey",
                      "apikey": [
                        {
                          "key": "value",
                          "value": "{{api_key}}",
                          "type": "string"
                        },
                        {
                          "key": "key",
                          "value": "api-key",
                          "type": "string"
                        },
                        {
                          "key": "in",
                          "value": "header",
                          "type": "string"
                        }
                      ]
                    },
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      },
                      {
                        "key": "publishable_key",
                        "value": "{{publishable_key}}",
                        "type": "text",
                        "disabled": true
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_number\":\"5185570141917102\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_cvc\":\"737\"}},\"setup_future_usage\":\"off_session\",\"payment_type\":\"setup_mandate\",\"mandate_data\":{\"customer_acceptance\":{\"acceptance_type\":\"offline\",\"accepted_at\":\"1963-05-03T04:07:52.723Z\",\"online\":{\"ip_address\":\"125.0.0.1\",\"user_agent\":\"amet irure esse\"}},\"mandate_type\":{\"multi_use\":{\"amount\":1000,\"currency\":\"USD\",\"start_date\":\"2023-04-21T00:00:00Z\",\"end_date\":\"2023-05-21T00:00:00Z\",\"metadata\":{\"frequency\":\"13\"}}}}}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/confirm",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "confirm"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Recurring Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx ",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "   pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                          "});",
                          "",
                          "// Validate if response has JSON Body ",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "    pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {jsonData = pm.response.json();}catch(e){}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "   pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "   console.log(\"- use {{payment_id}} as collection variable for value\",jsonData.payment_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.');",
                          "};",
                          "",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "   pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "   console.log(\"- use {{mandate_id}} as collection variable for value\",jsonData.mandate_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.');",
                          "};",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "   pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "   console.log(\"- use {{client_secret}} as collection variable for value\",jsonData.client_secret);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.');",
                          "};",
                          "",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "pm.test(\"[POST]::/payments - Content check if value for 'status' matches 'succeeded'\", function() {",
                          "  pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "})};",
                          "",
                          "// Response body should have \"mandate_id\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_id' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_id !== \"undefined\")).to.be.true;",
                          "});",
                          "",
                          "// Response body should have \"mandate_data\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_data' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_data !== \"undefined\")).to.be.true;",
                          "});",
                          "",
                          "// Response body should have \"payment_method_data\"",
                          "pm.test(\"[POST]::/payments - Content check if 'payment_method_data' exists\", function() {",
                          "   pm.expect((typeof jsonData.payment_method_data !== \"undefined\")).to.be.true;",
                          "});",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"currency\":\"USD\",\"confirm\":true,\"capture_method\":\"automatic\",\"amount_to_capture\":500,\"profile_id\":\"{{profile_id}}\",\"customer_id\":\"{{customer_id}}\",\"email\":\"guest@example.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"authentication_type\":\"no_three_ds\",\"mandate_id\":\"{{mandate_id}}\",\"off_session\":true,\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\"}},\"statement_descriptor_name\":\"joseph\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario5b-Create a zero auth mandate and recurring payment (using connector agnostic)",
              "item": [
                {
                  "name": "Mandate Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx ",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "   pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                          "});",
                          "",
                          "// Validate if response has JSON Body ",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "    pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {jsonData = pm.response.json();}catch(e){}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "   pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "   console.log(\"- use {{payment_id}} as collection variable for value\",jsonData.payment_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.');",
                          "};",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "   pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "   console.log(\"- use {{client_secret}} as collection variable for value\",jsonData.client_secret);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.');",
                          "};",
                          "",
                          "",
                          "// Response body should have value \"requires_payment_method\" for \"status\"",
                          "if (jsonData?.status) {",
                          "pm.test(\"[POST]::/payments - Content check if value for 'status' matches 'requires_payment_method'\", function() {",
                          "  pm.expect(jsonData.status).to.eql(\"requires_payment_method\");",
                          "})};",
                          "",
                          "// Response body should have \"mandate_id\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_id' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_id !== \"undefined\")).to.be.true;",
                          "});",
                          "",
                          "// Response body should have \"mandate_data\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_data' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_data !== \"undefined\")).to.be.true;",
                          "});",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "auth": {
                      "type": "apikey",
                      "apikey": [
                        {
                          "key": "value",
                          "value": "{{api_key}}",
                          "type": "string"
                        },
                        {
                          "key": "key",
                          "value": "api-key",
                          "type": "string"
                        },
                        {
                          "key": "in",
                          "value": "header",
                          "type": "string"
                        }
                      ]
                    },
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":0,\"currency\":\"USD\",\"confirm\":false,\"capture_method\":\"automatic\",\"customer_id\":\"{{customer_id}}\",\"email\":\"guest@example.com\",\"profile_id\":\"{{profile_id}}\",\"name\":\"John Doe\",\"setup_future_usage\":\"off_session\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"authentication_type\":\"no_three_ds\",\"billing\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"John\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"John\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"browser_info\":{\"user_agent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36\",\"accept_header\":\"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\",\"language\":\"nl-NL\",\"color_depth\":24,\"screen_height\":723,\"screen_width\":1536,\"time_zone\":0,\"java_enabled\":true,\"java_script_enabled\":true,\"ip_address\":\"125.0.0.1\"},\"statement_descriptor_name\":\"joseph\",\"statement_descriptor_suffix\":\"JS\",\"order_details\":[{\"product_name\":\"Apple iphone 15\",\"quantity\":1,\"amount\":0,\"account_name\":\"transaction_processing\"}]}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Confirm",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx ",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "   pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                          "});",
                          "",
                          "// Validate if response has JSON Body ",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "    pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {jsonData = pm.response.json();}catch(e){}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "   pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "   console.log(\"- use {{payment_id}} as collection variable for value\",jsonData.payment_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.');",
                          "};",
                          "",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "   pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "   console.log(\"- use {{mandate_id}} as collection variable for value\",jsonData.mandate_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.');",
                          "};",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "   pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "   console.log(\"- use {{client_secret}} as collection variable for value\",jsonData.client_secret);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.');",
                          "};",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "pm.test(\"[POST]::/payments - Content check if value for 'status' matches 'succeeded'\", function() {",
                          "  pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "})};",
                          "",
                          "// Response body should have \"mandate_id\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_id' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_id !== \"undefined\")).to.be.true;",
                          "});",
                          "",
                          "// Response body should have \"mandate_data\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_data' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_data !== \"undefined\")).to.be.true;",
                          "});",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "auth": {
                      "type": "apikey",
                      "apikey": [
                        {
                          "key": "value",
                          "value": "{{api_key}}",
                          "type": "string"
                        },
                        {
                          "key": "key",
                          "value": "api-key",
                          "type": "string"
                        },
                        {
                          "key": "in",
                          "value": "header",
                          "type": "string"
                        }
                      ]
                    },
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      },
                      {
                        "key": "publishable_key",
                        "value": "{{publishable_key}}",
                        "type": "text",
                        "disabled": true
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_number\":\"5185570141917102\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_cvc\":\"737\"}},\"setup_future_usage\":\"off_session\",\"payment_type\":\"setup_mandate\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/confirm",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "confirm"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Recurring Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx ",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "   pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                          "});",
                          "",
                          "// Validate if response has JSON Body ",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "    pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {jsonData = pm.response.json();}catch(e){}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "   pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "   console.log(\"- use {{payment_id}} as collection variable for value\",jsonData.payment_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.');",
                          "};",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "   pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "   console.log(\"- use {{client_secret}} as collection variable for value\",jsonData.client_secret);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.');",
                          "};",
                          "",
                          "",
                          "// Response body should have value \"requires_payment_method\" for \"status\"",
                          "if (jsonData?.status) {",
                          "pm.test(\"[POST]::/payments - Content check if value for 'status' matches 'requires_payment_method'\", function() {",
                          "  pm.expect(jsonData.status).to.eql(\"requires_payment_method\");",
                          "})};",
                          "",
                          "// Response body should have \"mandate_id\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_id' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_id !== \"undefined\")).to.be.true;",
                          "});",
                          "",
                          "// Response body should have \"mandate_data\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_data' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_data !== \"undefined\")).to.be.true;",
                          "});",
                          "",
                          "// Response body should have \"payment_method_data\"",
                          "pm.test(\"[POST]::/payments - Content check if 'payment_method_data' exists\", function() {",
                          "   pm.expect((typeof jsonData.payment_method_data !== \"undefined\")).to.be.true;",
                          "});",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"currency\":\"USD\",\"confirm\":false,\"capture_method\":\"automatic\",\"amount_to_capture\":500,\"profile_id\":\"{{profile_id}}\",\"customer_id\":\"{{customer_id}}\",\"email\":\"guest@example.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"authentication_type\":\"no_three_ds\",\"setup_future_usage\":\"off_session\",\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\"}},\"statement_descriptor_name\":\"joseph\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "List payment methods for a Customer",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx ",
                          "pm.test(\"[GET]::/payment_methods/:customer_id - Status code is 2xx\", function () {",
                          "   pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payment_methods/:customer_id - Content-Type is application/json\", function () {",
                          "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {jsonData = pm.response.json();}catch(e){}",
                          "",
                          "if (jsonData?.customer_payment_methods[0]?.payment_token) {",
                          "   pm.collectionVariables.set(\"payment_token\", jsonData.customer_payment_methods[0].payment_token);",
                          "   console.log(\"- use {{payment_token}} as collection variable for value\", jsonData.customer_payment_methods[0].payment_token);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{payment_token}}, as jsonData.customer_payment_methods[0].payment_token is undefined.');",
                          "}"
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/customers/:customer_id/payment_methods",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "customers",
                        ":customer_id",
                        "payment_methods"
                      ],
                      "query": [
                        {
                          "key": "accepted_country",
                          "value": "co",
                          "disabled": true
                        },
                        {
                          "key": "accepted_country",
                          "value": "pa",
                          "disabled": true
                        },
                        {
                          "key": "accepted_currency",
                          "value": "voluptate ea",
                          "disabled": true
                        },
                        {
                          "key": "accepted_currency",
                          "value": "exercitation",
                          "disabled": true
                        },
                        {
                          "key": "minimum_amount",
                          "value": "100",
                          "disabled": true
                        },
                        {
                          "key": "maximum_amount",
                          "value": "10000000",
                          "disabled": true
                        },
                        {
                          "key": "recurring_payment_enabled",
                          "value": "true",
                          "disabled": true
                        },
                        {
                          "key": "installment_payment_enabled",
                          "value": "true",
                          "disabled": true
                        }
                      ],
                      "variable": [
                        {
                          "key": "customer_id",
                          "value": "{{customer_id}}",
                          "description": "//Pass the customer id"
                        }
                      ]
                    },
                    "description": "To filter and list the applicable payment methods for a particular Customer ID"
                  },
                  "response": []
                },
                {
                  "name": "Recurring Payments - Confirm",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx ",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "   pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                          "});",
                          "",
                          "// Validate if response has JSON Body ",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "    pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {jsonData = pm.response.json();}catch(e){}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "   pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "   console.log(\"- use {{payment_id}} as collection variable for value\",jsonData.payment_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.');",
                          "};",
                          "",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "   pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "   console.log(\"- use {{mandate_id}} as collection variable for value\",jsonData.mandate_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.');",
                          "};",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "   pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "   console.log(\"- use {{client_secret}} as collection variable for value\",jsonData.client_secret);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.');",
                          "};",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "pm.test(\"[POST]::/payments - Content check if value for 'status' matches 'succeeded'\", function() {",
                          "  pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "})};",
                          "",
                          "// Response body should have \"mandate_id\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_id' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_id !== \"undefined\")).to.be.true;",
                          "});",
                          "",
                          "// Response body should have \"mandate_data\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_data' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_data !== \"undefined\")).to.be.true;",
                          "});",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "auth": {
                      "type": "apikey",
                      "apikey": [
                        {
                          "key": "value",
                          "value": "{{api_key}}",
                          "type": "string"
                        },
                        {
                          "key": "key",
                          "value": "api-key",
                          "type": "string"
                        },
                        {
                          "key": "in",
                          "value": "header",
                          "type": "string"
                        }
                      ]
                    },
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      },
                      {
                        "key": "publishable_key",
                        "value": "{{publishable_key}}",
                        "type": "text",
                        "disabled": true
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"customer_id\":\"{{customer_id}}\",\"payment_method\":\"card\",\"payment_token\":\"{{payment_token}}\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/confirm",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "confirm"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario6a-Create a mandate and recurring payment (using mandate_id)",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "  console.log(",
                          "    \"- use {{mandate_id}} as collection variable for value\",",
                          "    jsonData.mandate_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Response body should have \"mandate_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'mandate_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.mandate_id !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          "",
                          "// Response body should have \"mandate_data\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'mandate_data' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.mandate_data !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"currency\":\"USD\",\"confirm\":true,\"capture_method\":\"automatic\",\"amount_to_capture\":500,\"profile_id\":\"{{profile_id}}\",\"customer_id\":\"{{customer_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"authentication_type\":\"no_three_ds\",\"payment_method\":\"card\",\"payment_method_data\":{\"card\":{\"card_number\":\"5185570141917102\",\"card_exp_month\":\"10\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_cvc\":\"123\"}},\"setup_future_usage\":\"off_session\",\"mandate_data\":{\"customer_acceptance\":{\"acceptance_type\":\"offline\",\"accepted_at\":\"1963-05-03T04:07:52.723Z\",\"online\":{\"ip_address\":\"127.0.0.1\",\"user_agent\":\"amet irure esse\"}},\"mandate_type\":{\"single_use\":{\"amount\":7000,\"currency\":\"USD\"}}},\"customer_acceptance\":{\"acceptance_type\":\"offline\",\"accepted_at\":\"1963-05-03T04:07:52.723Z\",\"online\":{\"ip_address\":\"127.0.0.1\",\"user_agent\":\"amet irure esse\"}},\"billing\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Retrieve",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "  console.log(",
                          "    \"- use {{mandate_id}} as collection variable for value\",",
                          "    jsonData.mandate_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"Succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments/:id - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Response body should have \"mandate_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'mandate_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.mandate_id !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          "",
                          "// Response body should have \"mandate_data\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'mandate_data' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.mandate_data !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "force_sync",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Recurring Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "  console.log(",
                          "    \"- use {{mandate_id}} as collection variable for value\",",
                          "    jsonData.mandate_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Response body should have \"mandate_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'mandate_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.mandate_id !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          "",
                          "// Response body should have \"mandate_data\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'mandate_data' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.mandate_data !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          "",
                          "// Response body should have \"payment_method_data\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'payment_method_data' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.payment_method_data !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"currency\":\"USD\",\"confirm\":true,\"capture_method\":\"automatic\",\"amount_to_capture\":500,\"profile_id\":\"{{profile_id}}\",\"customer_id\":\"{{customer_id}}\",\"email\":\"guest@example.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"authentication_type\":\"no_three_ds\",\"mandate_id\":\"{{mandate_id}}\",\"off_session\":true,\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\"}},\"statement_descriptor_name\":\"joseph\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Recurring Payments - Retrieve",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "  console.log(",
                          "    \"- use {{mandate_id}} as collection variable for value\",",
                          "    jsonData.mandate_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"Succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments/:id - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Response body should have \"mandate_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'mandate_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.mandate_id !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          "",
                          "// Response body should have \"mandate_data\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'mandate_data' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.mandate_data !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "force_sync",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario6b-Create a mandate and recurring payment (using connector agnostic)",
              "item": [
                {
                  "name": "Mandate Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx ",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "   pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                          "});",
                          "",
                          "// Validate if response has JSON Body ",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "    pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {jsonData = pm.response.json();}catch(e){}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "   pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "   console.log(\"- use {{payment_id}} as collection variable for value\",jsonData.payment_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.');",
                          "};",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "   pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "   console.log(\"- use {{client_secret}} as collection variable for value\",jsonData.client_secret);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.');",
                          "};",
                          "",
                          "",
                          "// Response body should have value \"requires_payment_method\" for \"status\"",
                          "if (jsonData?.status) {",
                          "pm.test(\"[POST]::/payments - Content check if value for 'status' matches 'requires_payment_method'\", function() {",
                          "  pm.expect(jsonData.status).to.eql(\"requires_payment_method\");",
                          "})};",
                          "",
                          "// Response body should have \"mandate_id\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_id' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_id !== \"undefined\")).to.be.true;",
                          "});",
                          "",
                          "// Response body should have \"mandate_data\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_data' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_data !== \"undefined\")).to.be.true;",
                          "});",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "auth": {
                      "type": "apikey",
                      "apikey": [
                        {
                          "key": "value",
                          "value": "{{api_key}}",
                          "type": "string"
                        },
                        {
                          "key": "key",
                          "value": "api-key",
                          "type": "string"
                        },
                        {
                          "key": "in",
                          "value": "header",
                          "type": "string"
                        }
                      ]
                    },
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"currency\":\"USD\",\"confirm\":false,\"capture_method\":\"automatic\",\"customer_id\":\"{{customer_id}}\",\"email\":\"guest@example.com\",\"profile_id\":\"{{profile_id}}\",\"name\":\"John Doe\",\"setup_future_usage\":\"off_session\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"authentication_type\":\"no_three_ds\",\"billing\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"John\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"John\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"browser_info\":{\"user_agent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36\",\"accept_header\":\"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\",\"language\":\"nl-NL\",\"color_depth\":24,\"screen_height\":723,\"screen_width\":1536,\"time_zone\":0,\"java_enabled\":true,\"java_script_enabled\":true,\"ip_address\":\"125.0.0.1\"},\"statement_descriptor_name\":\"joseph\",\"statement_descriptor_suffix\":\"JS\",\"order_details\":[{\"product_name\":\"Apple iphone 15\",\"quantity\":1,\"amount\":0,\"account_name\":\"transaction_processing\"}]}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Confirm",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx ",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "   pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                          "});",
                          "",
                          "// Validate if response has JSON Body ",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "    pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {jsonData = pm.response.json();}catch(e){}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "   pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "   console.log(\"- use {{payment_id}} as collection variable for value\",jsonData.payment_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.');",
                          "};",
                          "",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "   pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "   console.log(\"- use {{mandate_id}} as collection variable for value\",jsonData.mandate_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.');",
                          "};",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "   pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "   console.log(\"- use {{client_secret}} as collection variable for value\",jsonData.client_secret);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.');",
                          "};",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "pm.test(\"[POST]::/payments - Content check if value for 'status' matches 'succeeded'\", function() {",
                          "  pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "})};",
                          "",
                          "// Response body should have \"mandate_id\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_id' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_id !== \"undefined\")).to.be.true;",
                          "});",
                          "",
                          "// Response body should have \"mandate_data\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_data' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_data !== \"undefined\")).to.be.true;",
                          "});",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "auth": {
                      "type": "apikey",
                      "apikey": [
                        {
                          "key": "value",
                          "value": "{{api_key}}",
                          "type": "string"
                        },
                        {
                          "key": "key",
                          "value": "api-key",
                          "type": "string"
                        },
                        {
                          "key": "in",
                          "value": "header",
                          "type": "string"
                        }
                      ]
                    },
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      },
                      {
                        "key": "publishable_key",
                        "value": "{{publishable_key}}",
                        "type": "text",
                        "disabled": true
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_number\":\"5185570141917102\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_cvc\":\"737\"}},\"setup_future_usage\":\"off_session\",\"payment_type\":\"setup_mandate\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/confirm",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "confirm"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Recurring Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx ",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "   pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                          "});",
                          "",
                          "// Validate if response has JSON Body ",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "    pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {jsonData = pm.response.json();}catch(e){}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "   pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "   console.log(\"- use {{payment_id}} as collection variable for value\",jsonData.payment_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.');",
                          "};",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "   pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "   console.log(\"- use {{client_secret}} as collection variable for value\",jsonData.client_secret);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.');",
                          "};",
                          "",
                          "",
                          "// Response body should have value \"requires_payment_method\" for \"status\"",
                          "if (jsonData?.status) {",
                          "pm.test(\"[POST]::/payments - Content check if value for 'status' matches 'requires_payment_method'\", function() {",
                          "  pm.expect(jsonData.status).to.eql(\"requires_payment_method\");",
                          "})};",
                          "",
                          "// Response body should have \"mandate_id\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_id' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_id !== \"undefined\")).to.be.true;",
                          "});",
                          "",
                          "// Response body should have \"mandate_data\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_data' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_data !== \"undefined\")).to.be.true;",
                          "});",
                          "",
                          "// Response body should have \"payment_method_data\"",
                          "pm.test(\"[POST]::/payments - Content check if 'payment_method_data' exists\", function() {",
                          "   pm.expect((typeof jsonData.payment_method_data !== \"undefined\")).to.be.true;",
                          "});",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"currency\":\"USD\",\"confirm\":false,\"capture_method\":\"automatic\",\"amount_to_capture\":500,\"profile_id\":\"{{profile_id}}\",\"customer_id\":\"{{customer_id}}\",\"email\":\"guest@example.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"authentication_type\":\"no_three_ds\",\"setup_future_usage\":\"off_session\",\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\"}},\"statement_descriptor_name\":\"joseph\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "List payment methods for a Customer",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx ",
                          "pm.test(\"[GET]::/payment_methods/:customer_id - Status code is 2xx\", function () {",
                          "   pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payment_methods/:customer_id - Content-Type is application/json\", function () {",
                          "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {jsonData = pm.response.json();}catch(e){}",
                          "",
                          "if (jsonData?.customer_payment_methods[0]?.payment_token) {",
                          "   pm.collectionVariables.set(\"payment_token\", jsonData.customer_payment_methods[0].payment_token);",
                          "   console.log(\"- use {{payment_token}} as collection variable for value\", jsonData.customer_payment_methods[0].payment_token);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{payment_token}}, as jsonData.customer_payment_methods[0].payment_token is undefined.');",
                          "}"
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/customers/:customer_id/payment_methods",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "customers",
                        ":customer_id",
                        "payment_methods"
                      ],
                      "query": [
                        {
                          "key": "accepted_country",
                          "value": "co",
                          "disabled": true
                        },
                        {
                          "key": "accepted_country",
                          "value": "pa",
                          "disabled": true
                        },
                        {
                          "key": "accepted_currency",
                          "value": "voluptate ea",
                          "disabled": true
                        },
                        {
                          "key": "accepted_currency",
                          "value": "exercitation",
                          "disabled": true
                        },
                        {
                          "key": "minimum_amount",
                          "value": "100",
                          "disabled": true
                        },
                        {
                          "key": "maximum_amount",
                          "value": "10000000",
                          "disabled": true
                        },
                        {
                          "key": "recurring_payment_enabled",
                          "value": "true",
                          "disabled": true
                        },
                        {
                          "key": "installment_payment_enabled",
                          "value": "true",
                          "disabled": true
                        }
                      ],
                      "variable": [
                        {
                          "key": "customer_id",
                          "value": "{{customer_id}}",
                          "description": "//Pass the customer id"
                        }
                      ]
                    },
                    "description": "To filter and list the applicable payment methods for a particular Customer ID"
                  },
                  "response": []
                },
                {
                  "name": "Recurring Payments - Confirm",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx ",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "   pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                          "});",
                          "",
                          "// Validate if response has JSON Body ",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "    pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {jsonData = pm.response.json();}catch(e){}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "   pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "   console.log(\"- use {{payment_id}} as collection variable for value\",jsonData.payment_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.');",
                          "};",
                          "",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "   pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "   console.log(\"- use {{mandate_id}} as collection variable for value\",jsonData.mandate_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.');",
                          "};",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "   pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "   console.log(\"- use {{client_secret}} as collection variable for value\",jsonData.client_secret);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.');",
                          "};",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "pm.test(\"[POST]::/payments - Content check if value for 'status' matches 'succeeded'\", function() {",
                          "  pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "})};",
                          "",
                          "// Response body should have \"mandate_id\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_id' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_id !== \"undefined\")).to.be.true;",
                          "});",
                          "",
                          "// Response body should have \"mandate_data\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_data' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_data !== \"undefined\")).to.be.true;",
                          "});",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "auth": {
                      "type": "apikey",
                      "apikey": [
                        {
                          "key": "value",
                          "value": "{{api_key}}",
                          "type": "string"
                        },
                        {
                          "key": "key",
                          "value": "api-key",
                          "type": "string"
                        },
                        {
                          "key": "in",
                          "value": "header",
                          "type": "string"
                        }
                      ]
                    },
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      },
                      {
                        "key": "publishable_key",
                        "value": "{{publishable_key}}",
                        "type": "text",
                        "disabled": true
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"customer_id\":\"{{customer_id}}\",\"payment_method\":\"card\",\"payment_token\":\"{{payment_token}}\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/confirm",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "confirm"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario7-Save card flow",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx ",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "   pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                          "});",
                          "",
                          "// Validate if response has JSON Body ",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "    pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {jsonData = pm.response.json();}catch(e){}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "   pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "   console.log(\"- use {{payment_id}} as collection variable for value\",jsonData.payment_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.');",
                          "};",
                          "",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "   pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "   console.log(\"- use {{mandate_id}} as collection variable for value\",jsonData.mandate_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.');",
                          "};",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "   pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "   console.log(\"- use {{client_secret}} as collection variable for value\",jsonData.client_secret);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.');",
                          "};",
                          "",
                          "if (jsonData?.customer_id) {",
                          "   pm.collectionVariables.set(\"customer_id\", jsonData.customer_id);",
                          "   console.log(\"- use {{customer_id}} as collection variable for value\",jsonData.customer_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{customer_id}}, as jsonData.customer_id is undefined.');",
                          "};",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          "  );",
                          "}"
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"currency\":\"USD\",\"confirm\":true,\"capture_method\":\"automatic\",\"amount_to_capture\":500,\"customer_id\":\"{{customer_id}}\",\"profile_id\":\"{{profile_id}}\",\"email\":\"guest@example.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"authentication_type\":\"no_three_ds\",\"setup_future_usage\":\"on_session\",\"customer_acceptance\":{\"acceptance_type\":\"online\",\"accepted_at\":\"2022-09-10T10:11:12Z\",\"online\":{\"ip_address\":\"123.32.25.123\",\"user_agent\":\"Mozilla/5.0 (Linux; Android 12; SM-S906N Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.119 Mobile Safari/537.36\"}},\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_number\":\"5185570141917102\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_cvc\":\"123\"}},\"billing\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"9123456789\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"9123456789\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"joseph\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Retrieve",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "  console.log(",
                          "    \"- use {{mandate_id}} as collection variable for value\",",
                          "    jsonData.mandate_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"Succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments/:id - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Validate the connector",
                          "pm.test(\"[POST]::/payments - connector\", function () {",
                          "  pm.expect(jsonData.connector).to.eql(\"archipel\");",
                          "});",
                          "",
                          "// Response body should have value \"500\" for \"amount\"",
                          "if (jsonData?.amount) {",
                          "  pm.test(",
                          "    \"[post]:://payments/:id/capture - Content check if value for 'amount' matches '500'\",",
                          "    function () {",
                          "      pm.expect(jsonData.amount).to.eql(500);",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"6000\" for \"amount_received\"",
                          "if (jsonData?.amount_received) {",
                          "  pm.test(",
                          "    \"[POST]::/payments:id/capture - Content check if value for 'amount_received' matches '500'\",",
                          "    function () {",
                          "      pm.expect(jsonData.amount_received).to.eql(500);",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"6540\" for \"amount_capturable\"",
                          "if (jsonData?.amount) {",
                          "  pm.test(",
                          "    \"[post]:://payments/:id/capture - Content check if value for 'amount_capturable' matches '0'\",",
                          "    function () {",
                          "      pm.expect(jsonData.amount_capturable).to.eql(0);",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "force_sync",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "List payment methods for a Customer",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx ",
                          "pm.test(\"[GET]::/payment_methods/:customer_id - Status code is 2xx\", function () {",
                          "   pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payment_methods/:customer_id - Content-Type is application/json\", function () {",
                          "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {jsonData = pm.response.json();}catch(e){}",
                          "",
                          "if (jsonData?.customer_payment_methods[0]?.payment_token) {",
                          "   pm.collectionVariables.set(\"payment_token\", jsonData.customer_payment_methods[0].payment_token);",
                          "   console.log(\"- use {{payment_token}} as collection variable for value\", jsonData.customer_payment_methods[0].payment_token);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{payment_token}}, as jsonData.customer_payment_methods[0].payment_token is undefined.');",
                          "}"
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/customers/:customer_id/payment_methods",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "customers",
                        ":customer_id",
                        "payment_methods"
                      ],
                      "query": [
                        {
                          "key": "accepted_country",
                          "value": "co",
                          "disabled": true
                        },
                        {
                          "key": "accepted_country",
                          "value": "pa",
                          "disabled": true
                        },
                        {
                          "key": "accepted_currency",
                          "value": "voluptate ea",
                          "disabled": true
                        },
                        {
                          "key": "accepted_currency",
                          "value": "exercitation",
                          "disabled": true
                        },
                        {
                          "key": "minimum_amount",
                          "value": "100",
                          "disabled": true
                        },
                        {
                          "key": "maximum_amount",
                          "value": "10000000",
                          "disabled": true
                        },
                        {
                          "key": "recurring_payment_enabled",
                          "value": "true",
                          "disabled": true
                        },
                        {
                          "key": "installment_payment_enabled",
                          "value": "true",
                          "disabled": true
                        }
                      ],
                      "variable": [
                        {
                          "key": "customer_id",
                          "value": "{{customer_id}}",
                          "description": "//Pass the customer id"
                        }
                      ]
                    },
                    "description": "To filter and list the applicable payment methods for a particular Customer ID"
                  },
                  "response": []
                },
                {
                  "name": "Save card payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx ",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "   pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                          "});",
                          "",
                          "// Validate if response has JSON Body ",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "    pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {jsonData = pm.response.json();}catch(e){}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "   pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "   console.log(\"- use {{payment_id}} as collection variable for value\",jsonData.payment_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.');",
                          "};",
                          "",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "   pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "   console.log(\"- use {{mandate_id}} as collection variable for value\",jsonData.mandate_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.');",
                          "};",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "   pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "   console.log(\"- use {{client_secret}} as collection variable for value\",jsonData.client_secret);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.');",
                          "};",
                          "",
                          "if (jsonData?.customer_id) {",
                          "   pm.collectionVariables.set(\"customer_id\", jsonData.customer_id);",
                          "   console.log(\"- use {{customer_id}} as collection variable for value\",jsonData.customer_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{customer_id}}, as jsonData.customer_id is undefined.');",
                          "};"
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"currency\":\"USD\",\"confirm\":false,\"capture_method\":\"automatic\",\"amount_to_capture\":500,\"customer_id\":\"{{customer_id}}\",\"profile_id\":\"{{profile_id}}\",\"email\":\"guest@example.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"Its my first payment request\",\"authentication_type\":\"no_three_ds\",\"billing\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"9123456789\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"9123456789\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"joseph\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Save card payments - Confirm",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments/:id/confirm - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/confirm - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/confirm - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "  console.log(",
                          "    \"- use {{mandate_id}} as collection variable for value\",",
                          "    jsonData.mandate_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments/:id/confirm - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "",
                          "// Response body should have value \"archipel\" for \"connector\"",
                          "if (jsonData?.connector) {",
                          "  pm.test(",
                          "    \"[POST]::/payments/:id/confirm - Content check if value for 'connector' matches 'archipel'\",",
                          "    function () {",
                          "      pm.expect(jsonData.connector).to.eql(\"archipel\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "auth": {
                      "type": "apikey",
                      "apikey": [
                        {
                          "key": "value",
                          "value": "{{publishable_key}}",
                          "type": "string"
                        },
                        {
                          "key": "key",
                          "value": "api-key",
                          "type": "string"
                        },
                        {
                          "key": "in",
                          "value": "header",
                          "type": "string"
                        }
                      ]
                    },
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"client_secret\":\"{{client_secret}}\",\"payment_method\":\"card\",\"payment_token\":\"{{payment_token}}\",\"card_cvc\":\"7373\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/confirm",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "confirm"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Save card payments - Retrieve",
                  "event": [
                    {
                      "listen": "prerequest",
                      "script": {
                        "exec": [
                          "setTimeout(function(){",
                          "    console.log(\"Sleeping for 3 seconds before next request.\");",
                          "}, 3000);"
                        ],
                        "type": "text/javascript"
                      }
                    },
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "  console.log(",
                          "    \"- use {{mandate_id}} as collection variable for value\",",
                          "    jsonData.mandate_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"Succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments/:id - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Validate the connector",
                          "pm.test(\"[POST]::/payments - connector\", function () {",
                          "  pm.expect(jsonData.connector).to.eql(\"archipel\");",
                          "});",
                          "",
                          "// Response body should have value \"500\" for \"amount\"",
                          "if (jsonData?.amount) {",
                          "  pm.test(",
                          "    \"[post]:://payments/:id/capture - Content check if value for 'amount' matches '500'\",",
                          "    function () {",
                          "      pm.expect(jsonData.amount).to.eql(500);",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"500\" for \"amount_received\"",
                          "if (jsonData?.amount_received) {",
                          "  pm.test(",
                          "    \"[POST]::/payments:id/capture - Content check if value for 'amount_received' matches '500'\",",
                          "    function () {",
                          "      pm.expect(jsonData.amount_received).to.eql(500);",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"0\" for \"amount_capturable\"",
                          "if (jsonData?.amount) {",
                          "  pm.test(",
                          "    \"[post]:://payments/:id/capture - Content check if value for 'amount_capturable' matches '0'\",",
                          "    function () {",
                          "      pm.expect(jsonData.amount_capturable).to.eql(0);",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "force_sync",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario8a-Incremental authorization",
              "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",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx ",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "   pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                          "});",
                          "",
                          "// Validate if response has JSON Body ",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "    pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {jsonData = pm.response.json();}catch(e){}",
                          "",
                          "// Response body should have value \"requires_capture\" for \"status\"",
                          "pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'requires_capture'\",",
                          "    function () {",
                          "        pm.expect(jsonData.status).to.eql(\"requires_capture\");",
                          "    },",
                          ");",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "   pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "   console.log(\"- use {{payment_id}} as collection variable for value\",jsonData.payment_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.');",
                          "};",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "   pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "   console.log(\"- use {{client_secret}} as collection variable for value\",jsonData.client_secret);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.');",
                          "};"
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"manual\",\"authentication_type\":\"no_three_ds\",\"profile_id\":\"{{profile_id}}\",\"phone_country_code\":\"+91\",\"description\":\"[Archipel][Connector][Scenario8a] - Create payment with incremental authorization\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}}}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    }
                  },
                  "response": []
                },
                {
                  "name": "Payments - Incremental Authorization",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "",
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments/:id/capture - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/capture - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/capture - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "var jsonData = pm.response.json();",
                          "",
                          "pm.test(\"[POST]::/payments:id/incremental_authorizations - Content check have at least one incremental_authorizations \", function () {",
                          "    // Check if the 'amount' in the response matches the expected value",
                          "    pm.expect(jsonData.incremental_authorizations.length).greaterThan(0);",
                          "});",
                          "",
                          "pm.test(\"[POST]::/payments:id/incremental_authorizations - Content check if value for 'amount' matches '1001'\", function () {",
                          "    // Check if the 'amount' in the response matches the expected value",
                          "    pm.expect(jsonData.incremental_authorizations[0].amount).to.eql(1001);",
                          "});",
                          "",
                          "pm.test(\"[POST]::/payments:id/incremental_authorizations - Content check if value for 'previously_authorized_amount' matches '500'\", function () {",
                          "    // Check if the 'amount' in the response matches the expected value",
                          "    pm.expect(jsonData.incremental_authorizations[0].previously_authorized_amount).to.eql(500);",
                          "});",
                          "",
                          "pm.test(\"[POST]::/payments:id/incremental_authorizations - Content check if value for 'status' matches 'success'\", function () {",
                          "    // Parse the response JSON",
                          "    var jsonData = pm.response.json();",
                          "",
                          "    // Check if the 'status' in the response matches the expected value",
                          "    pm.expect(jsonData.incremental_authorizations[0].status).to.eql(\"success\");",
                          "});"
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":1001}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/{{payment_id}}/incremental_authorization",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        "{{payment_id}}",
                        "incremental_authorization"
                      ]
                    }
                  },
                  "response": []
                },
                {
                  "name": "Payments - Capture",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments/:id/capture - Status code is 2xx\", function () {",
                          "    pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "    \"[POST]::/payments/:id/capture - Content-Type is application/json\",",
                          "    function () {",
                          "        pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "            \"application/json\",",
                          "        );",
                          "    },",
                          ");",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/capture - Response has JSON Body\", function () {",
                          "    pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "    jsonData = pm.response.json();",
                          "} catch (e) { }",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "    pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "    console.log(",
                          "        \"- use {{payment_id}} as collection variable for value\",",
                          "        jsonData.payment_id,",
                          "    );",
                          "} else {",
                          "    console.log(",
                          "        \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "    );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "    pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "    console.log(",
                          "        \"- use {{client_secret}} as collection variable for value\",",
                          "        jsonData.client_secret,",
                          "    );",
                          "} else {",
                          "    console.log(",
                          "        \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "    );",
                          "}",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "",
                          "pm.test(",
                          "    \"[POST]:://payments/:id/capture - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "        pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          ");",
                          "",
                          "",
                          "// Response body should have value \"1001\" for \"amount\"",
                          "",
                          "pm.test(",
                          "    \"[post]:://payments/:id/capture - Content check if value for 'amount' matches '1001'\",",
                          "    function () {",
                          "        pm.expect(jsonData.amount).to.eql(1001);",
                          "    },",
                          ");",
                          "",
                          "// Response body should have value \"1001\" for \"amount_received\"",
                          "",
                          "pm.test(",
                          "    \"[POST]::/payments:id/capture - Content check if value for 'amount_received' matches '1001'\",",
                          "    function () {",
                          "        pm.expect(jsonData.amount_received).to.eql(1001);",
                          "    },",
                          ");",
                          "",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount_to_capture\":1001}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/capture",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "capture"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "To capture the funds for an uncaptured payment"
                        }
                      ]
                    }
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario8b-Incremental authorization with partial capture",
              "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",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx ",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "   pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                          "});",
                          "",
                          "// Validate if response has JSON Body ",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "    pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {jsonData = pm.response.json();}catch(e){}",
                          "",
                          "// Response body should have value \"requires_capture\" for \"status\"",
                          "pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'requires_capture'\",",
                          "    function () {",
                          "        pm.expect(jsonData.status).to.eql(\"requires_capture\");",
                          "    },",
                          ");",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "   pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "   console.log(\"- use {{payment_id}} as collection variable for value\",jsonData.payment_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.');",
                          "};",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "   pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "   console.log(\"- use {{client_secret}} as collection variable for value\",jsonData.client_secret);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.');",
                          "};"
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"manual\",\"authentication_type\":\"no_three_ds\",\"profile_id\":\"{{profile_id}}\",\"phone_country_code\":\"+91\",\"description\":\"[Archipel][Connector][Scenario8b] - Create payment with incremental authorization and partial capture\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}}}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    }
                  },
                  "response": []
                },
                {
                  "name": "Payments - Incremental Authorization",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "",
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments/:id/capture - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/capture - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/capture - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "var jsonData = pm.response.json();",
                          "",
                          "pm.test(\"[POST]::/payments:id/incremental_authorizations - Content check have at least one incremental_authorizations \", function () {",
                          "    // Check if the 'amount' in the response matches the expected value",
                          "    pm.expect(jsonData.incremental_authorizations.length).greaterThan(0);",
                          "});",
                          "",
                          "pm.test(\"[POST]::/payments:id/incremental_authorizations - Content check if value for 'amount' matches '1001'\", function () {",
                          "    // Check if the 'amount' in the response matches the expected value",
                          "    pm.expect(jsonData.incremental_authorizations[0].amount).to.eql(1001);",
                          "});",
                          "",
                          "pm.test(\"[POST]::/payments:id/incremental_authorizations - Content check if value for 'previously_authorized_amount' matches '500'\", function () {",
                          "    // Check if the 'amount' in the response matches the expected value",
                          "    pm.expect(jsonData.incremental_authorizations[0].previously_authorized_amount).to.eql(500);",
                          "});",
                          "",
                          "pm.test(\"[POST]::/payments:id/incremental_authorizations - Content check if value for 'status' matches 'success'\", function () {",
                          "    // Parse the response JSON",
                          "    var jsonData = pm.response.json();",
                          "",
                          "    // Check if the 'status' in the response matches the expected value",
                          "    pm.expect(jsonData.incremental_authorizations[0].status).to.eql(\"success\");",
                          "});"
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":1001}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/{{payment_id}}/incremental_authorization",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        "{{payment_id}}",
                        "incremental_authorization"
                      ]
                    }
                  },
                  "response": []
                },
                {
                  "name": "Payments - Capture",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments/:id/capture - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/capture - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/capture - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) { }",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"partially_captured\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]:://payments/:id/capture - Content check if value for 'status' matches 'partially_captured'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"partially_captured\");",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"1001\" for \"amount\"",
                          "if (jsonData?.amount) {",
                          "  pm.test(",
                          "    \"[post]:://payments/:id/capture - Content check if value for 'amount' matches '1001'\",",
                          "    function () {",
                          "      pm.expect(jsonData.amount).to.eql(1001);",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"600\" for \"amount_received\"",
                          "if (jsonData?.amount_received) {",
                          "  pm.test(",
                          "    \"[POST]::/payments:id/capture - Content check if value for 'amount_received' matches '600'\",",
                          "    function () {",
                          "      pm.expect(jsonData.amount_received).to.eql(600);",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount_to_capture\":600}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/capture",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "capture"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    }
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario9a-Refund full payment",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"500\" for \"amount\"",
                          "pm.test(\"[POST]::/payments - Content check if value for 'amount' matches '500'\",",
                          "function () {",
                          "    pm.expect(jsonData.amount).to.eql(500);",
                          "});",
                          "",
                          "// Response body should have \"EUR\" for \"currency\"",
                          "pm.test(\"[POST]::/payments - Content check if value for 'currency' matches 'EUR'\",",
                          "function () {",
                          "    pm.expect(jsonData.currency).to.eql(\"EUR\");",
                          "});",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"automatic\",\"authentication_type\":\"no_three_ds\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Refunds - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/refunds - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/refunds - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set refund_id as variable for jsonData.payment_id",
                          "if (jsonData?.refund_id) {",
                          "  pm.collectionVariables.set(\"refund_id\", jsonData.refund_id);",
                          "  console.log(",
                          "    \"- use {{refund_id}} as collection variable for value\",",
                          "    jsonData.refund_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{refund_id}}, as jsonData.refund_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"failed\" for \"status\" and error message should contain \"[/refund/{{connector_transaction_id}}] Cannot find any remitted transaction with given order id\"",
                          "pm.test(\"[POST]::/refunds - Content check if value for 'status' matches 'failed'\", ",
                          "function () {",
                          "    pm.expect(jsonData.status).to.eql(\"failed\");",
                          "    pm.expect(jsonData.error_message).to.include(",
                          "      \"[/refund/\"",
                          "    ) + pm.collectionVariables.get(\"connector_transaction_id\") + \"] Cannot find any remitted transaction with given order id\";",
                          "});",
                          "",
                          "// Response body should have value \"500\" for \"amount\"",
                          "pm.test(\"[POST]::/refunds - Content check if value for 'amount' matches '500'\",",
                          "function () {",
                          "    pm.expect(jsonData.amount).to.eql(500);",
                          "});",
                          "",
                          "// Response body should have \"EUR\" for \"currency\"",
                          "pm.test(\"[POST]::/refunds - Content check if value for 'currency' matches 'EUR'\",",
                          "function () {",
                          "    pm.expect(jsonData.currency).to.eql(\"EUR\");",
                          "});",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"payment_id\":\"{{payment_id}}\",\"amount\":500,\"reason\":\"Customer returned product\",\"refund_type\":\"instant\",\"metadata\":{\"udf1\":\"value1\",\"new_customer\":\"true\",\"login_date\":\"2019-09-10T10:11:12Z\"}}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/refunds",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "refunds"
                      ]
                    },
                    "description": "To create a refund against an already processed payment"
                  },
                  "response": []
                },
                {
                  "name": "Refunds - Retrieve",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/refunds - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/refunds - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set refund_id as variable for jsonData.payment_id",
                          "if (jsonData?.refund_id) {",
                          "  pm.collectionVariables.set(\"refund_id\", jsonData.refund_id);",
                          "  console.log(",
                          "    \"- use {{refund_id}} as collection variable for value\",",
                          "    jsonData.refund_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{refund_id}}, as jsonData.refund_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"failed\" for \"status\" and error message should contain \"[/refund/{{connector_transaction_id}}] Cannot find any remitted transaction with given order id\"",
                          "pm.test(\"[POST]::/refunds - Content check if value for 'status' matches 'failed'\", ",
                          "function () {",
                          "    pm.expect(jsonData.status).to.eql(\"failed\");",
                          "    pm.expect(jsonData.error_message).to.include(",
                          "      \"[/refund/\"",
                          "    ) + pm.collectionVariables.get(\"connector_transaction_id\") + \"] Cannot find any remitted transaction with given order id\";",
                          "});",
                          "",
                          "// Response body should have value \"500\" for \"amount\"",
                          "pm.test(\"[POST]::/refunds - Content check if value for 'amount' matches '500'\",",
                          "function () {",
                          "    pm.expect(jsonData.amount).to.eql(500);",
                          "});",
                          "",
                          "// Response body should have \"EUR\" for \"currency\"",
                          "pm.test(\"[POST]::/refunds - Content check if value for 'currency' matches 'EUR'\",",
                          "function () {",
                          "    pm.expect(jsonData.currency).to.eql(\"EUR\");",
                          "});",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/refunds/:id",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "refunds",
                        ":id"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{refund_id}}",
                          "description": "(Required) unique refund id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario9b-Refund partial payment",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"500\" for \"amount\"",
                          "pm.test(\"[POST]::/payments - Content check if value for 'amount' matches '500'\",",
                          "function () {",
                          "    pm.expect(jsonData.amount).to.eql(500);",
                          "});",
                          "",
                          "// Response body should have \"EUR\" for \"currency\"",
                          "pm.test(\"[POST]::/payments - Content check if value for 'currency' matches 'EUR'\",",
                          "function () {",
                          "    pm.expect(jsonData.currency).to.eql(\"EUR\");",
                          "});",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"automatic\",\"authentication_type\":\"no_three_ds\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Refunds - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/refunds - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/refunds - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set refund_id as variable for jsonData.payment_id",
                          "if (jsonData?.refund_id) {",
                          "  pm.collectionVariables.set(\"refund_id\", jsonData.refund_id);",
                          "  console.log(",
                          "    \"- use {{refund_id}} as collection variable for value\",",
                          "    jsonData.refund_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{refund_id}}, as jsonData.refund_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"failed\" for \"status\" and error message should contain \"[/refund/{{connector_transaction_id}}] Cannot find any remitted transaction with given order id\"",
                          "pm.test(\"[POST]::/refunds - Content check if value for 'status' matches 'failed'\", ",
                          "function () {",
                          "    pm.expect(jsonData.status).to.eql(\"failed\");",
                          "    pm.expect(jsonData.error_message).to.include(",
                          "      \"[/refund/\"",
                          "    ) + pm.collectionVariables.get(\"connector_transaction_id\") + \"] Cannot find any remitted transaction with given order id\";",
                          "});",
                          "",
                          "// Response body should have value \"200\" for \"amount\"",
                          "pm.test(\"[POST]::/refunds - Content check if value for 'amount' matches '200'\",",
                          "function () {",
                          "    pm.expect(jsonData.amount).to.eql(200);",
                          "});",
                          "",
                          "// Response body should have \"EUR\" for \"currency\"",
                          "pm.test(\"[POST]::/refunds - Content check if value for 'currency' matches 'EUR'\",",
                          "function () {",
                          "    pm.expect(jsonData.currency).to.eql(\"EUR\");",
                          "});",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"payment_id\":\"{{payment_id}}\",\"amount\":200,\"reason\":\"Customer returned product\",\"refund_type\":\"instant\",\"metadata\":{\"udf1\":\"value1\",\"new_customer\":\"true\",\"login_date\":\"2019-09-10T10:11:12Z\"}}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/refunds",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "refunds"
                      ]
                    },
                    "description": "To create a refund against an already processed payment"
                  },
                  "response": []
                },
                {
                  "name": "Refunds - Retrieve",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/refunds - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/refunds - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set refund_id as variable for jsonData.payment_id",
                          "if (jsonData?.refund_id) {",
                          "  pm.collectionVariables.set(\"refund_id\", jsonData.refund_id);",
                          "  console.log(",
                          "    \"- use {{refund_id}} as collection variable for value\",",
                          "    jsonData.refund_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{refund_id}}, as jsonData.refund_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"failed\" for \"status\" and error message should contain \"[/refund/{{connector_transaction_id}}] Cannot find any remitted transaction with given order id\"",
                          "pm.test(\"[POST]::/refunds - Content check if value for 'status' matches 'failed'\", ",
                          "function () {",
                          "    pm.expect(jsonData.status).to.eql(\"failed\");",
                          "    pm.expect(jsonData.error_message).to.include(",
                          "      \"[/refund/\"",
                          "    ) + pm.collectionVariables.get(\"connector_transaction_id\") + \"] Cannot find any remitted transaction with given order id\";",
                          "});",
                          "",
                          "// Response body should have value \"200\" for \"amount\"",
                          "pm.test(\"[POST]::/refunds - Content check if value for 'amount' matches '200'\",",
                          "function () {",
                          "    pm.expect(jsonData.amount).to.eql(200);",
                          "});",
                          "",
                          "// Response body should have \"EUR\" for \"currency\"",
                          "pm.test(\"[POST]::/refunds - Content check if value for 'currency' matches 'EUR'\",",
                          "function () {",
                          "    pm.expect(jsonData.currency).to.eql(\"EUR\");",
                          "});",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/refunds/:id",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "refunds",
                        ":id"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{refund_id}}",
                          "description": "(Required) unique refund id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario9c-Refund full incremented payment",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx ",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "   pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                          "});",
                          "",
                          "// Validate if response has JSON Body ",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "    pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {jsonData = pm.response.json();}catch(e){}",
                          "",
                          "// Response body should have value \"requires_capture\" for \"status\"",
                          "pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'requires_capture'\",",
                          "    function () {",
                          "        pm.expect(jsonData.status).to.eql(\"requires_capture\");",
                          "    },",
                          ");",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "   pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "   console.log(\"- use {{payment_id}} as collection variable for value\",jsonData.payment_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.');",
                          "};",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "   pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "   console.log(\"- use {{client_secret}} as collection variable for value\",jsonData.client_secret);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.');",
                          "};"
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"manual\",\"authentication_type\":\"no_three_ds\",\"profile_id\":\"{{profile_id}}\",\"phone_country_code\":\"+91\",\"description\":\"[Archipel][Connector][Scenario8a] - Create payment with incremental authorization\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}}}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    }
                  },
                  "response": []
                },
                {
                  "name": "Payments - Incremental Authorization",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "",
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments/:id/capture - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/capture - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/capture - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "var jsonData = pm.response.json();",
                          "",
                          "pm.test(\"[POST]::/payments:id/incremental_authorizations - Content check have at least one incremental_authorizations \", function () {",
                          "    // Check if the 'amount' in the response matches the expected value",
                          "    pm.expect(jsonData.incremental_authorizations.length).greaterThan(0);",
                          "});",
                          "",
                          "pm.test(\"[POST]::/payments:id/incremental_authorizations - Content check if value for 'amount' matches '1001'\", function () {",
                          "    // Check if the 'amount' in the response matches the expected value",
                          "    pm.expect(jsonData.incremental_authorizations[0].amount).to.eql(1001);",
                          "});",
                          "",
                          "pm.test(\"[POST]::/payments:id/incremental_authorizations - Content check if value for 'previously_authorized_amount' matches '500'\", function () {",
                          "    // Check if the 'amount' in the response matches the expected value",
                          "    pm.expect(jsonData.incremental_authorizations[0].previously_authorized_amount).to.eql(500);",
                          "});",
                          "",
                          "pm.test(\"[POST]::/payments:id/incremental_authorizations - Content check if value for 'status' matches 'success'\", function () {",
                          "    // Parse the response JSON",
                          "    var jsonData = pm.response.json();",
                          "",
                          "    // Check if the 'status' in the response matches the expected value",
                          "    pm.expect(jsonData.incremental_authorizations[0].status).to.eql(\"success\");",
                          "});"
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":1001}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/{{payment_id}}/incremental_authorization",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        "{{payment_id}}",
                        "incremental_authorization"
                      ]
                    }
                  },
                  "response": []
                },
                {
                  "name": "Payments - Capture",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments/:id/capture - Status code is 2xx\", function () {",
                          "    pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "    \"[POST]::/payments/:id/capture - Content-Type is application/json\",",
                          "    function () {",
                          "        pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "            \"application/json\",",
                          "        );",
                          "    },",
                          ");",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/capture - Response has JSON Body\", function () {",
                          "    pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "    jsonData = pm.response.json();",
                          "} catch (e) { }",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "    pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "    console.log(",
                          "        \"- use {{payment_id}} as collection variable for value\",",
                          "        jsonData.payment_id,",
                          "    );",
                          "} else {",
                          "    console.log(",
                          "        \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "    );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "    pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "    console.log(",
                          "        \"- use {{client_secret}} as collection variable for value\",",
                          "        jsonData.client_secret,",
                          "    );",
                          "} else {",
                          "    console.log(",
                          "        \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "    );",
                          "}",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "",
                          "pm.test(",
                          "    \"[POST]:://payments/:id/capture - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "        pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          ");",
                          "",
                          "",
                          "// Response body should have value \"1001\" for \"amount\"",
                          "",
                          "pm.test(",
                          "    \"[post]:://payments/:id/capture - Content check if value for 'amount' matches '1001'\",",
                          "    function () {",
                          "        pm.expect(jsonData.amount).to.eql(1001);",
                          "    },",
                          ");",
                          "",
                          "// Response body should have value \"1001\" for \"amount_received\"",
                          "",
                          "pm.test(",
                          "    \"[POST]::/payments:id/capture - Content check if value for 'amount_received' matches '1001'\",",
                          "    function () {",
                          "        pm.expect(jsonData.amount_received).to.eql(1001);",
                          "    },",
                          ");",
                          "",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount_to_capture\":1001}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/capture",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "capture"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "To capture the funds for an uncaptured payment"
                        }
                      ]
                    }
                  },
                  "response": []
                },
                {
                  "name": "Refunds - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/refunds - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/refunds - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set refund_id as variable for jsonData.payment_id",
                          "if (jsonData?.refund_id) {",
                          "  pm.collectionVariables.set(\"refund_id\", jsonData.refund_id);",
                          "  console.log(",
                          "    \"- use {{refund_id}} as collection variable for value\",",
                          "    jsonData.refund_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{refund_id}}, as jsonData.refund_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"failed\" for \"status\" and error message should contain \"[/refund/{{connector_transaction_id}}] Cannot find any remitted transaction with given order id\"",
                          "pm.test(\"[POST]::/refunds - Content check if value for 'status' matches 'failed'\", ",
                          "function () {",
                          "    pm.expect(jsonData.status).to.eql(\"failed\");",
                          "    pm.expect(jsonData.error_message).to.include(",
                          "      \"[/refund/\"",
                          "    ) + pm.collectionVariables.get(\"connector_transaction_id\") + \"] Cannot find any remitted transaction with given order id\";",
                          "});",
                          "",
                          "// Response body should have value \"1001\" for \"amount\"",
                          "pm.test(\"[POST]::/refunds - Content check if value for 'amount' matches '1001'\",",
                          "function () {",
                          "    pm.expect(jsonData.amount).to.eql(1001);",
                          "});",
                          "",
                          "// Response body should have \"EUR\" for \"currency\"",
                          "pm.test(\"[POST]::/refunds - Content check if value for 'currency' matches 'EUR'\",",
                          "function () {",
                          "    pm.expect(jsonData.currency).to.eql(\"EUR\");",
                          "});",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"payment_id\":\"{{payment_id}}\",\"amount\":1001,\"reason\":\"Customer returned product\",\"refund_type\":\"instant\",\"metadata\":{\"udf1\":\"value1\",\"new_customer\":\"true\",\"login_date\":\"2019-09-10T10:11:12Z\"}}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/refunds",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "refunds"
                      ]
                    },
                    "description": "To create a refund against an already processed payment"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario10-Create 3DS payment without external 3ds authentication",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"requires_payment_method\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'requires_payment_method'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"requires_payment_method\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    },
                    {
                      "listen": "prerequest",
                      "script": {
                        "exec": [
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"USD\",\"confirm\":false,\"capture_method\":\"automatic\",\"authentication_type\":\"three_ds\",\"request_external_three_ds_authentication\":false,\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"FRA\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}}}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Confirm",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 400",
                          "pm.test(\"[POST]::/payments/:id/confirm - Status code is 400\", function () {",
                          "  pm.response.to.have.status(400);",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/confirm - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/confirm - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// Validate if response has error body",
                          "pm.test(\"[POST]::/payments/:id/confirm - Response has error body\", function () {",
                          "  pm.expect(jsonData).to.have.property(\"error\");",
                          "});",
                          "",
                          "// Validate if error type is \"invalid_request\"",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/confirm - Error type is 'invalid_request'\",",
                          "  function () {",
                          "    pm.expect(jsonData.error).to.have.property(\"type\", \"invalid_request\");",
                          "  },",
                          ");",
                          "",
                          "// Validate if error message is \"Payment method type not supported\"",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/confirm - Error message is 'Payment method type not supported'\",",
                          "  function () {",
                          "    pm.expect(jsonData.error).to.have.property(",
                          "      \"message\",",
                          "      \"Payment method type not supported\",",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "// Validate if error reason is \"Selected 3DS authentication method is not supported by archipel\"",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/confirm - Error reason is 'Selected 3DS authentication method is not supported by archipel'\",",
                          "  function () {",
                          "    pm.expect(jsonData.error).to.have.property(",
                          "      \"reason\",",
                          "      \"Selected 3DS authentication method is not supported by archipel\",",
                          "    );",
                          "  },",
                          ");"
                        ],
                        "type": "text/javascript"
                      }
                    },
                    {
                      "listen": "prerequest",
                      "script": {
                        "exec": [
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "auth": {
                      "type": "apikey",
                      "apikey": [
                        {
                          "key": "value",
                          "value": "{{publishable_key}}",
                          "type": "string"
                        },
                        {
                          "key": "key",
                          "value": "api-key",
                          "type": "string"
                        },
                        {
                          "key": "in",
                          "value": "header",
                          "type": "string"
                        }
                      ]
                    },
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"client_secret\":\"{{client_secret}}\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"4242424242424242\"}},\"browser_info\":{\"user_agent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36\",\"accept_header\":\"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\",\"language\":\"nl-NL\",\"color_depth\":24,\"screen_height\":723,\"screen_width\":1536,\"time_zone\":0,\"java_enabled\":true,\"java_script_enabled\":true,\"ip_address\":\"125.0.0.1\"}}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/confirm",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "confirm"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Retrieve after confirm",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// Response body should have value \"requires_payment_method\" for \"status\"",
                          "pm.test(",
                          "    \"[POST]::/payments/:id - Content check if value for 'status' matches 'requires_payment_method'\",",
                          "    function () {",
                          "        pm.expect(jsonData.status).to.eql(\"requires_payment_method\");",
                          "    },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'amount' equal 500\",",
                          "  function () {",
                          "    pm.expect(jsonData.amount).to.eql(500);",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'net_amount' equal 500\",",
                          "  function () {",
                          "    pm.expect(jsonData.net_amount).to.eql(500);",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'amount_capturable' equal 0\",",
                          "  function () {",
                          "    pm.expect(jsonData.amount_capturable).to.eql(0);",
                          "  },",
                          ");",
                          "",
                          "// Response body should have \"connector_transaction_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "  },",
                          ");",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "force_sync",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            }
          ]
        },
        {
          "name": "Negative Cases",
          "item": [
            {
              "name": "Scenario1-Create payment with Invalid card details",
              "item": [
                {
                  "name": "Payments - Create(Invalid card number)",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 4xx",
                          "pm.test(\"[POST]::/payments - Status code is 4xx\", function () {",
                          "  pm.response.to.be.error;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have \"error\"",
                          "pm.test(\"[POST]::/payments - Content check if 'error' exists\", function () {",
                          "  pm.expect(typeof jsonData.error !== \"undefined\").to.be.true;",
                          "});",
                          "",
                          "// Response body should have value \"connector error\" for \"error type\"",
                          "if (jsonData?.error?.type) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'error.type' matches 'connector_error'\",",
                          "    function () {",
                          "      pm.expect(jsonData.error.type).to.eql(\"connector_error\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"automatic\",\"authentication_type\":\"no_three_ds\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185\"}},\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Create(Invalid Exp month)",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 4xx",
                          "pm.test(\"[POST]::/payments - Status code is 4xx\", function () {",
                          "  pm.response.to.be.error;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have \"next_action.redirect_to_url\"",
                          "pm.test(\"[POST]::/payments - Content check if 'error' exists\", function () {",
                          "  pm.expect(typeof jsonData.error !== \"undefined\").to.be.true;",
                          "});",
                          "",
                          "// Response body should have value \"connector error\" for \"error type\"",
                          "if (jsonData?.error?.type) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'error.type' matches 'invalid_request'\",",
                          "    function () {",
                          "      pm.expect(jsonData.error.type).to.eql(\"invalid_request\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"automatic\",\"authentication_type\":\"no_three_ds\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"24\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Create(Invalid Exp Year)",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 4xx",
                          "pm.test(\"[POST]::/payments - Status code is 4xx\", function () {",
                          "  pm.response.to.be.error;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have \"next_action.redirect_to_url\"",
                          "pm.test(\"[POST]::/payments - Content check if 'error' exists\", function () {",
                          "  pm.expect(typeof jsonData.error !== \"undefined\").to.be.true;",
                          "});",
                          "",
                          "// Response body should have value \"connector error\" for \"error type\"",
                          "if (jsonData?.error?.type) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'error.type' matches 'invalid_request'\",",
                          "    function () {",
                          "      pm.expect(jsonData.error.type).to.eql(\"invalid_request\");",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"connector error\" for \"error message\"",
                          "if (jsonData?.error?.message) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'error.message' matches 'Invalid Expiry Year'\",",
                          "    function () {",
                          "      pm.expect(jsonData.error.message).to.eql(\"Invalid Expiry Year\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"automatic\",\"authentication_type\":\"no_three_ds\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"1970\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Create(invalid CVV)",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 4xx",
                          "pm.test(\"[POST]::/payments - Status code is 4xx\", function () {",
                          "  pm.response.to.be.error;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have \"error\"",
                          "pm.test(\"[POST]::/payments - Content check if 'error' exists\", function () {",
                          "  pm.expect(typeof jsonData.error !== \"undefined\").to.be.true;",
                          "});",
                          "",
                          "// Response body should have value \"connector error\" for \"error type\"",
                          "if (jsonData?.error?.type) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'error.type' matches 'invalid_request'\",",
                          "    function () {",
                          "      pm.expect(jsonData.error.type).to.eql(\"invalid_request\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"automatic\",\"authentication_type\":\"no_three_ds\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"00000\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario2-Confirming without payment method",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"requires_payment_method\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'requires_payment_method'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"requires_payment_method\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":false,\"capture_method\":\"automatic\",\"authentication_type\":\"no_three_ds\",\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Confirm",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 4xx",
                          "pm.test(\"[POST]::/payments - Status code is 4xx\", function () {",
                          "  pm.response.to.be.error;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/confirm - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/confirm - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have \"error\"",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/confirm - Content check if 'error' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.error !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          "",
                          "// Response body should have value \"connector error\" for \"error type\"",
                          "if (jsonData?.error?.type) {",
                          "  pm.test(",
                          "    \"[POST]::/payments/:id/confirm - Content check if value for 'error.type' matches 'invalid_request'\",",
                          "    function () {",
                          "      pm.expect(jsonData.error.type).to.eql(\"invalid_request\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    },
                    {
                      "listen": "prerequest",
                      "script": {
                        "exec": [
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "auth": {
                      "type": "apikey",
                      "apikey": [
                        {
                          "key": "value",
                          "value": "{{publishable_key}}",
                          "type": "string"
                        },
                        {
                          "key": "key",
                          "value": "api-key",
                          "type": "string"
                        },
                        {
                          "key": "in",
                          "value": "header",
                          "type": "string"
                        }
                      ]
                    },
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"client_secret\":\"{{client_secret}}\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/confirm",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "confirm"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario3-Create payment with Manual capture but wrong pan",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector' is archipel\",",
                          "  function () {",
                          "    pm.expect(jsonData.connector).to.be.equal(\"archipel\");",
                          "  },",
                          ");",
                          "",
                          "// Response body should have value \"failed\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'failed'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"failed\");",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"Transaction error: No Response from acquirer\" for \"error_message\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'error_message' matches 'Transaction error: No Response from acquirer'\",",
                          "    function () {",
                          "      pm.expect(jsonData.error_message).to.eql(\"Transaction error: No Response from acquirer\");",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Response body should have \"connector_transaction_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "    pm.collectionVariables.set(\"connector_transaction_id\", jsonData.connector_transaction_id)",
                          "  },",
                          ");"
                        ],
                        "type": "text/javascript"
                      }
                    },
                    {
                      "listen": "prerequest",
                      "script": {
                        "exec": [
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"manual\",\"authentication_type\":\"no_three_ds\",\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"0000000000000\"}},\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Capture",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 400",
                          "pm.test(\"[POST]::/payments/:id/capture - Status code is 400\", function () {",
                          "  pm.response.to.have.status(400);",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/capture - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/capture - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Validate if response has error body",
                          "pm.test(\"[POST]::/payments/:id/confirm - Response has error body\", function () {",
                          "  pm.expect(jsonData).to.have.property(\"error\");",
                          "});",
                          "",
                          "// Validate if error type is \"invalid_request\"",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/confirm - Error type is 'invalid_request'\",",
                          "  function () {",
                          "    pm.expect(jsonData.error).to.have.property(\"type\", \"invalid_request\");",
                          "  },",
                          ");",
                          "",
                          "// Validate if error message is \"This Payment could not be captured because it has a payment.status of failed. The expected state is requires_capture, partially_captured_and_capturable, processing\"",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/confirm - Error message is 'This Payment could not be captured because it has a payment.status of failed. The expected state is requires_capture, partially_captured_and_capturable, processing'\",",
                          "  function () {",
                          "    pm.expect(jsonData.error).to.have.property(",
                          "      \"message\",",
                          "      \"This Payment could not be captured because it has a payment.status of failed. The expected state is requires_capture, partially_captured_and_capturable, processing\",",
                          "    );",
                          "  },",
                          ");"
                        ],
                        "type": "text/javascript"
                      }
                    },
                    {
                      "listen": "prerequest",
                      "script": {
                        "exec": [
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount_to_capture\":500,\"statement_descriptor_name\":\"John\",\"statement_descriptor_suffix\":\"JD\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/capture",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "capture"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Retrieve",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// Response body should have value \"failed\" for \"status\"",
                          "pm.test(",
                          "\"[POST]::/payments/:id - Content check if value for 'status' matches 'failed'\",",
                          "    function () {",
                          "        pm.expect(jsonData.status).to.eql(\"failed\");",
                          "    },",
                          ");",
                          "",
                          "// Response body should have \"connector_transaction_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "  },",
                          ");",
                          "",
                          "let payment_attempt = {}",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment has one 'Payment Attempt'\",",
                          "  function () {",
                          "    pm.expect(jsonData.attempts.length).to.be.equal(1);",
                          "    payment_attempt = jsonData.attempts[0]",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment Attempt has 'failure' status\",",
                          "  function () {",
                          "    pm.expect(payment_attempt.status).to.be.equal(\"failure\");",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment Attempt has 'archipel' connector\",",
                          "  function () {",
                          "    pm.expect(payment_attempt.connector).to.be.equal(\"archipel\");",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments - Payment Attempt has 'Transaction error: No Response from acquirer' error_message\",",
                          "  function () {",
                          "    pm.expect(payment_attempt.error_message).to.be.equal(\"Transaction error: No Response from acquirer\");",
                          "  },",
                          ");"
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?expand_attempts=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "expand_attempts",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario4-Capture greater amount",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"requires_capture\" for \"status\"",
                          "pm.test(",
                          "\"[POST]::/payments - Content check if value for 'status' matches 'requires_capture'\",",
                          "function () {",
                          "    pm.expect(jsonData.status).to.eql(\"requires_capture\");",
                          "},",
                          ");",
                          "",
                          "// Response body should have \"connector_transaction_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "    pm.collectionVariables.set(\"connector_transaction_id\", jsonData.connector_transaction_id)",
                          "  },",
                          ");"
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"manual\",\"authentication_type\":\"no_three_ds\",\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Capture",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 4xx",
                          "pm.test(\"[POST]::/payments/:id/capture - Status code is 4xx\", function () {",
                          "  pm.response.to.be.error;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/capture - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/capture - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have \"error\"",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/confirm - Content check if 'error' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.error !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          "",
                          "// Response body should have value \"connector error\" for \"error type\"",
                          "if (jsonData?.error?.type) {",
                          "  pm.test(",
                          "    \"[POST]::/payments/:id/confirm - Content check if value for 'error.type' matches 'invalid_request'\",",
                          "    function () {",
                          "      pm.expect(jsonData.error.type).to.eql(\"invalid_request\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount_to_capture\":7000,\"statement_descriptor_name\":\"Joseph\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/capture",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "capture"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "description": "To capture the funds for an uncaptured payment"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Retrieve",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"requires_capture\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'requires_capture'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"requires_capture\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "force_sync",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario5-Capture the succeeded payment",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Response body should have \"connector_transaction_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "    pm.collectionVariables.set(\"connector_transaction_id\", jsonData.connector_transaction_id)",
                          "  },",
                          ");",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"automatic\",\"authentication_type\":\"no_three_ds\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Sync payment",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// Response body should have value \"Succeeded\" for \"status\"",
                          "pm.test(",
                          "    \"[POST]::/payments/:id - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "        pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'amount' equal 500\",",
                          "  function () {",
                          "    pm.expect(jsonData.amount).to.eql(500);",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'net_amount' equal 500\",",
                          "  function () {",
                          "    pm.expect(jsonData.net_amount).to.eql(500);",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'amount_capturable' equal 0\",",
                          "  function () {",
                          "    pm.expect(jsonData.amount_capturable).to.eql(0);",
                          "  },",
                          ");",
                          "",
                          "pm.test(",
                          "  \"[POST]::/payments/:id - Content check if value for 'amount_received' equal 500\",",
                          "  function () {",
                          "    pm.expect(jsonData.amount_received).to.eql(500);",
                          "  },",
                          ");",
                          "",
                          "",
                          "// Response body should have \"connector_transaction_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'connector_transaction_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.connector_transaction_id !== \"undefined\").to.be",
                          "      .true;",
                          "  },",
                          ");"
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "force_sync",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Capture",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 4xx",
                          "pm.test(\"[POST]::/payments/:id/capture - Status code is 4xx\", function () {",
                          "  pm.response.to.be.error;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/capture - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/capture - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have \"error\"",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/confirm - Content check if 'error' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.error !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          "",
                          "// Response body should have value \"connector error\" for \"error type\"",
                          "if (jsonData?.error?.type) {",
                          "  pm.test(",
                          "    \"[POST]::/payments/:id/confirm - Content check if value for 'error.type' matches 'invalid_request'\",",
                          "    function () {",
                          "      pm.expect(jsonData.error.type).to.eql(\"invalid_request\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount_to_capture\":7000,\"statement_descriptor_name\":\"Joseph\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/capture",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "capture"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "description": "To capture the funds for an uncaptured payment"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario6-Create a recurring payment with greater mandate amount",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "  console.log(",
                          "    \"- use {{mandate_id}} as collection variable for value\",",
                          "    jsonData.mandate_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"requires_confirmation\" for \"status\"",
                          "pm.test(",
                          "\"[POST]::/payments - Content check if value for 'status' matches 'requires_confirmation'\",",
                          "function () {",
                          "    pm.expect(jsonData.status).to.eql(\"requires_confirmation\");",
                          "},",
                          ");",
                          "",
                          "// Response body should have \"mandate_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'mandate_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.mandate_id !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          "",
                          "// Response body should have \"mandate_data\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'mandate_data' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.mandate_data !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":0,\"currency\":\"EUR\",\"confirm\":false,\"capture_method\":\"automatic\",\"customer_id\":\"{{customer_id}}\",\"profile_id\":\"{{profile_id}}\",\"description\":\"[Archipel Connector][Variation Cases][Scenario6] - Create mandate\",\"payment_method\":\"card\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\",\"card_network\":\"Visa\"}},\"setup_future_usage\":\"off_session\",\"mandate_data\":{\"customer_acceptance\":{\"acceptance_type\":\"offline\",\"accepted_at\":\"1963-05-03T04:07:52.723Z\",\"online\":{\"ip_address\":\"127.0.0.1\",\"user_agent\":\"amet irure esse\"}},\"mandate_type\":{\"single_use\":{\"amount\":1000,\"currency\":\"EUR\"}}},\"customer_acceptance\":{\"acceptance_type\":\"offline\",\"accepted_at\":\"1963-05-03T04:07:52.723Z\",\"online\":{\"ip_address\":\"127.0.0.1\",\"user_agent\":\"amet irure esse\"}},\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}}}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Confirm",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx ",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "   pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "   pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");",
                          "});",
                          "",
                          "// Validate if response has JSON Body ",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "    pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {jsonData = pm.response.json();}catch(e){}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "   pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "   console.log(\"- use {{payment_id}} as collection variable for value\",jsonData.payment_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.');",
                          "};",
                          "",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "   pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "   console.log(\"- use {{mandate_id}} as collection variable for value\",jsonData.mandate_id);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.');",
                          "};",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "   pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "   console.log(\"- use {{client_secret}} as collection variable for value\",jsonData.client_secret);",
                          "} else {",
                          "   console.log('INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.');",
                          "};",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "pm.test(\"[POST]::/payments - Content check if value for 'status' matches 'succeeded'\", function() {",
                          "  pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "})};",
                          "",
                          "// Response body should have \"mandate_id\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_id' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_id !== \"undefined\")).to.be.true;",
                          "});",
                          "",
                          "// Response body should have \"mandate_data\"",
                          "pm.test(\"[POST]::/payments - Content check if 'mandate_data' exists\", function() {",
                          "   pm.expect((typeof jsonData.mandate_data !== \"undefined\")).to.be.true;",
                          "});",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "auth": {
                      "type": "apikey",
                      "apikey": [
                        {
                          "key": "value",
                          "value": "{{api_key}}",
                          "type": "string"
                        },
                        {
                          "key": "key",
                          "value": "api-key",
                          "type": "string"
                        },
                        {
                          "key": "in",
                          "value": "header",
                          "type": "string"
                        }
                      ]
                    },
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      },
                      {
                        "key": "publishable_key",
                        "value": "{{publishable_key}}",
                        "type": "text",
                        "disabled": true
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"customer_id\":\"{{customer_id}}\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\",\"card_network\":\"Mastercard\"}},\"setup_future_usage\":\"off_session\",\"payment_type\":\"setup_mandate\",\"mandate_data\":{\"customer_acceptance\":{\"acceptance_type\":\"offline\",\"accepted_at\":\"{{$isoTimestamp}}\",\"online\":{\"ip_address\":\"125.0.0.1\",\"user_agent\":\"amet irure esse\"}},\"mandate_type\":{\"multi_use\":{\"amount\":799,\"currency\":\"EUR\",\"start_date\":\"{{$isoTimestamp}}\",\"end_date\":\"2099-01-01T00:00:00Z\",\"metadata\":{\"frequency\":\"13\"}}}}}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/confirm",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "confirm"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Retrieve",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"Succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments/:id - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          "  );",
                          "}",
                          "",
                          "// Response body should have \"mandate_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'mandate_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.mandate_id !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          "",
                          "// Response body should have \"mandate_data\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'mandate_data' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.mandate_data !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "force_sync",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Recurring Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 4xx",
                          "pm.test(\"[POST]::/payments - Status code is 4xx\", function () {",
                          "  pm.response.to.be.error;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "  console.log(",
                          "    \"- use {{mandate_id}} as collection variable for value\",",
                          "    jsonData.mandate_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have \"error\"",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/confirm - Content check if 'error' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.error !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          "",
                          "// Response body should have value \"invalid_request\" for \"error type\"",
                          "if (jsonData?.error?.type) {",
                          "  pm.test(",
                          "    \"[POST]::/payments/:id/confirm - Content check if value for 'error.type' matches 'invalid_request'\",",
                          "    function () {",
                          "      pm.expect(jsonData.error.type).to.eql(\"invalid_request\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":9000,\"currency\":\"EUR\",\"confirm\":true,\"profile_id\":\"{{profile_id}}\",\"capture_method\":\"automatic\",\"capture_on\":\"{{$isoTimestamp}}\",\"customer_id\":\"{{customer_id}}\",\"description\":\"[Archipel Connector][Variation Cases][Scenario6] - Create recurring payment greater than mandate amount\",\"authentication_type\":\"no_three_ds\",\"mandate_id\":\"{{mandate_id}}\",\"off_session\":true,\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}}}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario7-Create a card payment without card scheme",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                          "if (jsonData?.mandate_id) {",
                          "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                          "  console.log(",
                          "    \"- use {{mandate_id}} as collection variable for value\",",
                          "    jsonData.mandate_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "pm.test(",
                          "\"[POST]::/payments - Content check if value for 'status' matches 'succeeded'\",",
                          "function () {",
                          "    pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "},",
                          ");",
                          "",
                          "// Response body should have \"mandate_id\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'mandate_id' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.mandate_id !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          "",
                          "// Response body should have \"mandate_data\"",
                          "pm.test(",
                          "  \"[POST]::/payments - Content check if 'mandate_data' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.mandate_data !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"automatic\",\"authentication_type\":\"no_three_ds\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"[Archipel Connector][Variation Cases][Scenario7] - Create card payment without passing card scheme\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"}}}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Retrieve",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"Succeeded\" for \"status\"",
                          "pm.test(",
                          "\"[POST]::/payments/:id - Content check if value for 'status' matches 'succeeded'\",",
                          "function () {",
                          "    pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "},",
                          ");",
                          "",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id"
                      ],
                      "query": [
                        {
                          "key": "force_sync",
                          "value": "true"
                        }
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario8-Void succeeded payment",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"automatic\",\"authentication_type\":\"no_three_ds\",\"profile_id\":\"{{profile_id}}\",\"phone_country_code\":\"+91\",\"description\":\"[Archipel][Connector][VariationCases][Scenario8] - Try to cancel success payment\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}}}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Payments - Cancel",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 4xx",
                          "pm.test(\"[POST]::/payments/:id/cancel - Status code is 4xx\", function () {",
                          "  pm.response.to.be.error;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/cancel - Content-Type is application/json\",",
                          "  function () {",
                          "    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "      \"application/json\",",
                          "    );",
                          "  },",
                          ");",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments/:id/cancel - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have \"error\"",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/confirm - Content check if 'error' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.error !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          "",
                          "// Response body should have value \"connector error\" for \"error type\"",
                          "if (jsonData?.error?.type) {",
                          "  pm.test(",
                          "    \"[POST]::/payments/:id/confirm - Content check if value for 'error.type' matches 'invalid_request'\",",
                          "    function () {",
                          "      pm.expect(jsonData.error.type).to.eql(\"invalid_request\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"cancellation_reason\":\"requested_by_customer\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments/:id/cancel",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments",
                        ":id",
                        "cancel"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "{{payment_id}}",
                          "description": "(Required) unique payment id"
                        }
                      ]
                    },
                    "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"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario9-Refund exceeds amount",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"succeeded\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'succeeded'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"succeeded\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"automatic\",\"authentication_type\":\"no_three_ds\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Refunds - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 4xx",
                          "pm.test(\"[POST]::/refunds - Status code is 4xx\", function () {",
                          "  pm.response.to.be.error;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/refunds - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set refund_id as variable for jsonData.payment_id",
                          "if (jsonData?.refund_id) {",
                          "  pm.collectionVariables.set(\"refund_id\", jsonData.refund_id);",
                          "  console.log(",
                          "    \"- use {{refund_id}} as collection variable for value\",",
                          "    jsonData.refund_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{refund_id}}, as jsonData.refund_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have \"error\"",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/confirm - Content check if 'error' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.error !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          "",
                          "// Response body should have value \"connector error\" for \"error type\"",
                          "if (jsonData?.error?.type) {",
                          "  pm.test(",
                          "    \"[POST]::/payments/:id/confirm - Content check if value for 'error.type' matches 'invalid_request'\",",
                          "    function () {",
                          "      pm.expect(jsonData.error.type).to.eql(\"invalid_request\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"payment_id\":\"{{payment_id}}\",\"amount\":7000,\"reason\":\"Customer returned product\",\"refund_type\":\"instant\",\"metadata\":{\"udf1\":\"value1\",\"new_customer\":\"true\",\"login_date\":\"2019-09-10T10:11:12Z\"}}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/refunds",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "refunds"
                      ]
                    },
                    "description": "To create a refund against an already processed payment"
                  },
                  "response": []
                }
              ]
            },
            {
              "name": "Scenario10-Refund for unsuccessful payment",
              "item": [
                {
                  "name": "Payments - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 2xx",
                          "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                          "  pm.response.to.be.success;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Validate if response has JSON Body",
                          "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                          "  pm.response.to.have.jsonBody();",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                          "if (jsonData?.payment_id) {",
                          "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                          "  console.log(",
                          "    \"- use {{payment_id}} as collection variable for value\",",
                          "    jsonData.payment_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                          "if (jsonData?.client_secret) {",
                          "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                          "  console.log(",
                          "    \"- use {{client_secret}} as collection variable for value\",",
                          "    jsonData.client_secret,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have value \"requires_confirmation\" for \"status\"",
                          "if (jsonData?.status) {",
                          "  pm.test(",
                          "    \"[POST]::/payments - Content check if value for 'status' matches 'requires_confirmation'\",",
                          "    function () {",
                          "      pm.expect(jsonData.status).to.eql(\"requires_confirmation\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":false,\"capture_method\":\"manual\",\"authentication_type\":\"no_three_ds\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"5185570141917102\"}},\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/payments",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "payments"
                      ]
                    },
                    "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"
                  },
                  "response": []
                },
                {
                  "name": "Refunds - Create",
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "exec": [
                          "// Validate status 4xx",
                          "pm.test(\"[POST]::/refunds - Status code is 4xx\", function () {",
                          "  pm.response.to.be.error;",
                          "});",
                          "",
                          "// Validate if response header has matching content-type",
                          "pm.test(\"[POST]::/refunds - Content-Type is application/json\", function () {",
                          "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                          "    \"application/json\",",
                          "  );",
                          "});",
                          "",
                          "// Set response object as internal variable",
                          "let jsonData = {};",
                          "try {",
                          "  jsonData = pm.response.json();",
                          "} catch (e) {}",
                          "",
                          "// pm.collectionVariables - Set refund_id as variable for jsonData.payment_id",
                          "if (jsonData?.refund_id) {",
                          "  pm.collectionVariables.set(\"refund_id\", jsonData.refund_id);",
                          "  console.log(",
                          "    \"- use {{refund_id}} as collection variable for value\",",
                          "    jsonData.refund_id,",
                          "  );",
                          "} else {",
                          "  console.log(",
                          "    \"INFO - Unable to assign variable {{refund_id}}, as jsonData.refund_id is undefined.\",",
                          "  );",
                          "}",
                          "",
                          "// Response body should have \"error\"",
                          "pm.test(",
                          "  \"[POST]::/payments/:id/confirm - Content check if 'error' exists\",",
                          "  function () {",
                          "    pm.expect(typeof jsonData.error !== \"undefined\").to.be.true;",
                          "  },",
                          ");",
                          "",
                          "// Response body should have value \"invalid_request\" for \"error type\"",
                          "if (jsonData?.error?.type) {",
                          "  pm.test(",
                          "    \"[POST]::/payments/:id/confirm - Content check if value for 'error.type' matches 'invalid_request'\",",
                          "    function () {",
                          "      pm.expect(jsonData.error.type).to.eql(\"invalid_request\");",
                          "    },",
                          "  );",
                          "}",
                          ""
                        ],
                        "type": "text/javascript"
                      }
                    }
                  ],
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      },
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "options": {
                        "raw": {
                          "language": "json"
                        }
                      },
                      "raw": "{\"payment_id\":\"{{payment_id}}\",\"amount\":540,\"reason\":\"Customer returned product\",\"refund_type\":\"instant\",\"metadata\":{\"udf1\":\"value1\",\"new_customer\":\"true\",\"login_date\":\"2019-09-10T10:11:12Z\"}}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/refunds",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "refunds"
                      ]
                    },
                    "description": "To create a refund against an already processed payment"
                  },
                  "response": []
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "Netcetera Testcases",
      "item": [
        {
          "name": "Scenario1-Create 3DS payment with confirm true",
          "item": [
            {
              "name": "Payments - Create",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                      "  pm.response.to.be.success;",
                      "});",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                      "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "    \"application/json\",",
                      "  );",
                      "});",
                      "",
                      "// Validate if response has JSON Body",
                      "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                      "  pm.response.to.have.jsonBody();",
                      "});",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = {};",
                      "try {",
                      "  jsonData = pm.response.json();",
                      "} catch (e) {}",
                      "",
                      "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                      "if (jsonData?.payment_id) {",
                      "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                      "  console.log(",
                      "    \"- use {{payment_id}} as collection variable for value\",",
                      "    jsonData.payment_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                      "if (jsonData?.client_secret) {",
                      "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                      "  console.log(",
                      "    \"- use {{client_secret}} as collection variable for value\",",
                      "    jsonData.client_secret,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// Verify if 'external_3ds_authentication_attempted' is true",
                      "pm.test(\"[POST]::/payments - 'external_3ds_authentication_attempted' should be true\", function () {",
                      "  pm.expect(jsonData.external_3ds_authentication_attempted).to.be.true;",
                      "});",
                      "",
                      "// Response body should have value \"requires_customer_action\" for \"status\"",
                      "if (jsonData?.status) {",
                      "  pm.test(",
                      "    \"[POST]::/payments - Content Verify if value for 'status' matches 'requires_customer_action'\",",
                      "    function () {",
                      "      pm.expect(jsonData.status).to.eql(\"requires_customer_action\");",
                      "    },",
                      "  );",
                      "}",
                      "",
                      "// Verify if 'next_action' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'next_action'\", function () {",
                      "  pm.expect(jsonData).to.have.property(\"next_action\");",
                      "});",
                      "",
                      "// Verify if 'next_action.type' is 'three_ds_invoke'",
                      "pm.test(\"[POST]::/payments - 'next_action.type' should be 'three_ds_invoke'\", function () {",
                      "  pm.expect(jsonData.next_action.type).to.eql(\"three_ds_invoke\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_data' exists inside 'next_action'",
                      "pm.test(\"[POST]::/payments - Should contain 'three_ds_data' under 'next_action'\", function () {",
                      "  pm.expect(jsonData.next_action).to.have.property(\"three_ds_data\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_authentication_url' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'three_ds_authentication_url'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data).to.have.property(\"three_ds_authentication_url\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_authorize_url' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'three_ds_authorize_url'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data).to.have.property(\"three_ds_authorize_url\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_method_url' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'three_ds_method_url'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data.three_ds_method_details).to.have.property(\"three_ds_method_url\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_method_data' exists and is not empty",
                      "// Carries session-specific metadata for fingerprinting — must exist and be valid Base64.",
                      "pm.test(\"[POST]::/payments - Should contain non-empty 'three_ds_method_data'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data.three_ds_method_details).to.have.property(\"three_ds_method_data\").that.is.a('string').and.is.not.empty;",
                      "});",
                      "",
                      "// Verify if 'poll_id' exists inside 'poll_config'",
                      "// Polling is required to check 3DS status asynchronously while Netcetera finishes auth.",
                      "pm.test(\"[POST]::/payments - Should contain 'poll_id' inside 'poll_config'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data.poll_config).to.have.property(\"poll_id\");",
                      "});",
                      "",
                      "// Verify if 'message_version' exists and is 2.1.0 or higher",
                      "// Ensures compatibility with supported Netcetera protocol versions (2.1.0 and above).",
                      "pm.test(\"[POST]::/payments - 'message_version' should exist and be >= 2.1.0\", function () {",
                      "  const version = jsonData.next_action.three_ds_data.message_version;",
                      "  pm.expect(version).to.match(/^2\\.(1|2|3)(\\.\\d+)?$/);",
                      "});",
                      "",
                      "// Verify if 'directory_server_id' exists",
                      "// Identifies the card network’s Directory Server (e.g., Visa = A000000003) for Netcetera routing.",
                      "pm.test(\"[POST]::/payments - Should contain 'directory_server_id'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data).to.have.property(\"directory_server_id\").that.is.a('string');",
                      "});",
                      "",
                      "// Assert 'external_authentication_details' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'external_authentication_details'\", function () {",
                      "  pm.expect(jsonData).to.have.property(\"external_authentication_details\");",
                      "});",
                      "",
                      "// Assert 'status' is 'pending' at the start of 3DS",
                      "pm.test(\"[POST]::/payments - external_authentication_details.status should be 'pending'\", function () {",
                      "  pm.expect(jsonData.external_authentication_details.status).to.eql(\"pending\");",
                      "});",
                      "",
                      "// Assert 'ds_transaction_id' exists (required for Netcetera 3DS tracking)",
                      "pm.test(\"[POST]::/payments - Should contain 'ds_transaction_id'\", function () {",
                      "  pm.expect(jsonData.external_authentication_details.ds_transaction_id).to.be.a('string').and.is.not.empty;",
                      "});",
                      "",
                      "// Assert 'version' is present and valid",
                      "pm.test(\"[POST]::/payments - Should contain 3DS version\", function () {",
                      "  pm.expect(jsonData.external_authentication_details.version).to.match(/^2\\.(1|2|3)(\\.\\d+)?$/);",
                      "});",
                      ""
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  },
                  "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"automatic\",\"authentication_type\":\"three_ds\",\"request_external_three_ds_authentication\":true,\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_number\":\"4123400073320224\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_cvc\":\"123\"}},\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                },
                "url": {
                  "raw": "{{baseUrl}}/payments",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "payments"
                  ]
                }
              },
              "response": []
            },
            {
              "name": "Payments - Retrieve",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                      "  pm.response.to.be.success;",
                      "});",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                      "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "    \"application/json\",",
                      "  );",
                      "});",
                      "",
                      "// Validate if response has JSON Body",
                      "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                      "  pm.response.to.have.jsonBody();",
                      "});",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = {};",
                      "try {",
                      "  jsonData = pm.response.json();",
                      "} catch (e) {}",
                      "",
                      "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                      "if (jsonData?.payment_id) {",
                      "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                      "  console.log(",
                      "    \"- use {{payment_id}} as collection variable for value\",",
                      "    jsonData.payment_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                      "if (jsonData?.mandate_id) {",
                      "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                      "  console.log(",
                      "    \"- use {{mandate_id}} as collection variable for value\",",
                      "    jsonData.mandate_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                      "if (jsonData?.client_secret) {",
                      "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                      "  console.log(",
                      "    \"- use {{client_secret}} as collection variable for value\",",
                      "    jsonData.client_secret,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// Response body should have value \"requires_customer_action\" for \"status\"",
                      "if (jsonData?.status) {",
                      "  pm.test(",
                      "    \"[POST]::/payments/:id - Content check if value for 'status' matches 'requires_customer_action'\",",
                      "    function () {",
                      "      pm.expect(jsonData.status).to.eql(\"requires_customer_action\");",
                      "    },",
                      "  );",
                      "}",
                      ""
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "payments",
                    ":id"
                  ],
                  "query": [
                    {
                      "key": "force_sync",
                      "value": "true"
                    }
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "{{payment_id}}",
                      "description": "(Required) unique payment id"
                    }
                  ]
                },
                "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"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Scenario2-Create 3DS payment with confirm false",
          "item": [
            {
              "name": "Payments - Create",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                      "  pm.response.to.be.success;",
                      "});",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                      "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "    \"application/json\",",
                      "  );",
                      "});",
                      "",
                      "// Validate if response has JSON Body",
                      "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                      "  pm.response.to.have.jsonBody();",
                      "});",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = {};",
                      "try {",
                      "  jsonData = pm.response.json();",
                      "} catch (e) {}",
                      "",
                      "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                      "if (jsonData?.payment_id) {",
                      "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                      "  console.log(",
                      "    \"- use {{payment_id}} as collection variable for value\",",
                      "    jsonData.payment_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                      "if (jsonData?.client_secret) {",
                      "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                      "  console.log(",
                      "    \"- use {{client_secret}} as collection variable for value\",",
                      "    jsonData.client_secret,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// Response body should have value \"requires_payment_method\" for \"status\"",
                      "if (jsonData?.status) {",
                      "  pm.test(",
                      "    \"[POST]::/payments - Content check if value for 'status' matches 'requires_payment_method'\",",
                      "    function () {",
                      "      pm.expect(jsonData.status).to.eql(\"requires_payment_method\");",
                      "    },",
                      "  );",
                      "}",
                      ""
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  },
                  "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":false,\"capture_method\":\"automatic\",\"authentication_type\":\"three_ds\",\"request_external_three_ds_authentication\":true,\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                },
                "url": {
                  "raw": "{{baseUrl}}/payments",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "payments"
                  ]
                },
                "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"
              },
              "response": []
            },
            {
              "name": "Payments - Confirm",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                      "  pm.response.to.be.success;",
                      "});",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                      "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "    \"application/json\",",
                      "  );",
                      "});",
                      "",
                      "// Validate if response has JSON Body",
                      "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                      "  pm.response.to.have.jsonBody();",
                      "});",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = {};",
                      "try {",
                      "  jsonData = pm.response.json();",
                      "} catch (e) {}",
                      "",
                      "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                      "if (jsonData?.payment_id) {",
                      "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                      "  console.log(",
                      "    \"- use {{payment_id}} as collection variable for value\",",
                      "    jsonData.payment_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                      "if (jsonData?.client_secret) {",
                      "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                      "  console.log(",
                      "    \"- use {{client_secret}} as collection variable for value\",",
                      "    jsonData.client_secret,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// Verify if 'external_3ds_authentication_attempted' is true",
                      "pm.test(\"[POST]::/payments - 'external_3ds_authentication_attempted' should be true\", function () {",
                      "  pm.expect(jsonData.external_3ds_authentication_attempted).to.be.true;",
                      "});",
                      "",
                      "// Response body should have value \"requires_customer_action\" for \"status\"",
                      "if (jsonData?.status) {",
                      "  pm.test(",
                      "    \"[POST]::/payments - Content Verify if value for 'status' matches 'requires_customer_action'\",",
                      "    function () {",
                      "      pm.expect(jsonData.status).to.eql(\"requires_customer_action\");",
                      "    },",
                      "  );",
                      "}",
                      "",
                      "// Verify if 'next_action' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'next_action'\", function () {",
                      "  pm.expect(jsonData).to.have.property(\"next_action\");",
                      "});",
                      "",
                      "// Verify if 'next_action.type' is 'three_ds_invoke'",
                      "pm.test(\"[POST]::/payments - 'next_action.type' should be 'three_ds_invoke'\", function () {",
                      "  pm.expect(jsonData.next_action.type).to.eql(\"three_ds_invoke\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_data' exists inside 'next_action'",
                      "pm.test(\"[POST]::/payments - Should contain 'three_ds_data' under 'next_action'\", function () {",
                      "  pm.expect(jsonData.next_action).to.have.property(\"three_ds_data\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_authentication_url' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'three_ds_authentication_url'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data).to.have.property(\"three_ds_authentication_url\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_authorize_url' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'three_ds_authorize_url'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data).to.have.property(\"three_ds_authorize_url\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_method_url' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'three_ds_method_url'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data.three_ds_method_details).to.have.property(\"three_ds_method_url\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_method_data' exists and is not empty",
                      "// Carries session-specific metadata for fingerprinting — must exist and be valid Base64.",
                      "pm.test(\"[POST]::/payments - Should contain non-empty 'three_ds_method_data'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data.three_ds_method_details).to.have.property(\"three_ds_method_data\").that.is.a('string').and.is.not.empty;",
                      "});",
                      "",
                      "// Verify if 'poll_id' exists inside 'poll_config'",
                      "// Polling is required to check 3DS status asynchronously while Netcetera finishes auth.",
                      "pm.test(\"[POST]::/payments - Should contain 'poll_id' inside 'poll_config'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data.poll_config).to.have.property(\"poll_id\");",
                      "});",
                      "",
                      "// Verify if 'message_version' exists and is 2.1.0 or higher",
                      "// Ensures compatibility with supported Netcetera protocol versions (2.1.0 and above).",
                      "pm.test(\"[POST]::/payments - 'message_version' should exist and be >= 2.1.0\", function () {",
                      "  const version = jsonData.next_action.three_ds_data.message_version;",
                      "  pm.expect(version).to.match(/^2\\.(1|2|3)(\\.\\d+)?$/);",
                      "});",
                      "",
                      "// Verify if 'directory_server_id' exists",
                      "// Identifies the card network’s Directory Server (e.g., Visa = A000000003) for Netcetera routing.",
                      "pm.test(\"[POST]::/payments - Should contain 'directory_server_id'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data).to.have.property(\"directory_server_id\").that.is.a('string');",
                      "});",
                      "",
                      "// Assert 'external_authentication_details' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'external_authentication_details'\", function () {",
                      "  pm.expect(jsonData).to.have.property(\"external_authentication_details\");",
                      "});",
                      "",
                      "// Assert 'status' is 'pending' at the start of 3DS",
                      "pm.test(\"[POST]::/payments - external_authentication_details.status should be 'pending'\", function () {",
                      "  pm.expect(jsonData.external_authentication_details.status).to.eql(\"pending\");",
                      "});",
                      "",
                      "// Assert 'ds_transaction_id' exists (required for Netcetera 3DS tracking)",
                      "pm.test(\"[POST]::/payments - Should contain 'ds_transaction_id'\", function () {",
                      "  pm.expect(jsonData.external_authentication_details.ds_transaction_id).to.be.a('string').and.is.not.empty;",
                      "});",
                      "",
                      "// Assert 'version' is present and valid",
                      "pm.test(\"[POST]::/payments - Should contain 3DS version\", function () {",
                      "  pm.expect(jsonData.external_authentication_details.version).to.match(/^2\\.(1|2|3)(\\.\\d+)?$/);",
                      "});",
                      ""
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "auth": {
                  "type": "apikey",
                  "apikey": [
                    {
                      "key": "value",
                      "value": "{{publishable_key}}",
                      "type": "string"
                    },
                    {
                      "key": "key",
                      "value": "api-key",
                      "type": "string"
                    },
                    {
                      "key": "in",
                      "value": "header",
                      "type": "string"
                    }
                  ]
                },
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  },
                  "raw": "{\"client_secret\":\"{{client_secret}}\",\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_cvc\":\"123\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_number\":\"4123400073320224\"}},\"browser_info\":{\"user_agent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36\",\"accept_header\":\"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\",\"language\":\"nl-NL\",\"color_depth\":24,\"screen_height\":723,\"screen_width\":1536,\"time_zone\":0,\"java_enabled\":true,\"java_script_enabled\":true,\"ip_address\":\"125.0.0.1\"}}"
                },
                "url": {
                  "raw": "{{baseUrl}}/payments/:id/confirm",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "payments",
                    ":id",
                    "confirm"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "{{payment_id}}",
                      "description": "(Required) unique payment id"
                    }
                  ]
                },
                "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"
              },
              "response": []
            },
            {
              "name": "Payments - Retrieve",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                      "  pm.response.to.be.success;",
                      "});",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                      "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "    \"application/json\",",
                      "  );",
                      "});",
                      "",
                      "// Validate if response has JSON Body",
                      "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                      "  pm.response.to.have.jsonBody();",
                      "});",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = {};",
                      "try {",
                      "  jsonData = pm.response.json();",
                      "} catch (e) {}",
                      "",
                      "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                      "if (jsonData?.payment_id) {",
                      "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                      "  console.log(",
                      "    \"- use {{payment_id}} as collection variable for value\",",
                      "    jsonData.payment_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                      "if (jsonData?.mandate_id) {",
                      "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                      "  console.log(",
                      "    \"- use {{mandate_id}} as collection variable for value\",",
                      "    jsonData.mandate_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                      "if (jsonData?.client_secret) {",
                      "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                      "  console.log(",
                      "    \"- use {{client_secret}} as collection variable for value\",",
                      "    jsonData.client_secret,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// Response body should have value \"requires_customer_action\" for \"status\"",
                      "if (jsonData?.status) {",
                      "  pm.test(",
                      "    \"[POST]::/payments:id - Content check if value for 'status' matches 'requires_customer_action'\",",
                      "    function () {",
                      "      pm.expect(jsonData.status).to.eql(\"requires_customer_action\");",
                      "    },",
                      "  );",
                      "}",
                      ""
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "payments",
                    ":id"
                  ],
                  "query": [
                    {
                      "key": "force_sync",
                      "value": "true"
                    }
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "{{payment_id}}",
                      "description": "(Required) unique payment id"
                    }
                  ]
                },
                "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"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Scenario3-Create 3DS Frictionless payment with Visa",
          "item": [
            {
              "name": "Payments - Create",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                      "  pm.response.to.be.success;",
                      "});",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                      "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "    \"application/json\",",
                      "  );",
                      "});",
                      "",
                      "// Validate if response has JSON Body",
                      "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                      "  pm.response.to.have.jsonBody();",
                      "});",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = {};",
                      "try {",
                      "  jsonData = pm.response.json();",
                      "} catch (e) {}",
                      "",
                      "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                      "if (jsonData?.payment_id) {",
                      "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                      "  console.log(",
                      "    \"- use {{payment_id}} as collection variable for value\",",
                      "    jsonData.payment_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                      "if (jsonData?.client_secret) {",
                      "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                      "  console.log(",
                      "    \"- use {{client_secret}} as collection variable for value\",",
                      "    jsonData.client_secret,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// Verify if 'external_3ds_authentication_attempted' is true",
                      "pm.test(\"[POST]::/payments - 'external_3ds_authentication_attempted' should be true\", function () {",
                      "  pm.expect(jsonData.external_3ds_authentication_attempted).to.be.true;",
                      "});",
                      "",
                      "// Response body should have value \"requires_customer_action\" for \"status\"",
                      "if (jsonData?.status) {",
                      "  pm.test(",
                      "    \"[POST]::/payments - Content Verify if value for 'status' matches 'requires_customer_action'\",",
                      "    function () {",
                      "      pm.expect(jsonData.status).to.eql(\"requires_customer_action\");",
                      "    },",
                      "  );",
                      "}",
                      "",
                      "// Verify if 'next_action' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'next_action'\", function () {",
                      "  pm.expect(jsonData).to.have.property(\"next_action\");",
                      "});",
                      "",
                      "// Verify if 'next_action.type' is 'three_ds_invoke'",
                      "pm.test(\"[POST]::/payments - 'next_action.type' should be 'three_ds_invoke'\", function () {",
                      "  pm.expect(jsonData.next_action.type).to.eql(\"three_ds_invoke\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_data' exists inside 'next_action'",
                      "pm.test(\"[POST]::/payments - Should contain 'three_ds_data' under 'next_action'\", function () {",
                      "  pm.expect(jsonData.next_action).to.have.property(\"three_ds_data\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_authentication_url' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'three_ds_authentication_url'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data).to.have.property(\"three_ds_authentication_url\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_authorize_url' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'three_ds_authorize_url'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data).to.have.property(\"three_ds_authorize_url\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_method_url' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'three_ds_method_url'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data.three_ds_method_details).to.have.property(\"three_ds_method_url\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_method_data' exists and is not empty",
                      "// Carries session-specific metadata for fingerprinting — must exist and be valid Base64.",
                      "pm.test(\"[POST]::/payments - Should contain non-empty 'three_ds_method_data'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data.three_ds_method_details).to.have.property(\"three_ds_method_data\").that.is.a('string').and.is.not.empty;",
                      "});",
                      "",
                      "// Verify if 'poll_id' exists inside 'poll_config'",
                      "// Polling is required to check 3DS status asynchronously while Netcetera finishes auth.",
                      "pm.test(\"[POST]::/payments - Should contain 'poll_id' inside 'poll_config'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data.poll_config).to.have.property(\"poll_id\");",
                      "});",
                      "",
                      "// Verify if 'message_version' exists and is 2.1.0 or higher",
                      "// Ensures compatibility with supported Netcetera protocol versions (2.1.0 and above).",
                      "pm.test(\"[POST]::/payments - 'message_version' should exist and be >= 2.1.0\", function () {",
                      "  const version = jsonData.next_action.three_ds_data.message_version;",
                      "  pm.expect(version).to.match(/^2\\.(1|2|3)(\\.\\d+)?$/);",
                      "});",
                      "",
                      "// Verify if 'directory_server_id' exists",
                      "// Identifies the card network’s Directory Server (e.g., Visa = A000000003) for Netcetera routing.",
                      "pm.test(\"[POST]::/payments - Should contain 'directory_server_id'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data).to.have.property(\"directory_server_id\").that.is.a('string');",
                      "});",
                      "",
                      "// Assert 'external_authentication_details' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'external_authentication_details'\", function () {",
                      "  pm.expect(jsonData).to.have.property(\"external_authentication_details\");",
                      "});",
                      "",
                      "// Assert 'status' is 'pending' at the start of 3DS",
                      "pm.test(\"[POST]::/payments - external_authentication_details.status should be 'pending'\", function () {",
                      "  pm.expect(jsonData.external_authentication_details.status).to.eql(\"pending\");",
                      "});",
                      "",
                      "// Assert 'ds_transaction_id' exists (required for Netcetera 3DS tracking)",
                      "pm.test(\"[POST]::/payments - Should contain 'ds_transaction_id'\", function () {",
                      "  pm.expect(jsonData.external_authentication_details.ds_transaction_id).to.be.a('string').and.is.not.empty;",
                      "});",
                      "",
                      "// Assert 'version' is present and valid",
                      "pm.test(\"[POST]::/payments - Should contain 3DS version\", function () {",
                      "  pm.expect(jsonData.external_authentication_details.version).to.match(/^2\\.(1|2|3)(\\.\\d+)?$/);",
                      "});",
                      ""
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  },
                  "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"automatic\",\"authentication_type\":\"three_ds\",\"request_external_three_ds_authentication\":true,\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_number\":\"4123400073320224\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_cvc\":\"123\"}},\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                },
                "url": {
                  "raw": "{{baseUrl}}/payments",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "payments"
                  ]
                }
              },
              "response": []
            },
            {
              "name": "Payments - Retrieve",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                      "  pm.response.to.be.success;",
                      "});",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                      "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "    \"application/json\",",
                      "  );",
                      "});",
                      "",
                      "// Validate if response has JSON Body",
                      "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                      "  pm.response.to.have.jsonBody();",
                      "});",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = {};",
                      "try {",
                      "  jsonData = pm.response.json();",
                      "} catch (e) {}",
                      "",
                      "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                      "if (jsonData?.payment_id) {",
                      "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                      "  console.log(",
                      "    \"- use {{payment_id}} as collection variable for value\",",
                      "    jsonData.payment_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                      "if (jsonData?.mandate_id) {",
                      "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                      "  console.log(",
                      "    \"- use {{mandate_id}} as collection variable for value\",",
                      "    jsonData.mandate_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                      "if (jsonData?.client_secret) {",
                      "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                      "  console.log(",
                      "    \"- use {{client_secret}} as collection variable for value\",",
                      "    jsonData.client_secret,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// Response body should have value \"requires_customer_action\" for \"status\"",
                      "if (jsonData?.status) {",
                      "  pm.test(",
                      "    \"[POST]::/payments/:id - Content check if value for 'status' matches 'requires_customer_action'\",",
                      "    function () {",
                      "      pm.expect(jsonData.status).to.eql(\"requires_customer_action\");",
                      "    },",
                      "  );",
                      "}",
                      ""
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "payments",
                    ":id"
                  ],
                  "query": [
                    {
                      "key": "force_sync",
                      "value": "true"
                    }
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "{{payment_id}}",
                      "description": "(Required) unique payment id"
                    }
                  ]
                },
                "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"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Scenario4-Create 3DS Frictionless payment with Mastercard",
          "item": [
            {
              "name": "Payments - Create",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                      "  pm.response.to.be.success;",
                      "});",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                      "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "    \"application/json\",",
                      "  );",
                      "});",
                      "",
                      "// Validate if response has JSON Body",
                      "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                      "  pm.response.to.have.jsonBody();",
                      "});",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = {};",
                      "try {",
                      "  jsonData = pm.response.json();",
                      "} catch (e) {}",
                      "",
                      "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                      "if (jsonData?.payment_id) {",
                      "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                      "  console.log(",
                      "    \"- use {{payment_id}} as collection variable for value\",",
                      "    jsonData.payment_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                      "if (jsonData?.client_secret) {",
                      "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                      "  console.log(",
                      "    \"- use {{client_secret}} as collection variable for value\",",
                      "    jsonData.client_secret,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// Verify if 'external_3ds_authentication_attempted' is true",
                      "pm.test(\"[POST]::/payments - 'external_3ds_authentication_attempted' should be true\", function () {",
                      "  pm.expect(jsonData.external_3ds_authentication_attempted).to.be.true;",
                      "});",
                      "",
                      "// Response body should have value \"requires_customer_action\" for \"status\"",
                      "if (jsonData?.status) {",
                      "  pm.test(",
                      "    \"[POST]::/payments - Content Verify if value for 'status' matches 'requires_customer_action'\",",
                      "    function () {",
                      "      pm.expect(jsonData.status).to.eql(\"requires_customer_action\");",
                      "    },",
                      "  );",
                      "}",
                      "",
                      "// Verify if 'next_action' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'next_action'\", function () {",
                      "  pm.expect(jsonData).to.have.property(\"next_action\");",
                      "});",
                      "",
                      "// Verify if 'next_action.type' is 'three_ds_invoke'",
                      "pm.test(\"[POST]::/payments - 'next_action.type' should be 'three_ds_invoke'\", function () {",
                      "  pm.expect(jsonData.next_action.type).to.eql(\"three_ds_invoke\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_data' exists inside 'next_action'",
                      "pm.test(\"[POST]::/payments - Should contain 'three_ds_data' under 'next_action'\", function () {",
                      "  pm.expect(jsonData.next_action).to.have.property(\"three_ds_data\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_authentication_url' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'three_ds_authentication_url'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data).to.have.property(\"three_ds_authentication_url\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_authorize_url' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'three_ds_authorize_url'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data).to.have.property(\"three_ds_authorize_url\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_method_url' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'three_ds_method_url'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data.three_ds_method_details).to.have.property(\"three_ds_method_url\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_method_data' exists and is not empty",
                      "// Carries session-specific metadata for fingerprinting — must exist and be valid Base64.",
                      "pm.test(\"[POST]::/payments - Should contain non-empty 'three_ds_method_data'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data.three_ds_method_details).to.have.property(\"three_ds_method_data\").that.is.a('string').and.is.not.empty;",
                      "});",
                      "",
                      "// Verify if 'poll_id' exists inside 'poll_config'",
                      "// Polling is required to check 3DS status asynchronously while Netcetera finishes auth.",
                      "pm.test(\"[POST]::/payments - Should contain 'poll_id' inside 'poll_config'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data.poll_config).to.have.property(\"poll_id\");",
                      "});",
                      "",
                      "// Verify if 'message_version' exists and is 2.1.0 or higher",
                      "// Ensures compatibility with supported Netcetera protocol versions (2.1.0 and above).",
                      "pm.test(\"[POST]::/payments - 'message_version' should exist and be >= 2.1.0\", function () {",
                      "  const version = jsonData.next_action.three_ds_data.message_version;",
                      "  pm.expect(version).to.match(/^2\\.(1|2|3)(\\.\\d+)?$/);",
                      "});",
                      "",
                      "// Verify if 'directory_server_id' exists",
                      "// Identifies the card network’s Directory Server (e.g., Visa = A000000003) for Netcetera routing.",
                      "pm.test(\"[POST]::/payments - Should contain 'directory_server_id'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data).to.have.property(\"directory_server_id\").that.is.a('string');",
                      "});",
                      "",
                      "// Assert 'external_authentication_details' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'external_authentication_details'\", function () {",
                      "  pm.expect(jsonData).to.have.property(\"external_authentication_details\");",
                      "});",
                      "",
                      "// Assert 'status' is 'pending' at the start of 3DS",
                      "pm.test(\"[POST]::/payments - external_authentication_details.status should be 'pending'\", function () {",
                      "  pm.expect(jsonData.external_authentication_details.status).to.eql(\"pending\");",
                      "});",
                      "",
                      "// Assert 'ds_transaction_id' exists (required for Netcetera 3DS tracking)",
                      "pm.test(\"[POST]::/payments - Should contain 'ds_transaction_id'\", function () {",
                      "  pm.expect(jsonData.external_authentication_details.ds_transaction_id).to.be.a('string').and.is.not.empty;",
                      "});",
                      "",
                      "// Assert 'version' is present and valid",
                      "pm.test(\"[POST]::/payments - Should contain 3DS version\", function () {",
                      "  pm.expect(jsonData.external_authentication_details.version).to.match(/^2\\.(1|2|3)(\\.\\d+)?$/);",
                      "});",
                      ""
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  },
                  "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"automatic\",\"authentication_type\":\"three_ds\",\"request_external_three_ds_authentication\":true,\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_number\":\"5367632000019972\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_cvc\":\"123\"}},\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                },
                "url": {
                  "raw": "{{baseUrl}}/payments",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "payments"
                  ]
                }
              },
              "response": []
            },
            {
              "name": "Payments - Retrieve",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                      "  pm.response.to.be.success;",
                      "});",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                      "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "    \"application/json\",",
                      "  );",
                      "});",
                      "",
                      "// Validate if response has JSON Body",
                      "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                      "  pm.response.to.have.jsonBody();",
                      "});",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = {};",
                      "try {",
                      "  jsonData = pm.response.json();",
                      "} catch (e) {}",
                      "",
                      "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                      "if (jsonData?.payment_id) {",
                      "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                      "  console.log(",
                      "    \"- use {{payment_id}} as collection variable for value\",",
                      "    jsonData.payment_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                      "if (jsonData?.mandate_id) {",
                      "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                      "  console.log(",
                      "    \"- use {{mandate_id}} as collection variable for value\",",
                      "    jsonData.mandate_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                      "if (jsonData?.client_secret) {",
                      "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                      "  console.log(",
                      "    \"- use {{client_secret}} as collection variable for value\",",
                      "    jsonData.client_secret,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// Response body should have value \"requires_customer_action\" for \"status\"",
                      "if (jsonData?.status) {",
                      "  pm.test(",
                      "    \"[POST]::/payments/:id - Content check if value for 'status' matches 'requires_customer_action'\",",
                      "    function () {",
                      "      pm.expect(jsonData.status).to.eql(\"requires_customer_action\");",
                      "    },",
                      "  );",
                      "}",
                      ""
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "payments",
                    ":id"
                  ],
                  "query": [
                    {
                      "key": "force_sync",
                      "value": "true"
                    }
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "{{payment_id}}",
                      "description": "(Required) unique payment id"
                    }
                  ]
                },
                "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"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Scenario5-Create 3DS Challenge payment with Mastercard",
          "item": [
            {
              "name": "Payments - Create",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(\"[POST]::/payments - Status code is 2xx\", function () {",
                      "  pm.response.to.be.success;",
                      "});",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(\"[POST]::/payments - Content-Type is application/json\", function () {",
                      "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "    \"application/json\",",
                      "  );",
                      "});",
                      "",
                      "// Validate if response has JSON Body",
                      "pm.test(\"[POST]::/payments - Response has JSON Body\", function () {",
                      "  pm.response.to.have.jsonBody();",
                      "});",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = {};",
                      "try {",
                      "  jsonData = pm.response.json();",
                      "} catch (e) {}",
                      "",
                      "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                      "if (jsonData?.payment_id) {",
                      "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                      "  console.log(",
                      "    \"- use {{payment_id}} as collection variable for value\",",
                      "    jsonData.payment_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                      "if (jsonData?.client_secret) {",
                      "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                      "  console.log(",
                      "    \"- use {{client_secret}} as collection variable for value\",",
                      "    jsonData.client_secret,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// Verify if 'external_3ds_authentication_attempted' is true",
                      "pm.test(\"[POST]::/payments - 'external_3ds_authentication_attempted' should be true\", function () {",
                      "  pm.expect(jsonData.external_3ds_authentication_attempted).to.be.true;",
                      "});",
                      "",
                      "// Response body should have value \"requires_customer_action\" for \"status\"",
                      "if (jsonData?.status) {",
                      "  pm.test(",
                      "    \"[POST]::/payments - Content Verify if value for 'status' matches 'requires_customer_action'\",",
                      "    function () {",
                      "      pm.expect(jsonData.status).to.eql(\"requires_customer_action\");",
                      "    },",
                      "  );",
                      "}",
                      "",
                      "// Verify if 'next_action' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'next_action'\", function () {",
                      "  pm.expect(jsonData).to.have.property(\"next_action\");",
                      "});",
                      "",
                      "// Verify if 'next_action.type' is 'three_ds_invoke'",
                      "pm.test(\"[POST]::/payments - 'next_action.type' should be 'three_ds_invoke'\", function () {",
                      "  pm.expect(jsonData.next_action.type).to.eql(\"three_ds_invoke\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_data' exists inside 'next_action'",
                      "pm.test(\"[POST]::/payments - Should contain 'three_ds_data' under 'next_action'\", function () {",
                      "  pm.expect(jsonData.next_action).to.have.property(\"three_ds_data\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_authentication_url' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'three_ds_authentication_url'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data).to.have.property(\"three_ds_authentication_url\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_authorize_url' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'three_ds_authorize_url'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data).to.have.property(\"three_ds_authorize_url\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_method_url' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'three_ds_method_url'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data.three_ds_method_details).to.have.property(\"three_ds_method_url\");",
                      "});",
                      "",
                      "// Verify if 'three_ds_method_data' exists and is not empty",
                      "// Carries session-specific metadata for fingerprinting — must exist and be valid Base64.",
                      "pm.test(\"[POST]::/payments - Should contain non-empty 'three_ds_method_data'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data.three_ds_method_details).to.have.property(\"three_ds_method_data\").that.is.a('string').and.is.not.empty;",
                      "});",
                      "",
                      "// Verify if 'poll_id' exists inside 'poll_config'",
                      "// Polling is required to check 3DS status asynchronously while Netcetera finishes auth.",
                      "pm.test(\"[POST]::/payments - Should contain 'poll_id' inside 'poll_config'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data.poll_config).to.have.property(\"poll_id\");",
                      "});",
                      "",
                      "// Verify if 'message_version' exists and is 2.1.0 or higher",
                      "// Ensures compatibility with supported Netcetera protocol versions (2.1.0 and above).",
                      "pm.test(\"[POST]::/payments - 'message_version' should exist and be >= 2.1.0\", function () {",
                      "  const version = jsonData.next_action.three_ds_data.message_version;",
                      "  pm.expect(version).to.match(/^2\\.(1|2|3)(\\.\\d+)?$/);",
                      "});",
                      "",
                      "// Verify if 'directory_server_id' exists",
                      "// Identifies the card network’s Directory Server (e.g., Visa = A000000003) for Netcetera routing.",
                      "pm.test(\"[POST]::/payments - Should contain 'directory_server_id'\", function () {",
                      "  pm.expect(jsonData.next_action.three_ds_data).to.have.property(\"directory_server_id\").that.is.a('string');",
                      "});",
                      "",
                      "// Assert 'external_authentication_details' exists",
                      "pm.test(\"[POST]::/payments - Should contain 'external_authentication_details'\", function () {",
                      "  pm.expect(jsonData).to.have.property(\"external_authentication_details\");",
                      "});",
                      "",
                      "// Assert 'status' is 'pending' at the start of 3DS",
                      "pm.test(\"[POST]::/payments - external_authentication_details.status should be 'pending'\", function () {",
                      "  pm.expect(jsonData.external_authentication_details.status).to.eql(\"pending\");",
                      "});",
                      "",
                      "// Assert 'ds_transaction_id' exists (required for Netcetera 3DS tracking)",
                      "pm.test(\"[POST]::/payments - Should contain 'ds_transaction_id'\", function () {",
                      "  pm.expect(jsonData.external_authentication_details.ds_transaction_id).to.be.a('string').and.is.not.empty;",
                      "});",
                      "",
                      "// Assert 'version' is present and valid",
                      "pm.test(\"[POST]::/payments - Should contain 3DS version\", function () {",
                      "  pm.expect(jsonData.external_authentication_details.version).to.match(/^2\\.(1|2|3)(\\.\\d+)?$/);",
                      "});",
                      ""
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  },
                  "raw": "{\"amount\":500,\"amount_to_capture\":500,\"currency\":\"EUR\",\"confirm\":true,\"capture_method\":\"automatic\",\"authentication_type\":\"three_ds\",\"request_external_three_ds_authentication\":true,\"payment_method\":\"card\",\"payment_method_type\":\"credit\",\"payment_method_data\":{\"card\":{\"card_number\":\"5267648608924299\",\"card_exp_month\":\"01\",\"card_exp_year\":\"50\",\"card_holder_name\":\"John Doe\",\"card_cvc\":\"123\"}},\"profile_id\":\"{{profile_id}}\",\"email\":\"john_doe@gmail.com\",\"name\":\"John Doe\",\"phone\":\"8056594427\",\"phone_country_code\":\"+91\",\"description\":\"{{$randomLoremSentence}}\",\"billing\":{\"address\":{\"line1\":\"2 ter\",\"line2\":\"rue du château\",\"line3\":\"\",\"city\":\"Neuilly-sur-Seine\",\"state\":\"France\",\"zip\":\"92200\",\"country\":\"FR\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"shipping\":{\"address\":{\"line1\":\"1467\",\"line2\":\"Harrison Street\",\"line3\":\"Harrison Street\",\"city\":\"San Fransico\",\"state\":\"California\",\"zip\":\"94122\",\"country\":\"US\",\"first_name\":\"joseph\",\"last_name\":\"Doe\"},\"phone\":{\"number\":\"8056594427\",\"country_code\":\"+91\"}},\"statement_descriptor_name\":\"Joseph Doe\",\"statement_descriptor_suffix\":\"JS\"}"
                },
                "url": {
                  "raw": "{{baseUrl}}/payments",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "payments"
                  ]
                }
              },
              "response": []
            },
            {
              "name": "Payments - Retrieve",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "// Validate status 2xx",
                      "pm.test(\"[GET]::/payments/:id - Status code is 2xx\", function () {",
                      "  pm.response.to.be.success;",
                      "});",
                      "",
                      "// Validate if response header has matching content-type",
                      "pm.test(\"[GET]::/payments/:id - Content-Type is application/json\", function () {",
                      "  pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(",
                      "    \"application/json\",",
                      "  );",
                      "});",
                      "",
                      "// Validate if response has JSON Body",
                      "pm.test(\"[GET]::/payments/:id - Response has JSON Body\", function () {",
                      "  pm.response.to.have.jsonBody();",
                      "});",
                      "",
                      "// Set response object as internal variable",
                      "let jsonData = {};",
                      "try {",
                      "  jsonData = pm.response.json();",
                      "} catch (e) {}",
                      "",
                      "// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id",
                      "if (jsonData?.payment_id) {",
                      "  pm.collectionVariables.set(\"payment_id\", jsonData.payment_id);",
                      "  console.log(",
                      "    \"- use {{payment_id}} as collection variable for value\",",
                      "    jsonData.payment_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id",
                      "if (jsonData?.mandate_id) {",
                      "  pm.collectionVariables.set(\"mandate_id\", jsonData.mandate_id);",
                      "  console.log(",
                      "    \"- use {{mandate_id}} as collection variable for value\",",
                      "    jsonData.mandate_id,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret",
                      "if (jsonData?.client_secret) {",
                      "  pm.collectionVariables.set(\"client_secret\", jsonData.client_secret);",
                      "  console.log(",
                      "    \"- use {{client_secret}} as collection variable for value\",",
                      "    jsonData.client_secret,",
                      "  );",
                      "} else {",
                      "  console.log(",
                      "    \"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.\",",
                      "  );",
                      "}",
                      "",
                      "// Response body should have value \"requires_customer_action\" for \"status\"",
                      "if (jsonData?.status) {",
                      "  pm.test(",
                      "    \"[POST]::/payments/:id - Content check if value for 'status' matches 'requires_customer_action'\",",
                      "    function () {",
                      "      pm.expect(jsonData.status).to.eql(\"requires_customer_action\");",
                      "    },",
                      "  );",
                      "}",
                      ""
                    ],
                    "type": "text/javascript"
                  }
                }
              ],
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/payments/:id?force_sync=true",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "payments",
                    ":id"
                  ],
                  "query": [
                    {
                      "key": "force_sync",
                      "value": "true"
                    }
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "{{payment_id}}",
                      "description": "(Required) unique payment id"
                    }
                  ]
                },
                "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"
              },
              "response": []
            }
          ]
        }
      ]
    }
  ],
  "auth": {
    "type": "apikey",
    "apikey": [
      {
        "key": "value",
        "value": "{{api_key}}",
        "type": "string"
      },
      {
        "key": "key",
        "value": "api-key",
        "type": "string"
      },
      {
        "key": "in",
        "value": "header",
        "type": "string"
      }
    ]
  },
  "info": {
    "_postman_id": "c505d595-99e0-4cd0-b384-f47fbbd0c560",
    "name": "archipel",
    "description": "## Get started\n\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.  \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\n### Base URLs\n\nUse the following base URLs when making requests to the APIs:\n\n| Environment | Base URL |\n| --- | --- |\n| Sandbox | [https://sandbox.hyperswitch.io](https://sandbox.hyperswitch.io) |\n| Production | [https://router.juspay.io](https://router.juspay.io) |\n\n# Authentication\n\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\nContact Support:  \nName: Juspay Support  \nEmail: [support@juspay.in](mailto:support@juspay.in)",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "_exporter_id": "37912341"
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "",
      "type": "string"
    },
    {
      "key": "admin_api_key",
      "value": "",
      "type": "string"
    },
    {
      "key": "organization_id",
      "value": ""
    },
    {
      "key": "merchant_id",
      "value": ""
    },
    {
      "key": "profile_id",
      "value": ""
    },
    {
      "key": "api_key",
      "value": "",
      "type": "string"
    },
    {
      "key": "api_key_id",
      "value": "",
      "type": "string"
    },
    {
      "key": "publishable_key",
      "value": "",
      "type": "string"
    },
    {
      "key": "client_secret",
      "value": "",
      "type": "string"
    },
    {
      "key": "archipel_tenant_id",
      "value": "",
      "type": "string"
    },
    {
      "key": "archipel_platform_url",
      "value": "",
      "type": "string"
    },
    {
      "key": "merchant_connector_id",
      "value": ""
    },
    {
      "key": "payment_id",
      "value": ""
    },
    {
      "key": "customer_id",
      "value": ""
    },
    {
      "key": "mandate_id",
      "value": ""
    },
    {
      "key": "refund_id",
      "value": ""
    },
    {
      "key": "payment_token",
      "value": ""
    },
    {
      "key": "connector_transaction_id",
      "value": ""
    },
    {
      "key": "archipel_transaction_uuid",
      "value": ""
    },
    {
      "key": "netcetera_certificate",
      "value": "",
      "type": "string"
    },
    {
      "key": "netcetera_private_key",
      "value": "",
      "type": "string"
    },
    {
      "key": "netcetera_merchant_configuration_id",
      "value": "",
      "type": "string"
    },
    {
      "key": "netcetera_requestor_url",
      "value": "",
      "type": "string"
    },
    {
      "key": "netcetera_requestor_app_url",
      "value": "",
      "type": "string"
    }
  ]
}
