{
  "openapi": "3.0.0",
  "info": {
    "title": "مستندات سرویس‌های پلتفرم مالی پی‌پینگ",
    "description": "# پشتیبانی\n  [برای دریافت پشتیبانی به صفحه ارتباط با ما مراجعه کنید.](https://payping.ir/contact/)\n\n # مقدمه\n\n تمامی وب‌ سرویس‌های توضیح داده شده در این مستندات به صورت [RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer) هستند و طبق همین چهارچوب باید با آنها ارتباط برقرار کرد.    \n جهت رفع هرگونه مشکل و یا پرسش با پشتیبانی در تماس باشید.\n\n <!-- # POSTMAN-->\n <!--برای راحتی کار شما فایل postman سرویس ها برای شما آماده شده است که می توانید از لینک زیر آن را دانلود کنید و با استفاده از اپلیکیشن دسکتاپ [postman](https://www.getpostman.com) از آن استفاده کنید:-->\n \n <!--[دانلود قالب postman](http://statics.payping.ir/postman.json)-->\n \n # توضیحات تکمیلی برای تمام سرویس‌ها\n\n برای فراخوانی سرویس‌های صفحه‌بندی (pagination) اگر پارامتر ورودی ارسال نشود، حداکثر ۱۰ آیتم نمایش داده می‌شود و همچنین حداکثر تعداد دریافت آیتم به ازای هر درخواست ۵۰ عدد می‌باشد و بیشتر از آن را سرویس پشتیبانی نمی‌کند و در صورت نیاز به بارگزاری تمام آیتم‌های یک سرویس به صورت یکجا با ایمیل به بخش پشتیبانی در تماس باشید. همینطور توجه داشته باشین واحد پول در تمام سرویس‌ها تومان می‌باشد و منطقه زمانی تمامی‌ تاریخ و ساعت‌ها برابر با ساعت جهانی یا UTC می‌باشد.\n\n # نکاتی برای آپلود فایل‌ها\n\n برای آپلود هرگونه فایل اعم از عکس پروفایل کاربران و یا گزارشات پرداخت‌ها و ... می‌بایست که از [سرویس بارگذاری فایل](#tag/Upload) استفاده کنید.\n \n پس از انجام عملیات آپلود توسط سرویس بارگذاری فایل، تنها کافیست نام فایل آپلود شده که در خروجی سرویس به شما برگردانده می‌شود را ذخیره نمایید.\n\n # جدول کدهای دریافتی از هر سرویس\n\n بعد از ارسال هر درخواست به سمت سرور، از سمت ما طبق قواعد وب‌سرویس‌های RESTful کدی به شما بازگرداننده می‌شود.\n هر کد معنایی دارد که در جدول زیر توضیحات مربوطه را می‌بینید:\n\n |شماره کد|توضیحات|\n |-------|--------|\n |`200`| عملیات با موفقیت انجام شد |\n |`400`| مشکلی در ارسال درخواست وجود دارد |\n |`500`| مشکلی در سرور رخ داده است |\n |`503`| سرور در حال حاضر قادر به پاسخگویی نمی‌باشد |\n |`401`| عدم دسترسی|\n |`403`| دسترسی غیر مجاز |\n |`404`| آیتم درخواستی مورد نظر موجود نمی‌باشد |\n\n  ",
    "version": "v1-v2-v3",
    "x-logo": {
      "url": "https://statics.payping.ir/Payping-logo/full%20logo/english/fullcolor/SVG/payping.svg"
    }
  },
  "servers": [
    {
      "url": "https://api.payping.ir/"
    }
  ],
  "security": [
    {
      "Bearer": []
    },
    {
      "oauth2": [
        "profile",
        "email",
        "nationalcode",
        "birthday",
        "shaba",
        "phone",
        "pay:read",
        "pay:write",
        "product:read",
        "product:write",
        "coupon:read",
        "coupon:write",
        "customer:read",
        "customer:write",
        "invoice:read",
        "invoice:write",
        "upload:write",
        "inquiry:bankInquiry",
        "inquiry:identityInquiry",
        "inquiry:facilityInquiry",
        "bnpl:merchantread",
        "bnpl:merchantwrite"
      ]
    }
  ],
  "tags": [
    {
      "name": "Payment-v3",
      "description": "نسخه بروز شده از سرویس تراکنش های مالی، پیشنهاد می شود با توجه به بهبود های انجام شده در نسخه فعلی مهاجرت به سرویس جدید از سمت توسعه دهندگان صورت گیرد\n## خطاهای زمان پرداخت \n\n در فرایند های پرداخت بعلت اینکه ممکن است با توجه به هرنوع خطا کاربر عملیات خاصی را برنامه‌ریزی کرده باشد، به هر خطا کدی اختصاص داده شده است که در جدول زیر مشخص گردیده است: \n\n| توضیح | کد خطا |\n|-------|--------|\n| `101` | داده های ارسالی نامعتبر است |\n| `102` | درگاه پرداخت فعال برای پذیرنده یافت نشد * |\n| `103` | توکن احراز هویت پذیرنده تایید نشده است * |\n| `104` | مبلغ تراکنش برای مشتری آزمایشی معتبر نیست (دقت داشته باشید توکن احراز هویت تست دارای محدودیت در مبلغ پرداخت می‌باشد) |\n| `105` | آدرس بازگشت پذیرنده معتبر نمی‌باشد |\n| `106` | خطای داخلی سرویس رخ داده است * |\n| `107` | براساس داده های ارسالی قوانین مورد انتظار رعایت نشده است |\n| `108` | خطای داخلی سرور رخ داده است * |\n| `109` | پرداخت در حال بررسی می‌باشد |\n| `110` | پرداخت قبلاً انجام شده است |\n| `111` | حساب کاربری پذیرنده مسدود می‌باشد * |\n| `112` | سقف تراکنش مشتری آزمایشی به اتمام رسیده است * |\n| `113` | شماره تلفن همراه معتبر نمی‌باشد |\n| `114` | ارتباط با درگاه بانکی برقرار نشد. لطفا مجدد تلاش نمایید * |\n| `115` | اطلاعات ارسالی از بانک تکراری می‌باشد |\n| `116` | حساب های کاربری در تسهیم معتبر نمی‌باشند |\n| `117` | شماره شبای تکراری در تسهیم وجود دارد |\n| `118` | حساب های کاربری در تسهیم معتبر نمی‌باشند |\n| `121` | تایید تراکنش نیازمند پرداخت موفق می‌باشد |\n| `122` | داده‌های ارسالی نامعتبر است. پرداخت یافت نشد |\n| `123` | تراکنش قبلا تایید شده است |\n| `124` | تراکنش با این نسخه از سیستم سازگار نیست * |\n| `126` | درخواست با وضعیت فعلی اطلاعات در تعارض است * |\n| `127` | خطایی در انجام عملیات در درگاه رخ داده است (کاربر عملیات پرداخت را لغو کرده یا زمان مجاز انجام تراکنش به اتمام رسیده است) |\n| `128` | این پرداخت بلاک نمی‌باشد |\n| `129` | وضعیت تراکنش اجازه حذف آن را نمی‌دهد (در صورتیکه تراکنش حداقل یکبار به درگاه پرداخت منتقل شده باشد، امکان حذف آن وجود نخواهد داشت) |\n| `130` | در حال حاضر امکان پردازش این کد پرداخت وجود ندارد * |\n| `131` | تراکنش شما در وضعیت نامعتبر قرار دارد و امکان ادامه فرآیند پرداخت وجود ندارد * |\n| `132` | شما مجاز به انجام این تغییر وضعیت نیستید * |\n| `133` | اطلاعات پرداخت نامعتبر می‌باشد |\n| `134` | این تراکنش قابلیت بازگشت وجه ندارد |\n| `135` | مهلت انجام عملیات بازگشت وجه به پایان رسیده است |\n| `137` | مبلغ تراکنش اشتباه می‌باشد |\n| `138` | مجموع مبالغ سهم‌ها باید با مبلغ کل پرداخت برابر باشد |\n| `155` | عملیات تایید تراکنش در حال پردازش است. لطفا مجددا تلاش نمایید |\n| `156` | عملیات بازگشت وجه تراکنش در حال پردازش است. لطفا مجددا تلاش نمایید |\n| `158` | حساب های کاربری در تسهیم، درگاه مشترک ندارند |\n| `159` | امکان تسهیم پرداخت صرفاً با صاحب کسب‌وکار وجود ندارد |\n| `160` | این پرداخت تسهیمی می باشد و امکان تسهیم مجدد آن وجود ندارد |\n| `161` | به دلیل داشتن درگاه با تسویه مستقیم، امکان ایجاد پرداخت تسهیمی وجود ندارد |\n| `162` | پرداخت تسهیمی روی درگاه دارای تسویه مستقیم امکان‌پذیر نیست |\n| `163` | داده‌های تقسیم مبلغ برای درگاه تسویه مستقیم معتبر نیست |\n| `164` | شبای پرداخت‌یاری پی‌پینگ برای این درگاه تنظیم نشده است |\n| `165` | شبای فعالی برای این درگاه یافت نشد |\n| `166` | آی‌پی درخواست در لیست آی‌پی‌های مجاز شما قرار ندارد |\n| `167` | مبلغ تراکنش از حداکثر مبلغ مجاز تراکنش این کسب‌وکار بیشتر است |\n| `168` | پرداخت برای این کسب‌وکار غیرفعال شده است |\n \n #### * در صورت بروز این دست از خطاها، کافیست شناسه پیگیری پی پینگ (paypingTraceId) را به پشتیبانی اعلام نمایید.\n\n## مرجع پاسخ‌های دریافتی از سرویس\n\n\nدر صورتی که انجام عملیات با خطا مواجه شود، اطلاعات مربوط به آن طبق ساختار زیر خواهد بود:\n\n| نام پارامتر      | نوع پارامتر | توضیحات |\n|------------------|-------------|----------|\n| `type`           | string        | لینک مستندات مربوط به خطا |\n| `title`          | string        | عنوان خطای دریافتی |\n| `status`         | number         | کد خطای استاندارد Http <br/> - `400`: اطلاعات ارسالی نامعتبر است <br/> - `409`: عملیات تکراریست یا اطلاعات ارسالی با داده‌های فعلی مغایرت دارد <br/> - `500`: خطای داخلی سرویس رخ داده است |\n| `instance`       | string        | آدرس درخواستی که خطا رخ داده است |\n| `paypingTraceId` | string        | شناسه پیگیری خطای دریافتی |\n| `metaData`       | Json        | اطلاعات خطا |\n\n  *توصیه می‌شود شناسه `paypingTraceId` ذخیره شود تا در فرآیند پشتیبانی سریع‌تر عمل شود.*\n\n  ### نمونه خطای HTTP 400 در فرایند ساخت پرداخت:\n  ```json\n  {\n    \"type\": \"https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1\",\n    \"title\": \"ValidationException\",\n    \"status\": 400,\n    \"instance\": \"/v3/pay\",\n    \"paypingTraceId\": \"0HN50ATIAS006:00000002\",\n    \"metaData\": {\n      \"code\": 101,\n      \"errors\": [\n        { \"message\": \"مقدار فیلد 'آدرس بازگشت پذیرنده' اجباری است\" },\n        { \"message\": \"مقدار فیلد 'شناسه ارجاع پذیرنده' اجباری است\" }\n      ]\n    }\n  }\n  ```\n "
    },
    {
      "name": "Withdraw",
      "description": "متدهای مرتبط با درخواست تسویه حساب."
    },
    {
      "name": "Report",
      "description": "متدهای مرتبط با گزارش تراکنش‌های درخواست و یا پرداخت پول."
    },
    {
      "name": "Product",
      "description": "سرویس‌های عمومی بخش آیتم‌های مالی، لینک ثابت و سرویس‌های مربوط به پروسه پرداخت آنها"
    },
    {
      "name": "PermaLink",
      "description": "سرویس‌های  لینک ثابت آیتم مالی"
    },
    {
      "name": "coupon",
      "description": "سرویس‌های عمومی بخش کدهای تخفیف"
    },
    {
      "name": "Customer",
      "description": "در این بخش میتوانید مشتریان خود را به صورت یک دفترچه سنتی مدیریت و در زمان صدور فاکتور از این لیست استفاده کنید."
    },
    {
      "name": "Invoice",
      "description": "در این بخش میتوانید فاکتور بسازید و با انتخاب یک یا چند مشتری و حتی پست الکترونیک برای آنها فاکتور را ارسال کنید تا نسبت به پرداخت آن اقدام کنند."
    },
    {
      "name": "Schedule",
      "description": "در این بخش میتوانید فاکتور های زمانبندی شده بسازید و با انتخاب یک یا چند مشتری و حتی پست الکترونیک برای آنها فاکتور را ارسال کنید تا نسبت به پرداخت آن اقدام کنند."
    },
    {
      "name": "Upload",
      "description": "متدهای مرتبط با [آپلود فایل‌ها](#section/) ورودی تمام این سرویس‌ها به صورت formData می‌باشد."
    },
    {
      "name": "استعلام بانکی",
      "description": "سرویس های استعلامی مبتنی بر اطلاعات بانکی مانند شماره کارت یا شبا بانکی که در آن میتوانید بر اساس ورودی ها به اطلاعات بانکی/هویتی مشتریان خود دست پیدا کتید"
    },
    {
      "name": "استعلام هویتی",
      "description": "با استفاده از این دسته از سرویس ها میتوانید اطلاعات هویتی مشتریان خود را استخراج نمایید."
    },
    {
      "name": "استعلام خدماتی",
      "description": "با استفاده از این سرویس میتوانید آدرس کد پستی را دریافت نمایید."
    },
    {
      "name": "تنظیمات اقساطی",
      "description": "انجام تنظیمات سرویس اقساطی اعم از تغییر حد اعطای اعتبار و ...."
    },
    {
      "name": "سفارشات اقساطی",
      "description": "سرویس های مربوط به ایجاد و گزارش های فروش اقساطی"
    },
    {
      "name": "طرح های اقساطی",
      "description": "تنظیمات مربوط به طرح های اقساطی"
    }
  ],
  "paths": {
    "/v3/pay": {
      "post": {
        "tags": [
          "Payment-v3"
        ],
        "summary": "ساخت پرداخت-نسخه 3",
        "description": "به کمک این متد می‌توانید یک دستور پرداخت ایجاد کنید.\r\n\r\nبعد از تولید کد پرداخت، کافیست کاربر را به Url داده شده جهت پرداخت ریدایرکت نمایید.\r\n\r\nدر مستند پیش رو برای موضوع \"مبلغ\" با دو واژه مواجه خواهید بود. \"مبلغ دستور پرداخت\" عددی است که شما به عنوان کاربر به پی پینگ اعلام خواهید کرد. جهت تسهیل در شناسایی عدد نهایی تراکنش، پی پینگ در مراحل مختلف \"مبلغ نهایی پرداخت\" را با همین عنوان به شما به عنوان کاربر پی پینگ اعلام می کند. این مبلغ معادل عددی آن چیزیست که پرداخت کننده با آن به درگاه هدایت می شود. در نظر داشته باشید با توجه به سناریوی کارمزد اعمال شده بر روی حساب کاربری شما ممکن است این مبلغ بیشتر از مبلغ دستور پرداخت صادره باشد.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "کافیست کاربر را به Url داده شده جهت پرداخت ریدایرکت کنید",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                },
                "example": {
                  "type": "https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1",
                  "title": "ValidationException",
                  "status": 400,
                  "instance": "/v3/pay",
                  "paypingTraceId": "0HN50ATIAS006:00000002",
                  "metaData": {
                    "code": 101,
                    "errors": [
                      {
                        "message": " ﻣﻘﺪارﻓﯿﻠﺪ'آدرسﺑﺎزگﺸﺖپﺬﯾﺮﻧﺪه'اﺟﺒﺎریاﺳﺖ "
                      },
                      {
                        "message": " ﻣﻘﺪارﻓﯿﻠﺪ'ﺷﻨﺎﺳﮫارﺟﺎعپﺬﯾﺮﻧﺪه'اﺟﺒﺎریاﺳﺖ "
                      }
                    ]
                  }
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          },
          "default": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Payment-v3"
        ],
        "summary": "حذف پرداخت-نسخه 3",
        "description": "از این متد برای حذف یک تراکنش استفاده می‌شود.\r\n            \r\nدر صورتی که تراکنش حداقل یک پرداخت موفق در درگاه داشته باشد،\r\nامکان حذف آن وجود نخواهد داشت.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveModel"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "عملیات حذف با موفقیت انجام شده است."
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "406": {
            "description": "Not Acceptable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          },
          "default": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v3/pay/shared": {
      "post": {
        "tags": [
          "Payment-v3"
        ],
        "summary": "ساخت پرداخت تسهیمی-نسخه 3",
        "description": "در صورتیکه تمایل دارید پس از انجام یک پرداخت، مبالغ بصورت خودکار و به نسبت مشخص بین چند نفر تقسیم شود می‌بایست از پرداخت تسهیمی استفاده نمایید\r\n\r\nبه کمک این متد می‌توانید یک دستور پرداخت تسهیمی ایجاد کنید.\r\n\r\nبعد از تولید کد پرداخت، کافیست کاربر را به Url داده شده جهت پرداخت ریدایرکت نمایید.\r\n\r\nدر مستند پیش رو برای موضوع \"مبلغ\" با دو واژه مواجه خواهید بود. \"مبلغ دستور پرداخت\" عددی است که شما به عنوان کاربر به پی پینگ اعلام خواهید کرد. جهت تسهیل در شناسایی عدد نهایی تراکنش، پی پینگ در مراحل مختلف \"مبلغ نهایی پرداخت\" را با همین عنوان به شما به عنوان کاربر پی پینگ اعلام می کند. این مبلغ معادل عددی آن چیزیست که پرداخت کننده با آن به درگاه هدایت می شود. در نظر داشته باشید با توجه به سناریوی کارمزد اعمال شده بر روی حساب کاربری شما ممکن است این مبلغ بیشتر از مبلغ دستور پرداخت صادره باشد.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SharedPaymentModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "کافیست کاربر را به Url داده شده جهت پرداخت ریدایرکت کنید",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "406": {
            "description": "Not Acceptable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          },
          "default": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v3/pay/start/{paymentCode}": {
      "get": {
        "tags": [
          "Payment-v3"
        ],
        "summary": "انتقال به درگاه-نسخه 3",
        "parameters": [
          {
            "name": "paymentCode",
            "in": "path",
            "description": "کد پرداخت",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "ارتباط با درگاه برقرار نشد",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          },
          "default": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v3/pay/paid/{refId}/{paymentCode}": {
      "get": {
        "tags": [
          "Payment-v3"
        ],
        "summary": "ارسال اطلاعات پرداخت به پذیرنده",
        "description": "این متد بصورت خودکار پس از بازگشت از درگاه فراخوانی می شود و نیاز به فراخوانی از سمت پذیرنده نمی باشد.\r\n\r\nپس از اتمام فرایند در این متد، اطلاعات پرداخت به آدرس ReturnUrl که در مرحله اول (ساخت پرداخت) مشخص شده است در بدنه درخواست بصورت POST (\"Content-Type\": \"application/x-www-form-urlencoded\") ارسال می شود.\r\n\r\n**نکته مهم:** اگر وضعیت تراکنش موفق بود، پذیرنده میبایست \" شناسه ارجاع پذیرنده\" یا  clientRefId را در پایگاه داده خود جستجو نماید و صحت اطلاعات paymentCode و amount ارسالی از پی‌پینگ را با پایگاه داده خود مقایسه نماید. در صورت بروز هرگونه مغایرت، از ادامه تراکنش صرف نظر نمایید.\r\n\r\nنمونه خروجی تولید شده در وضعیت موفق یک پرداخت:\r\n- **status** (integer):  مقدار '1' به معنی موفق، مقدار '0' به معنی عدم پرداخت  \r\n- **errorCode** (integer):  کد خطای بازگشتی - در صورت موفق بودن پرداخت، خالی است\r\n- **data (Json):**\r\n    - clientRefId (string): شناسه ارجاع پذیرنده  \r\n    - paymentCode (string): کد پرداخت  \r\n    - paymentRefId (int64): کد رهگیری پرداخت - این فیلد تنها در پرداخت موفق ارسال خواهد شد\r\n    - amount (integer): مبلغ دستور پرداخت  \r\n    - gatewayAmount (integer): مبلغ نهایی پرداخت  \r\n    - cardNumber (string): شماره کارت پرداخت‌کننده - این فیلد تنها در پرداخت موفق ارسال خواهد شد\r\n    - cardHashPan (string): هش کارت پرداخت‌کننده - این فیلد تنها در پرداخت موفق ارسال خواهد شد\r\n\r\nممکن است با توجه به نوع درگاه پرداختی، شماره کارت و شماره کارت هش شده، ارسال نشوند. در این صورت این مقادیر حتما در مرحله تایید نهایی پرداخت ارسال خواهند شد.",
        "parameters": [
          {
            "name": "refId",
            "in": "path",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "paymentCode",
            "in": "path",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "406": {
            "description": "Not Acceptable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          },
          "default": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Payment-v3"
        ],
        "summary": "ارسال اطلاعات پرداخت به پذیرنده",
        "description": "این متد بصورت خودکار پس از بازگشت از درگاه فراخوانی می شود و نیاز به فراخوانی از سمت پذیرنده نمی باشد.\r\n\r\nپس از اتمام فرایند در این متد، اطلاعات پرداخت به آدرس ReturnUrl که در مرحله اول (ساخت پرداخت) مشخص شده است در بدنه درخواست بصورت POST (\"Content-Type\": \"application/x-www-form-urlencoded\") ارسال می شود.\r\n\r\n**نکته مهم:** اگر وضعیت تراکنش موفق بود، پذیرنده میبایست \" شناسه ارجاع پذیرنده\" یا  clientRefId را در پایگاه داده خود جستجو نماید و صحت اطلاعات paymentCode و amount ارسالی از پی‌پینگ را با پایگاه داده خود مقایسه نماید. در صورت بروز هرگونه مغایرت، از ادامه تراکنش صرف نظر نمایید.\r\n\r\nنمونه خروجی تولید شده در وضعیت موفق یک پرداخت:\r\n- **status** (integer):  مقدار '1' به معنی موفق، مقدار '0' به معنی عدم پرداخت  \r\n- **errorCode** (integer):  کد خطای بازگشتی - در صورت موفق بودن پرداخت، خالی است\r\n- **data (Json):**\r\n    - clientRefId (string): شناسه ارجاع پذیرنده  \r\n    - paymentCode (string): کد پرداخت  \r\n    - paymentRefId (int64): کد رهگیری پرداخت - این فیلد تنها در پرداخت موفق ارسال خواهد شد\r\n    - amount (integer): مبلغ دستور پرداخت  \r\n    - gatewayAmount (integer): مبلغ نهایی پرداخت  \r\n    - cardNumber (string): شماره کارت پرداخت‌کننده - این فیلد تنها در پرداخت موفق ارسال خواهد شد\r\n    - cardHashPan (string): هش کارت پرداخت‌کننده - این فیلد تنها در پرداخت موفق ارسال خواهد شد\r\n\r\nممکن است با توجه به نوع درگاه پرداختی، شماره کارت و شماره کارت هش شده، ارسال نشوند. در این صورت این مقادیر حتما در مرحله تایید نهایی پرداخت ارسال خواهند شد.",
        "parameters": [
          {
            "name": "refId",
            "in": "path",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "paymentCode",
            "in": "path",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "406": {
            "description": "Not Acceptable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          },
          "default": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v3/pay/verify": {
      "post": {
        "tags": [
          "Payment-v3"
        ],
        "summary": "تایید نهایی پرداخت-نسخه 3",
        "description": "از این متد برای تایید پرداخت پس از بازگشت موفق از درگاه بانکی استفاده می‌شود.\r\nدر صورتی که این متد تا 10 دقیقه پس از پرداخت فراخوانی نشود، پرداخت نامعتبر خواهد بود\r\nو وجه پرداختی به حساب پرداخت‌کننده باز خواهد گشت.\r\n            \r\n**نکته مهم:** در صورت موفقیت‌آمیز بودن وریفای تراکنش، پذیرنده می‌بایست صحت اطلاعات\r\namount و clientRefId ارسالی از پی‌پینگ را با پایگاه داده خود مقایسه نماید.\r\nدر صورت بروز هرگونه مغایرت، از تایید تراکنش صرف نظر نمایید.\r\n            \r\nدر صورت دریافت کدهای وضعیت 202 یا 502، عملیات تأیید تراکنش هنوز در حال پردازش است.\r\nدر این حالت از تلاش برای پرداخت مجدد خودداری کنید و متد Verify را مجدداً فراخوانی نمایید\r\nتا نتیجه نهایی تراکنش دریافت شود.\r\n\r\nدر صورتی که پاسخ 409 دریافت کردید و مقدار 'metaData.code' برابر با 110 باشد، به معنای این است که تراکنش قبلاً وریفای شده است و نیازی به تأیید مجدد ندارد.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerifyDto"
                }
              }
            }
          },
          "202": {
            "description": "عملیات تایید تراکنش در حال پردازش است. لطفا مجددا تلاش نمایید."
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "در صورتی که پاسخ 409 دریافت کردید و مقدار 'metaData.code' برابر با 110 باشد، به معنای این است که تراکنش قبلاً وریفای شده است و نیازی به تأیید مجدد ندارد.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentConflictProblemDetails"
                },
                "example": {
                  "type": "https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.8",
                  "title": "ConflictException",
                  "status": 409,
                  "instance": "/v3/pay/verify",
                  "paypingTraceId": "0HN50NTIAS004:00000002",
                  "metaData": {
                    "code": 110,
                    "message": {
                      "Amount": 1000,
                      "PayerWage": 10,
                      "BusinessWage": 0,
                      "GatewayAmount": 1010,
                      "CardNumber": "603799******1234",
                      "CardHashPan": "be7eec45143dea50c39f1559640c1273",
                      "ClientRefId": "123",
                      "PaymentRefId": 1111004003,
                      "Code": "01K2YQYESEQGNMCVFPQ9VC96YF",
                      "PayedDate": "2024-08-03 10:30:00Z"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "عملیات تایید تراکنش در حال پردازش است. لطفا مجددا تلاش نمایید."
          },
          "default": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v3/pay/reverse": {
      "post": {
        "tags": [
          "Payment-v3"
        ],
        "summary": "بازگشت وجه پرداخت-نسخه 3",
        "description": "این سرویس جهت بازگرداندن مبلغ پرداخت‌شده ی خریدار طراحی شده است. پذیرنده می‌تواند تا 30 دقیقه پس از پرداخت موفق و تایید تراکنش (وریفای)، درخواست بازگشت وجه (مستقیماً به کارت خریدار) را ثبت نماید.\r\n\r\nدر صورتیکه بخواهید یک تراکنش امکان ریورس داشته باشد، باید در مرحله ساخت پرداخت پارامتر:\r\n\r\n**isReversible: true**\r\n\r\nرا به همراه سایر پارامترهای ساخت یک پرداخت (ساده/تسهیمی) ارسال نمایید.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReverseModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReverseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          },
          "406": {
            "description": "Not Acceptable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          },
          "default": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v3/pay/share": {
      "post": {
        "tags": [
          "Payment-v3"
        ],
        "summary": "انجام تسهیم بین ذی‌نفعان",
        "description": "این متد امکان تسهیم مبلغ یه پرداخت به ذی‌نفعان مشخص‌شده را فراهم می‌کند.\r\n            \r\nشرایط لازم برای استفاده از این متد:\r\n- پرداخت در زمان ایجاد به‌صورت بلاک (Blocked) ثبت شده باشد.\r\n- تراکنش با وضعیت موفق (Successful) تکمیل شده باشد.\r\n- پرداخت قبلاً تسهیم نشده باشد.\r\n            \r\nنکته:\r\nتسهیم صرفاً زمانی انجام می‌شود که حداقل یک ذی‌نفع معتبر در درخواست مشخص شده باشد.\r\nامکان تسهیم صد به صفر با یک کاربر دیگر نیز وجود دارد.",
        "operationId": "ShareWithModelWithApiVersionWithCancellationTokenPost",
        "requestBody": {
          "description": "مدل تسهیم پرداخت که شامل:\r\n- `PaymentRefId`: کد رهگیری پرداخت\r\n- `PaymentCode`: کد پرداخت\r\n- `Amount`: مبلغ دستور پرداخت\r\n- `PaymentShares`: لیست اطلاعات تسهیم برای هر ذی‌نفع",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShareRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "پرداخت با موفقیت بین ذی‌نفعان تسهیم شد.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShareResult"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          },
          "406": {
            "description": "Not Acceptable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          },
          "default": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v3/pay/unblock": {
      "post": {
        "tags": [
          "Payment-v3"
        ],
        "summary": "آزادسازی پرداخت مسدود شده",
        "description": "این متد امکان آزادسازی یک پرداخت مسدود شده را فراهم می‌کند.\r\n            \r\nشرایط لازم برای استفاده از این متد:\r\n- پرداخت در زمان ایجاد به‌صورت بلاک (Blocked) ثبت شده باشد.\r\n- پرداخت توسط ادمین سیستم بلاک نشده باشد\r\n            \r\nنکته:\r\nدر صورتی که پرداخت تسهیمی باشد، باید کد پرداخت اصلی ارسال شود و نه کد پرداخت های ذینفعان.",
        "operationId": "UnblockWithModelWithApiVersionWithCancellationTokenPost",
        "requestBody": {
          "description": "مدل آزادسازی پرداخت که شامل:\r\n- `PaymentCode`: کد پرداخت\r\n- `Amount`: مبلغ دستور پرداخت",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnblockRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "عملیات آزادسازی پرداخت با موفقیت انجام شده است."
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          },
          "406": {
            "description": "Not Acceptable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          },
          "default": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/report/TransactionReport": {
      "post": {
        "tags": [
          "Report"
        ],
        "summary": "گزارش تراکنش ها",
        "description": "از این متد برای نمایش جزئیات تراکنش های کاربر استفاده می شود.",
        "operationId": "TransactionsReport",
        "requestBody": {
          "$ref": "#/components/requestBodies/TransactionReportModel"
        },
        "responses": {
          "200": {
            "description": "لیسات تراکنش ها با موفقیت ساخته شد",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TransactionReportViewModel"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "pay:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/report/TransactionReportCount": {
      "post": {
        "tags": [
          "Report"
        ],
        "summary": "تعداد تراکنش ها",
        "description": "از این متد برای نمایش تعداد تراکنش های برگشت داده شده از متد TransactionReport استفاده می شود.",
        "operationId": "TransactionsReportCount",
        "requestBody": {
          "$ref": "#/components/requestBodies/BaseTransactionReport"
        },
        "responses": {
          "200": {
            "description": "تعداد تراکنش ها با موفقیت ساخته شد",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResultViewModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "pay:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/report/WithdrawTransactions": {
      "post": {
        "tags": [
          "Report"
        ],
        "summary": "دریافت لیست تسویه حساب",
        "description": "به کمک این متد می توانید لیست درخواست های تسویه شده و در انتظار تسویه را نمایش دهید.",
        "operationId": "WithdrawTransactionsReport",
        "requestBody": {
          "$ref": "#/components/requestBodies/TransactionReportModel"
        },
        "responses": {
          "200": {
            "description": "جزئیات تسویه با موفقیت نمایش داده شد",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TransactionWithdrawDetailsViewModel"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "pay:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/report/WithdrawTransactionsCount": {
      "post": {
        "tags": [
          "Report"
        ],
        "summary": "تعداد لیست تسویه حساب",
        "description": "به کمک این متد می توانید تعداد لیست درخواست های تسویه شده و در انتظار تسویه را که از متد WithdrawTransactions دریافت کرده اید را نمایش دهید.",
        "operationId": "WithdrawTransactionsCount",
        "requestBody": {
          "$ref": "#/components/requestBodies/BaseTransactionReport"
        },
        "responses": {
          "200": {
            "description": "جزئیات تسویه با موفقیت نمایش داده شد",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResultViewModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "pay:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/report/{code}": {
      "get": {
        "tags": [
          "Report"
        ],
        "summary": "نمایش جزئیات تراکنش و مغایرت گیری",
        "description": "از این متد برای نمایش جزئیات یک تراکنش با استفاده از کد پرداخت، استفاده می شود.  \n\n  **توجه:**  \n  با استفاده از فیلد PaymentStatus شما می توانید از وضعیت تراکنش در هر مرحله ای مطلع شوید و اقدامات لازم را انجام دهید.  \n  با استفاده از فیلد IsPaid شما متوجه می شوید که یک تراکنش وریفای (تایید نهایی) شده است یا خیر.  \n\n  `مغایرت گیری`  \n  در صورتی که refid را در بازگشت خریدار از درگاه بانکی به هر دلیلی دریافت نکردید از طریق فراخوانی کد پرداخت با این متد آخرین refid پرداخت را دریافت کرده و براساس آن پرداخت هایی که در وضعیت PaymentStatus=5 قرار دارند یعنی 'کاربر از درگاه با موفقیت برگشته و منتظر وریفای پذیرنده هست'، را وریفای نمایید.",
        "operationId": "GetPaymentDetails",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "description": "کد پرداخت",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "جزئیات تراکنش با موفقیت ساخته شد",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentDetailsVM"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "pay:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/withdraw/{amount}": {
      "post": {
        "tags": [
          "Withdraw"
        ],
        "summary": "درخواست تسویه حساب",
        "description": "به کمک این متد می توانید یک درخواست تسویه با مبلغ دلخواه ایجاد نمایید. خروجی این متد شامل یک یا چند کد تسویه می باشد.  \n\n  **توجه:** علت ایجاد چند کد تسویه در برخی از درخواست ها، وجود موجودی روی پایانه های فروشگاهی مختلف می باشد.",
        "operationId": "CreateWithdraw",
        "parameters": [
          {
            "name": "amount",
            "in": "path",
            "description": "مبلغ تسویه حساب",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "maximum": 100000000,
              "minimum": 1000,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "تسویه حساب جدید با موفقیت ساخته شد",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WithdrawResult"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "pay:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/withdraw/{code}": {
      "get": {
        "tags": [
          "Withdraw"
        ],
        "summary": "نمایش جزئیات درخواست تسویه",
        "description": "از این متد برای نمایش جزئیات یک درخواست تسویه استفاده می شود.",
        "operationId": "GetWithdrawDetails",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "description": "کد درخواست تسویه",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "جزئیات تسویه با موفقیت نمایش داده شد",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WithdrawDetailsViewModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "pay:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/customer": {
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "مشتری جدید",
        "operationId": "CreateCustomer",
        "requestBody": {
          "description": "مشخصات مشتری",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerCreateViewModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "نمایش مشخصات مشتری",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerDetailViewModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "customer:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/customer/{code}": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "مشخصات مشتری",
        "operationId": "GetCustomerDetails",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "description": "کد مشتری ارسال نمایید",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "نمایش مشخصات مشتری",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerDetailViewModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "customer:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      },
      "put": {
        "tags": [
          "Customer"
        ],
        "summary": "بروزرسانی مشخصات مشتری",
        "operationId": "EditCustomer",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "description": "کلید یکتا مشتری",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "مشخصات بروز شده مشتری",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerEditViewModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "نمایش مشخصات مشتری",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerDetailViewModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "customer:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      },
      "delete": {
        "tags": [
          "Customer"
        ],
        "summary": "حذف مشتری",
        "operationId": "DeleteCustomer",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "description": "کلید یکتا مشتری",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "نمایش کلید یکتای مشتری",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "customer:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/customer/List": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "لیست مشتریان",
        "operationId": "GetCustomerList",
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "شروع صفحه از شماره 1",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "تعداد سطر بازگشت داده ها مثال : 10",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "متن مورد نظر جهت جستجو",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customerType",
            "in": "query",
            "description": "نوع مشتری - حقیقی یا حقوقی",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0,
              "enum": [
                0,
                1,
                2
              ]
            }
          },
          {
            "name": "withPhoto",
            "in": "query",
            "description": "با آدرس تصویر مشتری",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "code",
            "in": "query",
            "description": "کد مشتری",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "نمایش لیست مشتریان",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerListItemViewModel"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "customer:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/customer/ListCount": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "تعداد مشتریان",
        "operationId": "GetCustomerListCount",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "description": "متن مورد نظر جهت جستجو",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customerType",
            "in": "query",
            "description": "نوع مشتری - حقیقی یا حقوقی",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0,
              "enum": [
                0,
                1,
                2
              ]
            }
          },
          {
            "name": "code",
            "in": "query",
            "description": "کد مشتری",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "نمایش تعداد مشتریان",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListCountViewModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "customer:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/coupon": {
      "put": {
        "tags": [
          "coupon"
        ],
        "summary": "بروزرسانی کد تخفیف",
        "operationId": "EditCoupon",
        "requestBody": {
          "description": "مشخصات کد تخفیف",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CouponEditViewModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "کد تخفیف با موفقیت بروزرسانی شد"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "product:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      },
      "post": {
        "tags": [
          "coupon"
        ],
        "summary": "ساخت یک کد تخفیف جدید",
        "operationId": "CreateCoupon",
        "requestBody": {
          "description": "مشخصات کد تخفیف",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CouponCreateViewModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "کد تخفیف با موفقیت ساخته شد",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CodeViewModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "coupon:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/coupon/{code}": {
      "get": {
        "tags": [
          "coupon"
        ],
        "summary": "نمایش یک کد تخفیف",
        "operationId": "GetCouponDetails",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "description": "شناسه کد تخفیف",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "کد تخفیف با موفقیت نمایش داده شد",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CouponDetailViewModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "coupon:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      },
      "delete": {
        "tags": [
          "coupon"
        ],
        "summary": "حذف یک کد تخفیف",
        "operationId": "DeleteCoupon",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "description": "شناسه کد تخفیف",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "کد تخفیف با موفقیت حذف شد"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "coupon:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/coupon/List": {
      "get": {
        "tags": [
          "coupon"
        ],
        "summary": "نمایش لیست کدهای تخفیف",
        "operationId": "GetCouponList",
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "شماره ابتدا لیست",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "شماره انتها لیست",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          },
          {
            "name": "witharchived",
            "in": "query",
            "description": "اضافه شدن کدهای تخفیف‌ آرشیو شده",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "کیلدواژه جستجو در کدهای تخفیف",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productcode",
            "in": "query",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "لیست کدهای تخفیف با موفقیت نمایش داده شد",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CouponListItemViewModel"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "coupon:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/coupon/ListCount": {
      "get": {
        "tags": [
          "coupon"
        ],
        "summary": "دریافت تعداد کدهای تخفیف",
        "operationId": "GetCouponListCount",
        "parameters": [
          {
            "name": "witharchived",
            "in": "query",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "تعداد کدهای تخفیف با موفقیت نمایش داده شد",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CountViewModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "coupon:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/coupon/{couponCode}/BuyersListCount": {
      "get": {
        "tags": [
          "coupon"
        ],
        "summary": "دریافت تعداد خرید‌های یک کد تخفیف",
        "operationId": "GetCouponBuyersCount",
        "parameters": [
          {
            "name": "couponCode",
            "in": "path",
            "description": "شناسه کد تخفیف",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "تعداد خریدهای یک کد تخفیف با موفقیت نمایش داده شد",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CountViewModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "coupon:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/coupon/{couponCode}/BuyersList": {
      "get": {
        "tags": [
          "coupon"
        ],
        "summary": "دریافت لیست پرداخت‌های انجام شده یک کد تخفیف",
        "operationId": "GetCouponBuyersList",
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "شماره ابتدا لیست",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "شماره انتها لیست",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          },
          {
            "name": "couponCode",
            "in": "path",
            "description": "شناسه کد تخفیف",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "لیست خریدهای این کد تخفیف با موفقیت نمایش داده شد",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BuyerDetailsViewModel"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "coupon:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/product": {
      "put": {
        "tags": [
          "Product"
        ],
        "summary": "بروزرسانی آیتم مالی",
        "operationId": "EditProduct",
        "requestBody": {
          "description": "مشخصات آیتم مالی",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductEditViewModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "آیتم‌ مالی با موفقیت بروزرسانی شد"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "product:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      },
      "post": {
        "tags": [
          "Product"
        ],
        "summary": "ساخت یک آیتم‌ مالی جدید",
        "operationId": "CreateProduct",
        "requestBody": {
          "description": "مشخصات آیتم مالی",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductCreateViewModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "آیتم مالی با موفقیت ساخته شد",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CodeViewModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "product:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/product/{code}": {
      "get": {
        "tags": [
          "Product"
        ],
        "summary": "نمایش یک آیتم مالی",
        "operationId": "GetProductDetails",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "description": "کد آیتم مالی",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "آیتم مالی با موفقیت نمایش داده شد",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductFullDeatilViewModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "product:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      },
      "delete": {
        "tags": [
          "Product"
        ],
        "summary": "حذف یک آیتم مالی",
        "operationId": "DeleteProduct",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "description": "کد آیتم مالی",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "آیتم مالی با موفقیت حذف شد"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "product:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/product/List": {
      "get": {
        "tags": [
          "Product"
        ],
        "summary": "دریافت لیست آیتم‌های مالی",
        "operationId": "GetProductList",
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "شماره ابتدا لیست",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "شماره انتها لیست",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          },
          {
            "name": "witharchived",
            "in": "query",
            "description": "اضافه شدن آیتم‌های آرشیو شده",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "کیلدواژه جستجو در آیتم‌های مالی",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "لیست آیتم‌های مالی با موفقیت نمایش داده شد",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductListItemViewModel"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "product:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/permalink": {
      "put": {
        "tags": [
          "PermaLink"
        ],
        "summary": "ویرایش لینک ثابت یک آیتم مالی",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PermanentEditViewModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PermanentEditViewModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PermanentEditViewModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PermanentEditViewModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "profile",
              "email",
              "nationalcode",
              "birthday",
              "shaba",
              "phone",
              "pay:read",
              "pay:write",
              "product:read",
              "product:write",
              "coupon:read",
              "coupon:write",
              "customer:read",
              "customer:write",
              "invoice:read",
              "invoice:write",
              "upload:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      },
      "post": {
        "tags": [
          "PermaLink"
        ],
        "summary": "ساخت لینک ثابت برای یک آیتم مالی",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PermanentCreateViewModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PermanentCreateViewModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PermanentCreateViewModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PermanentCreateViewModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "لینک آیتم مالی با موفقیت ساخته شد",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CodeVM"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "profile",
              "email",
              "nationalcode",
              "birthday",
              "shaba",
              "phone",
              "pay:read",
              "pay:write",
              "product:read",
              "product:write",
              "coupon:read",
              "coupon:write",
              "customer:read",
              "customer:write",
              "invoice:read",
              "invoice:write",
              "upload:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/permalink/{code}": {
      "get": {
        "tags": [
          "PermaLink"
        ],
        "summary": "دریافت اطلاعات لینک ثابت ",
        "operationId": "GetPermaList",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PermanentDetailViewModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "product:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      },
      "delete": {
        "tags": [
          "PermaLink"
        ],
        "summary": "حذف لینک ثابت برای یک آیتم مالی",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "profile",
              "email",
              "nationalcode",
              "birthday",
              "shaba",
              "phone",
              "pay:read",
              "pay:write",
              "product:read",
              "product:write",
              "coupon:read",
              "coupon:write",
              "customer:read",
              "customer:write",
              "invoice:read",
              "invoice:write",
              "upload:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/permalink/{productCode}/BuyersList": {
      "get": {
        "tags": [
          "PermaLink"
        ],
        "summary": "دریافت لیست اطلاعات خریداران یک آیتم مالی دارای لینک ثابت",
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true,
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true,
              "default": 10
            }
          },
          {
            "name": "productCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "nullable": true,
                  "items": {
                    "$ref": "#/components/schemas/ProductBuyerViewModel"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "profile",
              "email",
              "nationalcode",
              "birthday",
              "shaba",
              "phone",
              "pay:read",
              "pay:write",
              "product:read",
              "product:write",
              "coupon:read",
              "coupon:write",
              "customer:read",
              "customer:write",
              "invoice:read",
              "invoice:write",
              "upload:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/permalink/{productCode}/BuyersListCount": {
      "get": {
        "tags": [
          "PermaLink"
        ],
        "summary": "دریافت تعداد لیست اطلاعات خریداران یک آیتم مالی دارای لینک ثابت",
        "parameters": [
          {
            "name": "productCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CountVM"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "profile",
              "email",
              "nationalcode",
              "birthday",
              "shaba",
              "phone",
              "pay:read",
              "pay:write",
              "product:read",
              "product:write",
              "coupon:read",
              "coupon:write",
              "customer:read",
              "customer:write",
              "invoice:read",
              "invoice:write",
              "upload:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/permalink/{payCode}/Buyer": {
      "get": {
        "tags": [
          "PermaLink"
        ],
        "summary": "دریافت اطلاعات خریدار مربوط به یک کد پرداخت",
        "parameters": [
          {
            "name": "payCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BuyerDetailsViewModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "profile",
              "email",
              "nationalcode",
              "birthday",
              "shaba",
              "phone",
              "pay:read",
              "pay:write",
              "product:read",
              "product:write",
              "coupon:read",
              "coupon:write",
              "customer:read",
              "customer:write",
              "invoice:read",
              "invoice:write",
              "upload:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v2/invoice": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "فاکتور جدید",
        "operationId": "CreateInvoice",
        "requestBody": {
          "description": "مشخصات فاکتور",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceCreateViewModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "نمایش فاکتور",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceScheduleCreateResponseItem"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "invoice:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v2/invoice/Send/{code}": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "ارسال فاکتور",
        "operationId": "SendInvoice",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "description": "کلید یکتای فاکتور",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "نمایش وضعیت ارسال فاکتور",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceSendInvoiceResponseViewModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "invoice:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v2/invoice/{code}": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "دریافت فاکتور",
        "operationId": "GetInvoiceDetails",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "description": "کلید یکتای فاکتور",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "نمایش فاکتور",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceDetailViewModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "invoice:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      },
      "put": {
        "tags": [
          "Invoice"
        ],
        "summary": "بروزرسانی فاکتور",
        "operationId": "EditInvoice",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "description": "کلید یکتای فاکتور",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "فاکتور بروز شده",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceEditViewModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "نمایش فاکتور",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceDetailViewModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "invoice:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v2/invoice/Archive/{code}": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "آرشیو فاکتور",
        "operationId": "ArchiveWithCodePost",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "200": {
            "description": "Success"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "invoice:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v2/invoice/DeArchive/{code}": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "خروج فاکتور از آرشیو",
        "operationId": "DeArchiveWithCodePost",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "200": {
            "description": "Success"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "invoice:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v2/invoice/Pdf/{code}": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "فاکتور غیر رسمی pdf درخواست",
        "operationId": "GetInvoicePdf",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "description": "کلید یکتای فاکتور",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "نمایش مشخصات فایل فاکتور غیر رسمی",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicePdfResponseViewModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "invoice:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v2/invoice/List": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "لیست فاکتور ها",
        "operationId": "GetInvoiceList",
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "فیلتر وضعیت فاکتور:\n  * 0 - پیش‌نویس\n  * 1 - در انتظار پرداخت\n  * 2 - پرداخت شد\n  * 3 - معوق\n  * 4 - لغو شده\n  * 5 - همه\n  * 6 - مرجوعی\n  * 7 - اصلاحیه\n",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "enum": [
                0,
                1,
                2,
                3,
                4,
                5,
                6,
                7
              ],
              "default": 0
            }
          },
          {
            "name": "isArchived",
            "in": "query",
            "description": "فیلتر بایگانی",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "IsSearchDueDate",
            "in": "query",
            "description": "فیلتر با تاریخ سررسید",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "IsSearchCreateDate",
            "in": "query",
            "description": "فیلتر با تاریخ ثبت",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "searchDateFrom",
            "in": "query",
            "description": "شروع از تاریخ",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "default": "1403/02/01"
            }
          },
          {
            "name": "searchDateTo",
            "in": "query",
            "description": "تا تاریخ",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "default": "1404/02/01"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "متن جستجو:\n  - جستجو بر روی نام فاکتور\n  - جستجو بر روی کد مشتری\n  - جست و جو بر روی شماره فاکتور\n  - جست و جو بر روی تاریخ فارسی ارسال و سر رسید\n  - جست و جو بر روی مبلغ نهایی فاکتور\n  - جست و جو بر روی کد فاکتور والد\n",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "CustomerCode",
            "in": "query",
            "description": "فیلتر بر اساس کد مشتری",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "invoiceCode",
            "in": "query",
            "description": "فیلتر براساس کد فاکتور",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "نمایش لیست فاکتور ها",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceListItemViewModel"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "invoice:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v2/invoice/ListCount": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "تعداد فاکتور ها",
        "operationId": "GetInvoiceListCount",
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "فیلتر وضعیت فاکتور:\n  * 0 - پیش‌نویس\n  * 1 - در انتظار پرداخت\n  * 2 - پرداخت شد\n  * 3 - معوق\n  * 4 - لغو شده\n  * 5 - همه\n  * 6 - مرجوعی\n  * 7 - اصلاحیه\n",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "enum": [
                0,
                1,
                2,
                3,
                4,
                5,
                6,
                7
              ],
              "default": 0
            }
          },
          {
            "name": "isArchived",
            "in": "query",
            "description": "فیلتر بایگانی",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "IsSearchDueDate",
            "in": "query",
            "description": "فیلتر با تاریخ سررسید",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "IsSearchCreateDate",
            "in": "query",
            "description": "فیلتر با تاریخ ثبت",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "searchDateFrom",
            "in": "query",
            "description": "شروع از تاریخ",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "default": "1403/02/01"
            }
          },
          {
            "name": "searchDateTo",
            "in": "query",
            "description": "تا تاریخ",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "default": "1404/02/01"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "متن جستجو:\n  - جستجو بر روی نام فاکتور\n  - جستجو بر روی کد مشتری\n  - جست و جو بر روی شماره فاکتور\n  - جست و جو بر روی تاریخ فارسی ارسال و سر رسید\n  - جست و جو بر روی مبلغ نهایی فاکتور\n  - جست و جو بر روی کد فاکتور والد\n",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "CustomerCode",
            "in": "query",
            "description": "فیلتر بر اساس کد مشتری",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "invoiceCode",
            "in": "query",
            "description": "فیلتر براساس کد فاکتور",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "نمایش تعداد فاکتورها",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "count": {
                      "type": "integer",
                      "description": "تعداد فاکتورها",
                      "example": 12
                    }
                  },
                  "required": [
                    "count"
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "invoice:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v2/invoice/Copy": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "کپی یک فاکتور برای مشتری جدید",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceCopyRequestViewModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceCopyRequestViewModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceCopyRequestViewModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceCopyRequestViewModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceCreateResponseViewModel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Server Error"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "profile",
              "email",
              "nationalcode",
              "birthday",
              "shaba",
              "phone",
              "pay:read",
              "pay:write",
              "product:read",
              "product:write",
              "coupon:read",
              "coupon:write",
              "customer:read",
              "customer:write",
              "invoice:read",
              "invoice:write",
              "upload:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v2/invoice/Cancel": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "درخواست لغو فاکتور",
        "operationId": "CancelInvoice",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceCancelRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "example": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "invoice:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v2/invoice/Schedule": {
      "post": {
        "tags": [
          "Schedule"
        ],
        "summary": "فاکتور زمانبندی شده جدید",
        "operationId": "CreateInvoiceSchedule",
        "requestBody": {
          "description": "مشخصات فاکتور زمانبندی شده",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceCreateScheduleViewModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "لیست فاکتورهای زمانبندی شده ایجاد شده",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceScheduleCreateResponseItem"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "invoice:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v2/invoice/CancelSchedule": {
      "post": {
        "tags": [
          "Schedule"
        ],
        "summary": "لغو زمانبندی یک فاکتور",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceCancelRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceCancelRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceCancelRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceCancelRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "example": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Server Error"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "profile",
              "email",
              "nationalcode",
              "birthday",
              "shaba",
              "phone",
              "pay:read",
              "pay:write",
              "product:read",
              "product:write",
              "coupon:read",
              "coupon:write",
              "customer:read",
              "customer:write",
              "invoice:read",
              "invoice:write",
              "upload:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v2/invoice/Schedule/{code}": {
      "get": {
        "tags": [
          "Schedule"
        ],
        "summary": "دریافت فاکتور زمانبندی شده",
        "operationId": "GetInvoiceSchedule",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "فاکتور زمانبندی شده",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleInvoiceWithChilds"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "invoice:read"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v2/invoice/Reminder/{code}": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "ارسال یادآوری فاکتور",
        "operationId": "RemindeInvoice",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "description": "کلید یکتای فاکتور",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "نمایش وضعیت ارسال یادآوری فاکتور",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceSendReminderResponseViewModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "invoice:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v2/invoice/PaymentCode": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "دریافت کد پرداخت برای یک فاکتور",
        "parameters": [
          {
            "name": "Code",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "CouponCode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicePaymentCodeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Server Error"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "profile",
              "email",
              "nationalcode",
              "birthday",
              "shaba",
              "phone",
              "pay:read",
              "pay:write",
              "product:read",
              "product:write",
              "coupon:read",
              "coupon:write",
              "customer:read",
              "customer:write",
              "invoice:read",
              "invoice:write",
              "upload:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v2/invoice/ConfirmPayment": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "تایید پرداخت یک فاکتور",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceConfirmPaymentRequestViewModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceConfirmPaymentRequestViewModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceConfirmPaymentRequestViewModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceConfirmPaymentRequestViewModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceConfirmPaymentResponseViewModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Server Error"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "profile",
              "email",
              "nationalcode",
              "birthday",
              "shaba",
              "phone",
              "pay:read",
              "pay:write",
              "product:read",
              "product:write",
              "coupon:read",
              "coupon:write",
              "customer:read",
              "customer:write",
              "invoice:read",
              "invoice:write",
              "upload:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v2/invoice/FastInvoice": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "ساخت همزمان فاکتور و مشتری و دریافت کد پرداخت",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/FastInvoiceCreateRequestViewModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FastInvoiceCreateRequestViewModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FastInvoiceCreateRequestViewModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FastInvoiceCreateRequestViewModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastInvoiceCreateResponseViewModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Server Error"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "profile",
              "email",
              "nationalcode",
              "birthday",
              "shaba",
              "phone",
              "pay:read",
              "pay:write",
              "product:read",
              "product:write",
              "coupon:read",
              "coupon:write",
              "customer:read",
              "customer:write",
              "invoice:read",
              "invoice:write",
              "upload:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/upload/ProfilePic": {
      "post": {
        "tags": [
          "Upload"
        ],
        "summary": "آپلود عکس پروفایل کاربری",
        "description": "محدودیت‌های فایل‌های ورودی:\r\n\r\nJPG, PNG, JPEG",
        "operationId": "UploadProfilePic",
        "requestBody": {
          "$ref": "#/components/requestBodies/UploadProfilePic"
        },
        "responses": {
          "200": {
            "description": "عکس کاربر با موفقیت آپلود شد"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "upload:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/upload/Item": {
      "post": {
        "tags": [
          "Upload"
        ],
        "summary": "آپلود عکس یک آیتم‌مالی",
        "description": "محدودیت‌های فایل‌های ورودی:\r\n\r\nJPG, PNG, JPEG",
        "operationId": "UploadItem",
        "requestBody": {
          "$ref": "#/components/requestBodies/UploadProfilePic"
        },
        "responses": {
          "200": {
            "description": "عکس آیتم‌مالی با موفقیت آپلود شد"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "upload:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/upload/InvoiceAttachment": {
      "post": {
        "tags": [
          "Upload"
        ],
        "summary": "آپلود فایل‌ ضمیمه یک فاکتور",
        "description": "محدودیت‌های فایل‌های ورودی:\r\n\r\nمحدودیت ندارد.",
        "operationId": "UploadInvoiceAttachment",
        "requestBody": {
          "$ref": "#/components/requestBodies/UploadProfilePic"
        },
        "responses": {
          "200": {
            "description": "فایل ضمیمه فاکتور با موفقیت آپلود شد"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "upload:write"
            ]
          }
        ],
        "servers": [
          {
            "url": "https://api.payping.ir/"
          }
        ]
      }
    },
    "/v1/inquiry/Cards/card-to-owner-info-inquiry": {
      "get": {
        "tags": [
          "استعلام بانکی"
        ],
        "summary": "‌استعلام کارت",
        "description": "با استفاده از سرویس استعلام کارت می‌توانید با ارسال شماره کارت، نام صاحب کارت را دریافت نمایید.",
        "operationId": "CardToOwnerInfoInquiry",
        "parameters": [
          {
            "name": "cardNumber",
            "in": "query",
            "description": "شماره کارت",
            "required": true,
            "style": "form",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "خروجی سرویس استعلام مشخصات صاحب کارت",
            "content": {
              "application/ json": {
                "schema": {
                  "$ref": "#/components/schemas/CardToOwnerInfoResultModel"
                }
              }
            }
          },
          "400": {
            "description": "درخواست نامعتبر است",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.validation_error",
                  "status": 400,
                  "detail": "خطا در پارامترهای ارسالی",
                  "instance": "/v1/inquiry/Cards/card-to-owner-info-inquiry",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111",
                  "errors": [
                    {
                      "card_not_valid": "شماره کارت معتبر نیست"
                    },
                    {
                      "natioalCode_not_valid": "کد ملی معتبر نیست"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "خطای احراز هویت",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthenticatedProblemDetails"
                },
                "example": {
                  "title": "unauthenticated",
                  "status": 401,
                  "detail": "خطای احراز هویت",
                  "instance": "/v1/inquiry/Cards/card-to-owner-info-inquiry",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "403": {
            "description": "خطای عدم دسترسی",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedProblemDetails"
                },
                "example": {
                  "title": "unauthorized",
                  "status": 403,
                  "detail": "خطای عدم دسترسی",
                  "instance": "/v1/inquiry/Cards/card-to-owner-info-inquiry",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "500": {
            "description": "خطای داخلی",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.error",
                  "status": 500,
                  "detail": "خطایی در پردازش درخواست رخ داده است",
                  "instance": "/v1/inquiry/Cards/card-to-owner-info-inquiry",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "503": {
            "description": "خطای سرویس",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.proxy_error",
                  "status": 503,
                  "detail": "خطایی در پردازش درخواست رخ داده است",
                  "instance": "/v1/inquiry/Cards/card-to-owner-info-inquiry",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "inquiry:bankInquiry"
            ]
          }
        ]
      }
    },
    "/v1/inquiry/Cards/card-to-sheba-inquiry": {
      "get": {
        "tags": [
          "استعلام بانکی"
        ],
        "summary": "‌تبدیل کارت به شبا",
        "description": "با استفاده از سرویس تبدیل کارت به شبا می‌توانید با ارسال شماره کارت، اطلاعات حساب از قبیل شماره شبا، نام صاحب حساب و نام بانک را دریافت نمایید.",
        "operationId": "CardToShebaInquiry",
        "parameters": [
          {
            "name": "cardNumber",
            "in": "query",
            "description": "شماره کارت",
            "required": true,
            "style": "form",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "خروجی سرویس استعلام شماره شبای کارت",
            "content": {
              "application/ json": {
                "schema": {
                  "$ref": "#/components/schemas/CardToShebaResultModel"
                }
              }
            }
          },
          "400": {
            "description": "درخواست نامعتبر است",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.validation_error",
                  "status": 400,
                  "detail": "خطا در پارامترهای ارسالی",
                  "instance": "/v1/************************",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111",
                  "errors": [
                    {
                      "card_not_valid": "شماره کارت معتبر نیست"
                    },
                    {
                      "natioalCode_not_valid": "کد ملی معتبر نیست"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "خطای احراز هویت",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthenticatedProblemDetails"
                },
                "example": {
                  "title": "unauthenticated",
                  "status": 401,
                  "detail": "خطای احراز هویت",
                  "instance": "/v1/inquiry/Cards/card-to-sheba-inquiry",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "403": {
            "description": "خطای عدم دسترسی",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedProblemDetails"
                },
                "example": {
                  "title": "unauthorized",
                  "status": 403,
                  "detail": "خطای عدم دسترسی",
                  "instance": "/v1/inquiry/Cards/card-to-sheba-inquiry",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "500": {
            "description": "خطای داخلی",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.error",
                  "status": 500,
                  "detail": "خطایی در پردازش درخواست رخ داده است",
                  "instance": "/v1/************************",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "503": {
            "description": "خطای سرویس",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.proxy_error",
                  "status": 503,
                  "detail": "خطایی در پردازش درخواست رخ داده است",
                  "instance": "/v1/************************",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "inquiry:bankInquiry"
            ]
          }
        ]
      }
    },
    "/v1/inquiry/Cards/card-to-deposit-inquiry": {
      "get": {
        "tags": [
          "استعلام بانکی"
        ],
        "summary": "‌تبدیل کارت به حساب",
        "description": "با استفاده از سرویس تبدیل کارت به حساب می‌توانید با ارسال شماره کارت، اطلاعات حساب از قبیل شماره حساب ، نام صاحب حساب و نام بانک را دریافت نمایید..",
        "operationId": "CardToDepositInquiry",
        "parameters": [
          {
            "name": "cardNumber",
            "in": "query",
            "description": "شماره کارت",
            "required": true,
            "style": "form",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "خروجی سرویس استعلام شماره حساب کارت",
            "content": {
              "application/ json": {
                "schema": {
                  "$ref": "#/components/schemas/CardToDepositResultModel"
                }
              }
            }
          },
          "400": {
            "description": "درخواست نامعتبر است",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.validation_error",
                  "status": 400,
                  "detail": "خطا در پارامترهای ارسالی",
                  "instance": "/v1/************************",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111",
                  "errors": [
                    {
                      "card_not_valid": "شماره کارت معتبر نیست"
                    },
                    {
                      "natioalCode_not_valid": "کد ملی معتبر نیست"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "خطای احراز هویت",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthenticatedProblemDetails"
                },
                "example": {
                  "title": "unauthenticated",
                  "status": 401,
                  "detail": "خطای احراز هویت",
                  "instance": "/v1/inquiry/Cards/card-to-deposit-inquiry",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "403": {
            "description": "خطای عدم دسترسی",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedProblemDetails"
                },
                "example": {
                  "title": "unauthorized",
                  "status": 403,
                  "detail": "خطای عدم دسترسی",
                  "instance": "/v1/inquiry/Cards/card-to-deposit-inquiry",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "500": {
            "description": "خطای داخلی",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.error",
                  "status": 500,
                  "detail": "خطایی در پردازش درخواست رخ داده است",
                  "instance": "/v1/************************",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "503": {
            "description": "خطای سرویس",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.proxy_error",
                  "status": 503,
                  "detail": "خطایی در پردازش درخواست رخ داده است",
                  "instance": "/v1/************************",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "inquiry:bankInquiry"
            ]
          }
        ]
      }
    },
    "/v1/inquiry/Matching/nationalcode-with-mobile": {
      "get": {
        "tags": [
          "استعلام هویتی"
        ],
        "summary": "تطابق کد ملی و شماره موبایل (شاهکار)",
        "description": "با استفاده از سرویس شاهکار می‌توانید مالکیت شماره موبایل و کد ملی ارسالی را با هم تطابق دهید.",
        "operationId": "MachingMobileWithNationalCode",
        "parameters": [
          {
            "name": "mobileNumber",
            "in": "query",
            "description": "شماره موبایل",
            "required": true,
            "style": "form",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nationalCode",
            "in": "query",
            "description": "کد ملی",
            "required": true,
            "style": "form",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "خروجی سرویس تطابق کد ملی و شماره موبایل",
            "content": {
              "application/ json": {
                "schema": {
                  "$ref": "#/components/schemas/MatchingResultModel"
                }
              }
            }
          },
          "400": {
            "description": "درخواست نامعتبر است",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.validation_error",
                  "status": 400,
                  "detail": "خطا در پارامترهای ارسالی",
                  "instance": "v1/inquiry/Matching/nationalcode-with-mobile",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111",
                  "errors": [
                    {
                      "mobileNumber_not_valid": "شماره موبایل معتبر نیست"
                    },
                    {
                      "natioalCode_not_valid": "کد ملی معتبر نیست"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "خطای احراز هویت",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthenticatedProblemDetails"
                },
                "example": {
                  "title": "unauthenticated",
                  "status": 401,
                  "detail": "خطای احراز هویت",
                  "instance": "/v1/inquiry/Matching/nationalcode-with-mobile",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "403": {
            "description": "خطای عدم دسترسی",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedProblemDetails"
                },
                "example": {
                  "title": "unauthorized",
                  "status": 403,
                  "detail": "خطای عدم دسترسی",
                  "instance": "/v1/inquiry/Matching/nationalcode-with-mobile",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "500": {
            "description": "خطای داخلی",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.error",
                  "status": 500,
                  "detail": "خطایی در پردازش درخواست رخ داده است",
                  "instance": "v1/inquiry/Matching/nationalcode-with-mobile",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "503": {
            "description": "خطای سرویس",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.proxy_error",
                  "status": 503,
                  "detail": "خطایی در پردازش درخواست رخ داده است",
                  "instance": "v1/inquiry/Matching/nationalcode-with-mobile",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "inquiry:identityInquiry"
            ]
          }
        ]
      }
    },
    "/v1/inquiry/Matching/nationalCode-with-card": {
      "get": {
        "tags": [
          "استعلام بانکی"
        ],
        "summary": "تطابق کارت و کدملی",
        "description": "با استفاده از سرویس تطابق شماره کارت و کدملی می‌توانید با ارسال شماره کارت، کد ملی و تاریخ تولد بررسی کرد که مالکیت شماره کارت و کد ملی متعلق به یک شخص باشد..",
        "operationId": "MachingCardWithNationalCode",
        "parameters": [
          {
            "name": "cardNumber",
            "in": "query",
            "description": "شماره کارت",
            "required": true,
            "style": "form",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nationalCode",
            "in": "query",
            "description": "کد ملی",
            "required": true,
            "style": "form",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "birthDate",
            "in": "query",
            "description": "تاریخ تولد",
            "required": true,
            "style": "form",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "خروجی سرویس استعلام تطبیق کد ملی و شماره کارت",
            "content": {
              "application/ json": {
                "schema": {
                  "$ref": "#/components/schemas/MatchingResultModel"
                }
              }
            }
          },
          "400": {
            "description": "درخواست نامعتبر است",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.validation_error",
                  "status": 400,
                  "detail": "خطا در پارامترهای ارسالی",
                  "instance": "/v1/inquiry/Matching/nationalCode-with-card",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111",
                  "errors": [
                    {
                      "card_not_valid": "شماره کارت معتبر نیست"
                    },
                    {
                      "natioalCode_not_valid": "کد ملی معتبر نیست"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "خطای احراز هویت",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthenticatedProblemDetails"
                },
                "example": {
                  "title": "unauthenticated",
                  "status": 401,
                  "detail": "خطای احراز هویت",
                  "instance": "/v1/inquiry/Matching/nationalCode-with-card",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "403": {
            "description": "خطای عدم دسترسی",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedProblemDetails"
                },
                "example": {
                  "title": "unauthorized",
                  "status": 403,
                  "detail": "خطای عدم دسترسی",
                  "instance": "/v1/inquiry/Matching/nationalCode-with-card",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "500": {
            "description": "خطای داخلی",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.error",
                  "status": 500,
                  "detail": "خطایی در پردازش درخواست رخ داده است",
                  "instance": "/v1/inquiry/Matching/nationalCode-with-card",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "503": {
            "description": "خطای سرویس",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.proxy_error",
                  "status": 503,
                  "detail": "خطایی در پردازش درخواست رخ داده است",
                  "instance": "/v1/inquiry/Matching/nationalCode-with-card",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "inquiry:bankInquiry"
            ]
          }
        ]
      }
    },
    "/v1/inquiry/Matching/nationalCode-with-sheba": {
      "get": {
        "tags": [
          "استعلام بانکی"
        ],
        "summary": "تطابق شبا و کدملی",
        "description": "با استفاده از سرویس تطابق شماره شبا و کد ملی می‌توانید با ارسال شماره شبا، کد ملی و تاریخ تولد بررسی کرد که مالکیت شماره شبا و کد ملی متعلق به یک شخص باشد..",
        "operationId": "MachingShebaWithNationalCode",
        "parameters": [
          {
            "name": "sheba",
            "in": "query",
            "description": "شماره شبا",
            "required": true,
            "style": "form",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nationalCode",
            "in": "query",
            "description": "کد ملی",
            "required": true,
            "style": "form",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "birthDate",
            "in": "query",
            "description": "تاریخ تولد",
            "required": true,
            "style": "form",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "خروجی سرویس استعلام تطبیق کد ملی و شماره شبا",
            "content": {
              "application/ json": {
                "schema": {
                  "$ref": "#/components/schemas/MatchingResultModel"
                }
              }
            }
          },
          "400": {
            "description": "درخواست نامعتبر است",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.validation_error",
                  "status": 400,
                  "detail": "خطا در پارامترهای ارسالی",
                  "instance": "/v1/inquiry/Matching/nationalCode-with-sheba",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111",
                  "errors": [
                    {
                      "sheba_not_valid": "شماره شبا معتبر نیست"
                    },
                    {
                      "natioalCode_not_valid": "کد ملی معتبر نیست"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "خطای احراز هویت",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthenticatedProblemDetails"
                },
                "example": {
                  "title": "unauthenticated",
                  "status": 401,
                  "detail": "خطای احراز هویت",
                  "instance": "/v1/inquiry/Matching/nationalCode-with-sheba",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "403": {
            "description": "خطای عدم دسترسی",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedProblemDetails"
                },
                "example": {
                  "title": "unauthorized",
                  "status": 403,
                  "detail": "خطای عدم دسترسی",
                  "instance": "/v1/inquiry/Matching/nationalCode-with-sheba",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "500": {
            "description": "خطای داخلی",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.error",
                  "status": 500,
                  "detail": "خطایی در پردازش درخواست رخ داده است",
                  "instance": "/v1/inquiry/Matching/nationalCode-with-sheba",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "503": {
            "description": "خطای سرویس",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.proxy_error",
                  "status": 503,
                  "detail": "خطایی در پردازش درخواست رخ داده است",
                  "instance": "/v1/inquiry/Matching/nationalCode-with-sheba",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "inquiry:bankInquiry"
            ]
          }
        ]
      }
    },
    "/v1/inquiry/Sheba/sheba-owner-info": {
      "get": {
        "tags": [
          "استعلام بانکی"
        ],
        "summary": "‌استعلام شبا",
        "description": "با استفاده از سرویس استعلام شبا می‌توانید با ارسال شماره شبا، اطلاعات حساب از قبیل نام صاحب حساب ، فعال بودن یا نبودن حساب و نام بانک را دریافت کنید.",
        "operationId": "ShebaInquiry",
        "parameters": [
          {
            "name": "sheba",
            "in": "query",
            "description": "شماره شبا",
            "required": true,
            "style": "form",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "خروجی سرویس استعلام شماره شبا",
            "content": {
              "application/ json": {
                "schema": {
                  "$ref": "#/components/schemas/ShebaToOwnerResultModel"
                }
              }
            }
          },
          "400": {
            "description": "درخواست نامعتبر است",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.validation_error",
                  "status": 400,
                  "detail": "خطا در پارامترهای ارسالی",
                  "instance": "/v1/inquiry/Sheba/sheba-owner-info",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111",
                  "errors": [
                    {
                      "card_not_valid": "شماره کارت معتبر نیست"
                    },
                    {
                      "natioalCode_not_valid": "کد ملی معتبر نیست"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "خطای احراز هویت",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthenticatedProblemDetails"
                },
                "example": {
                  "title": "unauthenticated",
                  "status": 401,
                  "detail": "خطای احراز هویت",
                  "instance": "/v1/inquiry/Sheba/sheba-owner-info",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "403": {
            "description": "خطای عدم دسترسی",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedProblemDetails"
                },
                "example": {
                  "title": "unauthorized",
                  "status": 403,
                  "detail": "خطای عدم دسترسی",
                  "instance": "/v1/inquiry/Sheba/sheba-owner-info",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "500": {
            "description": "خطای داخلی",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.error",
                  "status": 500,
                  "detail": "خطایی در پردازش درخواست رخ داده است",
                  "instance": "/v1/inquiry/Sheba/sheba-owner-info",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "503": {
            "description": "خطای سرویس",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.proxy_error",
                  "status": 503,
                  "detail": "خطایی در پردازش درخواست رخ داده است",
                  "instance": "/v1/inquiry/Sheba/sheba-owner-info",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "inquiry:bankInquiry"
            ]
          }
        ]
      }
    },
    "/v1/inquiry/NationalCode/inquiry-with-personal-info": {
      "get": {
        "tags": [
          "استعلام هویتی"
        ],
        "summary": "استعلام اطلاعات هویتی",
        "description": "با استفاده از سرویس استعلام هویتی می توانید اطلاعات فرد از قبیل نام، نام خانوادگی، نام پدر و وضعیت زنده بودن فرد را به دست آورید. همچنین با استعلام هویتی می توان از تطابق کد ملی و تاریخ تولد فرد اطمینان حاصل کرد.",
        "operationId": "NationalCodeInquiry",
        "parameters": [
          {
            "name": "nationalCode",
            "in": "query",
            "description": "کد ملی",
            "required": true,
            "style": "form",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "birthDate",
            "in": "query",
            "description": "تاریخ تولد",
            "required": true,
            "style": "form",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "خروجی سرویس استعلام کد ملی",
            "content": {
              "application/ json": {
                "schema": {
                  "$ref": "#/components/schemas/NationalCodeToOwnerResultModel"
                }
              }
            }
          },
          "400": {
            "description": "درخواست نامعتبر است",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.validation_error",
                  "status": 400,
                  "detail": "خطا در پارامترهای ارسالی",
                  "instance": "/v1/inquiry/NationalCode/inquiry-with-personal-info",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111",
                  "errors": [
                    {
                      "natioalCode_not_valid": "کد ملی معتبر نیست"
                    },
                    {
                      "birthDate_not_valid": "تاریخ تولد معتبر نیست"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "خطای احراز هویت",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthenticatedProblemDetails"
                },
                "example": {
                  "title": "unauthenticated",
                  "status": 401,
                  "detail": "خطای احراز هویت",
                  "instance": "/v1/inquiry/NationalCode/inquiry-with-personal-info",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "403": {
            "description": "خطای عدم دسترسی",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedProblemDetails"
                },
                "example": {
                  "title": "unauthorized",
                  "status": 403,
                  "detail": "خطای عدم دسترسی",
                  "instance": "/v1/inquiry/NationalCode/inquiry-with-personal-info",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "500": {
            "description": "خطای داخلی",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.error",
                  "status": 500,
                  "detail": "خطایی در پردازش درخواست رخ داده است",
                  "instance": "/v1/inquiry/NationalCode/inquiry-with-personal-info",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "503": {
            "description": "خطای سرویس",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.proxy_error",
                  "status": 503,
                  "detail": "خطایی در پردازش درخواست رخ داده است",
                  "instance": "/v1/inquiry/NationalCode/inquiry-with-personal-info",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "inquiry:bankInquiry"
            ]
          }
        ]
      }
    },
    "/v1/inquiry/PostalCode/inquiry-postal-code": {
      "get": {
        "tags": [
          "استعلام خدماتی"
        ],
        "summary": "استعلام کدپستی",
        "description": "با استفاده از سرویس استعلام کد پستی می‌توانید با ارسال کدپستی، جزئیات آدرس مربوط به آن را دریافت کرد..",
        "operationId": "PostalCodeInquiry",
        "parameters": [
          {
            "name": "postalCode",
            "in": "query",
            "description": "کد پستی",
            "required": true,
            "style": "form",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "خروجی سرویس استعلام کد پستی",
            "content": {
              "application/ json": {
                "schema": {
                  "$ref": "#/components/schemas/PostalCodeInformationResultModel"
                }
              }
            }
          },
          "400": {
            "description": "درخواست نامعتبر است",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.validation_error",
                  "status": 400,
                  "detail": "خطا در پارامترهای ارسالی",
                  "instance": "/v1/inquiry/PostalCode/inquiry-postal-code",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111",
                  "errors": [
                    {
                      "postalCode_not_valid": "کد پستی معتبر نیست"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "خطای احراز هویت",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthenticatedProblemDetails"
                },
                "example": {
                  "title": "unauthenticated",
                  "status": 401,
                  "detail": "خطای احراز هویت",
                  "instance": "/v1/inquiry/PostalCode/inquiry-postal-code",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "403": {
            "description": "خطای عدم دسترسی",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedProblemDetails"
                },
                "example": {
                  "title": "unauthorized",
                  "status": 403,
                  "detail": "خطای عدم دسترسی",
                  "instance": "/v1/inquiry/PostalCode/inquiry-postal-code",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "500": {
            "description": "خطای داخلی",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.error",
                  "status": 500,
                  "detail": "خطایی در پردازش درخواست رخ داده است",
                  "instance": "/v1/inquiry/PostalCode/inquiry-postal-code",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          },
          "503": {
            "description": "خطای سرویس",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "title": "payping.proxy_error",
                  "status": 503,
                  "detail": "خطایی در پردازش درخواست رخ داده است",
                  "instance": "/v1/inquiry/PostalCode/inquiry-postal-code",
                  "paypingTrackId": "AAAAAAAAAAAA:11111111"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "inquiry:bankInquiry"
            ]
          }
        ]
      }
    },
    "/v1/bnpl/merchant/contract/change-wallet-credit-amount": {
      "post": {
        "tags": [
          "تنظیمات اقساطی"
        ],
        "summary": "تغییر اعتبار کیف پول",
        "description": "این متد برای تغییر مقدار اعتبار کیف پول یک قرارداد BNPL استفاده می‌شود.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "creditCode": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "walletCreditAmount": {
                    "type": "number",
                    "format": "double"
                  }
                },
                "required": [
                  "creditCode",
                  "walletCreditAmount"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "نتیجه عملیات تغییر اعتبار کیف پول",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "isSuccess": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "total": {
                      "type": "number",
                      "format": "double"
                    },
                    "remaining": {
                      "type": "number",
                      "format": "double"
                    },
                    "consumed": {
                      "type": "number",
                      "format": "double"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "درخواست نامعتبر",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "instance": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "bnpl:merchantwrite"
            ]
          }
        ]
      }
    },
    "/v1/bnpl/merchant/options/get": {
      "get": {
        "tags": [
          "تنظیمات اقساطی"
        ],
        "summary": "دریافت گزینه‌های BNPL",
        "description": "این متد اطلاعات گزینه‌های BNPL شامل لیست اعتبارات و ضامنین را بازمی‌گرداند.",
        "responses": {
          "200": {
            "description": "لیست گزینه‌ها",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "credits": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "walletId": {
                            "type": "string"
                          },
                          "canModify": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "guarantors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "guaranteeType": {
                            "type": "integer"
                          },
                          "code": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "contractId": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "درخواست نامعتبر",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "bnpl:merchantread"
            ]
          }
        ]
      }
    },
    "/v1/bnpl/merchant/order/create": {
      "post": {
        "tags": [
          "سفارشات اقساطی"
        ],
        "summary": "ساخت سفارش اقساطی",
        "description": "از این متد جهت ارسال اطلاعات سفارش  استفاده کنید. فراخوانی این متد یک سفارش اقساطی با کد رهگیری یکتا تولید کرده و آدرس درگاه پرداخت اقساطی جهت هدایت کاربر را بازمی‌گرداند.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "number",
                    "format": "int32"
                  },
                  "mobile": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "callbackUrl": {
                    "type": "string"
                  },
                  "cancelUrl": {
                    "type": "string"
                  },
                  "refId": {
                    "type": "string"
                  },
                  "targetPlans": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "amount",
                  "mobile",
                  "callbackUrl",
                  "refId"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "نتیجه عملیات ساخت سفارش اقساطی",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "redirectUrl": {
                      "type": "string"
                    },
                    "orderTrackingCode": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "درخواست نامعتبر",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "instance": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "bnpl:merchantwrite"
            ]
          }
        ]
      }
    },
    "/v1/bnpl/merchant/order/list": {
      "get": {
        "tags": [
          "سفارشات اقساطی"
        ],
        "summary": "لیست سفارش‌های BNPL",
        "description": "این متد لیست سفارش‌های BNPL را با فیلترهای مختلف بازمی‌گرداند.",
        "parameters": [
          {
            "name": "fromDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "consumerName",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "mobile",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "creditAmount",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "trackingCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderStatusRequest",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "لیست سفارش‌ها",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "orders": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "total": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "درخواست نامعتبر"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "bnpl:merchantread"
            ]
          }
        ]
      }
    },
    "/v1/bnpl/merchant/order/detail": {
      "get": {
        "tags": [
          "سفارشات اقساطی"
        ],
        "summary": "جزئیات سفارش BNPL",
        "description": "این متد جزئیات یک سفارش BNPL را بر اساس trackingCode و clientRefId بازمی‌گرداند.",
        "parameters": [
          {
            "name": "trackingCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clientRefId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "جزئیات سفارش",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "درخواست نامعتبر"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "bnpl:merchantread"
            ]
          }
        ]
      }
    },
    "/v1/bnpl/merchant/plan/list": {
      "get": {
        "tags": [
          "طرح های اقساطی"
        ],
        "summary": "لیست پلن‌های BNPL",
        "description": "این متد لیست پلن‌های BNPL را بازمی‌گرداند.",
        "responses": {
          "200": {
            "description": "لیست پلن‌ها",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "درخواست نامعتبر"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "bnpl:merchantread"
            ]
          }
        ]
      }
    },
    "/v1/bnpl/merchant/plan/toggle-active": {
      "put": {
        "tags": [
          "طرح های اقساطی"
        ],
        "summary": "فعال/غیرفعال کردن پلن BNPL",
        "description": "این متد وضعیت فعال بودن یک پلن BNPL را تغییر می‌دهد.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "planCode": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "planCode",
                  "isActive"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "نتیجه تغییر وضعیت پلن",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "planCode": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "درخواست نامعتبر"
          }
        },
        "security": [
          {
            "Bearer": []
          },
          {
            "oauth2": [
              "bnpl:merchantwrite"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "PaymentDto": {
        "type": "object",
        "properties": {
          "paymentCode": {
            "type": "string",
            "description": "کد پرداخت",
            "nullable": true
          },
          "url": {
            "type": "string",
            "description": "لینک دستور پرداخت",
            "nullable": true
          },
          "amount": {
            "type": "integer",
            "description": "مبلغ دستور پرداخت",
            "format": "int32"
          },
          "payerWage": {
            "type": "integer",
            "description": "مبلغ کارمزد پرداخت کننده",
            "format": "int32"
          },
          "businessWage": {
            "type": "integer",
            "description": "مبلغ کارمزد پذیرنده",
            "format": "int32"
          },
          "gatewayAmount": {
            "type": "integer",
            "description": "مبلغ نهایی پرداخت",
            "format": "int32"
          },
          "paypingVat": {
            "type": "integer",
            "description": "مبلغ مالیات بر ارزش افزوده (Value-Added Tax)",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": ""
      },
      "PaymentResult": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "کد پرداخت"
          }
        }
      },
      "SharedPaymentItemDetail": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "integer",
            "description": "سهم تسهیم شونده (صاحب سهم)",
            "format": "int32"
          },
          "paymentCode": {
            "type": "string",
            "description": "کد پرداخت",
            "nullable": true
          },
          "userIdentity": {
            "type": "string",
            "description": "شماره موبایل یا ایمیل کاربر",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SharedPaymentItemModel": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "integer",
            "description": "مبلغ دستور پرداخت",
            "format": "int32"
          },
          "userIdentity": {
            "type": "string",
            "description": "شماره موبایل یا ایمیل کاربر",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "توضیحات",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "اطلاعات سهم یک ذی‌نفع از پرداخت"
      },
      "SharedPaymentModel": {
        "type": "object",
        "properties": {
          "returnUrl": {
            "type": "string",
            "description": "آدرس بازگشت پذیرنده",
            "nullable": false
          },
          "payerIdentity": {
            "type": "string",
            "description": "شماره موبایل یا ایمیل پرداخت کننده - اگر شماره موبایل وارد شود، تمام شماره کارت‌های ذخیره شده پرداخت‌کننده در درگاه، نمایش داده می‌شود.",
            "nullable": true
          },
          "payerName": {
            "type": "string",
            "description": "نام پرداخت کننده",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "توضیحات",
            "nullable": true
          },
          "clientRefId": {
            "type": "string",
            "description": "شناسه ارجاع پذیرنده",
            "nullable": true
          },
          "isReversible": {
            "type": "boolean",
            "description": "تراکنش قابلیت بازگشت وجه دارد یا خیر",
            "default": false
          },
          "items": {
            "type": "array",
            "description": "اطلاعات تسهیم (به ازای هر صاحب سهم، یک رکورد در نظر بگیرید)",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SharedPaymentItemModel"
            }
          }
        },
        "additionalProperties": false
      },
      "VerifyDto": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "integer",
            "description": "مبلغ دستور پرداخت",
            "format": "int64"
          },
          "cardNumber": {
            "type": "string",
            "description": "شماره کارت پرداخت کننده",
            "nullable": true
          },
          "cardHashPan": {
            "type": "string",
            "description": "شماره کارت هش شده پرداخت کننده",
            "nullable": true
          },
          "clientRefId": {
            "type": "string",
            "description": "شناسه ارجاع پذیرنده",
            "nullable": true
          },
          "paymentRefId": {
            "type": "integer",
            "description": "کد رهگیری پرداخت",
            "format": "int64"
          },
          "code": {
            "type": "string",
            "description": "کد پرداخت",
            "nullable": true
          },
          "payedDate": {
            "type": "string",
            "description": "تاریخ و ساعت پرداخت (UTC)",
            "nullable": true
          },
          "payerWage": {
            "type": "integer",
            "description": "مبلغ کارمزد پرداخت کننده",
            "format": "int64"
          },
          "businessWage": {
            "type": "integer",
            "description": "مبلغ کارمزد پذیرنده",
            "format": "int64"
          },
          "gatewayAmount": {
            "type": "integer",
            "description": "مبلغ نهایی پرداخت",
            "format": "int64"
          },
          "paypingVat": {
            "type": "integer",
            "description": "مبلغ مالیات بر ارزش افزوده (Value-Added Tax)",
            "format": "int32"
          },
          "sharedPaymentItems": {
            "type": "array",
            "description": "اطلاعات تسهیم کننده‌ها - این فیلد تنها در پرداخت تسهیمی ارسال می شود",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SharedPaymentItemDetail"
            }
          }
        },
        "additionalProperties": false,
        "description": ""
      },
      "VerifyModel": {
        "required": [
          "amount",
          "paymentCode",
          "paymentRefId"
        ],
        "type": "object",
        "properties": {
          "paymentRefId": {
            "type": "integer",
            "description": "کد رهگیری پرداخت (در مرحله ارسال اطلاعات پرداخت برای پذیرنده ارسال شده است)",
            "format": "int64"
          },
          "paymentCode": {
            "type": "string",
            "description": "کد پرداخت",
            "nullable": false
          },
          "amount": {
            "type": "integer",
            "description": "مبلغ دستور پرداخت",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ReverseModel": {
        "required": [
          "paymentCode",
          "paymentRefId"
        ],
        "type": "object",
        "properties": {
          "paymentRefId": {
            "type": "integer",
            "description": "کد رهگیری پرداخت (در مرحله ارسال اطلاعات پرداخت برای پذیرنده ارسال شده است)",
            "format": "int64"
          },
          "paymentCode": {
            "type": "string",
            "description": "کد پرداخت",
            "nullable": false
          }
        },
        "additionalProperties": false
      },
      "ReverseDto": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "integer",
            "description": "مبلغ اصلی دستور پرداخت",
            "format": "int64"
          },
          "clientRefId": {
            "type": "string",
            "description": "شناسه ارجاع پذیرنده",
            "nullable": true
          },
          "paymentRefId": {
            "type": "integer",
            "description": "کد رهگیری پرداخت",
            "format": "int64"
          },
          "code": {
            "type": "string",
            "description": "کد پرداخت",
            "nullable": true
          },
          "payerWage": {
            "type": "integer",
            "description": "مبلغ کارمزد پرداخت کننده",
            "format": "int32"
          },
          "gatewayAmount": {
            "type": "integer",
            "description": "مبلغ نهایی بازگشت داده‌شده",
            "format": "int32"
          },
          "reversedDate": {
            "type": "string",
            "description": "تاریخ و ساعت بازگشت وجه (UTC)",
            "nullable": true
          },
          "sharedPaymentItems": {
            "type": "array",
            "description": "اطلاعات تسهیم کننده‌ها - این فیلد تنها در پرداخت تسهیمی ارسال می شود",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SharedPaymentItemDetail"
            }
          }
        },
        "additionalProperties": false,
        "description": ""
      },
      "ShareRequest": {
        "type": "object",
        "properties": {
          "paymentRefId": {
            "type": "integer",
            "description": "کد رهگیری پرداخت (در مرحله ارسال اطلاعات پرداخت برای پذیرنده ارسال شده است)",
            "format": "int64"
          },
          "paymentCode": {
            "type": "string",
            "description": "کد پرداخت",
            "nullable": true
          },
          "amount": {
            "type": "integer",
            "description": "مبلغ دستور پرداخت",
            "format": "int32"
          },
          "paymentShares": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SharedPaymentItemModel"
            },
            "description": "اطلاعات تسهیم (به ازای هر صاحب سهم، یک رکورد در نظر بگیرید)",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "درخواست انجام تسهیم بین ذی‌نفعان"
      },
      "ShareResult": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "integer",
            "description": "مبلغ دستور پرداخت",
            "format": "int32"
          },
          "paymentCode": {
            "type": "string",
            "description": "کد پرداخت",
            "nullable": true
          },
          "paymentRefId": {
            "type": "integer",
            "description": "کد رهگیری پرداخت",
            "format": "int64"
          },
          "clientRefId": {
            "type": "string",
            "description": "شناسه ارجاع پذیرنده",
            "nullable": true
          },
          "paymentShares": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SharedPaymentItemDetail"
            },
            "description": "جزئیات سهم‌های تخصیص‌یافته به هر ذینفع",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "نتیجه تسهیم پرداخت"
      },
      "UnblockRequest": {
        "type": "object",
        "properties": {
          "paymentCode": {
            "type": "string",
            "description": "کد پرداخت",
            "nullable": true
          },
          "amount": {
            "type": "integer",
            "description": "مبلغ دستور پرداخت",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "درخواست آزادسازی پرداخت مسدود شده"
      },
      "PaymentModel": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "integer",
            "description": "مبلغ دستور پرداخت",
            "format": "int32"
          },
          "returnUrl": {
            "type": "string",
            "description": "آدرس بازگشت پذیرنده",
            "nullable": false
          },
          "payerIdentity": {
            "type": "string",
            "description": "شماره موبایل یا ایمیل پرداخت کننده - اگر شماره موبایل وارد شود، تمام شماره کارت‌های ذخیره شده پرداخت‌کننده در درگاه، نمایش داده می‌شود.",
            "nullable": true
          },
          "payerName": {
            "type": "string",
            "description": "نام پرداخت کننده",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "توضیحات",
            "nullable": true
          },
          "clientRefId": {
            "type": "string",
            "description": "شناسه ارجاع پذیرنده",
            "nullable": true
          },
          "isReversible": {
            "type": "boolean",
            "description": "تراکنش قابلیت بازگشت وجه دارد یا خیر",
            "default": false
          },
          "IsBlocked": {
            "type": "boolean",
            "description": "وضعیت بلاک بودن تراکنش",
            "default": false
          }
        },
        "additionalProperties": false
      },
      "RemoveModel": {
        "type": "object",
        "properties": {
          "paymentCode": {
            "type": "string",
            "description": "کد پرداخت",
            "nullable": false
          }
        },
        "additionalProperties": false
      },
      "VerifyPaymentViewModel": {
        "required": [
          "amount",
          "paymentCode",
          "refId"
        ],
        "type": "object",
        "properties": {
          "refId": {
            "type": "string",
            "description": "کد رهگیری پرداخت (در مرحله ارسال اطلاعات پرداخت برای پذیرنده ارسال شده است)"
          },
          "paymentCode": {
            "type": "string",
            "description": "کد پرداخت",
            "nullable": false
          },
          "amount": {
            "type": "integer",
            "description": "مبلغ دستور پرداخت",
            "format": "int32"
          }
        }
      },
      "VerifyResult": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "integer",
            "description": "مبلغ دستور پرداخت",
            "format": "int32"
          },
          "cardNumber": {
            "type": "string",
            "description": "شماره کارت پرداخت کننده",
            "nullable": true
          },
          "cardHashPan": {
            "type": "string",
            "description": "شماره کارت هش شده پرداخت کننده",
            "nullable": true
          },
          "payedDate": {
            "type": "string",
            "description": "تاریخ و ساعت پرداخت (UTC)",
            "nullable": true
          },
          "payerWage": {
            "type": "integer",
            "description": "مبلغ کارمزد پرداخت کننده",
            "format": "int64"
          },
          "businessWage": {
            "type": "integer",
            "description": "مبلغ کارمزد پذیرنده",
            "format": "int64"
          },
          "gatewayAmount": {
            "type": "integer",
            "description": "مبلغ نهایی پرداخت",
            "format": "int64"
          },
          "merchants": {
            "type": "array",
            "description": "اطلاعات تسهیم کننده‌ها",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SharedPaymentItemDetail"
            }
          }
        }
      },
      "TransactionReportViewModel": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "integer",
            "description": "مبلغ",
            "format": "int32"
          },
          "payDate": {
            "type": "string",
            "description": "تاریخ پرداخت",
            "format": "date-time"
          },
          "isPaid": {
            "type": "boolean",
            "description": "اینکه پرداخت تایید شده است"
          },
          "description": {
            "type": "string",
            "description": "توضیحات"
          },
          "name": {
            "type": "string",
            "description": "نام پرداخت کننده/دریافت کننده"
          },
          "payerIdentity": {
            "type": "string",
            "description": "شماره موبایل یا ایمیل پرداخت کننده"
          },
          "isRequest": {
            "type": "boolean",
            "description": "درخواست/پرداخت"
          },
          "code": {
            "type": "string",
            "description": "کد پرداخت"
          },
          "clientId": {
            "type": "string",
            "description": "شناسه زیر سیستم مشتری در پی‌پینگ"
          },
          "clientRefId": {
            "type": "string",
            "description": "کد ارسالی مشتری به پی‌پینگ"
          },
          "invoiceNo": {
            "type": "string",
            "description": "شناسه پرداخت"
          },
          "createdDate": {
            "type": "string",
            "description": "تاریخ ساخت پرداخت/درخواست",
            "format": "date-time"
          }
        }
      },
      "ResultViewModel": {
        "type": "object",
        "properties": {
          "result": {
            "type": "integer",
            "description": "تعداد",
            "format": "int64"
          }
        }
      },
      "TransactionWithdrawDetailsViewModel": {
        "type": "object",
        "properties": {
          "reqDate": {
            "type": "string",
            "format": "date-time"
          },
          "code": {
            "type": "string"
          },
          "isRepaid": {
            "type": "boolean"
          },
          "repayDate": {
            "type": "string",
            "format": "date-time"
          },
          "amount": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "PaymentDetailsVM": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "integer",
            "description": "مبلغ",
            "format": "int32"
          },
          "reqDate": {
            "type": "string",
            "description": "تاریخ درخواست",
            "format": "date-time"
          },
          "payDate": {
            "type": "string",
            "description": "تاریخ پرداخت",
            "format": "date-time"
          },
          "isRequest": {
            "type": "boolean",
            "description": "درخواست/پرداخت"
          },
          "isPaid": {
            "type": "boolean",
            "description": "تاییدیه پرداخت"
          },
          "description": {
            "type": "string",
            "description": "توضیحات"
          },
          "payerIdentity": {
            "type": "string",
            "description": "شناسه پرداخت کننده"
          },
          "platform": {
            "type": "string",
            "description": "نوع سیستم عامل پرداخت کننده"
          },
          "browser": {
            "type": "string",
            "description": "مرورگر پرداخت کننده"
          },
          "rrn": {
            "type": "string",
            "description": "شماره کارت پرداخت کننده"
          },
          "clientId": {
            "type": "string",
            "description": "شناسه زیر سیستم مشتری در پی‌پینگ"
          },
          "clientRefId": {
            "type": "string",
            "description": "کد ارسالی مشتری به پی‌پینگ"
          },
          "invoiceNo": {
            "type": "string",
            "description": "شناسه پرداخت"
          },
          "wage": {
            "type": "integer",
            "description": "کارمزد",
            "format": "int32"
          },
          "paypingVat": {
            "type": "integer",
            "description": "مبلغ مالیات بر ارزش افزوده (Value-Added Tax)",
            "format": "int32"
          },
          "shaparakWage": {
            "type": "integer",
            "description": "کارمزد شاپرک",
            "format": "int32"
          },
          "ipgName": {
            "type": "string",
            "description": "درگاه پرداخت کننده"
          },
          "paymentType": {
            "type": "integer",
            "description": "نوع درگاه پرداخت\n0 = Default\n1 = Online\n2 = Cash\n3 = Pos",
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3
            ]
          },
          "isBlocked": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "isRefund": {
            "type": "boolean"
          },
          "refundStatus": {
            "type": "integer",
            "description": "\n0 = NoStatus\n1 = Awaiting\n2 = Complete\n3 = Incomplete",
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3
            ]
          },
          "cAff": {
            "type": "string",
            "description": "کد بازاریابی"
          },
          "cAffWage": {
            "type": "integer",
            "description": "کارمزد بازاریاب",
            "format": "int32"
          },
          "payPingAffWage": {
            "type": "integer",
            "description": "کارمز سرویس بازاریابی پی‌پینگ",
            "format": "int32"
          },
          "refId": {
            "type": "string",
            "description": "شماره پرداخت پی‌پینگ"
          },
          "paymentStatus": {
            "type": "integer",
            "description": "وضعیت پرداخت\n0 = کدپرداخت ساخته شده\n1 = تراکنش با موفقیت روی درگاه انجام شده و وری فای بانک هم با موفقیت انجام شده (تایید نهایی)\n2 = کاربر وارد درگاه شده\n3 = کاربر به هر دلیلی تراکنش را لغو کرده\n4 = تراکنش با موفقیت روی درگاه انجام شده ولی وری فای سمت بانک ناموفق بوده\n5 = کاربر از درگاه با موفقیت برگشته و منتظر وری فای پذیرنده هست",
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5
            ]
          }
        }
      },
      "WithdrawResult": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "کد تسویه"
          }
        }
      },
      "WithdrawDetailsViewModel": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "integer",
            "description": "مبلغ",
            "format": "int32"
          },
          "reqDate": {
            "type": "string",
            "description": "تاریخ درخواست تسویه",
            "format": "date-time"
          },
          "isRepaid": {
            "type": "boolean",
            "description": "تاییدیه تسویه\r\n0= در انتظار تایید\r\n1= تسویه شده"
          },
          "repayDate": {
            "type": "string",
            "description": "تاریخ تسویه",
            "format": "date-time"
          },
          "shaba": {
            "type": "string",
            "description": "شماره شبای تسویه"
          },
          "payareferencCode": {
            "type": "string",
            "description": "شناسه پی گیری بانک"
          },
          "description": {
            "type": "string",
            "description": "توضیحات تسویه"
          },
          "refundedCode": {
            "type": "string",
            "description": "کد پرداختی که برای آن برگشت وجه ثبت شده است"
          },
          "withdrawType": {
            "type": "string",
            "description": "نوع تسویه\r\nتسویه معمولی =0\r\nبرگشت پول=1\r\nتسویه بازاریابی=2\r\nتسویه شبا به غیر=3"
          },
          "isPardakhtYar": {
            "type": "boolean",
            "description": "نوع فرایند تسویه\r\n0= عادی\r\n1= پرداختیار"
          },
          "isLegal": {
            "type": "boolean",
            "description": "پرداخت حقیقی/حقوقی\r\n0= حقیقی\r\n1= حقوقی"
          },
          "repayPayaId": {
            "type": "string",
            "description": "شماره پی گیری بانک"
          },
          "trackingNumber": {
            "type": "string",
            "description": "شماره پی گیری بانک"
          },
          "ipgType": {
            "type": "string",
            "description": "درگاه پرداخت. (دقیق نیست و کاربرد ندارد)"
          }
        }
      },
      "CustomerCreateViewModel": {
        "required": [
          "firstName",
          "lastName"
        ],
        "type": "object",
        "properties": {
          "userPhotoFileId": {
            "type": "string",
            "description": "پس از آپلود و دریافت کلید فایل را اینجا قرار دهید"
          },
          "email": {
            "type": "string",
            "description": "پست الکترونیک",
            "example": "info@example.com"
          },
          "phone": {
            "type": "string",
            "description": "تلفن",
            "example": "09110000000"
          },
          "firstName": {
            "type": "string",
            "description": "نام",
            "example": "پوریا"
          },
          "lastName": {
            "type": "string",
            "description": "نام خانوادگی",
            "example": "منفرد"
          },
          "businessName": {
            "type": "string",
            "description": "نام کسب و کار",
            "example": "پی‌پینگ"
          },
          "additionalInfo": {
            "type": "string",
            "description": "اطلاعات اضافی",
            "example": "او یک وکیل است"
          },
          "zipCode": {
            "type": "string",
            "description": "کدپستی",
            "example": "46169696164"
          },
          "state": {
            "type": "string",
            "description": "استان",
            "example": "تهران"
          },
          "city": {
            "type": "string",
            "description": "شهر",
            "example": "تهران"
          },
          "location": {
            "type": "string",
            "description": "آدرس",
            "example": "خیابان جمهوری"
          },
          "memo": {
            "type": "string",
            "description": "متن یادآوری",
            "example": "به او مبلغی بدهکار می باشم"
          },
          "isBusiness": {
            "type": "boolean",
            "description": "حقوقی = true, حقیقی = false",
            "example": false,
            "default": false
          },
          "nationalId": {
            "type": "string",
            "description": "کدملی",
            "example": "22266655591"
          }
        },
        "description": "ثبت مشتری جدید"
      },
      "CustomerDetailViewModel": {
        "required": [
          "code",
          "firstName",
          "lastName"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "کلید یکتای مشتری"
          },
          "userPhotoFileAddress": {
            "type": "string",
            "description": "پس از آپلود و دریافت کلید فایل را اینجا قرار دهید"
          },
          "userPhotoFileId": {
            "type": "string",
            "description": "لیست کلیدهای یکتا فایل تصویر پرسنلی"
          },
          "email": {
            "type": "string",
            "description": "پست الکترونیک",
            "example": "info@example.com"
          },
          "phone": {
            "type": "string",
            "description": "تلفن",
            "example": "09110000000"
          },
          "firstName": {
            "type": "string",
            "description": "نام",
            "example": "پوریا"
          },
          "lastName": {
            "type": "string",
            "description": "نام خانوادگی",
            "example": "منفرد"
          },
          "businessName": {
            "type": "string",
            "description": "نام کسب و کار",
            "example": "پی‌پینگ"
          },
          "additionalInfo": {
            "type": "string",
            "description": "اطلاعات اضافی",
            "example": "او یک وکیل است"
          },
          "memo": {
            "type": "string",
            "description": "یادآوری",
            "example": "در پی‌پینگ با ایشان آشنا شدم"
          },
          "zipCode": {
            "type": "string",
            "description": "کدپستی",
            "example": "46169696164"
          },
          "state": {
            "type": "string",
            "description": "استان",
            "example": "تهران"
          },
          "city": {
            "type": "string",
            "description": "شهر",
            "example": "تهران"
          },
          "location": {
            "type": "string",
            "description": "آدرس",
            "example": "خیابان جمهوری"
          },
          "isBusiness": {
            "type": "boolean",
            "description": "حقوقی = true, حقیقی = false",
            "example": false
          },
          "nationalId": {
            "type": "string",
            "description": "کد ملی/شماره اقتصادی",
            "example": "22266655591"
          }
        },
        "description": "جزییات مشخصات مشتری"
      },
      "CustomerEditViewModel": {
        "required": [
          "code",
          "firstName",
          "lastName"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "کلید یکتای مشتری"
          },
          "userPhotoFileId": {
            "type": "string",
            "description": "پس از آپلود و دریافت کلید فایل را اینجا قرار دهید"
          },
          "email": {
            "type": "string",
            "description": "پست الکترونیک",
            "example": "info@example.com"
          },
          "phone": {
            "type": "string",
            "description": "تلفن",
            "example": "09110000000"
          },
          "firstName": {
            "type": "string",
            "description": "نام",
            "example": "پوریا"
          },
          "lastName": {
            "type": "string",
            "description": "نام خانوادگی",
            "example": "منفرد"
          },
          "businessName": {
            "type": "string",
            "description": "نام کسب و کار",
            "example": "پی‌پینگ"
          },
          "additionalInfo": {
            "type": "string",
            "description": "اطلاعات اضافی",
            "example": "او یک وکیل است"
          },
          "zipCode": {
            "type": "string",
            "description": "کدپستی",
            "example": "46169696164"
          },
          "state": {
            "type": "string",
            "description": "استان",
            "example": "تهران"
          },
          "city": {
            "type": "string",
            "description": "شهر",
            "example": "تهران"
          },
          "location": {
            "type": "string",
            "description": "آدرس",
            "example": "خیابان جمهوری"
          },
          "memo": {
            "type": "string",
            "description": "متن یادآوری",
            "example": "به او مبلغی بدهکار می باشم"
          },
          "isBusiness": {
            "type": "boolean",
            "description": "حقوقی = true, حقیقی = false",
            "example": false,
            "default": false
          },
          "nationalId": {
            "type": "string",
            "description": "کدملی",
            "example": "22266655591"
          }
        },
        "description": "بروزرسانی مشتری"
      },
      "CustomerListItemViewModel": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "کلید یکتا مشتری"
          },
          "email": {
            "type": "string",
            "description": "پست الکترونیک"
          },
          "phone": {
            "type": "string",
            "description": "تلفن"
          },
          "firstName": {
            "type": "string",
            "description": "نام"
          },
          "lastName": {
            "type": "string",
            "description": "نام خانوادگی"
          },
          "businessName": {
            "type": "string",
            "description": "نام کسب و کار"
          },
          "nationalId": {
            "type": "string",
            "description": "کد ملی/شماره اقتصادی"
          },
          "isBusiness": {
            "type": "string",
            "description": "حقوقی = true, حقیقی = false"
          }
        },
        "description": "مشخصات مشتری"
      },
      "ListCountViewModel": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "CouponCreateViewModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "userCouponCode": {
            "type": "string"
          },
          "type": {
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1
            ]
          },
          "amount": {
            "type": "integer",
            "format": "int32"
          },
          "redeemDate": {
            "type": "string",
            "format": "date-time"
          },
          "redeemTime": {
            "type": "string"
          },
          "maxRedemption": {
            "type": "integer",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean"
          },
          "activeProductCode": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CodeViewModel": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          }
        }
      },
      "CouponEditViewModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "userCouponCode": {
            "type": "string"
          },
          "type": {
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1
            ]
          },
          "amount": {
            "type": "integer",
            "format": "int32"
          },
          "code": {
            "type": "string"
          },
          "redeemDate": {
            "type": "string",
            "format": "date-time"
          },
          "redeemTime": {
            "type": "string"
          },
          "maxRedemption": {
            "type": "integer",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean"
          },
          "activeProductCode": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ChangeWalletCreditAmountRequest": {
        "type": "object",
        "properties": {
          "creditCode": {
            "type": "string",
            "format": "uuid"
          },
          "walletCreditAmount": {
            "type": "number"
          }
        },
        "required": [
          "creditCode",
          "walletCreditAmount"
        ],
        "description": "درخواست تغییر مبلغ اعتبار کیف پول"
      },
      "ChangeWalletCreditAmountResponse": {
        "type": "object",
        "properties": {
          "isSuccess": {
            "type": "boolean"
          },
          "message": {
            "type": "string"
          },
          "total": {
            "type": "number"
          },
          "remaining": {
            "type": "number"
          },
          "consumed": {
            "type": "number"
          }
        },
        "description": "پاسخ تغییر مبلغ اعتبار کیف پول"
      },
      "BnplMerchantOptionsGetResponse": {
        "type": "object",
        "properties": {
          "credits": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "walletId": {
                  "type": "string"
                },
                "canModify": {
                  "type": "boolean"
                }
              }
            }
          },
          "guarantors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "guaranteeType": {
                  "type": "integer"
                },
                "code": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                }
              }
            }
          },
          "contractId": {
            "type": "integer"
          }
        },
        "description": "پاسخ دریافت گزینه‌های سرویس اقساطی"
      },
      "BnplMerchantOrderListResponse": {
        "type": "object",
        "properties": {
          "orders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "orderTrackingCode": {
                  "type": "string"
                },
                "createdDate": {
                  "type": "string",
                  "format": "date-time"
                },
                "creditAmount": {
                  "type": "number"
                },
                "consumer": {
                  "type": "string"
                },
                "mobile": {
                  "type": "string"
                },
                "totalInstallmentCount": {
                  "type": "integer"
                },
                "paidoffInstallmentCount": {
                  "type": "integer"
                },
                "isCancelable": {
                  "type": "boolean"
                },
                "orderStep": {
                  "type": "integer"
                },
                "refundRefId": {
                  "type": "string"
                },
                "refundBalanceEnough": {
                  "type": "boolean"
                }
              }
            }
          },
          "total": {
            "type": "integer"
          }
        },
        "description": "پاسخ لیست سفارشات اقساطی"
      },
      "BnplMerchantOrderDetailResponse": {
        "type": "object",
        "properties": {
          "consumerInfo": {
            "type": "object",
            "properties": {
              "firstName": {
                "type": "string"
              },
              "lastName": {
                "type": "string"
              },
              "nationalCode": {
                "type": "string"
              },
              "birthDate": {
                "type": "string",
                "format": "date-time"
              },
              "mobileNumber": {
                "type": "string"
              }
            }
          },
          "installmentDetails": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "paymentDate": {
                  "type": "string",
                  "format": "date-time"
                },
                "dueDate": {
                  "type": "string",
                  "format": "date-time"
                },
                "status": {
                  "type": "integer"
                },
                "finalAmount": {
                  "type": "number"
                },
                "paymentCode": {
                  "type": "string"
                }
              }
            }
          },
          "installmentInfo": {
            "type": "object",
            "properties": {
              "paidInstallmentCount": {
                "type": "integer"
              },
              "remainedInstallmentCount": {
                "type": "integer"
              },
              "paidInstallmentAmount": {
                "type": "number"
              },
              "remainedInstallmentAmount": {
                "type": "number"
              },
              "totalInterest": {
                "type": "number"
              },
              "interestPerMonth": {
                "type": "number"
              },
              "interestRate": {
                "type": "number"
              }
            }
          },
          "orderStep": {
            "type": "integer"
          },
          "guaranteeType": {
            "type": "integer"
          },
          "guaranteeFileIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "installmentCount": {
            "type": "integer"
          },
          "orderCreatedDate": {
            "type": "string",
            "format": "date-time"
          },
          "trackingCode": {
            "type": "string"
          },
          "totalBasketAmount": {
            "type": "number"
          },
          "prepayment": {
            "type": "number"
          },
          "creditAmount": {
            "type": "number"
          },
          "creditScoreDescription": {
            "type": "string"
          },
          "totalPayment": {
            "type": "number"
          },
          "isCancelable": {
            "type": "boolean"
          },
          "prePaymentCardNumber": {
            "type": "string"
          },
          "cancelNeedsRefund": {
            "type": "boolean"
          }
        },
        "description": "پاسخ جزئیات سفارش اقساطی"
      },
      "BnplMerchantPlanListResponse": {
        "type": "object",
        "properties": {
          "plansInfo": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "planCreatedDate": {
                  "type": "string",
                  "format": "date-time"
                },
                "isActive": {
                  "type": "boolean"
                },
                "guaranteeType": {
                  "type": "integer"
                },
                "totalMaxAmount": {
                  "type": "number"
                },
                "installmentsCount": {
                  "type": "integer"
                },
                "prepaymentRate": {
                  "type": "number"
                },
                "interestRate": {
                  "type": "number"
                }
              }
            }
          }
        },
        "description": "پاسخ لیست طرح‌های اقساطی"
      },
      "BnplMerchantPlanToggleActiveRequest": {
        "type": "object",
        "properties": {
          "planCode": {
            "type": "string",
            "format": "uuid"
          }
        },
        "required": [
          "planCode"
        ],
        "description": "درخواست فعال/غیرفعال کردن طرح اقساطی"
      },
      "BnplMerchantPlanToggleActiveResponse": {
        "type": "object",
        "properties": {
          "planCode": {
            "type": "string"
          }
        },
        "description": "پاسخ فعال/غیرفعال کردن طرح اقساطی"
      },
      "BnplMerchantOrderCreateRequest": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "int32"
          },
          "mobile": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "callbackUrl": {
            "type": "string"
          },
          "cancelUrl": {
            "type": "string"
          },
          "refId": {
            "type": "string"
          },
          "targetPlans": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "amount",
          "mobile",
          "callbackUrl",
          "refId"
        ],
        "description": "درخواست ساخت سفارش اقساطی"
      },
      "BnplMerchantOrderCreateResponse": {
        "type": "object",
        "properties": {
          "redirectUrl": {
            "type": "string"
          },
          "orderTrackingCode": {
            "type": "string",
            "format": "uuid"
          }
        },
        "description": "پاسخ ساخت سفارش اقساطی"
      },
      "CouponDetailViewModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1
            ]
          },
          "amount": {
            "type": "integer",
            "format": "int32"
          },
          "code": {
            "type": "string"
          },
          "redeemDate": {
            "type": "string",
            "format": "date-time"
          },
          "redeemTime": {
            "type": "string"
          },
          "maxRedemption": {
            "type": "integer",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean"
          },
          "activeProductCode": {
            "type": "string"
          },
          "isArchived": {
            "type": "boolean"
          },
          "userCouponCode": {
            "type": "string"
          },
          "buyerCounts": {
            "type": "integer",
            "format": "int32"
          },
          "buyerSum": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "CouponListItemViewModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1
            ]
          },
          "amount": {
            "type": "integer",
            "format": "int32"
          },
          "code": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "activeProductCode": {
            "type": "string"
          },
          "activeProductName": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "userCouponCode": {
            "type": "string"
          },
          "amountDisplay": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "CountViewModel": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "BuyerDetailsViewModel": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "amount": {
            "type": "integer",
            "format": "int32"
          },
          "addressLine": {
            "type": "string"
          },
          "postalCode": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "customDescription": {
            "type": "string"
          },
          "permanLinkCode": {
            "type": "string"
          },
          "productInfo": {
            "$ref": "#/components/schemas/ProductInfo"
          },
          "couponCode": {
            "type": "string"
          },
          "productCode": {
            "type": "string"
          },
          "campaignCode": {
            "type": "string"
          },
          "isPaid": {
            "type": "boolean"
          },
          "payerId": {
            "type": "integer",
            "format": "int32"
          },
          "invoiceNo": {
            "type": "string"
          },
          "payDate": {
            "type": "string",
            "format": "date-time"
          },
          "fullName": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "ProductInfo": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "realAmount": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ProductCreateViewModel": {
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "amount": {
            "type": "integer",
            "format": "int32"
          },
          "defineAmountByUser": {
            "type": "boolean"
          },
          "quantity": {
            "type": "integer",
            "format": "int32"
          },
          "haveTax": {
            "type": "boolean"
          },
          "unlimited": {
            "type": "boolean"
          },
          "imageLink": {
            "type": "string"
          }
        }
      },
      "ProductEditViewModel": {
        "required": [
          "amount",
          "title"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "amount": {
            "type": "integer",
            "format": "int32"
          },
          "defineAmountByUser": {
            "type": "boolean"
          },
          "haveTax": {
            "type": "boolean"
          },
          "quantity": {
            "type": "integer",
            "format": "int32"
          },
          "unlimited": {
            "type": "boolean"
          },
          "imageLink": {
            "type": "string"
          }
        }
      },
      "ProductFullDeatilViewModel": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "quantity": {
            "type": "integer",
            "format": "int32"
          },
          "unlimited": {
            "type": "boolean"
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "amount": {
            "type": "integer",
            "format": "int32"
          },
          "defineAmountByUser": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "isArchived": {
            "type": "boolean"
          },
          "haveTax": {
            "type": "boolean"
          },
          "tax": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "imageLink": {
            "type": "string"
          },
          "imageId": {
            "type": "string"
          },
          "category": {
            "$ref": "#/components/schemas/CategoryMinorDetailViewModel"
          }
        }
      },
      "CategoryMinorDetailViewModel": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "ProductListItemViewModel": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "quantity": {
            "type": "integer",
            "format": "int32"
          },
          "unlimited": {
            "type": "boolean"
          },
          "defineAmountByUser": {
            "type": "boolean"
          },
          "amountDisplay": {
            "type": "string",
            "readOnly": true
          },
          "quantityViewModel": {
            "type": "string",
            "readOnly": true
          },
          "isActive": {
            "type": "boolean"
          },
          "haveTax": {
            "type": "boolean"
          },
          "havePerma": {
            "type": "boolean"
          }
        }
      },
      "PermanentCreateViewModel": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "productCode": {
            "type": "string",
            "nullable": true
          },
          "redirectPage": {
            "type": "string",
            "nullable": true
          },
          "getAddress": {
            "type": "boolean"
          },
          "mailerLiteListId": {
            "type": "string",
            "nullable": true
          },
          "smsText": {
            "type": "string",
            "nullable": true
          },
          "customDescriptionText": {
            "type": "string",
            "nullable": true
          },
          "emailOption": {
            "$ref": "#/components/schemas/ShowOptions"
          },
          "phoneOption": {
            "$ref": "#/components/schemas/ShowOptions"
          },
          "nameOption": {
            "$ref": "#/components/schemas/ShowOptions"
          },
          "customDesOption": {
            "$ref": "#/components/schemas/ShowOptions"
          },
          "clientId": {
            "type": "string",
            "nullable": true
          },
          "clientRefId": {
            "type": "string",
            "nullable": true
          },
          "permanentType": {
            "$ref": "#/components/schemas/PermanentType"
          },
          "isMultiple": {
            "type": "boolean"
          }
        },
        "nullable": true
      },
      "ShowOptions": {
        "type": "integer",
        "format": "int32",
        "enum": [
          0,
          1,
          2
        ]
      },
      "PermanentType": {
        "type": "integer",
        "format": "int32",
        "enum": [
          0,
          1
        ]
      },
      "CodeVM": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          }
        },
        "nullable": true
      },
      "PermanentEditViewModel": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "productCode": {
            "type": "string",
            "nullable": true
          },
          "redirectPage": {
            "type": "string",
            "nullable": true
          },
          "getAddress": {
            "type": "boolean"
          },
          "mailerLiteListId": {
            "type": "string",
            "nullable": true
          },
          "smsText": {
            "type": "string",
            "nullable": true
          },
          "customDescriptionText": {
            "type": "string",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          },
          "emailOption": {
            "$ref": "#/components/schemas/ShowOptions"
          },
          "phoneOption": {
            "$ref": "#/components/schemas/ShowOptions"
          },
          "nameOption": {
            "$ref": "#/components/schemas/ShowOptions"
          },
          "customDesOption": {
            "$ref": "#/components/schemas/ShowOptions"
          },
          "permanentType": {
            "$ref": "#/components/schemas/PermanentType"
          },
          "isMultiple": {
            "type": "boolean"
          }
        },
        "nullable": true
      },
      "PermanentDetailViewModel": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "redirectPage": {
            "type": "string"
          },
          "getAddress": {
            "type": "boolean"
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "mailerLiteListId": {
            "type": "string"
          },
          "smsText": {
            "type": "string"
          },
          "customDescriptionText": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isArchived": {
            "type": "boolean"
          },
          "emailOption": {
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          },
          "phoneOption": {
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          },
          "nameOption": {
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          },
          "customDesOption": {
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          },
          "clientId": {
            "type": "string"
          },
          "clientRefId": {
            "type": "string"
          },
          "qrLink": {
            "type": "string"
          },
          "permanentType": {
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1
            ]
          },
          "buyerCounts": {
            "type": "integer",
            "format": "int32"
          },
          "buyerSum": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ProductBuyerViewModel": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "integer",
            "format": "int32"
          },
          "fullName": {
            "type": "string"
          },
          "customDescription": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "payDate": {
            "type": "string",
            "format": "date-time"
          },
          "amountDisplay": {
            "type": "string",
            "readOnly": true
          },
          "payDateDisplay": {
            "type": "string",
            "readOnly": true
          },
          "phoneViewModel": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "CountVM": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "nullable": true
      },
      "InvoiceCreateViewModel": {
        "type": "object",
        "properties": {
          "cc": {
            "type": "array",
            "description": "ایمیل‌ها",
            "items": {
              "$ref": "#/components/schemas/InvoiceCcToCreateOrUpdateViewModel"
            }
          },
          "customers": {
            "type": "array",
            "description": "مشتریان فاکتور",
            "items": {
              "$ref": "#/components/schemas/InvoiceBillToCreateOrUpdateViewModel"
            }
          },
          "createStatus": {
            "type": "integer",
            "format": "int32",
            "description": "نوع ثبت فاکتور:\r\n0 = ذخیره در پیش‌نویس\r\n1 =     ارسال\r\n2 = پرداخت دستی انجام شده",
            "enum": [
              0,
              1,
              2
            ]
          },
          "paidManualDescription": {
            "type": "string",
            "description": "شرح پرداخت نقدی یا دستی"
          },
          "number": {
            "type": "string",
            "description": "شماره فاکتور"
          },
          "title": {
            "type": "string",
            "description": "عنوان فاکتور"
          },
          "sendDate": {
            "type": "string",
            "format": "date-time",
            "description": "تاریخ ارسال فاکتور"
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "description": "تاریخ سررسید پرداخت"
          },
          "hasOtherDiscount": {
            "type": "boolean",
            "description": "آیا فاکتور شامل تخفیف کلی است"
          },
          "itemHasDiscount": {
            "type": "boolean",
            "description": "فعال بودن امکان درج تخفیف برای هر آیتم"
          },
          "itemDiscounts": {
            "type": "number",
            "format": "double",
            "description": "مجموع تخفیف آیتم‌های مالی فاکتور"
          },
          "discountCouponCode": {
            "type": "string",
            "description": "کد تخفیف ویژه آیتم‌ها"
          },
          "couponCode": {
            "type": "string",
            "description": "کد تخفیف کلی فاکتور"
          },
          "discountAmount": {
            "type": "number",
            "format": "double",
            "description": "مبلغ یا درصد تخفیف کلی فاکتور"
          },
          "discountType": {
            "type": "integer",
            "format": "int32",
            "description": "نوع تخفیف به کل فاکتور:\r\n1 = مبلغ\r\n0 = درصد",
            "enum": [
              0,
              1
            ]
          },
          "shipping": {
            "type": "number",
            "format": "double",
            "description": "هزینه حمل و نقل"
          },
          "notes": {
            "type": "string",
            "description": "پیامی جهت نمایش به پرداخت‌کننده"
          },
          "termsAndConditions": {
            "type": "string",
            "description": "شرایط و قوانین جهت نمایش به پرداخت‌کننده"
          },
          "memo": {
            "type": "string",
            "description": "یادداشت داخلی برای صادرکننده فاکتور"
          },
          "products": {
            "type": "array",
            "description": "آیتم‌های مالی فاکتور",
            "items": {
              "$ref": "#/components/schemas/InvoiceProductCreateViewModel"
            }
          },
          "sendAttachmentsAfterSuccessPayment": {
            "type": "boolean",
            "description": "نمایش فایل‌های ضمیمه فقط پس از پرداخت موفق = true، نمایش     قبل و بعد از پرداخت = false",
            "default": false
          },
          "showNotesAfterSuccessPayment": {
            "type": "boolean",
            "description": "نمایش پیام برای پرداخت‌کننده فقط پس از پرداخت موفق =     true، نمایش قبل و بعد از پرداخت = false",
            "default": false
          },
          "showTermsAfterSuccessPayment": {
            "type": "boolean",
            "description": "نمایش قوانین و مقررات برای پرداخت‌کننده فقط پس از پرداخت     موفق = true، نمایش قبل و بعد از پرداخت = false",
            "default": false
          },
          "attachments": {
            "type": "array",
            "description": "کلید(های) یکتا فایل‌های ضمیمه دریافتی از سرویس آپلود",
            "items": {
              "type": "string"
            }
          },
          "tagIds": {
            "type": "array",
            "description": "برچسب‌های مرتبط با فاکتور",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "returnUrl": {
            "type": "string",
            "description": "آدرس بازگشت از صفحه پرداخت"
          }
        },
        "description": "ثبت فاکتور جدید"
      },
      "InvoiceCcToCreateOrUpdateViewModel": {
        "type": "object",
        "properties": {
          "emailAddress": {
            "type": "string",
            "description": "آدرس ایمیل"
          }
        },
        "description": "CC"
      },
      "InvoiceBillToCreateOrUpdateViewModel": {
        "type": "object",
        "properties": {
          "addressBookCode": {
            "type": "string",
            "description": "کلید یکتای مشتری"
          }
        },
        "description": "ثبت یا بروزرسانی مشتری"
      },
      "InvoiceItemCreateViewModel": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "کلید یکتا"
          },
          "name": {
            "type": "string",
            "description": "عنوان"
          },
          "description": {
            "type": "string",
            "description": "توضیحات"
          },
          "tax": {
            "type": "boolean",
            "description": "دارای مالیات = true, نداشتن مالیات = false",
            "default": false
          },
          "quantity": {
            "type": "integer",
            "description": "تعداد",
            "format": "int32",
            "default": 1
          },
          "discountValue": {
            "type": "number",
            "description": "مقدار تخفیف",
            "format": "double"
          },
          "discountType": {
            "type": "integer",
            "description": "نوع تخفیف:\r\n1 = مبلغ\r\n0 = درصد",
            "format": "int32",
            "enum": [
              0,
              1
            ]
          },
          "discountCouponCode": {
            "type": "string",
            "description": "کد یکتا تخفیف از بخش تخفیف ها"
          },
          "price": {
            "type": "number",
            "description": "مبلغ فی",
            "format": "double",
            "default": 0
          }
        },
        "description": "ثبت آیتم مالی فاکتور"
      },
      "InvoiceDetailViewModel": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "کلید یکتای فاکتور"
          },
          "parentCode": {
            "type": "string",
            "description": "کلید والد بودن فاکتور"
          },
          "paymentCode": {
            "type": "string",
            "description": "کد یکتای پرداخت"
          },
          "ccToes": {
            "type": "array",
            "description": "لیست ایمیل",
            "items": {
              "$ref": "#/components/schemas/InvoiceCcToDetailViewModel"
            }
          },
          "billToes": {
            "type": "array",
            "description": "لیست مشتری",
            "items": {
              "$ref": "#/components/schemas/InvoiceBillToDetailViewModel"
            }
          },
          "status": {
            "type": "integer",
            "description": "وضعیت فاکتور:\r\n0 = پیش نویس\r\n1 = در انتظار پرداخت\r\n2 = پرداخت شد\r\n3 = معوق\r\n4 = لغو شده\r\n5 = همه",
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5
            ]
          },
          "paidManualDescription": {
            "type": "string",
            "description": "شرح پرداخت دستی"
          },
          "saveToTemplate": {
            "type": "boolean",
            "description": "ذخیره به عنوان قالب فاکتور"
          },
          "invoiceNumber": {
            "type": "integer",
            "description": "شماره فاکتور",
            "format": "int64"
          },
          "invoiceTitle": {
            "type": "string",
            "description": "عنوان فاکتور"
          },
          "invoiceDateTime": {
            "type": "string",
            "description": "تاریخ ثبت",
            "format": "date-time"
          },
          "dueDate": {
            "type": "string",
            "description": "تاریخ سررسید",
            "format": "date-time"
          },
          "payedDateTime": {
            "type": "string",
            "description": "تاریخ پرداخت",
            "format": "date-time"
          },
          "canceledDateTime": {
            "type": "string",
            "description": "تاریخ لغو",
            "format": "date-time"
          },
          "subTotal": {
            "type": "number",
            "description": "جمع مبلغ پرداختی آیتم های مالی",
            "format": "double"
          },
          "itemsDiscountAmount": {
            "type": "number",
            "description": "جمع مبلغ تخفیف آیتم های مالی",
            "format": "double"
          },
          "totalDiscountAmount": {
            "type": "number",
            "description": "مبلغ تخفیف به کل فاکتور",
            "format": "double"
          },
          "totalDiscountPercent": {
            "type": "integer",
            "description": "درصد تخفیف به کل فاکتور",
            "format": "int32"
          },
          "totalDiscountType": {
            "type": "integer",
            "description": "نوع تخفیف به کل فاکتور:\r\n1 = مبلغ\r\n0 = درصد",
            "format": "int32",
            "enum": [
              0,
              1
            ]
          },
          "sumDiscountAmount": {
            "type": "number",
            "description": "جمع کل تخفیف اعمال شده روی فاکتور",
            "format": "double"
          },
          "totalTaxtionAmount": {
            "type": "number",
            "description": "مبلغ مالیات",
            "format": "double"
          },
          "shipping": {
            "type": "number",
            "description": "هزینه حمل و نقل",
            "format": "double"
          },
          "total": {
            "type": "number",
            "description": "مبلغ کل",
            "format": "double"
          },
          "notes": {
            "type": "string",
            "description": "پیامی جهت نمایش به پرداخت کننده"
          },
          "termsAndConditions": {
            "type": "string",
            "description": "متن شرایط و قوانین جهت نمایش به پرداخت کننده"
          },
          "memo": {
            "type": "string",
            "description": "متن دلخواه جهت یادآوری فقط برای صادر کننده فاکتور"
          },
          "invoiceSchulder": {
            "$ref": "#/components/schemas/InvoiceSchulderDetailViewModel"
          },
          "invoiceItems": {
            "type": "array",
            "description": "آیتم های مالی فاکتور",
            "items": {
              "$ref": "#/components/schemas/InvoiceItemDetailViewModel"
            }
          },
          "isSendAttachmentsAfterPayment": {
            "type": "boolean",
            "description": "نمایش فایل های ضمیمه به پرداخت کننده پس از پرداخت موفق = true, نمایش در قبل و بعد از پرداخت = false"
          },
          "isSendNotesAndTermsAfterPayment": {
            "type": "boolean",
            "description": "نمایش پیام به پرداخت کننده پس از پرداخت موفق = true, نمایش در قبل و بعد از پرداخت = false"
          },
          "isSendTermsAfterPayment": {
            "type": "boolean",
            "description": "نمایش متن قوانین و مقررات به پرداخت کننده پس از پرداخت موفق = true, نمایش در قبل و بعد از پرداخت = false"
          },
          "attachFileIds": {
            "type": "array",
            "description": "لیست کلید یکتای فایل های ضمیمه",
            "items": {
              "type": "string"
            }
          },
          "attachFileAddresses": {
            "type": "array",
            "description": "لیست آدرس فایل های ضمیمه",
            "items": {
              "type": "string"
            }
          },
          "qrCodeFileName": {
            "type": "string",
            "description": "آدرس تصویر بارکد فاکتور"
          }
        },
        "description": "جزییات فاکتور"
      },
      "InvoiceCcToDetailViewModel": {
        "type": "object",
        "properties": {
          "emailAddress": {
            "type": "string",
            "description": "آدرس ایمیل"
          }
        },
        "description": "CC"
      },
      "InvoiceBillToDetailViewModel": {
        "type": "object",
        "properties": {
          "addressBook": {
            "$ref": "#/components/schemas/CustomerDetailViewModel"
          }
        },
        "description": "مشتری یا پرداخت کننده"
      },
      "InvoiceSchulderDetailViewModel": {
        "type": "object",
        "properties": {
          "repeat": {
            "type": "integer",
            "description": "تکرار در هر X روز/هفته/ماه/سال",
            "format": "int32"
          },
          "schulderType": {
            "type": "integer",
            "description": "نوع زمانبندی:\r\n0 = روزانه\r\n1 = هفتگی\r\n2 = ماهانه\r\n3 = سالانه",
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3
            ]
          },
          "dueType": {
            "type": "integer",
            "description": "نوع پایان زمانبندی:\r\n0 = پس از ساخت X فاکتور\r\n1 = پایان دادن به ساخت فاکتور در تاریخ X\r\n2 = ساخت نامحدود فاکتور",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          },
          "endValue": {
            "type": "string",
            "description": "تعداد/تاریخ پایان، تولید فاکتور"
          },
          "dueDateAfterHowManyDay": {
            "type": "integer",
            "description": "سررسید بعد از X روز",
            "format": "int32"
          },
          "invoiceSubSchulders": {
            "type": "array",
            "description": "لیست دستور ساخت فاکتورهای زمانبندی شده و وضعیت آن ها",
            "items": {
              "$ref": "#/components/schemas/InvoiceSubSchulderDetailViewModel"
            }
          }
        },
        "description": "جزییات اطلاعات ساخت زمانبندی فاکتور"
      },
      "InvoiceSubSchulderDetailViewModel": {
        "type": "object",
        "properties": {
          "dueDate": {
            "type": "string",
            "description": "تاریخ سررسید فاکتوری که باید ساخته شود",
            "format": "date-time"
          },
          "mustBeCreateInDateTime": {
            "type": "string",
            "description": "تاریخ روزی که فاکتور باید ساخته شود",
            "format": "date-time"
          },
          "deActiveDateTime": {
            "type": "string",
            "description": "تاریخ غیر فعال شدن ساخت فاکتور",
            "format": "date-time"
          },
          "isInvoiceCreated": {
            "type": "boolean",
            "description": "ساخته شد = true, در صف انتظار= false"
          },
          "isActive": {
            "type": "boolean",
            "description": "فعال بود = true, غیر فعال = false"
          },
          "invoiceCode": {
            "type": "string",
            "description": "کلید یکتا فاکتور ساخته شده"
          }
        },
        "description": "جزییات دستور ساخت فاکتورهای زمانبندی شده و وضعیت آن ها"
      },
      "InvoiceItemDetailViewModel": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "کد یکتا"
          },
          "name": {
            "type": "string",
            "description": "عنوان"
          },
          "description": {
            "type": "string",
            "description": "توضیحات"
          },
          "quantity": {
            "type": "integer",
            "description": "تعداد",
            "format": "int32"
          },
          "discountType": {
            "type": "integer",
            "description": "نوع تخفیف:\r\n1 = مبلغ\r\n0 = درصد",
            "format": "int32",
            "enum": [
              0,
              1
            ]
          },
          "discountPercent": {
            "type": "integer",
            "description": "درصد تخفیف",
            "format": "int32"
          },
          "discountAmount": {
            "type": "number",
            "description": "مبلغ تخفیف",
            "format": "double"
          },
          "tax": {
            "type": "boolean",
            "description": "دارای مالیات = true, نداشتن مالیات = false"
          },
          "taxRate": {
            "type": "integer",
            "description": "مقدار درصد مالیات",
            "format": "int32"
          },
          "price": {
            "type": "number",
            "description": "مبلغ فی",
            "format": "double"
          },
          "totalPrice": {
            "type": "number",
            "description": "مبلغ فی - مبلغ تخفیف) * تعداد = مجموع)",
            "format": "double"
          },
          "amount": {
            "type": "number",
            "description": "مجموع + مالیات = پرداختی",
            "format": "double"
          }
        },
        "description": "جزییات آیتم مالی فاکتور"
      },
      "InvoiceSendInvoiceResponseViewModel": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "موفقیت آمیز بودن درخواست = true, ناموفق بودن = false"
          },
          "message": {
            "type": "string",
            "description": "پیام خطا یا موفقیت"
          },
          "modelCode": {
            "type": "string",
            "description": "کلید یکتا"
          }
        },
        "description": "بازگشت مشخصات درخواست ارسال فاکتور"
      },
      "InvoiceEditViewModel": {
        "required": [
          "code"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "کلید یکتای فاکتور"
          },
          "ccToes": {
            "type": "array",
            "description": "ایمیل ها",
            "items": {
              "$ref": "#/components/schemas/InvoiceCcToCreateOrUpdateViewModel"
            }
          },
          "billToes": {
            "type": "array",
            "description": "مشتریان",
            "items": {
              "$ref": "#/components/schemas/InvoiceBillToCreateOrUpdateViewModel"
            }
          },
          "createStatus": {
            "type": "integer",
            "description": "نوع ثبت:\r\n0 = ذخیره در پیش نویس\r\n1 = ارسال\r\n2 = دستی پرداخت شد",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          },
          "paidManualDescription": {
            "type": "string",
            "description": "شرح پرداخت دستی"
          },
          "saveToTemplate": {
            "type": "boolean",
            "description": "ذخیره به عنوان قالب",
            "default": false
          },
          "templateCode": {
            "type": "string",
            "description": "کد یکتای قالب فاکتور"
          },
          "invoiceNumber": {
            "type": "integer",
            "description": "شماره فاکتور",
            "format": "int64"
          },
          "invoiceTitle": {
            "type": "string",
            "description": "عنوان فاکتور"
          },
          "invoiceDateTime": {
            "type": "string",
            "description": "تاریخ ثبت",
            "format": "date-time"
          },
          "dueDate": {
            "type": "string",
            "description": "تاریخ سررسید- تاریخی که باید پرداخت صورت پذیرد",
            "format": "date-time"
          },
          "totalDiscountValue": {
            "type": "number",
            "description": "تخفیف به کل فاکتور",
            "format": "double"
          },
          "totalDiscountType": {
            "type": "integer",
            "description": "نوع تخفیف به مبلغ یا درصد\r\n1 = مبلغ\r\n0 = درصد",
            "format": "int32",
            "enum": [
              0,
              1
            ]
          },
          "shipping": {
            "type": "number",
            "description": "هزینه حمل و نقل",
            "format": "double"
          },
          "notes": {
            "type": "string",
            "description": "متن جهت ارسال به دریافت کننده"
          },
          "termsAndConditions": {
            "type": "string",
            "description": "متن شرایط و قوانین جهت ارسال به دریافت کننده"
          },
          "memo": {
            "type": "string",
            "description": "ایجاد یک متن دلخواه جهت یادآوری فقط برای کاربر ثبت کننده"
          },
          "invoiceItems": {
            "type": "array",
            "description": "آیتم های مالی فاکتور",
            "items": {
              "$ref": "#/components/schemas/InvoiceItemCreateViewModel"
            }
          },
          "isSendAttachmentsAfterPayment": {
            "type": "boolean",
            "description": "نمایش فایل های ضمیمه به پرداخت کننده پس از پرداخت موفق = true, نمایش در قبل و بعد از پرداخت = false",
            "default": false
          },
          "isSendNotesAndTermsAfterPayment": {
            "type": "boolean",
            "description": "نمایش پیام به پرداخت کننده پس از پرداخت موفق = true, نمایش در قبل و بعد از پرداخت = false",
            "default": false
          },
          "isSendTermsAfterPayment": {
            "type": "boolean",
            "description": "نمایش متن قوانین و مقررات به پرداخت کننده پس از پرداخت موفق = true, نمایش در قبل و بعد از پرداخت = false",
            "default": false
          },
          "attachmentsIds": {
            "type": "array",
            "description": "کلید(های) یکتا دریافت شده از سرویس آپلود به صورت آرایه از رشته ها قرار دهید",
            "items": {
              "type": "string"
            }
          },
          "isDevicePayment": {
            "type": "boolean",
            "description": "ثبت فاکتور بدون مشتری = true, با مشتری = false",
            "default": false
          }
        },
        "description": "بروزرسانی فاکتور ساده"
      },
      "InvoicePdfResponseViewModel": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "موفقیت آمیز بودن درخواست = true, ناموفق بودن = false"
          },
          "message": {
            "type": "string",
            "description": "پیام خطا یا موفقیت"
          },
          "fileAddress": {
            "type": "string",
            "description": "آدرس فایل"
          }
        },
        "description": "مشخصات بازگشت درخواست فایل پی دی اف فاکتور"
      },
      "InvoiceListItemViewModel": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "کلید یکتای فاکتور"
          },
          "number": {
            "type": "integer",
            "description": "شماره فاکتور",
            "format": "int64"
          },
          "sendDate": {
            "type": "string",
            "description": "تاریخ ثبت فاکتور",
            "format": "date-time"
          },
          "dueDate": {
            "type": "string",
            "description": "تاریخ سررسید فاکتور",
            "format": "date-time"
          },
          "payedDateTime": {
            "type": "string",
            "description": "تاریخ پرداخت",
            "format": "date-time",
            "nullable": true
          },
          "canceledDateTime": {
            "type": "string",
            "description": "تاریخ لغو",
            "format": "date-time",
            "nullable": true
          },
          "title": {
            "type": "string",
            "description": "عنوان"
          },
          "status": {
            "type": "integer",
            "description": "وضعیت فاکتور:\n  0 = پیش‌نویس\n  1 = در انتظار پرداخت\n  2 = پرداخت شد\n  3 = معوق\n  4 = لغو شده\n  5 = همه\n",
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5
            ]
          },
          "invoicePaidBy": {
            "type": "string",
            "description": "پرداخت‌کننده فاکتور",
            "nullable": true
          },
          "total": {
            "type": "number",
            "description": "مبلغ نهایی یا قابل پرداخت",
            "format": "double"
          },
          "isCorrection": {
            "type": "boolean",
            "description": "آیا این فاکتور اصلاحیه است"
          },
          "isSchedule": {
            "type": "boolean",
            "description": "آیا این فاکتور زمان‌بندی شده است"
          },
          "cc": {
            "type": "array",
            "description": "دریافت‌کننده‌های ایمیلی",
            "items": {
              "$ref": "#/components/schemas/InvoiceCcToListItemViewModel"
            }
          },
          "customerCode": {
            "type": "string",
            "description": "کد مشتری"
          },
          "customer": {
            "$ref": "#/components/schemas/InvoiceBillToListItemViewModel"
          }
        }
      },
      "InvoiceCcToListItemViewModel": {
        "type": "object",
        "properties": {
          "emailAddress": {
            "type": "string",
            "description": "آدرس ایمیل"
          }
        },
        "description": "CC"
      },
      "InvoiceBillToListItemViewModel": {
        "type": "object",
        "description": "مشتری یا پرداخت‌کننده فاکتور",
        "properties": {
          "code": {
            "type": "string",
            "description": "کد مشتری"
          },
          "displayName": {
            "type": "string",
            "description": "نام نمایشی مشتری"
          },
          "fullName": {
            "type": "string",
            "description": "نام کامل مشتری"
          },
          "firstName": {
            "type": "string",
            "description": "نام کوچک مشتری"
          },
          "lastName": {
            "type": "string",
            "description": "نام خانوادگی مشتری"
          }
        }
      },
      "InvoiceCopyRequestViewModel": {
        "required": [
          "code",
          "customerCodes"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "customerCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sendDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InvoiceCreateResponseViewModel": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "customerCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InvoiceCancelRequest": {
        "required": [
          "code"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          }
        }
      },
      "InvoiceCancelResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "کلید یکتا فاکتور"
          },
          "message": {
            "type": "string",
            "description": "پیام نتیجه انجام درخواست"
          }
        },
        "description": "بازگشت مشخصات درخواست لغو فاکتور"
      },
      "InvoiceSendReminderResponseViewModel": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "موفقیت آمیز بودن درخواست = true, ناموفق بودن = false"
          },
          "message": {
            "type": "string",
            "description": "پیام خطا یا موفقیت"
          },
          "modelCode": {
            "type": "string",
            "description": "کلید یکتا فاکتور"
          }
        },
        "description": "بازگشت مشخصات ارسال یادآوری فاکتور"
      },
      "InvoiceCreateScheduleViewModel": {
        "type": "object",
        "properties": {
          "customers": {
            "type": "array",
            "description": "مشتریان",
            "items": {
              "$ref": "#/components/schemas/InvoiceCustomerCreateViewModel"
            }
          },
          "createStatus": {
            "type": "integer",
            "description": "نوع ثبت:\r\n1 = ارسال\r\n2 = دستی پرداخت شد",
            "format": "int32",
            "enum": [
              1,
              2
            ]
          },
          "discountAmount": {
            "type": "number",
            "description": "تخفیف به کل فاکتور",
            "format": "double",
            "default": 0
          },
          "paidManualDescription": {
            "type": "string",
            "description": "شرح پرداخت دستی"
          },
          "products": {
            "type": "array",
            "description": "محصولات فاکتور",
            "items": {
              "$ref": "#/components/schemas/InvoiceProductCreateViewModel"
            }
          },
          "title": {
            "type": "string",
            "description": "عنوان فاکتور"
          },
          "number": {
            "type": "string",
            "description": "شماره فاکتور"
          },
          "memo": {
            "type": "string",
            "description": "پیام داخل گزارشات - متن دلخواه جهت یادآوری فقط برای صادر کننده فاکتور"
          },
          "notes": {
            "type": "string",
            "description": "پیام یادآوری جهت نمایش به پرداخت کننده"
          },
          "showNotesAfterSuccessPayment": {
            "type": "boolean",
            "description": "نمایش پیام به پرداخت کننده پس از پرداخت موفق = true, نمایش در قبل و بعد از پرداخت = false",
            "default": false
          },
          "showTermsAfterSuccessPayment": {
            "type": "boolean",
            "description": "نمایش متن قوانین و مقررات به پرداخت کننده پس از پرداخت موفق = true, نمایش در قبل و بعد از پرداخت = false",
            "default": false
          },
          "sendAttachmentsAfterSuccessPayment": {
            "type": "boolean",
            "description": "نمایش فایل های ضمیمه به پرداخت کننده پس از پرداخت موفق = true, نمایش در قبل و بعد از پرداخت = false",
            "default": true
          },
          "schedule": {
            "$ref": "#/components/schemas/InvoiceScheduleCreateViewModel"
          },
          "sendDate": {
            "type": "string",
            "description": "تاریخ ارسال فاکتور",
            "format": "date-time"
          },
          "shipping": {
            "type": "number",
            "description": "هزینه حمل و نقل",
            "format": "double",
            "default": 0
          },
          "returnUrl": {
            "type": "string",
            "description": "آدرس بازگشت فاکتور"
          }
        },
        "description": "ثبت فاکتور زمانبندی شده"
      },
      "InvoiceSchulderCreateOrUpdateViewModel": {
        "type": "object",
        "properties": {
          "repeat": {
            "type": "integer",
            "description": "تکرار در هر X روز/هفته/ماه/سال",
            "format": "int32",
            "default": 1
          },
          "schulderType": {
            "type": "integer",
            "description": "نوع زمانبندی:\r\n0 = روزانه\r\n1 = هفتگی\r\n2 = ماهانه\r\n3 = سالانه",
            "format": "int32",
            "default": 0,
            "enum": [
              0,
              1,
              2,
              3
            ]
          },
          "dueType": {
            "type": "integer",
            "description": "نوع پایان زمانبندی:\r\n0 = پس از ساخت X فاکتور\r\n1 = پایان دادن به ساخت فاکتور در تاریخ X\r\n2 = ساخت نامحدود فاکتور",
            "format": "int32",
            "default": 0,
            "enum": [
              0,
              1,
              2
            ]
          },
          "endValue": {
            "type": "string",
            "description": "تعداد/تاریخ پایان، تولید فاکتور",
            "default": "1"
          },
          "dueDateAfterHowManyDay": {
            "type": "integer",
            "description": "سررسید بعد از X روز",
            "format": "int32",
            "default": 2
          }
        },
        "description": "ثبت اطلاعات زمانبندی فاکتور"
      },
      "InvoiceScheduleCreateViewModel": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "تعداد فاکتورهای زمانبندی شده",
            "format": "int32"
          },
          "dueDateAfterHowManyDay": {
            "type": "integer",
            "description": "سررسید بعد از چند روز",
            "format": "int32",
            "default": 0
          },
          "interval": {
            "type": "string",
            "description": "فاصله زمانی بین فاکتورها"
          },
          "scheduleType": {
            "type": "integer",
            "description": "نوع زمانبندی:\r\n0 = روزانه\r\n1 = هفتگی\r\n2 = ماهانه\r\n3 = سالانه",
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3
            ]
          }
        },
        "description": "اطلاعات زمانبندی فاکتور"
      },
      "InvoiceScheduleCreateResponseItem": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "کد یکتای فاکتور ایجاد شده"
          },
          "customerCode": {
            "type": "string",
            "description": "کد یکتای مشتری"
          }
        },
        "description": "اطلاعات فاکتور زمانبندی شده ایجاد شده برای هر مشتری"
      },
      "InvoiceCustomerCreateViewModel": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "کد یکتای مشتری"
          }
        },
        "description": "اطلاعات مشتری"
      },
      "ScheduleInvoiceWithChilds": {
        "type": "object",
        "properties": {
          "parentInvoice": {
            "$ref": "#/components/schemas/InvoiceDetailViewModel"
          },
          "childInvoices": {
            "type": "array",
            "description": "فاکتورهای ساخته شده توسط فاکتور زمابندی والد",
            "items": {
              "$ref": "#/components/schemas/InvoiceDetailViewModel"
            }
          }
        },
        "description": "جزییات کامل فاکتور زمابندی شده"
      },
      "InvoicePaymentCodeResponse": {
        "type": "object",
        "properties": {
          "payCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InvoiceConfirmPaymentRequestViewModel": {
        "required": [
          "invoiceCode",
          "refId"
        ],
        "type": "object",
        "properties": {
          "invoiceCode": {
            "type": "string"
          },
          "refId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "InvoiceConfirmPaymentResponseViewModel": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string"
          },
          "modelCode": {
            "type": "string"
          },
          "refId": {
            "type": "string"
          },
          "previewKey": {
            "type": "string"
          },
          "invoice": {
            "$ref": "#/components/schemas/InvoiceInPublicShow"
          }
        }
      },
      "InvoiceInPublicShow": {
        "type": "object",
        "properties": {
          "previewKey": {
            "type": "string"
          },
          "invoice": {
            "$ref": "#/components/schemas/InvoicePublicDetailViewModel"
          },
          "ownerInfo": {
            "$ref": "#/components/schemas/UserInfoInPublicShow"
          }
        }
      },
      "InvoicePublicDetailViewModel": {
        "type": "object",
        "properties": {
          "payedDateTime": {
            "type": "string",
            "description": "تاریخ پرداخت",
            "format": "date-time"
          },
          "canceledDateTime": {
            "type": "string",
            "description": "تاریخ لغو",
            "format": "date-time"
          },
          "expiredDateTime": {
            "type": "string",
            "description": "تاریخ معوق شدن",
            "format": "date-time"
          },
          "code": {
            "type": "string",
            "description": "کلید یکتای فاکتور"
          },
          "parentCode": {
            "type": "string",
            "description": "کلید والد بودن فاکتور"
          },
          "paymentCode": {
            "type": "string",
            "description": "کد یکتای پرداخت"
          },
          "ccToes": {
            "type": "array",
            "description": "لیست ایمیل",
            "items": {
              "$ref": "#/components/schemas/InvoiceCcToDetailViewModel"
            }
          },
          "billToes": {
            "type": "array",
            "description": "لیست مشتری",
            "items": {
              "$ref": "#/components/schemas/InvoiceBillToDetailViewModel"
            }
          },
          "status": {
            "type": "integer",
            "description": "وضعیت فاکتور:\r\n0 = پیش نویس\r\n1 = در انتظار پرداخت\r\n2 = پرداخت شد\r\n3 = معوق\r\n4 = لغو شده\r\n5 = همه",
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5
            ]
          },
          "paidManualDescription": {
            "type": "string",
            "description": "شرح پرداخت دستی"
          },
          "saveToTemplate": {
            "type": "boolean",
            "description": "ذخیره به عنوان قالب فاکتور"
          },
          "invoiceNumber": {
            "type": "integer",
            "description": "شماره فاکتور",
            "format": "int64"
          },
          "invoiceTitle": {
            "type": "string",
            "description": "عنوان فاکتور"
          },
          "invoiceDateTime": {
            "type": "string",
            "description": "تاریخ ثبت",
            "format": "date-time"
          },
          "dueDate": {
            "type": "string",
            "description": "تاریخ سررسید",
            "format": "date-time"
          },
          "subTotal": {
            "type": "number",
            "description": "جمع مبلغ پرداختی آیتم های مالی",
            "format": "double"
          },
          "itemsDiscountAmount": {
            "type": "number",
            "description": "جمع مبلغ تخفیف آیتم های مالی",
            "format": "double"
          },
          "totalDiscountAmount": {
            "type": "number",
            "description": "مبلغ تخفیف به کل فاکتور",
            "format": "double"
          },
          "totalDiscountPercent": {
            "type": "integer",
            "description": "درصد تخفیف به کل فاکتور",
            "format": "int32"
          },
          "totalDiscountType": {
            "type": "integer",
            "description": "نوع تخفیف به کل فاکتور:\r\n1 = مبلغ\r\n0 = درصد",
            "format": "int32",
            "enum": [
              0,
              1
            ]
          },
          "sumDiscountAmount": {
            "type": "number",
            "description": "جمع کل تخفیف اعمال شده روی فاکتور",
            "format": "double"
          },
          "totalTaxtionAmount": {
            "type": "number",
            "description": "مبلغ مالیات",
            "format": "double"
          },
          "shipping": {
            "type": "number",
            "description": "هزینه حمل و نقل",
            "format": "double"
          },
          "total": {
            "type": "number",
            "description": "مبلغ کل",
            "format": "double"
          },
          "notes": {
            "type": "string",
            "description": "پیامی جهت نمایش به پرداخت کننده"
          },
          "termsAndConditions": {
            "type": "string",
            "description": "متن شرایط و قوانین جهت نمایش به پرداخت کننده"
          },
          "memo": {
            "type": "string",
            "description": "متن دلخواه جهت یادآوری فقط برای صادر کننده فاکتور"
          },
          "invoiceSchulder": {
            "$ref": "#/components/schemas/InvoiceSchulderDetailViewModel"
          },
          "invoiceItems": {
            "type": "array",
            "description": "آیتم های مالی فاکتور",
            "items": {
              "$ref": "#/components/schemas/InvoiceItemDetailViewModel"
            }
          },
          "isSendAttachmentsAfterPayment": {
            "type": "boolean",
            "description": "نمایش فایل های ضمیمه به پرداخت کننده پس از پرداخت موفق = true, نمایش در قبل و بعد از پرداخت = false"
          },
          "isSendNotesAndTermsAfterPayment": {
            "type": "boolean",
            "description": "نمایش پیام به پرداخت کننده پس از پرداخت موفق = true, نمایش در قبل و بعد از پرداخت = false"
          },
          "isSendTermsAfterPayment": {
            "type": "boolean",
            "description": "نمایش متن قوانین و مقررات به پرداخت کننده پس از پرداخت موفق = true, نمایش در قبل و بعد از پرداخت = false"
          },
          "attachFileIds": {
            "type": "array",
            "description": "لیست کلید یکتای فایل های ضمیمه",
            "items": {
              "type": "string"
            }
          },
          "attachFileAddresses": {
            "type": "array",
            "description": "لیست آدرس فایل های ضمیمه",
            "items": {
              "type": "string"
            }
          },
          "qrCodeFileName": {
            "type": "string",
            "description": "آدرس تصویر بارکد فاکتور"
          }
        },
        "description": "جزییات فاکتور به صورت عمومی"
      },
      "UserInfoInPublicShow": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "profilePicture": {
            "type": "string"
          },
          "isBusiness": {
            "type": "boolean"
          },
          "verifyType": {
            "type": "integer",
            "format": "int32"
          },
          "socials": {
            "$ref": "#/components/schemas/SocialUserInfoExtraViewModel"
          }
        }
      },
      "SocialUserInfoExtraViewModel": {
        "type": "object",
        "properties": {
          "site": {
            "type": "string"
          },
          "instagram": {
            "type": "string"
          },
          "telegram": {
            "type": "string"
          },
          "twitter": {
            "type": "string"
          },
          "allSocialIsNull": {
            "type": "boolean",
            "readOnly": true
          }
        }
      },
      "FastInvoiceCreateRequestViewModel": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "customer": {
            "$ref": "#/components/schemas/InvoiceCustomerCreateViewModel"
          },
          "couponCode": {
            "type": "string",
            "nullable": true
          },
          "discountAmount": {
            "type": "number",
            "format": "double"
          },
          "discountType": {
            "$ref": "#/components/schemas/DiscountType"
          },
          "shipping": {
            "type": "number",
            "format": "double"
          },
          "notes": {
            "type": "string",
            "nullable": true,
            "default": ""
          },
          "termsAndConditions": {
            "type": "string",
            "nullable": true,
            "default": ""
          },
          "memo": {
            "type": "string",
            "nullable": true,
            "default": ""
          },
          "products": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/InvoiceProductCreateViewModel"
            }
          },
          "sendAttachmentsAfterSuccessPayment": {
            "type": "boolean",
            "default": false
          },
          "showNotesAfterSuccessPayment": {
            "type": "boolean",
            "default": false
          },
          "showTermsAfterSuccessPayment": {
            "type": "boolean",
            "default": false
          },
          "attachments": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "DiscountType": {
        "type": "integer",
        "format": "int32",
        "enum": [
          0,
          1
        ]
      },
      "InvoiceProductCreateViewModel": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true,
            "default": ""
          },
          "title": {
            "type": "string",
            "nullable": true,
            "default": ""
          },
          "description": {
            "type": "string",
            "nullable": true,
            "default": ""
          },
          "haveTax": {
            "type": "boolean",
            "default": false
          },
          "quantity": {
            "type": "number",
            "format": "double",
            "default": 1
          },
          "discountAmount": {
            "type": "number",
            "format": "double"
          },
          "discountType": {
            "$ref": "#/components/schemas/DiscountType"
          },
          "couponCode": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double",
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "FastInvoiceCreateResponseViewModel": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "payCode": {
            "type": "string",
            "nullable": true
          },
          "customerCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "PaymentProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          },
          "paypingTraceId": {
            "type": "string",
            "nullable": true
          },
          "metaData": {
            "$ref": "#/components/schemas/PaymentProblemDetails_metaData"
          }
        }
      },
      "PaymentConflictProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          },
          "paypingTraceId": {
            "type": "string",
            "nullable": true
          },
          "metaData": {
            "$ref": "#/components/schemas/PaymentConflictProblemDetails_metaData"
          }
        }
      },
      "BadRequestErrorInfo": {
        "type": "object",
        "properties": {
          "message": {
            "title": "متن خطا",
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BaseTransactionReport": {
        "type": "object",
        "properties": {
          "clientsInfos": {
            "type": "array",
            "description": "لیست ClientId,ClientInfo",
            "items": {
              "$ref": "#/components/schemas/ClientsInfo"
            }
          },
          "filter": {
            "type": "array",
            "description": "اعمال فیلتر بر روی فلگ های \r\nکد پرداخت\r\nمبلغ\r\nتاریخ پرداخت\r\nکد ارسالی مشتری به پی‌پینگ\r\nتوضیحات\r\nنام یا شناسه پرداخت کننده",
            "items": {
              "type": "string"
            }
          },
          "transactionType": {
            "type": "integer",
            "description": "نوع تراکنش\r\nدریافت ها =6\r\nپرداخت ها=7",
            "format": "int32",
            "enum": [
              6,
              7
            ]
          },
          "fromDate": {
            "type": "string",
            "description": "تاریخ شروع گزارش",
            "format": "date-time"
          },
          "toDate": {
            "type": "string",
            "description": "تاریخ پایان گزارش",
            "format": "date-time"
          }
        }
      },
      "ClientsInfo": {
        "type": "object",
        "properties": {
          "clientId": {
            "type": "string"
          },
          "clientRefId": {
            "type": "string"
          }
        }
      },
      "CreatePaymentViewModel": {
        "required": [
          "amount",
          "returnUrl"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "maximum": 200000000,
            "minimum": 100,
            "type": "integer",
            "description": "مبلغ",
            "format": "int32"
          },
          "payerIdentity": {
            "type": "string",
            "description": "شماره موبایل یا ایمیل پرداخت کننده - اگر شماره موبایل وارد شود، تمام شماره کارت‌های ذخیره شده پرداخت‌کننده در درگاه، نمایش داده می‌شود."
          },
          "payerName": {
            "type": "string",
            "description": "نام پرداخت کننده"
          },
          "description": {
            "type": "string",
            "description": "توضیحات"
          },
          "returnUrl": {
            "type": "string",
            "description": "آدرس صفحه برگشت"
          },
          "clientRefId": {
            "type": "string",
            "description": "کد ارسالی توسط کاربر"
          }
        }
      },
      "CreateMultiPaymentViewModel": {
        "required": [
          "returnUrl"
        ],
        "type": "object",
        "properties": {
          "payerName": {
            "type": "string",
            "description": "نام پرداخت کننده"
          },
          "pairs": {
            "type": "array",
            "description": "لیست پرداخت ها",
            "items": {
              "$ref": "#/components/schemas/MultiPayPair"
            }
          },
          "returnUrl": {
            "type": "string",
            "description": "آدرس صفحه برگشت"
          },
          "clientRefId": {
            "type": "string",
            "description": "کد ارسالی توسط کاربر"
          }
        }
      },
      "MultiPayPair": {
        "required": [
          "amount",
          "userIdentity"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "integer",
            "description": "مبلغ",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "نام"
          },
          "userIdentity": {
            "type": "string",
            "description": "نام کاربری/ایمیل کاربری"
          },
          "description": {
            "type": "string",
            "description": "توضیحات"
          }
        }
      },
      "TransactionReportModel": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "description": "نقطه شروع گزارش",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "description": "نقطه پایان گزارش",
            "format": "int32"
          },
          "clientsInfos": {
            "type": "array",
            "description": "لیست ClientId,ClientInfo",
            "items": {
              "$ref": "#/components/schemas/ClientsInfo"
            }
          },
          "filter": {
            "type": "array",
            "description": "اعمال فیلتر بر روی فلگ های \r\nکد پرداخت\r\nمبلغ\r\nتاریخ پرداخت\r\nکد ارسالی مشتری به پی‌پینگ\r\nتوضیحات\r\nنام یا شناسه پرداخت کننده",
            "items": {
              "type": "string"
            }
          },
          "transactionType": {
            "type": "integer",
            "description": "نوع تراکنش\r\nدریافت ها =6\r\nپرداخت ها=7",
            "format": "int32",
            "enum": [
              6,
              7
            ]
          },
          "fromDate": {
            "type": "string",
            "description": "تاریخ شروع گزارش",
            "format": "date-time"
          },
          "toDate": {
            "type": "string",
            "description": "تاریخ پایان گزارش",
            "format": "date-time"
          }
        }
      },
      "AccountOwnerInfo": {
        "type": "object",
        "properties": {
          "firstName": {
            "title": "نام",
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "title": "نام خانوادگی",
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BankAccountStatusEnum": {
        "type": "integer",
        "description": "\n\n0 = Unknown\n\n1 = Active\n\n2 = BlockWithDeposit\n\n3 = BlockWithoutDeposit\n\n4 = Idle",
        "format": "int32",
        "x-enumNames": [
          "Unknown",
          "Active",
          "BlockWithDeposit",
          "BlockWithoutDeposit",
          "Idle"
        ],
        "x-enumDescriptions": [
          "",
          "",
          "",
          "",
          ""
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4
        ]
      },
      "BankEnum": {
        "type": "integer",
        "description": "\n\n0 = Unknown (ناشناخته)\n\n1 = CentralBank (بانک مرکزی)\n\n2 = Melli (بانک ملی)\n\n3 = Mellat (بانک ملت)\n\n4 = Saman (بانک سامان)\n\n5 = Ayandeh (بانک آینده)\n\n6 = EghtesadNovin (بانک اقتصاد نوین)\n\n7 = Sepah (بانک سپه)\n\n8 = Tejarat (بانک تجارت)\n\n9 = Pasargad (بانک پاسارگاد)\n\n10 = Postbank (پست بانک ایران)\n\n11 = Parsian (پست پارسیان)\n\n12 = IranZamin (بانک ایران زمین)\n\n13 = Keshvarzi (بانک کشاورزی)\n\n14 = ToseeTaavon (بانک توسعه تعاون)\n\n15 = ToseeSaderat (بانک توسعه توسعه صادرات)\n\n16 = Dey (بانک دی)\n\n17 = KhavarMianeh (بانک خاور میانه)\n\n18 = Resalat (بانک رسالت)\n\n19 = Sarmayeh (بانک سرمایه)\n\n20 = Sina (بانک سینا)\n\n21 = Shahr (بانک شهر)\n\n22 = Saderat (بانک صادرات)\n\n23 = SanatVaMadan (بانک صنعت و معدن)\n\n24 = MehrIran (بانک مهر ایران)\n\n25 = Refah (بانک رفاه)\n\n26 = Gardeshgari (بانک گردشگری)\n\n27 = Maskan (بانک مسکن)\n\n28 = Kosar (موسسه مالی و اعتباری کوثر)\n\n29 = Mellal (موسسه مالی و اعتباری ملل)\n\n30 = EtebariTosee (موسسه مالی و اعتباری توسعه)\n\n31 = KarAfarin (بانک کار آفرین)\n\n32 = Noor (موسسه مالی و اعتباری نور)\n\n33 = IranVenezuela (بانک ایران ونزوئلا)",
        "format": "int32",
        "x-enumNames": [
          "Unknown",
          "CentralBank",
          "Melli",
          "Mellat",
          "Saman",
          "Ayandeh",
          "EghtesadNovin",
          "Sepah",
          "Tejarat",
          "Pasargad",
          "Postbank",
          "Parsian",
          "IranZamin",
          "Keshvarzi",
          "ToseeTaavon",
          "ToseeSaderat",
          "Dey",
          "KhavarMianeh",
          "Resalat",
          "Sarmayeh",
          "Sina",
          "Shahr",
          "Saderat",
          "SanatVaMadan",
          "MehrIran",
          "Refah",
          "Gardeshgari",
          "Maskan",
          "Kosar",
          "Mellal",
          "EtebariTosee",
          "KarAfarin",
          "Noor",
          "IranVenezuela"
        ],
        "x-enumDescriptions": [
          "ناشناخته",
          "بانک مرکزی",
          "بانک ملی",
          "بانک ملت",
          "بانک سامان",
          "بانک آینده",
          "بانک اقتصاد نوین",
          "بانک سپه",
          "بانک تجارت",
          "بانک پاسارگاد",
          "پست بانک ایران",
          "پست پارسیان",
          "بانک ایران زمین",
          "بانک کشاورزی",
          "بانک توسعه تعاون",
          "بانک توسعه توسعه صادرات",
          "بانک دی",
          "بانک خاور میانه",
          "بانک رسالت",
          "بانک سرمایه",
          "بانک سینا",
          "بانک شهر",
          "بانک صادرات",
          "بانک صنعت و معدن",
          "بانک مهر ایران",
          "بانک رفاه",
          "بانک گردشگری",
          "بانک مسکن",
          "موسسه مالی و اعتباری کوثر",
          "موسسه مالی و اعتباری ملل",
          "موسسه مالی و اعتباری توسعه",
          "بانک کار آفرین",
          "موسسه مالی و اعتباری نور",
          "بانک ایران ونزوئلا"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28,
          29,
          30,
          31,
          32,
          33
        ]
      },
      "CardToOwnerInfoResultModel": {
        "type": "object",
        "properties": {
          "bankName": {
            "$ref": "#/components/schemas/BankEnum"
          },
          "accountStatus": {
            "$ref": "#/components/schemas/BankAccountStatusEnum"
          },
          "accountOwnerInfos": {
            "title": "اطلاعات مالکین حساب",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/AccountOwnerInfo"
            }
          }
        },
        "additionalProperties": false
      },
      "CardToShebaResultModel": {
        "type": "object",
        "properties": {
          "bankName": {
            "$ref": "#/components/schemas/BankEnum"
          },
          "shebaNumber": {
            "title": "شناسه شبا",
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CardToDepositResultModel": {
        "type": "object",
        "properties": {
          "bankName": {
            "$ref": "#/components/schemas/BankEnum"
          },
          "depositNumber": {
            "title": "شناسه حساب",
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MatchingResultModel": {
        "type": "object",
        "properties": {
          "matched": {
            "title": "استعلام هویتی",
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ShebaToOwnerResultModel": {
        "type": "object",
        "properties": {
          "shebaNumber": {
            "title": "شناسه شبا",
            "type": "string",
            "nullable": true
          },
          "bankName": {
            "$ref": "#/components/schemas/BankEnum"
          },
          "accountStatus": {
            "$ref": "#/components/schemas/BankAccountStatusEnum"
          },
          "depositNumber": {
            "title": "شماره حساب",
            "type": "string",
            "nullable": true
          },
          "accountOwnerInfos": {
            "title": "اطلاعات مالکین حساب",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/AccountOwnerInfo"
            }
          }
        },
        "additionalProperties": false
      },
      "NationalCodeToOwnerResultModel": {
        "type": "object",
        "properties": {
          "NationalCode": {
            "title": "کد ملی",
            "type": "string",
            "nullable": true
          },
          "FirstName": {
            "title": "نام",
            "type": "string",
            "nullable": true
          },
          "LastName": {
            "title": "نام خانوادگی",
            "type": "string",
            "nullable": true
          },
          "FatherName": {
            "title": "نام پدر",
            "type": "string",
            "nullable": true
          },
          "BirthDate": {
            "title": "تاریخ تولد",
            "type": "string",
            "nullable": true
          },
          "Alive": {
            "title": "در قید حیات",
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PostalCodeInformationResultModel": {
        "type": "object",
        "properties": {
          "City": {
            "title": "شهر",
            "type": "string",
            "nullable": true
          },
          "Province": {
            "title": "استان",
            "type": "string",
            "nullable": true
          },
          "Township": {
            "title": "شهرستان",
            "type": "string",
            "nullable": true
          },
          "Locality": {
            "title": "محله",
            "type": "string",
            "nullable": true
          },
          "Avenue": {
            "title": "خیابان",
            "type": "string",
            "nullable": true
          },
          "StopStreet": {
            "title": "کوچه",
            "type": "string",
            "nullable": true
          },
          "No": {
            "title": "واحد",
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "Floor": {
            "title": "طبقه",
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UnauthenticatedProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "UnauthorizedProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "PaymentProblemDetails_metaData": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "errors": {
            "type": "array",
            "description": "لیست خطا",
            "items": {
              "$ref": "#/components/schemas/BadRequestErrorInfo"
            }
          }
        }
      },
      "PaymentConflictProblemDetails_metaData_message": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "integer",
            "description": "مبلغ نهایی پرداخت",
            "format": "int64"
          },
          "cardNumber": {
            "type": "string",
            "description": "شماره کارت پرداخت کننده",
            "nullable": true
          },
          "cardHashPan": {
            "type": "string",
            "description": "شماره کارت هش شده پرداخت کننده",
            "nullable": true
          },
          "clientRefId": {
            "type": "string",
            "description": "شناسه ارجاع پذیرنده",
            "nullable": true
          },
          "paymentRefId": {
            "type": "integer",
            "description": "کد رهگیری پرداخت",
            "format": "int64"
          },
          "code": {
            "type": "string",
            "description": "کد پرداخت",
            "nullable": true
          }
        }
      },
      "PaymentConflictProblemDetails_metaData": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "message": {
            "$ref": "#/components/schemas/PaymentConflictProblemDetails_metaData_message"
          }
        }
      }
    },
    "requestBodies": {
      "BaseTransactionReport": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/BaseTransactionReport"
            }
          }
        }
      },
      "UploadProfilePic": {
        "content": {
          "multipart/form-data": {
            "schema": {
              "required": [
                "file"
              ],
              "type": "object",
              "properties": {
                "file": {
                  "type": "string",
                  "description": "بارگزاری فایل",
                  "format": "binary"
                }
              }
            }
          }
        }
      },
      "CreatePaymentViewModel": {
        "description": "مشخصات پرداخت",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreatePaymentViewModel"
            }
          }
        }
      },
      "CreateMultiPaymentViewModel": {
        "description": "مشخصات پرداخت",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateMultiPaymentViewModel"
            }
          }
        }
      },
      "TransactionReportModel": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TransactionReportModel"
            }
          }
        }
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "apiKey",
        "description": "برای احراز هویت در سرویس‌های مختلف باید از توکن Bearer در header درخواست‌ها به صورت زیر استفاده کنید. \n\n\n ساختار ارسال توکن: (Bearer TOKEN) \n\n\n  اگر شما یک اپلیکیشن و یا وب‌سایت شخصی دارید و قصد استفاده از سرویس‌های مالی ما را برای خود دارید می‌بایست از access token استفاده کنید،  جهت مطالعه روند دریافت آن از کنسول توسعه‌دهنده،   [لطفا اینجا کلیک نمایید.](https://www.payping.io/help/fa/nhoh-driaft-tokn-akhtsasi/)",
        "name": "Authorization",
        "in": "header"
      },
      "oauth2": {
        "type": "oauth2",
        "description": "اما اگر وب‌سایت و اپلیکیشن شما قصد دسترسی به اطلاعات سایر کاربران پی‌پینگ را دارد، شما می‌بایست از سرویس OAuth ما استفاده کنید که به شما اجازه یک احراز هویت امن با استفاده از یک متد استاندارد و ساده به اپلیکیشن‌های وب، موبایل و دسکتاپ میدهد. جهت مطالعه روند اعطای دسترسی و روند کار [لطفا اینجا کلیک نمایید.](https://www.payping.io/help/fa/nhoh-driaft-tokn-akhtsasi/)",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://oauth.payping.ir/connect/authorize",
            "tokenUrl": "https://oauth.payping.ir/connect/token",
            "scopes": {
              "profile": "دسترسی مرتبط با تمام اطلاعات یک کاربر",
              "email": "دسترسی به مشاهده ایمیل",
              "nationalcode": "دسترسی به مشاهده کدملی کاربر",
              "birthday": "دسترسی به مشاهده تاریخ تولد کاربر",
              "shaba": "دسترسی به مشاهده شبای بانکی کاربر",
              "phone": "دسترسی به مشاهده شماره تماس کاربر",
              "pay:read": "دسترسی فقط خواندنی در سرویس پرداخت",
              "pay:write": "دسترسی نوشتن و تغییرات در سرویس پرداخت",
              "product:read": "دسترسی فقط خواندنی در سرویس آیتم‌های مالی",
              "product:write": "دسترسی نوشتن و تغییرات در سرویس آیتم‌های مالی",
              "coupon:read": "دسترسی فقط خواندنی در سرویس کد تخفیف",
              "coupon:write": "دسترسی فقط خواندنی در سرویس کد تخفیف",
              "customer:read": "دسترسی نوشتن و تغییرات در سرویس مشتریان",
              "customer:write": "دسترسی نوشتن و تغییرات در سرویس مشتریان",
              "invoice:read": "دسترسی فقط خواندنی به سرویس فاکتور ها",
              "invoice:write": "دسترسی نوشتن و تغییرات در سرویس فاکتور ها",
              "upload:write": "دسترسی مرتبط با سرویس بارگذاری فایل‌ها",
              "inquiry:bankInquiry": "دسترسی مرتبط با سرویس های استعلامی-دسته سرویس های استعلام بانکی",
              "inquiry:identityInquiry": "دسترسی مرتبط با سرویس های استعلامی-دسته سرویس های استعلام هویتی",
              "inquiry:facilityInquiry": "دسترسی مرتبط با سرویس های استعلامی-دسته سرویس های استعلام خدماتی",
              "bnpl:merchantread": "دسترسی فقط خواندنی در سرویس اقساطی",
              "bnpl:merchantwrite": "دسترسی نوشتن و تغییرات در سرویس اقساطی"
            }
          }
        }
      }
    }
  },
  "x-tagGroups": [
    {
      "name": "سرویس پرداخت",
      "tags": [
        "Payment-v3",
        "Request",
        "Withdraw",
        "Report"
      ]
    },
    {
      "name": "سرویس مشتریان",
      "tags": [
        "Customer"
      ]
    },
    {
      "name": "سرویس آیتم‌های مالی",
      "tags": [
        "Product",
        "PermaLink",
        "coupon"
      ]
    },
    {
      "name": "سرویس فاکتور",
      "tags": [
        "Invoice",
        "Schedule"
      ]
    },
    {
      "name": "سرویس آپلود فایل",
      "tags": [
        "Upload"
      ]
    },
    {
      "name": "سرویس های استعلام",
      "tags": [
        "استعلام بانکی",
        "استعلام هویتی",
        "استعلام خدماتی"
      ]
    },
    {
      "name": "سرویس اقساطی",
      "tags": [
        "تنظیمات اقساطی",
        "سفارشات اقساطی",
        "طرح های اقساطی"
      ]
    }
  ]
}