hyperswitch-control-center icon indicating copy to clipboard operation
hyperswitch-control-center copied to clipboard

API response structure for payment module

Open sagarnaikjuspay opened this issue 5 months ago • 1 comments

Payments Processed

{
  "queryData": [
    {"count": 24, "amount": 952, "time_bucket": "2024-08-13 18:30:00"},
    {"count": 28, "amount": 1020, "time_bucket": "2024-08-14 18:30:00"},
    {"count": 35, "amount": 1450, "time_bucket": "2024-08-15 18:30:00"},
    {"count": 30, "amount": 1150, "time_bucket": "2024-08-16 18:30:00"},
    {"count": 40, "amount": 1600, "time_bucket": "2024-08-17 18:30:00"},
    {"count": 29, "amount": 1200, "time_bucket": "2024-08-18 18:30:00"},
    {"count": 31, "amount": 1300, "time_bucket": "2024-08-19 18:30:00"},
  ],
  "metaData": [{"count": 217, "amount": 8672}],
}

Payments Lifecycle

{
  "normal_success": value,
  "normal_failure": value,
  "cancelled": value,
  "smart_retried_success": value,
  "smart_retried_failure": value,
  "pending": value,
  "failed": value,
  "refunded": value,
  "disputed": value,
  "partial_refunded": value,
  "mandated_payments": value,
  "attempted_pending": value,
  "pm_awaited": value,
  "customer_awaited": value,
}

To calculate intermediate nodes Success -> normal success + smart retry success Failure -> normal failure + smart retry failure Refunded -> refunded Partially refunded -> partially refunded Pending -> Attempted Pending Cancelled -> Cancelled Dropoff2 -> Customer Awaited Attempted Payments -> Attempted Pending + Customer Awaited + Success + Failure Dropoff1 -> PM Awaited Total Payments -> Dropoff1 + Attempted Payments + Cancelled

Payments Success Rate

{
  "queryData": [
    {"payments_success_rate": 40, "time_bucket": "2024-08-13 18:30:00"},
    {"payments_success_rate": 35, "time_bucket": "2024-08-14 18:30:00"},
    {"payments_success_rate": 60, "time_bucket": "2024-08-15 18:30:00"},
    {"payments_success_rate": 70, "time_bucket": "2024-08-16 18:30:00"},
    {"payments_success_rate": 75, "time_bucket": "2024-08-17 18:30:00"},
    {"payments_success_rate": 65, "time_bucket": "2024-08-18 18:30:00"},
    {"payments_success_rate": 50, "time_bucket": "2024-08-19 18:30:00"},
  ],
  "metaData": [{"payments_success_rate": 50}],
}

Successful Payments Distribution

request

{
  groupBy:["connector"]
}
{
  "queryData": [
    {"payments_success_rate": 40, "connector": "stripe"},
    {"payments_success_rate": 60, "connector": "adyen"},
    {"payments_success_rate": 75, "connector": "paypal"},
    {"payments_success_rate": 65, "connector": "checkout"},
  ],
  "metaData": null,
}

Failed Payments Distribution

{
  "queryData": [
    {"payments_failure_rate": 40, "connector": "stripe"},
    {"payments_failure_rate": 60, "connector": "adyen"},
    {"payments_failure_rate": 75, "connector": "paypal"},
    {"payments_failure_rate": 65, "connector": "checkout"},
  ],
  "metaData": null,
}

Failure Reasons

request

{
  "groupByNames": ["connector"],
  "distribution": {
    "distributionFor": "payment_error_message",
  },
}

response

[
  {
    "reason": "No error message",
    "count": 4,
    "percentage": 66.67,
    "connector": "stripe",
  },
  {
    "reason": "The payment failed.",
    "count": 2,
    "percentage": 33.33,
    "connector": "checkout",
  },
]

sagarnaikjuspay avatar Sep 19 '24 08:09 sagarnaikjuspay