Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,23 +42,23 @@ All images and assets for the documentation are stored in the `strapi-assets` bu

1. **Bucket Name**: `strapi-assets`
2. **Folder Structure**: Follow the same folder structure as the content layer in `/content`
3. **URL Format**: `https://storage.googleapis.com/strapi-assets/latest/{path-to-asset}`
3. **URL Format**: `https://docs-assets.setu.co/latest/{path-to-asset}`

### Example Asset Upload

If you have an image for the Account Aggregator consent object flow diagram:

- **Content path**: `/content/data/account-aggregator/consent-object.mdx`
- **Asset path**: `/data/account-aggregator/consent-object-flow.png`
- **Final URL**: `https://storage.googleapis.com/strapi-assets/latest/data/account-aggregator/consent-object-flow.png`
- **Final URL**: `https://docs-assets.setu.co/latest/data/account-aggregator/consent-object-flow.png`

### Using Assets in Content

Reference assets in your MDX files using the `MainImage` component:

```mdx
<MainImage
src="https://storage.googleapis.com/strapi-assets/latest/data/account-aggregator/your-image.png"
src="https://docs-assets.setu.co/latest/data/account-aggregator/your-image.png"
alt="Description of your image"
/>
```
Expand Down
2 changes: 1 addition & 1 deletion content/data/account-aggregator/api-integration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Setu’s AA APIs can be broken down into 3 broad flows—
- **Notifications flow**—To receive notifications from Setu for key events like approval/rejection of consent or be notified when FI data is ready to be fetched.

<img
src="https://storage.googleapis.com/strapi-assets/latest/consent_flow_1ffd2d17b6/consent_flow_1ffd2d17b6.png"
src="https://docs-assets.setu.co/latest/consent_flow_1ffd2d17b6/consent_flow_1ffd2d17b6.png"
style={{ width: "75%", margin: "2em auto" }}
/>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -407,7 +407,7 @@ In the Account Aggregator (AA) ecosystem in India, the multi consent feature all

<br />

<img src="https://storage.googleapis.com/strapi-assets/latest/dual-consent-approval-page/dual-consent-approval-page.png" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lets give the diff to claude and ask to create abstraction for the base-url

<img src="https://docs-assets.setu.co/latest/dual-consent-approval-page/dual-consent-approval-page.png" />

##### Features

Expand Down
4 changes: 2 additions & 2 deletions content/data/account-aggregator/api-integration/data-apis.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Below is a summary of the APIs you need to use to fetch FI data. These APIs are
- **Create Data Session**—Call this API against an `APPROVED` consent. This initiates data preparation at user's linked FIP accounts. You will be notified by Setu once the data is ready to be fetched.
- **Fetch FI data**—Fetch decrypted FI data with data session id.

![](https://storage.googleapis.com/strapi-assets/latest/data_session_56485983c0/data_session_56485983c0.png)
![](https://docs-assets.setu.co/latest/data_session_56485983c0/data_session_56485983c0.png)

<hr class="primary" />

Expand Down Expand Up @@ -455,7 +455,7 @@ Auto-Fetch data feature aims to absorb this complexity from the FIUs. With Auto-
- For one time consents, Auto-Fetch executes only once, right after the consent is approved.
- For recurring consents, Auto-Fetch can fetch data periodically. Set up the frequency of Auto-Fetch data in your configuration on the Bridge.

<img src="https://storage.googleapis.com/strapi-assets/latest/auto-fetch-workflow/auto-fetch-workflow.png" />
<img src="https://docs-assets.setu.co/latest/auto-fetch-workflow/auto-fetch-workflow.png" />

<Callout type="tip">
Auto-Fetch can be set up on Bridge, under Step 1 of your product
Expand Down
2 changes: 1 addition & 1 deletion content/data/account-aggregator/consent-object.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ All of this enables better consent conversion across the funnel
### Flow diagram

<MainImage
src="https://storage.googleapis.com/strapi-assets/latest/consent_object_flow/fip-selector-flow.png"
src="https://docs-assets.setu.co/latest/consent_object_flow/fip-selector-flow.png"
alt="FIP Selector Screen flow diagram showing the consent object flow process"
/>

Expand Down
8 changes: 4 additions & 4 deletions content/data/account-aggregator/embed-setu-aa.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ The Account Aggregator ecosystem does not have a native method to truly auto dis
mobileSpan="12"
>
<Element as="div" shadow="soft" shape="rounded">
<img src="https://storage.googleapis.com/strapi-assets/latest/Lite-auto-discovery/Lite-auto-discovery.gif" />
<img src="https://docs-assets.setu.co/latest/Lite-auto-discovery/Lite-auto-discovery.gif" />
</Element>
<Text marginTop="none">
<b>Setu managed lite auto discovery</b>—<i>Setu FIP</i> is the
Expand All @@ -83,7 +83,7 @@ The Account Aggregator ecosystem does not have a native method to truly auto dis
mobileSpan="12"
>
<Element as="div" shadow="soft" shape="rounded">
<img src="https://storage.googleapis.com/strapi-assets/latest/Manual-discovery/Manual-discovery.gif" />
<img src="https://docs-assets.setu.co/latest/Manual-discovery/Manual-discovery.gif" />
</Element>
<Text>
<b>Setu managed manual discovery</b>—<i>Setu FIP</i> and{" "}
Expand All @@ -97,7 +97,7 @@ The Account Aggregator ecosystem does not have a native method to truly auto dis
mobileSpan="12"
>
<Element as="div" shadow="soft" shape="rounded">
<img src="https://storage.googleapis.com/strapi-assets/latest/Guided-auto-discovery/Guided-auto-discovery.gif" />
<img src="https://docs-assets.setu.co/latest/Guided-auto-discovery/Guided-auto-discovery.gif" />
</Element>
<Text>
<b>FIU managed guided auto discovery</b>—<i>Setu FIP</i> and{" "}
Expand Down Expand Up @@ -155,7 +155,7 @@ Please find the below integration steps to embed Setu’s consent manager screen

Redirect your customer to consent manager `url` received after Create Consent request. Once your customer has approved or rejected consent, this final screen in the consent manager will show a button that will redirect your customer to the `redirectUrl` provided by you in the Create consent API.<a href="https://staging.docs.setu.co/data/account-aggregator/api-integration/consent-flow#create-consent-api" target="_blank"></a>

![](https://storage.googleapis.com/strapi-assets/latest/Screenshot_2022_01_06_at_1_28_54_PM_d76f6260c9/Screenshot_2022_01_06_at_1_28_54_PM_d76f6260c9.png)
![](https://docs-assets.setu.co/latest/Screenshot_2022_01_06_at_1_28_54_PM_d76f6260c9/Screenshot_2022_01_06_at_1_28_54_PM_d76f6260c9.png)

<hr class="tertiary" />

Expand Down
2 changes: 1 addition & 1 deletion content/data/account-aggregator/multi-aa-gateway.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Setu’s multi-AA gateway is a powerful enhancement for Account Aggregator (AA)
This improves consent conversion, offers redundancy with multiple AA partners, and ensures higher performance across AA integrations.

<MainImage
src="https://storage.googleapis.com/strapi-assets/latest/AAGatewayImage/AAGatewayImage.png"
src="https://docs-assets.setu.co/latest/AAGatewayImage/AAGatewayImage.png"
alt="How multi-AA works image"
/>

Expand Down
2 changes: 1 addition & 1 deletion content/data/account-aggregator/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ _Note_—Setu’s AA gateway has introduced a powerful enhancement in the form o
For example, let’s say a lender wants to check the bank statements of a user to check their loan eligibility. Here’s how the AA handles it—

<MainImage
src="https://storage.googleapis.com/strapi-assets/latest/AA_webpage_infographic_e88a02182f/AA_webpage_infographic_e88a02182f.png"
src="https://docs-assets.setu.co/latest/AA_webpage_infographic_e88a02182f/AA_webpage_infographic_e88a02182f.png"
alt="How AA works infographic"
/>

Expand Down
10 changes: 5 additions & 5 deletions content/data/account-aggregator/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ Try out our sample app built using Setu AA sandbox <a href="https://github.com/S

- Set up an FIU by providing basic details

<img src="https://storage.googleapis.com/strapi-assets/latest/AA-setup-FIU/AA-setup-FIU.gif" />
<img src="https://docs-assets.setu.co/latest/AA-setup-FIU/AA-setup-FIU.gif" />
<br />

- Create Account Aggreagator Data product
<img src="https://storage.googleapis.com/strapi-assets/latest/AA-create-data-product/AA-create-data-product.gif" />
<img src="https://docs-assets.setu.co/latest/AA-create-data-product/AA-create-data-product.gif" />
<br />

<hr class="tertiary" />
Expand All @@ -53,7 +53,7 @@ You can also enable developer specific features to reduce your integration effor
- Partial fetch
- Auto-Fetch data

<img src="https://storage.googleapis.com/strapi-assets/latest/AA-configure-product-optimised/AA-configure-product-optimised.gif" />
<img src="https://docs-assets.setu.co/latest/AA-configure-product-optimised/AA-configure-product-optimised.gif" />

<hr class="tertiary" />

Expand All @@ -80,15 +80,15 @@ You will be notified for two types of events—

You can read about notifications in detail <a href="/data/account-aggregator/api-integration/notifications" target="_blank">here</a>.

![](https://storage.googleapis.com/strapi-assets/latest/AA-callback-URL/AA-callback-URL.png)
![](https://docs-assets.setu.co/latest/AA-callback-URL/AA-callback-URL.png)

<hr class="tertiary" />

##### Test your product

Once all the above steps are complete, you will find `x-product-instance-id`, `x-client_id` and `x-client-secret` in Step 2. You're now ready to make API calls using Postman on sandbox or integrate with sandbox FIU APIs.

![](https://storage.googleapis.com/strapi-assets/latest/AA-test-your-product/AA-test-your-product.png)
![](https://docs-assets.setu.co/latest/AA-test-your-product/AA-test-your-product.png)

<hr class="primary" />

Expand Down
2 changes: 1 addition & 1 deletion content/data/account-aggregator/v1/api-integration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Setu’s AA APIs can be broken down into 3 broad flows—
- **Notifications flow**—To receive notifications from Setu for key events like approval/rejection of consent or be notified when FI data is ready to be fetched.

<img
src="https://storage.googleapis.com/strapi-assets/latest/consent_flow_1ffd2d17b6/consent_flow_1ffd2d17b6.png"
src="https://docs-assets.setu.co/latest/consent_flow_1ffd2d17b6/consent_flow_1ffd2d17b6.png"
style={{ width: "75%", margin: "2em auto" }}
/>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Below is a summary of the APIs you need to use to fetch FI data. These APIs are
- **Create Data Session**—Call this API against an `APPROVED` consent. This initiates data preparation at user's linked FIP accounts. You will be notified by Setu once the data is ready to be fetched.
- **Fetch FI data**—Fetch decrypted FI data with data session id.

![](https://storage.googleapis.com/strapi-assets/latest/data_session_56485983c0/data_session_56485983c0.png)
![](https://docs-assets.setu.co/latest/data_session_56485983c0/data_session_56485983c0.png)

<hr class="primary" />

Expand Down
2 changes: 1 addition & 1 deletion content/data/account-aggregator/v1/embed-setu-aa.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Please find the below integration steps to embed Setu’s consent manager screen

Redirect your customer to consent manager `url` received after Create Consent request. Once your customer has approved or rejected consent, this final screen in the consent manager will show a button that will redirect your customer to the `redirectUrl` provided by you in the Create consent API.<a href="https://staging.docs.setu.co/data/account-aggregator/api-integration/consent-flow#create-consent-api" target="_blank"></a>

![](https://storage.googleapis.com/strapi-assets/latest/Screenshot_2022_01_06_at_1_28_54_PM_d76f6260c9/Screenshot_2022_01_06_at_1_28_54_PM_d76f6260c9.png)
![](https://docs-assets.setu.co/latest/Screenshot_2022_01_06_at_1_28_54_PM_d76f6260c9/Screenshot_2022_01_06_at_1_28_54_PM_d76f6260c9.png)

### React Native

Expand Down
2 changes: 1 addition & 1 deletion content/data/account-aggregator/v1/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Account aggregators(AAs) are <a href="https://www.rbi.org.in/Scripts/bs_viewcont
For example, let’s say a lender wants to check the bank statements of a user to check their loan eligibility. Here’s how the AA handles it—

<MainImage
src="https://storage.googleapis.com/strapi-assets/latest/AA_webpage_infographic_e88a02182f/AA_webpage_infographic_e88a02182f.png"
src="https://docs-assets.setu.co/latest/AA_webpage_infographic_e88a02182f/AA_webpage_infographic_e88a02182f.png"
alt="AA web page"
/>

Expand Down
2 changes: 1 addition & 1 deletion content/data/account-aggregator/v1/postman.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Postman collection comes wth default test credentials. Set the following variabl
- Set `client_secret` to the FIU app client secret received on Bridge.
- Set `mobile_number` to the user's mobile number that will be used for testing.

![](https://storage.googleapis.com/strapi-assets/latest/Screenshot_2022-02-21_at_12.55.07_PM/Screenshot_2022-02-21_at_12.55.07_PM.png)
![](https://docs-assets.setu.co/latest/Screenshot_2022-02-21_at_12.55.07_PM/Screenshot_2022-02-21_at_12.55.07_PM.png)

<Callout type="warning">
Remove any new lines at the end after pasting values, to avoid errors.
Expand Down
2 changes: 1 addition & 1 deletion content/data/account-aggregator/v1/quickstart-v1.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ The following flowchart gives a quick snapshot of how the overall API flow works

<Row>
<Portion desktopSpan="18">
<img src="https://storage.googleapis.com/strapi-assets/latest/AA_API_flowchart_80809027f6/AA_API_flowchart_80809027f6.png" />
<img src="https://docs-assets.setu.co/latest/AA_API_flowchart_80809027f6/AA_API_flowchart_80809027f6.png" />
</Portion>
</Row>

Expand Down
10 changes: 5 additions & 5 deletions content/data/account-aggregator/v1/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Register on <a href="https://bridge.setu.co/" target="_blank">The Bridge</a>, if
You can read a bit about the FIU product on the profile page before clicking on the **Create an FIU** button.

<img
src="https://storage.googleapis.com/strapi-assets/latest/Create_AA_config_4bfff04024/Create_AA_config_4bfff04024.gif"
src="https://docs-assets.setu.co/latest/Create_AA_config_4bfff04024/Create_AA_config_4bfff04024.gif"
alt="Bridge"
/>

Expand All @@ -40,7 +40,7 @@ You can read a bit about the FIU product on the profile page before clicking on
Enter a name for the FIU app. This is what the FIU will be registered as eventually, but you can always edit before going live.

<img
src="https://storage.googleapis.com/strapi-assets/latest/Create_an_FIU_app_b003ad5a81/Create_an_FIU_app_b003ad5a81.png"
src="https://docs-assets.setu.co/latest/Create_an_FIU_app_b003ad5a81/Create_an_FIU_app_b003ad5a81.png"
alt="Bridge"
/>

Expand All @@ -52,7 +52,7 @@ Setu provides a set of prebuilt screens that your customer sees upon receiving t

You can theme these screens to match your brand—add your logo, primary and secondary colours, font colour and background colour—to provide a seamless UI transition for your customers.

![](https://storage.googleapis.com/strapi-assets/latest/Screenshot_2021_09_24_at_2_27_15_PM_56fae23e07/Screenshot_2021_09_24_at_2_27_15_PM_56fae23e07.png)
![](https://docs-assets.setu.co/latest/Screenshot_2021_09_24_at_2_27_15_PM_56fae23e07/Screenshot_2021_09_24_at_2_27_15_PM_56fae23e07.png)

<hr class="primary" />

Expand All @@ -79,15 +79,15 @@ You will be notified for two types of events—

You can read about notifications in detail <a href="/data/account-aggregator/api-integration/notifications" target="_blank">here</a>.

![](https://storage.googleapis.com/strapi-assets/latest/Enter_notification_endpoint_for_AA_85c04aa76e/Enter_notification_endpoint_for_AA_85c04aa76e.png)
![](https://docs-assets.setu.co/latest/Enter_notification_endpoint_for_AA_85c04aa76e/Enter_notification_endpoint_for_AA_85c04aa76e.png)

<hr class="primary" />

###### Step 4 — Get credentials

Once all the above steps are complete, you can grab your sandbox credentials, `client_id` and `client_secret`. You're now ready to integrate FIU APIs and make API calls using Postman on sandbox.

![](https://storage.googleapis.com/strapi-assets/latest/Screenshot_2022-02-21_at_12.48.32_PM/Screenshot_2022-02-21_at_12.48.32_PM.png)
![](https://docs-assets.setu.co/latest/Screenshot_2022-02-21_at_12.48.32_PM/Screenshot_2022-02-21_at_12.48.32_PM.png)

<hr class="primary" />

Expand Down
2 changes: 1 addition & 1 deletion content/data/account-aggregator/v1/request-signing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ A public-key-private-key pair is required for the request signing.

In the Setu Bridge, you can generate these keys with just a simple click of a button and download the keys in CSV format.

![](https://storage.googleapis.com/strapi-assets/latest/Screenshot_2021_09_24_at_2_29_51_PM_bcf69b034e/Screenshot_2021_09_24_at_2_29_51_PM_bcf69b034e.png)
![](https://docs-assets.setu.co/latest/Screenshot_2021_09_24_at_2_29_51_PM_bcf69b034e/Screenshot_2021_09_24_at_2_29_51_PM_bcf69b034e.png)

Setu will share its public key during the creation of app (available in the "grab credentials" step). Your app code will use this key to verify requests from Setu.

Expand Down
2 changes: 1 addition & 1 deletion content/data/digilocker/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Call this API to create a new DigiLocker request. Pass the `redirectUrl` in the

<Row>
<Portion desktopSpan="half">
<img src="https://storage.googleapis.com/strapi-assets/latest/digilocker_auth_flow_c84910dbf3/digilocker_auth_flow_c84910dbf3.png" />
<img src="https://docs-assets.setu.co/latest/digilocker_auth_flow_c84910dbf3/digilocker_auth_flow_c84910dbf3.png" />
</Portion>
</Row>

Expand Down
2 changes: 1 addition & 1 deletion content/data/insights/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ With Setu Insights, you can analyse various financial statements like bank state
### How does it work?

<img
src="https://storage.googleapis.com/strapi-assets/latest/insights-basic-working-2/insights-basic-working-2.png"
src="https://docs-assets.setu.co/latest/insights-basic-working-2/insights-basic-working-2.png"
style={{ width: "85%", margin: "2em auto" }}
/>

Expand Down
2 changes: 1 addition & 1 deletion content/data/insights/quickstart/postman.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Postman environment comes wth default test credentials, which are passed as head
- Set `clientSecret` to the FIU app client secret received from our support team. This variable is passed as the `x-client-secret` header.
- Set `productInstanceId` to the FIU product instance ID received from our support team. This variable is passed as the `x-product-instance-id` header.

![](https://storage.googleapis.com/strapi-assets/latest/setu-bsa-variables-1/setu-bsa-variables-1.png)
![](https://docs-assets.setu.co/latest/setu-bsa-variables-1/setu-bsa-variables-1.png)

<Callout type="warning">
Remove any new lines at the end after pasting values, to avoid errors.
Expand Down
2 changes: 1 addition & 1 deletion content/data/insights/v1/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ With Setu Insights, you can analyse various financial statements like bank state
### How does it work?

<img
src="https://storage.googleapis.com/strapi-assets/latest/insights-basic-working-2/insights-basic-working-2.png"
src="https://docs-assets.setu.co/latest/insights-basic-working-2/insights-basic-working-2.png"
style={{ width: "85%", margin: "2em auto" }}
/>

Expand Down
2 changes: 1 addition & 1 deletion content/data/insights/v1/quickstart/postman.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Postman environment comes wth default test credentials, which are passed as head
- Set `clientSecret` to the FIU app client secret received from our support team. This variable is passed as the `x-client-secret` header.
- Set `productInstanceId` to the FIU product instance ID received from our support team. This variable is passed as the `x-product-instance-id` header.

![](https://storage.googleapis.com/strapi-assets/latest/setu-bsa-variables-1/setu-bsa-variables-1.png)
![](https://docs-assets.setu.co/latest/setu-bsa-variables-1/setu-bsa-variables-1.png)

<Callout type="warning">
Remove any new lines at the end after pasting values, to avoid errors.
Expand Down
2 changes: 1 addition & 1 deletion content/data/insights/v2/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ With Setu Insights, you can analyse various financial statements like bank state
### How does it work?

<img
src="https://storage.googleapis.com/strapi-assets/latest/insights-basic-working-2/insights-basic-working-2.png"
src="https://docs-assets.setu.co/latest/insights-basic-working-2/insights-basic-working-2.png"
style={{ width: "85%", margin: "2em auto" }}
/>

Expand Down
2 changes: 1 addition & 1 deletion content/data/uli/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ The URLs you would need for this API—
<hr className="primary" />

<MainImage
src="https://storage.googleapis.com/strapi-assets/latest/uli-staging/uli-staging.png"
src="https://docs-assets.setu.co/latest/uli-staging/uli-staging.png"
alt="ULI API Integration"
/>

Expand Down
4 changes: 2 additions & 2 deletions content/dev-tools/bridge/analytics-and-reports.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ Analytics and reports are separate per product, since they function differently.

**Reports, with all columns included, can also be downloaded in CSV or Excel formats for a specified time range.** If the count of rows in the table is too large, you will get an option to mail it to yourself.

<img src="https://storage.googleapis.com/strapi-assets/latest/bridge-v2-docs/Analytics%20and%20reports/AA%20analytics.gif" alt="AA analytics" />
<img src="https://docs-assets.setu.co/latest/bridge-v2-docs/Analytics%20and%20reports/AA%20analytics.gif" alt="AA analytics" />

<img src="https://storage.googleapis.com/strapi-assets/latest/bridge-v2-docs/Analytics%20and%20reports/UPI%20Analytics.gif" alt="UPI analytics" />
<img src="https://docs-assets.setu.co/latest/bridge-v2-docs/Analytics%20and%20reports/UPI%20Analytics.gif" alt="UPI analytics" />

<hr class="primary" />

Expand Down
Loading