{
  "openapi" : "3.0.1",
  "info" : {
    "title" : "OMNO API Documentation",
    "contact" : {
      "email" : "support@omno.com"
    },
    "version" : "2.0.0"
  },
  "servers" : [ {
    "url" : "https://api.omno.com",
    "description" : "Production"
  }, {
    "url" : "https://api.stagingsseu.com",
    "description" : "Sandbox"
  } ],
  "tags" : [ {
    "name" : "Customer",
    "description" : "Customer API"
  }, {
    "name" : "Payout",
    "description" : "Payout API"
  }, {
    "name" : "PSP",
    "description" : "PSP API"
  }, {
    "name" : "Cashier",
    "description" : "Cashier API"
  }, {
    "name" : "PayIn",
    "description" : "PayIn API"
  } ],
  "paths" : {
    "/public/payout/{payoutId}/reject" : {
      "put" : {
        "tags" : [ "Payout" ],
        "summary" : "Reject payout transaction",
        "description" : "Reject payout transaction for the given ID and after this transaction will not be sent to PSP for processing.",
        "operationId" : "rejectPayout",
        "parameters" : [ {
          "name" : "payoutId",
          "in" : "path",
          "description" : "Payout ID. Returned by `createPayout` method",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "944732c4608c441aa91379478b91f76e"
        } ],
        "responses" : {
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204" : {
            "description" : "Payout transaction rejected",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Unit"
                }
              }
            }
          }
        }
      }
    },
    "/public/payout/{payoutId}/confirm" : {
      "put" : {
        "tags" : [ "Payout" ],
        "summary" : "Confirm payout transaction",
        "description" : "Confirm payout transaction for the given ID and after this confirmation transaction will start processing.",
        "operationId" : "confirmPayout",
        "parameters" : [ {
          "name" : "payoutId",
          "in" : "path",
          "description" : "Payout ID. Returned by `createPayout` method",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "944732c4608c441aa91379478b91f76e"
        } ],
        "responses" : {
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204" : {
            "description" : "Payout transaction confirmed",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Unit"
                }
              }
            }
          }
        }
      }
    },
    "/public/cashier/session/{sessionId}/balance" : {
      "put" : {
        "tags" : [ "Cashier" ],
        "summary" : "Update Cashier Session Balance",
        "description" : "Updates cashier session balance for customer.",
        "operationId" : "updateCashierSessionBalance",
        "parameters" : [ {
          "name" : "sessionId",
          "in" : "path",
          "description" : "Cashier Session ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "944732c4608c441aa91379478b91f76e"
        } ],
        "responses" : {
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "204" : {
            "description" : "Cashier session balance updated"
          }
        }
      }
    },
    "/public/payout" : {
      "post" : {
        "tags" : [ "Payout" ],
        "summary" : "Create payout transaction",
        "description" : "Creates payout transaction for the given request",
        "operationId" : "createPayout",
        "requestBody" : {
          "description" : "Create Payout Request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreatePayoutRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Payout transaction created",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PayoutResponse"
                }
              }
            }
          }
        }
      }
    },
    "/public/payout/{payoutId}/process/direct-link" : {
      "post" : {
        "tags" : [ "Payout" ],
        "summary" : "Start direct link payout processing",
        "description" : "Start direct link payout processing for the given ID and after this transaction will start processing.",
        "operationId" : "startDirectLinkPayoutProcessing",
        "parameters" : [ {
          "name" : "payoutId",
          "in" : "path",
          "description" : "Payout ID. Returned by `createPayout` method",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "944732c4608c441aa91379478b91f76e"
        }, {
          "name" : "X-User-Agent",
          "in" : "header",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-IP-Address",
          "in" : "header",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Start direct link payout processing request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/StartDirectLinkPayoutProcessingRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Payout processing started response",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PayoutProcessingResponse"
                }
              }
            }
          }
        }
      }
    },
    "/public/payin" : {
      "post" : {
        "tags" : [ "PayIn" ],
        "summary" : "Create payin transaction",
        "description" : "Creates pay-in transaction for the given request",
        "operationId" : "createPayIn",
        "requestBody" : {
          "description" : "Create payin transaction request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreatePayInRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Payin transaction created",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PayInResponse"
                }
              }
            }
          }
        }
      }
    },
    "/public/payin/{payinId}/process/saved-card" : {
      "post" : {
        "tags" : [ "PayIn" ],
        "operationId" : "processSavedCard",
        "parameters" : [ {
          "name" : "payinId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/StartSavedCardProcessingRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/StartCardPayInProcessingResponse"
                }
              }
            }
          }
        }
      }
    },
    "/public/payin/{payinId}/process/direct-link" : {
      "post" : {
        "tags" : [ "PayIn" ],
        "summary" : "Start direct link payin processing",
        "description" : "Start direct link payin processing for the given ID and after this transaction will start processing.",
        "operationId" : "startDirectLinkPayinProcessing",
        "parameters" : [ {
          "name" : "payinId",
          "in" : "path",
          "description" : "Payin ID. Returned by `createPayIn` method",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "944732c4608c441aa91379478b91f76e"
        }, {
          "name" : "X-User-Agent",
          "in" : "header",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-IP-Address",
          "in" : "header",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Start direct link payin processing request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/StartDirectLinkPayinProcessingRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Payin processing started response",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/StartApmPayInProcessingResponse"
                }
              }
            }
          }
        }
      }
    },
    "/public/payin/{payinId}/process/card" : {
      "post" : {
        "tags" : [ "PayIn" ],
        "operationId" : "processCard",
        "parameters" : [ {
          "name" : "payinId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/StartCardProcessingRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/StartCardPayInProcessingResponse"
                }
              }
            }
          }
        }
      }
    },
    "/public/customer" : {
      "post" : {
        "tags" : [ "Customer" ],
        "summary" : "Create/Update customer",
        "description" : "Creates of updates customer for current authenticated merchant",
        "operationId" : "createOrUpdateCustomer",
        "requestBody" : {
          "description" : "Create customer request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CustomerRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Customer created",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CustomerResponse"
                }
              }
            }
          }
        }
      }
    },
    "/public/cashier/session" : {
      "post" : {
        "tags" : [ "Cashier" ],
        "summary" : "Create Cashier Session",
        "description" : "Creates cashier session for customer.",
        "operationId" : "createCashierSession",
        "requestBody" : {
          "description" : "Create Cashier Request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreateCashierSessionRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Cashier session created",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CreateCashierSessionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/public/psp/{merchantEnabledPspId}" : {
      "get" : {
        "tags" : [ "PSP" ],
        "summary" : "Fetch Merchant enabled PSP",
        "description" : "Get Merchant enabled PSP Details for the given ID",
        "operationId" : "fetchMerchantEnabledPsp",
        "parameters" : [ {
          "name" : "merchantEnabledPspId",
          "in" : "path",
          "description" : "Merchant enabled PSP ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "944732c4608c441aa91379478b91f76e"
        } ],
        "responses" : {
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Merchant enabled PSP details",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MerchantEnabledPsp"
                }
              }
            }
          }
        }
      }
    },
    "/public/payout/{payoutId}" : {
      "get" : {
        "tags" : [ "Payout" ],
        "summary" : "Fetch payout transaction",
        "description" : "Fetch payout transaction for the given ID",
        "operationId" : "fetchPayoutTransaction",
        "parameters" : [ {
          "name" : "payoutId",
          "in" : "path",
          "description" : "Payout ID. Returned by `createPayout` method",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "944732c4608c441aa91379478b91f76e"
        } ],
        "responses" : {
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Payout transaction",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PayoutTransaction"
                }
              }
            }
          }
        }
      }
    },
    "/public/payin/{payinId}" : {
      "get" : {
        "tags" : [ "PayIn" ],
        "summary" : "Fetch payin transaction",
        "description" : "Get payin transaction Details for the given ID",
        "operationId" : "fetchPayInTransaction",
        "parameters" : [ {
          "name" : "payinId",
          "in" : "path",
          "description" : "Payment transaction ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "944732c4608c441aa91379478b91f76e"
        } ],
        "responses" : {
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Payment transaction details",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PayInTransaction"
                }
              }
            }
          }
        }
      }
    }
  },
  "components" : {
    "schemas" : {
      "ErrorResponse" : {
        "type" : "object",
        "properties" : {
          "errorKey" : {
            "type" : "string"
          },
          "errorMessage" : {
            "type" : "string"
          },
          "errorCode" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "Unit" : {
        "type" : "object"
      },
      "CreatePayoutRequest" : {
        "required" : [ "currency", "customer", "kycVerified", "orderId", "value" ],
        "type" : "object",
        "properties" : {
          "orderId" : {
            "type" : "string",
            "description" : "Unique identifier for checkout session",
            "example" : "944732c4608c441aa91379478b91f76e"
          },
          "value" : {
            "type" : "number",
            "description" : "Payout transaction amount",
            "example" : 100.0
          },
          "currency" : {
            "type" : "string",
            "description" : "Payout transaction currency. If processor psp doesn't allow this currency but if this currency is enabled it will be automatically converted to PSP currency and final transaction currency will be set respectively.",
            "example" : "USD"
          },
          "kycVerified" : {
            "type" : "boolean",
            "description" : "Whether or not this customer is KYC verified in your system. This flag is required to determine right PSP to process this payout.",
            "example" : false
          },
          "customer" : {
            "$ref" : "#/components/schemas/CustomerRequest"
          },
          "routerId" : {
            "type" : "string",
            "description" : "Specific router ID to process transaction with.",
            "example" : "944732c4608c441aa91379478b91f76e"
          },
          "directRouteId" : {
            "type" : "string",
            "description" : "Direct link route ID to process transaction with.",
            "example" : "944732c4608c441aa91379478b91f76e"
          },
          "merchantAdditionalData" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "description" : "Additional data for the transaction"
            },
            "description" : "Additional data for the transaction"
          }
        }
      },
      "CustomerBilling" : {
        "type" : "object",
        "properties" : {
          "address" : {
            "type" : "string",
            "description" : "Customer billing address",
            "example" : "123 Main St"
          },
          "city" : {
            "type" : "string",
            "description" : "Customer billing city",
            "example" : "Atlanta"
          },
          "state" : {
            "type" : "string",
            "description" : "Customer billing state",
            "example" : "GA"
          },
          "countryCode" : {
            "type" : "string",
            "description" : "Customer billing country code (ISO 3166-1 alpha-2)",
            "example" : "US"
          },
          "postalCode" : {
            "type" : "string",
            "description" : "Customer billing postal code",
            "example" : "30308"
          }
        },
        "description" : "Customer billing information"
      },
      "CustomerKyc" : {
        "type" : "object",
        "properties" : {
          "idType" : {
            "type" : "string"
          },
          "idNumber" : {
            "type" : "string"
          },
          "idCountry" : {
            "type" : "string"
          },
          "idExpirationDate" : {
            "type" : "string",
            "format" : "date"
          },
          "nationality" : {
            "type" : "string"
          },
          "countryOfBirth" : {
            "type" : "string"
          },
          "kycLevels" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "allowBypass" : {
            "type" : "boolean"
          }
        },
        "description" : "Customer KYC information"
      },
      "CustomerRequest" : {
        "required" : [ "externalUserId" ],
        "type" : "object",
        "properties" : {
          "externalUserId" : {
            "type" : "string",
            "description" : "Your defined unique identifier for this customer.",
            "example" : "123456789"
          },
          "firstName" : {
            "type" : "string",
            "description" : "Customer first name",
            "example" : "John"
          },
          "lastName" : {
            "type" : "string",
            "description" : "Customer last name",
            "example" : "Doe"
          },
          "email" : {
            "type" : "string",
            "description" : "Customer email",
            "example" : "john.doe@example.com"
          },
          "phoneNumber" : {
            "type" : "string",
            "description" : "Customer phone number",
            "example" : "1 1234567890"
          },
          "dateOfBirth" : {
            "type" : "string",
            "description" : "Customer date of birth",
            "format" : "date",
            "example" : "1990-12-01"
          },
          "billing" : {
            "$ref" : "#/components/schemas/CustomerBilling"
          },
          "kyc" : {
            "$ref" : "#/components/schemas/CustomerKyc"
          },
          "userName" : {
            "type" : "string",
            "description" : "Customer user name",
            "example" : "john123"
          }
        },
        "description" : "Customer information"
      },
      "IframeUrls" : {
        "required" : [ "apm", "card" ],
        "type" : "object",
        "properties" : {
          "card" : {
            "type" : "string",
            "description" : "Card IFrame URL",
            "example" : "https://checkout.omno.com/payments/<transactionType>/<paymentId>/card"
          },
          "apm" : {
            "type" : "string",
            "description" : "Alternate Payment Method IFrame URL",
            "example" : "https://checkout.omno.com/payments/<transactionType>/<paymentId>/apm"
          }
        },
        "description" : "Payment Iframe URLs"
      },
      "PayoutResponse" : {
        "required" : [ "iframeUrls", "payoutId", "status" ],
        "type" : "object",
        "properties" : {
          "payoutId" : {
            "type" : "string",
            "description" : "Payout ID",
            "example" : "944732c4608c441aa91379478b91f76e"
          },
          "status" : {
            "type" : "string",
            "description" : "Payout status",
            "example" : "CREATED",
            "enum" : [ "CREATED", "WAITING_FOR_CONFIRMATION", "PENDING", "PROCESSED", "REJECTED", "FAILED", "TIMEOUT", "MISSING_CUSTOMER_DATA" ]
          },
          "iframeUrls" : {
            "$ref" : "#/components/schemas/IframeUrls"
          }
        }
      },
      "Browser" : {
        "type" : "object",
        "properties" : {
          "acceptHeader" : {
            "type" : "string"
          },
          "userAgent" : {
            "type" : "string"
          },
          "language" : {
            "type" : "string"
          },
          "timeZoneOffset" : {
            "type" : "integer",
            "format" : "int32"
          },
          "timeZone" : {
            "type" : "string"
          },
          "colorDepth" : {
            "type" : "integer",
            "format" : "int32"
          },
          "screenHeight" : {
            "type" : "integer",
            "format" : "int32"
          },
          "screenWidth" : {
            "type" : "integer",
            "format" : "int32"
          },
          "windowHeight" : {
            "type" : "integer",
            "format" : "int32"
          },
          "windowWidth" : {
            "type" : "integer",
            "format" : "int32"
          },
          "javaEnabled" : {
            "type" : "boolean"
          },
          "javascriptEnabled" : {
            "type" : "boolean"
          },
          "customerIp" : {
            "type" : "string"
          }
        }
      },
      "StartDirectLinkPayoutProcessingRequest" : {
        "required" : [ "additionalData", "browser" ],
        "type" : "object",
        "properties" : {
          "browser" : {
            "$ref" : "#/components/schemas/Browser"
          },
          "additionalData" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object"
            }
          }
        }
      },
      "InvalidRequiredField" : {
        "required" : [ "fieldName", "issue" ],
        "type" : "object",
        "properties" : {
          "fieldName" : {
            "type" : "string"
          },
          "issue" : {
            "type" : "string",
            "enum" : [ "MISSING", "INVALID" ]
          },
          "errorMessage" : {
            "type" : "string"
          }
        }
      },
      "PayoutProcessingResponse" : {
        "required" : [ "payoutId", "status" ],
        "type" : "object",
        "properties" : {
          "payoutId" : {
            "type" : "string"
          },
          "status" : {
            "type" : "string",
            "enum" : [ "CREATED", "WAITING_FOR_CONFIRMATION", "PENDING", "PROCESSED", "REJECTED", "FAILED", "TIMEOUT", "MISSING_CUSTOMER_DATA" ]
          },
          "redirectUrl" : {
            "type" : "string"
          },
          "message" : {
            "type" : "string"
          },
          "psp3DsType" : {
            "type" : "string",
            "enum" : [ "IFRAME", "REDIRECTION", "IFRAME_IN_IFRAME" ]
          },
          "requiredFieldErrors" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/InvalidRequiredField"
            }
          }
        }
      },
      "CreatePayInRequest" : {
        "required" : [ "amount", "currency", "customer", "kycVerified", "orderId", "previousTransactionCount", "returnUrls" ],
        "type" : "object",
        "properties" : {
          "orderId" : {
            "type" : "string",
            "description" : "Unique identifier for payin session",
            "example" : "944732c4608c441aa91379478b91f76e"
          },
          "amount" : {
            "type" : "number",
            "description" : "PayIn transaction amount",
            "example" : 100.0
          },
          "currency" : {
            "type" : "string",
            "description" : "PayIn transaction currency. If processor psp doesn't allow this currency but if this currency is enabled it will be automatically converted to PSP currency and final transaction currency will be set respectively.",
            "example" : "USD"
          },
          "kycVerified" : {
            "type" : "boolean",
            "description" : "Whether or not this customer is KYC verified in your system. This flag is required to determine right PSP to process this payin.",
            "example" : false
          },
          "customer" : {
            "$ref" : "#/components/schemas/CustomerRequest"
          },
          "previousTransactionCount" : {
            "type" : "integer",
            "description" : "Number of previous transactions in different payment system.",
            "format" : "int32",
            "example" : 1
          },
          "returnUrls" : {
            "$ref" : "#/components/schemas/ReturnUrls"
          },
          "routerId" : {
            "type" : "string",
            "description" : "Specific router ID to process transaction with.",
            "example" : "944732c4608c441aa91379478b91f76e"
          },
          "directRouteId" : {
            "type" : "string",
            "description" : "Direct link route ID to process transaction with.",
            "example" : "944732c4608c441aa91379478b91f76e"
          },
          "merchantAdditionalData" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "description" : "Additional data for the transaction"
            },
            "description" : "Additional data for the transaction"
          }
        }
      },
      "ReturnUrls" : {
        "required" : [ "failure", "success" ],
        "type" : "object",
        "properties" : {
          "success" : {
            "type" : "string",
            "description" : "Url where user will be redirected after successful transaction.",
            "example" : "https://example.com/success"
          },
          "failure" : {
            "type" : "string",
            "description" : "Url where user will be redirected after failed transaction.",
            "example" : "https://example.com/failure"
          }
        },
        "description" : "Return URLs after transaction is finished."
      },
      "PayInResponse" : {
        "required" : [ "iframeUrls", "paymentId", "status" ],
        "type" : "object",
        "properties" : {
          "paymentId" : {
            "type" : "string",
            "description" : "Payment ID",
            "example" : "944732c4608c441aa91379478b91f76e"
          },
          "status" : {
            "type" : "string",
            "description" : "Payment status",
            "example" : "CREATED",
            "enum" : [ "CREATED", "PENDING", "PENDING_3DS", "SUCCESS", "REFUNDED", "PARTIALLY_REFUNDED", "DECLINED", "FAILED", "TIMEOUT", "REFUND_FAILED", "REFUND_PENDING", "MISSING_CUSTOMER_DATA" ]
          },
          "iframeUrls" : {
            "$ref" : "#/components/schemas/IframeUrls"
          }
        }
      },
      "SavedCardData" : {
        "required" : [ "cardId", "cvv" ],
        "type" : "object",
        "properties" : {
          "cardId" : {
            "type" : "string"
          },
          "cvv" : {
            "type" : "string"
          }
        }
      },
      "StartSavedCardProcessingRequest" : {
        "required" : [ "browser", "savedCardData" ],
        "type" : "object",
        "properties" : {
          "browser" : {
            "$ref" : "#/components/schemas/Browser"
          },
          "savedCardData" : {
            "$ref" : "#/components/schemas/SavedCardData"
          }
        }
      },
      "StartCardPayInProcessingResponse" : {
        "required" : [ "paymentId", "status" ],
        "type" : "object",
        "properties" : {
          "paymentId" : {
            "type" : "string"
          },
          "status" : {
            "type" : "string",
            "enum" : [ "CREATED", "PENDING", "PENDING_3DS", "SUCCESS", "REFUNDED", "PARTIALLY_REFUNDED", "DECLINED", "FAILED", "TIMEOUT", "REFUND_FAILED", "REFUND_PENDING", "MISSING_CUSTOMER_DATA" ]
          },
          "requiredFieldErrors" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/InvalidRequiredField"
            }
          }
        }
      },
      "StartDirectLinkPayinProcessingRequest" : {
        "required" : [ "additionalData", "browser" ],
        "type" : "object",
        "properties" : {
          "browser" : {
            "$ref" : "#/components/schemas/Browser"
          },
          "additionalData" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object"
            }
          }
        }
      },
      "StartApmPayInProcessingResponse" : {
        "required" : [ "paymentId", "status" ],
        "type" : "object",
        "properties" : {
          "paymentId" : {
            "type" : "string"
          },
          "status" : {
            "type" : "string",
            "enum" : [ "CREATED", "PENDING", "PENDING_3DS", "SUCCESS", "REFUNDED", "PARTIALLY_REFUNDED", "DECLINED", "FAILED", "TIMEOUT", "REFUND_FAILED", "REFUND_PENDING", "MISSING_CUSTOMER_DATA" ]
          },
          "redirectUrl" : {
            "type" : "string"
          },
          "psp3DsType" : {
            "type" : "string",
            "enum" : [ "IFRAME", "REDIRECTION", "IFRAME_IN_IFRAME" ]
          },
          "requiredFieldErrors" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/InvalidRequiredField"
            }
          }
        }
      },
      "CardData" : {
        "required" : [ "cardNumber", "cardholderName", "cvv", "expirationMonth", "expirationYear" ],
        "type" : "object",
        "properties" : {
          "cardNumber" : {
            "type" : "string"
          },
          "expirationMonth" : {
            "type" : "string"
          },
          "expirationYear" : {
            "type" : "string"
          },
          "cvv" : {
            "type" : "string"
          },
          "cardholderName" : {
            "type" : "string"
          }
        }
      },
      "StartCardProcessingRequest" : {
        "required" : [ "browser", "cardData", "saveCard" ],
        "type" : "object",
        "properties" : {
          "browser" : {
            "$ref" : "#/components/schemas/Browser"
          },
          "cardData" : {
            "$ref" : "#/components/schemas/CardData"
          },
          "saveCard" : {
            "type" : "boolean"
          }
        }
      },
      "CustomerResponse" : {
        "required" : [ "dateOfBirth", "email", "externalUserId", "firstName", "id", "lastName", "merchantId", "phoneNumber" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Customer ID",
            "example" : "123456789"
          },
          "firstName" : {
            "type" : "string",
            "description" : "Customer first name",
            "example" : "John"
          },
          "lastName" : {
            "type" : "string",
            "description" : "Customer last name",
            "example" : "Doe"
          },
          "externalUserId" : {
            "type" : "string",
            "description" : "Customer external User ID (merchant specified)",
            "example" : "123456789"
          },
          "merchantId" : {
            "type" : "string",
            "description" : "Merchant ID associated with the customer",
            "example" : "123456789"
          },
          "email" : {
            "type" : "string",
            "description" : "Customer email",
            "example" : "john.doe@example.com"
          },
          "phoneNumber" : {
            "type" : "string",
            "description" : "Customer phone number",
            "example" : "1 1234567890"
          },
          "dateOfBirth" : {
            "type" : "string",
            "description" : "Customer date of birth in format (YYYY-MM-DD)c",
            "example" : "1990-12-01"
          },
          "userName" : {
            "type" : "string",
            "description" : "Customer user name",
            "example" : "john123"
          }
        }
      },
      "CreateCashierSessionRequest" : {
        "required" : [ "currency", "customer", "kycVerified", "previousTransactionCount", "returnUrls" ],
        "type" : "object",
        "properties" : {
          "customer" : {
            "$ref" : "#/components/schemas/CustomerRequest"
          },
          "returnUrls" : {
            "$ref" : "#/components/schemas/ReturnUrls"
          },
          "currency" : {
            "type" : "string",
            "description" : "Currency for the cashier session, in which all payin/payout transaction will be created"
          },
          "kycVerified" : {
            "type" : "boolean",
            "description" : "Whether or not this customer is KYC verified in your system."
          },
          "previousTransactionCount" : {
            "type" : "integer",
            "description" : "Number of previous transactions in different payment system.",
            "format" : "int32"
          },
          "balance" : {
            "type" : "number",
            "description" : "Current balance of the customer. Balance will be shown on withdrawal widget."
          }
        }
      },
      "CreateCashierSessionResponse" : {
        "required" : [ "checkoutUrl", "sessionId" ],
        "type" : "object",
        "properties" : {
          "sessionId" : {
            "type" : "string",
            "description" : "Session ID",
            "example" : "944732c4608c441aa91379478b91f76e"
          },
          "checkoutUrl" : {
            "type" : "string",
            "description" : "Checkout URL",
            "example" : "https://checkout.omno.com/payments/cashier/<sessionId>"
          }
        }
      },
      "FTDConfiguration" : {
        "required" : [ "configurationType", "initialTransactionSupported" ],
        "type" : "object",
        "properties" : {
          "configurationType" : {
            "type" : "string",
            "description" : "FTD configuration type. Per card or per Customer",
            "example" : "LIMIT_PER_CARD",
            "enum" : [ "LIMIT_PER_CARD", "LIMIT_PER_CUSTOMER" ]
          },
          "initialTransactionSupported" : {
            "type" : "boolean",
            "description" : "Setting for supporting initial transaction",
            "example" : true
          },
          "allowAfterTimesOfDeposit" : {
            "type" : "integer",
            "description" : "Setting to allow deposit only after specified number of transaction",
            "format" : "int64",
            "example" : 5
          }
        },
        "description" : "Restrictions on first-time deposits"
      },
      "MerchantEnabledPsp" : {
        "required" : [ "authorized", "constraints", "feature", "ftdConfigurations", "id", "merchantId", "name", "paymentServiceProviderId", "paymentServiceProviderName", "restrictions" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Unique identifier for merchant enabled psp",
            "example" : "944732c4608c441aa91379478b91f76e"
          },
          "merchantId" : {
            "type" : "string",
            "description" : "Unique identifier for Merchant",
            "example" : "944732c4608c441aa91379478b91f76e"
          },
          "name" : {
            "type" : "string",
            "description" : "merchant assigned name for PSP"
          },
          "paymentServiceProviderId" : {
            "type" : "string",
            "description" : "Unique identifier for PSP",
            "example" : "944732c4608c441aa91379478b91f76e"
          },
          "paymentServiceProviderName" : {
            "type" : "string",
            "description" : "PSP name"
          },
          "feature" : {
            "type" : "string",
            "description" : "Feature. Pay in or Pay out",
            "example" : "PAY_IN",
            "enum" : [ "PAY_IN", "PAY_OUT" ]
          },
          "kycRequired" : {
            "type" : "boolean",
            "description" : "Setting for requiring Kyc",
            "example" : true
          },
          "defaultCurrency" : {
            "type" : "string",
            "description" : "Currency that will be used by default if currency isn't specified in the transaction",
            "example" : "USD"
          },
          "enabledCurrencies" : {
            "uniqueItems" : true,
            "type" : "array",
            "description" : "Currencies that are supported",
            "items" : {
              "type" : "string",
              "description" : "Currencies that are supported"
            }
          },
          "constraints" : {
            "type" : "array",
            "description" : "List of constraints. Country and card brands for which this constraint will be applied.",
            "items" : {
              "$ref" : "#/components/schemas/MerchantEnabledPspConstraint"
            }
          },
          "ftdConfigurations" : {
            "type" : "array",
            "description" : "Restrictions on first-time deposits",
            "items" : {
              "$ref" : "#/components/schemas/FTDConfiguration"
            }
          },
          "restrictions" : {
            "type" : "array",
            "description" : "Restrictions on max number of transactions per card or per customer",
            "items" : {
              "$ref" : "#/components/schemas/RestrictionConfiguration"
            }
          },
          "authorized" : {
            "type" : "boolean",
            "description" : "Setting for psp authorization",
            "example" : true
          },
          "displayLogo" : {
            "type" : "string"
          },
          "blackLogo" : {
            "type" : "string"
          }
        }
      },
      "MerchantEnabledPspConstraint" : {
        "required" : [ "cardBrand", "country" ],
        "type" : "object",
        "properties" : {
          "country" : {
            "type" : "array",
            "description" : "List of countries for which constraint will be applied",
            "example" : "GER",
            "items" : {
              "type" : "string",
              "description" : "List of countries for which constraint will be applied",
              "example" : "GER"
            }
          },
          "cardBrand" : {
            "type" : "array",
            "description" : "List of Card brands for which constraint will be applied",
            "example" : "VISA",
            "items" : {
              "type" : "string",
              "description" : "List of Card brands for which constraint will be applied",
              "example" : "VISA"
            }
          }
        },
        "description" : "List of constraints. Country and card brands for which this constraint will be applied."
      },
      "RestrictionConfiguration" : {
        "required" : [ "configurationType", "enabled", "maxSuccessfulTransactions" ],
        "type" : "object",
        "properties" : {
          "configurationType" : {
            "type" : "string",
            "description" : "Restriction configuration type. Per card or per Customer",
            "example" : "LIMIT_PER_CARD",
            "enum" : [ "LIMIT_PER_CARD", "LIMIT_PER_CUSTOMER" ]
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Setting for enabling/disabling restriction configuration",
            "example" : true
          },
          "maxSuccessfulTransactions" : {
            "type" : "integer",
            "description" : "Number of max successful transactions",
            "format" : "int32",
            "example" : 10
          }
        },
        "description" : "Restrictions on max number of transactions per card or per customer"
      },
      "CustomMessage" : {
        "type" : "object",
        "properties" : {
          "message" : {
            "type" : "string"
          },
          "styles" : {
            "type" : "string"
          },
          "language" : {
            "type" : "string"
          }
        }
      },
      "DomainAge" : {
        "type" : "object",
        "properties" : {
          "human" : {
            "type" : "string"
          },
          "timestamp" : {
            "type" : "integer",
            "format" : "int64"
          },
          "iso" : {
            "type" : "string"
          }
        }
      },
      "EmailValidationResponse" : {
        "type" : "object",
        "properties" : {
          "valid" : {
            "type" : "boolean"
          },
          "disposable" : {
            "type" : "boolean"
          },
          "timed_out" : {
            "type" : "boolean"
          },
          "deliverability" : {
            "type" : "string"
          },
          "catch_all" : {
            "type" : "boolean"
          },
          "leaked" : {
            "type" : "boolean"
          },
          "suspect" : {
            "type" : "boolean"
          },
          "smtp_score" : {
            "type" : "integer",
            "format" : "int32"
          },
          "overall_score" : {
            "type" : "integer",
            "format" : "int32"
          },
          "first_name" : {
            "type" : "string"
          },
          "common" : {
            "type" : "boolean"
          },
          "generic" : {
            "type" : "boolean"
          },
          "dns_valid" : {
            "type" : "boolean"
          },
          "honeypot" : {
            "type" : "boolean"
          },
          "spam_trap_score" : {
            "type" : "string"
          },
          "recent_abuse" : {
            "type" : "boolean"
          },
          "fraud_score" : {
            "type" : "number",
            "format" : "float"
          },
          "frequent_complainer" : {
            "type" : "boolean"
          },
          "suggested_domain" : {
            "type" : "string"
          },
          "domain_velocity" : {
            "type" : "string"
          },
          "domain_trust" : {
            "type" : "string"
          },
          "user_activity" : {
            "type" : "string"
          },
          "mx_records" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "a_records" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "risky_tld" : {
            "type" : "boolean"
          },
          "spf_record" : {
            "type" : "boolean"
          },
          "dmarc_record" : {
            "type" : "boolean"
          },
          "first_seen" : {
            "$ref" : "#/components/schemas/FirstSeen"
          },
          "domain_age" : {
            "$ref" : "#/components/schemas/DomainAge"
          },
          "sanitized_email" : {
            "type" : "string"
          },
          "request_id" : {
            "type" : "string"
          },
          "success" : {
            "type" : "boolean"
          },
          "message" : {
            "type" : "string"
          },
          "errors" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "FirstSeen" : {
        "type" : "object",
        "properties" : {
          "human" : {
            "type" : "string"
          },
          "timestamp" : {
            "type" : "integer",
            "format" : "int64"
          },
          "iso" : {
            "type" : "string"
          }
        }
      },
      "FixedFee" : {
        "type" : "object",
        "properties" : {
          "amount" : {
            "type" : "number"
          },
          "feeType" : {
            "type" : "string",
            "enum" : [ "INCLUDED", "NOT_INCLUDED" ]
          }
        }
      },
      "IpInfo" : {
        "type" : "object",
        "properties" : {
          "country" : {
            "type" : "string"
          },
          "asn" : {
            "type" : "string"
          },
          "vpn" : {
            "type" : "boolean"
          },
          "proxy" : {
            "type" : "boolean"
          },
          "anonymousIp" : {
            "type" : "boolean"
          }
        }
      },
      "PayoutStatusWithReason" : {
        "type" : "object",
        "properties" : {
          "reason" : {
            "type" : "string"
          },
          "detailedStatus" : {
            "type" : "string",
            "enum" : [ "NO_PROVIDER_AVAILABLE", "AMOUNT_TOO_LOW", "AMOUNT_TOO_HIGH", "OTHER", "PROVIDER_NOT_SUITABLE", "PROVIDER_NOT_IN_ROUTE", "FRAUD_SCORE_ABOVE_THRESHOLD", "BLACKLISTED", "BLOCKED_CARD", "BLOCKED_CUSTOMER", "REJECTED_BY_MERCHANT", "PSP_CHANGED_AFTER_APPROVAL", "INVALID_CREDENTIALS", "AUTHENTICATION_FAILED", "ACCESS_DENIED", "CARD_DECLINED", "TRANSACTION_NOT_ALLOWED", "VALIDATION_ERROR", "INVALID_CARD_NUMBER", "INVALID_EXPIRY_DATE", "CVV_MISMATCH", "SYSTEM_ERROR", "DUPLICATE_TRANSACTION", "MARKED_AS_FRAUD", "PSP_UNREACHABLE", "INVALID_REQUEST_FORMAT", "OTHER_FAILURES", "UNMAPPED_ERRORS", "INSUFFICIENT_FUNDS", "TRANSACTION_REJECTED_BY_PROVIDER", "DO_NOT_HONOR", "EXPIRED_CARD", "INEFFECTIVE_CARD", "CARD_LIMIT_EXCEEDED", "CARDHOLDER_NOT_PERMITTED", "CARD_RESTRICTED", "PIN_TRIES_EXCEEDED", "REFER_TO_CARD_ISSUER", "INVALID_AMOUNT_OR_CURRENCY", "AVS_CHECK_REQUIRED", "INVALID_TRANSACTION", "INVALID_BENEFICIARY_ACCOUNT", "INVALID_BENEFICIARY_NAME", "INVALID_BANK_CODE", "INVALID_PAYOUT_CURRENCY", "BENEFICIARY_ACCOUNT_CLOSED", "PAYOUT_METHOD_NOT_SUPPORTED", "LOST_OR_STOLEN_CARD", "ACCOUNT_TYPE_NOT_SUPPORTED", "CRYPTOGRAPHIC_FAILURE", "TRANSACTION_TIMEOUT", "REFUND_ERROR", "REFUND_ALREADY_PROCESSED", "PARTIAL_REFUND_NOT_ALLOWED", "INSUFFICIENT_BALANCE_FOR_PAYOUT", "PAYOUT_REJECTED_BY_BENEFICIARY_BANK", "PERIODIC_PAYOUT_LIMIT_EXCEEDED", "PROVIDER_SYSTEM_MALFUNCTION", "CARD_ISSUER_UNAVAILABLE", "SERVICE_UNAVAILABLE", "MERCHANT_ACCOUNT_SUSPENDED", "THREE_DS_NOT_SUPPORTED", "THREE_DS_AUTH_FAILED", "THREE_DS_CHECK_FAILED", "THREE_DS_CANCELED_BY_USER", "THREE_DS_NOT_AVAILABLE", "INVALID_HEADERS", "UNSUPPORTED_HTTP_METHOD", "MISSING_ERROR_MESSAGE", "PROVIDER_DOES_NOT_SUPPORT_ERRORS", "UNCATEGORIZED_ERROR_MESSAGE" ]
          },
          "status" : {
            "type" : "string",
            "enum" : [ "CREATED", "WAITING_FOR_CONFIRMATION", "PENDING", "PROCESSED", "REJECTED", "FAILED", "TIMEOUT", "MISSING_CUSTOMER_DATA" ]
          },
          "merchantCustomReason" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CustomMessage"
            }
          }
        }
      },
      "PayoutTransaction" : {
        "required" : [ "createdAt", "customerId", "id", "merchantId", "status", "updatedAt" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "amount" : {
            "type" : "number"
          },
          "merchantId" : {
            "type" : "string"
          },
          "customerId" : {
            "type" : "string"
          },
          "orderId" : {
            "type" : "string"
          },
          "currency" : {
            "type" : "string"
          },
          "status" : {
            "type" : "string",
            "enum" : [ "CREATED", "WAITING_FOR_CONFIRMATION", "PENDING", "PROCESSED", "REJECTED", "FAILED", "TIMEOUT", "MISSING_CUSTOMER_DATA" ]
          },
          "initialAmount" : {
            "type" : "number"
          },
          "initialCurrency" : {
            "type" : "string"
          },
          "routerId" : {
            "type" : "string"
          },
          "cardId" : {
            "type" : "string"
          },
          "cardMask" : {
            "type" : "string"
          },
          "cardBrand" : {
            "type" : "string"
          },
          "cardHash" : {
            "type" : "string"
          },
          "predictedPspId" : {
            "type" : "string"
          },
          "processorPspId" : {
            "type" : "string"
          },
          "pspTransactionId" : {
            "type" : "string"
          },
          "previousTransactionCount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "statusReason" : {
            "$ref" : "#/components/schemas/PayoutStatusWithReason"
          },
          "metadata" : {
            "$ref" : "#/components/schemas/TransactionMetadata"
          },
          "transactionType" : {
            "type" : "string",
            "enum" : [ "CARD", "BANK", "WALLET", "CASH", "CRYPTO", "DIGITAL_WALLET", "OTHER" ]
          },
          "browser" : {
            "$ref" : "#/components/schemas/Browser"
          },
          "additionalData" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object"
            }
          },
          "pspAdditionalData" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object"
            }
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time"
          },
          "fee" : {
            "$ref" : "#/components/schemas/FixedFee"
          },
          "strictAdditionalData" : {
            "$ref" : "#/components/schemas/PspAdditionalData"
          },
          "cardCountryCode" : {
            "type" : "string",
            "description" : "Country code of the card.",
            "example" : "DE"
          },
          "ticker" : {
            "type" : "string",
            "description" : "Cryptocurrency ticker symbol",
            "example" : "USDT"
          },
          "network" : {
            "type" : "string",
            "description" : "Network of the cryptocurrency transaction",
            "example" : "ETH"
          },
          "providerWalletId" : {
            "type" : "string",
            "description" : "Unique identifier for the provider's wallet",
            "example" : "d6961ade-64c8-4402-abf3-8aca4fc6eb68"
          },
          "walletAddress" : {
            "type" : "string",
            "description" : "Wallet address for the transaction",
            "example" : "0xea6fdb3fb2a3c4715184e4f4fb7ab72cea89037a"
          },
          "confirmations" : {
            "type" : "integer",
            "description" : "Current number of confirmations for the transaction",
            "format" : "int32",
            "example" : 2
          },
          "requiredConfirmations" : {
            "type" : "integer",
            "description" : "Number of required confirmations for the transaction",
            "format" : "int32",
            "example" : 5
          },
          "txHash" : {
            "type" : "string",
            "description" : "Transaction hash to lookup on blockchain",
            "example" : "a1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d"
          },
          "tokenStandard" : {
            "type" : "string",
            "description" : "Token standard for crypto currenscy",
            "example" : "ERC-20"
          },
          "exchangeRate" : {
            "type" : "number",
            "description" : "Transaction exchange rate. If currency is different from transaction currency, this field will contain exchange rate.",
            "example" : 100.0
          },
          "displayOriginalPspMessage" : {
            "type" : "boolean"
          }
        }
      },
      "PhoneValidationResponse" : {
        "type" : "object",
        "properties" : {
          "valid" : {
            "type" : "boolean"
          },
          "active" : {
            "type" : "boolean"
          },
          "formatted" : {
            "type" : "string"
          },
          "local_format" : {
            "type" : "string"
          },
          "fraud_score" : {
            "type" : "integer",
            "format" : "int32"
          },
          "recent_abuse" : {
            "type" : "boolean"
          },
          "VOIP" : {
            "type" : "boolean"
          },
          "prepaid" : {
            "type" : "boolean"
          },
          "risky" : {
            "type" : "boolean"
          },
          "name" : {
            "type" : "string"
          },
          "carrier" : {
            "type" : "string"
          },
          "line_type" : {
            "type" : "string"
          },
          "country" : {
            "type" : "string"
          },
          "region" : {
            "type" : "string"
          },
          "city" : {
            "type" : "string"
          },
          "accurate_country_code" : {
            "type" : "boolean"
          },
          "zip_code" : {
            "type" : "string"
          },
          "timezone" : {
            "type" : "string"
          },
          "dialing_code" : {
            "type" : "integer",
            "format" : "int32"
          },
          "do_not_call" : {
            "type" : "boolean"
          },
          "leaked" : {
            "type" : "boolean"
          },
          "spammer" : {
            "type" : "boolean"
          },
          "active_status" : {
            "type" : "string"
          },
          "user_activity" : {
            "type" : "string"
          },
          "mcc" : {
            "type" : "string"
          },
          "mnc" : {
            "type" : "string"
          },
          "message" : {
            "type" : "string"
          },
          "success" : {
            "type" : "boolean"
          },
          "request_id" : {
            "type" : "string"
          },
          "errors" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "ProxyDetectionResponse" : {
        "type" : "object",
        "properties" : {
          "proxy" : {
            "type" : "boolean"
          },
          "host" : {
            "type" : "string"
          },
          "ISP" : {
            "type" : "string"
          },
          "Organization" : {
            "type" : "string"
          },
          "ASN" : {
            "type" : "integer",
            "format" : "int32"
          },
          "country_code" : {
            "type" : "string"
          },
          "city" : {
            "type" : "string"
          },
          "region" : {
            "type" : "string"
          },
          "timezone" : {
            "type" : "string"
          },
          "latitude" : {
            "type" : "number",
            "format" : "float"
          },
          "longitude" : {
            "type" : "number",
            "format" : "float"
          },
          "zip_code" : {
            "type" : "string"
          },
          "is_crawler" : {
            "type" : "boolean"
          },
          "connection_type" : {
            "type" : "string"
          },
          "recent_abuse" : {
            "type" : "boolean"
          },
          "abuse_velocity" : {
            "type" : "string"
          },
          "bot_status" : {
            "type" : "boolean"
          },
          "vpn" : {
            "type" : "boolean"
          },
          "tor" : {
            "type" : "boolean"
          },
          "active_vpn" : {
            "type" : "boolean"
          },
          "active_tor" : {
            "type" : "boolean"
          },
          "mobile" : {
            "type" : "boolean"
          },
          "fraud_score" : {
            "type" : "number",
            "format" : "float"
          },
          "frequent_abuser" : {
            "type" : "boolean"
          },
          "high_risk_attacks" : {
            "type" : "boolean"
          },
          "shared_connection" : {
            "type" : "boolean"
          },
          "dynamic_connection" : {
            "type" : "boolean"
          },
          "security_scanner" : {
            "type" : "boolean"
          },
          "trusted_network" : {
            "type" : "boolean"
          },
          "request_id" : {
            "type" : "string"
          },
          "operating_system" : {
            "type" : "string"
          },
          "browser" : {
            "type" : "string"
          },
          "device_brand" : {
            "type" : "string"
          },
          "device_model" : {
            "type" : "string"
          },
          "success" : {
            "type" : "boolean"
          },
          "message" : {
            "type" : "string"
          },
          "errors" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "PspAdditionalData" : {
        "type" : "object",
        "properties" : {
          "accountNumber" : {
            "type" : "string"
          },
          "accountHolderName" : {
            "type" : "string"
          },
          "idNumber" : {
            "type" : "string"
          },
          "iban" : {
            "type" : "string"
          },
          "bankName" : {
            "type" : "string"
          },
          "bankId" : {
            "type" : "string"
          },
          "username" : {
            "type" : "string"
          },
          "userId" : {
            "type" : "string"
          },
          "recipient" : {
            "type" : "string"
          },
          "method" : {
            "type" : "string"
          },
          "destinationAccount" : {
            "type" : "string"
          },
          "email" : {
            "type" : "string"
          },
          "mobile" : {
            "type" : "string"
          }
        },
        "description" : "Combination of User provided additional data and Additional data obtained from Payment Service Provider during transaction processing with standardized keys"
      },
      "TransactionMetadata" : {
        "type" : "object",
        "properties" : {
          "ipAddress" : {
            "type" : "string"
          },
          "ipInfo" : {
            "$ref" : "#/components/schemas/IpInfo"
          },
          "deviceType" : {
            "type" : "string",
            "enum" : [ "MOBILE", "DESKTOP", "TABLET", "UNKNOWN" ]
          },
          "proxyDetection" : {
            "$ref" : "#/components/schemas/ProxyDetectionResponse"
          },
          "emailValidation" : {
            "$ref" : "#/components/schemas/EmailValidationResponse"
          },
          "phoneValidation" : {
            "$ref" : "#/components/schemas/PhoneValidationResponse"
          }
        },
        "description" : "Transaction metadata"
      },
      "PayInStatusWithReason" : {
        "type" : "object",
        "properties" : {
          "reason" : {
            "type" : "string"
          },
          "detailedStatus" : {
            "type" : "string",
            "enum" : [ "GENERAL_DECLINE", "BANK_ISSUES", "PSP_ISSUES", "CUSTOMER_ISSUES", "CVV_INVALID", "CARD_EXPIRED", "CARD_BLOCKED", "CARD_NOT_SUPPORTED", "NO_PROVIDER_AVAILABLE", "OTHER", "PROVIDER_NOT_SUITABLE", "PROVIDER_NOT_IN_ROUTE", "FRAUD_SCORE_ABOVE_THRESHOLD", "BLACKLISTED", "BLOCKED_CARD", "BLOCKED_CUSTOMER", "INVALID_CREDENTIALS", "AUTHENTICATION_FAILED", "ACCESS_DENIED", "CARD_DECLINED", "TRANSACTION_NOT_ALLOWED", "VALIDATION_ERROR", "INVALID_CARD_NUMBER", "INVALID_EXPIRY_DATE", "CVV_MISMATCH", "SYSTEM_ERROR", "DUPLICATE_TRANSACTION", "MARKED_AS_FRAUD", "PSP_UNREACHABLE", "INVALID_REQUEST_FORMAT", "OTHER_FAILURES", "UNMAPPED_ERRORS", "INSUFFICIENT_FUNDS", "CARD_ALREADY_ASSIGNED_TO_ANOTHER_CUSTOMER", "THREE_DS_NOT_SUPPORTED", "TRANSACTION_TIMEOUT", "REFUND_ERROR", "REFUND_ALREADY_PROCESSED", "PARTIAL_REFUND_NOT_ALLOWED", "CARD_DECLINED_NO_REASON", "DO_NOT_HONOR", "EXPIRED_CARD", "INEFFECTIVE_CARD", "CARD_LIMIT_EXCEEDED", "CARDHOLDER_NOT_PERMITTED", "CARD_RESTRICTED", "PIN_TRIES_EXCEEDED", "REFER_TO_CARD_ISSUER", "INVALID_AMOUNT_OR_CURRENCY", "AVS_CHECK_REQUIRED", "INVALID_TRANSACTION", "LOST_OR_STOLEN_CARD", "ACCOUNT_TYPE_NOT_SUPPORTED", "CRYPTOGRAPHIC_FAILURE", "TRANSACTION_REJECTED_BY_PROVIDER", "PROVIDER_SYSTEM_MALFUNCTION", "CARD_ISSUER_UNAVAILABLE", "SERVICE_UNAVAILABLE", "MERCHANT_ACCOUNT_SUSPENDED", "THREE_DS_AUTH_FAILED", "THREE_DS_CHECK_FAILED", "THREE_DS_CANCELED_BY_USER", "THREE_DS_NOT_AVAILABLE", "INVALID_HEADERS", "UNSUPPORTED_HTTP_METHOD", "MISSING_ERROR_MESSAGE", "PROVIDER_DOES_NOT_SUPPORT_ERRORS", "UNCATEGORIZED_ERROR_MESSAGE" ]
          },
          "status" : {
            "type" : "string",
            "enum" : [ "CREATED", "PENDING", "PENDING_3DS", "SUCCESS", "REFUNDED", "PARTIALLY_REFUNDED", "DECLINED", "FAILED", "TIMEOUT", "REFUND_FAILED", "REFUND_PENDING", "MISSING_CUSTOMER_DATA" ]
          },
          "merchantCustomReason" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CustomMessage"
            }
          }
        },
        "description" : "PayIn transaction status with reason"
      },
      "PayInTransaction" : {
        "required" : [ "amount", "createdAt", "customerId", "id", "merchantId", "status", "updatedAt" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Unique identifier for payin transaction",
            "example" : "944732c4608c441aa91379478b91f76e"
          },
          "amount" : {
            "type" : "number",
            "description" : "PayIn transaction amount",
            "example" : 100.0
          },
          "merchantId" : {
            "type" : "string",
            "description" : "Unique identifier current merchant",
            "example" : "944732c4608c441aa91379478b91f76e"
          },
          "customerId" : {
            "type" : "string",
            "description" : "Unique identifier for create/updated customer",
            "example" : "944732c4608c441aa91379478b91f76e"
          },
          "orderId" : {
            "type" : "string",
            "description" : "Merchant specified order identifier",
            "example" : "944732c4608c441aa91379478b91f76e"
          },
          "currency" : {
            "type" : "string",
            "description" : "PayIn transaction currency. If processor psp doesn't allow this currency but if this currency is enabled it will be automatically converted to PSP currency and final transaction currency will be set respectively."
          },
          "status" : {
            "type" : "string",
            "description" : "PayIn transaction status",
            "example" : "CREATED",
            "enum" : [ "CREATED", "PENDING", "PENDING_3DS", "SUCCESS", "REFUNDED", "PARTIALLY_REFUNDED", "DECLINED", "FAILED", "TIMEOUT", "REFUND_FAILED", "REFUND_PENDING", "MISSING_CUSTOMER_DATA" ]
          },
          "initialAmount" : {
            "type" : "number",
            "description" : "Transaction initial amount",
            "example" : 100.0
          },
          "initialCurrency" : {
            "type" : "string",
            "description" : "Transaction initial currency",
            "example" : "USD"
          },
          "routerId" : {
            "type" : "string",
            "description" : "Router id in which transaction was processed"
          },
          "returnUrls" : {
            "$ref" : "#/components/schemas/ReturnUrls"
          },
          "cardId" : {
            "type" : "string",
            "description" : "Unique identifier for card if card was saved",
            "example" : "944732c4608c441aa91379478b91f76e"
          },
          "cardMask" : {
            "type" : "string",
            "description" : "Card mask if card was used during transaction",
            "example" : "1234 56** **** 1234"
          },
          "cardBrand" : {
            "type" : "string",
            "description" : "Card brand if card was used during transaction",
            "example" : "VISA"
          },
          "cardHash" : {
            "type" : "string",
            "description" : "Card hash if card was used during transaction",
            "example" : "7094c34678b3a4e29bcb5149266d1c811de2b6fc9370be9d5acdd7a334d8852b"
          },
          "merchantPspId" : {
            "type" : "string",
            "description" : "Merchant specified PSP id",
            "example" : "944732c4-608c-441a-a913-79478b91f76e"
          },
          "pspTransactionId" : {
            "type" : "string",
            "description" : "Last psp transaction id",
            "example" : "944732c4-608c-441a-a913-79478b91f76e"
          },
          "statusReason" : {
            "$ref" : "#/components/schemas/PayInStatusWithReason"
          },
          "previousTransactionCount" : {
            "type" : "integer",
            "description" : "Number of previous transactions in different payment system.",
            "format" : "int32"
          },
          "metadata" : {
            "$ref" : "#/components/schemas/TransactionMetadata"
          },
          "transactionType" : {
            "type" : "string",
            "description" : "Transaction type",
            "example" : "CARD",
            "enum" : [ "CARD", "BANK", "WALLET", "CASH", "CRYPTO", "DIGITAL_WALLET", "OTHER" ]
          },
          "additionalData" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "description" : "User provided additional data for Alternative Payment Methods"
            },
            "description" : "User provided additional data for Alternative Payment Methods"
          },
          "pspAdditionalData" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "description" : "Additional data obtained from Payment Service Provider during transaction processing"
            },
            "description" : "Additional data obtained from Payment Service Provider during transaction processing"
          },
          "strictAdditionalData" : {
            "$ref" : "#/components/schemas/PspAdditionalData"
          },
          "cardCountryCode" : {
            "type" : "string",
            "description" : "Country code of the card.",
            "example" : "DE"
          },
          "createdAt" : {
            "type" : "string",
            "description" : "Transaction creation time in UTC",
            "format" : "date-time"
          },
          "updatedAt" : {
            "type" : "string",
            "description" : "Transaction last update time in UTC",
            "format" : "date-time"
          },
          "ticker" : {
            "type" : "string",
            "description" : "Cryptocurrency ticker symbol",
            "example" : "USDT"
          },
          "network" : {
            "type" : "string",
            "description" : "Network of the cryptocurrency transaction",
            "example" : "ETH"
          },
          "providerWalletId" : {
            "type" : "string",
            "description" : "Unique identifier for the provider's wallet",
            "example" : "d6961ade-64c8-4402-abf3-8aca4fc6eb68"
          },
          "walletAddress" : {
            "type" : "string",
            "description" : "Wallet address for the transaction",
            "example" : "0xea6fdb3fb2a3c4715184e4f4fb7ab72cea89037a"
          },
          "confirmations" : {
            "type" : "integer",
            "description" : "Current number of confirmations for the transaction",
            "format" : "int32",
            "example" : 2
          },
          "requiredConfirmations" : {
            "type" : "integer",
            "description" : "Number of required confirmations for the transaction",
            "format" : "int32",
            "example" : 5
          },
          "txHash" : {
            "type" : "string",
            "description" : "Transaction hash to lookup on blockchain",
            "example" : "a1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d"
          },
          "tokenStandard" : {
            "type" : "string",
            "description" : "Token standard for crypto currenscy",
            "example" : "ERC-20"
          },
          "exchangeRate" : {
            "type" : "number",
            "description" : "Transaction exchange rate. If currency is different from transaction currency, this field will contain exchange rate.",
            "example" : 100.0
          },
          "displayOriginalPspMessage" : {
            "type" : "boolean"
          },
          "tokenType" : {
            "type" : "string",
            "description" : "Token type",
            "example" : "GOOGLE_PAY",
            "enum" : [ "APPLE_PAY", "GOOGLE_PAY", "NETWORK_TOKEN" ]
          }
        }
      }
    },
    "securitySchemes" : {
      "bearerAuth" : {
        "type" : "oauth2",
        "scheme" : "bearer",
        "bearerFormat" : "JWT",
        "flows" : {
          "clientCredentials" : {
            "tokenUrl" : "https://sso.omno.com/realms/omno/protocol/openid-connect/token",
            "scopes" : { }
          }
        }
      }
    }
  },
  "x-tagGroups" : [ {
    "name" : "Payments",
    "tags" : [ "Cashier", "PayIn", "Payout" ]
  } ]
}