hyperswitch icon indicating copy to clipboard operation
hyperswitch copied to clipboard

feat(analytics): added client columns in payments analytics

Open vsrivatsa-edinburgh opened this issue 9 months ago • 0 comments

Type of Change

  • [ ] Bugfix
  • [x] New feature
  • [ ] Enhancement
  • [ ] Refactoring
  • [ ] Dependency updates
  • [ ] Documentation
  • [ ] CI/CD

Description

Added client columns in payments analytics ClientSource, ClientVersion Depends on https://github.com/juspay/hyperswitch/pull/4657 closes #4656

Additional Changes

  • [ ] This PR modifies the API contract
  • [ ] This PR modifies the database schema
  • [ ] This PR modifies application configuration/environment variables

Motivation and Context

How did you test it?

curl --location 'localhost:8080/analytics/v1/metrics/payments' \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer token...' \ --data '[ { "timeRange": { "startTime": "2024-01-13T18:30:00Z", "endTime": "2024-06-16T18:30:00Z" }, "metrics": [ "payment_success_rate", "payment_count", "payment_success_count", "payment_processed_amount", "avg_ticket_size" ], "groupByNames": [ "connector", "payment_method", "payment_method_type", "currency", "authentication_type", "status", "client_source", "client_version" ] } ]'

{ "queryData": [ { "payment_success_rate": null, "payment_count": 1, "payment_success_count": null, "payment_processed_amount": 0, "avg_ticket_size": null, "payment_error_message": null, "retries_count": null, "retries_amount_processed": 0, "connector_success_rate": null, "currency": "USD", "status": "failure", "connector": "stripe", "authentication_type": "no_three_ds", "payment_method": "card", "payment_method_type": "credit", "client_source": null, "client_version": null, "time_range": { "start_time": "2024-01-13T18:30:00.000Z", "end_time": "2024-06-16T18:30:00.000Z" }, "time_bucket": "2024-01-13 18:30:00" }, { "payment_success_rate": null, "payment_count": 1, "payment_success_count": null, "payment_processed_amount": 0, "avg_ticket_size": null, "payment_error_message": null, "retries_count": null, "retries_amount_processed": 0, "connector_success_rate": null, "currency": "USD", "status": "failure", "connector": "stripe", "authentication_type": "no_three_ds", "payment_method": "card", "payment_method_type": null, "client_source": "test", "client_version": "test2", "time_range": { "start_time": "2024-01-13T18:30:00.000Z", "end_time": "2024-06-16T18:30:00.000Z" }, "time_bucket": "2024-01-13 18:30:00" }, { "payment_success_rate": 0.0, "payment_count": null, "payment_success_count": null, "payment_processed_amount": 0, "avg_ticket_size": null, "payment_error_message": null, "retries_count": null, "retries_amount_processed": 0, "connector_success_rate": null, "currency": "USD", "status": null, "connector": "stripe", "authentication_type": "no_three_ds", "payment_method": "card", "payment_method_type": "credit", "client_source": null, "client_version": null, "time_range": { "start_time": "2024-01-13T18:30:00.000Z", "end_time": "2024-06-16T18:30:00.000Z" }, "time_bucket": "2024-01-13 18:30:00" }, { "payment_success_rate": 0.0, "payment_count": null, "payment_success_count": null, "payment_processed_amount": 0, "avg_ticket_size": null, "payment_error_message": null, "retries_count": null, "retries_amount_processed": 0, "connector_success_rate": null, "currency": "USD", "status": null, "connector": "stripe", "authentication_type": "no_three_ds", "payment_method": "card", "payment_method_type": null, "client_source": null, "client_version": null, "time_range": { "start_time": "2024-01-13T18:30:00.000Z", "end_time": "2024-06-16T18:30:00.000Z" }, "time_bucket": "2024-01-13 18:30:00" }, { "payment_success_rate": null, "payment_count": 1, "payment_success_count": null, "payment_processed_amount": 0, "avg_ticket_size": null, "payment_error_message": null, "retries_count": null, "retries_amount_processed": 0, "connector_success_rate": null, "currency": "USD", "status": "confirmation_awaited", "connector": null, "authentication_type": "no_three_ds", "payment_method": "card", "payment_method_type": "credit", "client_source": null, "client_version": null, "time_range": { "start_time": "2024-01-13T18:30:00.000Z", "end_time": "2024-06-16T18:30:00.000Z" }, "time_bucket": "2024-01-13 18:30:00" }, { "payment_success_rate": 0.0, "payment_count": null, "payment_success_count": null, "payment_processed_amount": 0, "avg_ticket_size": null, "payment_error_message": null, "retries_count": null, "retries_amount_processed": 0, "connector_success_rate": null, "currency": "USD", "status": null, "connector": "stripe", "authentication_type": "no_three_ds", "payment_method": "card", "payment_method_type": null, "client_source": "test", "client_version": "test2", "time_range": { "start_time": "2024-01-13T18:30:00.000Z", "end_time": "2024-06-16T18:30:00.000Z" }, "time_bucket": "2024-01-13 18:30:00" }, { "payment_success_rate": 0.0, "payment_count": null, "payment_success_count": null, "payment_processed_amount": 0, "avg_ticket_size": null, "payment_error_message": null, "retries_count": null, "retries_amount_processed": 0, "connector_success_rate": null, "currency": "USD", "status": null, "connector": null, "authentication_type": "no_three_ds", "payment_method": "card", "payment_method_type": "credit", "client_source": null, "client_version": null, "time_range": { "start_time": "2024-01-13T18:30:00.000Z", "end_time": "2024-06-16T18:30:00.000Z" }, "time_bucket": "2024-01-13 18:30:00" }, { "payment_success_rate": null, "payment_count": 4, "payment_success_count": null, "payment_processed_amount": 0, "avg_ticket_size": null, "payment_error_message": null, "retries_count": null, "retries_amount_processed": 0, "connector_success_rate": null, "currency": "USD", "status": "failure", "connector": "stripe", "authentication_type": "no_three_ds", "payment_method": "card", "payment_method_type": null, "client_source": null, "client_version": null, "time_range": { "start_time": "2024-01-13T18:30:00.000Z", "end_time": "2024-06-16T18:30:00.000Z" }, "time_bucket": "2024-01-13 18:30:00" } ], "metaData": [ { "current_time_range": { "start_time": "2024-01-13T18:30:00.000Z", "end_time": "2024-06-16T18:30:00.000Z" } } ] }

Checklist

  • [x] I formatted the code cargo +nightly fmt --all
  • [x] I addressed lints thrown by cargo clippy
  • [x] I reviewed the submitted code
  • [ ] I added unit tests for my changes where possible

vsrivatsa-edinburgh avatar May 15 '24 16:05 vsrivatsa-edinburgh