{"swagger":"2.0","info":{"description":"# Using the API\n\n ## Authentication\n Authentication is managed using an API key, which is provided to you. Every HTTP call to our API should contain a custom header called **X-APIKEY**. The value of this header must be the API key.\n\nHere is an example of a HTTP request with the API key attached:\n \n\n    POST /mgw/payment/hosted \n    Accept:application/json, text/plain, */*\n    Accept-Encoding:gzip, deflate, sdch\n    Accept-Language:en-US,en;q=0.8,nl;q=0.6\n    Connection:keep-alive\n    Host:https://sandbox.apexx.global/\n    X-APIKEY:zJqFMRBDT8BPgkPO81UC0js2TWoFK\n\n ## HTTPS connections\n To ensure the security of our systems and adhere to industry best practices, at least TLS 1.2 is required for all HTTPS connections.\n ## Currencies and Amounts\n To make our platform support all currencies and to prevent rounding errors, amounts are stored as natural numbers, paired with an exponential. This exponential defines at which position the decimal point/comma is placed, counting from the right.\n \n\n Say we have an amount of £14.08 GBP. It will be stored and presented as 1408 with an exponential of 2. Some currencies, like the Japanese Yen, have no exponential. A transaction amount of ¥1,000 JPY is stored as 1000.\n ## BNPL Web Component\n BNPL Web Component - Merchant Integration  \n \n\nSteps for Implementation --   \n \n\nThe BNPL Web component uses a custom HTML tag to display the Pay Later Options button on the checkout page.  \n \n\n●\tTo initialise add the JavaScript web component dependency to your page as shown below :\n \n\n    <script type=\"text/javascript\" src=\"bnpl.js\"></script>  \n \n\n●\tAdd a BNPL web component custom HTML tag on your page:\n \n\n The button title and the merchant logo can be customised outside the BNPL Web component. You can use the title and icon attribute provided with the HTML tag <ce-payment> to use the name and icon as per the merchant’s requirement.\n \n\n    <ce-paymenttitle=\"Pay Later Options\" icon=\"https://bnplconnectdemo.apexx.global/5dac5a6ca0feac273d585cb3e147d775.png\"></ce-payment>  \n \n\n● Authentication & Button Display:\n \n\n Authentication is managed using an API key, which is provided to you. The HTTPs call to our API (bnpl/hosted) should contain a custom header called X-APIKEY. The value of this header must be the API key.  \n \n\nA sample payload along with API key is given below for reference :\n \n\n    function getBnplHosted() {   \n      var hostedPayload = { \n\t\"organisation\": \"string\", \n\t\"currency\": \"string\", \n\t\"amount\": 0, \n\t\"net_amount\": 0, \n\t\"dynamic_descriptor\": \"string\", \n\t\"merchant_reference\": \"string\", \n\t\"locale\": \"string\", \n\t\"customer_ip\": \"string\", \n\t\"user_agent\": \"string\",  \n\t\"webhook_transaction_update\": \"string\", \n\t\"shopper_interaction\": \"ecommerce\", \n\t\"bnpl\": \n\t{ \n\t \n\t\"payment_type\": \"installment\", \n\t\"payment_type_data\": \n\t[] \n\t}, \n\t\"redirect_urls\": \n\t{  \n\t\"success\": \"string\", \n\t\"failed\": \"string\", \n\t\"cancelled\": \"string\" \n\t}, \n\t\"items\": \n\t[ \n\t{}  \n\t], \n\t\"customer\": \n\t{ \n\t\"customer_identification_number\": \"string\", \n\t\"identification_type\": \"SSN\", \n\t\"email\": \"string\", \n\t\"phone\": \"string\", \n\t\"salutation\": \"string\",   \n\t\"type\": \"company\",  \n\t\"date_of_birth\": \"string\",  \n\t\"customer_number\": \"string\",  \n\t\"gender\": \"male\",  \n\t\"employment_type\": \"fulltime\",  \n\t\"residential_status\": \"homeowner\"  \n\t},  \n\t\"billing_address\": \n\t{  \n\t\"first_name\": \"string\",  \n\t\"last_name\": \"string\", \n\t\"address\": \"string\", \n\t\"address2\": \"string\", \n\t\"city\": \"string\", \n\t\"state\": \"string\", \n\t\"postal_code\": \"string\", \n\t\"country\": \"string\", \n\t\"phone\": \"string\" \n\t}, \n\t\"delivery_address\": \n\t{ \n\t\"first_name\": \"string\", \n\t\"last_name\": \"string\", \n\t\"phone\": \"string\", \n\t\"salutation\": \"string\", \n\t\"type\": \"company\", \n\t\"care_of\": \"string\", \n\t\"address\": \"string\", \n\t\"address2\": \"string\", \n\t\"city\": \"string\", \n\t\"state\": \"string\", \n\t\"postal_code\": \"string\", \n\t\"country\": \"string\", \n\t\"method\": \"delivery\" \n\t}, \n\t\"risk_data\": \n\t{ \n\t\"acquisition_channel\": \"NotSet\", \n\t\"customer_card_classification\": \"string\", \n\t\"customer_card_since\": \"string\", \n\t\"customer_classification\": \"string\", \n\t\"customer_individual_score\": \"string\", \n\t\"customer_since\": \"string\", \n\t\"existing_customer\": \"true\", \n\t\"has_customer_card\": \"true\", \n\t\"marketing_opt_in\": \"true\", \n\t\"number_of_transactions\": 0, \n\t\"profile_tracking_id\": \"string\", \n\t\"verified_customer_identification\": \"true\", \n\t\"order_history\": \n\t[] \n\t}, \n\t\"airline_data\": \n\t{ \n\t\"pnr\": \"string\",\n\t\"airline_name\": \"string\", \n\t\"airline_numeric_code\": 0, \n\t\"agency\": \n\t{}, \n\t\"ticket_number\": \"string\",  \n\t\"check_digit\": 0, \n\t\"is_restricted\": \"true\", \n\t\"transaction_type\": 0, \n\t\"extended_payment_code\": \"string\", \n\t\"passenger_title\": \"string\", \n\t\"passenger_name\": \"string\", \n\t\"passenger_age_group\": \"16-24\", \n\t\"is_lead\": \"true\", \n\t\"customer_code\": \"string\", \n\t\"document_type\": 0, \n\t\"document_number\": \"string\", \n\t\"travel_legs_count\": 0, \n\t\"invoice_number\": \"string\", \n\t\"invoice_date\": \"string\", \n\t\"additional_charge_description\": \"string\", \n\t\"total_fee_amount\": 0, \n\t\"clearing_sequence\": 0, \n\t\"clearing_count\": 0, \n\t\"total_clearing_amount\": 0, \n\t\"passenger_count\": 0, \n\t\"reservation_system_code\": \"string\", \n\t\"process_identifier\": \"string\", \n\t\"issue_date\": \"string\", \n\t\"is_eticket\": \"true\", \n\t\"original_ticket_number\": \"string\", \n\t\"purchase_type\": \"EXC\", \n\t\"credit_reason\": \"A\", \n\t\"ticket_change_indicator\": \"C\", \n\t\"plan_number\": \"string\", \n\t\"arrival_date\": \"string\", \n\t\"restricted_ticket_description\": \"string\", \n\t\"exchange_ticket_amount\": 0, \n\t\"exchange_ticket_fee_amount\": 0, \n\t\"reservation_type\": \"string\", \n\t\"boarding_fee_amount\": \"string\", \n\t\"legs\": \n\t[] \n\t}, \n\t\"travel_data\": \n\t{ \n\t\"check_in_date\": \"string\", \n\t\"check_out_date\": \"string\", \n\t\"guests\": \n\t[], \n\t\"provider_group\": \"string\", \n\t\"provider_name\": \"string\", \n\t\"room_count\": 0, \n\t\"traveller_count\": 0, \n\t\"origin_city\": \"string\", \n\t\"route_stops\": \n\t[], \n\t\"destination_city\": \"string\", \n\t\"destination_country\": \"string\",\n\t\"destination_address\": \"string\", \n\t\"discount_percentage\": 0, \n\t\"loyalty_number\": \"string\", \n\t\"booking_amount\": 0, \n\t\"booking_type\": \"hotel\", \n\t\"adults_count\": 0, \n\t\"child_count\": 0, \n\t\"beds_count\": 0, \n\t\"vehicle_type\": \"string\" \n\t}, \n\t\"duplicate_check\": \"true\"  \t} }; \n\n The API should be called when rendering your checkout page. That way you can ensure that the checkout page has loaded fully by the time the customer wants to interact with it \n \n\n●\tResponse from the API call\n \n\nThe API call will respond after validating the request payload \n \n\n Response is an object containing the following properties:\n \n\n id: uuid to fetch the payment partner list for the merchant.\n \n\n error contains details of potential error messages which are displayed using a toast/snack bar on the UI.\n \n\n There are two potential cases that you need to handle based on these response flags: \n \n\n Positive response: Set the id from the response as an attribute to the custom HTML tag, this will make the Pay Later Options button visible \n \n\n    .then((data) => {  \n \n      const payment = document.querySelector('ce-payment') \n \n      payment.setAttribute('uuid', data.id); \n \n      return data.id; \n \n      }) \n \n\n Negative response: Pay Later Options button not offered, button is not made visible, and error is displayed to the user using toast message on the top right corner \n \nExample responses: \n\n\t1.\tMissing/Invalid organisation ID \n\t{   \n\t    \"code\": \"500\",  \n\t    \"status\": \"FAILED\", \n\t    \"message\": \"Internal Server Error / Unexpected Error\", \n\t    \"timestamp\": 1645449271920,  \n\t    \"trace_id\": \"141659f0988cbb9f\",   \n\t    \"merchant_reference\": null,  \n\t    \"details\": \"Index: 0, Size: 0\",  \"errors\": null,   \n\t    \"_id\": \"19f05b6288fd47baa1fae17da24116ef20220221\", \n \n\t    \"organisation_id\": null \n \n\t}  \n \n\t2.\tMissing/Invalid X-APIKEY – \n \n\t{  \n \n\t    \"code\": \"401\", \n \n\t    \"status\": \"FAILED\", \n \n\t    \"message\": \"xAPI Key Input Parameter is Missing\", \n \n\t    \"timestamp\": 0, \n \n\t    \"trace_id\": null,  \n \n\t    \"merchant_reference\": null,  \n \n\t    \"_id\": null, \n \n\t    \"organisation_id\": null \n \n\t}   \n \n\nMerchant needs to handle the error scenarios accordingly \n \n\t \n \n\nRetrieve BNPL Providers List \n \n\nAfter the Button is Visible Users can click the button to get the list of Providers that are configured against the Merchant  \n \n\t  \n \n\nPayment  \n \n\nClicking on any of the provider will be redirected to the Providers login screen where users can enter their credentials and proceed with the payment process  \n \n\nOnce the process is completed then Apexx will redirect to the merchants return_url(success, pending, cancelled) sent as per the bnpl/hosted API and send the response data in a Post request  \n ## Environments\n Apexx allows you to connect with two different environments for your integration. \n\n| Environment  | Endpoint   | Description |\n|------|--------|-------|\n| Sandbox  | https://sandbox.apexx.global/ | This environment provides you with full access to all the features available. Transactions will have no financial impact. |\n| Production | https://liveapi.apexx.global/ | This environment will be the Live environment with access based on your configuration. Transactions will have financial impact. |\n## Statuses\n <details onmouseover=\"\" style=\"cursor: pointer;\"><summary>Payment Statuses</summary>Payment statuses are returned as a part of Payment requests. \n\n| Status  | Description   |\n|------|--------|\n| AUTHORISED  | The transaction has been authorised by the acquirer, and can now be processed. AUTHORISED transaction status can either be captured or cancelled. |\n| CAPTURED  | The transaction has been queued for processing. This request can be cancelled. |\n| SETTLED  | The transaction has been successfully processed. The transaction can now be refunded. |\n| REFUNDED  | The transaction has been successfully refunded and will not allow any further processing unless partial refund was requested. |\n| FAILED  | The transaction has been rejected by us, or an error has occurred during transaction processing, most likely because the transaction request is malformed or inconsistent. |\n| DECLINED  | The transaction request has been declined by the issuer. |\n| CANCELLED  | The transaction has been cancelled and do not allow any further processing. |\n| 3DS_REQUIRED  | The transaction has been enrolled for 3d secure. This transaction can be sent for authorisation after Authentication is completed by the customer. |\n| AUTHENTICATION_REQUIRED  | The transaction has been created but authentication is pending from customer. |\n| CHARGEBACK  | The transaction has been charged back by the customer. |\n| CHARGEBACK REVERSAL | The transaction chargeback has been successfully defended by the merchant and is reversed back to the merchant. |\n| PENDING | The transaction has been queued for processing. |\n</details> \n\n <details onmouseover=\"\" style=\"cursor: pointer;\"><summary>Captured Statuses</summary>Captured statuses are returned as a part of Capture requests. \n\n| Status  | Description   |\n|------|--------|\n| CAPTURED  | The transaction has been queued for processing. This request can be cancelled. |\n| FAILED  | The transaction has been rejected by us, or an error has occurred during transaction processing, most likely because the transaction request is malformed or inconsistent. |\n</details> \n\n <details onmouseover=\"\" style=\"cursor: pointer;\"><summary>Cancel Statuses</summary>Cancel statuses are returned as a part of Cancel requests. \n\n| Status  | Description   |\n|------|--------|\n| CANCELLED  | The transaction has been cancelled and do not allow any further processing. |\n| FAILED  | The transaction has been rejected by us, or an error has occurred during transaction processing, most likely because the transaction request is malformed or inconsistent. |\n</details> \n\n <details onmouseover=\"\" style=\"cursor: pointer;\"><summary>Refund Statuses</summary>Refund statuses are returned as a part of Refund requests. \n\n| Status  | Description   |\n|------|--------|\n| REFUNDED  | The transaction has been successfully refunded and do not allow any further processing. |\n| FAILED  | The transaction has been rejected by us, or an error has occurred during transaction processing, most likely because the transaction request is malformed or inconsistent. |\n</details> \n\n## HPP - Customisation\n To allow you to maintain a consistent look and feel to the payment page we support customisation of certain aspects of our hosted payment page. The elements that are subject to customisation are defined below: \n\n\n    /* Frame Style - Start */\n    @Frame-Font-Family: Poppins;\n    @Frame-Border-Colour: #144056;\n    @Frame-Header-Font-Colour: #144056;\n    @Frame-Header-Background-Colour: #F1F1F1;\n    @Frame-Body-Font-Colour: #144056;\n    @Frame-Body-Font-Weight: normal;  /* e.g. bold, normal, numeric (like 100) etc.*/\n    @Frame-Body-Background-Colour: #F1F1F1;\n    @Frame-Text-Box-Border-Colour: #144056;\n    @Pay-Button-Background-Colour: #144056;\n    @Pay-Button-Font-Colour: #FFFFFF;\n    /* Frame Style - End */\n    \n    /* HTML Body Style - Start */\n    @Body-Font-Family: Poppins;\n    @Body-Border-Colour: #144056;\n    @Body-Font-Colour: #144056;\n    @Body-Background-Colour: #FFFFFF;\n    /* HTML Body Style - End */\n    \n You can also customise whether you want to show order summary in the iframe or not by sending show_order_summary value as true or false. True will load the order summary in the page and false will hide it.\n \n ## HPP-iFrame  \n \n In order to load the Apexx HPP into the iFrame, you need to hit the **[Hosted Payment Page](#operation/hostedPayUsingPOST)** API with the necessary details. You will get the URL of the HPP Page in response. That url needs to be loaded into the iFrame object.  \n See below code snippet  : \n \n\n    <iframe src= \"url\"></iframe>  \n \n Once it’s loaded properly, you need to enter card details for further payment processing. After hitting the Pay button, it will go to the respective acquirer for the payment. Once the payment is done then Apexx will redirect to the merchant return_url as per **[Hosted Payment Page](#operation/hostedPayUsingPOST)**  API and send data in a POST request. \n ## HPP-Redirect Return URL Parameters \n Once the payment is done via Hosted Payment then Apexx will redirect to the merchant return_url with the below data in a POST request. \n\n    {  \n     \t\"reason_code\" : \"string\" \n    \t\"reason_message\" : \"string\" \n    \t\"response_code\" : \"string\" \n    \t\"response_message\" : \"string\" \n    \t\"_id\" : \"string\" \n    \t\"status\" : \"string\"\n    \t\"authorisation_code\" : \"string\" \n    \t\"merchant_reference\" : \"string\" \n    \t\"amount\" : \"string\" \n    \t\"card_number\" : \"string\" \n    \t\"expiry_month\" : \"string\" \n    \t\"expiry_year\" : \"string\" \n    \t\"token\" : \"string\" \n    \t\"risk_score\" : \"string\" \n    \t\"risk_provider\" : \"string\" \n    \t\"risk_status\" : \"string\" \n\t\t\"signature\" : \"string\" \n    } \n    \n **NOTE :** A reason message is assigned by the acquiring platform. The Reason message will return only in case of a Failed or Declined transaction. Response code is sent only when the source of the response looks suspicious. In this case Apexx immediately cancels the transaction placed with the gateway.\n\n **[HMAC Signature Calculation](#section/Using-the-API/HPP-Redirect-Return-URL-Parameters)**\n\n The following steps outline the HMAC Signature Calculation process in Java which can be followed to validate the authenticity of a redirect POST request from APEXX after the processing of payments using the APEXX Hosted Payment Page (HPP). For this example, we have used the following Secret Key and sample JSON key-value pairs in order to generate the HMAC Signature. \n\n **Example data**\n\n Example Secret key:\n\n    8b29eeafeb554fd39c3ef9e21ef32c6a  \n\n Example JSON:\n\n    {  \n    \t\"reason_code\": \"0\",  \n    \t\"expiry_month\": \"12\",  \n    \t\"amount\": \"560\",  \n    \t\"card_number\": \"454305XXXXXX9982\",  \n    \t\"authorization_code\": \"654321\",  \n    \t\"merchant_reference\": \"3153\",  \n    \t\"_id\": \"89fce6908fc94bf78b50385701250355\",  \n    \t\"expiry_year\": \"20\",  \n    \t\"status\": \"AUTHORISED\"  \n    }  \n\n Example Map (Converted from above JSON):\n\n    \tMap<String, String> pairs = new HashMap<>();  \n    \tpairs.put(\"reason_code\", \"0\");  \n    \tpairs.put(\"expiry_month\", \"12\");  \n    \tpairs.put(\"amount\", \"560\");  \n    \tpairs.put(\"card_number\", \"454305XXXXXX9982\");  \n    \tpairs.put(\"authorization_code\", \"654321\");  \n    \tpairs.put(\"merchant_reference\", \"3153\");  \n    \tpairs.put(\"_id\", \"89fce6908fc94bf78b50385701250355\");  \n    \tpairs.put(\"expiry_year\", \"20\");  \n    \tpairs.put(\"status\", \"AUTHORISED\"); \n\n\n **Implementing the signature calculation**\n\n **1.**Sort the key-value pairs by key (Without Signature).\n\n    SortedMap<String, String> sortedPairs = new TreeMap<>(pairs);  \n\n Example below reflects the sorting*: \n\n    \"_id\": \"89fce6908fc94bf78b50385701250355\",  \n    \"amount\": \"560\",  \n    \"authorization_code\": \"654321\",  \n    \"card_number\": \"454305XXXXXX9982\",  \n    \"expiry_month\": \"12\",  \n    \"expiry_year\": \"20\",  \n    \"merchant_reference\": \"3153\",  \n    \"reason_code\": \"0\",  \n    \"status\": \"AUTHORISED\"  \n\n *DECLINED/ FAILED transactions will also include reason_message in the signature calculation. We will always use all response parameters **(excluding signature)** for signature calculation. \n\n **2.**Convert the sortedPairs into the JSON String:\n\n    // Convert sortedPairs to JSON String  \n    final ObjectMapper objectMapper = new ObjectMapper();  \n    objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);  \n    String jsonString = objectMapper.writeValueAsString(sortedPairs);  \n\n Example below reflects the JSON String: \n\n    {\"_id\":\"89fce6908fc94bf78b50385701250355\",\"amount\":\"560\",\"authorization_code\":\"654321\",\"card_number\":\"454305XXXXXX9982\",\"expiry_month\":\"12\",\"expiry_year\":\"20\",\"merchant_reference\":\"3153\",\"reason_code\":\"0\",\"status\":\"AUTHORISED\"}  \n\n **3.**Calculate the HMAC with the signing string, in binary representation given the UTF-8 charset, using the cryptographic hash function SHA-512.\n\n    // Create an HMAC SHA-512 key from the raw key bytes  \n    SecretKeySpec signingKey = new SecretKeySpec(UTF-8 secret Key, \"HmacSHA512\");  \n\n\n    // Get an HMAC SHA-512 Mac instance and initialize with the signing key  \n    Mac mac = Mac.getInstance(\"HmacSHA512\");  \n    mac.init(signingKey);  \n\n\n    // calculate the hmac on the binary representation of the JSON String  \n    byte[] binaryHmac = mac.doFinal(jsonString.getBytes(StandardCharsets.UTF_8));  \n\n Example binaryHmac \n\n    [B@712f276c  \n\n **4.**Encode the result using the Base64 encoding scheme to obtain the signature. \n\n    String signature = Base64.getEncoder().encodeToString(binaryHmac);  \n\n **5.**The signature calculated, for example, key-value pairs and HMAC key is: \n\n    OLyWcJi3RkhJNA6B+Ri2eYxzKprvTZtrR+diXecMEpsNFKGm6KBQ5flARez+OAc2Mac6HaPIJICJ29QhvblxHA==  \n\n\n **Verifying the Signature**\n\n In order to verify the signature to authenticate the HPP Redirect Return URL POST request, you must follow the steps outlined above and compare the output to that sent in the signature key in the POST request.\n\n Example POST request body including signature\n\n    {  \n    \t\"reason_code\": \"0\",  \n    \t\"expiry_month\": \"12\",  \n    \t\"amount\": \"560\",  \n    \t\"card_number\": \"454305XXXXXX9982\",  \n    \t\"authorization_code\": \"654321\",  \n    \t\"merchant_reference\": \"3153\",  \n    \t\"_id\": \"89fce6908fc94bf78b50385701250355\",  \n    \t\"expiry_year\": \"20\",  \n    \t\"status\": \"AUTHORISED\",  \n    \t\"signature\": \"OLyWcJi3RkhJNA6B+Ri2eYxzKprvTZtrR+diXecMEpsNFKGm6KBQ5flARez+OAc2Mac6HaPIJICJ29QhvblxHA==\"  \n    }  \n\n The binary representation of the JSON String should be used to generate the binaryHmac. The signature generated at merchant’s end should be compared with the signature received in the response.\n\n **NOTE :** Kindly be aware that the fields in the response can vary depending on the card scheme, payment methods, or particular scenarios. Therefore, it's essential to construct your signature calculation logic in a dynamic manner to prevent any discrepancies in the signature.\n\n## HTP - Customisation\n To allow you to maintain a consistent look and feel to the token page we support customisation of certain aspects of our hosted token page. The elements that are subject to customisation are defined below: \n\n\n    /* Frame Style - Start */\n    @Frame-Font-Family: Poppins;\n    @Frame-Border-Colour: #144056;\n    @Frame-Header-Font-Colour: #144056;\n    @Frame-Header-Background-Colour: #F1F1F1;\n    @Frame-Body-Font-Colour: #144056;\n    @Frame-Body-Font-Weight: normal;  /* e.g. bold, normal, numeric (like 100) etc.*/\n    @Frame-Body-Background-Colour: #F1F1F1;\n    @Frame-Text-Box-Border-Colour: #144056;\n    @Pay-Button-Background-Colour: #144056;\n    @Pay-Button-Font-Colour: #FFFFFF;\n    /* Frame Style - End */\n    \n    /* HTML Body Style - Start */\n    @Body-Font-Family: Poppins;\n    @Body-Border-Colour: #144056;\n    @Body-Font-Colour: #144056;\n    @Body-Background-Colour: #FFFFFF;\n    /* HTML Body Style - End */\n    \n\n ## HTP-iFrame  \n \n In order to load the Apexx HTP page into the iFrame, you need to hit the **[Hosted Token Page](#operation/hostedTokenUsingPOST)** API with the necessary details. You will get the URL of the HTP Page in response. That url needs to be loaded into the iFrame object. \n\n See below code snippet  : \n \n\n    <iframe src= \"url\"></iframe>  \n \n Once its loaded properly, you need to enter card details to generate token. After hitting Save button, it will go to the token engine & generate token. Once token get generated, Apexx will redirect to merchant return_url as per **[Hosted Token Page](#operation/hostedTokenUsingPOST)**  API and send data in POST request. \n ## HTP-Redirect Return URL Parameters \n Once the token is created via Hosted Token Page then Apexx will redirect to merchant return_url with below data in POST request. \n\n    {  \n     \t\"reason_code\" : \"string\" \n    \t\"merchant_reference\" : \"string\" \n    \t\"_id\" : \"string\" \n    \t\"token\" : \"string\" \n    \t\"created_at\" : \"string\"\n    \t\"card_number\" : \"string\" \n    \t\"expiry_month\" : \"string\" \n    \t\"expiry_year\" : \"string\" \n    \t\"card_scheme\" : \"string\" \n\t\t\"signature\" : \"string\" \n    } \n    \n\n **[HMAC Signature Calculation](#section/Using-the-API/HTP-Redirect-Return-URL-Parameters)**\n\n The following steps outline the HMAC Signature Calculation process in Java which can be followed to validate the authenticity of a redirect POST request from APEXX after the processing of token using the APEXX Hosted Token Page (HTP). For this example, we have used the following Secret Key and sample JSON key-value pairs in order to generate the HMAC Signature. \n\n **Example data**\n\n Example Secret key:\n\n    8b29eeafeb554fd39c3ef9e21ef32c6a  \n\n Example JSON:\n\n    {  \n     \t\"reason_code\" : \"0\" \n    \t\"merchant_reference\" : \"3153\" \n    \t\"_id\" : \"35363a63a56048ce9fbfd9e421a82c1b\" \n    \t\"token\" : \"d98d6b21ac4a448abdda39fe65c3e457\" \n    \t\"created_at\" : \"2020-04-16 15:07:17.0\"\n    \t\"card_number\" : \"454305XXXXXX9982\" \n    \t\"expiry_month\" : \"12\" \n    \t\"expiry_year\" : \"20\" \n    \t\"card_scheme\" : \"visa\" \n    } \n    \n\n Example Map (Converted from above JSON):\n\n    \tMap<String, String> pairs = new HashMap<>();  \n    \tpairs.put(\"reason_code\", \"0\");  \n    \tpairs.put(\"merchant_reference\", \"3153\");  \n    \tpairs.put(\"_id\", \"1d6b09b136304a2bbd842530bbc0b9c2\");  \n    \tpairs.put(\"token\", \"d98d6b21ac4a448abdda39fe65c3e457\");  \n    \tpairs.put(\"created_at\", \"2020-04-16 15:07:17.0\");  \n    \tpairs.put(\"card_number\", \"454305XXXXXX9982\");  \n    \tpairs.put(\"expiry_month\", \"12\");  \n    \tpairs.put(\"expiry_year\", \"20\");  \n    \tpairs.put(\"card_scheme\", \"visa\"); \n\n\n **Implementing the signature calculation**\n\n **1.**Sort the key-value pairs by key (Without Signature).\n\n    SortedMap<String, String> sortedPairs = new TreeMap<>(pairs);  \n\n Example below reflects the sorting*: \n\n    \"_id\": \"89fce6908fc94bf78b50385701250355\",  \n    \"card_number\": \"454305XXXXXX9982\",  \n    \"card_scheme\": \"visa\",  \n    \"created_at\": \"2020-04-16 15:07:17.0\",  \n    \"expiry_month\": \"12\",  \n    \"expiry_year\": \"20\",  \n    \"merchant_reference\": \"3153\",  \n    \"reason_code\": \"0\",  \n    \"token\": \"d98d6b21ac4a448abdda39fe65c3e457\"  \n\n **2.**Convert the sortedPairs into the JSON String:\n\n    // Convert sortedPairs to JSON String  \n    final ObjectMapper objectMapper = new ObjectMapper();  \n    objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);  \n    String jsonString = objectMapper.writeValueAsString(sortedPairs);  \n\n Example below reflects the JSON String: \n\n    {\"_id\":\"1d6b09b136304a2bbd842530bbc0b9c2\",\"reason_code\":\"0\",\"merchant_reference\":\"3153\",\"token\":\"d98d6b21ac4a448abdda39fe65c3e457\",\"card_number\":\"454305XXXXXX9982\",\"expiry_month\":\"12\",\"expiry_year\":\"20\",\"card_scheme\":\"visa\", \"created_at\": \"2020-04-16 15:07:17.0\"\t} \n\n **3.**Calculate the HMAC with the signing string, in binary representation given the UTF-8 charset, using the cryptographic hash function SHA-512.\n\n    // Create an HMAC SHA-512 key from the raw key bytes  \n    SecretKeySpec signingKey = new SecretKeySpec(UTF-8 secret Key, \"HmacSHA512\");  \n\n\n    // Get an HMAC SHA-512 Mac instance and initialize with the signing key  \n    Mac mac = Mac.getInstance(\"HmacSHA512\");  \n    mac.init(signingKey);  \n\n\n    // calculate the hmac on the binary representation of the JSON String  \n    byte[] binaryHmac = mac.doFinal(jsonString.getBytes(StandardCharsets.UTF_8));  \n\n Example binaryHmac \n\n    [B@712f276c  \n\n **4.**Encode the result using the Base64 encoding scheme to obtain the signature. \n\n    String signature = Base64.getEncoder().encodeToString(binaryHmac);  \n\n **5.**The signature calculated, for example, key-value pairs and HMAC key is: \n\n    gTpRBYzrPA+AadFaLK1fSgasn3aHYyVzPO4MeymCtzPHB4mNeiko36M2ZZfCrQGKBWGsN6+s6FraWzdUSQKGTw==  \n\n\n **Verifying the Signature**\n\n In order to verify the signature to authenticate the HTP Redirect Return URL POST request, you must follow the steps outlined above and compare the output to that sent in the signature key in the POST request.\n\n Example POST request body including signature\n\n    {  \n     \t\"reason_code\" : \"0\" \n    \t\"merchant_reference\" : \"3153\" \n    \t\"_id\" : \"35363a63a56048ce9fbfd9e421a82c1b\" \n    \t\"token\" : \"d98d6b21ac4a448abdda39fe65c3e457\" \n    \t\"created_at\" : \"2020-04-16 15:07:17.0\"\n    \t\"card_number\" : \"454305XXXXXX9982\" \n    \t\"expiry_month\" : \"12\" \n    \t\"expiry_year\" : \"20\" \n    \t\"card_scheme\" : \"visa\" \n        \"signature\": \"gTpRBYzrPA+AadFaLK1fSgasn3aHYyVzPO4MeymCtzPHB4mNeiko36M2ZZfCrQGKBWGsN6+s6FraWzdUSQKGTw==\" \n    \t} \n\n\n The binary representation of the JSON String should be used to generate the binaryHmac. The signature generated at merchant’s end should be compared with the signature received in the response.\n ## Payment Selector \n Once the payment is done via Payment Selector then Apexx will redirect to the merchant return_url with the below data in a POST request in case of a successful transaction from Apexx.\n \nIn case of failed transaction via Payment Selector, Apexx will redirect the customer to the fail url provided by the merchant.\n \nIn case of APMs if a transaction is cancelled by the customer then Apexx will redirect the customer to the cancel url provided by the merchant.\n \n\n **Please note:** In case when fail or cancel url is not provided, success url will be considered as a default url and all type of transactions will return back to success url provided by the merchant.\n \nKindly be aware that the fields in the response below can vary depending on the card scheme, payment method, or particular scenarios. Therefore, it's essential to construct your signature calculation logic in a dynamic manner to prevent any discrepancies in the signature.\n \n\n    {  \n     \t\"reason_code\" : \"string\" \n    \t\"reason_message\" : \"string\" \n    \t\"response_code\" : \"string\" \n    \t\"response_message\" : \"string\" \n    \t\"_id\" : \"string\" \n    \t\"status\" : \"string\"\n    \t\"authorisation_code\" : \"string\" \n    \t\"merchant_reference\" : \"string\" \n    \t\"amount\" : \"string\" \n    \t\"card_number\" : \"string\" \n    \t\"expiry_month\" : \"string\" \n    \t\"expiry_year\" : \"string\" \n    \t\"token\" : \"string\" \n    \t\"risk_score\" : \"string\" \n    \t\"risk_provider\" : \"string\" \n    \t\"risk_status\" : \"string\" \n\t\t\"signature\" : \"string\" \n    } \n    \n ## Encrypt Payment Request \n To ensure the security of transferred data we support encrypted data transfer for the payment request. To create an encrypted payload, we provide the SDK which will encrypt your payment request and provide you with the encrypted key and encrypted payload, these details will be required when you create an encrypted payment request.\n\nPlease see Readme.docx file in the downloaded package for instructions on how to use encryption sdk. \n\n Download our SDK from **https://sandboxcse.apexx.global/resources/encryptionsdk-v1.0.zip** \n## Encrypt Create Token Request \n To ensure the security of transferred data we support encrypted data transfer for the card token request. To create an encrypted payload, we provide the SDK which will encrypt your card token request and provide you with the encrypted key and encrypted payload, these details will be required when you create card token request.\n\nPlease see Readme.docx file in the downloaded package for instructions on how to use encryption sdk.\n\n Download our SDK from **https://sandboxcse.apexx.global/resources/encryptionsdk-v1.0.zip** \n\n card token request : \n\n\n    {  \n      \"organisation_id\": \"string\", \n      \"merchant_reference\": \"string\", \n      \"card\" : { \n         \"card_number\" : \"string\", \n         \"expiry_year\" : \"string\", \n         \"expiry_month\" : \"string\" \n\t   },\n      \"billing_address\": { \n    \t  \"first_name\": \"string\", \n    \t  \"last_name\": \"string\", \n    \t  \"email\": \"string\", \n    \t  \"address\": \"string\", \n    \t  \"city\": \"string\", \n    \t  \"state\": \"string\", \n   \t      \"postal_code\": \"string\", \n    \t  \"country\": \"string\", \n    \t  \"phone\": integer \n      }   } \n \n \n ## 3DS  \n \nThis document describes how to enable 3D Secure authentication for card payments. The 3D Secure protocol is supported by several card schemes.\n \n 3-D Secure authentication is an additional fraud prevention scheme that is available to all Merchants using the Payment Gateway.\n \n 3-D Secure stands for 3 Domain Server, there are 3 parties that are involved in the 3-D Secure process: \n \n - Merchant/acquirer \n \n - Card Scheme \n \n - Card issuer. \n \n \n 3D Secure transactions consist of below required steps:\n \n - **Enrolment ([3DSEnrol](#operation/cardPayWithThreeDSUsingPOST))**: Verifying whether the card supports 3D Secure.\n \n - **Redirection(redirect ACS_Url):** Redirects the card holder to an authentication page. A successful authentication creates an object(PaRes) that needs to be sent along with the transaction request.\n \n\n\t<form name=\"redirectForm\" id=\"redirectForm\" action=\"{acsURL}\" \n\t\tmethod=\"POST\">  \n\t\t<input type=\"hidden\" name=\"PaReq\" id=\"PaReq\" value= \n\t\t\t\"{paReq}\"> \n        <input type=\"hidden\" name=\"TermUrl\" id=\"TermUrl\" value= \n        \t\"{merchant_return_url}\">  \n        <input type=\"hidden\" name=\"MD\" id=\"MD\" value=\"{psp_3d_id}\"> \n     </form>  \n \n    // Redirect customer to ACS_URL for 3ds_authenticate \n     <script> \n    \twindow.onload = function()  \n    \t{  \n    \t  document.redirectForm.submit(); \n    \t};  \n     <script>  \n\n - **Initiating the transaction ([3DSVerifyAuthentication](#operation/threeDSVerifyAuthenticationUsingPOST)):** Including the authentication object(PaRes) in the transaction request allows the transaction to be 3D Secure authenticated.\n \n \n **Enrolment request ([3DSEnrol](#operation/cardPayWithThreeDSUsingPOST)):** \n \n If you want to request 3D Secure authentication for a transaction, the first step to take is to verify whether authentication is supported for the card being used. This is done by making an enrolment request ([3DSEnrol](#operation/cardPayWithThreeDSUsingPOST)):\n This request will return a paReq (payment authentication request), psp_3d_id (the unique identifier of initial Gateway response as MD) and a ACSURL (the 3D Secure authentication redirect URL) if the card is enrolled:\n \n **Redirection :** \n \n If the card is enrolled, the next step is to redirect the customer on authentication page ACSURL served by the card issuer. This requires a GET or POST request.\n \n Below are the values that needs to be filled in while doing the POST request.\n - PaReq : Set this to the pareq parameter you obtained from your enrolment request.\n \n - TermUrl : The URL on your server to which you would like the customer redirected after a successful authentication. It's kind of return url.\n \n - MD :  A merchant descriptor reference that can be used to track the request. This will be posted unmodified to the URL that is specified in TermUrl. Set this parameter you obtained from your enrolment request as psp_3d_id. \n \n After the customer successfully completes the authentication process, the 3D Secure server will make a GET or POST request to the URL you specified in TermUrl. The request body will contain the following values in POST request: \n - MD : The unmodified merchant descriptor that you specified in your form. \n \n - PaRes : The payer authorisation result, that is to be used in your authentication/authorisation request. \n \n **NOTE :** If merchant is integrating with 3DS **Ingenico** using direct payment then the Implementation manager should be consulted by merchant. \n \n **Initiating the transaction ([3DSVerifyAuthentication](#operation/threeDSVerifyAuthenticationUsingPOST)) :** \n \n Send the Original Transaction Id (3DSEnrol response _id) and PaRes values in _id and paRes respectively as a new request to 3DSVerifyAuthentication API. If the authentication is valid, we will process the payment and respond with Success/Declined/Failure status.\n \n ## 3DS 2.X \n \n For instructions and documentation on how to implement 3DS version 2 with APEXX please click on the appropriate hyperlink below based on your integration method.\n \n  **<a href=\"https://support.apexx.global/support/solutions/articles/19000123421-implementing-3d-secure-2-0-hosted-payment-page\" target=\"_blank\">Hosted Payment Page (HPP)</a>**  \n\n  **<a href=\"https://support.apexx.global/support/solutions/articles/19000121601-implementing-3d-%5B%E2%80%A6%5De-2-0-direct-integrations-with-client-side-encryption-cse-\" target=\"_blank\">Client Side Encryption (CSE)</a>** \n\n  **<a href=\"https://support.apexx.global/support/solutions/articles/19000121600-implementing-3d-secure-2-0-direct-integrations\" target=\"_blank\">Direct</a>** \n\n\n ## 3DS External MPI Fields Mapping \n \n **NOTE :** Fields mentioned with * are only required for some processors. Please discuss with your implementation manager.\n \n\n| Field Name  | 3DS Version 1.0   | 3DS Version 2.0  |\n|------|--------|--------|\n| xid  | Required | Optional*  |\n| cavv  | Required | Required  |\n| cavv_algorithm  | Optional* | Optional*  |\n| 3ds_status  | Required | Required  |\n| eci  | Required | Required  |\n| 3ds_enrolled  | Optional* | Optional*  |\n| directory_server_transaction_id  | &nbsp; | Optional*  |\n| 3ds_transaction_status_reason  | &nbsp; | Optional*  |\n| 3ds_score  | &nbsp; | Optional*  |\n| 3ds_preference  | &nbsp; | Optional*  |\n| 3ds_mode  | &nbsp; | Optional*  |\n| 3ds_version  | Required | Required  |\n| 3ds_result  | Optional* | Optional*  |\n| 3ds_secure_cancelation  | Optional | Optional  |\n| 3ds_acs_transaction_id  | &nbsp; | Optional  |\n| 3ds_server_transaction_id  | &nbsp; | Optional*  |\n\n ## Transaction Webhooks \n \n **Webhooks :** \n \n Webhooks notify you of any event occurring on the transactions that you process via Apexx. You can select whether you want to be notified for the transactions update and where you want us to send them to. This allows you to stay up to date on the transactions even after a customer is no longer on your site.\n \n\n **Setup Webhooks :** \n \n To receive transactions update via webhooks you will have to provide the webhooks endpoint during onboarding an account or in the webhook_transaction_update field in the Direct or Hosted API request. This will inform us to send you the transactions update whenever the status of a transaction is updated. You will have to build an application to handle the incoming webhooks events which will run on HTTPS endpoint on your server. All successfully received webhooks messages should return an HTTP status code as 200. Any additional information sent in the body or header is ignored from our side. Whenever an endpoint responds with any other status code than 200, webhooks assumes that your endpoint did not receive the message and it will retry at a later time. Verify **Retrying failed messages** section for more information.\n \n\n **Webhooks Event Object :** \n \n Whenever status of a transaction is updated in our system, webhooks sends a notification to your configured webhook endpoint with below JSON passed in the body of a REST API call. \n\n **Note:** Few fields might be blank based on the data available from the processors and the transaction type. \n\n\n    {  \n     \t\"reason_code\" : \"string\", \n    \t\"_id\" : \"string\", \n    \t\"account\" : \"string\", \n    \t\"organisation\" : \"string\", \n    \t\"currency\" : \"string\", \n\t\t\"amount\" : \"number\", \n    \t\"authorization_code\" : \"string\", \n    \t\"capture_now\" : boolean, \n    \t\"blocked\" : boolean, \n    \t\"dynamic_descriptor\" : \"string\", \n    \t\"merchant_reference\" : \"string\", \n    \t\"card\" : { \n    \t\t\"card_number\" : \"string\", \n    \t\t\"expiry_month\" : \"number\", \n    \t\t\"expiry_year\" : \"number\" \n    \t\t\"create_token\" : \"false\", \n    \t\t\"card_holder_name\" : \"Test Webhook\" \n    \t}, \n    \t\"customer_ip\" : \"string\", \n    \t\"recurring_type\" : \"string\", \n    \t\"user_agent\" : \"string\", \n    \t\"webhook_transaction_update\" : \"string\", \n    \t\"actions\" : [\"string\"], \n    \t\"created_at\" : \"2020-05-26 06:37:29.272\", \n    \t\"cvv_present\" : boolean, \n    \t\"fees\" : [0], \n    \t\"geo_location\" : [0], \n    \t\"last_status_update\" : \"2020-05-26 06:37:29.272\", \n    \t\"payment_product\" : \"string\", \n    \t\"card_brand\" : \"string\", \n    \t\"card_type\" : \"string\", \n    \t\"issuer_name\" : \"string\", \n    \t\"issuer_country\" : \"string\", \n    \t\"organisation_psp_name\" : \"string\", \n    \t\"fraud_predictions\" : [{ \n    \t\t\"error_message\" : \"string\", \n    \t\t\"rec\" : \"string\", \n    \t\t\"rules_triggered\": [ \n    \t\t  \"string\" \n            ], \n           \"score\": 0 \n    \t }], \n    \t\"status\" : \"string\", \n    \t\"billing_address\" : { \n    \t\t\"first_name\" : \"string\", \n    \t\t\"last_name\" : \"string\", \n    \t\t\"email\" : \"string\", \n    \t\t\"address\" : \"string\", \n    \t\t\"city\" : \"string\", \n    \t\t\"state\" : \"string\", \n    \t\t\"postal_code\" : \"string\", \n    \t\t\"country\" : \"string\", \n    \t\t\"phone\" : \"number\" \n    \t }, \n    \t\"details\": {}, \n    \t\"shopper_interaction\" : \"string\", \n    \t\"cvv_result\": \"string\", \n    \t\"avs_result\": \"string\", \n    \t\"three_ds\" : { \n    \t\t\"three_ds_required\" : boolean, \n\t\t\t\"three_ds_result\": \"string\", \n\t\t\t\"three_ds_authenticated\" : \"string\", \n    \t\t\"cavv\" : \"string\", \n    \t\t\"eci\" : \"string\", \n    \t\t\"three_ds_enrollment\" : boolean \n    \t}, \n    \t\"customer\" : { \n    \t\t\"customer_id\" : \"string\", \n    \t\t\"last_name\" : \"string\", \n    \t\t\"date_of_birth\" : \"string\", \n    \t\t\"postal_code\" : \"string\", \n    \t\t\"account_number\" : \"string\", \n    \t }, \n    \t\"transaction_chargeback\" : { \n\t\t\t\"transaction_chargeback_id\" : \"string\", \n    \t\t\"case_id\" : \"string\", \n    \t\t\"orginal_transaction_date\" : \"string\", \n    \t\t\"terminal_id\" : \"string\", \n    \t\t\"reference_number\" : \"string\", \n    \t\t\"merchant_service_fee\" : \"number\", \n    \t\t\"settlement_currency\" : \"string\", \n    \t\t\"arn\" : \"string\", \n        } \t} \n   \n \n **Retrying failed messages :** \n \n Whenever webhooks receives any other status code than 200 it considers the message delivery is failed. Webhook will retry to send the message again after fix interval as defined below until it receives a success response from your side with status code 200. Maximum retry webhook will attempt is 10. Intervals defined below are considered from the first attempt so 7th attempt will retry to send the message after 8 hours of the first try. The interval between attempts gradually increases with increase in the attempt count. \n \n\n| Retry Attempt  | Retry time relative to first attempt   |\n|------|--------|\n| 1  | Immediately |\n| 2  | 5 minutes |\n| 3  | 1 hour |\n| 4  | 2 hours |\n| 5  | 4 hours |\n| 6  | 6 hours |\n| 7  | 8 hours |\n| 8  | 16 hours |\n| 9  | 32 hours |\n| 10  | 48 hours |\n\n ## CSE - Client Side Encryption \n \n Client Side Encryption (CSE) is a card payment integration method that gives merchants full flexibility with how they present card collection fields to their customers whilst allowing merchants to minimise their exposure when it comes to PCI Compliance. CSE integration allows merchants to be PCI DSS compliant to a level of Self Assessment Questionnaire A-EP or above, in accordance with the latest PCI DSS standards (v3.2.1). Your particular level of compliance may differ depending on your own unique setup, so we recommend consulting a QSA to make sure you're set up in the right way to meet your desired PCI DSS level.\n\n Below are the proposed steps to implement Client-Side Encryption for APEXX merchants.\n\n **1. Encryption key** \n \n\n The encryption key must be supplied to the Client-Side Encryption library and is used to encrypt the sensitive card details. The decryption key exists within a secure environment at APEXX. \n\n **2. Include the APEXX CSE JavaScript Library** \n \n\n For CSE to work, reference the APEXX CSE JavaScript library. The way to do this. Automatically reference the latest version of the current major release:\n\n\t<script type=\"text/javascript\" src=\"https://sandboxcse.apexx.global/resources/js/cse/apexx-cse-1.0.js\"></script>\n\n Download our Javascript SDK from **https://sandboxcse.apexx.global/resources/apexx-cse-1.0.zip** \n\n **3. Set the Public Key (Encryption Key)** \n \n\n To set your Public Key (to identify you on our server) \n\n\tAPEXX.setPublicKey([YOUR PUBLIC KEY]);\n\n **4. Implementation Of Data Encryption** \n\n We can do the Data Encryption by below two ways: \n\n **4.1 Implement the form** \n \n\n a) For the form to work, use the “data-apexx” attribute for each item of cardholder data. A typical example is:\n\n\t<body>\n\t\t  <form action=\"[YOUR FORM ACTION]\" method=\"post\" data-apexx=\"payment-form\"> \n\t\t  \t<input data-apexx=\"card_holder_name\"> <!-- This is the cardholder name field --> \n         \t<input data-apexx=\"card_number\"> <!-- This is the card number field --> \n         \t<input data-apexx=\"expiry_month\"> <!-- This is the expiry month field --> \n         \t<input data-apexx=\"expiry_year\"> <!-- This is the expiry year field --> \n         \t<input data-apexx=\"cvv\"> <!-- This is the cvv field--> \n         \t<input type=\"hidden\" name=\"[YOUR DATA PARAMETER]\" data-apexx=\"encrypted_data\">  <!-- This is the hidden field for encrypted_data --> \n         \t<input type=\"hidden\" name=\"maskedCardNumber\" data-apexx=\"masked_card_number\">  <!-- This is the hidden field for masked_card_number --> \n         \t<input type=\"submit\"> \n         </form> \n    </body>  \n \n\n In this example the data-apexx=\"encrypted_data\" attribute sends the encrypted data to your server using [YOUR DATA PARAMETER]. \n\n b) How it all fits together with the form \n \n\n Include the APEXX CSE Javascript file & Set the Public Key in the head of the HTML page \n\n\t<head>\t  \n\t\t<script type=\"text/javascript\" src=\"https://sandboxcse.apexx.global/resources/js/cse/apexx-cse-1.0.js\"></script> \n       <script type=\"text/javascript\"> \n         window.onload = function() { \n           APEXX.setPublicKey([YOUR PUBLIC KEY]); \n         } \n       </script> \n    </head>  \n \n\n Include the apexx payment form html in the card details collection elements of your payment page \n\n\t<form action=\"[YOUR FORM ACTION]\" method=\"post\" data-apexx=\"payment-form\">\t  \n        <input data-apexx=\"card_holder_name\"> \n        <input data-apexx=\"card_number\"> \n        <input data-apexx=\"expiry_month\"> \n        <input data-apexx=\"expiry_year\"> \n        <input data-apexx=\"cvv\"> \n        <input type=\"hidden\" name=\"[YOUR DATA PARAMETER]\" data-apexx=\"encrypted_data\"> \n        <input type=\"hidden\" name=\"maskedCardNumber\" data-apexx=\"masked_card_number\"> \n        <input type=\"submit\"> \n     </form>  \n \n\n\n **Below steps will be the flow to process a CSE payment with APEXX.**\n \n\n 1) Include APEXX.js(apexx-cse-1.0.js) into your page. \n\n 2) Implement the HTML form as mentioned above.\n\n 3) On pressing of Submit/Pay button, our JS(apexx-cse-1.0.js) will take the data i.e card_number, expiry_month, expiry_year, cvv, etc. and do the encryption and JS file will set the encrypted data into hidden parameter and call to form action (merchant server-side)\n\n 4) Call APEXX /payment/direct API with encrypted value along with other information. (Server(Merchant) to server(APEXX) API call) \n\n **4.2 Implement the function call** \n \n\n a) Function call details for integration \n\n\t<!-- after collecting PAN details, call cardDataEncryption() function for encryption --> \n\n \t<body>\n\t\t  <form action=\"[YOUR FORM ACTION]\" method=\"post\"> \n\t\t  \t<input data-apexx=\"card_holder_name\"> <!-- This is the cardholder name field --> \n         \t<input data-apexx=\"card_number\"> <!-- This is the card number field --> \n         \t<input data-apexx=\"expiry_month\"> <!-- This is the expiry month field --> \n         \t<input data-apexx=\"expiry_year\"> <!-- This is the expiry year field --> \n         \t<input data-apexx=\"cvv\"> <!-- This is the CVV field--> \n         \t<input type=\"hidden\" name=\"[YOUR DATA PARAMETER]\" data-apexx=\"encrypted_data\">  <!-- This is the hidden field for encrypted_data --> \n         \t<input type=\"hidden\" name=\"maskedCardNumber\" data-apexx=\"masked_card_number\">  <!-- This is the hidden field for masked_card_number --> \n         </form> \n    </body>  \n \n\n this function call will set the encrypted data in to hidden parameter called encrypted_data. \n\n b) How it all fits together with the function call \n \n\n Include the APEXX CSE Javascript file & Set the Public Key in the head of the HTML page \n\n\t<head>\t  \n\t\t<script type=\"text/javascript\" src=\"https://sandboxcse.apexx.global/resources/js/cse/apexx-cse-1.0.js\"></script> \n       <script type=\"text/javascript\"> \n         window.onload = function() { \n           APEXX.setPublicKey([YOUR PUBLIC KEY]); \n         } \n       </script> \n    </head>  \n \n\n Include the apexx payment form html in the card details collection elements of your payment page \n\n\t<!-- after collecting PAN details, call cardDataEncryption() function for encryption --> \n\n \t<form action=\"[YOUR FORM ACTION]\" method=\"post\">\t  \n        <input data-apexx=\"card_holder_name\"> \n        <input data-apexx=\"card_number\"> \n        <input data-apexx=\"expiry_month\"> \n        <input data-apexx=\"expiry_year\"> \n        <input data-apexx=\"cvv\"> \n        <input type=\"hidden\" name=\"[YOUR DATA PARAMETER]\" data-apexx=\"encrypted_data\"> \n        <input type=\"hidden\" name=\"maskedCardNumber\" data-apexx=\"masked_card_number\"> \n     </form>  \n \n\n\n **Below steps will be the flow to process a CSE payment with APEXX.**\n \n\n 1) Include APEXX.js(apexx-cse-1.0.js) into your page. \n\n 2) Implement the HTML form as mentioned above.\n\n 3) By calling cardDataEncryption() function, our JS(apexx-cse-1.0.js) will take the data i.e card_number, expiry_month, expiry_year, cvv, etc. and do the encryption and JS file will set the encrypted data into hidden parameter.\n\n 4) Call APEXX /payment/direct API with encrypted value along with other information. (Server(Merchant) to server(APEXX) API call) \n\n **Note :** Please use only one option for encryption either form or function call. \n\n\n **Example :**\n\n    {\n   \t\t\"account\":\"your _account_id\",\n   \t\t\"organisation\":\"\",\n   \t\t\"currency\":\"\",\n   \t\t\"amount\":1500,\n   \t\t\"capture_now\": false,\n    \t\"card\": {\n    \t\t\"encrypted_data\" : \"{encrypted_value}\"\n    \t},\n   \t\t\"dynamic_descriptor\": \"Your Order\",\n    \t\"customer\": {\n    \t\t\"customer_id\" : \"\",\n    \t\t\"last_name\" : \"\",\n    \t\t\"postal_code\" : \"\",\n    \t\t\"account_number\" : \"\",\n    \t\t\"date_of_birth\" : \"1993-07-01\"\n    \t},\n   \t\t\"customer_ip\": \"192.168.1.141\",\n    \t\"billing_address\": {\n    \t\t\"first_name\": \"testfirstname\",\n    \t\t\"last_name\": \"testlastname\",\n    \t\t\"email\": \"name@apexx.global\",\n    \t\t\"address\": \"5a Underwood Street\",\n    \t\t\"city\": \"London\",\n    \t\t\"state\": \"London\",\n    \t\t\"postal_code\": \"N17LY\",\n    \t\t\"country\": \"GB\",\n    \t\t\"phone\": \"07437836162\"\n    \t},\n   \t\t\"merchant_reference\": \"your_reference\",\n   \t\t\"recurring_type\": \"first\",\n   \t\t\"user_agent\": \"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB;rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)\",\n   \t\t\"webhook_transaction_update\": \"https://yourwebhook.com/\",\n   \t\t\"shopper_interaction\": \"ecommerce\",\n    \t\"three_ds\": {\n    \t\t\"three_ds_required\": false\n    \t},\n   \t\t\"card_brand\":\"visa\"\n    }\n\n\n **Validate CSE fields**\n \n\n To ensure easy implementation of client side encryption functionality, Apexx provides internal javascript validations for the card details within client side encryption javascript. We provide validations for below fields \n\n\n 1. Card Holder Name \n\n 2. Card Number \n\n 3. Expiry Month \n\n 4. Expiry Year \n\n 5. CVV \n\n You can utilise this functionality for all the fields mentioned above by calling respective functions in the javascript as mentioned below. \n\n\n **1. Card Holder Name Validation :** \n\n| Field name| Possible Values  | Descriptions   |\n|------|-------------|------------------------------------------------|\n| Card Holder Name | Only alphabetic characters, Special characters allowed are (hyphen(-), underscore(_), dot(.), comma(,) and apostrophe(‘)) | It is representing the card holder name and it's optional field. |\n\n\n\n\n\n To validate Card Holder Name, Please pass the Card Holder Name in below function. \n\n\tisValidCardHolderName([CARD HOLDER NAME);\n\n **Success scenario :** \n\n\n If the card holder name is valid, in the response the error flag will be false i.e \n\n    {\n   \t\t\"isError\":false\n    }\n\n\n\n **Error scenario :** \n\n\n If the card holder name is not valid, in the response the error flag will be true and error message will display i.e \n\n    {\n\t\t\"errorMessage\":\"Please enter valid card holder name\",\n\t\t\"isError\":true\n\t }\n\n\n\n **2. Card Number Validation :** \n\n| Field name | Possible Values  | Descriptions   |\n|------|-------------|------------------------------------------------|\n| Card Number | 12-19 Digit | Card number used for the transaction, also known as PAN. |\n\n\n\n **a. Characters Validation :** \n\n\n\n To validate the card number, Please pass the card number in the below function. \n\n\tisValidCardNumber([CARD NUMBER]);\n\n **Success scenario :** \n\n\n If the card number is valid, in the response the error flag will be false i.e \n\n    {\n   \t\t\"isError\":false\n    }\n\n\n\n **Error scenario :** \n\n\n If the card number is not valid, in the response the error flag will be true and the error message will display i.e \n\n    {\n\t\t\"errorMessage\":\"Please enter valid card number\",\n\t\t\"isError\":true\n\t }\n\n\n\n **b. Card Number Validation with Luhn check:** \n\n\n\n To validate card number with Luhn Check, Please pass the card number in the below function. \n\n\tluhnCheck([CARD NUMBER]);\n\n **Success scenario :** \n\n\n If the sent card number passes Luhn check, response will contain error flag with value as false i.e. \n\n    {\n   \t\t\"isError\":false\n    }\n\n\n\n **Error scenario :** \n\n\n If the card number fails Luhn check, response will contain error flag with value as true and error message will display i.e \n\n    {\n\t\t\"errorMessage\":\"Please enter valid card number\",\n\t\t\"isError\":true\n\t }\n\n\n\n\n **3. Expiry Month Validation :** \n\n| Field name | Possible Values  | Descriptions   |\n|------|-------------|------------------------------------------------|\n| Expiry Month | 2 Digit (01-12) | Card expiry month. A string representing the month, valid values are 01 to 12. |\n\n\n\n\n\n To validate Expiry Month, Please pass the Expiry Month in below function. \n\n\tisValidMonth([EXPIRY MONTH]);\n\n **Success scenario :** \n\n\n If the expiry month is valid, in the response the error flag will be false i.e \n\n    {\n   \t\t\"isError\":false\n    }\n\n\n\n **Error scenario :** \n\n\n If the expiry month is not valid, in the response the error flag will be true and error message will display i.e \n\n    {\n\t\t\"errorMessage\":\"Please enter valid expiry month\",\n\t\t\"isError\":true\n\t }\n\n\n\n **4. Expiry Year Validation :** \n\n| Field name | Possible Values  | Descriptions   |\n|------|-------------|------------------------------------------------|\n| Expiry Year | 2 Digit | Card expiry year. A string representing the last two digits of the year, e.g. 19 for 2019. |\n\n\n\n\n To validate Expiry Year, Please pass the Expiry Year in below function. \n\n\tisValidYear([EXPIRY YEAR]);\n\n **Success scenario :** \n\n\n If the expiry year is valid, in the response the error flag will be false i.e \n\n    {\n   \t\t\"isError\":false\n    }\n\n\n\n **Error scenario :** \n\n\n If the expiry year is not valid, in the response the error flag will be true and error message will display i.e \n\n    {\n\t\t\"errorMessage\":\"Please enter valid expiry year\",\n\t\t\"isError\":true\n\t }\n\n\n\n **5.CVV Validation :** \n\n| Field name | Possible Values  | Descriptions   |\n|------|-------------|------------------------------------------------|\n| CVV | 3-4 Digit | The Card Verification Value. Note: cvv is not required when transaction is a recurring or oneclick transaction. |\n\n\n\n\n To validate CVV, Please pass the CVV in below function. \n\n\tisValidCVV([CVV]);\n\n **Success scenario :** \n\n\n If the cvv is valid, in the response the error flag will be false i.e \n\n    {\n   \t\t\"isError\":false\n    }\n\n\n\n **Error scenario :** \n\n\n If the cvv is not valid, in the response the error flag will be true and error message will display i.e \n\n    {\n\t\t\"errorMessage\":\"Please enter valid cvv\",\n\t\t\"isError\":true\n\t }\n\n# Appendix \n\n ## Appendix A - Formatting Restrictions,Data Type Definitions, Numbered Elements, Request Fields, Response Fields \n\n \n### Formatting Restrictions\n\n \n Unless otherwise noted, all field names are case sensitive and all fields accept special characters such as @, #, and %. \n\n The value of amount and similar fields must not contain any alphabets or special characters. \n\n The values of all request fields must not contain newline or carriage returns. However, they can contain embedded spaces and any other printable characters. All leading and trailing spaces will be removed. \n\n **Data Type Definitions** \n\n| Data Type | Descriptions |\n|------|-------------|\n| Integer/Number | Whole number …, -3, -2, -1, 0, 1, 2, 3, …}. |\n| String | A string is a sequence of characters such as letters, numbers, spaces and special characters. String values must be surrounded by double quotes |\n| Boolean | A Boolean data type accepts only one of the two values true or false. |\n\n \n\n\n **Array Elements** \n\n The Apexx schema includes several array elements. These array elements are used to send or receive multiple elements of similar nature. For example, when a customer order includes more than one item, you must include multiple item elements in your request. Multiple item elements will be automatically considered as numbered elements by Apexx. So the value received in the first array would be considered as 0 and the second array would be considered as 1. These numbers are used to provide error feedback. \n \n\n **Request Value** \n\n\t\"items\": [ \n \t\t{ \n \t\t\t \"net_unit_price\": 100, \n \t\t\t \"gross_unit_price\": 100, \n \t\t\t \"quantity\": 5 \n \t\t}, \n \t\t{ \n \t\t\t \"net_unit_price\": 100, \n \t\t\t \"gross_unit_price\": 100, \n \t\t\t \"quantity\": \"abc\" \n \t\t} \n \t] \n \n\n \n\n\n **Error Feedback** \n\n    {  \n     \t  \"_id\": \"\",\n    \t  \"code\": \"215\", \n\t\t  \"details\": \"items[1].quantity\", \n\t\t  \"message\": \"Quantity is invalid or missing.\", \n\t\t  \"timestamp\": 1614057343744, \n\t\t  \"merchant_reference\": \"abc\" \n    } \n    \n \n\n\n### Data Type Definitions\n\n \n### Numbered Elements\n\n \n### Request Fields\n\n \n### Response Fields\n\n ## Appendix B - Card payment without auto capture, Card payment with auto capture, 3ds card payment, 3ds payment with non 3ds card \n \n **1. Card payment without auto capture** \n\n \n\n \n\n\n **Request**  \n\n\t{ \n      \"account\": \"1234\", \n      \"amount\": 1000, \n      \"capture_now\": false, \n      \"card\": {\n        \"card_number\": \"4000000000000002\",\n        \"cvv\": \"110\",\n        \"expiry_year\": \"23\",\n        \"expiry_month\": \"01\"\n      }, \n      \"merchant_reference\": \"1614058526\",\n      \"billing_address\": { \n        \"country\": \"GB\" \n       } \n    }\n \n\n \n\n\n **Response**  \n\n\t{ \n      \"reason_code\": \"0\", \n      \"_id\": \"a18684f0374e4b9397ac145b1bad398f\", \n      \"authorization_code\": \"654321\", \n      \"account\": \"1234\", \n      \"organisation\": \"5678\", \n      \"currency\": \"RUB\", \n      \"organisation_psp_name\": \"PSP Name\", \n      \"capture_now\": \"false\", \n      \"merchant_reference\": \"1614058526\", \n      \"amount\": \"1000\", \n      \"card\": {\n          \"card_number\": \"400000XXXXXX0002\", \n          \"expiry_month\": \"01\", \n          \"expiry_year\": \"23\" \n      }, \n      \"cvv_present\": true, \n      \"payment_product\": \"card\", \n      \"card_brand\": \"visa\", \n      \"issuer_country\": \"US\", \n      \"fraud_predictions\": [], \n      \"status\": \"AUTHORISED\", \n      \"billing_address\": { \n                  \"country\": \"GB\" \n       }, \n       \"last_status_update\": \"1614058314985\", \n       \"geo_location\": [], \n       \"fees\": [], \n       \"created_at\": \"1614058313292\", \n       \"blocked\": false, \n       \"actions\": [], \n       \"details\": {}, \n       \"cvv_result\": \"0\", \n       \"avs_result\": \"U\", \n       \"three_ds\": { \n              \"three_ds_required\": \"false\" \n       }\n    }\n \n **2. Card payment with auto capture** \n\n \n\n \n\n\n **Request**  \n\n\t{ \n      \"account\": \"1234\", \n      \"amount\": 1000, \n      \"capture_now\": true, \n      \"card\": {\n        \"card_number\": \"4000000000000002\",\n        \"cvv\": \"110\",\n        \"expiry_year\": \"23\",\n        \"expiry_month\": \"01\"\n      }, \n      \"merchant_reference\": \"1614058880\",\n      \"billing_address\": { \n        \"country\": \"GB\" \n       } \n    }\n \n\n \n\n\n **Response**  \n\n\t{ \n      \"reason_code\": \"0\", \n      \"_id\": \"3d53ac851631471ea8dee217bc8a9712\", \n      \"authorization_code\": \"654321\", \n      \"account\": \"1234\", \n      \"organisation\": \"5678\", \n      \"currency\": \"RUB\", \n      \"organisation_psp_name\": \"PSP Name\", \n      \"capture_now\": \"true\", \n      \"merchant_reference\": \"1614058880\", \n      \"amount\": \"1000\", \n      \"card\": {\n          \"card_number\": \"400000XXXXXX0002\", \n          \"expiry_month\": \"01\", \n          \"expiry_year\": \"23\" \n      }, \n      \"cvv_present\": true, \n      \"payment_product\": \"card\", \n      \"card_brand\": \"visa\", \n      \"issuer_country\": \"US\", \n      \"fraud_predictions\": [], \n      \"status\": \"CAPTURED\", \n      \"billing_address\": { \n                  \"country\": \"GB\" \n       }, \n       \"last_status_update\": \"1614058668491\", \n       \"geo_location\": [], \n       \"fees\": [], \n       \"created_at\": \"1614058666842\", \n       \"blocked\": false, \n       \"actions\": [], \n       \"details\": {}, \n       \"cvv_result\": \"0\", \n       \"avs_result\": \"U\", \n       \"three_ds\": { \n              \"three_ds_required\": \"false\" \n       }\n    }\n \n **3. 3ds 1.0 card Verify Enrolment**  \n\n \n\n \n\n\n **Request**  \n\n\t{ \n      \"account\": \"1234\", \n      \"amount\": 1000, \n      \"capture_now\": true, \n      \"card\": {\n        \"card_number\": \"4000000000000002\",\n        \"cvv\": \"110\",\n        \"expiry_year\": \"23\",\n        \"expiry_month\": \"01\"\n      }, \n      \"merchant_reference\": \"1614061135\",\n      \"billing_address\": { \n        \"country\": \"GB\" \n      } \n    \"three_ds\": { \n           \"term_url\": \"https://www.merchant.com/return\", \n           \"three_ds_required\": \"true\", \n           \"three_ds_version\": \"1.0\" \n      }\n     }\n \n\n \n\n\n **Response**  \n\n\t{ \n      \"reason_code\": \"0\", \n      \"_id\": \"c9a8bee820774d4bb5e29df8f36de2cf\", \n      \"three_ds\": { \n      \"three_ds_required\": \"true\", \n      \"acsURL\": \"https://acs.3ds-pit.com/\", \n      \"paReq\": \"eJxVUttSgzAQ/RWmH0BCArV0tpmhMmofWqvtgz5mwi       qMcikEQb/eBIqtmcnMnr2c7J4NHNMaMT6gamsUsMWmke/oZMlqN       qfcD5MbqdSCJzMB++gZTwK+sG6yshCeS10GZIKmtFapLLQAqU7r       zU54jPvBHMgZQo71JhbUnDA0hSOEQuYoogr73rnLCo0qdXh8cI7Y       aCdSQIY4qLItdP0tFswQTgDa+lOkWldLQrquc6VleRtJXFXmBIjN       AHJpbd9aqzGMfZaIbRx11/fx+ER38Wu/+/lYAbEZkEiNglHmUca4Q       +dLL1gyDmTwg8xtK+J+vXc86lJqhh09UNmHohF41EauPWDUrrFQ00       ATAuyrskCTYQT6s4Fc2r59sPoqbaTzA5/T4GU4YbhgVukhYFkyow/       j1BtoLABiS8l5ieS8aGP9+wC//DWtCw==\",\n      \"three_ds_enrollment\": true, \n      \"acq_id\": \"MDAwMDAwMDAwMDAwOTQ0NDYxNzk=\", \n      \"psp_3d_id\": \"UDNLRVk6dHJhbnNhY3Rpb25JRD05NDQ0NjE3OSZtZXJ       jaGFudElEPTEwNTc2MCZfX2xpZmVfXz0xNjE0MDYyNzIz\", \n      \"acsURL_http_method\": \"POST\" \n      }, \n      \"created_at\": \"1614060921971\" \n    }\n \n **4. 3ds 1.0 Verify Authentication and Payment** \n\n \n\n \n\n\n **Request**  \n\n\t{ \n      \"_id\": \"c9a8bee820774d4bb5e29df8f36de2cf\", \n      \"paRes\": \"eJylVmuPqsoS/SuTOR/JbF6CssN40tAgoKAgIPiNtygP5       SHIrz+oM7Pn7uzcnNxLYqyuXrWqqqu6gP27z7OXa1TVaVm8v+I/sNe       Xv+eseaiiCG6joK2iOatGde0l0Usavr/SGDlhwqkXBDMyfJ2zG2BE9       WPnHPfMNJyQZEy90TPKf4tJgngLfQ9/IyY0RtPMdOoHs9Hmw9189PaD       YNHP5einCg5e0cxZL7hwsjbHCXJC0Sz6sWTzqJLhHBsfhhkNn0sW/WW       3ae9SPcbcp+FchaD7/lubOqZBt9eG0zuL3hFs6DXRnMAIHCMI8gWjf+       LUT4Jk0YeePd/pQF62Izc+emXR7xp2PJ0qKoLbfEaMQX6t2Kg/l0U0Is       YYv2QW/RXc2SseWXw+DDMboXctazpztknz34Ka/iRwFn3o2brxmraeuy       z6IbGBd73OVcwwLSGzVpYIdcw2LUzbmJmxNbFuTPYBYaMgnWPUGNT4/7       ACWVJWaXPI76H+p4JF76Ggj/rO2W2aFKOzKnoZ+6Wo318PTXP+iaJd1/       3oyB9llaDEmAiKMegICOs0+ev1aRWFchGXc5b3irJIAy9LB68Zy61Gza       EMX74c/onSNO6sOGoI/NtI+xbgk+LtrsFInBr50T+Tfgv333j5PfCq9t7       qg4ffHfxGNGeNKI7uZY5eLEN+f/3r33e9WXlFHZdVXn+T/8/8v3i+yyM/T       JOobv6X5D8T/87wyWd7WRvNUfrQrW5ogHKECoJohivHExM7jnuZvX/aPZE       s+nVaH0f52Qxfx/oEKlert4Ku2Z+cNCYNvNzhfp41psRdNf92pFaJz2PSdu       c7UCenXqq3jMdpLTGZ5lVFY6k0U9V2YSprpICiYW5msW9XLmp3540t4i63u       2D65cJMBXh2CmBi9poReR8rQiY/ckwHgatGKLU+u4SfjYfTqGRLEIjbThSq       a7WCTKZDsdcvm11m6e1hdU5yr5yZ1Kk+byRhn7auTUvZDMmTNEsPGjUg1FFx       KiBVmXdxBtpK3WrFGfWqpSnisNsh5qq7XrKAcVC6NWMaKdeVbR8lCUtRFanA       LHEQjFptVrynn7fSMTlP0zaNCZBq6wJ0GZ61ktHtOVpcpV1sIv6a3vQrXUcy       HkQzzl5ERr9ad+/v3/r3oyLL6PasgENhDPQa7ynxUdWk8XiRxqmnyjJsjzwPL       ssEdDIHElnYZetIH4DGJafL4ZQumA7jgF6LAI5NoNcdr7vQ1vWF0Cn2dhB2Kq       cvAG4JfNJpKqYnFmEfQ0fJZJFTbChEKtc997vO1nface9ogyxoV78wbj7R3fG       3MLdvqpF0YvLghhAwB5dUW5UwhpXDnUOeOvoE1osmMLlEszkQqFAwsn0u4r6k       JzqRYZEJIrHD+jUEvQqTXjuqpHrUvFF3e+rcL50quT0/AOXJ5Zogs1eq4XYieP       hfQoANBs+Z+52GB7mV3Ietakw66bm/gpzNuYSWBaQ6+mbaUFKu/h3vKMTekfsF       BLsnt6pCQjwGt8mwl9QmWGTYKh9zNwVb5dTHuXBdpxoLO3cduw55DnqOQY114eT       j7zUQRADWPNBn4L7PJ8tRFkDPnwXNqTeILJdVSWVReRkEjjuioiHq2WxbFIUCr4n       cpdtlsJaWtt9y+6uVzjaJrF/0CWLFEVOfGEsdFk0uGLvdNlrw0ya4XVbKWtVmkZHE5       77G0dt6qQBlZquUMmy9qNiVHQIHGyQXfoslbe5mzn5E90m/iY8i19twuTzGGnaKDxy       YzHQtGBsWS0FYkkrGnZEMaDfop2gxpdKTdDrjolP5YTrBUKTVEi+aUBoY76SlX4TbHr       ql7cse7VYiNUhWRFiGUJviiYBuzlFJtZwW/aKQJHch2pNJs6WNmW4EEzfLZHufobEyj       hnxlh8NAKC8vNb8VikUXb1uy1g24bU9oK3njuFApJYOgy5DoAOuxEFnHkF4r6WkTwQx       0S26McLBR6WQx5uoufF6Uq3OaqHLi1MndWN/GNiR48ZeLsF/xULwwJocsDrQCRz6pzv3       qLcAOIcSLJpBt9MuKUiZgpvZ+pYKUSavb1p8MPbyIGCGJDI55YQL7LD3tlClexBPL7UQ+       is7M1ODgtSiXhrJ9rBHXLmeeoeYwneQgvjWMihXxuix/3BJGNbxZXUx6zO+2hxSEmIL71       rLiGEVsu8bW4YxbE/nXY5fr0teHAjesHfpVfeqYHyJMHktVBewjZQyWJ+dYJy9lkq4XpWb       VleXbm3pqaBn0k2YIjWF4YvdPjnJAuZklTalSl5BMlI6HPgS5fFqYtVJhiP5TYyNsTKTYXo       TKxh0/JhVuT4pRewBbZIgG+y4rzGHJnU/7Zd6T2YnRvIkEA230EP86SI7aSt42YUTMQU3yNt       77eJOwX1o/j4Rn5rntES/Juiv2fr4BH18It9fw98/nf8B4cy60g==\"    }\n \n\n \n\n\n **Response**  \n\n\t{ \n     \"reason_code\": \"0\", \n     \"_id\": \"c9a8bee820774d4bb5e29df8f36de2cf\", \n     \"authorization_code\": \"310594\", \n     \"account\": \"1234\", \n     \"organisation\": \"5678\", \n     \"currency\": \"GBP\", \n     \"organisation_psp_name\": \"PSP Name\", \n     \"capture_now\": \"true\", \n     \"merchant_reference\": \"1614061135\", \n     \"amount\": \"1000\", \n     \"card\": {\n     \"card_number\": \"454305XXXXXX9982\", \n     \"expiry_month\": \"01\", \n     \"expiry_year\": \"23\" \n     }, \n     \"payment_product\": \"card\", \n     \"card_brand\": \"visa\", \n     \"issuer_name\": \"THE ROYAL BANK OF SCOTLAND PLC\", \n     \"issuer_country\": \"GB\", \n     \"fraud_predictions\": [], \n     \"status\": \"CAPTURED\", \n     \"billing_address\": { \n         \"country\": \"GB\" \n       }, \n     \"last_status_update\": \"1614061157617\", \n     \"geo_location\": [], \n     \"fees\": [], \n     \"created_at\": \"1614060923423\", \n     \"blocked\": false, \n     \"actions\": [], \n     \"details\": {}, \n     \"cvv_result\": \"M\", \n     \"avs_result\": \"C\", \n     \"three_ds\": {\n          \"three_ds_required\": \"true\" \n        } \n    }\n \n **5. 3ds 2.0 card Verify Enrolment** \n\n \n\n \n\n\n **Request**  \n\n\t{ \n      \"account\": \"1234\", \n      \"amount\": 1000, \n      \"capture_now\": true, \n      \"card\": {\n        \"card_number\": \"4456530000001096\",\n        \"cvv\": \"110\",\n        \"expiry_year\": \"23\",\n        \"expiry_month\": \"01\"\n      }, \n      \"merchant_reference\": \"8567\",\n      \"billing_address\": { \n        \"country\": \"GB\" \n      } \n    \"three_ds\": { \n           \"reference_id\": \"0_b0eabe1f-0d14-49d4-af94-3f36ce77d77c\", \n           \"three_ds_required\": \"true\", \n           \"three_ds_version\": \"2.0\" \n      }\n     }\n \n\n \n\n\n **Response**  \n\n\t{ \n      \"reason_code\": \"0\", \n      \"_id\": \"3a3054b99e0c412a8dfc5ccdfe68dec2\", \n      \"three_ds\": { \n          \"three_ds_required\": \"true\",\n          \"specification_version\": \"2.1.0\",\n          \"acsURL\": \"https://0merchantacsstag.cardinalcommerce.com/MerchantACSWeb/creq.jsp\",\n          \"paReq\": \"eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIiwidGhyZ                    WVEU1NlcnZlclRyYW5zSUQiOiIzMTNmOTNhNy04ZWI3LTQzMTUtYmEwOC0zNTg3MDNiMT                    k1OTIiLCJhY3NUcmFuc0lEIjoiMzFiZDYyNjYtNDdlYy00NzA2LTg4MmYtZmM2OTA0ZDg                    2MmY4IiwiY2hhbGxlbmdlV2luZG93U2l6ZSI6IjAyIn0\",\n          \"three_ds_enrollment\": true,\n          \"authentication_transaction_id\": \"eZQNp3BWbqvpUB1B4sj0\",\n          \"directory_server_transaction_id\": \"b4c4ac59-8314-415b-8c91-db9c974bc433\",\n          \"acsURL_http_method\": \"POST\",\n          \"reference_id\": \"0_b0eabe1f-0d14-49d4-af94-3f36ce77d77c\"\n         },\n      \"created_at\": \"1614062535893\"\n     }\n \n **6. 3ds 2.0 Verify Authentication and Payment** \n\n \n\n \n\n\n **Request**  \n\n\t{ \n     \"_id\": \"3a3054b99e0c412a8dfc5ccdfe68dec2\", \n     \"three_ds_authentication\": { \n          \"cavv\": \"MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=\", \n          \"3ds_status\": \"Y\", \n          \"eci\": \"05\", \n          \"3ds_enrolled\": \"true\", \n          \"directory_server_transaction_id\": \"b4c4ac59-8314-415b-8c91-db9c974bc433\", \n          \"3ds_version\": \"2.0\", \n          \"3ds_server_transaction_id\": \"VloEE2Ewhr0M3zP50Ir0\" \n     } \n   }\n \n\n \n\n\n **Response**  \n\n\t{ \n     \"reason_code\": \"0\", \n     \"_id\": \"3a3054b99e0c412a8dfc5ccdfe68dec2\", \n     \"authorization_code\": \"654321\", \n     \"account\": \"1234\", \n     \"organisation\": \"5678\", \n     \"currency\": \"RUB\", \n     \"organisation_psp_name\": \"PSP Name\", \n     \"capture_now\": \"true\", \n     \"merchant_reference\": \"8567\", \n     \"amount\": \"158\", \n     \"card\": {\n     \"card_number\": \"445653XXXXXX1096\", \n     \"expiry_month\": \"12\", \n     \"expiry_year\": \"22\" \n     }, \n     \"cvv_present\": true, \n     \"payment_product\": \"card\", \n     \"card_brand\": \"visa\", \n     \"issuer_country\": \"US\", \n     \"fraud_predictions\": [], \n     \"status\": \"CAPTURED\", \n     \"billing_address\": { \n         \"country\": \"GB\" \n       }, \n     \"last_status_update\": \"1614062117420\", \n     \"geo_location\": [], \n     \"fees\": [], \n     \"created_at\": \"1614062104355\", \n     \"blocked\": false, \n     \"actions\": [], \n     \"details\": {}, \n     \"cvv_result\": \"0\", \n     \"avs_result\": \"U\", \n     \"three_ds\": {\n          \"three_ds_required\": \"true\" \n        } \n    }\n \n **7. 3ds payment with non 3ds card** \n\n \n\n \n\n\n **Request**  \n\n\t{ \n      \"account\": \"1234\", \n      \"amount\": 1000, \n      \"capture_now\": true, \n      \"card\": {\n        \"card_number\": \"4543059999999982\",\n        \"cvv\": \"110\",\n        \"expiry_year\": \"23\",\n        \"expiry_month\": \"01\"\n      }, \n      \"merchant_reference\": \"1614063543\",\n      \"billing_address\": { \n        \"country\": \"GB\" \n       } \n    \"three_ds\": { \n           \"reference_id\": \"0_b0eabe1f-0d14-49d4-af94-3f36ce77d77c\", \n           \"three_ds_required\": \"true\", \n           \"three_ds_version\": \"2.0\" \n      }\n     }\n \n \n\n \n\n\n **Response**  \n\n\t{ \n      \"reason_code\": \"0\", \n      \"_id\": \"034b9bad3327492cbef76223cd4c0588\", \n      \"authorization_code\": \"654321\", \n      \"account\": \"1234\", \n      \"organisation\": \"5678\", \n      \"currency\": \"RUB\", \n      \"organisation_psp_name\": \"PSP Name\", \n      \"capture_now\": \"true\", \n      \"merchant_reference\": \"1614063543\", \n      \"amount\": \"1000\", \n      \"card\": {\n          \"card_number\": \"454305XXXXXX9982\", \n          \"expiry_month\": \"01\", \n          \"expiry_year\": \"23\" \n      }, \n      \"cvv_present\": true, \n      \"payment_product\": \"card\", \n      \"card_brand\": \"visa\", \n      \"issuer_name\": \"THE ROYAL BANK OF SCOTLAND PLC\", \n      \"issuer_country\": \"GB\", \n      \"fraud_predictions\": [], \n      \"status\": \"CAPTURED\", \n      \"billing_address\": { \n                  \"country\": \"GB\" \n       }, \n       \"last_status_update\": \"1614063336010\", \n       \"geo_location\": [], \n       \"fees\": [], \n       \"created_at\": \"1614063329718\", \n       \"blocked\": false, \n       \"actions\": [], \n       \"details\": {}, \n       \"cvv_result\": \"0\", \n       \"avs_result\": \"U\", \n       \"three_ds\": { \n              \"three_ds_required\": \"true\" \n               \"three_ds_version\": \"2.0\" \n       }\n    }\n \n **8. 3ds payment with non 3ds card** \n\n \n\n \n\n\n **Request**  \n\n\t{ \n      \"account\": \"1234\", \n      \"amount\": 1000, \n      \"capture_now\": true, \n      \"card\": {\n        \"card_number\": \"4012000033330026\",\n        \"cvv\": \"110\",\n        \"expiry_year\": \"23\",\n        \"expiry_month\": \"01\"\n      }, \n      \"merchant_reference\": \"1614065317\",\n      \"billing_address\": { \n        \"country\": \"GB\" \n       } \n    \"three_ds\": { \n           \"three_ds_required\": \"true\", \n           \"three_ds_version\": \"1.0\" \n      }\n     }\n \n \n\n \n\n\n **Response**  \n\n\t{ \n      \"reason_code\": \"0\", \n      \"_id\": \"793ddccc2c984ce29040bdda169c351d\", \n      \"authorization_code\": \"654321\", \n      \"account\": \"1234\", \n      \"organisation\": \"5678\", \n      \"currency\": \"RUB\", \n      \"organisation_psp_name\": \"PSP Name\", \n      \"capture_now\": \"true\", \n      \"merchant_reference\": \"1614065317\", \n      \"amount\": \"1000\", \n      \"recurring_type\": \"first\", \n      \"card\": {\n          \"card_number\": \"401200XXXXXX0026\", \n          \"expiry_month\": \"01\", \n          \"expiry_year\": \"23\" \n      }, \n      \"cvv_present\": true, \n      \"payment_product\": \"card\", \n      \"card_brand\": \"visa\", \n      \"issuer_country\": \"RU\", \n      \"fraud_predictions\": [], \n      \"status\": \"CAPTURED\", \n      \"billing_address\": { \n                  \"country\": \"GB\" \n       }, \n       \"last_status_update\": \"1614065105802\", \n       \"geo_location\": [], \n       \"fees\": [], \n       \"created_at\": \"1614065103901\", \n       \"blocked\": false, \n       \"actions\": [], \n       \"details\": {}, \n       \"cvv_result\": \"0\", \n       \"avs_result\": \"U\", \n       \"three_ds\": { \n              \"three_ds_required\": \"true\" \n       }\n    }\n ## Appendix C - CVV Responses, AVS Responses \n \n### CVV Responses\n CVV results are returned as a part of Payment requests. \n\n| Code  | Description   |\n|------|--------|\n| D  | Suspicious transaction |\n| I  | The CVN failed the processor's data validation check. |\n| M  | CVV Matched |\n| N  | CVV does not match |\n| P  | CVN not processed for unspecified reason |\n| S  | CVN not included in request |\n| U  | Card verification is not supported |\n| X  | Card verification is not supported by the payment card company. |\n| Y  | CVN failed the processor's data validation check |\n| 0  | No service available |\n| 1  | Card verification is not supported for this processor or card type. |\n| 2  | An unrecognized result code was returned by the processor for the card verification response. |\n| 3  | No result code was returned by the processor. |\n\n<br>\n\n ### AVS Responses\n AVS results are returned as a part of Payment requests. \n\n| Code  | Description   |\n|------|--------|\n| A  | Address (Street) matches, Postal code does not |\n| B  | Address (Street) matches, Postal code not verified due to incompatible formats |\n| C  | Address (Street) and Postal code not verified due to incompatible formats |\n| D  | Address (Street) and Postal code match, Cardholder name is incorrect |\n| E  | AVS error |\n| F  | Address (Street) and Postal code does not match |\n| G  | Address information is unavailable; non-AVS participant |\n| H  | Address (Street) and Postal code match, Cardholder name is incorrect |\n| I  | Address information not verified |\n| K  | Cardholder name matches |\n| L  | Cardholder name and postal code match |\n| M  | Address (Street) , Postal code and Cardholder name match |\n| N  | Address (Street) and Postal code does not match |\n| O  | Address (Street) and Cardholder name match |\n| P  | Address (Street) not verified, Postal code match |\n| Q  | Address (Street) and Postal code match, Cardholder name is incorrect |\n| R  | Retry, System unavailable or Timed out |\n| S  | Service not supported by issuer |\n| T  | Address (street) match, Cardholder name does not match |\n| U  | Address information is unavailable |\n| V  | Address (Street), Postal code and Cardholder name match |\n| W  | Address (Street) does not match, Postal code match |\n| X  | Exact AVS Match |\n| Y  | Address (Street) and Postal code match |\n| Z  | Address (Street) does not match, Postal code match |\n| 0  | No service available - U |\n| Z1 | Address (Street) match, Postal code not supplied |\n| Z2 | Address(Street) match |\n| 1  | AVS not requested |\n| 2  | Address (Street) NOT VERIFIED, Postal code not supplied |\n| 3  | Address (Street) does not match, Postal code not supplied |\n| 4  | Address (Street) and Postal code matched partially |\n| 5  | Address (Street) matched partially, Postal code matched |\n| 6  | Address (Street) matched partially, Postal code does not match |\n| 7  | Address (Street) matched partially, Postal code not supplied |\n| 8  | Address (Street) matched partially, Postal code not verified |\n| 9  | Address (Street) match and Postal code matched partially |\n| 10 | Address (Street) does not match and Postal code matched partially |\n| 11 | Address (Street) not supplied and Postal code matched partially |\n| 12 | Address (Street) not verified and Postal code matched partially |\n| 13 | Address (Street) does not match and Postal code not verified |\n| 14 | Address (Street) not verified and Postal code does not match |\n| 15 | Address (Street) not supplied and Postal code match |\n| 16 | Address (Street) not supplied and Postal code not verified |\n| 17 | Address (Street) not supplied and Postal code match |\n## Appendix D - Card Brands \n \n### Card Brands\n\n | Card Brands             | \n |-------------------------|\n| AMERICAN EXPRESS |\n| ARGENCARD |\n| ATM CARD |\n| AURA |\n| BANKCARD(INACTIVE) |\n| BELKART |\n| BP FUEL CARD |\n| CABAL |\n| CARNET |\n| CB |\n| CHINA UNION PAY |\n| CHINA UNION PAY/UZCARD |\n| CHJONES FUEL CARD |\n| CIRRUS |\n| COMPROCARD |\n| DANKORT |\n| DINACARD |\n| DINERS CLUB INTERNATIONAL |\n| DISCOVER |\n| DUET |\n| EBT |\n| EFTPOS |\n| ELO |\n| ELO/DISCOVER |\n| EUROSHELL FUEL CARD |\n| FUEL CARD |\n| GE CAPITAL |\n| GLOBAL BC |\n| HIPERCARD |\n| HRG STORE CARD |\n| HUMOCARD |\n| JCB |\n| JCB/LANKAPAY |\n| LOCAL BRAND |\n| LOYALTY CARD |\n| LUKOIL FUEL CARD |\n| MAESTRO |\n| MAESTRO/BANCONTACT |\n| MASTERCARD |\n| NATIVA |\n| NEWDAY |\n| NSPK MIR |\n| OUROCARD |\n| PAGOBANCOMAT |\n| PAYPAL |\n| PHH FUEL CARD |\n| PRIVATE LABEL |\n| PROSTIR |\n| RED FUEL CARD |\n| RED LIQUID FUEL CARD |\n| RUPAY |\n| SBERCARD |\n| SODEXO |\n| STAR REWARDS |\n| TARJETA CENCOSUD |\n| TARJETA NARANJA |\n| TROY |\n| UATP |\n| UK FUEL CARD |\n| UNIONPAY |\n| UZCARD |\n| VISA |\n| VISA/DANKORT |\n| VOYAGER |\n| VPAY |\n| WEXCARD |\n## Appendix E - Error Codes, Reason Codes \n\n \n ### Error Codes\n ### Validation Errors\n \n <details onmouseover=\"\" style=\"cursor: pointer;\"><summary>Card Validation Errors</summary> \n\n| Code | HTTP Status  | Message   |\n|------|-------------|------------------------------------------------|\n| 100 | 500 | Unexpected error: if the error persists, please contact an administrator, quoting the code and timestamp of this error. |\n| 101 | 400 | The requested page can't be found. It's likely that the page's URL is incorrect, or was accessed using an incorrect protocol. For some pages, a strict URL routing is enabled: you may need to add or remove a trailing slash, to or from the URL. |\n| 102 | 400 | The submitted username or password is invalid. After a defined number of failed login attempts, the requested user will be disabled. |\n| 103 | 400 | The submitted CSRF-token hasn't been recognized. It's likely that the current session has expired, or holds an expired token. Should you receive this error repeatedly, or from a server-side call, please report it to an administrator. |\n| 104 | 400 | The requested file can't be found. Make sure the requested file hasn't been deleted. |\n| 105 | 400 | The submitted password is invalid. A password must be at least 8 characters in length, and contain at least one uppercase letter, one lowercase letter, one digit, and one symbol. Also, it shouldn't be similar to a previously-used password. |\n| 106 | 400 | An invalid or expired password reset token has been submitted. A given token is only valid for a short amount of time; ask for a new one if needed. |\n| 107 | 400 | At least one parameter is invalid. Examine the details property for more information. Invalid parameters are listed and prefixed accordingly: body for parameters submitted in the request's body, query for parameters appended to the request's URL, and params for templated parameters of the request's URL. |\n| 109 | 400 | The requested resource, or one of its sub-resources, can't be found. If the submitted query is valid, this error is likely to be caused by a problem with a nested resource that has been deleted or modified. Check the details property for additional insights. |\n| 110 | 400 | The submitted or requested resource is invalid. If you submitted a resource, please check for invalid fields, which will be listed in the details property. If you requested a resource, ensure the latter is valid, as well as its sub-resources. |\n| 111 | 400 | The submitted transaction has been blocked by a ruleset specified by the organization owning the account, or by a superior organization. Further information is available by querying the relevant ValidationRuleSetMatch, or by examining the blocked transaction in the user interface. |\n| 112 | 400 | Failed to perform database query. Please try again. If the error persists, contact an administrator. |\n| 113 | 400 | Insufficient permissions. Your current user roles don't allow you to perform this query. Should you believe this error to be incorrect, please contact an administrator. |\n| 114 | 400 | Your user is disabled. The intervention of an administrator is required. |\n| 115 | 400 | Your password has expired, and must be changed. |\n| 116 | 401 | Access is restricted to authenticated users only. The query can't be made without a valid API key (check the X-APIKEY header of your request), or a valid session (in which case session cookies are automatically set by the browser). |\n| 117 | 400 | It is not possible to disable or restrict your own user permissions. Verify your request target, and / or parameters. If you're trying to update your user profile, ensure your user roles are set to something valid (avoid json null, or empty list []) |\n| 119 | 400 | The transaction relates to an unknown processor. This could happen if the processor configuration that was initially used has changed. Please verify the processor configuration used by this account. |\n| 121 | 400 | The transaction has been declined by the processor. The request reached the processor, but it was not accepted. A decline reason code is available in the details property. |\n| 122 | 400 | Something went wrong with the processor. The processor replied with something unexpected, which makes it difficult to handle. This error shouldn't occur. Should you experience it, please contact an administrator with the corresponding error code and timestamp. |\n| 123 | 400 | The transaction has been rejected by the processor. The request reached the processor, but it failed the validation checks required by the processor. Please examine your request. If the error persists, contact an administrator. |\n| 125 | 400 | The submission contains an invalid character. Some characters are forbidden for some inputs. The details property identifies the character causing the error, and, possibly, its source. |\n| 126 | 400 | At least one parameter is missing from the request body. Ensure you have provided all required parameters, as specified in the documentation. |\n| 127 | 400 | At least one parameter is unexpected, or unwanted. If you're trying to update a resource, be sure to include only parameters that you want to, and may, update. Some parameters are read-only or create-only. |\n| 128 | 400 | The submitted or computed amount is too large. This happens when trying to capture or refund a transaction for more than the available amount. In some cases, for some payment methods, it is possible to re-authorize or capture slightly more than the initial amount; please refer to the documentation to learn when and where this is possible. |\n| 129 | 400 | The submitted HTML or CSS snippets have failed the validation checks, and are considered unsafe. Remember, it is forbidden to include JavaScript, or external URLs that aren't images, in your snippets. |\n| 130 | 400 | At least one field of the submitted entity that is supposed to be unique already exists in another resource. The details property identifies which field is conflicting with which resource. |\n| 131 | 400 | The processor is currently unavailable. Try again later. |\n| 132 | 400 | The requested operation is not supported by the payment method or processor. Refer to the documentation for a list of supported operations. |\n| 133 | 400 | The requested card scheme isn't supported by the processor. |\n| 134 | 400 | Failed to parse the request. Ensure the request contains a valid JSON object, avoiding single quotes and trailing commas, and that the Content-Type header is set to application/json. |\n| 135 | 400 | Invalid combination (key, operator) for matching ruleset. |\n| 136 | 400 | Setting the password to a recently-used password is prohibited. Please set a different password. |\n| 137 | 400 | Parameters in the request body are conflicting with one another. It's likely that they are valid individually, yet they can't be submitted together, as that would lead to invalid combinations. |\n| 138 | 400 | Your session has expired, or can't be renewed. Re-authentication is needed. Please be aware that all sessions will eventually expire. |\n| 139 | 400 | The submitted session token is invalid. It's likely that your client application has corrupted the session cookie. |\n| 140 | 400 | An error occurred during 3D Secure processing. For more information, please refer to the details property. |\n| 141 | 400 | No more than 2 API-keys can be created for the same user. |\n| 142 | 400 | Cannot remove processor, there are still accounts using it. |\n| 143 | 400 | You have attempted to use an account that uses a currency that is not supported when using this processor. |\n| 144 | 400 | Please fill in the captcha input. |\n| 145 | 400 | The input captcha doesn't match with the provided one. Please retry. |\n| 146 | 400 | Unable to delete the account. The account still has transactions stored in it. |\n| 147 | 400 | Unable to make a transaction, because the account has been disabled. |\n| 148 | 400 | The processor configuration you're trying to use contains invalid fields. |\n| 149 | 400 | The recurring transaction could not be initiated. |\n| 150 | 400 | The transaction was declined by a third party fraud engine. |\n| 151 | 400 | The amount does not match the expected value. |\n| 152 | 400 | Unable to create inspector as there's an existing type attached to the Organisation. |\n| 153 | 400 | The (account) transaction relates to an unknown inspector. This could happen if the inspector configuration that was initially used has changed. Please verify the inspector configuration used by this account. |\n| 154 | 400 | Cannot remove inspector, there are still accounts using it. |\n| 155 | 400 | Unable to complete request, because a parent organisation has been disabled. |\n| 156 | 400 | A parent organisation for this user has been disabled. Please contact a system administrator if you believe this to have been done in error. |\n| 157 | 400 | It is not possible to disable your own user's organisation. Please verify your request target and / or parameters. |\n| 158 | 400 | The requested operation is not supported by the importer. Refer to the documentation for a list of supported operations. |\n| 159 | 400 | The selected importer is unknown. Please check the list of available importers in the documentation or make sure that the importer is enabled in the config |\n| 160 | 400 | There's no mapping found for the given merchant id. Please make sure to define the mapping first. |\n| 161 | 400 | You have provided a page containing invalid or prohibited CSS content. |\n| 162 | 400 | You have provided a page containing invalid or prohibited HTML content. |\n| 163 | 400 | One or more values are duplicated, but should be unique. |\n| 164 | 400 | Failed to retrieve content from external URL. |\n| 165 | 400 | Maximum number of attempts to submit the form has been reached! |\n| 166 | 400 | Account doesn't have enough balance |\n| 167 | 400 | An error returned by Processor. Please process the transaction again |\n| 200 | 400 | The locale you passed is invalid according to ISO 639 standard. Please provide the valid locale like 'en_US', 'en_GB', 'en_IN', 'fr_CH', 'ja_JP' etc. |\n| 201 | 400 | Please provide either card_number or token or encrypted_data or applepay block or googlepay block. |\n| 202 | 400 | Please enter minimum 12 digits in card number. |\n| 203 | 400 | Either Key is not configured against the organisation or expired. |\n| 210 | 400 | Amount is invalid or missing. |\n| 211 | 400 | Transaction_id is invalid or missing. |\n| 212 | 400 | Transaction cannot be refunded. |\n| 213 | 400 | Transaction cannot be cancelled. |\n| 214 | 400 | Transaction cannot be captured. |\n| 215 | 400 | Quantity is invalid or missing. |\n| 216 | 400 | Vat percent is invalid or missing. |\n| 217 | 400 | Gateway response looks blank or invalid. Please process the transaction again. |\n| 218 | 400 | Account invalid or missing. |\n| 1000 | 400 | The organisation does not found associated with this account. |\n| 1001 | 400 | The payment service provider does not found associated with this account. |\n| 1002 | 400 | The original transaction was not found. |\n| 1003 | 400 | The refund amount entered does not match with the original transaction amount. |\n| 1004 | 400 | The payment service provider end_point does not found. |\n| 1005 | 400 | The Product is not associated with this PSP. Please enter a valid Product. |\n| 1006 | 400 | The Currency is not associated with this PSP. Please enter a valid Currency. |\n| 1007 | 400 | The Transaction Type is not associated with this PSP. Please enter a valid Transaction Type. |\n| 1008 | 400 | A PSP with the same name already exists. Please enter a different PSP name. |\n| 1009 | 400 | The Country is not associated with this Organisation. Please enter a valid Country. |\n| 1010 | 400 | An Organisation with the same name already exists. Please enter a different Organisation name. |\n| 1011 | 400 | The Captured amount does not match with the original transaction amount or Already been captured. |\n| 1012 | 400 | System is not able to detokenise the token, please check your token. |\n| 1013 | 400 | System is not able to Regenerate the token, please Contact Administrative team. |\n| 1014 | 400 | The amount is already refunded. |\n| 1015 | 400 | The amount is greater than captured amount. |\n| 1016 | 400 | The transaction has not been captured yet. |\n| 1017 | 400 | The webhook max attempt should be less then or equal to 10. |\n| 1018 | 400 | Organisation_psp with given Id does not exist. Please enter a valid organisation_psp_id. |\n| 1019 | 400 | Currency with given Id does not exist. Please enter a valid currency_id. |\n| 1020 | 400 | Organisation with given Id does not exist. Please enter a valid organisation_id. |\n| 1021 | 400 | An Account with the same account name already exists. Please enter a different account name. |\n| 1022 | 400 | The organisation parent id does not found. Please enter a valid organisation_parent_id. |\n| 1023 | 400 | The operation is not supported yet. please Contact Administrative team. |\n| 1024 | 400 | A PSP is not found of dimebox. Configuration issue. |\n| 1025 | 400 | The reporting_organisation_id does not found against your parent_id. Configuration issue. |\n| 1026 | 400 | Unable to process request. |\n| 1027 | 400 | A Organisation PSP with the same name already exists. Please enter a different Organisation PSP name. |\n| 1028 | 400 | A Organisation Id, PSP Id with MID already exists. Please enter a different MID or Organisation Id and PSP Id. |\n| 1029 | 400 | A transaction has been attempted on this URL. Please create a new transaction. |\n| 1030 | 400 | This transaction does not support the performed operation. |\n| 1031 | 400 | Response seems to be coming from unverified source. Please initiate the payment transaction again. |\n| 1032 | 400 | Gateway timeout. |\n| 1033 | 400 | Card number is invalid. |\n| 1034 | 400 | BIN not found. |\n| 1035 | 400 | The transaction has not been refunded yet. |\n| 1036 | 400 | You are not authorised to use this service. Please speak to your Implementation Manager for further information. |\n| 1037 | 400 | Capture_id is invalid or missing. |\n| 1038 | 400 | Capture id is required for partially captured transactions |\n| 1039 | 400 | Unable to decrypt the request. Please contact an administrator, quoting the code and timestamp of this error |\n| 1040 | 400 | No account found for the associated organisation. |\n| 1041 | 400 | Webhook url should contain same domain as account webhook url. |\n| 1042 | 400 | Account is not configured to support webhook notifications. |\n| 1043 | 400 | Token is Invalid/Missing. |\n| 1044 | 400 | Unable to decrypt the request. Decryption Key is either inactive or expired. |\n| 1045 | 400 | Token is Inactive. |\n| 1047 | 400 | You submitted a request that is not parsable. |\n| 1048 | 400 | Product_id is invalid. |\n| 1049 | 400 | Either organisationId or merchantReference is incorrect. |\n| 1050 | 400 | The merchantReference is not unique. |\n| 1051 | 400 | Record already exists. |\n| 1052 | 400 | Account is not configured to support this request. |\n| 1053 | 400 | Account is not configured to support the payment type. |\n| 1054 | 400 | This was duplicate request. Awaiting response from PSP for initial request. |\n| 1055 | 400 | This url is already used to create a token, please create a new hosted token request to create a token. |\n| 1056 | 400 | Organisation configuration is not supported or expired for risk & check feature. |\n| 1057 | 400 | provider_name is invalid or missing. |\n| 1058 | 400 | Third party processor unavailable. |\n| 1059 | 400 | Four digit cvv expected for American Express. |\n| 1060 | 400 | 3DS Configurations are missing or invalid. |\n| 1061 | 400 | mandate_id is invalid or expired. |\n| 1062 | 400 | No active Payment page template, please apply a Template before proceeding. |\n| 1063 | 400 | Expired Card. |\n| 1064 | 400 | Customer cancellation. |\n</details>\n\n \n ### Processing Errors \n \n <details onmouseover=\"\" style=\"cursor: pointer;\"><summary>Card Processing Errors</summary> \n\n| Reason_Code  | Reason_Message |\n|------|--------|\n| APC_001  | Transaction in progress |\n| APC_002  | Error processing transaction |\n| APC_003  | Account configuration invalid |\n| APC_004  | IP not allowed |\n| APC_005  | Function not supported by acquirer |\n| APC_006  | Order details do not match request |\n| APC_007  | Malformed request |\n| APC_008  | Merchant account suspended |\n| APC_009  | Currency not supported |\n| APC_011  | Gateway error - please contact support |\n| APC_012  | Unable to connect to Acquirer |\n| APC_015  | Encryption error |\n| APC_016  | Duplicate request |\n| APC_017  | Acquirer settlement error |\n| APC_018  | AVS/CVC not supported by Acquirer |\n| APC_019  | Payment method not supported |\n| APC_020  | Unable to authorise transaction |\n| APC_021  | Request expired |\n| APC_022  | Test card not supported |\n| APC_023  | Issuing country not supported |\n| APC_024  | Action invalid or missing |\n| APC_025  | Amount invalid or missing |\n| APC_026  | Card number invalid or missing |\n| APC_027  | Expiry date invalid or in the past |\n| APC_028  | Card issue number invalid or missing |\n| APC_029  | CVV invalid or missing |\n| APC_030  | Billing name invalid or missing |\n| APC_031  | Billing address invalid or missing |\n| APC_032  | Billing postcode invalid or missing |\n| APC_033  | Email invalid or missing |\n| APC_034  | Phone number invalid or missing |\n| APC_035  | Country code invalid or missing |\n| APC_036  | Merchant reference invalid or missing |\n| APC_037  | Remote address invalid or missing |\n| APC_038  | Redirect URL invalid or missing |\n| APC_039  | Callback URL invalid or missing |\n| APC_040  | Merchant data invalid or missing |\n| APC_041  | Origin invalid or missing |\n| APC_042  | Duplicate delay invalid or missing |\n| APC_043  | Item details invalid or missing |\n| APC_044  | Tax details invalid or missing |\n| APC_045  | Discount value invalid or missing |\n| APC_046  | 3DS details invalid or missing |\n| APC_047  | 3DS pares invalid or missing |\n| APC_048  | Capture now missing or invalid |\n| APC_049  | Order date invalid or missing |\n| APC_050  | Card start date invalid or missing |\n| APC_051  | Confirmation Number invalid |\n| APC_052  | CSRF token invalid or missing |\n| APC_053  | Token invalid or missing |\n| APC_054  | Data invalid or missing |\n| APC_055  | Captcha invalid or missing |\n| APC_056  | Error processing request |\n| APC_057  | Attempts exceeded |\n| APC_058  | 3DS Authentication failed |\n| APC_059  | 3DS Issuer is unable to respond |\n| APC_060  | 3DS Error |\n| APC_061  | Try again later |\n| APC_062  | Invalid DATETIME format |\n| APC_063  | Authorisation code missing or invalid |\n| APC_064  | Order not found |\n| APC_065  | Recurring order not possible |\n| APC_066  | Payment not yet ready for refund |\n| APC_067  | Card brand invalid or missing |\n| APC_068  | Refund not allowed or possible |\n| APC_069  | Network error |\n| APC_070  | Acquirer error |\n| APC_071  | Automatically voided on Refund |\n| APC_072  | Gateway Timeout |\n| APC_073  | Net amount doesn't match with items prices |\n| APC_074  | Gross amount doesn't match with items prices |\n| APC_075  | Customer number is invalid or missing |\n| APC_076  | Capture not allowed or possible |\n| APC_077  | Payment not yet ready for capture |\n| APC_078  | Void not allowed or possible |\n| APC_079  | Unexpected Response |\n| APC_080  | Authorisation amount exceeded |\n| APC_081  | Transaction already refunded or settled or voided |\n| APC_082  | Third Party Processor error |\n| APC_083  | Payment product not supported or invalid |\n| APC_084  | Method invocation exception |\n| APC_085  | 3DS processing is not required for this card |\n| APC_086  | 3DS processing is required for this card |\n| APC_087  | 3DS authentication is required for this card |\n| APC_088  | 3DS enrolment check error|\n| APC_089  | Abandoned by User|\n| APC_090  | Processor has declined the transaction|\n| 217      | Gateway response looks blank or invalid. Please process the transaction again. |\n</details>\n\n \n<br/> \n\n ### Reason Codes\n The complete list of reason codes is given right below. \n \n\n| Reason_Code  | Reason_Message   |\n|------|--------|\n| 0 | Successful approval/completion or that VIP PIN verification is valid |\n| 1 | Refer to card issuer |\n| 2 | Refer to card issuer, special condition |\n| 3 | Invalid merchant or service provider |\n| 4 | Pickup |\n| 5 | Do not honor |\n| 6 | General error |\n| 7 | Pickup card, special condition (other than lost/stolen card) |\n| 8 | Honor with identification |\n| 9 | Request in progress |\n| 10 | Partial approval |\n| 11 | VIP approval |\n| 12 | Invalid transaction |\n| 13 | Invalid amount (currency conversion field overflow) or amount exceeds maximum for card program |\n| 14 | Invalid account number (no such number) |\n| 15 | No such issuer |\n| 16 | Insufficient funds |\n| 17 | Customer cancellation |\n| 18 | Customer dispute |\n| 19 | Re-enter transaction |\n| 20 | Invalid response |\n| 21 | No action taken (unable to back out prior transaction) |\n| 22 | Suspected Malfunction |\n| 23 | Unacceptable transaction |\n| 24 | File update impossible |\n| 25 | Unable to locate record in file, or account number is missing from the inquiry |\n| 28 | File is temporarily unavailable |\n| 30 | Format error |\n| 34 | 3DS Authentication failed |\n| 35 | 3DS Issuer is unable to respond |\n| 36 | 3DS Error |\n| 37 | Issuer not supported |\n| 41 | Merchant should retain card (card reported lost) |\n| 43 | Merchant should retain card (card reported stolen) |\n| 51 | Insufficient funds |\n| 52 | No checking account |\n| 53 | No savings account |\n| 54 | Expired card |\n| 55 | Incorrect PIN |\n| 57 | Transaction not permitted to cardholder |\n| 58 | Transaction not allowed at terminal |\n| 59 | Suspected fraud |\n| 60 | Declined by Risk |\n| 61 | Activity amount limit exceeded |\n| 62 | Restricted card (for example, in country exclusion table) |\n| 63 | Security violation |\n| 65 | Activity count limit exceeded |\n| 68 | Response received too late |\n| 75 | Allowable number of PIN-entry tries exceeded |\n| 76 | Unable to locate previous message (no match on retrieval reference number) |\n| 77 | Previous message located for a repeat or reversal, but repeat or reversal data are inconsistent with original message |\n| 78 | ’Blocked, first used’—The transaction is from a new cardholder, and the card has not been properly unblocked. |\n| 80 | Visa transactions: credit issuer unavailable. Private label and check acceptance: Invalid date |\n| 81 | PIN cryptographic error found (error found by VIC security module during PIN decryption) |\n| 82 | Negative CAM, dCVV, iCVV, or CVV results |\n| 83 | Unable to verify PIN |\n| 85 | No reason to decline a request for account number verification, address verification, CVV2 verification; or a credit voucher or merchandise return |\n| 86 | Card Expiry Date invalid |\n| 87 | AVS check failed |\n| 90 | Third Party Processor error. |\n| 91 | Issuer unavailable or switch inoperative (STIP not applicable or available for this transaction) |\n| 92 | Destination cannot be found for routing |\n| 93 | Transaction cannot be completed, violation of law |\n| 94 | Duplicate transmission |\n| 95 | Reconcile error |\n| 96 | System malfunction, System malfunction or certain field error conditions |\n| B1 | Surcharge amount not permitted on Visa cards (U.S. acquirers only) |\n| N0 | Force STIP |\n| N3 | Cash service not available |\n| N4 | Cashback request exceeds issuer limit |\n| N7 | Decline for CVV2 failure |\n| P2 | Invalid biller information |\n| P5 | PIN change/unblock request declined |\n| P6 | Unsafe PIN |\n| Q1 | Card authentication failed |\n| R0 | Stop payment order |\n| R1 | Revocation of authorisation order |\n| R3 | Revocation of all authorisations order |\n| XA | Forward to issuer |\n| XD | Forward to issuer |\n| Z3 | Unable to go online |\n| 1A | SCA Required by Issuer |\n## Appendix F - Supported functions by payment methods \n \n### Supported functions by payment methods\n\n \n\n| Payment Method | Authorisation | Capture | Void Capture | Void Authorisation | Refund | Void Refund | 3DS 1.0 | 3DS 2.0 \n|------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|\n| Card Payment         | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |\n| Paypal               | Yes | Yes |     | Yes | Yes |     |     |     |\n| Afterpay             | Yes | Yes |     | Yes | Yes |     |     |     |\n| iDeal                |     | Yes |     |     | Yes |     |     |     |\n| p24                  |     | Yes |     |     | Yes |     |     |     |\n| Dragonpay            | Yes |     |     | Yes |     |     |     |     |\n| Oxxo                 |     | Yes |     |     | Yes |     |     |     |\n| Blik                 |     | Yes |     |     | Yes |     |     |     |\n| Klarna               |     | Yes |     |     | Yes |     |     |     |\n| Alipay International |     | Yes |     |     | Yes |     |     |     |\n| Alipay               | Yes |     |     | Yes | Yes |     |     |     |\n| CUP                  | Yes |     |     | Yes | Yes |     |     |     |\n## Appendix G - Test Data \n \n### Test Data\n\n ## Appendix H - Supported Values for Locale \n | Locales        | \n |-------------------------|\n| ar_EG |\n| ar_MA |\n| ar_SA |\n| bs_BA |\n| de_DE |\n| el_GR |\n| en_GB |\n| en_PH |\n| en_US |\n| es_MX |\n| fr_FR |\n| hr_HR |\n| mk_MK |\n| ms_MY |\n| nl_NL |\n| pt_PT |\n| ro_MD |\n| ru_RU |\n| sl_SI |\n| sq_AL |\n| sr_ME |\n| sr_RS |\n| zh_TW |\n","version":"2.0","title":"APEXX FINTECH API","license":{"name":"Apexx Fintech Ltd","url":"https://www.apexxfintech.com/legal-documentation/"}},"host":"sandbox.apexx.global/atomic/v1","basePath":"/","tags":[{"name":"SDK","description":"\n \n <h2>JavaScript SDK Integration 1.0.0 </h2>\n \n The Apexx Payment Integration SDK is a comprehensive solution designed to streamline payment processing for merchants by integrating multiple payment methods into a single, unified platform. With support for providers like PayPal, Volt, and others, the SDK enables merchants to offer their customers a diverse range of payment options while ensuring seamless management of the payment flow tailored to each method.\n\n\n \n <h2>What is this Library for?</h2>\n\n The Apexx-PayPal SDK is designed to simplify the integration of PayPal's Embedded Checkout into web applications. This SDK abstracts the complexities of payment logic, enabling merchants to easily handle payment approval and event-driven callbacks. The SDK allows customization of funding sources such as PayPal and Volt, providing flexibility for developers and businesses alike. This document outlines the SDK’s core design, focusing on its key methods, error-handling strategy, and security considerations. By using this SDK, developers can streamline the integration of Apexx's payment services within their applications.\n\n\n \n <h2>What are the features?</h2>\n\n \n<ul style=\"list-style-type:number;\"><li><strong>Paypal</strong>\n \n <ul style=\"list-style-type:circle;\"><li> Express Checkout </li> \n  \n <li> Pay Later </li> \n  \n <li> Credit </li></ul></li></ul>\n\n \n <h2>Use Cases </h2>\n \n \n<ul style=\"list-style-type:number;\"><li><strong>Online Payments & Checkout</strong>\n \n<ul style=\"list-style-type:circle;\"><li> Integrate PayPal Express Checkout for faster transactions. </li>\n  \n <li> Accept Pay Later and Paypal Credits </li></ul></li>\n\n \n<li><strong>Option to auto-capture or capture later.</strong></li>\n\n \n<li><strong>Option to complete the order as per your flow.</strong></li></ul>\n\n \n <h2> SDK Process Flow</h2>\n\n \n <b>Apexx Completes the Order (CompleteOrder = true)</b>\n \n <img src=\"../resources/img/Payment flow SDK - Apexx Completes Order.png\" alt=\"PayPal SDK Flow Diagram\" style=\"max-size:100%; height:auto; margin:0 auto;border: 1px dotted; display:block;\"/>\n \n <b>Merchant Completes the Order (CompleteOrder = false)</b>\n \n <img src=\"../resources/img/Payment flow SDK - Merchant Completes Order.png\" alt=\"PayPal SDK Flow Diagram\" style=\"max-size:100%; height:auto; margin:0 auto;border: 1px dotted; display:block;\"/>\n \n <h2>How to setup?</h2>\nThe Apexx js library can be downloaded from here:\n\n \n <div style=\"overflow-x: auto;\">\n  <table style=\"table-layout: fixed; width: 100%; border-collapse: collapse;\">\n    <thead>\n      <tr>\n        <th style=\"width: 20%;\">Environment</th>\n        <th style=\"width: 30%;\">Endpoint</th>\n        <th style=\"width: 50%;\">Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td>Sandbox</td>\n        <td style=\"word-break: break-all;\"><a href=\"https://paypalsandboxsdkdemo.apexx.global/ApexxSDK.min.js\" style=\"color: black; text-decoration: underline;\">https://paypalsandboxsdkdemo.apexx.global/ApexxSDK.min.js</a></td>\n        <td>This environment provides you with full access to all the features available. Transactions will have no financial impact.</td>\n      </tr>\n      <tr>\n        <td>Production</td>\n        <td style=\"word-break: break-all;\"><a href=\"https://sdk.apexx.global/js/ApexxSDK.min.js\" style=\"color: black; text-decoration: underline;\">https://sdk.apexx.global/js/ApexxSDK.min.js</a></td>\n        <td>This environment will be the Live environment with access based on your configuration. Transactions will have financial impact.</td>\n      </tr>\n    </tbody>\n  </table>\n</div>\n \n <h2>Where to get credentials</h2>\n \n If you already have a relationship with a service provider, we will help create the neccessary IDs and share them with your payment provider of choice.\n\n If you do not yet have an account with a payment service provider, please reach out to your Apexx account manager who will be happy to help facitlate the onboarding process.\n\n To process payments via Apexx SDK you will need an organisation id and an X-APIKEY which you can get from your Apexx account manager.\n\n \n <h2>How to consume the library? </h2>\n\n If you are consuming the library directy from our CDN (Recommended), then add the following JS snippet to your relevant checkout page. \n\n \n <pre>&lt;script src=\"https://paypalsandboxsdkdemo.apexx.global/ApexxSDK.min.js\"&gt;&lt;/script&gt;</pre>\n \n \n \n <pre>const paymentInstance = new Apexx(\"PayPal\", (error) => {\nconsole.error(\"Error initializing payment SDK:\", error);\n}); </pre>\n \n \n \n <h2>How to incorporate with any existing libraries</h2>\n\n Merchants can integrate the SDK alongside their existing payment processing systems. The SDK is compatible with JavaScript and backend payment flows. Please note that any unique IDs that are used would need to be specific to the JS library.\n\n \n <h2>How to make a call</h2>\n \n \n <h3 >Encrypting Payment parameters</h3>\n\n Before initializing the SDK you would need to encrypt the data required for processing the payment. To encrypt the data you can call the Apexx server encryption API which will provide you with the required details to initiate the javascript SDK. For more details on server encryption API, visit <a href=\"#operation/paypalSdkPaymentRequestUsingPOST\"><b>API Reference</b></a> The details of the fields required to be encrypted are mentioned in the schema definitions below.\n\n \n <h3>Initializing the embedded element </h3>\n\n Initialize the Apexx wrapper by loading the script from Apexx, using the activation instance keyword (e.g. \"PayPal\") and an error callback function to handle wrapper error for that payment instance. \n\n \n <pre>Eg: const paypalInstance = new Apexx(\"PayPal\",(error)=>{alert(console.log(\"error\"); ))}); </pre>\n \n \n The APEXX SDK is initialized using a configuration object that contains key parameters required for payment processing. The initialization process sets up the SDK environment and ensures all provided configurations are validated. Key Parameters & Data Type : These are needed to be provided as a single object.<ul> <li> encryptedkey (string) – Required <ul style=\"list-style-type:circle;\"><li> Encrypted Key received in the Get encryption API call.</li></ul></li> <li> encryptedpayload (string) – Required <ul style=\"list-style-type:circle;\"><li> Encrypted payload received in the Get encryption API call.</li></ul></li></ul> <ul> <li>completeOrder (boolean) - Optional <ul style=\"list-style-type:circle;\"><li> Field defines whether transaction should be completed by the SDK or you want to complete it separately after the approval of the order.</li></ul></li></ul>  <ul> <li>organisation_id (string) - Required <ul style=\"list-style-type:circle;\"><li> The ID of an organisation.</li></ul></li></ul>  \n \n Example\n  <pre>const payPalWrapper = new PayPalWrapper({\nencryptedkey: 'eyJraWQiOiJnM2FKMlJyUVNFYmM5WTVxUFowaDR0bVpr....', // Required\nencryptedpayload: 'eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0....', // Required\ncompleteOrder: 'true',\norganisation_id:'716ae509B5091A44baBaadeAc4b384e6b31d'\nsources to enable eventHandlers: { // Optional event handlers onApprove: (data, actions) => {\nconsole.log('Payment Approved', data); }, onError: (error) => {\nconsole.error('Payment Error:', error); }, onCancel: (error) => {\nconsole.error('Payment Error:', error); },}\n});</pre>\n\n \n \n \n  \n \n <h3 >Completing the order</h3>\n\n You can pass the completeOrder field as true to complete the order from the Apexx SDK after the approval is received from Paypal. If you wish to complete the order from your side via a server to server call then pass the completeOrder field as false. \n\n \n \n However if you chose to complete the order yourself then you will have to call the Apexx Complete Order API which will process the transaction and respond you back with the transaction data. \n\n \n See <a href=\"#operation/paypalCompletOrderUsingPOST\"><b>Complete Order API</b></a> for retrieving order details\n\n \n \n <b >Please Note:</b> If you are not doing an auto-capture then capture request will be required separately which you can find at below location. See <a href=\"#operation/captureRequestUsingPOST\"><b>Capture API Reference</b></a> \n \n \n \n \n <h2>Error handling </h2>\n \n \n <h3 >Error Categories</h3>\n\n Use onError callback to handle errors dynamically. Log errors to capture debugging information. \n\n <table><thead><tr><th>Error Type</th><th>Description</th></tr></thead><tbody><tr><td>INPUT_VALIDATION</td><td>Issues with provided parameters.</td></tr><tr><td>SECURITY</td><td>Security-related errors.</td></tr><tr><td>GENERIC</td><td>General errors not categorized elsewhere.</td></tr><tr><td>SCRIPT</td><td>Issues loading the SDK.</td></tr></tbody></table> \n \n <h3 >Error Messages</h3>\n\n <table><thead><tr><th>Code</th><th>Description</th></tr></thead><tbody><tr><td>MISSING_CONTAINER</td><td>IContainer not created , Instantiate container first..</td></tr><tr><td>INVALID_FORMAT</td><td>Invalid {type} format.</td></tr><tr><td>MALICIOUS_INPUT</td><td>Detected potentially malicious and sanitized.</td></tr><tr><td>GENERIC_ERROR</td><td>Error occurred during {type} operation.</td></tr> <tr><td>SCRIPT_ERROR</td><td>Failed to load {type} script instance.</td></tr></tbody></table> \n \n <h3>Error Statuses</h3>\n\n <table><thead><tr><th>Status</th><th>Description</th></tr></thead><tbody><tr><td>INVALID_MODE</td><td>400 (BadRequest)</td></tr><tr><td>MISSING_PAYMENT_CONTAINER</td><td>500 (Internal Server Error)</td></tr><tr><td>INVALID_FORMAT</td><td>400 (BadRequest)</td></tr><tr><td>MALICIOUS_INPUT</td><td>403 (Forbidden)</td></tr><tr><td>GENERIC_ERROR</td><td>500 (Internal Server Error)</td></tr><tr><td>SCRIPT_ERROR</td><td>500 (Internal Server Error)</td></tr></tbody></table>\n \n <pre>&lt;script src=\"https://paypalsandboxsdkdemo.apexx.global/ApexxSDK.min.js\"\nintegrity=\"sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxjwG6ODnY7XJ5SPPc4v5Z4tM\"\"\n crossorigin=\"anonymous\"&gt;&lt;/script&gt;</pre>\n \n \n \n <h2>Security considerations </h2>\n\n To ensure a secure integration of the Apexx SDK, merchants should follow these security best practices:\n \n\n \n \n\n \n <ul style=\"list-style-type:disc;\"><li>  Always load the SDK and make API calls over HTTPS to prevent interception of sensitive payment data.</li> \n \n\n \n \n\n \n <li>Validate and Sanitize Inputs </li>\n \n\n \n \n\n \n <li>Ensure that all user inputs, including payment details, are properly validated and sanitized to prevent injection attacks.</li> \n \n\n \n \n\n \n <li>Use Apexx’s server encryption API to encrypt sensitive payment data before transmitting it to the SDK. </li>\n \n\n \n \n\n \n <li>Use HTTPS when calling the api to encrypt the payload </li>\n \n\n \n \n\n \n <li>Implement Content Security Policy (CSP)</li> \n \n\n \n \n\n \n <li> Configure a strict CSP header to prevent unauthorized script execution.</li> \n \n\n \n \n\n \n <li>Never expose API keys or encryption credentials on the client-side. Store them securely on your backend. </li>\n \n\n \n \n\n \n <li>Restrict cross-origin access to ensure that only authorized domains can interact with your payment implementation. </li>\n \n\n \n \n\n \n <li>Always use the latest version of the SDK to benefit from security patches and improvements. Handle Errors Securely </li>\n \n\n \n \n\n \n <li>Avoid exposing detailed error messages to users, which could leak sensitive implementation details.</li></ul> \n"},{"name":"Get Transactions"},{"name":"Alternative Payment Methods"},{"name":"Create And Manage Card Token"},{"name":"SERVER-SIDE ENCRYPTION","description":"Server Side Encryption Controller"},{"name":"STANDALONE SERVICES"},{"name":"Transaction Update"},{"name":"Credit Transaction"},{"name":"Hosted Token","description":"Hosted Token Controller"},{"name":"Transaction Payment"},{"name":"Buy Now Pay Later","description":"BNPL Controller"},{"name":"Transaction Hosted Payment"}],"schemes":["https"],"paths":{"/api/3ds/authenticate":{"post":{"tags":["Transaction Payment"],"summary":"3DS Verify Authentication Request","description":"Verifies 3DS Authentication. This verifies if the 3DS enrolled card was authenticated and proceeds with the payment authorisation after successful 3DS Authentication.","operationId":"threeDsVerifyAuthUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"threeDsVerifyAuthRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/ThreeDsVerifyAuthRequestDTO"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"},{"name":"ORG-ID","in":"header","description":"ORG-ID","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/ThreeDsAuthenticationResponse"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/ThreeDsAuthenticationFailResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/bincheck":{"post":{"tags":["STANDALONE SERVICES"],"summary":"Validate BIN","description":"BIN Inspector returns Issuer information. Please contact your Implementation Manager to enable this service.","operationId":"checkBinUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"binRequestDTO","description":"binRequestDTO","required":true,"schema":{"$ref":"#/definitions/BinRequestDTO"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/BinResponseDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/cancel-hosted/{id} ":{"post":{"tags":["Transaction Update"],"summary":"Voids a hosted transaction","description":"To cancel a hosted transaction, use the id received in the hosted response","operationId":"cancelHostedRequestUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"name":"id","in":"path","description":"Id for cancel hosted request","required":true,"type":"string"},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/HostedCancelResponseDto"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/cancel/{cancelType}/{id}":{"post":{"tags":["Transaction Update"],"summary":"Voids an authorised transaction","description":"To cancel an authorised transaction, use the id received in the authorisation request","operationId":"cancelRequestUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"cancelRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/CancelRequestDTO"}},{"name":"cancelType","in":"path","description":"Cancel Type","required":true,"type":"string","enum":["payment","capture","refund","mandate","deposit","drawdown"]},{"name":"id","in":"path","description":"Id for cancel request","required":true,"type":"string"},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/CancelResponseDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/CancelProcessingErrorResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/cancel/{cancelType}/{id} ":{"post":{"tags":["Transaction Update"],"summary":"Voids a captured transaction","description":"To cancel a captured transaction, use the id received in the capture request","operationId":"cancelCaptureRequestUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"cancelRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/CancelCaptureRequestRedocDTO"}},{"name":"cancelType","in":"path","description":"Cancel Type","required":true,"type":"string","enum":["payment","capture","refund"]},{"name":"id","in":"path","description":"Id for capture request","required":true,"type":"string"},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/CancelResponseDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/CancelProcessingErrorResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/cancel/{cancelType}/{id}  ":{"post":{"tags":["Transaction Update"],"summary":"Voids a refund transaction","description":"To cancel a refunded transaction, use the id received in the refund request","operationId":"cancelRefundRequestUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"cancelRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/CancelRefundRequestRedocDTO"}},{"name":"cancelType","in":"path","description":"Cancel Type","required":true,"type":"string","enum":["payment","capture","refund"]},{"name":"id","in":"path","description":"Id for cancel request","required":true,"type":"string"},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/CancelResponseDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/CancelProcessingErrorResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/capture/{transactionId}":{"post":{"tags":["Transaction Update"],"summary":"Capture an authorised transaction","description":"Capture an authorised transaction","operationId":"captureRequestUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"captureRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/CaptureRequestDTO"}},{"name":"transactionId","in":"path","description":"The ID of the transaction","required":true,"type":"string"},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/CaptureResponseDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/ProcessingErrorResponseCaptureDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/complete_order/{transactionId}           ":{"post":{"tags":["SDK"],"summary":"Paypal Complete Order","description":"Completing Authorisation/capture of the transaction","operationId":"paypalCompletOrderUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"paypalCompleteOrder","description":" ","required":false,"schema":{"$ref":"#/definitions/PaypalCompleteOrder"}},{"name":"transactionId","in":"path","description":"The ID of the transaction","required":true,"type":"string"},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/PaypalCompleteOrderResponce"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/PaypalCompleteOrderFailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/PaypalCompleteOrderFailureResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/PaypalCompleteOrderResponce"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/PaypalCompleteOrderFailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/PaypalCompleteOrderFailureResponseDTO"}}}}},"/api/creditTransaction":{"post":{"tags":["Credit Transaction"],"summary":"Create a new Credit transaction","description":"Create a new Credit transaction","operationId":"createCreditTransactionUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"creditTransactionDTO","description":" ","required":false,"schema":{"$ref":"#/definitions/CreditTransactionDTO"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/CreditTransactionResponseDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/CreditProcessingErrorResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/creditTransaction/cancel/{transactionId}":{"put":{"tags":["Credit Transaction"],"summary":"Voids the created credit transactions","description":"Voids the created credit transactions","operationId":"cancelCreditTransactionUsingPUT","consumes":["application/json"],"produces":["*/*"],"parameters":[{"name":"transactionId","in":"path","description":"The ID of the transaction","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/CancelCreditTransactionResponse"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/CancelCreditFailureResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/encryptedpayload        ":{"post":{"tags":["SERVER-SIDE ENCRYPTION"],"summary":"Get Encrypted Payload","description":"Creates encrypted payload for the data sent in the request. Data should be sent in json format and supports key:value pair. Nested key value pairs are allowed.","operationId":"EncryptedPayloadUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"encryptedPayloadRequestDTO","description":" ","required":false,"schema":{"$ref":"#/definitions/EncryptedPayloadRequestDTO"}}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/EncryptedPayloadResponseDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/encryptedpayload           ":{"post":{"tags":["SDK"],"summary":"Paypal SDK Payment","description":"Make a transaction with Paypal request","operationId":"paypalSdkPaymentRequestUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"redocPaypalRequestDto","description":" ","required":false,"schema":{"$ref":"#/definitions/PaypalEncryptedRequest"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/EncryptedPayloadResponseDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/PaypalErrorResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/PaypalErrorResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/PaypalErrorResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/PaypalErrorResponseDTO"}}}}},"/api/payment ":{"post":{"tags":["Alternative Payment Methods"],"summary":"AfterPay Payment","description":"Make a transaction with afterPay request","operationId":"afterPayPaymentRequestUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"redocAfterPayRequestDTO","description":" ","required":false,"schema":{"$ref":"#/definitions/AfterPayRequestDTO"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/AfterPayResponse"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/AfterPayResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/payment  ":{"post":{"tags":["Transaction Payment"],"summary":" Encrypted Card Transaction","description":"Starts a new transaction with encrypted payload","operationId":"encryptedCardTransactionUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"encryptedCardTransaction","description":"  ","required":false,"schema":{"$ref":"#/definitions/EncryptedCardDTO"}},{"name":"EncryptedKey","in":"header","description":"Required when request body is encrypted","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/ThreeDsAuthenticationResponse"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/ThreeDsAuthenticationFailResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/payment   ":{"post":{"tags":["Transaction Payment"],"summary":"Authorises Payment Request.","description":"Authorise Payment Request. This provides a single interface for APM, Card and other payment methods. Method accepts payment request in encrypted or in clear text. In all cases Organisation and Currency or Account is required.","operationId":"authorizePaymentRequestUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"paymentRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/PaymentRequest"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/ThreeDsAuthenticationResponse"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/ThreeDsAuthenticationFailResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/payment    ":{"post":{"tags":["Alternative Payment Methods"],"summary":"ApplePay Payment","description":"Make a transaction with applePay request","operationId":"applePayPaymentRequestUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"redocApplePayRequestDto","description":" ","required":false,"schema":{"$ref":"#/definitions/EncryptedApplePayRequestDTO"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/ApplePayResponseDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTOApplepay"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTOApplepay"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTOApplepay"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/FailResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTOApplepay"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/payment      ":{"post":{"tags":["Alternative Payment Methods"],"summary":"GooglePay Payment","description":"Make a transaction with googlepay request","operationId":"googplepayPaymentUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"googlePayRequestDto","description":" ","required":false,"schema":{"$ref":"#/definitions/GooglePayRequestDTO"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/GooglePayResponseDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/GooglepayProcessingErrorDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/payment          ":{"post":{"tags":["Alternative Payment Methods"],"summary":"Dragonpay Payment","description":"Make a transaction with dragonpay request\n\n NOTE: In the response of payments API, merchant will receive a redirection URL where merchant has to redirect the customer.\"\n\n\n Customer will perform the authentication process on the redirection server and will be returned back to merchant server after authentication is completed.\"\n\n\n The status of the transaction at this stage will be \"AUTHORISED\".\n\n\n The transaction takes upto 120 seconds to get updated in Apexx system after authentication process is completed.\n\n\n Merchant can receive the final status of the transaction via webhook once the transaction is updated in APEXX system or you can use get_transaction API to get the transaction status after 120 seconds.","operationId":"dragonPayPaymentUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"dragonpayPaymentRequestDto","description":" ","required":false,"schema":{"$ref":"#/definitions/DragonpayPaymentRequestDTO"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/DragonpayPaymentResponseDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/PaypalErrorResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/PaypalErrorResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/PaypalErrorResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/DragonpayErrorResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/PaypalErrorResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/payment/bnpl ":{"post":{"tags":["Buy Now Pay Later"],"summary":"Create Order","description":"Create an order with the BNPL provider. This provides a single interface for all BNPL providers. In all cases Organisation and Currency is required","operationId":"validateBNPLHostedUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"hostedDTO","description":" ","required":false,"schema":{"$ref":"#/definitions/BNPLOrderRequest"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/BNPLOrderResponse"}},"201":{"description":"JSON representation of the related transaction - Redirect Response","schema":{"$ref":"#/definitions/CreateOrderRedirectResponse"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/BNPLOrderResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/payment/hosted ":{"post":{"tags":["Transaction Hosted Payment"],"summary":"Hosted Payment Request.","description":"Create a new transaction using hosted payment page.","operationId":"hostedPayUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"hostedTransationRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/HostedPayRequestRedocDTO"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/HostedPayResponseRedocDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/HostedPreTxnErrorResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/HostedPreTxnErrorResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/HostedPreTxnErrorResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/payment/hosted  ":{"post":{"tags":["Transaction Hosted Payment"],"summary":"Hosted DirectDebit Request.","description":"This is a Hosted Payment Request. This provides a single interface for Hosted APM and Card Payment. In both card and APM scenario a check out URL gets generated. In case of Direct Debit, bank page gets displayed on redirection where user has to select Bank details and on click of continue button to create mandate.","operationId":"hostedPayDirectDebitUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"createMandateRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/CreateMandateRequest"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"201":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/CommonResponseDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/CreateMandateFailureResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/CreateMandateResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/payment/hosted   ":{"post":{"tags":["Alternative Payment Methods"],"summary":"Paypal Payment","description":"Make a transaction with Paypal request","operationId":"paypalPaymentRequestUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"redocPaypalRequestDto","description":" ","required":false,"schema":{"$ref":"#/definitions/PaypalPaymentRequestDTO"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/PaypalPaymentResponseDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/PaypalErrorResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/PaypalErrorResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/PaypalErrorResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/PaypalFailureResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/PaypalErrorResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/PaypalErrorResponseDTO"}}}}},"/api/payment/hosted    ":{"post":{"tags":["Alternative Payment Methods"],"summary":"Ppro Bancontact Payment","description":"Make a transaction with bancontact request","operationId":"pproBancontactPaymentUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"pproBancontactPaymentRequestDTO","description":" ","required":false,"schema":{"$ref":"#/definitions/PproBancontactPaymentRequestDTO"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/PproBancontactPaymentResponseDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/PproBancontactPaymentResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/payment/hosted      ":{"post":{"tags":["Transaction Hosted Payment"],"summary":"Hosted Open Banking Request.","description":"This is an Open Banking Hosted Payment Request. The response will include a checkout URL. The customer will be able to complete the payment after being sent to the checkout URL.","operationId":"hostedPayOpenBankingUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"OpenBankingDepositRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/OpenBankingDepositRequest"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"201":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/OpenBankingCommonResponseDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/OpenBankingFailureResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailedResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailedResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/OpenBankingDepositResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailedResponseDTO"}}}}},"/api/payment/hosted       ":{"post":{"tags":["Alternative Payment Methods"],"summary":"Ppro Blik Payment","description":"Make a transaction with blik request","operationId":"pproBlikPaymentUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"pproBlikPaymentRequestDTO","description":" ","required":false,"schema":{"$ref":"#/definitions/PproBlikPaymentRequestDTO"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/PproBlikPaymentResponceDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/PproFailureResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/PproFailureResponse"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/PproFailureResponse"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/PproBlikFailedPaymentResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/PproFailureResponse"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/PproFailureResponse"}}}}},"/api/payment/hosted        ":{"post":{"tags":["Alternative Payment Methods"],"summary":"Ppro Giropay Payment","description":"Make a transaction with ppro giropay request","operationId":"pproGiroPaymentUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"pproGiroPaymentRequestDto","description":" ","required":false,"schema":{"$ref":"#/definitions/PproGiroPaymentRequestDTO"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/PproGiroPaymentResponseDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/PproGiroPaymentResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/payment/hosted         ":{"post":{"tags":["Alternative Payment Methods"],"summary":"Ppro Ideal Payment","description":"Make a transaction with ppro ideal request","operationId":"pproIdealPaymentUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"pproIdealPaymentRequestDto","description":" ","required":false,"schema":{"$ref":"#/definitions/PproIdealPaymentRequestDTO"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/PproIdealPaymentResponseDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/PproIdealPaymentResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/payment/hosted            ":{"post":{"tags":["Alternative Payment Methods"],"summary":"Ppro Pix Payment","description":"Make a transaction with pix request","operationId":"pproPixPaymentUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"pproPixPaymentRequestDTO","description":" ","required":false,"schema":{"$ref":"#/definitions/PproPixPaymentRequestDTO"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/PproPixPaymentResponceDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/PproFailureResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/PproFailureResponse"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/PproFailureResponse"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/PproPixFailedPaymentResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/PproFailureResponse"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/PproFailureResponse"}}}}},"/api/payment/hosted             ":{"post":{"tags":["Alternative Payment Methods"],"summary":"Paysafe Skrill Payment","description":"Make a transaction with paysafe Skrill request","operationId":"paysafeSkrillPaymentUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"paysafeSkrillPaymentRequestDTO","description":" ","required":false,"schema":{"$ref":"#/definitions/SkrillPaymentRequestDTO"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/SkrillPaymentResponseDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/PaysafeFailureResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/PaysafeFailureResponse"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/PaysafeFailureResponse"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/SkrillFailedPaymentResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/PaysafeFailureResponse"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/PaysafeFailureResponse"}}}}},"/api/payment/hosted              ":{"post":{"tags":["Alternative Payment Methods"],"summary":"Paysafecard Payment","description":"Make a transaction with paysafecard request","operationId":"paysafeCardPaymentUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"paysafeCardPaymentRequestDTO","description":" ","required":false,"schema":{"$ref":"#/definitions/PaysafecardPaymentRequestDTO"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/PaysafecardPaymentResponseDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/PaysafeFailureResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/PaysafeFailureResponse"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/PaysafeFailureResponse"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/PaysafecardFailedPaymentResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/PaysafeFailureResponse"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/PaysafeFailureResponse"}}}}},"/api/payment/hosted/select":{"post":{"tags":["Transaction Hosted Payment"],"summary":"Payment Selector Request","description":"Create a new transaction using payment selector to provide multiple options of payments to your customer.","operationId":"hostedPaymentSelectUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"paymentSelectorRequestRedocDTO","description":" ","required":false,"schema":{"$ref":"#/definitions/PaymentSelectorRequestRedocDTO"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/HostedPayResponseRedocDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/HostedPreTxnErrorResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/HostedPreTxnErrorResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/HostedPreTxnErrorResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/refund/{transactionId}":{"post":{"tags":["Transaction Update"],"summary":"Refund an authorised transaction","description":"Refund an authorised transaction","operationId":"refundRequestUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"refundRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/RefundRequestDTO"}},{"name":"transactionId","in":"path","description":"The ID of the transaction","required":true,"type":"string"},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/RefundResponseDTO"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"412":{"description":"Processing Errors","schema":{"$ref":"#/definitions/ProcessingErrorResponseRefundDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/token":{"post":{"tags":["Create And Manage Card Token"],"summary":"Token Creation","description":"Creates new token for given card details.\r\nReturns existing token if active token is present. If card details are encrypted, then just pass {\"encryptedPayload\" : \"string\"} in request body with EncryptedKey in the request header ","operationId":"createTokenUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"createTokenRequest","description":"createTokenRequest","required":true,"schema":{"$ref":"#/definitions/CreateTokenRequest"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"},{"name":"ORG-ID","in":"header","description":"ORG-ID","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/CreateTokenResponseDTO"}},"400":{"description":"Bad Request / Invalid Request","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/token ":{"post":{"tags":["Create And Manage Card Token"],"summary":"Create Encrypted Card Token","description":"Starts a new create card token with encrypted payload","operationId":"createEncryptedCardTokenUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"createEncryptedToken","description":"createEncryptedToken","required":true,"schema":{"$ref":"#/definitions/EncryptedCardTokenDTO"}},{"name":"EncryptedKey","in":"header","description":"Required when request body is encrypted","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/CreateTokenResponseDTO"}},"400":{"description":"Bad Request / Invalid Request","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/token/hosted":{"post":{"tags":["Hosted Token"],"summary":"hostedTokenPage","description":"Hosted Token","operationId":"hostedTokenUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"hostedTokenRequest","description":"hostedTokenRequest","required":false,"schema":{"$ref":"#/definitions/HostedTokenRequest"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/HostedTokenResponseDTO"}},"400":{"description":"Bad Request / Invalid Request","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/token/{cardToken}":{"delete":{"tags":["Create And Manage Card Token"],"summary":"Token Deactivation","description":"Deactivates the given card token","operationId":"deleteTokenUsingDELETE","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"cardToken","in":"path","description":"cardToken","required":true,"type":"string"},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"},{"name":"ORG-ID","in":"header","description":"ORG-ID","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/DeleteTokenResponseDTO"}},"400":{"description":"Bad Request / Invalid Request","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/transaction/list":{"post":{"tags":["Get Transactions"],"summary":"Get Transaction List by Date Range.","description":"Get Transaction List by Date Range.","operationId":"retrievePaymentListUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"request","description":" ","required":false,"schema":{"$ref":"#/definitions/PaymentListRequestDTO"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"},{"name":"ORG-ID","in":"header","description":"ORG-ID","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/ThreeDsAuthenticationResponse"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/transaction/organisation/{merchantReference}":{"get":{"tags":["Get Transactions"],"summary":"Get Transaction By Organisation and Merchant Reference","description":"Get Transaction By Organisation and Merchant Reference","operationId":"retrieveByMerchantRefUsingGET","consumes":["application/json"],"produces":["*/*"],"parameters":[{"name":"merchantReference","in":"path","description":"The Merchant Reference of the transaction","required":true,"type":"string"},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"},{"name":"ORG-ID","in":"header","description":"ORG-ID","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/ThreeDsAuthenticationResponse"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/transaction/page":{"post":{"tags":["Get Transactions"],"summary":"Get Transaction List by Date Range with Pagination.","description":"Get Transaction List by Date Range with Pagination.","operationId":"retrievePaymentListPaginationUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"request","description":" ","required":false,"schema":{"$ref":"#/definitions/PaginationPaymentListDTO"}},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"},{"name":"ORG-ID","in":"header","description":"ORG-ID","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/ThreeDsAuthenticationResponse"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}},"/api/transaction/{transactionId}":{"get":{"tags":["Get Transactions"],"summary":"Get transaction details By Id","description":"Get transaction details By Id","operationId":"getTransactionUsingGET","consumes":["application/json"],"produces":["*/*"],"parameters":[{"name":"transactionId","in":"path","description":"The ID of the transaction","required":true,"type":"string"},{"name":"X-APIKEY","in":"header","description":"X-APIKEY","required":true,"type":"string"},{"name":"ORG-ID","in":"header","description":"ORG-ID","required":true,"type":"string"}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/ThreeDsAuthenticationResponse"}},"400":{"description":"Bad / Invalid request\t","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"403":{"description":"Forbidden error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/FailureResponseDTO"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/FailureResponseDTO"}}}}}},"definitions":{"AccountHistoryDTO":{"type":"object","properties":{"first_use_of_shipping_address":{"type":"string","description":"Applicable when this is not a guest account."},"shipping_address_usage_date":{"type":"string","description":"Date when the shipping address for this transaction was first used. Recommended for Discover ProtectBuy. If firstUseOfShippingAddress is false and not a guest account, then this date is entered."}}},"AchCaptureRequestDTO":{"type":"object","properties":{"payment_method":{"type":"string","description":"Payment processor to process the payment","enum":["trustly"]}}},"Address":{"type":"object","properties":{"email":{"type":"string","description":"Email address of the card holder.\n\nNote: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(â€˜)"},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"},"address":{"type":"string","description":"Street address of the delivery customer."},"city":{"type":"string","description":"City of the delivery customer"},"state":{"type":"string","description":"A region / state / province for the address."},"postal_code":{"type":"string","description":"This is the recipient's postcode/zip.\n\nNote: Only alpha-numeric characters, Special characters allowed are hyphen(-) and single space"},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. \n\nNote: Alphabets upto two characters (e.g. GB, RU etc..)"}}},"AddressDetails":{"type":"object","properties":{"address":{"type":"string","description":"Street address of the delivery customer."},"city":{"type":"string","description":"City of the delivery customer"},"state":{"type":"string","description":"A region / state / province for the address."},"postal_code":{"type":"string","description":"This is the recipient's postcode/zip.\n\nNote: Only alpha-numeric characters, Special characters allowed are hyphen(-) and single space"},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. \n\nNote: Alphabets upto two characters (e.g. GB, RU etc..)"}}},"AddressLabelRedocDTO":{"type":"object","properties":{"first_name":{"type":"string","description":"This fields allows to provide a customized label name for address block first name field"},"last_name":{"type":"string","description":"This fields allows to provide a customized label name for address block last name field"},"email":{"type":"string","description":"This fields allows to provide a customized label name for address block email field"},"address":{"type":"string","description":"This fields allows to provide a customized label name for address block address field"},"city":{"type":"string","description":"This fields allows to provide a customized label name for address block city field"},"state":{"type":"string","description":"This fields allows to provide a customized label name for address block state field"},"postal_code":{"type":"string","description":"This fields allows to provide a customized label name for address block postal code field"},"country":{"type":"string","description":"This fields allows to provide a customized label name for address block country field"},"phone":{"type":"string","description":"This fields allows to provide a customized label name for address block phone field"}}},"AddressPlaceHolderRedocDTO":{"type":"object","properties":{"first_name":{"type":"string","description":"This fields allows to provide a customized placeholder name for address block first name field"},"last_name":{"type":"string","description":"This fields allows to provide a customized placeholder name for address block last name field"},"email":{"type":"string","description":"This fields allows to provide a customized placeholder name for address block email field"},"address":{"type":"string","description":"This fields allows to provide a customized placeholder name for address block address field"},"city":{"type":"string","description":"This fields allows to provide a customized placeholder name for address block city field"},"state":{"type":"string","description":"This fields allows to provide a customized placeholder name for address block state field"},"postal_Code":{"type":"string","description":"This fields allows to provide a customized placeholder name for address block postal code field"},"country":{"type":"string","description":"This fields allows to provide a customized placeholder name for address block country field"},"phone":{"type":"string","description":"This fields allows to provide a customized placeholder name for address block phone field"}}},"AdjustedAmount":{"type":"object","properties":{"indicator":{"type":"string","description":"Adjusted amount indicator code that indicates any miscellaneous charges incurred after the auto was returned or Audit indicator code that indicates any adjustment for mileage, fuel, auto damage, etc. made to a rental agreement and whether the cardholder was notified.","enum":["Drop-off charges","Delivery charges","Parking expenses","Extra hours","Violations","Multiple adjustments"]},"value":{"type":"string","description":"Adjusted Amount indicates whether any miscellaneous charges were incurred after the vehicle was returned."}}},"AfterPay":{"type":"object","required":["customer","gross_amount","items","payment_type"],"properties":{"payment_type":{"type":"string","enum":["Invoice","Account","Installment","Consolidatedinvoice"]},"gross_amount":{"type":"integer","format":"int64","description":"Total gross amount of order. Must match the grossUnitPrice * quantity of order items"},"net_amount":{"type":"integer","format":"int64","description":"Total net amount of order."},"items":{"type":"array","items":{"$ref":"#/definitions/ItemDetails"}},"customer":{"$ref":"#/definitions/AfterpayCustomer"},"delivery_customer":{"$ref":"#/definitions/AfterpayDeliveryCustomerDTO"},"risk_data":{"description":"Afterpay Risk Data","$ref":"#/definitions/RiskDataDTO"},"campaign":{"description":"Campaign information","$ref":"#/definitions/CampaignDTO"},"direct_debit":{"description":"Direct debit information","$ref":"#/definitions/DirectDebitDTO"},"installment":{"description":"Installment information","$ref":"#/definitions/InstallmentDTO"}}},"AfterPayRequestDTO":{"type":"object","required":["afterpay","capture_now","merchant_reference"],"properties":{"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"afterpay":{"$ref":"#/definitions/AfterPay"},"locale":{"type":"string","description":"Locale Code. Valid Values: en_GB and en_US"},"customer_ip":{"type":"string","description":"The IP address of the customer"},"recurring_type":{"type":"string","description":"This field is to be used only when a transaction is part of a series of recurring transactions. If it's the initial transaction, set the value to 'first', and if it's not, set it to 'recurring'. This field must not be included in transactions that will not be part of a series of repeated transactions. (All values are written in lowercase letters).","enum":["first","recurring","mit","cit","oneclick"]},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"}," billing_address":{"type":"array","description":"billingAddress ","items":{"$ref":"#/definitions/AfterpayBillingAddress"}},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"duplicate_check":{"type":"string","description":"This indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"}}},"AfterPayResponse":{"type":"object","required":["amount","merchant_reference"],"properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"string","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"errors":{"type":"array","items":{"$ref":"#/definitions/AfterpayErrorDTO"}},"customer_ip":{"type":"string","description":"The IP address of the customer"},"afterpay":{"$ref":"#/definitions/AfterpayBlockResponseDTO"},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"actions":{"type":"array","items":{"type":"string"}}," billing_address":{"type":"array","description":"billingAddress ","items":{"$ref":"#/definitions/AfterpayBillingAddress"}},"created_at":{"type":"string","description":"The time at which the transaction was created"},"fraud_predictions":{"type":"array","items":{"$ref":"#/definitions/FraudPredictions"}},"geo_locations":{"type":"array","description":"The latitude/longitude resolved from the customer's ip address","items":{"type":"integer","format":"int32"}},"last_status_update":{"type":"string","description":"The last time when the status of the transaction was updated"},"organisation_psp_name":{"type":"string","description":"The name of the processor as setup within the APEXX payment gateway. i.e. Merchant Name - Acquirer Name"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"status":{"type":"string","description":"Status of the transaction.","enum":["AUTHORISED","CAPTURED","DECLINED"]},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"device_information":{"description":"deviceInformation","$ref":"#/definitions/deviceInformation"},"preauth_check":{"$ref":"#/definitions/FraudCheckResponse"},"request_id":{"type":"string","description":"Unique Id for each request."},"duplicate_check":{"type":"string","description":"This is the duplicate check of request, 'true' in case of request is duplicate"},"customer":{"description":"customer","$ref":"#/definitions/AuthorisePaymentCustomer"},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"},"aft_type":{"type":"string","description":"Type of Account Funding transaction.\n\nSVWF - Stored value wallet funding\n\nSDWT - Staged digital wallet pre-funding\n\nA2A - Account-to-account (me-to-me) money transfer\n\nP2P - Person-to-Person (P2P) money transfer\n\nCLA - Cryptocurrency and liquid assets\n\nBIT - Financial Institution offe red Bank-Initiated P2P Money Transfer\n\nFD - Funds Disbursement\n\nFT - Funds Transfer\n\nPD - Payroll Disbursement\n\nPL - Prepaid load / reload2\n\nB2B - Business to Business\n\nCBP - Card Bill Payment\n\nGP - Gambling Payouts\n\nGFD - General funds disbursement\n\nGD - Government Disbursement\n\nLP - Loyalty Payments\n\nMD - Funding small business disbursements\n\nMP - Merchant Payment\n\nNCBP - Non card bill payment\n\nOGP - Online gaming payout\n\nZDA - Zero dollar authorisation\n\nTO - Top off","enum":["SVWF","SDWT","A2A","P2P","CLA","BIT","FD","FT","PD","TPL","B2BCBP","GP","GFD","GD","LP","MD","MP","NCBP","OGP","ZDA","TO"]}}},"AfterpayBillingAddress":{"type":"object","properties":{"first_name":{"type":"string","description":"First name of the card holder."},"last_name":{"type":"string","description":"Last name of the card holder."},"email":{"type":"string","description":"Email address of the card holder.\n\nNote: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(â€˜)"},"address":{"type":"string","description":"Street address of the card holder."},"city":{"type":"string","description":"City of the card holder."},"state":{"type":"string","description":"A region / state / province for the address."},"postal_code":{"type":"string","description":"A postal code for the address. \" \n\n Note: All Characters are allowed"},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. \n\nNote: Alphabets upto two characters (e.g. GB, RU etc..)"},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"}}},"AfterpayBlockResponseDTO":{"type":"object","required":["customer","gross_amount","payment_type"],"properties":{"payment_type":{"type":"string","enum":["Invoice","Account","Installment","Consolidatedinvoice"]},"gross_amount":{"type":"integer","format":"int64","description":"Total gross amount of order. Must match the grossUnitPrice * quantity of order items"},"net_amount":{"type":"integer","format":"int64","description":"Total net amount of order."},"customer":{"$ref":"#/definitions/AfterpayCustomer"},"delivery_customer":{"$ref":"#/definitions/DeliveryCustomerDTO"},"expiration_date":{"type":"string"},"reservation_id":{"type":"string"},"risk_check_messages":{"$ref":"#/definitions/RiskCheckMessagesDTO"}}},"AfterpayCustomer":{"type":"object","required":["type"],"properties":{"customer_identification_number":{"type":"string","description":"National ID number (if the customer is a physical person). Registration number (if the customer is a company)."},"email":{"type":"string","description":"Email address of the customer\n\nNote: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(‘)"},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"},"salutation":{"type":"string","description":"Salutation of the customer","enum":["Mr","Mrs","Miss"]},"type":{"type":"string","description":"Type of the customer. Customer category."},"care_of":{"type":"string","description":"Care of. Intermediary who is responsible for transferring a piece of mail between the postal system and the final addressee. For example Jane c/o John (“Jane at John's address”). This field has to be used for company, authority and organization names as well - e. g. \"Sportverein Blau-Weiß e.V."},"date_of_birth":{"type":"string","description":"The date of birth of a customer, 10 characters, ISO-8601 (YYYY-MM-DD)."},"customer_number":{"type":"string","description":"This is the customer's account number."}}},"AfterpayDeliveryCustomerDTO":{"type":"object","required":["type"],"properties":{"first_name":{"type":"string","description":"First name of the delivery customer."},"last_name":{"type":"string","description":"The last name(s) of recipient's."},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"},"salutation":{"type":"string","description":"Salutation of the customer"},"type":{"type":"string","description":"Type of the customer. Customer category."},"care_of":{"type":"string","description":"Care of. Intermediary who is responsible for transferring a piece of mail between the postal system and the final addressee. For example Jane c/o John (“Jane at John's address”). This field has to be used for company, authority and organization names as well - e. g. \"Sportverein Blau-Weiß e.V."},"address":{"type":"string","description":"Street address of the delivery customer."},"city":{"type":"string","description":"City of the delivery customer"},"postal_code":{"type":"string","description":"A postal code for the address. \" \n\n Note: All Characters are allowed"},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address.\n\nNote: Alphabets upto two characters (e.g. GB, RU etc.."}}},"AfterpayErrorDTO":{"type":"object","properties":{"error_code":{"type":"string","description":"An error code assigned by Afterpay."},"error_message":{"type":"string","description":"An error message assigned by Afterpay."},"field_reference":{"type":"string","description":"Reference to the field that caused an error."}}},"Agency":{"type":"object","properties":{"agency_code":{"type":"string","description":"Travel agency code"},"agency_name":{"type":"string","description":"Travel agency name"},"agency_address":{"type":"string","description":"Street address of the card holder. \n\nNote:  All characters support "},"agency_city":{"type":"string","description":"City of the card holder.\n\nNote: Only alphabetic characters, Special characters allowed are (hyphen(-), underscore(_), dot(.), comma(,))"},"agency_state":{"type":"string","description":"A region / state / province for the address.\n\nNote: Only alphabetic characters, Special characters allowed are (hyphen(-), underscore(_), dot(.), comma(,))"},"agency_postal_code":{"type":"string","description":"A postal code for the address.\n\nNote: Only alpha-numeric characters"},"agency_country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address\n\n. Note: Alphabets upto two characters (e.g. GB, RU etc..)"}}},"ApplePay":{"type":"object","required":["cryptogram","dpan","expiry_month","expiry_year"],"properties":{"cryptogram":{"type":"string","description":"Applepay online payment cryptogram for 3d secure which maps to the paymentData.onlinePaymentCryptogram property in the encrypted payment data."},"expiry_month":{"type":"string","description":"Card expiry month - A string representing the month, valid values are 01 to 12. Maps to the applicationExpirationDate property in the encrypted payment data. Need to send only Month from the received data."},"expiry_year":{"type":"string","description":"Card expiry year - A string representing the last two digits of the year, e.g. 19 for 2019. Maps to the applicationExpirationDate property in the encrypted payment data. Need to send only Year from the received data."},"dpan":{"type":"string","description":"Device specific PAN - Maps to the applicationPrimaryAccountNumber property in the encrypted payment data."},"eci":{"type":"string","description":"Electronic Commerce Indicator - Maps to the paymentData.eciIndicator property in the encrypted payment data."},"applepay_transaction_id":{"type":"string","description":"Applepay Transaction id received from applepay."}}},"ApplePayResponseDTO":{"type":"object","required":["amount","card"],"properties":{"card":{"$ref":"#/definitions/RiskCheckCardDetails"},"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"blocked":{"type":"boolean","example":false,"description":"True if the transaction has been blocked by a ruleset, false otherwise"},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"customer_ip":{"type":"string","description":"The IP address of the customer"},"pares":{"type":"string","description":"The unmodified PaRes value as received after the customer was redirected back from 3DS Authentication."},"recurring_type":{"type":"string","description":"The value used to flag how the acquirer/ issuer should consider the transaction","enum":["first","recurring","oneclick","mit","cit","install"]},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"actions":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string","description":"The time at which the transaction was created"},"cvv_present":{"type":"boolean","example":false,"description":"True if the card was used with a cvv"},"fees":{"type":"array","items":{"type":"integer","format":"int32"}},"geo_locations":{"type":"array","description":"The latitude/longitude resolved from the customer's ip address","items":{"type":"integer","format":"int32"}},"card_brand":{"type":"string","description":"Card brand for the card used for processing","enum":["amex","diners","discover","elo","jcb","maestro","mastercard","visa","visa electron","carte bancaire"]},"last_status_update":{"type":"string","description":"The last time when the status of the transaction was updated"},"issuer_name":{"type":"string","description":"Card Issuer Name for this transaction"},"billing_address":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/BillingAddressApplepay"},"issuer_country":{"type":"string","description":"Issuing country of the card. A 2-letter ISO3166 alpha-2. Acquirer country code"},"delivery_address":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/deliveryAddress"},"organisation_psp_name":{"type":"string","description":"The name of the processor as setup within the APEXX payment gateway. i.e. Merchant Name - Acquirer Name"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"details":{"$ref":"#/definitions/Details"},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"payment product = \"card\"":{"type":"string","description":"The payment product corresponding to this transaction"},"status":{"type":"string","description":"Status of the transaction.","enum":["AUTHORISED","CAPTURED","DECLINED"]},"fraud_predictions":{"type":"array","items":{"$ref":"#/definitions/FraudPredictions"}},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"three_ds":{"description":"Enroll a given transaction for 3D-secure to verify whether authentication is supported for the card being used.","$ref":"#/definitions/ThreeDSCardEnroll"},"cvv_result":{"type":"string","description":"CVV verification result, as returned by the processor."},"avs_result":{"type":"string","description":"Address verification services result, as returned by the processor"},"acquirer_name":{"type":"string","description":"The name of the acquirer as setup within the APEXX payment gateway."},"external_risk_data":{"$ref":"#/definitions/FraudCheckResponse"}}},"AuthorisePaymentCustomer":{"type":"object","properties":{"account_number":{"type":"string","description":"This is the recipient's account number."},"customer_id":{"type":"string","description":"The customer_id of recipient's."},"date_of_birth":{"type":"string","description":"The date of birth of a customer, 10 characters, ISO-8601 (YYYY-MM-DD)."},"last_name":{"type":"string","description":"Last name of the customer."},"postal_code":{"type":"string","description":"This is the recipient's postcode/zip.\n\nNote: Only alpha-numeric characters, Special characters allowed are hyphen(-) and single space"}}},"BNPL":{"type":"object","properties":{"net_amount":{"type":"integer","format":"int32","description":"Total net amount of order charged without a decimal place."},"payment_type":{"type":"string","description":"Specifies the repayment plan type for providers which offer multiple options.","enum":["installment","invoice","Direct Debit"]},"payment_type_data":{"type":"array","items":{"$ref":"#/definitions/PaymentTypeData"}}}},"BNPL:BillingAddress":{"type":"object","required":["address","city","country","first_name","last_name","postal_code","state"],"properties":{"first_name":{"type":"string","description":"First name of the customer."},"last_name":{"type":"string","description":"Last name of the customer."},"address":{"type":"string","description":"Street address of the customer."},"address2":{"type":"string","description":"Address details of customer"},"city":{"type":"string","description":"City of the customer."},"state":{"type":"string","description":"A region / state / province for the address."},"postal_code":{"type":"string","description":"A postal/zip code for the address. Note: Only alpha-numeric characters, Special characters allowed are hyphen(-) and spaces."},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. \n\nNote: Alphabets upto two characters (e.g. GB, RU etc..)"},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"}}},"BNPL:Customer":{"type":"object","required":["email","phone"],"properties":{"customer_identification_number":{"type":"string","description":"Identification number associated to the identification type specified"},"identification_type":{"type":"string","description":"Identification type referenced above.","enum":["SSN","passport","driverslicense","idcard"]},"email":{"type":"string","description":"Email address of the customer \n \n Note: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(‘)"},"phone":{"type":"string","description":"Numbers and plus (+) only, no dash or any other separator.\n \n Note: Length - min(3) & max(20)"},"salutation":{"type":"string","description":"Salutation of the customer e.g. \"Mr\", \"Mrs\", \"Dr\" etc"},"type":{"type":"string","description":"Type of customer. Customer category","enum":["company","person"]},"date_of_birth":{"type":"string","description":"The date of birth of a customer, 10 characters, ISO-8601 (YYYY-MM-DD)."},"customer_number":{"type":"string","description":"This is the customer's account number."},"gender":{"type":"string","description":"The gender of the customer","enum":["male","female","other","prefer not to say"]},"employment_type":{"type":"string","description":"The employment type of the customer","enum":["fulltime","parttime","contractor","student","retired","unemployed","other"]},"residential_status":{"type":"string","description":"Customer residential satus","enum":["homeowner","tenant","livingwithparents"]}}},"BNPL:DeliveryAddress":{"type":"object","properties":{"first_name":{"type":"string","description":"First name of the recipient."},"last_name":{"type":"string","description":"Last name of the recipient."},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"},"salutation":{"type":"string","description":"Salutation of the customer e.g. \"Mr\", \"Mrs\", \"Dr\" etc."},"type":{"type":"string","description":"Type of the customer. Customer category.","enum":["company","person"]},"care_of":{"type":"string","description":"Care of. Intermediary who is responsible for transferring a piece of mail between the postal system and the final addressee. For example Jane c/o John (“Jane at John's address”). This field has to be used for company, authority and organization names as well - e. g. \"Sportverein Blau-Weiß e.V."},"address":{"type":"string","description":"Street address of the delivery."},"address2":{"type":"string","description":"Address details of the delivery."},"city":{"type":"string","description":"City of the delivery customer."},"state":{"type":"string","description":"A region / state / province for the address."},"postal_code":{"type":"string","description":"A postal/zip code for the address. Note: Only alpha-numeric characters, Special characters allowed are hyphen(-) and spaces."},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. \n\nNote: Alphabets upto two characters (e.g. GB, RU etc..)"},"method":{"type":"string","description":"The way the order is being delivered","enum":["delivery","collection","email"]}}},"BNPL:Items":{"type":"object","required":["gross_unit_price","item_description","net_unit_price","product_id","quantity"],"properties":{"item_type":{"type":"string","description":"This field is specifying from a pre-defined subset of values","enum":["Product","Discount","Tax","Shipping"]},"product_id":{"type":"string","description":"Merchant Product identification number"},"group_id":{"type":"string","description":"Item group ID. The group this item belongs to. Provided by the merchant"},"item_description":{"type":"string","description":"Product name. For example \"Black music player 64GB\". Everything over 255 characters will be truncated"},"net_unit_price":{"type":"integer","format":"int32","description":"Net unit price.\n \n <b>Note:</b> net_unit_price is only required if the vat_percent is not provided."},"gross_unit_price":{"type":"integer","format":"int32","description":"Gross price per item"},"quantity":{"type":"integer","format":"int32","description":"Quantity"},"vat_percent":{"type":"number","format":"float","description":"Tax percent"},"vat_amount":{"type":"integer","format":"int32","description":"Tax amount per item"},"discount":{"type":"integer","format":"int32","description":"Discount amount per item."},"product_image_url":{"type":"string","description":"URL for the image of this product."},"product_url":{"type":"string","description":"URL to the product"},"additional_information":{"type":"string","description":"Extended description of the order item"},"delivery":{"type":"string","description":"The way the item is being delivered","enum":["email","delivery","collection"]}}},"BNPL:RedirectUrls":{"type":"object","required":["cancelled","failed","success"],"properties":{"success":{"type":"string","description":"The return url to which the customer is redirected after an transaction is processed."},"failed":{"type":"string","description":"The return url to which the customer is redirected after an transaction is unsuccessful."},"cancelled":{"type":"string","description":"The return url to which the customer is redirected after failing to complete provider registration and payment confirmation steps."}}},"BNPL:RiskData":{"type":"object","properties":{"acquisition_channel":{"type":"string","description":"Specify the channel which consumer has used for accessing merchant page.","enum":["NotSet","Advertisment","SocialNetwork","Direct","SearchEngine","Other"]},"customer_card_classification":{"type":"string","description":"Specifies the level of the loyalty card (e.g Gold member)"},"customer_card_since":{"type":"string","description":"The date when the loyalty card was issued to the customer, 10 characters, ISO-8601 (YYYY-MM-DD)"},"customer_classification":{"type":"string","description":"Customer reputation (e.g. VIP client)"},"customer_individual_score":{"type":"string","description":"The customer's individual risk score provided by the merchant. Accepts a number from -10000 to 10000 (can be encased in quotation marks or not), or a single case-insensitive letter from 'a' to 'z'."},"customer_since":{"type":"string","description":"Date the Customer first used the Merchant. 10 characters, ISO-8601 (YYYY-MM-DD)"},"existing_customer":{"type":"string","description":"Is customer an existing customer for merchant","enum":["true","false"]},"has_customer_card":{"type":"string","description":"Shows if customer has loyalty card","enum":["true","false"]},"marketing_opt_in":{"type":"string","description":"Shows if merchant is allowed to send marketing information to customer","enum":["true","false"]},"number_of_transactions":{"type":"integer","format":"int32","description":"Total number of successful purchases that have been made by the specific consumer"},"profile_tracking_id":{"type":"string","description":"Unique Id of the device for profile tracking"},"verified_customer_identification":{"type":"string","description":"Is identification verified","enum":["true","false"]},"order_history":{"type":"array","items":{"$ref":"#/definitions/customer_historic_orders"}}}},"BNPL:TravelData":{"type":"object","properties":{"pnr":{"type":"string","description":"Reference number for the booking."},"booking_amount":{"type":"number","description":"Total amount of booking."},"booking_type":{"type":"string","description":"The type of booking being made.","enum":["hotel","rental","car","cruise","flight","train","coach"]},"passengers":{"type":"array","description":"Array of passenger names","items":{"$ref":"#/definitions/Passengers"}},"legs":{"type":"array","description":"Array of legs of booking.","items":{"$ref":"#/definitions/Legs"}},"discount_percentage":{"type":"number","description":"Percentage dicount to be applied to booking"},"loyalty_number":{"type":"string","description":"Customer loyalty scheme number"},"points":{"type":"array","description":"Loyalty points/scheme details","items":{"$ref":"#/definitions/Point"}},"travel_mode_name":{"type":"string","description":"Name of your mode of travel such as Airline, Ferry, Rail etc."},"travel_mode_numeric_code":{"type":"integer","format":"int32","description":"Mode of Travel (Airline, Ferry, Rail etc.) numeric code"},"agency":{"description":"Agency","$ref":"#/definitions/Agency"},"ticket_number":{"type":"string","description":"Ticket/document number, or PNR locator code."},"check_digit":{"type":"integer","format":"int32","description":"Check digit for the ticket number with Discover and Diners Club, a valid ticket number has these characteristics:<ul><li>The value is numeric.</li><li>The first three digits are a valid IATA2 license plate carrier code.</li><li>The last digit is a check digit or zero (0).</li><li>All remaining digits are nonzero.</li></ul>"},"is_restricted":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction","enum":["true","false"]},"transaction_type":{"type":"integer","format":"int32","description":"Type of charge."},"extended_payment_code":{"type":"string","description":"Airline/Travel Mode process identifier. This value is the airline’s three-digit IATA1 code which is used to process extended payment airline tickets"},"passenger_title":{"type":"string","description":"Title of the passenger"},"passenger_name":{"type":"string","description":"Name of passenger.\n <b>Note:</b> Only alphabetic characters, Special characters allowed are (hyphen(-), underscore(_), dot(.), comma(,) and apostrophe(‘))."},"passenger_age_group":{"type":"string","description":"Travelling passenger's age group.","enum":["16-24","25-34","35-44","45-54","55-64","65 and up","Unknown"]},"is_lead":{"type":"string","description":"Indicates whether the passenger is a lead passenger within the group.","enum":["true","false"]},"customer_code":{"type":"string","description":"<ol><li>Reference number or code that identifies the cardholder.</li><li>Code provided by the cardholder.</li><li>Address of the ticket issuer. The first 13 characters will appear onthe cardholder’s statement.</li><li>Customer reference..</li></ol>"},"document_type":{"type":"integer","format":"int32","description":"Airline/Travel mode document type code that specifies the purpose of the transaction. For the possible values, see Appendix A, \"Airline Document Type Codes\"."},"document_number":{"type":"string","description":"Ticket number or a value that might be a booking reference number."},"travel_legs_count":{"type":"integer","format":"int32","description":"Number of travel legs. Numbering for the travel legs: 0 to 3."},"invoice_number":{"type":"string","description":"Invoice number of the ticket."},"invoice_date":{"type":"string","description":"Invoice date. The format is YYYY-MM-DD. If this value is included in the request, it is used in the creation of the invoice number."},"additional_charge_description":{"type":"string","description":"Description of the charge."},"total_fee_amount":{"type":"integer","format":"int32","description":"Total fee for the ticket."},"clearing_sequence":{"type":"integer","format":"int32","description":"Total number of captures when requesting multiple partial captures for one authorisation."},"clearing_count":{"type":"integer","format":"int32","description":"Total number of clearing count associated with the authorisation request."},"total_clearing_amount":{"type":"integer","format":"int32","description":"Total clearing amount for all transactions in the clearing count set."},"passenger_count":{"type":"integer","format":"int32","description":"Number of passengers for whom the ticket was issued."},"reservation_system_code":{"type":"string","description":"Code that specifies the computerized reservation system used to make the reservation and purchase the ticket."},"process_identifier":{"type":"string","description":"Airline/Travel mode process identifier. This value is the airline’s three-digit IATA1 code which is used to process extended payment airline tickets."},"issue_date":{"type":"string","description":"Date on which the ticket was issued. Format: YYYY-MM-DD"},"is_eticket":{"type":"string","description":"Indicates whether the issued ticket was electronic or not.","enum":["true","false"]},"original_ticket_number":{"type":"string","description":"Original ticket number when the transaction is for a replacement ticket."},"purchase_type":{"type":"string","description":"EXC: Exchange ticket, MSC: Miscellaneous, REF: Refund, TKT: Ticket. \n\n Type of purchase","enum":["EXC","MSC","REF","TKT"]},"credit_reason":{"type":"string","description":"valid values :\"A\"\"B\"\"C\"\"O\"\"P\"\r\nA: Cancellation of the ancillary passenger transport purchase, B: Cancellation of the airline ticket and the passenger transport ancillary purchase, C: Cancellation of the airline ticket, O: Other, P: Partial refund of the airline ticket.\r\nReason for the credit.","enum":["A","B","C","O","P"]},"ticket_change_indicator":{"type":"string","description":"C: Change to the existing ticket., \n N: New ticket.\n \n Type of update.","enum":["C","N"]},"plan_number":{"type":"string","description":"Plan number based on the fare. This value is provided by the airline/travel mode provider"},"arrival_date":{"type":"string","description":"Inbound arrival date and time of the booking. Format: YYYY-MM-DD HH:mm:ss"},"restricted_ticket_description":{"type":"string","description":"Text that describes the ticket limitations, such as nonrefundable."},"exchange_ticket_amount":{"type":"integer","format":"int32","description":"Amount of the exchanged ticket."},"exchange_ticket_fee_amount":{"type":"integer","format":"int32","description":"Fee for exchanging the ticket."},"reservation_type":{"type":"string","description":"Type of journey such as one way or round trip."},"boarding_fee_amount":{"type":"number","description":"Boarding fee."},"affiliate_name":{"type":"string","description":"Unique affiliate name identifier. This will help us support our merchant by attaching more details with the transaction."}}},"BNPLOrderRequest":{"type":"object","required":["amount","billing_address","bnpl","currency","customer","items","merchant_reference","net_amount","organisation","redirect_urls"],"properties":{"organisation":{"type":"string","description":"The ID of the Organisation. Must be submitted along with currency."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed.  A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"integer","format":"int32","description":"Total gross amount of order charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details.. Must match the total of all order items\""},"net_amount":{"type":"integer","format":"int32","description":"Total net amount of order charged without a decimal place."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show against the customers order"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"locale":{"type":"string","description":"Language UTF-8 locale code. e.g. en_GB and en_US"},"customer_ip":{"type":"string","description":"The IP address of the customer"},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","unknown"]},"bnpl":{"description":"Buy Now Pay Later provider details","$ref":"#/definitions/BNPL"},"redirect_urls":{"description":"Redirection URL details","$ref":"#/definitions/BNPL:RedirectUrls"},"items":{"type":"array","items":{"$ref":"#/definitions/BNPL:Items"}},"customer":{"description":"Customer details","$ref":"#/definitions/BNPL:Customer"},"billing_address":{"description":"Billing address details of customer.","$ref":"#/definitions/BNPL:BillingAddress"},"delivery_address":{"description":"Delivery address for the order","$ref":"#/definitions/BNPL:DeliveryAddress"},"risk_data":{"description":"Risk Data","$ref":"#/definitions/BNPL:RiskData"},"travel_data":{"description":"Travel data - data relating to hotel bookings, cruise/trip details/car rental/accomodation rental","$ref":"#/definitions/BNPL:TravelData"},"subscriptions":{"description":"Subscription details","$ref":"#/definitions/Subscription"},"duplicate_check":{"type":"string","description":"This indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours.","enum":["true","false"]},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction. (Where supported by payment provider - Klarna Direct , Affirm)","enum":["true","false"]}}},"BNPLOrderResponse":{"type":"object","properties":{"payment_flow":{"type":"string","description":"The type of integration with the BNPL provider, i.e. server to server or URL redirect to provider login page","enum":["direct","redirect"]},"reason_code":{"type":"string","description":"An authorisation code assigned by the processing platform."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"organisation":{"type":"string","description":"The ID of the Organisation. Must be submitted along with currency."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed.  A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"integer","format":"int32","description":"Total gross amount of order charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details.. Must match the total of all order items"},"net_amount":{"type":"integer","format":"int32","description":"Total net amount of order charged without a decimal place."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show against the customers order"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"locale":{"type":"string","description":"Language UTF-8 locale code. e.g. en_GB and en_US"},"customer_ip":{"type":"string","description":"The IP address of the customer"},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","unknown"]},"status":{"type":"string","description":"Status of the transaction.","enum":["AUTHORISED","CAPTURED","DECLINED"]},"bnpl":{"description":"Buy Now Pay Later provider details","$ref":"#/definitions/BNPL_"},"items":{"type":"array","items":{"$ref":"#/definitions/Items_"}},"customer":{"description":"Customer Details","$ref":"#/definitions/Customer_"},"billing_address":{"description":"Billing address details for the customer","$ref":"#/definitions/Billing_Address"},"delivery_address":{"description":"Delivery address for the order","$ref":"#/definitions/BNPL:DeliveryAddress"},"risk_data":{"description":"Risk Data","$ref":"#/definitions/Risk_Data"},"travel_data":{"description":"Travel data - data relating to hotel bookings, cruise/trip details/car rental/accomodation rental","$ref":"#/definitions/BNPL:TravelData"},"errors":{"type":"array","description":"Gateway Errors","items":{"$ref":"#/definitions/PspErrorDTO"}},"duplicate_check":{"type":"string","description":" This indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already ","enum":["true","false"]},"created_at":{"type":"string","description":"The time at which the transaction was created"},"last_status_update":{"type":"string","description":"The last time when the status of the transaction was updated"},"trace_id":{"type":"string","description":"Transaction log ID"}}},"BNPL_":{"type":"object","properties":{"payment_method":{"type":"string","description":"Name of the BNPL provider.\r\n"},"payment_type":{"type":"string","description":"Specifies the repayment plan type for providers which offer multiple options.","enum":["installment","invoice","Direct Debit"]},"payment_type_data":{"type":"array","items":{"$ref":"#/definitions/PaymentTypeData"}}}},"Bancontact":{"type":"object","required":["account_holder_name","redirection_parameters"],"properties":{"account_holder_name":{"type":"string","description":"Name of the account holder.\n\nNote: Only numeric characters are not support"},"redirection_parameters":{"$ref":"#/definitions/PproRedirectionParameterDTO"}}},"BancontactPayCustomer":{"type":"object","properties":{"address":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/bancontactAddressDetails"},"date_of_birth":{"type":"string","description":"The date of birth of a customer, 10 characters, ISO-8601 (YYYY-MM-DD)."},"email":{"type":"string","description":"Email address of the customer.\n\nNote: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(â€˜)"},"first_name":{"type":"string","description":"First name of the customer."},"last_name":{"type":"string","description":"Last name of the customer."},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"}}},"BancontactResponse":{"type":"object","properties":{"account_holder_name":{"type":"string","description":"Name of the account holder.\n\nNote: Only numeric characters are not support"},"payment_purpose":{"type":"string","description":"Descriptor for response that consumer will receive."}}},"BaseResponseDTO":{"type":"object","properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"organisation_id":{"type":"string","description":"The ID of an organisation."},"code":{"type":"string","description":"An alphanumeric code which uniquely identify an error."},"status":{"type":"string","description":"It will indicate what is the final result of the request."},"message":{"type":"string","description":"A description of the response."},"timestamp":{"type":"integer","format":"int64","description":"Current timestamp."},"trace_id":{"type":"string","description":"Unique trace id created by APEXX platform to trace this request."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."}}},"BasicCardDetail":{"type":"object","properties":{"card_number":{"type":"string","description":"The new card number, also known as PAN."},"expiry_month":{"type":"string","description":"Card expiry month. A string representing the month, valid values are 01 to 12."},"expiry_year":{"type":"string","description":"Card expiry year. A string representing the last two digits of the year, e.g. 19 for 2019."},"card_scheme":{"type":"string","description":"Card scheme corresponding to this transaction"}}},"BillingAddress":{"type":"object","properties":{"first_name":{"type":"string","description":"First name of the card holder."},"last_name":{"type":"string","description":"Last name of the card holder."},"email":{"type":"string","description":"Email address of the card holder.\n\nNote: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(â€˜)"},"address":{"type":"string","description":"Street address of the card holder."},"city":{"type":"string","description":"City of the card holder."},"state":{"type":"string","description":"A region / state / province for the address."},"postal_code":{"type":"string","description":"A postal code for the address.\n\nNote: Only alpha-numeric characters, Special characters allowed are hyphen(-) and spaces."},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. \n\nNote: Alphabets upto two characters (e.g. GB, RU etc..)"},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"}}},"BillingAddressApplepay":{"type":"object","properties":{"address":{"type":"string","description":"Street address of the card holder."},"city":{"type":"string","description":"City of the card holder."},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. \n\nNote: Alphabets upto two characters (e.g. GB, RU etc..)"},"email":{"type":"string","description":"Email address of the card holder.\n\nNote: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(â€˜)"},"first_name":{"type":"string","description":"First name of the card holder."},"last_name":{"type":"string","description":"Last name of the card holder."},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"},"postal_code":{"type":"string","description":"A postal code for the address."},"state":{"type":"string","description":"A region / state / province for the address."}}},"BillingAddressDetails":{"type":"object","properties":{"first_name":{"type":"string","description":"First name of the card holder"},"last_name":{"type":"string","description":"Last name of the card holder"},"email":{"type":"string","description":"Email address of the card holder"},"address":{"type":"string","description":"Street address of the card holder"},"city":{"type":"string","description":"City of the card holder"},"state":{"type":"string","description":"A region / state / province for the address"},"postal_code":{"type":"string","description":"A postal code for the address"},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. Country code for the address. Note: Alphabets upto two characters (e.g. GB, RU etc..)"},"phone":{"type":"string","description":"Numbers only, no dash or any other separator"}}},"Billing_Address":{"type":"object","properties":{"first_name":{"type":"string","description":"First name of the customer."},"last_name":{"type":"string","description":"Last name of the customer."},"address":{"type":"string","description":"Street address of the customer."},"address2":{"type":"string","description":"Address details of customer"},"city":{"type":"string","description":"City of the customer."},"state":{"type":"string","description":"A region / state / province for the address."},"postal_code":{"type":"string","description":"A postal/zip code for the address. Note: Only alpha-numeric characters, Special characters allowed are hyphen(-) and spaces."},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. \n\nNote: Alphabets upto two characters (e.g. GB, RU etc..)"},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"}}},"BinIssuerCountry":{"type":"object","properties":{"alpha2":{"type":"string","description":"Two-letter ISO country code identifying the country of issuance."},"alpha3":{"type":"string","description":"Three-letter ISO country code identifying the country of issuance."},"name":{"type":"string","description":"Country name of the issuance."},"numeric":{"type":"string","description":"Issuer country code number."}}},"BinRequestDTO":{"type":"object","required":["bin","organisation"],"properties":{"organisation":{"type":"string","description":"The ID of an organisation."},"bin":{"type":"string","description":"First 6 or 8 digits of a card number (BIN/IIN)"}}},"BinResponseDTO":{"type":"object","properties":{"bin_number":{"type":"string","description":"First 6 digits of a card number (BIN/IIN)"},"brand":{"type":"string","description":"Brand of the card e.g. classic, standard."},"issuer":{"type":"string","description":"Bank name of the issuance."},"issuer_country":{"$ref":"#/definitions/BinIssuerCountry"},"scheme":{"type":"string","description":"The card Scheme e.g. MasterCard, Visa or Maestro."},"type":{"type":"string","description":"Funding type of the card e.g. Debit, Credit."},"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"organisation_id":{"type":"string","description":"The ID of an organisation."},"code":{"type":"string","description":"An alphanumeric code which uniquely identify an error."},"status":{"type":"string","description":"It will indicate what is the final result of the request."},"message":{"type":"string","description":"A description of the response."},"timestamp":{"type":"integer","format":"int64","description":"Current timestamp."},"trace_id":{"type":"string","description":"Unique trace id created by APEXX platform to trace this request."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."}}},"Blik":{"type":"object","required":["account_holder_name","redirection_parameters"],"properties":{"account_holder_name":{"type":"string","description":"Name of the account holder.\n\nNote: Only numeric characters are not support"},"redirection_parameters":{"$ref":"#/definitions/PproRedirectionParameterDTO"}}},"BlikPayCustomer":{"type":"object","required":["address"],"properties":{"address":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/PaymentCustmerAddress"}}},"BlikResponse":{"type":"object","properties":{"account_holder_name":{"type":"string","description":"Name of the account holder.\n\nNote: Only numeric characters are not support"},"payment_purpose":{"type":"string","description":"Descriptor for response that consumer will receive."}}},"BuyerHistoryDTO":{"type":"object","properties":{"customer_account":{"description":"CustomerAccount","$ref":"#/definitions/CustomerAccountDTO"},"account_history":{"description":"AccountHistory","$ref":"#/definitions/AccountHistoryDTO"},"account_purchases":{"type":"string","description":"Number of purchases with this cardholder account during the previous six months. Recommended for Discover ProtectBuy."},"add_card_attempts":{"type":"string","description":"Number of add card attempts in the last 24 hours. Recommended for Discover ProtectBuy."},"prior_suspicious_activity":{"type":"string","description":"Indicates whether the merchant experienced suspicious activity (including previous fraud) on the account. Recommended for Discover ProtectBuy."},"payment_account_history":{"type":"string","description":"This only applies for NEW_ACCOUNT and EXISTING_ACCOUNT in creationHistory. Possible values are: PAYMENT_ACCOUNT_EXISTS PAYMENT_ACCOUNT_ADDED_NOW"},"payment_account_date":{"type":"string","description":"Date applicable only for PAYMENT_ACCOUNT_EXISTS in paymentAccountHistory"},"transaction_count_day":{"type":"string","description":"Number of transaction (successful or abandoned) for this cardholder account within the last 24 hours. Recommended for Discover ProtectBuy."},"transaction_count_year":{"type":"string","description":"Number of transaction (successful or abandoned) for this cardholder account within the last year. Recommended for Discover ProtectBuy."}}},"CampaignDTO":{"type":"object","properties":{"campaign_number":{"type":"integer","format":"int64","description":"Campaign number"}}},"CancelCaptureRequestRedocDTO":{"type":"object","properties":{"cancel_capture_reference":{"type":"string","description":"A reference specified by the merchant to identify the cancel. This field must be unique per capture."},"duplicate_check":{"type":"string","description":"Only supported by some acquirers.\n\nThis indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."}}},"CancelCreditFailureResponse":{"type":"object","required":["amount","merchant_reference"],"properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"created_at":{"type":"string","description":"The time at which the transaction was created"},"cancelled_amount":{"type":"number","description":"Total amount cancelled"},"authorized_amount":{"type":"number","description":"Total amount authorised"},"psp_info":{"description":"PSP Information.","$ref":"#/definitions/PspInformation"},"last_status_update":{"type":"string","description":"The last time when the status of the transaction was updated"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"status":{"type":"string","enum":["FAILED"]},"response_code":{"type":"string","description":"Response code is sent only when the source of the response looks suspicious. In this case Apexx immediately cancels the transaction placed with the gateway."},"response_message":{"type":"string","description":"A description of the response_code."}}},"CancelCreditTransactionResponse":{"type":"object","required":["amount","merchant_reference"],"properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"created_at":{"type":"string","description":"The time at which the transaction was created"},"cancelled_amount":{"type":"number","description":"Total amount cancelled"},"status":{"type":"string","description":"Status of the transaction.","enum":["CANCELLED","FAILED","DECLINED"]},"authorized_amount":{"type":"number","description":"Total amount authorised"},"psp_info":{"description":"PSP Information.","$ref":"#/definitions/PspInformation"},"last_status_update":{"type":"string","description":"The last time when the status of the transaction was updated"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"response_code":{"type":"string","description":"Response code is sent only when the source of the response looks suspicious. In this case Apexx immediately cancels the transaction placed with the gateway."},"response_message":{"type":"string","description":"A description of the response_code."}}},"CancelProcessingErrorResponseDTO":{"type":"object","required":["amount","merchant_reference"],"properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"created_at":{"type":"string","description":"The time at which the transaction was created"},"cancelled_amount":{"type":"number","description":"Total amount cancelled"},"captured_amount":{"type":"number","description":"Total amount captured"},"authorized_amount":{"type":"number","description":"Total amount authorised"},"psp_info":{"description":"PSP Information.","$ref":"#/definitions/PspInformation"},"last_status_update":{"type":"string","description":"The last time when the status of the transaction was updated"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"status":{"type":"string","enum":["FAILED"]},"acquirer_name":{"type":"string","description":"The name of the acquirer as setup within the APEXX payment gateway."},"request_id":{"type":"string","description":"Unique Id for each request."},"duplicate_check":{"type":"string","description":"This is the duplicate check of request, 'true' in case of request is duplicate"},"response_code":{"type":"string","description":"Response code is sent only when the source of the response looks suspicious. In this case Apexx immediately cancels the transaction placed with the gateway."},"response_message":{"type":"string","description":"A description of the response_code."}}},"CancelRefundRequestRedocDTO":{"type":"object","properties":{"cancel_refund_reference":{"type":"string","description":"A reference specified by the merchant to identify the cancel. This field must be unique per refund."},"duplicate_check":{"type":"string","description":"Only supported by some acquirers.\n\nThis indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."}}},"CancelRequestDTO":{"type":"object","properties":{"cancel_reference":{"type":"string","description":"Only supported by some acquirers.\n\nA reference specified by the merchant to identify the cancel. This field must be unique per cancel."},"cancel_time":{"type":"string","format":"date-time","description":"Date and time of the request. Format - YYYY-MM-DD HH:mm:ss."},"duplicate_check":{"type":"string","description":"Only supported by some acquirers.\n\nThis indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."}}},"CancelResponseDTO":{"type":"object","required":["amount","merchant_reference"],"properties":{"status":{"type":"string","description":"Status of the transaction.","enum":["CANCELLED","DECLINED"]},"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"created_at":{"type":"string","description":"The time at which the transaction was created"},"cancelled_amount":{"type":"number","description":"Total amount cancelled"},"captured_amount":{"type":"number","description":"Total amount captured"},"authorized_amount":{"type":"number","description":"Total amount authorised"},"psp_info":{"description":"PSP Information.","$ref":"#/definitions/PspInformation"},"last_status_update":{"type":"string","description":"The last time when the status of the transaction was updated"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"acquirer_name":{"type":"string","description":"The name of the acquirer as setup within the APEXX payment gateway."},"request_id":{"type":"string","description":"Unique Id for each request."},"duplicate_check":{"type":"string","description":"This is the duplicate check of request, 'true' in case of request is duplicate"},"response_code":{"type":"string","description":"Response code is sent only when the source of the response looks suspicious. In this case Apexx immediately cancels the transaction placed with the gateway."},"response_message":{"type":"string","description":"A description of the response_code."}}},"CaptureRequestDTO":{"type":"object","required":["amount"],"properties":{"amount":{"type":"number","description":"The amount to be captured."},"capture_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction"},"invoice_number":{"type":"string","description":"Only supported by some acquirers.\n\nInvoice number of the ticket."},"final_capture":{"type":"string","description":"Indicates whether you can make additional captures against the authorised payment. Set to true if you do not intend to capture additional payments against the authorisation. Set to false if you intend to capture additional payments against the authorisation."},"duplicate_check":{"type":"string","description":"Only supported by some acquirers.\n\nThis indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."},"direct_debit":{"description":"Direct Debit specific Object","$ref":"#/definitions/DirectDebit"},"subscription":{"description":"subscription specific Object","$ref":"#/definitions/subscription"},"ach":{"description":"ach specific Object","$ref":"#/definitions/AchCaptureRequestDTO"},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"}}},"CaptureResponseDTO":{"type":"object","required":["merchant_reference"],"properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"created_at":{"type":"string","description":"The time at which the transaction was created"},"captured_amount":{"type":"number","description":"Total amount captured"},"authorized_amount":{"type":"number","description":"Total amount authorised"},"remaining_authorized_amount":{"type":"number","description":"Total authorised remaining amount of order."},"capture_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction"},"invoice_number":{"type":"string","description":"Invoice number of the ticket."},"last_status_update":{"type":"string","description":"The last time when the status of the transaction was updated"},"final_capture":{"type":"string","description":"Indicates whether you can make additional captures against the authorised payment. Set to true if you do not intend to capture additional payments against the authorisation. Set to false if you intend to capture additional payments against the authorisation."},"psp_info":{"description":"PSP Information.","$ref":"#/definitions/PspInformation"},"status":{"type":"string","description":"Status of the transaction.","enum":["AUTHORISED","CAPTURED","DECLINED"]},"direct_debit":{"description":"Direct Debit specific Object","$ref":"#/definitions/DirectDebit"},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"acquirer_name":{"type":"string","description":"The name of the acquirer as setup within the APEXX payment gateway."},"request_id":{"type":"string","description":"Unique Id for each request."},"duplicate_check":{"type":"string","description":"This is the duplicate check of request, 'true' in case of request is duplicate"},"response_code":{"type":"string","description":"Response code is sent only when the source of the response looks suspicious. In this case Apexx immediately cancels the transaction placed with the gateway."},"response_message":{"type":"string","description":"A description of the response_code."}}},"Car":{"type":"object","properties":{"program_code":{"type":"string","description":"Used to identify special circumstances applicable to the Card Transaction or Cardholder, such as \"renter” or ”show”\nThis code is 2 digit value agreed by Merchant and processor."},"rental_information":{"description":"Auto rental information","$ref":"#/definitions/RentalInformation"},"driver_age":{"type":"integer","format":"int32","description":"Age of the driver renting the vehicle."},"number_of_additional_drivers":{"type":"integer","format":"int32","description":"The number of additional drivers included on the rental agreement not including the individual who signed the rental agreement."},"vehicle_information":{"description":"Rented vehicle information","$ref":"#/definitions/VehicleInformation"},"max_free_distance":{"type":"string","description":"Maximum number of free miles or kilometers allowed to a customer for the duration of the auto rental agreement."},"insurance_indicator":{"type":"boolean","example":false,"description":"Insurance purchased\ntrue - Yes (insurance was purchased)\nfalse - No (insurance was not purchased)"},"distance":{"description":"Details on the distance of the auto rental","$ref":"#/definitions/Distance"},"odometer_reading":{"type":"string","description":"Odometer reading at time of vehicle rental."},"tax_details":{"type":"array","description":"Tax details of the auto rental","items":{"$ref":"#/definitions/CarTaxDetail"}},"rental_charges":{"description":"Rental charges information","$ref":"#/definitions/RentalCharges"},"company_name":{"type":"string","description":"Merchant to send their auto rental company name"},"affiliate_name":{"type":"string","description":"When merchant wants to send the affiliate name."}}},"CarTaxDetail":{"type":"object","properties":{"tax_type":{"type":"string","description":"Different taxes the rental agency applies to the rental agreement such as tourist tax, airport tax, or rental tax."},"rate":{"type":"string","description":"Rate of VAT or other tax for the order.Example 0.040 (=4%) \nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional \ndecimal places will be truncated)"},"amount":{"type":"string","description":"Indicates the amount of tax based on the type field as described in fields above"},"applied":{"type":"boolean","example":false,"description":"Flag that indicates whether the tax amount (travel_data.car.tax_details.amount) is \nincluded in the request.\"true\": tax amount is included in the request.\n\"false\": tax amount is not included in the request."},"exemption_code":{"type":"string","description":"Status code for exemption from sales and use tax. This field is a pass-through."},"tax_summary":{"type":"string","description":"Summary of all tax types"}}},"Card":{"type":"object","properties":{"card_holder_name":{"type":"string","description":"Name of the card holder as printed on the card."},"card_number":{"type":"string","description":"The new card number, also known as PAN."},"cvv":{"type":"string","description":"The Card Verification Value. Note: CVV is not required when transaction is a recurring or oneclick transaction."},"expiry_month":{"type":"string","description":"Card expiry month. A string representing the month, valid values are 01 to 12."},"expiry_year":{"type":"string","description":"Card expiry year. A string representing the last two digits of the year, e.g. 19 for 2019."},"token":{"type":"string","description":"The token representing the payment card."},"create_token":{"type":"string","description":"Whether to create a token or not for the card. Defaults to 'false'. Setting it to 'true' will create the token for the card."},"encrypted_data":{"type":"string","description":"This field will contain the encryption data of card_number, expiry_month, expiry_year and cvv fields. Encryption data generated by client-side-encryption SDK."},"initial_scheme_transaction_id":{"type":"string","description":"The unique scheme transaction Id returned during customer initiated transaction. This value will be required when recurring_type is \"mit\""},"network_token":{"description":"Network token.","$ref":"#/definitions/NetworkToken"}}},"CardDTO":{"type":"object","properties":{"card_holder_name":{"type":"string","description":"Name of the card holder as printed on the card."},"card_number":{"type":"string","description":"The new card number, also known as PAN."},"expiry_month":{"type":"string","description":"Card expiry month. A string representing the month, valid values are 01 to 12."},"expiry_year":{"type":"string","description":"Card expiry year. A string representing the last two digits of the year, e.g. 19 for 2019."},"token":{"type":"string","description":"The token representing the payment card."},"encrypted_data":{"type":"string","description":"This field will contain the encryption data of card_number, expiry_month, expiry_year and cvv fields. Encryption data generated by client-side-encryption SDK."},"initial_scheme_transaction_id":{"type":"string","description":"The unique scheme transaction Id returned during customer initiated transaction. This value will be required when recurring_type is \"mit\""}}},"CardDetailsWithApm":{"type":"object","properties":{"card_holder_name":{"type":"string","description":"Name of the card holder as printed on the card."},"card_number":{"type":"string","description":"The new card number, also known as PAN."},"cvv":{"type":"string","description":"The Card Verification Value. Note: CVV is not required when transaction is a recurring or oneclick transaction."},"expiry_month":{"type":"string","description":"Card expiry month. A string representing the month, valid values are 01 to 12."},"expiry_year":{"type":"string","description":"Card expiry year. A string representing the last two digits of the year, e.g. 19 for 2019."},"token":{"type":"string","description":"The token representing the payment card."},"create_token":{"type":"string","description":"Whether to create a token or not for the card. Defaults to 'false'. Setting it to 'true' will create the token for the card."},"encrypted_data":{"type":"string","description":"This field will contain the encryption data of card_number, expiry_month, expiry_year and cvv fields. Encryption data generated by client-side-encryption SDK."},"tokenise_status":{"type":"string","description":"Status of the transactions when cards should be tokenised.","enum":["AUTHORISED","CAPTURED","FAILED","DECLINED"]},"initial_scheme_transaction_id":{"type":"string","description":"The unique scheme transaction Id returned during customer initiated transaction. This value will be required when recurring_type is \"mit\""},"googlepay":{"description":"GooglePay","$ref":"#/definitions/GooglePay"},"applepay":{"description":"ApplePay","$ref":"#/definitions/ApplePay"},"network_token":{"description":"Network token.","$ref":"#/definitions/NetworkToken"}}},"CardTokenCardDetails":{"type":"object","properties":{"card_number":{"type":"string","description":"The new card number, also known as PAN."},"expiry_month":{"type":"string","description":"Card expiry month. A string representing the month, valid values are 01 to 12."},"expiry_year":{"type":"string","description":"Card expiry year. A string representing the last two digits of the year, e.g. 19 for 2019."}}},"Charge":{"type":"object","properties":{"food_and_beverage":{"type":"string","description":"Cost for all food and beverages."},"phone_cost":{"type":"string","description":"Cost of telephone services."},"restaurant_cost":{"type":"string","description":"Cost of restaurant purchases"},"room_service":{"type":"string","description":"Cost of room service"},"mini_bar_counter":{"type":"string","description":"Cost of mini-bar purchases."},"laundary_cost":{"type":"string","description":"Cost of laundry services."},"miscellaneous_cost":{"type":"string","description":"Miscellaneous costs."},"gift_shop_cost":{"type":"string","description":"Cost of gift shop purchases."},"movie_cost":{"type":"string","description":"Cost of movies."},"health_club_cost":{"type":"string","description":"Cost of health club services."},"valet_parking_cost":{"type":"string","description":"Cost of valet parking services."},"cash_disbursement_cost":{"type":"string","description":"Cost of the cash that was disbursed plus any associated service fees"},"non_room_cost":{"type":"string","description":"Cost of non-room purchases, such as meals and gifts."},"business_centre_cost":{"type":"string","description":"Cost of business center services."},"lounge_bar_cost":{"type":"string","description":"Cost of lounge and bar purchases."},"transportation_cost":{"type":"string","description":"Cost of transportation services."},"gratuity_cost":{"type":"string","description":"Gratuity."},"conference_room_cost":{"type":"string","description":"Cost of conference room services."},"audio_visual_cost":{"type":"string","description":"Cost of audio visual services."},"banquet_cost":{"type":"string","description":"Cost of banquet services."},"non_room_tax_amount":{"type":"string","description":"Tax on non-room purchases."},"early_check_out_cost":{"type":"string","description":"Service fee for early departure."},"internet_access_cost":{"type":"string","description":"Cost of Internet access."}}},"ClientReferenceInformationDTO":{"type":"object","properties":{"code":{"type":"string"}}},"CommonResponseDTO":{"type":"object","properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"payment_flow":{"type":"string","description":"Payment flow details."},"organisation":{"type":"string","description":"The ID of the Organisation. Must be submitted along with currency."},"url":{"type":"string","description":"Redirection URL details."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"created_at":{"type":"string","description":"The time at which the transaction was created"},"status":{"type":"string","description":"Status of the transaction."},"trace_id":{"type":"string","description":"Unique trace id created by APEXX platform to trace this request."}}},"ConsumerAuthenticationInformationDTO":{"type":"object","properties":{"token":{"type":"string"}}},"CreateMandateFailureResponse":{"type":"object","properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"payment_flow":{"type":"string","description":"Payment flow details."},"organisation":{"type":"string","description":"The ID of the Organisation. Must be submitted along with currency."},"url":{"type":"string","description":"Redirection URL details."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"created_at":{"type":"string","description":"The time at which the transaction was created"},"status":{"type":"string","description":"Status of the transaction."},"trace_id":{"type":"string","description":"Unique trace id created by APEXX platform to trace this request."},"reason_code":{"type":"string","description":"Reason code for failure."},"reason_message":{"type":"string","description":"Reason message for failure."}}},"CreateMandateRequest":{"type":"object","required":["amount","currency","customer","direct_debit","merchant_reference","organisation"],"properties":{"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of the Organisation. Must be submitted along with currency."},"capture_now":{"type":"string","description":"This value is not used for direct debit and will always be defaulted to 'false'."},"customer_ip":{"type":"string","description":"The IP address of the customer"},"amount":{"type":"integer","format":"int32","description":"Total gross amount of order charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details.. Must match the total of all order items\""},"currency":{"type":"string","description":"Currency using which transaction needs to be processed.  A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"locale":{"type":"string","description":"Locale Code. Valid Values: en_GB and en_US"},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show against the customers order"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction and  is limited to 10 alphanumeric characters. "},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"direct_debit":{"description":"Direct Debit payment schedule details","$ref":"#/definitions/DD:DirectDebit"},"customer":{"description":"Customer details","$ref":"#/definitions/DD:Customer"},"duplicate_check":{"type":"string","description":"This indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."}}},"CreateMandateResponse":{"type":"object","properties":{"errors":{"type":"array","description":"Details of each error occured.","items":{"$ref":"#/definitions/PspErrorDTO"}},"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"payment_flow":{"type":"string","description":"Payment flow details."},"organisation":{"type":"string","description":"The ID of the Organisation. Must be submitted along with currency."},"url":{"type":"string","description":"Redirection URL details."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"created_at":{"type":"string","description":"The time at which the transaction was created"},"status":{"type":"string","description":"Status of the transaction."},"trace_id":{"type":"string","description":"Unique trace id created by APEXX platform to trace this request."},"reason_code":{"type":"string","description":"Reason code for failure."},"reason_message":{"type":"string","description":"Reason message for failure."}}},"CreateOrderRedirectResponse":{"type":"object","properties":{"payment_flow":{"type":"string","description":"The type of integration with the BNPL provider, i.e. server to server or URL redirect to provider login page","enum":["direct","redirect"]},"organisation":{"type":"string","description":"The ID of the Organisation. Must be submitted along with currency."},"url":{"type":"string","description":"Redirection URL details"},"created_at":{"type":"string","description":"The time at which the transaction was created"},"trace_id":{"type":"string","description":"Transaction log ID"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"status":{"type":"string","description":"Status of the transaction.","enum":["AUTHORISED","DECLINED","FAILED","AUTHENTICATION_REQUIRED"]},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHENTICATION_REQUIRED/AUTHORISED, see reason codes section for declined scenarios and error codes section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform."},"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."}}},"CreateTokenRequest":{"type":"object","required":["card","organisation_id"],"properties":{"organisation_id":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"card":{"description":"This class holds basic card details(card number,expiry month and expiry year)","$ref":"#/definitions/CardTokenCardDetails"},"billing_address":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/BillingAddress"}}},"CreateTokenResponseDTO":{"type":"object","properties":{"reasonCode":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"token":{"type":"string","description":"Card Token genreated for given card details"},"createdAt":{"type":"string","description":"The time at which the transaction was created"},"card":{"description":"This class holds basic card details(card number,expiry month and expiry year)","$ref":"#/definitions/BasicCardDetail"}}},"CreditProcessingErrorResponseDTO":{"type":"object","required":["amount","card","merchant_reference"],"properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"string","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"blocked":{"type":"boolean","example":false,"description":"True if the transaction has been blocked by a ruleset, false otherwise"},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"card":{"$ref":"#/definitions/CreditTransactionCard"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"customer_ip":{"type":"string","description":"The IP address of the customer"},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"actions":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string","description":"The time at which the transaction was created"},"cvv_present":{"type":"boolean","example":false,"description":"True if the card was used with a cvv"},"fees":{"type":"array","items":{"type":"integer","format":"int32"}},"geo_locations":{"type":"array","description":"The latitude/longitude resolved from the customer's ip address","items":{"type":"integer","format":"int32"}},"last_status_update":{"type":"string","description":"The last time when the status of the transaction was updated"},"card_brand":{"type":"string","description":"Card brand for the card used for processing","enum":["amex","diners","discover","elo","jcb","maestro","mastercard","visa","visa electron","carte bancaire"]},"issuer_name":{"type":"string","description":"Card Issuer Name for this transaction"},"issuer_country":{"type":"string","description":"Issuing country of the card. A 2-letter ISO3166 alpha-2. Acquirer country code"},"organisation_psp_name":{"type":"string","description":"The name of the processor as setup within the APEXX payment gateway. i.e. Merchant Name - Acquirer Name"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"status":{"type":"string","enum":["FAILED"]},"billing_address":{"description":"Billing address details for the customer","$ref":"#/definitions/BillingAddress"},"payment product = \"card\"":{"type":"string","description":"The payment product corresponding to this transaction"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"cvv_result":{"type":"string","description":"CVV verification result, as returned by the processor."},"avs_result":{"type":"string","description":"Address verification services result, as returned by the processor"},"acquirer_name":{"type":"string","description":"The name of the acquirer as setup within the APEXX payment gateway."},"device_information":{"description":"deviceInformation","$ref":"#/definitions/deviceInformation"},"preauth_check":{"$ref":"#/definitions/FraudCheckResponse"},"response_code":{"type":"string","description":"Response code is sent only when the source of the response looks suspicious. In this case Apexx immediately cancels the transaction placed with the gateway."},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"},"payment_product_type":{"type":"string","description":"The payment product type corresponding to this transaction","enum":["Amex","Diners Club International","Discover","Elo","JCB","Maestro","Mastercard","Visa","Visa Electron"]},"response_message":{"type":"string","description":"A description of the response_code."},"customer":{"description":"customer","$ref":"#/definitions/CustomerDetails"},"aft_type":{"type":"string","description":"Type of Account Funding transaction.\n\nSVWF - Stored value wallet funding\n\nSDWT - Staged digital wallet pre-funding\n\nA2A - Account-to-account (me-to-me) money transfer\n\nP2P - Person-to-Person (P2P) money transfer\n\nCLA - Cryptocurrency and liquid assets\n\nBIT - Financial Institution offe red Bank-Initiated P2P Money Transfer\n\nFD - Funds Disbursement\n\nFT - Funds Transfer\n\nPD - Payroll Disbursement\n\nPL - Prepaid load / reload2\n\nB2B - Business to Business\n\nCBP - Card Bill Payment\n\nGP - Gambling Payouts\n\nGFD - General funds disbursement\n\nGD - Government Disbursement\n\nLP - Loyalty Payments\n\nMD - Funding small business disbursements\n\nMP - Merchant Payment\n\nNCBP - Non card bill payment\n\nOGP - Online gaming payout\n\nZDA - Zero dollar authorisation\n\nTO - Top off","enum":["SVWF","SDWT","A2A","P2P","CLA","BIT","FD","FT","PD","TPL","B2BCBP","GP","GFD","GD","LP","MD","MP","NCBP","OGP","ZDA","TO"]}}},"CreditTransactionCard":{"type":"object","properties":{"card_number":{"type":"string","description":"The new card number, also known as PAN."},"cvv":{"type":"string","description":"The Card Verification Value. Note: CVV is not required when transaction is a recurring or oneclick transaction."},"expiry_month":{"type":"string","description":"Card expiry month. A string representing the month, valid values are 01 to 12."},"expiry_year":{"type":"string","description":"Card expiry year. A string representing the last two digits of the year, e.g. 19 for 2019."},"token":{"type":"string","description":"The token representing the payment card."}}},"CreditTransactionDTO":{"type":"object","required":["amount","card","merchant_reference"],"properties":{"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"card":{"description":"The new card number, also known as PAN.","$ref":"#/definitions/CreditTransactionCard"},"customer":{"description":"customer","$ref":"#/definitions/CustomerDetails"},"customer_ip":{"type":"string","description":"The IP address of the customer"},"open_banking":{"description":"Open Banking specific Object","$ref":"#/definitions/OpenBankingCreditTxnDTO"},"skrill":{"$ref":"#/definitions/SkrillCredit"},"paysafecard":{"$ref":"#/definitions/PaysafeCredit"},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"billing_address":{"description":"Billing address details for the customer","$ref":"#/definitions/BillingAddress"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"},"original_transaction_id":{"type":"string","description":"The id of original transaction."},"merchant_data":{"description":"Merchant Data","$ref":"#/definitions/MerchantData"}}},"CreditTransactionResponseDTO":{"type":"object","required":["amount","card","merchant_reference"],"properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"string","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"blocked":{"type":"boolean","example":false,"description":"True if the transaction has been blocked by a ruleset, false otherwise"},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"card":{"$ref":"#/definitions/CreditTransactionCard"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"customer_ip":{"type":"string","description":"The IP address of the customer"},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"actions":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string","description":"The time at which the transaction was created"},"cvv_present":{"type":"boolean","example":false,"description":"True if the card was used with a cvv"},"fees":{"type":"array","items":{"type":"integer","format":"int32"}},"geo_locations":{"type":"array","description":"The latitude/longitude resolved from the customer's ip address","items":{"type":"integer","format":"int32"}},"last_status_update":{"type":"string","description":"The last time when the status of the transaction was updated"},"card_brand":{"type":"string","description":"Card brand for the card used for processing","enum":["amex","diners","discover","elo","jcb","maestro","mastercard","visa","visa electron","carte bancaire"]},"issuer_name":{"type":"string","description":"Card Issuer Name for this transaction"},"issuer_country":{"type":"string","description":"Issuing country of the card. A 2-letter ISO3166 alpha-2. Acquirer country code"},"organisation_psp_name":{"type":"string","description":"The name of the processor as setup within the APEXX payment gateway. i.e. Merchant Name - Acquirer Name"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"billing_address":{"description":"Billing address details for the customer","$ref":"#/definitions/BillingAddress"},"payment product = \"card\"":{"type":"string","description":"The payment product corresponding to this transaction"},"status":{"type":"string","description":"Status of the transaction.","enum":["AUTHORISED","CAPTURED","DECLINED"]},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"cvv_result":{"type":"string","description":"CVV verification result, as returned by the processor."},"avs_result":{"type":"string","description":"Address verification services result, as returned by the processor"},"acquirer_name":{"type":"string","description":"The name of the acquirer as setup within the APEXX payment gateway."},"device_information":{"description":"deviceInformation","$ref":"#/definitions/deviceInformation"},"preauth_check":{"$ref":"#/definitions/FraudCheckResponse"},"response_code":{"type":"string","description":"Response code is sent only when the source of the response looks suspicious. In this case Apexx immediately cancels the transaction placed with the gateway."},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"},"payment_product_type":{"type":"string","description":"The payment product type corresponding to this transaction","enum":["Amex","Diners Club International","Discover","Elo","JCB","Maestro","Mastercard","Visa","Visa Electron"]},"response_message":{"type":"string","description":"A description of the response_code."},"customer":{"description":"customer","$ref":"#/definitions/CustomerDetails"},"aft_type":{"type":"string","description":"Type of Account Funding transaction.\n\nSVWF - Stored value wallet funding\n\nSDWT - Staged digital wallet pre-funding\n\nA2A - Account-to-account (me-to-me) money transfer\n\nP2P - Person-to-Person (P2P) money transfer\n\nCLA - Cryptocurrency and liquid assets\n\nBIT - Financial Institution offe red Bank-Initiated P2P Money Transfer\n\nFD - Funds Disbursement\n\nFT - Funds Transfer\n\nPD - Payroll Disbursement\n\nPL - Prepaid load / reload2\n\nB2B - Business to Business\n\nCBP - Card Bill Payment\n\nGP - Gambling Payouts\n\nGFD - General funds disbursement\n\nGD - Government Disbursement\n\nLP - Loyalty Payments\n\nMD - Funding small business disbursements\n\nMP - Merchant Payment\n\nNCBP - Non card bill payment\n\nOGP - Online gaming payout\n\nZDA - Zero dollar authorisation\n\nTO - Top off","enum":["SVWF","SDWT","A2A","P2P","CLA","BIT","FD","FT","PD","TPL","B2BCBP","GP","GFD","GD","LP","MD","MP","NCBP","OGP","ZDA","TO"]}}},"CustomerAccountDTO":{"type":"object","properties":{"last_change_date":{"type":"string","description":"Date the cardholder’s account was last changed. This includes changes to the billing or shipping address, new payment accounts or new users added. Recommended for Discover ProtectBuy."},"creation_history":{"type":"string","description":"The values from the enum can be: GUEST NEW_ACCOUNT EXISTING_ACCOUNT"},"modification_history":{"type":"string","description":"This field is applicable only in case of EXISTING_ACCOUNT in creationHistory. Possible values: ACCOUNT_UPDATED_NOW ACCOUNT_UPDATED_PAST"},"password_history":{"type":"string","description":"This only applies for EXISTING_ACCOUNT in creationHistory. The values from the enum can be: PASSWORD_CHANGED_NOW PASSWORD_CHANGED_PAST PASSWORD_NEVER_CHANGED"},"create_date":{"type":"string","description":"Date the cardholder opened the account. Recommended for Discover ProtectBuy. This only applies for EXISTING_ACCOUNT in creationHistory."},"password_change_date":{"type":"string","description":"Date the cardholder last changed or reset password on account. Recommended for Discover ProtectBuy. This only applies for PASSWORD_CHANGED_PAST in passwordHistory."}}},"CustomerDetails":{"type":"object","properties":{"account_number":{"type":"string","description":"This is the recipient's account number."},"date_of_birth":{"type":"string","description":"The date of birth of a customer, 10 characters, ISO-8601 (YYYY-MM-DD)."},"last_name":{"type":"string","description":"The last name(s) of recipient's."},"postal_code":{"type":"string","description":"This is the recipient's postcode/zip.\n\nNote: Only alpha-numeric characters, Special characters allowed are hyphen(-) and single space"},"customer_id":{"type":"string","description":"The customer_id of recipient's."},"name":{"type":"string","description":"Full name of the customer or organisation"},"iban":{"type":"string","description":"International bank account number of the customer. Required for SEPA open banking"},"swift_bic":{"type":"string","description":"Swift/BIC of the customer bank"},"sort_code":{"type":"string","description":"Sort code of the customer bank. Required for UK/domestic"}}},"CustomerServiceDetails":{"type":"object","properties":{"phone_number":{"type":"string","description":"Toll-free customer service phone number."}}},"Customer_":{"type":"object","properties":{"customer_identification_number":{"type":"string","description":"Identification number associated to the identification type specified"},"identification_type":{"type":"string","description":"Identification type referenced above.","enum":["SSN","passport","driverslicense","idcard"]},"email":{"type":"string","description":"Email address of the customer \n \n Note: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(‘)"},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n \n Note: Length - min(3) & max(20)"},"salutation":{"type":"string","description":"Salutation of the customer e.g. \"Mr\", \"Mrs\", \"Dr\" etc"},"type":{"type":"string","description":"Type of customer. Customer category","enum":["company","person"]},"date_of_birth":{"type":"string","description":"The date of birth of a customer, 10 characters, ISO-8601 (YYYY-MM-DD)."},"customer_number":{"type":"string","description":"This is the customer's account number."},"gender":{"type":"string","description":"The gender of the customer","enum":["male","female","other","prefer not to say"]},"employment_type":{"type":"string","description":"The employment type of the customer","enum":["fulltime","parttime","contractor","student","retired","unemployed","other"]},"residential_status":{"type":"string","description":"Customer residential satus","enum":["homeowner","tenant","livingwithparents"]}}},"CybersourceDecisionManagerRequest":{"type":"object","properties":{"device_information":{"description":"deviceInformation","$ref":"#/definitions/DeviceInformationDTO"},"risk_information":{"$ref":"#/definitions/RiskInformationDTO"},"merchant_defined_information":{"type":"array","items":{"$ref":"#/definitions/MerchantDefinedInformationDTO"}}}},"CybersourceDecisionManagerResponse":{"type":"object","properties":{"clientReferenceInformation":{"$ref":"#/definitions/ClientReferenceInformationDTO"},"consumerAuthenticationInformation":{"$ref":"#/definitions/ConsumerAuthenticationInformationDTO"},"id":{"type":"string"},"paymentInformation":{"$ref":"#/definitions/PaymentInformationResponseDTO"},"riskInformation":{"$ref":"#/definitions/RiskInformationResponseDTO"},"status":{"type":"string"},"submitTimeUtc":{"type":"string"}}},"DD:Address":{"type":"object","required":["country"],"properties":{"address":{"type":"string","description":"Street address of the customer."},"city":{"type":"string","description":"City of the customer."},"state":{"type":"string","description":"A region / state / province for the address."},"postal_code":{"type":"string","description":"A postal/zip code for the address. Note: Only alpha-numeric characters, Special characters allowed are hyphen(-) and spaces."},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. \n\nNote: Alphabets upto two characters (e.g. GB, RU etc..)"}}},"DD:Customer":{"type":"object","required":["address","first_name","last_name"],"properties":{"first_name":{"type":"string","description":"First name of the customer."},"last_name":{"type":"string","description":"Last name of the customer."},"email":{"type":"string","description":"Email address of the customer. This would be required for all Direct Debit requests. \n \n Note: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(‘)"},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n \n Note: Length - min(3) & max(20)"},"date_of_birth":{"type":"string","description":"The date of birth of a customer, 10 characters, ISO-8601 (YYYY-MM-DD)."},"address":{"description":"Billing address details of customer.","$ref":"#/definitions/DD:Address"}}},"DD:DirectDebit":{"type":"object","required":["landing_page","redirect_urls"],"properties":{"payment_schedule":{"type":"array","description":"List of payment schedule","items":{"$ref":"#/definitions/DD:PaymentSchedule"}},"landing_page":{"type":"string","description":"This value will determine where the user will land when they are redirected to the mandate creation page. 'Bank' directs the users to a list of banks. 'manual' directs the customer to select to enter details manually.","enum":["bank","manual"]},"redirect_urls":{"description":"Redirection URL details","$ref":"#/definitions/DD:RedirectUrls"}}},"DD:PaymentSchedule":{"type":"object","properties":{"date":{"type":"string","description":"Scheduled payment date."},"order":{"type":"integer","format":"int32","description":"The ordinal position of the scheduled payment."},"schedule_amount":{"type":"integer","format":"int32","description":"The expected amount to be debited."}}},"DD:RedirectUrls":{"type":"object","required":["cancelled","failed","success"],"properties":{"success":{"type":"string","description":"The return url to which the customer is redirected after an transaction is processed."},"failed":{"type":"string","description":"The return url to which the customer is redirected after an transaction is unsuccessful."},"cancelled":{"type":"string","description":"The return url to which the customer is redirected after failing to complete provider registration and payment confirmation steps."}}},"DeleteTokenResponseDTO":{"type":"object","required":["organisation_id","token"],"properties":{"token":{"type":"string","description":"The token representing the payment card."},"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"organisation_id":{"type":"string","description":"The ID of an organisation."},"code":{"type":"string","description":"An alphanumeric code which uniquely identify an error."},"message":{"type":"string","description":"A description of the response."},"status":{"type":"string","description":"Status of the transaction.","enum":["DELETED","FAILED"]},"timestamp":{"type":"integer","format":"int64","description":"Current timestamp."},"trace_id":{"type":"string","description":"Unique trace id created by APEXX platform to trace this request."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."}}},"DeliveryAddress":{"type":"object","properties":{"first_name":{"type":"string","description":"First name of the card holder."},"last_name":{"type":"string","description":"Last name of the card holder."},"email":{"type":"string","description":"Email address of the card holder.\n\nNote: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(â€˜)"},"address":{"type":"string","description":"Street address of the card holder."},"city":{"type":"string","description":"City of the card holder."},"state":{"type":"string","description":"A region / state / province for the address."},"postal_code":{"type":"string","description":"A postal code for the address.\n\nNote: Only alpha-numeric characters, Special characters allowed are hyphen(-) and spaces."},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. \n\nNote: Alphabets upto two characters (e.g. GB, RU etc..)"},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"}}},"DeliveryCustomer":{"type":"object","properties":{"address":{"description":"AddressDetails","$ref":"#/definitions/AddressDetails"},"delivery_preference":{"type":"string","description":"Determines whether the customer can update their delivery address.\n\n\"\"GET_FROM_FILE\"\" - It will allow the customers to change their address from Paypal.\n\n\"\"NO_SHIPPING\"\" - Does not contain any delivery address.\n\n\"\"SET_PROVIDED_ADDRESS\"\" - Will take the address from the request sent by merchant. It will not allow customers to change their address..","enum":["GET_FROM_FILE","NO_SHIPPING","SET_PROVIDED_ADDRESS"]},"first_name":{"type":"string","description":"First name of the delivery customer."},"last_name":{"type":"string","description":"Last name of the delivery customer."}}},"DeliveryCustomerDTO":{"type":"object","required":["type"],"properties":{"first_name":{"type":"string","description":"First name of the delivery customer."},"last_name":{"type":"string","description":"The last name(s) of recipient's."},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"},"salutation":{"type":"string","description":"Salutation of the customer"},"type":{"type":"string","description":"Type of the customer. Customer category."},"care_of":{"type":"string","description":"Care of. Intermediary who is responsible for transferring a piece of mail between the postal system and the final addressee. For example Jane c/o John (“Jane at John's address”). This field has to be used for company, authority and organization names as well - e. g. \"Sportverein Blau-Weiß e.V."},"address":{"type":"string","description":"Street address of the delivery customer."},"city":{"type":"string","description":"City of the delivery customer"},"postal_code":{"type":"string","description":"This is the recipient's postcode/zip.\n\nNote: Only alpha-numeric characters, Special characters allowed are hyphen(-) and single space"},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address.\n\nNote: Alphabets upto two characters (e.g. GB, RU etc.."}}},"DeliveryCustomerSDK":{"type":"object","properties":{"first_name":{"type":"string","description":"First name of the delivery customer."},"last_name":{"type":"string","description":"Last name of the delivery customer."},"address":{"type":"string","description":"Street address of the delivery customer."},"city":{"type":"string","description":"City of the delivery customer"},"email":{"type":"string","description":"Email address of the customer. This would be required for all Direct Debit requests. \n \n Note: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(‘)"},"state":{"type":"string","description":"A region / state / province for the address."},"postal_code":{"type":"string","description":"This is the recipient's postcode/zip.\n\nNote: Only alpha-numeric characters, Special characters allowed are hyphen(-) and single space"},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. Country code for the address. Note: Alphabets upto two characters (e.g. GB, RU etc..)"},"phone":{"type":"string","description":"Numbers only, no dash or any other separator"},"delivery_preference":{"type":"string","description":"Determines whether the customer can update their delivery address.\n\n\"\"GET_FROM_FILE\"\" - It will allow the customers to change their address from Paypal.\n\n\"\"NO_SHIPPING\"\" - Does not contain any delivery address.\n\n\"\"SET_PROVIDED_ADDRESS\"\" - Will take the address from the request sent by merchant. It will not allow customers to change their address..","enum":["GET_FROM_FILE","NO_SHIPPING","SET_PROVIDED_ADDRESS"]}}},"Destination":{"type":"object","properties":{"country":{"type":"string"},"latitude":{"type":"string"},"locality":{"type":"string"},"longitude":{"type":"string"}}},"Details":{"type":"object"},"DeviceInformationDTO":{"type":"object","properties":{"cookies_accepted":{"type":"string","description":"Whether the customer’s browser accepts cookies.","enum":["True","False"]},"host_name":{"type":"string","description":"DNS resolved hostname from ipAddress."},"http_browser_email":{"type":"string","description":"Email address set in the customer’s browser, which may differ from customer email"},"http_accept_browser_value":{"type":"string","description":"Value of the Accept header sent by the customer’s web browser. Note If the customer’s browser provides a value, you must include it in your request."},"http_accept_content":{"type":"string","description":"The exact content of the HTTP accept header."},"http_accept_language":{"type":"string","description":"Value represents the browser language as defined in IETF BCP47. Example:en-US"},"http_java_enabled":{"type":"string","description":"A Boolean value that represents the ability of the cardholder browser to execute Java. Value is returned from the navigator.javaEnabled property.","enum":["True","False"]},"http_java_script_enabled":{"type":"string","description":"A Boolean value that represents the ability of the cardholder browser to execute JavaScript. Note: Merchants should be able to know the values from fingerprint details of cardholder's browser.","enum":["True","False"]},"http_color_depth":{"type":"string","description":"Value represents the bit depth of the color palette for displaying images, in bits per pixel. Example : 24"},"http_screen_height":{"type":"string","description":"Total height of the Cardholder's scree in pixels. Example: 864."},"http_screen_width":{"type":"string","description":"Total width of the cardholder's screen in pixels. Example: 1536."},"http_time_difference":{"type":"string","description":"Time difference between UTC time and the cardholder browser local time, in minutes. Example:300"},"user_agent_browser_value":{"type":"string","description":"Value of the User-Agent header sent by the customer’s web browser. Note If the customer’s browser provides a value, you must include it in your request."}}},"DirectDebit":{"type":"object","required":["dd_capture_reference"],"properties":{"dd_capture_reference":{"type":"string","description":" A reference specified by the merchant to identify the capture. This is mandatory only when direct debit block is present"},"settlement_date":{"type":"string","description":"Future date by which settlement request should be done. If this is too early in time, it will be postponed to the earliest payment Date."},"customer_id":{"type":"string","description":"Unique ID of the customer."}}},"DirectDebitDTO":{"type":"object","properties":{"bank_account":{"type":"string","description":"Direct debit bank account"},"bank_code":{"type":"string","description":"Direct debit swift, BIC, SortCode"}}},"Distance":{"type":"object","properties":{"travelled":{"type":"string","description":"Total number of miles driven by the customer"},"unit":{"type":"string","description":"Miles/Kilometers Indicator shows whether the “miles” fields are expressed in miles or kilometers.","enum":["K","M"]},"time_period":{"type":"string","description":"Indicates the time period for which the vehicle rental rate applies (e.g., daily, weekly or monthly).","enum":["Daily","Weekly","Monthly"]}}},"Dragonpay":{"type":"object","required":["redirection_parameters"],"properties":{"proc_id":{"type":"string","description":"Preferred payment channel","enum":["BAYD","BDO","CC","CEBL","DPAY","ECPY","GCSH","LBC","PYPL","MLH","RDS","SMR","711"]},"param1":{"type":"string","description":"Value that will be posted back to merchant postback/return url when completed"},"param2":{"type":"string","description":"Value that will be posted back to merchant postback/return url when completed"},"mode":{"type":"string","description":"1: Online Banking,\n2: Over-the-Counter Banking and ATM,\n4: Over-the-Counter non-Bank,\n8: E-Wallets (inc. Bitcoins),\n16: (reserved internally),\n32: PayPal,\n64: Credit Cards,\n128: Mobile (Gcash),\n256: International OTC,\n512: Bancnet,\n1024: Auto Debit Arrangement (ADA),\n2048: Cash on Delivery (COD),\n4096: Installments.\nMode of payment processing.","enum":["1","2","4","8","16","32","64","128","256","512","1024","2048","4096"]},"redirection_parameters":{"$ref":"#/definitions/RedirectionParametersDTO"}}},"DragonpayCustomer":{"type":"object","required":["email"],"properties":{"address":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/dragonpayAddressDetails"},"dateOfBirth":{"type":"string","description":"The date of birth of a customer, 10 characters, ISO-8601 (YYYY-MM-DD)."},"email":{"type":"string","description":"Email address of the customer.\n\nNote: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(â€˜)"},"firstName":{"type":"string","description":"First name of the customer."},"lastName":{"type":"string","description":"Last name of the customer."},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"}}},"DragonpayErrorResponseDTO":{"type":"object","properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"url":{"type":"string","description":"Hosted payment page URL.Note: URL will not be sent in case of DECLINED or FAILED Scenario"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of Success, see reason codes section for declined scenarios and error codes section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0."},"status":{"type":"string","enum":["FAILED"]},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"dragonpay":{"description":"Dragonpay","$ref":"#/definitions/dragonPay"}}},"DragonpayPaymentRequestDTO":{"type":"object","required":["amount","merchant_reference"],"properties":{"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"locale":{"type":"string","description":"Locale Code. Valid Values: en_GB and en_US","enum":["en_GB","en_US"]},"customer":{"description":"customer","$ref":"#/definitions/DragonpayCustomer"},"customer_ip":{"type":"string","description":"The IP address of the customer"},"dragon_pay":{"$ref":"#/definitions/Dragonpay"},"recurring_type":{"type":"string","description":"This field is to be used only when a transaction is part of a series of recurring transactions. If it's the initial transaction, set the value to 'first', and if it's not, set it to 'recurring'. This field must not be included in transactions that will not be part of a series of repeated transactions. (All values are written in lowercase letters).","enum":["first","recurring","mit","cit","oneclick"]},"delivery_customer":{"description":"DeliveryCustomer","$ref":"#/definitions/DeliveryCustomer"},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"duplicate_check":{"type":"string","description":"This indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"}}},"DragonpayPaymentResponseDTO":{"type":"object","properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"url":{"type":"string","description":"Hosted payment page URL.Note: URL will not be sent in case of DECLINED or FAILED Scenario"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of Success, see reason codes section for declined scenarios and error codes section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0."},"status":{"type":"string","enum":["PENDING","FAILED"]},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"amount":{"type":"string","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"dragonpay":{"description":"Dragonpay","$ref":"#/definitions/dragonPay"}}},"Element":{"type":"object","properties":{"count":{"type":"integer"},"field_name":{"type":"string"},"information_code":{"type":"string"}}},"EncryptedApplePayRequestDTO":{"type":"object","required":["amount","merchant_reference"],"properties":{"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"apple_pay":{"$ref":"#/definitions/apple_pay"},"customer":{"description":"customer","$ref":"#/definitions/CustomerDetails"},"delivery_customer":{"description":"DeliveryCustomer","$ref":"#/definitions/DeliveryCustomer"},"customer_ip":{"type":"string","description":"The IP address of the customer"},"locale":{"type":"string","description":"Locale Code. Valid Values: en_GB and en_US"},"recurring_type":{"type":"string","description":"This field is to be used only when a transaction is part of a series of recurring transactions. If it's the initial transaction, set the value to 'first', and if it's not, set it to 'recurring'. This field must not be included in transactions that will not be part of a series of repeated transactions. (All values are written in lowercase letters).","enum":["first","recurring","mit","cit","oneclick"]},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"duplicate_check":{"type":"string","description":"This indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"}}},"EncryptedCardDTO":{"type":"object","required":["encryptedPayload"],"properties":{"encryptedPayload":{"type":"string","description":"Encrypted request body with encrypted key passed in header. This field will contain the encryption data of all the fields from the cardPayRequest above and will be processed only when encrypted key is passed in header."}}},"EncryptedCardTokenDTO":{"type":"object","required":["encryptedPayload"],"properties":{"encryptedPayload":{"type":"string","description":"Encrypted request body with encrypted key passed in header. This field will contain the encryption data of all the fields mentioned in the Encrypt Create Token Request section above and will be processed only when encrypted key is passed in header."}}},"EncryptedPayloadRequestDTO":{"type":"object","properties":{"key1":{"type":"string","description":"Value"},"key2":{"type":"string","description":"Value"},"key3":{"type":"string","description":"Value"}}},"EncryptedPayloadResponseDTO":{"type":"object","properties":{"encryptedKey":{"type":"string","description":"Encrypted key associated to the encrypted payload."},"encryptedPayload":{"type":"string","description":"Encrypted payload of all the fields sent in the request."}}},"Errors":{"type":"object","properties":{"error_code":{"type":"integer","format":"int32","description":"Error Code"},"property":{"type":"string","description":"Property on which error occurs. e.g : it can be class name , field name"},"error_message":{"type":"string","description":"Error message"}}},"ExternalAuthentication":{"type":"object","required":["3ds_status","3ds_version","cavv","eci"],"properties":{"cavv":{"type":"string","description":"3-D Secure \"Cardholder Authentication Verification Value\"."},"xid":{"type":"string","description":"3-D Secure Xid."},"cavv_algorithm":{"type":"string","description":"3-D Secure \"Cardholder Authentication Verification Value\" algorithm(0-9)."},"3ds_status":{"type":"string","description":"3-D Secure status:\r\n\n y = authentication successful\r\n\n n = not authenticated\r\n\n u = authentication unavailable\r\n\n a = authentication attempted\r\n\n r = authentication rejected"},"eci":{"type":"string","description":"The Electronic Commerce Indicator (ECI)."},"3ds_enrolled":{"type":"string","description":"Card's enrollment status. \n\n **Note:** This field may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information."},"directory_server_transaction_id":{"type":"string","description":"The 3-D Secure Directory Server transaction ID that is used for the 3D Authentication.\n\n**Note:** This field is required when 3ds 2.0 is used."},"3ds_transaction_status_reason":{"type":"string","description":"3-D Secure out of scope reason. Shall be used if the transaction type is out of scope of Strong Customer Authentication (SCA). The following transaction types are out of scope of SCA:\r\n\n mit Merchant Initiated Transactions\r\n\n moto Mail Order/Telephone Order\r\n\n one_leg_out\r\n\n anonymous_prepaid_card"},"3ds_score":{"type":"string","description":"CB scoring. Mandatory for CB transactions."},"3ds_preference":{"type":"string","description":"3DS Requestor Challenge Indicator. Mandatory for CB.\r\n\n Acccepted values:\r\n\n  sca ask for a strong authentication;\r\n\n frictionless ask for a frictionless authentication;\r\n\n nopref or absent, the decision will be made by Dalenys;\r\n\n scamandate strong authentication required by regulation"},"3ds_mode":{"type":"string","description":"Applied authentification mode:\r\n sca Strong authentication;\r\n frictionless Frictionless authentication;"},"3ds_version":{"type":"string","description":"The 3-D Secure version used for the authentication."},"3ds_result":{"type":"string","description":"6 character value composed of 3DSECURESTATUS converted to hexadecimal concatenated with the result VRes converted to hexadecimal"},"3ds_server_transaction_id":{"type":"string","description":"The 3-D Secure Server transaction ID that is used for the 3-D Secure version 2 Authentication."},"3ds_acs_transaction_id":{"type":"string","description":"Unique transaction identifier assigned by the ACS to identify the transaction."},"authentication_outage":{"type":"boolean","example":false,"description":"Authentication outage used for 3ds transactions if there is an authentication outage. Set the value as true for these type of scenarios. The field is applicable only for acquirers."}}},"ExternalRiskData":{"type":"object","properties":{"session_id":{"type":"string","description":"Session ID of the transaction. This session id can be used to obtain device fingerprint information. You can use any id that you are already generating, such as an order number or web session ID."},"provider":{"type":"string","description":"Third party provider for the risk check.","enum":["CYBERSOURCE"]},"cs_dm":{"description":"CybersourceDecisionManagerRequest","$ref":"#/definitions/CybersourceDecisionManagerRequest"}}},"FailResponseDTO":{"type":"object","required":["amount","card"],"properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"card":{"$ref":"#/definitions/RiskCheckCardDetails"},"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"blocked":{"type":"boolean","example":false,"description":"True if the transaction has been blocked by a ruleset, false otherwise"},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"customer_ip":{"type":"string","description":"The IP address of the customer"},"pares":{"type":"string","description":"The unmodified PaRes value as received after the customer was redirected back from 3DS Authentication."},"recurring_type":{"type":"string","description":"The value used to flag how the acquirer/ issuer should consider the transaction","enum":["first","recurring","oneclick","mit","cit","install"]},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"actions":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string","description":"The time at which the transaction was created"},"cvv_present":{"type":"boolean","example":false,"description":"True if the card was used with a cvv"},"fees":{"type":"array","items":{"type":"integer","format":"int32"}},"geo_locations":{"type":"array","description":"The latitude/longitude resolved from the customer's ip address","items":{"type":"integer","format":"int32"}},"card_brand":{"type":"string","description":"Card brand for the card used for processing","enum":["amex","diners","discover","elo","jcb","maestro","mastercard","visa","visa electron","carte bancaire"]},"last_status_update":{"type":"string","description":"The last time when the status of the transaction was updated"},"issuer_name":{"type":"string","description":"Card Issuer Name for this transaction"},"billing_address":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/BillingAddressApplepay"},"issuer_country":{"type":"string","description":"Issuing country of the card. A 2-letter ISO3166 alpha-2. Acquirer country code"},"delivery_address":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/deliveryAddress"},"organisation_psp_name":{"type":"string","description":"The name of the processor as setup within the APEXX payment gateway. i.e. Merchant Name - Acquirer Name"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"details":{"$ref":"#/definitions/Details"},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"payment product = \"card\"":{"type":"string","description":"The payment product corresponding to this transaction"},"fraud_predictions":{"type":"array","items":{"$ref":"#/definitions/FraudPredictions"}},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"status = \"FAILED\"":{"type":"string"},"three_ds":{"description":"Enroll a given transaction for 3D-secure to verify whether authentication is supported for the card being used.","$ref":"#/definitions/ThreeDSCardEnroll"},"cvv_result":{"type":"string","description":"CVV verification result, as returned by the processor."},"avs_result":{"type":"string","description":"Address verification services result, as returned by the processor"},"acquirer_name":{"type":"string","description":"The name of the acquirer as setup within the APEXX payment gateway."},"external_risk_data":{"$ref":"#/definitions/FraudCheckResponse"}}},"FailedResponseDTO":{"type":"object","required":["_id","code","details","merchant_reference","message","organisation_id","timestamp"],"properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"code":{"type":"string","description":"An alphanumeric code which uniquely identify an error."},"organisation_id":{"type":"string","description":"The ID of an organisation."},"details":{"type":"string","description":"Optional details concerning the error."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"message":{"type":"string","description":"A description of the error."},"timestamp":{"type":"integer","format":"int64","description":"Current timestamp."},"errors":{"type":"array","description":"Details of each error occured.","items":{"$ref":"#/definitions/Errors"}}}},"FailureResponseDTO":{"type":"object","properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"organisation_id":{"type":"string","description":"The ID of an organisation."},"code":{"type":"string","description":"An alphanumeric code which uniquely identify an error."},"status":{"type":"string","description":"It will indicate what is the final result of the request."},"message":{"type":"string","description":"A description of the response."},"timestamp":{"type":"integer","format":"int64","description":"Current timestamp."},"details":{"type":"string","description":"Optional details concerning the error."},"errors":{"type":"array","description":"Details of each error occured.","items":{"$ref":"#/definitions/Errors"}},"trace_id":{"type":"string","description":"Unique trace id created by APEXX platform to trace this request."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."}}},"FailureResponseDTOApplepay":{"type":"object","properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"code":{"type":"string","description":"An alphanumeric code which uniquely identify an error."},"message":{"type":"string","description":"A description of the response."},"timestamp":{"type":"integer","format":"int64","description":"Current timestamp."},"details":{"type":"string","description":"Optional details concerning the error."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."}}},"FlightDetails":{"type":"object","properties":{"carrier_code":{"type":"string","description":"Travel carrier code"},"flight_number":{"type":"integer","format":"int32","description":"Flight number excluding carrier code."},"origin_airport":{"type":"string","description":"Origin airport/city IATA code."},"origin_city":{"type":"string","description":"Origin city name."},"service_class":{"type":"string","description":"Ticket category/class (“0” if no class).","enum":["economy","premium economy","business class","first class","0"]},"stop_over_code":{"type":"string","description":"Stop over code. O (capital letter “O”): Stopover allowed. X (capital letter “X”): Stopover not allowed","enum":["X","O"]},"departure_date":{"type":"string","description":"Departure date. Format - YYYY-MM-DD HH:mm:ss"},"destination_airport":{"type":"string","description":"Destination airport/city IATA code."},"destination_city":{"type":"string","description":"Destination city name"},"fare_basis_code":{"type":"string","description":"Fare basis code"},"departure_tax_amount":{"type":"integer","format":"int32","description":"Amount of departure tax for this leg of the trip."},"conjunction_ticket":{"type":"string","description":"Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments."},"exchange_ticket_number":{"type":"string","description":"New ticket number that is issued when the ticket is exchanged for this leg of the trip."},"coupon_number":{"type":"string","description":"Coupon number for the leg"},"endorsements_restrictions":{"type":"string","description":"Notes or notations about endorsements and restrictions for this leg of the trip. Endorsements can be notations added by the travel agency, including mandatory government required notations such as value added tax. Restrictions are limitations for the ticket based on the type of fare, such as a nonrefundable tic."},"total_fare_amount":{"type":"integer","format":"int32","description":"Total fare for this leg of the trip."},"fee_amount":{"type":"integer","format":"int32","description":"Fee for this leg of the trip, such as an airport fee or country fee."},"tax_amount":{"type":"integer","format":"int32","description":"Tax for this leg of the trip."}}},"FraudCheckResponse":{"type":"object","properties":{"provider":{"type":"string","description":"Third party provider for the risk check."},"score":{"type":"number","format":"double","description":"Total score calculated for this order. The value cannot be negative."},"status":{"type":"string","description":"Status of the risk check."},"created_at":{"type":"string","format":"date-time","description":"The time at which the transaction was created"},"cs_dm":{"$ref":"#/definitions/CybersourceDecisionManagerResponse"},"code":{"type":"string","description":"An alphanumeric code which uniquely identify an error."},"details":{"type":"string","description":"Optional details concerning the error."},"message":{"type":"string","description":"A description of the error."},"timestamp":{"type":"integer","format":"int64","description":"Current timestamp"}}},"FraudPredictions":{"type":"object","properties":{"error_message":{"type":"string","description":"A description of the error."},"rec":{"type":"string"},"rules_triggered":{"type":"array","description":"The rules triggered for the fraud predictions","items":{"type":"string"}},"score":{"type":"integer","format":"int32","description":"Total score calculated for this order. The value cannot be negative"}}},"GiroPayCustomer":{"type":"object","properties":{"address":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/giroAddressDetails"},"date_of_birth":{"type":"string","description":"The date of birth of a customer, 10 characters, ISO-8601 (YYYY-MM-DD)."},"email":{"type":"string","description":"Email address of the customer.\n\nNote: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(â€˜)"},"first_name":{"type":"string","description":"First name of the customer."},"last_name":{"type":"string","description":"Last name of the customer."},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"}}},"GooglePay":{"type":"object","required":["cryptogram","dpan","expiry_month","expiry_year"],"properties":{"cryptogram":{"type":"string","description":"Required only if using the PSP decryption method. This value should be base64 encoded if the intermediary PSP is Cybersource or ACI\n\n Google pay online payment cryptogram for 3d secure which maps to the paymentData.onlinePaymentCryptogram property in the encrypted payment data."},"expiry_month":{"type":"string","description":"Required only if using the merchant decryption method\n\n Card expiry month - A string representing the month, valid values are 01 to 12. Maps to the applicationExpirationDate property in the encrypted payment data. Need to send only Month from the received data."},"expiry_year":{"type":"string","description":"Required only if using the merchant decryption method\n\n Card expiry year - A string representing the last two digits of the year, e.g. 19 for 2019. Maps to the applicationExpirationDate property in the encrypted payment data. Need to send only Year from the received data."},"dpan":{"type":"string","description":"Required only if using the merchant decryption method\n\n Device specific PAN - Maps to the applicationPrimaryAccountNumber property in the encrypted payment data."},"eci":{"type":"string","description":"Required only if using the merchant decryption method\n\n Electronic Commerce Indicator - Maps to the paymentData.eciIndicator property in the encrypted payment data."},"googlepay_transaction_id":{"type":"string","description":"Googlepay Transaction id received from googlepay."}}},"GooglePayRequestDTO":{"type":"object","required":["amount","capture_now","merchant_reference"],"properties":{"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"google_pay":{"$ref":"#/definitions/Google_Pay"},"customer_ip":{"type":"string","description":"The IP address of the customer"},"delivery_customer":{"$ref":"#/definitions/DeliveryCustomer"},"customer":{"description":"customer","$ref":"#/definitions/CustomerDetails"},"recurring_type":{"type":"string","description":"This field is to be used only when a transaction is part of a series of recurring transactions. If it's the initial transaction, set the value to 'first', and if it's not, set it to 'recurring'. This field must not be included in transactions that will not be part of a series of repeated transactions. (All values are written in lowercase letters).","enum":["first","recurring","mit","cit","oneclick"]},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"locale":{"type":"string","description":"Locale code","enum":["en_GB","en_US"]},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"duplicate_check":{"type":"string","description":"This indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"}}},"GooglePayResponseDTO":{"type":"object","required":["amount"],"properties":{"billing_address":{"$ref":"#/definitions/Address"},"card":{"$ref":"#/definitions/CardDTO"},"delivery_address":{"$ref":"#/definitions/Address"},"details":{"$ref":"#/definitions/Details"},"external_risk_data":{"$ref":"#/definitions/FraudCheckResponse"},"fraud_predictions":{"type":"array","items":{"$ref":"#/definitions/FraudPredictions"}},"three_ds":{"description":"Enroll a given transaction for 3D-secure to verify whether authentication is supported for the card being used.","$ref":"#/definitions/ThreeDSCardEnrolRequest"},"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"blocked":{"type":"boolean","example":false,"description":"True if the transaction has been blocked by a ruleset, false otherwise"},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"customer_ip":{"type":"string","description":"The IP address of the customer"},"pares":{"type":"string","description":"The unmodified PaRes value as received after the customer was redirected back from 3DS Authentication."},"recurring_type":{"type":"string","description":"The value used to flag how the acquirer/ issuer should consider the transaction","enum":["first","recurring","oneclick","mit","cit","install"]},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"actions":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string","description":"The time at which the transaction was created"},"cvv_present":{"type":"boolean","example":false,"description":"True if the card was used with a cvv"},"fees":{"type":"array","items":{"type":"integer","format":"int32"}},"geo_location":{"type":"array","description":"The latitude/longitude resolved from the customer's ip address","items":{"type":"integer","format":"int32"}},"payment_product":{"type":"string","description":"The payment product corresponding to this transaction"},"card_brand":{"type":"string","description":"Card brand for the card used for processing","enum":["amex","diners","discover","elo","jcb","maestro","mastercard","visa","visa electron","carte bancaire"]},"last_status_update":{"type":"string","description":"The last time when the status of the transaction was updated"},"issuer_name":{"type":"string","description":"Card Issuer Name for this transaction"},"issuer_country":{"type":"string","description":"Issuing country of the card. A 2-letter ISO3166 alpha-2. Acquirer country code"},"organisation_psp_name":{"type":"string","description":"The name of the processor as setup within the APEXX payment gateway. i.e. Merchant Name - Acquirer Name"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"status":{"type":"string","description":"Status of the transaction.","enum":["AUTHORISED","CAPTURED","DECLINED"]},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"cvv_result":{"type":"string","description":"CVV verification result, as returned by the processor."},"avs_result":{"type":"string","description":"Address verification services result, as returned by the processor"},"acquirer_name":{"type":"string","description":"The name of the acquirer as setup within the APEXX payment gateway."}}},"Google_Pay":{"type":"object","required":["encrypted_payment_data"],"properties":{"encrypted_payment_data":{"type":"string","description":"Encrypted Payment data received from Googlepay after user authenticates with Fingerprint or Face ID."},"ephemeral_public_key":{"type":"string","description":"This is a temporary key for generating shared secret. This is different for each transaction"},"googlepay_transaction_id":{"type":"string","description":"Googlepay Transaction id received from googlepay."},"signature":{"type":"string","description":"This is a temporary key for generating shared secret. This is different for each transaction"}}},"GooglepayProcessingErrorDTO":{"type":"object","required":["amount"],"properties":{"billing_address":{"$ref":"#/definitions/Address"},"card":{"$ref":"#/definitions/CardDTO"},"delivery_address":{"$ref":"#/definitions/Address"},"details":{"$ref":"#/definitions/Details"},"external_risk_data":{"$ref":"#/definitions/FraudCheckResponse"},"fraud_predictions":{"type":"array","items":{"$ref":"#/definitions/FraudPredictions"}},"three_ds":{"description":"Enroll a given transaction for 3D-secure to verify whether authentication is supported for the card being used.","$ref":"#/definitions/ThreeDSCardEnrolRequest"},"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"blocked":{"type":"boolean","example":false,"description":"True if the transaction has been blocked by a ruleset, false otherwise"},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"customer_ip":{"type":"string","description":"The IP address of the customer"},"pares":{"type":"string","description":"The unmodified PaRes value as received after the customer was redirected back from 3DS Authentication."},"recurring_type":{"type":"string","description":"The value used to flag how the acquirer/ issuer should consider the transaction","enum":["first","recurring","oneclick","mit","cit","install"]},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"actions":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string","description":"The time at which the transaction was created"},"cvv_present":{"type":"boolean","example":false,"description":"True if the card was used with a cvv"},"fees":{"type":"array","items":{"type":"integer","format":"int32"}},"geo_location":{"type":"array","description":"The latitude/longitude resolved from the customer's ip address","items":{"type":"integer","format":"int32"}},"payment_product":{"type":"string","description":"The payment product corresponding to this transaction"},"card_brand":{"type":"string","description":"Card brand for the card used for processing","enum":["amex","diners","discover","elo","jcb","maestro","mastercard","visa","visa electron","carte bancaire"]},"last_status_update":{"type":"string","description":"The last time when the status of the transaction was updated"},"issuer_name":{"type":"string","description":"Card Issuer Name for this transaction"},"issuer_country":{"type":"string","description":"Issuing country of the card. A 2-letter ISO3166 alpha-2. Acquirer country code"},"organisation_psp_name":{"type":"string","description":"The name of the processor as setup within the APEXX payment gateway. i.e. Merchant Name - Acquirer Name"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"status":{"type":"string","enum":["FAILED"]},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"cvv_result":{"type":"string","description":"CVV verification result, as returned by the processor."},"avs_result":{"type":"string","description":"Address verification services result, as returned by the processor"},"acquirer_name":{"type":"string","description":"The name of the acquirer as setup within the APEXX payment gateway."}}},"HPPCard":{"type":"object","properties":{"tokenise_status":{"type":"string","description":"Status of the transactions when cards should be tokenised.","enum":["AUTHORISED","CAPTURED","FAILED","DECLINED"]},"create_token":{"type":"string","description":"Whether to create a token or not for the card. Defaults to 'false'. Setting it to 'true' will create the token for the card."}}},"HostedCancelResponseDto":{"type":"object","required":["amount","merchant_reference"],"properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"created_at":{"type":"string","description":"The time at which the transaction was created"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"status":{"type":"string","description":"Status of the transaction.","enum":["CANCELLED"]}}},"HostedPayRequestRedocDTO":{"type":"object","required":["amount","capture_now","locale","merchant_reference","return_url"],"properties":{"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"return_url":{"type":"string","description":"The return url to which the customer is redirected after an transaction is processed."},"Items":{"type":"array","description":"Items","items":{"$ref":"#/definitions/Items"}},"customer_ip":{"type":"string","description":"The IP address of the customer"},"template_name":{"type":"string","description":"CSS Template to be used on hosted page to match the hosted page with your website. This field would be ignored if the template is not found in our system and default template will be picked up"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"billing_address":{"description":"Billing address details for the customer","$ref":"#/definitions/BillingAddress"},"locale":{"type":"string","description":"Locale code","enum":["en_GB","en_US"]},"show_order_summary":{"type":"string","description":"\n\n This field allows you to customise the order summary block in the HPP iframe. True will load the order summary in the page and false will hide it.","enum":["true","false"]},"customer":{"description":"customer","$ref":"#/definitions/AuthorisePaymentCustomer"},"three_ds":{"description":"Enroll a given transaction for 3D-secure to verify whether authentication is supported for the card being used.","$ref":"#/definitions/hpp_threeds"},"card":{"description":"The new card number, also known as PAN.","$ref":"#/definitions/HPPCard"},"card_brand":{"type":"string","description":"Card brand for the card used for processing ","enum":["amex","diners","discover","elo","jcb","maestro","mastercard","visa","visa electron","carte bancaire"]},"show_custom_fields":{"description":"This field describes the custom fields for HPP.","$ref":"#/definitions/ShowCustomFields"},"show_custom_labels":{"description":"This field describes the custom label fields for HPP. It will display only in the vertical alignment","$ref":"#/definitions/ShowCustomLabels"},"delivery_address":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/deliveryAddress"},"transaction_css_template":{"type":"string","description":"CSS data to be used on hosted page to match the hosted page with your website. This field would be ignored if organisation is not configured to use css_template."},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"},"external_risk_data":{"$ref":"#/definitions/ExternalRiskData"},"recurring_type":{"type":"string","description":"This field is to be used only when a transaction is part of a series of recurring transactions. If it's the initial transaction, set the value to 'first', and if it's not, set it to 'recurring'. This field must not be included in transactions that will not be part of a series of repeated transactions. (All values are written in lowercase letters).","enum":["first","recurring","mit","cit","oneclick"]},"timeout_duration":{"type":"string","description":"This field allows you to set the expiry time for the Hosted Payment Page."},"timeout_units":{"type":"string","description":"This fields allows you to set the unit of the expiry time for Hosted Payment Page."},"expiry_return_url":{"type":"string","description":"The return url to which the customer is redirected after an Hosted Payment Page is expired."},"pay_fac_sub_merchant_id":{"type":"string","description":"Payment Facilitator submerchant account Identifier in the marketplace."},"merchant_data":{"description":"Merchant Data","$ref":"#/definitions/MerchantData"}}},"HostedPayResponseRedocDTO":{"type":"object","properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"errors":{"type":"array","description":"Errors","items":{"$ref":"#/definitions/Errors"}},"trace_id":{"type":"string","description":"Unique trace id created by APEXX platform to trace this request."},"url":{"type":"string","description":"Checkout URL for hosted payment page."}}},"HostedPreTxnErrorResponseDTO":{"type":"object","properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"code":{"type":"string","description":"An alphanumeric code which uniquely identify an error."},"details":{"type":"string","description":"Optional details concerning the error."},"duplicate":{"type":"string","description":"Property helps determine whether response is duplicate or not"},"errors":{"type":"array","description":"Errors","items":{"$ref":"#/definitions/Errors"}},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"message":{"type":"string","description":"A description of the response."},"status":{"type":"string","description":"It will indicate what is the final result of the request.","enum":["FAILED"]},"stc_used":{"type":"string","description":"Property helps determine the transaction risk api if paypal was used or not"},"timestamp":{"type":"integer","format":"int64","description":"Current timestamp."},"trace_id":{"type":"string","description":"Unique trace id created by APEXX platform to trace this request."}}},"HostedPreTxnResponseDTO":{"type":"object","properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"amount":{"type":"string","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"duplicate":{"type":"string","description":"Property helps determine whether response is duplicate or not"},"errors":{"type":"array","description":"Errors","items":{"$ref":"#/definitions/Errors"}},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of Success, see reason codes section for declined scenarios and error codes section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0."},"status":{"type":"string","enum":["AUTHENTICATION_REQUIRED","DECLINED","PENDING"]},"stc_used":{"type":"string","description":"Property helps determine the transaction risk api if paypal was used or not"},"trace_id":{"type":"string","description":"Unique trace id created by APEXX platform to trace this request."},"url":{"type":"string","description":"Checkout URL for hosted payment page."}}},"HostedTokenRequest":{"type":"object","required":["locale","organisation_id","return_url"],"properties":{"organisation_id":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"save_button":{"type":"string","description":"True will show the save button on the Hosted page, False will try to auto save the card details as soon as user fills all details."},"return_url":{"type":"string","description":"The return url to which the customer is redirected after a token is created."},"locale":{"type":"string","description":"Locale code.","enum":["en_GB","en_US"]},"billing_address":{"description":"Billing Address","$ref":"#/definitions/BillingAddressDetails"}}},"HostedTokenResponseDTO":{"type":"object","properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"url":{"type":"string","description":"Hosted token page URL"}}},"Hotel":{"type":"object","properties":{"room":{"description":"The object containing the number of nights and the daily rate that applies for that number of nights.","$ref":"#/definitions/Room"},"charge":{"description":"Indicates the type of charge if it is for an airline ticket or another type of expense. 01: Charge is for an airline ticket. 02: Charge is for an item that is not an airline ticket","$ref":"#/definitions/Charge"},"tax_detail":{"type":"array","description":"Hotel tax details","items":{"$ref":"#/definitions/TaxDetail"}},"additional_discount_amount":{"type":"string","description":"Amount of an additional coupon or discount."},"adjusted_amount":{"type":"string","description":"Adjusted amount charged in addition to the reservation amount after the stay is complete."}}},"Ideal-Giropay":{"type":"object","required":["account_holder_name","redirection_parameters"],"properties":{"account_holder_name":{"type":"string","description":"Name of the account holder.\n\nNote: Only numeric characters are not support"},"bic":{"type":"string","description":"BIC of the consumer’s account."},"redirection_parameters":{"$ref":"#/definitions/PproRedirectionParameterDTO"}}},"IdealPayCustomer":{"type":"object","properties":{"address":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/idealAddressDetails"},"date_of_birth":{"type":"string","description":"The date of birth of a customer, 10 characters, ISO-8601 (YYYY-MM-DD)."},"email":{"type":"string","description":"Email address of the customer.\n\nNote: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(â€˜)"},"first_name":{"type":"string","description":"First name of the customer."},"last_name":{"type":"string","description":"Last name of the customer."},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"}}},"IdealResponse":{"type":"object","properties":{"account_holder_name":{"type":"string","description":"Name of the account holder.\n\nNote: Only numeric characters are not support"},"payment_purpose":{"type":"string","description":"Descriptor for response that consumer will receive."},"source_bic":{"type":"string","description":"BIC of the consumer’s account."},"source_iban":{"type":"string","description":"IBAN of the consumer’s account."}}},"InfoCodesDTO":{"type":"object","properties":{"address":{"type":"array","items":{"type":"string"}},"customer_list":{"type":"array","items":{"type":"string"}},"global_velocity":{"type":"array","items":{"type":"string"}},"identity_change":{"type":"array","items":{"type":"string"}},"internet":{"type":"array","items":{"type":"string"}},"phone":{"type":"array","items":{"type":"string"}},"suspicious":{"type":"array","items":{"type":"string"}},"velocity":{"type":"array","items":{"type":"string"}}}},"InstallmentDTO":{"type":"object","properties":{"profile_number":{"type":"string","description":"Installment profile number"},"customer_interest_rate":{"type":"string","description":"Customer interest rate."},"number_of_installments":{"type":"string","description":"Number of installments"}}},"InstallmentInformation":{"type":"object","properties":{"plan_type":{"type":"string","description":"Flag that indicates the type of funding for the installment plan associated with the payment. \n\n This is an optional field for most processors; however, it is mandatory if your processor is PROSA. Please speak to your Implementation Manager for further information.","enum":["merchant funded","issuer funded","non promotion","skip payment"]},"total_count":{"type":"integer","format":"int32","description":"Total number of installments when making payments in installments."}}},"Insurance":{"type":"object","properties":{"agency_name":{"type":"string","description":"Name of insurer"},"type":{"type":"string","description":"Type of insurance","enum":["cancellation","travel","cancellation_travel","car","bankruptcy"]},"amount":{"type":"integer","format":"int32","description":"Amount of order charged without a decimal place e.g. $1.50 = 150"}}},"ItemDetails":{"type":"object","required":["gross_unit_price","item_description","net_unit_price","product_id","quantity"],"properties":{"product_id":{"type":"string","description":"Merchant Product identification number"},"group_id":{"type":"string","description":"Item group ID. The group this item belongs to. Provided by the merchant"},"item_description":{"type":"string","description":"Product name. For example \"Black music player 64GB\". Everything over 255 characters will be truncated"},"net_unit_price":{"type":"integer","format":"int64","description":"Net unit price.\n\nNote: net_unit_price is only required if the vat_percent is not provided."},"gross_unit_price":{"type":"integer","format":"int64","description":"Gross price per item"},"quantity":{"type":"integer","format":"int64","description":"Quantity"},"vat_percent":{"type":"string","description":"Tax percent"},"vat_amount":{"type":"string","description":"Tax amount per item"},"product_image_url":{"type":"string","description":"URL for the image of this product. It will be turned into a thumbnail and displayed in MyAfterPay, on the invoice line next to the order item. The linked image must be a rectangle or square, width between 100 pixels and 1280 pixels."},"product_url":{"type":"string","description":"URL to the product"},"additional_information":{"type":"string","description":"Extended description of the order item"}}},"Items":{"type":"object","required":["gross_unit_price","item_description","net_unit_price","product_id","quantity"],"properties":{"distributor_sku":{"type":"string"},"item_name":{"type":"string"},"merchant_sku":{"type":"string"},"product_id":{"type":"string","description":"Merchant Product identification number"},"group_id":{"type":"string","description":"Item group ID. The group this item belongs to. Provided by the merchant"},"item_description":{"type":"string","description":"Product name. For example \"Black music player 64GB\". Everything over 255 characters will be truncated"},"net_unit_price":{"type":"integer","format":"int64","description":"Net unit price.\n\nNote: net_unit_price is only required if the vat_percent is not provided."},"gross_unit_price":{"type":"integer","format":"int64","description":"Gross price per item"},"quantity":{"type":"integer","format":"int64","description":"Quantity"},"vat_percent":{"type":"number","format":"double","description":"Tax percent"},"vat_amount":{"type":"integer","format":"int64","description":"Tax amount per item"},"product_image_url":{"type":"string","description":"URL for the image of this product. It will be turned into a thumbnail and displayed in MyAfterPay, on the invoice line next to the order item. The linked image must be a rectangle or square, width between 100 pixels and 1280 pixels."},"product_url":{"type":"string","description":"URL to the product"},"additional_information":{"type":"string","description":"Extended description of the order item"}}},"Items_":{"type":"object","properties":{"product_id":{"type":"string","description":"Merchant Product identification number"},"group_id":{"type":"string","description":"Item group ID. The group this item belongs to. Provided by the merchant"},"item_description":{"type":"string","description":"Product name. For example \"Black music player 64GB\". Everything over 255 characters will be truncated"},"net_unit_price":{"type":"integer","format":"int32","description":"Net unit price.\n \n <b>Note:</b> net_unit_price is only required if the vat_percent is not provided."},"gross_unit_price":{"type":"integer","format":"int32","description":"Gross price per item"},"quantity":{"type":"integer","format":"int32","description":"Quantity"},"vat_percent":{"type":"number","format":"float","description":"Tax percent"},"vat_amount":{"type":"integer","format":"int32","description":"Tax amount per item"},"discount":{"type":"integer","format":"int32","description":"Discount amount per item."},"product_image_url":{"type":"string","description":"URL for the image of this product."},"product_url":{"type":"string","description":"URL to the product"},"additional_information":{"type":"string","description":"Extended description of the order item"}}},"LabelsRedocDTO":{"type":"object","properties":{"card_number":{"type":"string","description":"This fields allows to provide a customized label name for card number field"},"cvv":{"type":"string","description":"This fields allows to provide a customized label name for cvv field"},"expiry_month":{"type":"string","description":"This fields allows to provide a customized label name for expiry month field"},"expiry_year":{"type":"string","description":"This fields allows to provide a customized label name for expiry year field"},"expiry_date":{"type":"string","description":"This fields allows to provide a customized label name for expiry date field"},"card_holder_name":{"type":"string","description":"This fields allows to provide a customized label name for car holder name field"},"address":{"description":"This fields allows to provide a customized label name for address block fields","$ref":"#/definitions/AddressLabelRedocDTO"}}},"Legs":{"type":"object","properties":{"insurance":{"type":"array","items":{"$ref":"#/definitions/Insurance"}},"amount":{"type":"integer","format":"int32","description":"Amount of leg of booking"},"passenger_index":{"type":"array","description":"Array of passenger index values of passengers present for this leg of booking.","items":{"type":"number"}},"check_in_date":{"type":"string","description":"For booking_type= “hotel”\nStart date of reservation.\nFor booking_type= “car”\nDate-time the auto was picked up from the rental agency. Format: YYYY-MM-DD HH:mm:ss"},"check_out_date":{"type":"string","description":"For booking_type= “hotel”\nEnd date of reservation. \nFor booking_type= “car”\nDate-time the auto was returned to the rental agency. Format: YYYY-MM-DD HH:mm:ss"},"provider_group":{"type":"string","description":"Name of hotel parent group"},"provider_name":{"type":"string","description":"Name of hotel chain"},"room_count":{"type":"integer","format":"int32","description":"Number of rooms under booking"},"traveller_count":{"type":"integer","format":"int32","description":"Number of travellers under booking"},"origin_address":{"type":"string","description":"Street address of origin point.\n \n  Note: Supports only ISO-8859-1 characters."},"origin_city":{"type":"string","description":"City Journey begins"},"origin_postal_code":{"type":"string","description":"A postal/zip code for the address. Note: Only alpha-numeric characters, Special characters allowed are hyphen(-) and spaces."},"origin_country_code":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. Note: Alphabets upto two characters (e.g. GB, RU etc..)"},"origin_state":{"type":"string","description":"State Journey begins"},"origin_location_id":{"type":"string","description":"The agency code, address, phone number, etc., used to identify the location of origin"},"origin_location":{"type":"string","description":"The location where a taxi passenger was picked up or where an auto rental vehicle was picked up."},"route_stops":{"type":"array","description":"Array of stopping points on trip","items":{"$ref":"#/definitions/RouteStops"}},"destination_address":{"type":"string","description":"Address of accomodation.\n \n  Note: Supports only ISO-8859-1 characters."},"destination_city":{"type":"string","description":"Final destination City"},"destination_postal_code":{"type":"string","description":"A postal/zip code for the address. Note: Only alpha-numeric characters, Special characters allowed are hyphen(-) and spaces."},"destination_country_code":{"type":"string","description":"Destination country. A 2-letter ISO3166 alpha-2. country code for the address. Note: Alphabets upto two characters (e.g. GB, RU, etc.)"},"destination_state":{"type":"string","description":"Final destination State."},"destination_location_id":{"type":"string","description":"The agency code, address, phone number, etc., used to identify the location of destination."},"destination_location":{"type":"string","description":"The location where a taxi passenger was dropped or where an auto rental vehicle was returned."},"adults_count":{"type":"integer","format":"int32","description":"Number of adults under booking"},"booking_type":{"type":"string","description":"The type of booking being made.","enum":["hotel","rental","car","cruise","flight","train","coach"]},"data":{"type":"array","description":"Array of provider specific key values pairs, should be an array of the 'key_name' value and the 'value' value - Please speak to your Implementation manager for details on usage.","items":{"$ref":"#/definitions/data"}},"child_count":{"type":"integer","format":"int32","description":"Number of children under booking"},"beds_count":{"type":"integer","format":"int32","description":"Number of rooms under booking"},"vehicle_type":{"type":"string","description":"Name of vehicle being rented"},"class":{"type":"string","description":"Class of travel or stay. e.g. \"first\", \"premium\", \"luxury suite\" - free text field, not enum"},"carrier_code":{"type":"string","description":"Travel carrier code"},"travel_mode_reference":{"type":"integer","format":"int32","description":"Flight/Travel mode number excluding carrier code"},"origin_port":{"type":"string","description":"Origin airport/port/city IATA code"},"service_class":{"type":"string","description":"Service Class. Send \"0\" if Ticket category/class or if no class.","enum":["first class","Second class","business","Economic","0"]},"stop_over_code":{"type":"string","description":"Stop over code"},"departure_date":{"type":"string","description":"Departure date. Format - YYYY-MM-DD HH:mm:ss"},"arrival_date":{"type":"string","description":"Inbound arrival date and time of the booking. Format: YYYY-MM-DD HH:mm:ss"},"destination_port":{"type":"string","description":"Destination airport/port/city IATA code"},"fare_basis_code":{"type":"string","description":"Fare basis code"},"departure_tax_amount":{"type":"integer","format":"int32","description":"Amount of departure tax for this leg of the trip"},"conjunction_ticket":{"type":"string","description":"Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments"},"exchange_ticket_number":{"type":"string","description":"New ticket number that is issued when the ticket is exchanged for this leg of the trip."},"coupon_number":{"type":"string","description":"Coupon number for the leg"},"endorsements_restrictions":{"type":"string","description":"Notes or notations about endorsements and restrictions for this leg of the trip. Endorsements can be notations added by the travel agency, including mandatory government required notations such as value added tax. Restrictions are limitations for the ticket based on the type of fare, such as a nonrefundable tic."},"total_fare_amount":{"type":"integer","format":"int32","description":"Total fare for this leg of the trip."},"fee_amount":{"type":"integer","format":"int32","description":"Fee for this leg of the trip, such as an airport/port fee or country/city fee"},"tax_amount":{"type":"integer","format":"int32","description":"Tax for this leg of the trip"},"delivery":{"type":"string","description":"The way the item is being delivered","enum":["delivery","collection","email"]}}},"MerchantData":{"type":"object","properties":{"brand_name":{"type":"string","description":"Merchant Brand name"},"custom_data":{"type":"object"},"website_url":{"type":"string","description":"Merchant website."}}},"MerchantDefinedInformationDTO":{"type":"object","properties":{"key":{"type":"string","description":"Fields that you can use to store information. The value appears in the Case Management Details window in the Business Center. The first four fields are the same fields that are used by the Secure Data services. See request code examples. Warning Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields.Personally identifying information includes, but is not limited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV, CVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension."},"value":{"type":"string","description":"String value for the key"}}},"MgwResponseDTO":{"type":"object","properties":{"authorize_payment_response":{"$ref":"#/definitions/PaymentResponseDTO"},"cancel_response":{"$ref":"#/definitions/CancelCreditTransactionResponse"},"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"organisation_id":{"type":"string","description":"The ID of an organisation."},"code":{"type":"string","description":"An alphanumeric code which uniquely identify an error."},"status":{"type":"string","description":"It will indicate what is the final result of the request."},"message":{"type":"string","description":"A description of the response."},"timestamp":{"type":"integer","format":"int64","description":"Current timestamp."},"trace_id":{"type":"string","description":"Unique trace id created by APEXX platform to trace this request."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."}}},"NetworkToken":{"type":"object","required":["network_token"],"properties":{"network_token":{"type":"string","description":"The network token cryptogram representing the payment card."},"create_network_token":{"type":"boolean","example":false,"description":"Whether to create a network token or not for the card. Defaults to 'false'. Setting it to 'true' will create the network token for the card."}}},"OpenBanking":{"type":"object","required":["payment_method"],"properties":{"payment_method":{"type":"string","description":"Payment processor to process the payment","enum":["trustly","volt","trustly_subscription"]},"volt":{"description":"Type of the transaction","$ref":"#/definitions/volt"},"subscription":{"description":"Payment schedule","$ref":"#/definitions/subscription"}}},"OpenBankingCommonResponseDTO":{"type":"object","required":["_id","amount","merchant_reference","reason_code","status","url"],"properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"url":{"type":"string","description":"The checkout URL generated by Apexx against the checkout URL of Trustly."},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of Success, see reason codes section for declined scenarios and error codes section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0."},"status":{"type":"string","description":"Valid Values: PENDING,DECLINED,FAILED"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"amount":{"type":"number","description":"Amount received in the request."},"psp_transaction_reference":{"type":"string","description":"This is the unique reference provided by Trustly."},"mandate_id":{"type":"number","description":"This is the unique mandate id generated by Apexx which is used for all downstream operations."}}},"OpenBankingCreditTxnDTO":{"type":"object","required":["payment_method"],"properties":{"payment_method":{"type":"string","description":"Payment processor to process the credit transaction","enum":["volt"]}}},"OpenBankingDepositRequest":{"type":"object","required":["amount","billing_address","currency","customer","locale","merchant_reference","open_banking","organisation","redirect_urls"],"properties":{"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"customer_ip":{"type":"string","description":"The IP address of the customer"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"billing_address":{"description":"Billing address details for the customer","$ref":"#/definitions/openBankingBillingAddress"},"locale":{"type":"string","description":"Locale Code. Valid Values: en_GB and en_US"},"open_banking":{"description":"Open Banking specific Object","$ref":"#/definitions/OpenBanking"},"redirect_urls":{"description":"Redirection URL Details","$ref":"#/definitions/redirect_urls"},"customer":{"description":"openBankingCustomerDetails","$ref":"#/definitions/openBankingCustomerDetails"},"delivery_address":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/openBankingDeliveryAddress"}}},"OpenBankingDepositResponseDTO":{"type":"object","required":["_id","amount","merchant_reference","reason_code","status"],"properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of Success, see reason codes section for declined scenarios and error codes section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0."},"status":{"type":"string","description":"FAILED"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"amount":{"type":"number","description":"Amount received in the request."},"psp_transaction_reference":{"type":"string","description":"This is the unique reference provided by Trustly."},"mandate_id":{"type":"number","description":"This is the unique mandate id generated by Apexx which is used for all downstream operations."}}},"OpenBankingFailureResponse":{"type":"object","required":["_id","code","details","merchant_reference","message","timestamp"],"properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"code":{"type":"string","description":"An alphanumeric code which uniquely identify an error."},"details":{"type":"string","description":"Optional details concerning the error."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"message":{"type":"string","description":"A description of the error."},"timestamp":{"type":"integer","format":"int64","description":"Current timestamp."}}},"OrderDeliveryData":{"type":"object","properties":{"address":{"type":"string","description":"Street address of the delivery"},"city":{"type":"string","description":"City of the delivery customer"},"postal_code":{"type":"string","description":"A postal/zip code for the address. Note: Only alpha-numeric characters, Special characters allowed are hyphen(-) and spaces."}}},"OrderItems":{"type":"object","properties":{"product_id":{"type":"string","description":"Merchant Product identification number"},"group_id":{"type":"string","description":"Item group ID. The group this item belongs to. Provided by the merchant"},"item_description":{"type":"string","description":"Product name. For example \"Black music player 64GB\". Everything over 255 characters will be truncated"},"net_unit_price":{"type":"integer","format":"int32","description":"Net unit price.\n \n <b>Note:</b> net_unit_price is only required if the vat_percent is not provided."},"gross_unit_price":{"type":"integer","format":"int32","description":"Gross price per item"},"quantity":{"type":"integer","format":"int32","description":"Quantity"},"vat_percent":{"type":"number","format":"float","description":"Tax percent"},"vat_amount":{"type":"integer","format":"int32","description":"Tax amount per item"},"discount":{"type":"integer","format":"int32","description":"Discount amount per item."},"product_image_url":{"type":"string","description":"URL for the image of this product."},"product_url":{"type":"string","description":"URL to the product"},"additional_information":{"type":"string","description":"Extended description of the order item"}}},"OrderItemsDTO":{"type":"object","properties":{"invoice_number":{"type":"string","description":"Invoice id of the order"},"total_tax_amount":{"type":"string","description":"The total tax for all items. Required if the request includes purchase_units.items.tax. Must equal the sum of (order.items[].tax_amount * order.items[].quantity) for all items."},"description":{"type":"string","description":"The purchase description."},"items":{"type":"array","items":{"$ref":"#/definitions/PaypalItemDetailsDTO"}}}},"PS :Passengers":{"type":"object","properties":{"passenger_index":{"type":"integer","format":"int32","description":"Index number to identify passenger"},"salutation":{"type":"string","description":"Salutation of the customer e.g. \"Mr\", \"Mrs\", \"Dr\", etc."},"first_name":{"type":"string","description":"First name of the passenger"},"last_name":{"type":"string","description":"Last name of the passenger"},"date_of_birth":{"type":"string","description":"D.O.B. of passenger. Format: YYYY-MM-DD"}}},"PS:Agency":{"type":"object","properties":{"agency_code":{"type":"string","description":"Travel agency code"},"agency_name":{"type":"string","description":"Travel agency name"},"agency_address":{"type":"string","description":"Street address of the card holder. Note: All characters support"},"agency_city":{"type":"string","description":"City of the card holder Note: Only alphabetic characters, Special characters allowed are (hyphen(-), underscore(_), dot(.), comma(,))"},"agency_state":{"type":"string","description":"A region / state / province for the address. Note: Only alphabetic characters, Special characters allowed are (hyphen(-), underscore(_), dot(.), comma(,))"},"agency_postal_code":{"type":"string","description":"A postal code for the address. Note: Only alpha-numeric characters"},"agency_country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. Note: Alphabets upto two characters (e.g. GB, RU etc..)"}}},"PS:Data":{"type":"object","properties":{"key_name":{"type":"string","description":"The name of the key for the key value pair. e.g. \"meal type\", \"Extra Towels\""},"value":{"type":"string","description":"The value for the key value pair. e.g. \"vegitarian\""}}},"PS:Insurance":{"type":"object","properties":{"agency_name":{"type":"string","description":"Name of insurer"},"type":{"type":"string","description":"Type of insurance","enum":["cancellation","travel","cancellation_travel","car","bankruptcy"]},"amount":{"type":"integer","format":"int32","description":"Amount of order charged without a decimal place e.g. $1.50 = 150"}}},"PS:Legs":{"type":"object","properties":{"insurance":{"type":"array","items":{"$ref":"#/definitions/PS:Insurance"}},"amount":{"type":"integer","format":"int32","description":"Amount of leg of booking"},"passenger_index":{"type":"array","description":"Array of passenger index values of passengers present for this leg of booking.","items":{"type":"number"}},"check_in_date":{"type":"string","description":"Start date of reservation. Format: YYYY-MM-DD HH:mm:ss"},"check_out_date":{"type":"string","description":"End date of reservation. Format: YYYY-MM-DD HH:mm:ss"},"provider_group":{"type":"string","description":"Name of hotel parent group"},"provider_name":{"type":"string","description":"Name of hotel chain"},"room_count":{"type":"integer","format":"int32","description":"Number of rooms under booking"},"traveller_count":{"type":"integer","format":"int32","description":"Number of travellers under booking"},"origin_address":{"type":"string","description":"Street address of origin point.\n \n  Note: Supports only ISO-8859-1 characters."},"origin_city":{"type":"string","description":"City Journey begins"},"origin_postal_code":{"type":"string","description":"A postal/zip code for the address. Note: Only alpha-numeric characters, Special characters allowed are hyphen(-) and spaces."},"origin_country_code":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. Note: Alphabets upto two characters (e.g. GB, RU etc..)"},"origin_state":{"type":"string","description":"State Journey begins"},"origin_location_id":{"type":"string","description":"The agency code, address, phone number, etc., used to identify the location of origin"},"origin_location":{"type":"string","description":"The location where a taxi passenger was picked up or where an auto rental vehicle was picked up."},"route_stops":{"type":"array","description":"Array of stopping points on trip","items":{"$ref":"#/definitions/PS:RouteStops"}},"destination_address":{"type":"string","description":"Address of accomodation.\n \n  Note: Supports only ISO-8859-1 characters."},"destination_city":{"type":"string","description":"Final destination City"},"destination_postal_code":{"type":"string","description":"A postal/zip code for the address. Note: Only alpha-numeric characters, Special characters allowed are hyphen(-) and spaces."},"destination_country_code":{"type":"string","description":"Destination country. A 2-letter ISO3166 alpha-2. country code for the address. Note: Alphabets upto two characters (e.g. GB, RU, etc.)"},"destination_state":{"type":"string","description":"Final destination State."},"destination_location_id":{"type":"string","description":"The agency code, address, phone number, etc., used to identify the location of destination."},"destination_location":{"type":"string","description":"The location where a taxi passenger was dropped or where an auto rental vehicle was returned."},"booking_type":{"type":"string","description":"The type of booking being made.","enum":["hotel","rental","car","cruise","flight","train","coach"]},"adults_count":{"type":"integer","format":"int32","description":"Number of adults under booking"},"child_count":{"type":"integer","format":"int32","description":"Number of children under booking"},"beds_count":{"type":"integer","format":"int32","description":"Number of rooms under booking"},"vehicle_type":{"type":"string","description":"Name of vehicle being rented"},"class":{"type":"string","description":"Class of travel or stay. e.g. \"first\", \"premium\", \"luxury suite\" - free text field, not enum"},"data":{"type":"array","description":"Array of provider specific key values pairs, should be an array of the 'key_name' value and the 'value' value - Please speak to your Implementation manager for details on usage.","items":{"$ref":"#/definitions/PS:Data"}},"carrier_code":{"type":"string","description":"Travel carrier code"},"travel_mode_reference":{"type":"integer","format":"int32","description":"Flight/Travel mode number excluding carrier code"},"origin_port":{"type":"string","description":"Origin airport/port/city IATA code"},"service_class":{"type":"string","description":"Service Class","enum":["first class","Second class","business","Economic","0 Ticket category/class (\"0\" if no class)"]},"stop_over_code":{"type":"string","description":"Stop over code"},"departure_date":{"type":"string","description":"Departure date. Format - YYYY-MM-DD HH:mm:ss"},"arrival_date":{"type":"string","description":"Inbound arrival date and time of the booking. Format: YYYY-MM-DD HH:mm:ss"},"destination_port":{"type":"string","description":"Destination airport/port/city IATA code"},"fare_basis_code":{"type":"string","description":"Fare basis code"},"departure_tax_amount":{"type":"integer","format":"int32","description":"Amount of departure tax for this leg of the trip"},"conjunction_ticket":{"type":"string","description":"Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments"},"exchange_ticket_number":{"type":"string","description":"New ticket number that is issued when the ticket is exchanged for this leg of the trip."},"coupon_number":{"type":"string","description":"Coupon number for the leg"},"endorsements_restrictions":{"type":"string","description":"Notes or notations about endorsements and restrictions for this leg of the trip. Endorsements can be notations added by the travel agency, including mandatory government required notations such as value added tax. Restrictions are limitations for the ticket based on the type of fare, such as a nonrefundable tic."},"total_fare_amount":{"type":"integer","format":"int32","description":"Total fare for this leg of the trip."},"fee_amount":{"type":"integer","format":"int32","description":"Fee for this leg of the trip, such as an airport/port fee or country/city fee"},"tax_amount":{"type":"integer","format":"int32","description":"Tax for this leg of the trip"},"delivery":{"type":"string","description":"Valid values: \"delivery\", \"collection\", \"email\". The way the item is being delivered"}}},"PS:RouteStops":{"type":"object","properties":{"stop":{"type":"string","description":"Location of stop off"}}},"PS:TravelData":{"type":"object","properties":{"pnr":{"type":"string","description":"Reference number for the booking."},"booking_amount":{"type":"number","description":"Total amount of booking."},"booking_type":{"type":"string","description":"The type of booking being made.","enum":["hotel","rental","car","cruise","flight","train","coach"]},"passengers":{"type":"array","description":"Array of passenger names","items":{"$ref":"#/definitions/PS :Passengers"}},"legs":{"type":"array","description":"Array of legs of booking.","items":{"$ref":"#/definitions/PS:Legs"}},"discount_percentage":{"type":"number","description":"Percentage dicount to be applied to booking"},"loyalty_number":{"type":"string","description":"Customer loyalty scheme number"},"points":{"type":"array","description":"Loyalty points/scheme details","items":{"$ref":"#/definitions/Point"}},"travel_mode_name":{"type":"string","description":"Name of your mode of travel such as Airline, Ferry, Rail etc."},"travel_mode_numeric_code":{"type":"integer","format":"int32","description":"Mode of Travel (Airline, Ferry, Rail etc.) numeric code"},"agency":{"description":"Agency","$ref":"#/definitions/PS:Agency"},"ticket_number":{"type":"string","description":"Ticket/document number, or PNR locator code."},"check_digit":{"type":"integer","format":"int32","description":"Check digit for the ticket number with Discover and Diners Club, a valid ticket number has these characteristics:<ul><li>The value is numeric.</li><li>The first three digits are a valid IATA2 license plate carrier code.</li><li>The last digit is a check digit or zero (0).</li><li>All remaining digits are nonzero.</li></ul>"},"is_restricted":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction","enum":["true","false"]},"transaction_type":{"type":"integer","format":"int32","description":"Type of charge."},"extended_payment_code":{"type":"string","description":"Airline/Travel Mode process identifier. This value is the airline’s three-digit IATA1 code which is used to process extended payment airline tickets"},"passenger_title":{"type":"string","description":"Title of the passenger"},"passenger_name":{"type":"string","description":"Name of passenger.\n <b>Note:</b> Only alphabetic characters, Special characters allowed are (hyphen(-), underscore(_), dot(.), comma(,) and apostrophe(‘))."},"passenger_age_group":{"type":"string","description":"Travelling passenger's age group.","enum":["16-24","25-34","35-44","45-54","55-64","65 and up","Unknown"]},"is_lead":{"type":"string","description":"Indicates whether the passenger is a lead passenger within the group.","enum":["true","false"]},"customer_code":{"type":"string","description":"<ol><li>Reference number or code that identifies the cardholder.</li><li>Code provided by the cardholder.</li><li>Address of the ticket issuer. The first 13 characters will appear onthe cardholder’s statement.</li><li>Customer reference..</li></ol>"},"document_type":{"type":"integer","format":"int32","description":"Airline/Travel mode document type code that specifies the purpose of the transaction. For the possible values, see Appendix A, \"Airline Document Type Codes\"."},"document_number":{"type":"string","description":"Ticket number or a value that might be a booking reference number."},"travel_legs_count":{"type":"integer","format":"int32","description":"Number of travel legs. Numbering for the travel legs: 0 to 3."},"invoice_number":{"type":"string","description":"Invoice number of the ticket."},"invoice_date":{"type":"string","description":"Invoice date. The format is YYYY-MM-DD. If this value is included in the request, it is used in the creation of the invoice number."},"additional_charge_description":{"type":"string","description":"Description of the charge."},"total_fee_amount":{"type":"integer","format":"int32","description":"Total fee for the ticket."},"clearing_sequence":{"type":"integer","format":"int32","description":"Total number of captures when requesting multiple partial captures for one authorisation."},"clearing_count":{"type":"integer","format":"int32","description":"Total number of clearing count associated with the authorisation request."},"total_clearing_amount":{"type":"integer","format":"int32","description":"Total clearing amount for all transactions in the clearing count set."},"passenger_count":{"type":"integer","format":"int32","description":"Number of passengers for whom the ticket was issued."},"reservation_system_code":{"type":"string","description":"Code that specifies the computerized reservation system used to make the reservation and purchase the ticket."},"process_identifier":{"type":"string","description":"Airline/Travel mode process identifier. This value is the airline’s three-digit IATA1 code which is used to process extended payment airline tickets."},"issue_date":{"type":"string","description":"Date on which the ticket was issued. Format: YYYY-MM-DD"},"is_eticket":{"type":"string","description":"Indicates whether the issued ticket was electronic or not.","enum":["true","false"]},"original_ticket_number":{"type":"string","description":"Original ticket number when the transaction is for a replacement ticket."},"purchase_type":{"type":"string","description":"EXC: Exchange ticket, MSC: Miscellaneous, REF: Refund, TKT: Ticket. \n\n Type of purchase","enum":["EXC","MSC","REF","TKT"]},"credit_reason":{"type":"string","description":"valid values :\"A\"\"B\"\"C\"\"O\"\"P\"\r\nA: Cancellation of the ancillary passenger transport purchase, B: Cancellation of the airline ticket and the passenger transport ancillary purchase, C: Cancellation of the airline ticket, O: Other, P: Partial refund of the airline ticket.\r\nReason for the credit.","enum":["A","B","C","O","P"]},"ticket_change_indicator":{"type":"string","description":"C: Change to the existing ticket., \n N: New ticket.\n \n Type of update.","enum":["C","N"]},"plan_number":{"type":"string","description":"Plan number based on the fare. This value is provided by the airline/travel mode provider"},"arrival_date":{"type":"string","description":"Inbound arrival date and time of the booking. Format: YYYY-MM-DD HH:mm:ss"},"restricted_ticket_description":{"type":"string","description":"Text that describes the ticket limitations, such as nonrefundable."},"exchange_ticket_amount":{"type":"integer","format":"int32","description":"Amount of the exchanged ticket."},"exchange_ticket_fee_amount":{"type":"integer","format":"int32","description":"Fee for exchanging the ticket."},"reservation_type":{"type":"string","description":"Type of journey such as one way or round trip."},"boarding_fee_amount":{"type":"number","description":"Boarding fee."},"affiliate_name":{"type":"string","description":"Unique affiliate name identifier. This will help us support our merchant by attaching more details with the transaction."}}},"PaginationPaymentListDTO":{"type":"object","properties":{"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"date_from":{"type":"string","format":"date","example":"2020-01-31","description":"First date of the transaction list, 10 characters, ISO-8601 (YYYY-MM-DD)"},"date_to":{"type":"string","format":"date","example":"2020-01-31","description":"Last date of the transaction list, 10 characters, ISO-8601 (YYYY-MM-DD)"},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"page_number":{"type":"integer","format":"int32","description":"Page index."},"page_size":{"type":"integer","format":"int32","description":"Page size."}}},"Passengers":{"type":"object","properties":{"passenger_index":{"type":"integer","format":"int32","description":"Index number to identify passenger"},"salutation":{"type":"string","description":"Salutation of the customer e.g. \"Mr\", \"Mrs\", \"Dr\", etc."},"first_name":{"type":"string","description":"First name of the passenger"},"last_name":{"type":"string","description":"Last name of the passenger"},"date_of_birth":{"type":"string","description":"D.O.B. of passenger. Format: YYYY-MM-DD"}}},"PaymentCustmerAddress":{"type":"object","required":["country"],"properties":{"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. \n\nNote: Alphabets upto two characters (e.g. GB, RU etc..)","enum":["PL"]}}},"PaymentInformationResponseDTO":{"type":"object","properties":{"accountType":{"type":"string"},"bin":{"type":"string"},"binCountry":{"type":"string"},"issuer":{"type":"string"},"scheme":{"type":"string"}}},"PaymentListRequestDTO":{"type":"object","required":["date_from","date_to"],"properties":{"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"date_from":{"type":"string","format":"date","example":"2020-01-31","description":"First date of the transaction list, 10 characters, ISO-8601 (YYYY-MM-DD)"},"date_to":{"type":"string","format":"date","example":"2020-01-31","description":"Last date of the transaction list, 10 characters, ISO-8601 (YYYY-MM-DD)"},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."}}},"PaymentListResponseDTO":{"type":"object","properties":{"total_records":{"type":"integer","format":"int64"},"total_pages":{"type":"integer","format":"int32"},"payment_list":{"type":"array","items":{"$ref":"#/definitions/PaymentResponseDTO"}}}},"PaymentRequest":{"type":"object","required":["amount","capture_now","card","merchant_reference"],"properties":{"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"card":{"description":"The new card number, also known as PAN.","$ref":"#/definitions/CardDetailsWithApm"},"items":{"type":"array","description":"Items","items":{"$ref":"#/definitions/Items"}},"customer":{"description":"customer","$ref":"#/definitions/AuthorisePaymentCustomer"},"customer_ip":{"type":"string","description":"The IP address of the customer"},"browser_screen_height":{"type":"integer","format":"int32","description":"The height of the customer’s browser at point of submission"},"browser_screen_width":{"type":"integer","format":"int32","description":"The width of the customer’s browser at point of submission"},"recurring_type":{"type":"string","description":"This field is to be used only when a transaction is part of a series of recurring transactions. If it's the initial transaction, set the value to 'first', and if it's not, set it to 'recurring'. This field must not be included in transactions that will not be part of a series of repeated transactions. (All values are written in lowercase letters).","enum":["first","recurring","mit","cit","oneclick","install"]},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"billing_address":{"description":"Billing address details for the customer","$ref":"#/definitions/BillingAddress"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"three_ds":{"description":"Enroll a given transaction for 3D-secure to verify whether authentication is supported for the card being used.","$ref":"#/definitions/ThreeDs"},"fraud_predictions":{"type":"array","items":{"$ref":"#/definitions/FraudPredictions"}},"card_brand":{"type":"string","description":"Card brand for the card used for processing","enum":["amex","diners","discover","elo","jcb","maestro","mastercard","visa","visa electron","carte bancaire"]},"delivery_address":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/deliveryAddress"},"duplicate_check":{"type":"string","description":"This indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."},"external_risk_data":{"description":"ExternalRiskData","$ref":"#/definitions/ExternalRiskData"},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"},"external_authentication":{"description":"ExternalAuthentication","$ref":"#/definitions/ExternalAuthentication"},"tra_exemption":{"type":"string","description":"\"This indicates that exemption from SCA is requested for the transaction. Valid values as mentioned below:\n\n \"\"external\"\" - Transaction risk analysis conducted by approved external source\n\n \"\"acquirer\"\" - Transaction risk analysis conducted by the acquirer\n\n \"\"scp\"\" - scp stands for Secure Corporate Payment\n\n \"\"lvp\"\" - lvp stands for Low-Value Payment\n\n \"\"delegated\"\" - Exemption indicator for delegated authentication.\n\n This flag specifies whether the transaction is exempt from strong customer authentication (SCA) requirements in Europe because the authentication was delegated to a different provider, such as an acquirer or payment technology provider (PTP).\""},"merchant_data":{"description":"Merchant Data","$ref":"#/definitions/MerchantData"},"installment_information":{"description":"Please note that the specific request here will override any general configuration that is set against your MID. by the acquirer. This does not apply to AMEX where the config at the MID takes priority","$ref":"#/definitions/InstallmentInformation"},"travel_data":{"description":"travelData","$ref":"#/definitions/travelData"},"pay_fac_sub_merchant_id":{"type":"string","description":"Payment Facilitator submerchant account Identifier in the marketplace."},"device_information":{"description":"deviceInformation","$ref":"#/definitions/deviceInformation"},"aft_type":{"type":"string","description":"Type of Account Funding transaction.\n\nSVWF - Stored value wallet funding\n\nSDWT - Staged digital wallet pre-funding\n\nA2A - Account-to-account (me-to-me) money transfer\n\nP2P - Person-to-Person (P2P) money transfer\n\nCLA - Cryptocurrency and liquid assets\n\nBIT - Financial Institution offe red Bank-Initiated P2P Money Transfer\n\nFD - Funds Disbursement\n\nFT - Funds Transfer\n\nPD - Payroll Disbursement\n\nPL - Prepaid load / reload2\n\nB2B - Business to Business\n\nCBP - Card Bill Payment\n\nGP - Gambling Payouts\n\nGFD - General funds disbursement\n\nGD - Government Disbursement\n\nLP - Loyalty Payments\n\nMD - Funding small business disbursements\n\nMP - Merchant Payment\n\nNCBP - Non card bill payment\n\nOGP - Online gaming payout\n\nZDA - Zero dollar authorisation\n\nTO - Top off","enum":["SVWF","SDWT","A2A","P2P","CLA","BIT","FD","FT","PD","TPL","B2BCBP","GP","GFD","GD","LP","MD","MP","NCBP","OGP","ZDA","TO"]}}},"PaymentResponseDTO":{"type":"object","required":["amount","merchant_reference"],"properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"string","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"blocked":{"type":"boolean","example":false,"description":"True if the transaction has been blocked by a ruleset, false otherwise"},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"card":{"$ref":"#/definitions/Card"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"customer_ip":{"type":"string","description":"The IP address of the customer"},"pares":{"type":"string","description":"The unmodified PaRes value as received after the customer was redirected back from 3DS Authentication."},"recurring_type":{"type":"string","description":"The value used to flag how the acquirer/ issuer should consider the transaction","enum":["first","recurring","oneclick","mit","cit","install"]},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"actions":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string","description":"The time at which the transaction was created"},"cvv_present":{"type":"boolean","example":false,"description":"True if the card was used with a cvv"},"fees":{"type":"array","items":{"type":"integer","format":"int32"}},"geo_locations":{"type":"array","description":"The latitude/longitude resolved from the customer's ip address","items":{"type":"integer","format":"int32"}},"last_status_update":{"type":"string","description":"The last time when the status of the transaction was updated"},"card_brand":{"type":"string","description":"Card brand for the card used for processing","enum":["amex","diners","discover","elo","jcb","maestro","mastercard","visa","visa electron","carte bancaire"]},"issuer_name":{"type":"string","description":"Card Issuer Name for this transaction"},"issuer_country":{"type":"string","description":"Issuing country of the card. A 2-letter ISO3166 alpha-2. Acquirer country code"},"delivery_address":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/DeliveryAddress"},"organisation_psp_name":{"type":"string","description":"The name of the processor as setup within the APEXX payment gateway. i.e. Merchant Name - Acquirer Name"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"status":{"type":"string","description":"Status of the transaction.","enum":["AUTHORISED","CAPTURED","DECLINED"]},"billing_address":{"description":"Billing address details for the customer","$ref":"#/definitions/BillingAddress"},"payment_product":{"type":"string","description":"The payment product corresponding to this transaction"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"cvv_result":{"type":"string","description":"CVV verification result, as returned by the processor."},"avs_result":{"type":"string","description":"Address verification services result, as returned by the processor"},"three_ds":{"description":"Enroll a given transaction for 3D-secure to verify whether authentication is supported for the card being used.","$ref":"#/definitions/ThreeDSCardEnroll"},"acquirer_name":{"type":"string","description":"The name of the acquirer as setup within the APEXX payment gateway."},"device_information":{"description":"deviceInformation","$ref":"#/definitions/deviceInformation"},"webhook":{"description":"WebhookResponse","$ref":"#/definitions/WebhookResponse"},"preauth_check":{"$ref":"#/definitions/PreauthCheck"},"external_risk_data":{"description":"ExternalRiskData","$ref":"#/definitions/FraudCheckResponse"},"routing":{"type":"array","description":"RouteInformation","items":{"$ref":"#/definitions/PspgwRouteInformation"}},"cascaded_psps":{"type":"array","description":"Cascaded psp's","items":{"$ref":"#/definitions/PspInformation"}},"psp_info":{"description":"PspInformation","$ref":"#/definitions/PspInformation"},"tra_exemption":{"type":"string","description":"\"This indicates that exemption from SCA is requested for the transaction. Valid values as mentioned below:\n\n \"\"external\"\" - Transaction risk analysis conducted by approved external source\n\n \"\"acquirer\"\" - Transaction risk analysis conducted by the acquirer\n\n \"\"scp\"\" - scp stands for Secure Corporate Payment\n\n \"\"lvp\"\" - lvp stands for Low-Value Payment\n\n \"\"delegated\"\" - Exemption indicator for delegated authentication.\n\n This flag specifies whether the transaction is exempt from strong customer authentication (SCA) requirements in Europe because the authentication was delegated to a different provider, such as an acquirer or payment technology provider (PTP).\""},"authorisation_mid":{"type":"string","description":"The authorisation mid used to process the transaction as setup within the APEXX payment gateway."},"settlement_mid":{"type":"string","description":"The settlement mid used to process the transaction as setup within the APEXX payment gateway."},"pos_data_code":{"type":"string"},"request_id":{"type":"string","description":"Unique Id for each request."},"duplicate_check":{"type":"string","description":"This is the duplicate check of request, 'true' in case of request is duplicate"},"customer":{"description":"customer","$ref":"#/definitions/AuthorisePaymentCustomer"},"response_code":{"type":"string","description":"Response code is sent only when the source of the response looks suspicious. In this case Apexx immediately cancels the transaction placed with the gateway."},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"},"payment_product_type":{"type":"string","description":"The payment product type corresponding to this transaction","enum":["Amex","Diners Club International","Discover","Elo","JCB","Maestro","Mastercard","Visa","Visa Electron"]},"response_message":{"type":"string","description":"A description of the response_code."},"transaction_chargeback":{"description":"TransactionChargeback","$ref":"#/definitions/TransactionChargeback"},"card_type":{"type":"string","description":"Funding type of the card e.g. Debit, Credit"},"mastercard_settlement_date":{"type":"string","description":"Mastercard settlement date received from Acquirer"},"aft_type":{"type":"string","description":"Type of Account Funding transaction.\n\nSVWF - Stored value wallet funding\n\nSDWT - Staged digital wallet pre-funding\n\nA2A - Account-to-account (me-to-me) money transfer\n\nP2P - Person-to-Person (P2P) money transfer\n\nCLA - Cryptocurrency and liquid assets\n\nBIT - Financial Institution offe red Bank-Initiated P2P Money Transfer\n\nFD - Funds Disbursement\n\nFT - Funds Transfer\n\nPD - Payroll Disbursement\n\nPL - Prepaid load / reload2\n\nB2B - Business to Business\n\nCBP - Card Bill Payment\n\nGP - Gambling Payouts\n\nGFD - General funds disbursement\n\nGD - Government Disbursement\n\nLP - Loyalty Payments\n\nMD - Funding small business disbursements\n\nMP - Merchant Payment\n\nNCBP - Non card bill payment\n\nOGP - Online gaming payout\n\nZDA - Zero dollar authorisation\n\nTO - Top off","enum":["SVWF","SDWT","A2A","P2P","CLA","BIT","FD","FT","PD","TPL","B2BCBP","GP","GFD","GD","LP","MD","MP","NCBP","OGP","ZDA","TO"]},"three_ds_transaction":{"description":"Enroll a given transaction for 3D-secure to verify whether authentication is supported for the card being used.","$ref":"#/definitions/ThreeDSResponse"}}},"PaymentSelectorCard":{"type":"object","properties":{"create_token":{"type":"string","description":"Whether to create a token or not for the card. Defaults to 'false'. Setting it to 'true' will create the token for the card."},"three_ds":{"$ref":"#/definitions/PaymentSelectorThreeDs"}}},"PaymentSelectorCustomer":{"type":"object","properties":{"account_number":{"type":"string","description":"This is the recipient's account number."},"date_of_birth":{"type":"string","description":"The date of birth of a customer, 10 characters, ISO-8601 (YYYY-MM-DD)."},"customer_id":{"type":"string","description":"The customer_id of recipient's."},"tax_id":{"type":"string","description":"The customer's tax ID."},"tax_id_type":{"type":"string","description":"The customer's tax ID type."},"billing":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/BillingAddressDetails"},"delivery":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/Address"}}},"PaymentSelectorItemDetails":{"type":"object","properties":{"distributor_sku":{"type":"string","description":"The distributor stock keeping unit (SKU) for the item."},"merchant_sku":{"type":"string","description":"The merchant stock keeping unit (SKU) for the item."},"product_id":{"type":"string","description":"Merchant Product identification number"},"group_id":{"type":"string","description":"Item group ID. The group this item belongs to. Provided by the merchant"},"item_description":{"type":"string","description":"Product name. For example \"Black music player 64GB\". Everything over 255 characters will be truncated"},"net_unit_price":{"type":"integer","format":"int64","description":"Net unit price.\n\nNote: net_unit_price is only required if the vat_percent is not provided."},"gross_unit_price":{"type":"integer","format":"int64","description":"Gross price per item"},"quantity":{"type":"integer","format":"int64","description":"Quantity"},"vat_percent":{"type":"string","description":"Tax percent"},"vat_amount":{"type":"string","description":"Tax amount per item"},"product_image_url":{"type":"string","description":"URL for the image of this product. It will be turned into a thumbnail and displayed in MyAfterPay, on the invoice line next to the order item. The linked image must be a rectangle or square, width between 100 pixels and 1280 pixels."},"product_url":{"type":"string","description":"URL to the product"},"additional_information":{"type":"string","description":"Extended description of the order item"}}},"PaymentSelectorOrder":{"type":"object","properties":{"invoice_number":{"type":"string","description":"Invoice id of the order"},"total_tax_amount":{"type":"string","description":"The total tax for all items. Required if the request includes purchase_units.items.tax. Must equal the sum of (order.items[].tax_amount * order.items[].quantity) for all items."},"description":{"type":"string","description":"The purchase description."},"items":{"type":"array","items":{"$ref":"#/definitions/PaymentSelectorItemDetails"}}}},"PaymentSelectorPaypal":{"type":"object","properties":{"stc":{"type":"array","items":{"$ref":"#/definitions/PaypalSTC"}}}},"PaymentSelectorRequestRedocDTO":{"type":"object","required":["amount","currency","merchant_reference","organisation"],"properties":{"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"duplicate_check":{"type":"string","description":"This indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction.","enum":["true","false"]},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"customer_ip":{"type":"string","description":"The IP address of the customer"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"locale":{"type":"string","description":"Locale Code. Valid Values: en_GB and en_US"},"customer":{"$ref":"#/definitions/PaymentSelectorCustomer"},"order":{"$ref":"#/definitions/PaymentSelectorOrder"},"card":{"$ref":"#/definitions/PaymentSelectorCard"},"paypal":{"$ref":"#/definitions/PaymentSelectorPaypal"},"bnpl":{"$ref":"#/definitions/BNPL"},"merchant_data":{"$ref":"#/definitions/MerchantData"},"template_name":{"type":"string","description":"CSS Template to be used on hosted page to match the hosted page with your website. This field would be ignored if the template is not found in our system and default template will be picked up"},"external_risk_data":{"$ref":"#/definitions/ExternalRiskData"},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"},"travel_data":{"description":"Travel data - data relating to hotel bookings, cruise/trip details/car rental/accomodation rental","$ref":"#/definitions/PS:TravelData"}}},"PaymentSelectorThreeDs":{"type":"object","properties":{"three_ds_required":{"type":"string","description":"true if 3DS required for this transaction, false otherwise.","enum":["true","false"]},"three_ds_version":{"type":"string","description":"The 3-D Secure version used for the authentication.","enum":["1.0","2.0"]}}},"PaymentTypeData":{"type":"object","properties":{"key_name":{"type":"string","description":"The name of the key for the key value pair"},"value":{"type":"string","description":"The value for the key value pair"}},"description":"provider specific key values pairs, should be an array of the 'key_name' value and the 'value' value - Please speak to your Implementation manager for details on usage."},"Paypal":{"type":"object","required":["order","redirection_parameters"],"properties":{"brand_name":{"type":"string","description":"The label that overrides the business name in the PayPal account on the PayPal site."},"tax_id":{"type":"string","description":"The customer's tax ID."},"tax_id_type":{"type":"string","description":"The customer's tax ID type."},"order":{"description":"Object containing the specific input details for Paypal","$ref":"#/definitions/OrderItemsDTO"},"redirection_parameters":{"$ref":"#/definitions/RedirectionParameterDTO"},"stc":{"type":"array","items":{"$ref":"#/definitions/PaypalSTC"}},"vault_id":{"type":"string","description":"Vault id provided for paypal transaction during a cit transaction."}}},"PaypalCompleteOrder":{"type":"object","properties":{"status":{"type":"string","description":"Status of the request.","enum":["APPROVED","FAILED","CANCELLED"]}}},"PaypalCompleteOrderFailureResponseDTO":{"type":"object","required":["errors"],"properties":{"code":{"type":"string"},"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"message":{"type":"string","description":"A description of the response."},"status":{"type":"string","description":"It will indicate what is the final result of the request."},"timestamp":{"type":"integer","format":"int64","description":"Current timestamp."},"errors":{"type":"array","description":"Details of each error occured.","items":{"$ref":"#/definitions/Errors"}},"trace_id":{"type":"string","description":"Unique trace id created by APEXX platform to trace this request."}}},"PaypalCompleteOrderResponce":{"type":"object","required":["merchant_reference"],"properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"created_at":{"type":"string","description":"The time at which the transaction was created"},"last_status_update":{"type":"string","description":"The last time when the status of the transaction was updated"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"status":{"type":"string","description":"Status of the transaction.","enum":["AUTHORISED","CAPTURED","DECLINED"]},"acquirer_name":{"type":"string","description":"The name of the acquirer as setup within the APEXX payment gateway."},"request_id":{"type":"string","description":"Unique Id for each request."},"amount":{"type":"string","description":"Indicates the amount of tax based on the type field as described in fields above"},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction."},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"organisation_psp_name":{"type":"string","description":"The name of the processor as setup within the APEXX payment gateway. i.e. Merchant Name - Acquirer Name"},"psp_info":{"description":"PSP Information.","$ref":"#/definitions/PspInformation"},"customer":{"description":"customer has billing and delivery","$ref":"#/definitions/PaypalCustomerResponse"},"alternatepaymentmethods":{"type":"string","description":"alternate_payment_methods"},"capture_id":{"type":"string","description":"This is the unique capture identifier returned in the capture API as _id. Capture Id is a mandatory field for partial captures."}}},"PaypalCustomer":{"type":"object","properties":{"address":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/AddressDetails"},"date_of_birth":{"type":"string","description":"The date of birth of a customer, 10 characters, ISO-8601 (YYYY-MM-DD)."},"email":{"type":"string","description":"Email address of the customer.\n\nNote: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(â€˜)"},"first_name":{"type":"string","description":"First name of the customer."},"last_name":{"type":"string","description":"Last name of the customer."},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"}}},"PaypalCustomerResponse":{"type":"object","properties":{"billing":{"description":"BillingAddress","$ref":"#/definitions/BillingAddressDetails"},"delivery":{"description":"DeliveryAddress","$ref":"#/definitions/DeliveryCustomerSDK"}}},"PaypalEncryptedRequest":{"type":"object","required":["amount","capture_now","merchant_reference"],"properties":{"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"customer_ip":{"type":"string","description":"The IP address of the customer"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"duplicate_check":{"type":"string","description":"This indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."},"customer":{"description":"Customer details","$ref":"#/definitions/PaypalSDKCustomer"},"order":{"description":"Order details","$ref":"#/definitions/SdkPaypalOrderIDTO"},"paypal":{"description":"Paypal details","$ref":"#/definitions/PaypalSDK"},"merchant_data":{"description":"Merchant Data","$ref":"#/definitions/MerchantData"},"travel_data":{"description":"Travel data - data relating to hotel bookings, cruise/trip details/car rental/accomodation rental","$ref":"#/definitions/PaypalSDK:TravelData"}}},"PaypalErrorResponseDTO":{"type":"object","properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"code":{"type":"string","description":"An alphanumeric code which uniquely identify an error."},"details":{"type":"string","description":"Optional details concerning the error."},"message":{"type":"string","description":"A description of the response."},"status":{"type":"string","description":"It will indicate what is the final result of the request."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"timestamp":{"type":"integer","format":"int64","description":"Current timestamp."}}},"PaypalFailureResponseDTO":{"type":"object","properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"url":{"type":"string","description":"Hosted payment page URL.Note: URL will not be sent in case of DECLINED or FAILED Scenario"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of Success, see reason codes section for declined scenarios and error codes section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0."},"status":{"type":"string","enum":["FAILED"]},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."}}},"PaypalItemDetailsDTO":{"type":"object","properties":{"item_name":{"type":"string","description":"The item name or title."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"unit_amount":{"type":"string","description":"Unit price per item"},"tax_currency":{"type":"string","description":"A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"tax_amount":{"type":"string","description":"Tax for this leg of the trip."},"quantity":{"type":"string","description":"Quantity"},"item_description":{"type":"string","description":"Product name. For example \"Black music player 64GB\". Everything over 255 characters will be truncated"},"sku":{"type":"string","description":"The stock keeping unit (SKU) for the item."},"category":{"type":"string","description":"The item category type.","enum":["DIGITAL_GOODS","PHYSICAL_GOODS"]}}},"PaypalPaymentRequestDTO":{"type":"object","required":["amount","capture_now","merchant_reference"],"properties":{"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"locale":{"type":"string","description":"Locale Code. Valid Values: en_GB and en_US","enum":["en_GB","en_US"]},"customer":{"description":"customer","$ref":"#/definitions/PaypalCustomer"},"customer_ip":{"type":"string","description":"The IP address of the customer"},"paypal":{"$ref":"#/definitions/Paypal"},"recurring_type":{"type":"string","description":"This field is to be used only when a transaction is part of a series of recurring transactions. If it's the initial transaction, set the value to 'first', and if it's not, set it to 'recurring'. This field must not be included in transactions that will not be part of a series of repeated transactions. (All values are written in lowercase letters).","enum":["first","recurring","mit","cit","oneclick"]},"delivery_customer":{"$ref":"#/definitions/DeliveryCustomer"},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"duplicate_check":{"type":"string","description":"This indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"}}},"PaypalPaymentResponseDTO":{"type":"object","properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"url":{"type":"string","description":"Hosted payment page URL.Note: URL will not be sent in case of DECLINED or FAILED Scenario"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of Success, see reason codes section for declined scenarios and error codes section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0."},"status":{"type":"string","enum":["AUTHENTICATION_REQUIRED","DECLINED"]},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."}}},"PaypalSDK":{"type":"object","properties":{"funding_sources":{"type":"string","example":"paypal, credit, venmo,paylater","description":"Comma-separated Values","enum":["paypal","credit","venmo","paylater"]},"page_type":{"type":"string","description":"checkout,product","enum":["checkout","product"]},"stc":{"type":"array","items":{"$ref":"#/definitions/PaypalSTC"}}}},"PaypalSDK:TravelData":{"type":"object","properties":{"pnr":{"type":"string","description":"Reference number for the booking."},"booking_amount":{"type":"number","description":"Total amount of booking."},"booking_type":{"type":"string","description":"The type of booking being made.","enum":["hotel","rental","car","cruise","flight","train","coach"]},"passengers":{"type":"array","description":"Array of passenger names","items":{"$ref":"#/definitions/Passengers"}},"legs":{"type":"array","description":"Array of legs of booking.","items":{"$ref":"#/definitions/Legs"}},"discount_percentage":{"type":"number","description":"Percentage dicount to be applied to booking"},"loyalty_number":{"type":"string","description":"Customer loyalty scheme number"},"points":{"type":"array","description":"Loyalty points/scheme details","items":{"$ref":"#/definitions/Point"}},"travel_mode_name":{"type":"string","description":"Name of your mode of travel such as Airline, Ferry, Rail etc."},"travel_mode_numeric_code":{"type":"integer","format":"int32","description":"Mode of Travel (Airline, Ferry, Rail etc.) numeric code"},"agency":{"description":"Agency","$ref":"#/definitions/Agency"},"ticket_number":{"type":"string","description":"Ticket/document number, or PNR locator code."},"check_digit":{"type":"integer","format":"int32","description":"Check digit for the ticket number with Discover and Diners Club, a valid ticket number has these characteristics:<ul><li>The value is numeric.</li><li>The first three digits are a valid IATA2 license plate carrier code.</li><li>The last digit is a check digit or zero (0).</li><li>All remaining digits are nonzero.</li></ul>"},"is_restricted":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction","enum":["true","false"]},"transaction_type":{"type":"integer","format":"int32","description":"Type of charge."},"extended_payment_code":{"type":"string","description":"Airline/Travel Mode process identifier. This value is the airline’s three-digit IATA1 code which is used to process extended payment airline tickets"},"passenger_title":{"type":"string","description":"Title of the passenger"},"passenger_name":{"type":"string","description":"Name of passenger.\n <b>Note:</b> Only alphabetic characters, Special characters allowed are (hyphen(-), underscore(_), dot(.), comma(,) and apostrophe(‘))."},"passenger_age_group":{"type":"string","description":"Travelling passenger's age group.","enum":["16-24","25-34","35-44","45-54","55-64","65 and up","Unknown"]},"is_lead":{"type":"string","description":"Indicates whether the passenger is a lead passenger within the group.","enum":["true","false"]},"customer_code":{"type":"string","description":"<ol><li>Reference number or code that identifies the cardholder.</li><li>Code provided by the cardholder.</li><li>Address of the ticket issuer. The first 13 characters will appear onthe cardholder’s statement.</li><li>Customer reference..</li></ol>"},"document_type":{"type":"integer","format":"int32","description":"Airline/Travel mode document type code that specifies the purpose of the transaction. For the possible values, see Appendix A, \"Airline Document Type Codes\"."},"document_number":{"type":"string","description":"Ticket number or a value that might be a booking reference number."},"travel_legs_count":{"type":"integer","format":"int32","description":"Number of travel legs. Numbering for the travel legs: 0 to 3."},"invoice_number":{"type":"string","description":"Invoice number of the ticket."},"invoice_date":{"type":"string","description":"Invoice date. The format is YYYY-MM-DD. If this value is included in the request, it is used in the creation of the invoice number."},"additional_charge_description":{"type":"string","description":"Description of the charge."},"total_fee_amount":{"type":"integer","format":"int32","description":"Total fee for the ticket."},"clearing_sequence":{"type":"integer","format":"int32","description":"Total number of captures when requesting multiple partial captures for one authorisation."},"clearing_count":{"type":"integer","format":"int32","description":"Total number of clearing count associated with the authorisation request."},"total_clearing_amount":{"type":"integer","format":"int32","description":"Total clearing amount for all transactions in the clearing count set."},"passenger_count":{"type":"integer","format":"int32","description":"Number of passengers for whom the ticket was issued."},"reservation_system_code":{"type":"string","description":"Code that specifies the computerized reservation system used to make the reservation and purchase the ticket."},"process_identifier":{"type":"string","description":"Airline/Travel mode process identifier. This value is the airline’s three-digit IATA1 code which is used to process extended payment airline tickets."},"issue_date":{"type":"string","description":"Date on which the ticket was issued. Format: YYYY-MM-DD"},"is_eticket":{"type":"string","description":"Indicates whether the issued ticket was electronic or not.","enum":["true","false"]},"original_ticket_number":{"type":"string","description":"Original ticket number when the transaction is for a replacement ticket."},"purchase_type":{"type":"string","description":"EXC: Exchange ticket, MSC: Miscellaneous, REF: Refund, TKT: Ticket. \n\n Type of purchase","enum":["EXC","MSC","REF","TKT"]},"credit_reason":{"type":"string","description":"valid values :\"A\"\"B\"\"C\"\"O\"\"P\"\r\nA: Cancellation of the ancillary passenger transport purchase, B: Cancellation of the airline ticket and the passenger transport ancillary purchase, C: Cancellation of the airline ticket, O: Other, P: Partial refund of the airline ticket.\r\nReason for the credit.","enum":["A","B","C","O","P"]},"ticket_change_indicator":{"type":"string","description":"C: Change to the existing ticket., \n N: New ticket.\n \n Type of update.","enum":["C","N"]},"plan_number":{"type":"string","description":"Plan number based on the fare. This value is provided by the airline/travel mode provider"},"arrival_date":{"type":"string","description":"Inbound arrival date and time of the booking. Format: YYYY-MM-DD HH:mm:ss"},"restricted_ticket_description":{"type":"string","description":"Text that describes the ticket limitations, such as nonrefundable."},"exchange_ticket_amount":{"type":"integer","format":"int32","description":"Amount of the exchanged ticket."},"exchange_ticket_fee_amount":{"type":"integer","format":"int32","description":"Fee for exchanging the ticket."},"reservation_type":{"type":"string","description":"Type of journey such as one way or round trip."},"boarding_fee_amount":{"type":"number","description":"Boarding fee."},"affiliate_name":{"type":"string","description":"Unique affiliate name identifier. This will help us support our merchant by attaching more details with the transaction."}}},"PaypalSDKCustomer":{"type":"object","properties":{"first_name":{"type":"string","description":"First name of the customer."},"last_name":{"type":"string","description":"First name of the customer."},"account_number":{"type":"string","description":"This is the recipient's account number."},"customer_id":{"type":"string","description":"Customer ID of the customer."},"tax_id":{"type":"string","description":"The customer's tax ID."},"tax_id_type":{"type":"string","description":"The customer's tax ID type."},"email":{"type":"string","description":"Email address of the customer. This would be required for all Direct Debit requests. \n \n Note: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(‘)"},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n \n Note: Length - min(3) & max(20)"},"date_of_birth":{"type":"string","description":"The date of birth of a customer, 10 characters, ISO-8601 (YYYY-MM-DD)."},"billing":{"description":"BillingAddress","$ref":"#/definitions/BillingAddressDetails"},"delivery":{"description":"DeliveryAddress","$ref":"#/definitions/DeliveryCustomerSDK"}}},"PaypalSTC":{"type":"object","properties":{"key":{"type":"string","description":"The key for the pair"},"value":{"type":"string","description":"The value for the pair"}}},"PaysafeCredit":{"type":"object","properties":{"account_holder_name":{"type":"string","description":"Name of the account holder.\n\nNote: Only numeric characters are not support"},"redirect_urls":{"$ref":"#/definitions/PaysafeCreditTxnRedirectUrlsDTO"}}},"PaysafeCreditTxnRedirectUrlsDTO":{"type":"object","properties":{"success":{"type":"string","description":"The return url to which the customer is redirected after an transaction is processed."},"failed":{"type":"string","description":"The return url to which the customer is redirected after an transaction is unsuccessful."},"cancelled":{"type":"string","description":"The return url to which the customer is redirected after failing to complete provider registration and payment confirmation steps."}}},"PaysafeFailureResponse":{"type":"object","required":["_id","code","details","errors","merchant_reference","message","organisation_id","status","timestamp"],"properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"organisation_id":{"type":"string","description":"The ID of an organisation."},"code":{"type":"string","description":"An alphanumeric code which uniquely identify an error."},"status":{"type":"string","description":"It will indicate what is the final result of the request."},"message":{"type":"string","description":"A description of the response."},"timestamp":{"type":"integer","format":"int64","description":"Current timestamp."},"details":{"type":"string","description":"Optional details concerning the error."},"errors":{"type":"array","description":"Details of each error occured.","items":{"$ref":"#/definitions/Errors"}},"trace_id":{"type":"string","description":"Unique trace id created by APEXX platform to trace this request."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."}}},"PaysafeResponseDTO":{"type":"object","required":["account_holder_name","payment_purpose"],"properties":{"account_holder_name":{"type":"string","description":"Name of the account holder.\n\nNote: Only numeric characters are not support"},"payment_purpose":{"type":"string","description":"Descriptor for response that consumer will receive."}}},"Paysafecard":{"type":"object","required":["account_holder_name","redirect_urls"],"properties":{"account_holder_name":{"type":"string","description":"Name of the account holder.\n\nNote: Only numeric characters are not support"},"redirect_urls":{"$ref":"#/definitions/RedirectUrlsDTO"}}},"PaysafecardBaseCustomerDetails":{"type":"object","required":["address","date_of_birth","email","first_name","last_name","phone"],"properties":{"address":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/skrillAddressDetails"},"date_of_birth":{"type":"string","description":"The date of birth of a customer, 10 characters, ISO-8601 (YYYY-MM-DD)."},"email":{"type":"string","description":"Email address of the customer.\n\nNote: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(â€˜)"},"first_name":{"type":"string","description":"First name of the customer."},"last_name":{"type":"string","description":"Last name of the customer."},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"}}},"PaysafecardFailedPaymentResponseDTO":{"type":"object","required":["paysafecard"],"properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"amount":{"type":"string","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"status":{"type":"string","description":"Status of the transaction."},"paysafecard":{"$ref":"#/definitions/PaysafeResponseDTO"},"errors":{"type":"array","items":{"$ref":"#/definitions/PspErrorDTO"}}}},"PaysafecardPaymentRequestDTO":{"type":"object","required":["amount","currency","customer","dynamic_descriptor","merchant_reference","organisation","paysafecard"],"properties":{"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"locale":{"type":"string","description":"Locale code","enum":["en_GB","en_US"]},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.Default values: ecommerce","enum":["ecommerce","pos","moto","unknown"]},"paysafecard":{"$ref":"#/definitions/Paysafecard"},"customer":{"$ref":"#/definitions/PaysafecardBaseCustomerDetails"},"duplicate_check":{"type":"string","description":"This indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction."}}},"PaysafecardPaymentResponseDTO":{"type":"object","required":["_id","amount","merchant_reference","paysafecard","reason_code","status","url"],"properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"url":{"type":"string","description":"Hosted payment page URL.Note: URL will not be sent in case of DECLINED or FAILED Scenario"},"paysafecard":{"$ref":"#/definitions/paysafecard"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of Success, see reason codes section for declined scenarios and error codes section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0."},"status":{"type":"string","description":"Valid Values: PENDING,DECLINED,FAILED"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"amount":{"type":"string","description":"Amount received in the request."}}},"Pix":{"type":"object","required":["account_holder_name","national_id","redirection_parameters"],"properties":{"account_holder_name":{"type":"string","description":"Name of the account holder.\n\nNote: Only numeric characters are not support"},"national_id":{"type":"number","description":"Consumer’s CPF or CNPJ tax id"},"redirection_parameters":{"$ref":"#/definitions/PproRedirectionParameterDTO"}}},"PixBaseCustomerDetails":{"type":"object","required":["address","dateOfBirth","email","firstName","lastName","phone"],"properties":{"address":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/pixAddressDetails"},"dateOfBirth":{"type":"string","description":"The date of birth of a customer, 10 characters, ISO-8601 (YYYY-MM-DD)."},"email":{"type":"string","description":"Email address of the customer.\n\nNote: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(â€˜)"},"firstName":{"type":"string","description":"First name of the customer."},"lastName":{"type":"string","description":"Last name of the customer."},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"}}},"PixResponse":{"type":"object","properties":{"account_holder_name":{"type":"string","description":"Name of the account holder.\n\nNote: Only numeric characters are not support"},"payment_purpose":{"type":"string","description":"Descriptor for response that consumer will receive."}}},"PlaceHolderRedocDTO":{"type":"object","properties":{"card_number":{"type":"string","description":"This fields allows to provide a customized placeholder name for card number field"},"cvv":{"type":"string","description":"This fields allows to provide a customized placeholder name for cvv field"},"expiry_month":{"type":"string","description":"This fields allows to provide a customized placeholder name for expiry month field"},"expiry_year":{"type":"string","description":"This fields allows to provide a customized placeholder name for expiry year field"},"expiry_date":{"type":"string","description":"This fields allows to provide a customized placeholder name for expiry date field"},"card_holder_name":{"type":"string","description":"This fields allows to provide a customized placeholder name for car holder name field"},"address":{"description":"This fields allows to provide a customized placeholder name for address block address field","$ref":"#/definitions/AddressPlaceHolderRedocDTO"}}},"Point":{"type":"object","properties":{"type":{"type":"string","description":"The type or category of points"},"scheme":{"type":"string","description":"Name of points scheme provider"},"used":{"type":"integer","format":"int32","description":"Points used this transaction"},"balance":{"type":"integer","format":"int32","description":"Remaining points balance"}}},"PproBancontactPaymentRequestDTO":{"type":"object","required":["amount","merchant_reference"],"properties":{"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"bancontact":{"$ref":"#/definitions/Bancontact"},"customer":{"description":"customer","$ref":"#/definitions/BancontactPayCustomer"},"customer_ip":{"type":"string","description":"The IP address of the customer"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"locale":{"type":"string","description":"Locale code","enum":["en_GB","en_US"]},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"duplicate_check":{"type":"string","description":"This indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."}}},"PproBancontactPaymentResponseDTO":{"type":"object","required":["amount"],"properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"bancontact":{"$ref":"#/definitions/BancontactResponse"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"status":{"type":"string","description":"Status of the transaction.","enum":["PENDING","DECLINED"]},"url":{"type":"string","description":"Hosted payment page URL.Note: URL will not be sent in case of DECLINED or FAILED Scenario"},"amount":{"type":"string","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."}}},"PproBlikFailedPaymentResponseDTO":{"type":"object","required":["_id","amount","merchant_reference","reason_code","reason_message","status"],"properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"url":{"type":"string","description":"Hosted payment page URL.Note: URL will not be sent in case of DECLINED or FAILED Scenario"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of Success, see reason codes section for declined scenarios and error codes section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0."},"blik":{"$ref":"#/definitions/BlikResponse"},"status":{"type":"string","description":"FAILED"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"amount":{"type":"string","description":"Amount received in the request."},"errors":{"type":"array","items":{"$ref":"#/definitions/PspErrorDTO"}}}},"PproBlikPaymentRequestDTO":{"type":"object","required":["amount","blik","currency","customer","merchant_reference","organisation"],"properties":{"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"locale":{"type":"string","description":"Locale code","enum":["en_GB","en_US"]},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.Default values: ecommerce","enum":["ecommerce","pos","moto","unknown"]},"blik":{"$ref":"#/definitions/Blik"},"customer":{"$ref":"#/definitions/BlikPayCustomer"},"duplicate_check":{"type":"string","description":"This indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."}}},"PproBlikPaymentResponceDTO":{"type":"object","required":["_id","amount","merchant_reference","reason_code","status","url"],"properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"blik":{"$ref":"#/definitions/BlikResponse"},"url":{"type":"string","description":"The checkout URL generated by Apexx against the checkout URL of Trustly."},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of Success, see reason codes section for declined scenarios and error codes section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0."},"status":{"type":"string","description":"Valid Values: PENDING,DECLINED,FAILED"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"amount":{"type":"string","description":"Amount received in the request."}}},"PproFailureResponse":{"type":"object","required":["_id","code","details","errors","merchant_reference","message","organisation_id","status","timestamp"],"properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"organisation_id":{"type":"string","description":"The ID of an organisation."},"code":{"type":"string","description":"An alphanumeric code which uniquely identify an error."},"status":{"type":"string","description":"It will indicate what is the final result of the request."},"message":{"type":"string","description":"A description of the response."},"timestamp":{"type":"integer","format":"int64","description":"Current timestamp."},"details":{"type":"string","description":"Optional details concerning the error."},"errors":{"type":"array","description":"Details of each error occured.","items":{"$ref":"#/definitions/Errors"}},"trace_id":{"type":"string","description":"Unique trace id created by APEXX platform to trace this request."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."}}},"PproGiroPaymentRequestDTO":{"type":"object","required":["amount","merchant_reference"],"properties":{"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"giropay":{"$ref":"#/definitions/Ideal-Giropay"},"customer":{"description":"customer","$ref":"#/definitions/GiroPayCustomer"},"delivery_customer":{"$ref":"#/definitions/DeliveryCustomer"},"customer_ip":{"type":"string","description":"The IP address of the customer"},"recurring_type":{"type":"string","description":"This field is to be used only when a transaction is part of a series of recurring transactions. If it's the initial transaction, set the value to 'first', and if it's not, set it to 'recurring'. This field must not be included in transactions that will not be part of a series of repeated transactions. (All values are written in lowercase letters).","enum":["first","recurring","mit","cit","oneclick"]},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"locale":{"type":"string","description":"Locale code","enum":["en_GB","en_US"]},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"duplicate_check":{"type":"string","description":"This indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"}}},"PproGiroPaymentResponseDTO":{"type":"object","required":["amount"],"properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"giropay":{"$ref":"#/definitions/IdealResponse"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"status":{"type":"string","description":"Status of the transaction.","enum":["PENDING","DECLINED"]},"url":{"type":"string","description":"Hosted payment page URL.Note: URL will not be sent in case of DECLINED or FAILED Scenario"},"amount":{"type":"string","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."}}},"PproIdealPaymentRequestDTO":{"type":"object","required":["amount","merchant_reference"],"properties":{"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"ideal":{"$ref":"#/definitions/Ideal-Giropay"},"customer":{"description":"customer","$ref":"#/definitions/IdealPayCustomer"},"delivery_customer":{"$ref":"#/definitions/DeliveryCustomer"},"customer_ip":{"type":"string","description":"The IP address of the customer"},"recurring_type":{"type":"string","description":"This field is to be used only when a transaction is part of a series of recurring transactions. If it's the initial transaction, set the value to 'first', and if it's not, set it to 'recurring'. This field must not be included in transactions that will not be part of a series of repeated transactions. (All values are written in lowercase letters).","enum":["first","recurring","mit","cit","oneclick"]},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"locale":{"type":"string","description":"Locale code","enum":["en_GB","en_US"]},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"duplicate_check":{"type":"string","description":"This indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"}}},"PproIdealPaymentResponseDTO":{"type":"object","required":["amount"],"properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"ideal":{"$ref":"#/definitions/IdealResponse"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"status":{"type":"string","description":"Status of the transaction.","enum":["PENDING","DECLINED"]},"url":{"type":"string","description":"Hosted payment page URL.Note: URL will not be sent in case of DECLINED or FAILED Scenario"},"amount":{"type":"string","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."}}},"PproPixFailedPaymentResponseDTO":{"type":"object","required":["_id","amount","merchant_reference","reason_code","reason_message","status"],"properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"url":{"type":"string","description":"Hosted payment page URL.Note: URL will not be sent in case of DECLINED or FAILED Scenario"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of Success, see reason codes section for declined scenarios and error codes section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0."},"pix":{"$ref":"#/definitions/PixResponse"},"status":{"type":"string","description":"FAILED"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"amount":{"type":"string","description":"Amount received in the request."},"errors":{"type":"array","items":{"$ref":"#/definitions/PspErrorDTO"}}}},"PproPixPaymentRequestDTO":{"type":"object","required":["amount","currency","customer","dynamic_descriptor","merchant_reference","organisation","pix"],"properties":{"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"locale":{"type":"string","description":"Locale code","enum":["en_GB","en_US"]},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.Default values: ecommerce","enum":["ecommerce","pos","moto","unknown"]},"pix":{"$ref":"#/definitions/Pix"},"customer":{"$ref":"#/definitions/PixBaseCustomerDetails"},"duplicate_check":{"type":"string","description":"This indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."}}},"PproPixPaymentResponceDTO":{"type":"object","required":["_id","amount","merchant_reference","reason_code","status","url"],"properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"pix":{"$ref":"#/definitions/PixResponse"},"url":{"type":"string","description":"The checkout URL generated by Apexx against the checkout URL of Trustly."},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of Success, see reason codes section for declined scenarios and error codes section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0."},"status":{"type":"string","description":"Valid Values: PENDING,DECLINED,FAILED"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"amount":{"type":"string","description":"Amount received in the request."}}},"PproRedirectionParameterDTO":{"type":"object","required":["return_url"],"properties":{"return_url":{"type":"string","description":"The return url to which the customer is redirected after an transaction is processed."}}},"PreauthCheck":{"type":"object","properties":{"provider":{"type":"string","description":"Third party provider for the risk check."},"score":{"type":"number","format":"double","description":"Total score calculated for this order. The value cannot be negative."},"status":{"type":"string","description":"Status of the risk check."},"created_at":{"type":"string","format":"date-time","description":"The time at which the transaction was created"},"timestamp":{"type":"integer","format":"int64","description":"Current timestamp"},"rules_triggered":{"type":"array","items":{"$ref":"#/definitions/RuleTraceDTO"}},"is_fraud":{"type":"boolean","example":false}}},"ProcessingErrorResponseCaptureDTO":{"type":"object","required":["merchant_reference"],"properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"created_at":{"type":"string","description":"The time at which the transaction was created"},"captured_amount":{"type":"number","description":"Total amount captured"},"authorized_amount":{"type":"number","description":"Total amount authorised"},"remaining_authorized_amount":{"type":"number","description":"Total authorised remaining amount of order."},"capture_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction"},"invoice_number":{"type":"string","description":"Invoice number of the ticket."},"last_status_update":{"type":"string","description":"The last time when the status of the transaction was updated"},"final_capture":{"type":"string","description":"Indicates whether you can make additional captures against the authorised payment. Set to true if you do not intend to capture additional payments against the authorisation. Set to false if you intend to capture additional payments against the authorisation."},"psp_info":{"description":"PSP Information.","$ref":"#/definitions/PspInformation"},"direct_debit":{"description":"Direct Debit specific Object","$ref":"#/definitions/DirectDebit"},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"status":{"type":"string","enum":["FAILED"]},"acquirer_name":{"type":"string","description":"The name of the acquirer as setup within the APEXX payment gateway."},"request_id":{"type":"string","description":"Unique Id for each request."},"duplicate_check":{"type":"string","description":"This is the duplicate check of request, 'true' in case of request is duplicate"},"response_code":{"type":"string","description":"Response code is sent only when the source of the response looks suspicious. In this case Apexx immediately cancels the transaction placed with the gateway."},"response_message":{"type":"string","description":"A description of the response_code."}}},"ProcessingErrorResponseRefundDTO":{"type":"object","required":["amount","merchant_reference"],"properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"amount":{"type":"number","description":"The amount to be refunded."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"created_at":{"type":"string","description":"The time at which the transaction was created"},"total_refunded_amount":{"type":"number","description":"Total amount refunded"},"total_captured_amount":{"type":"number","description":"Total amount captured"},"total_authorised_amount":{"type":"number","description":"Total amount authorised"},"transaction":{"type":"string","description":"The ID of the authorised transaction"},"last_status_update":{"type":"string","description":"The last time when the status of the transaction was updated"},"reason":{"type":"string","description":"The reason for the refund"},"invoice_number":{"type":"string","description":"Invoice number of the ticket."},"capture_id":{"type":"string","description":"This is the unique capture identifier returned in the capture API as _id. Capture Id is a mandatory field for partial captures."},"refund_numbers":{"type":"array","description":"This is the unique capture identifier returned in the capture API as _id. Capture Id is a mandatory field for partial captures.","items":{"type":"string"}},"psp_info":{"description":"PSP Information.","$ref":"#/definitions/PspInformation"},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"status":{"type":"string","enum":["FAILED"]},"acquirer_name":{"type":"string","description":"The name of the acquirer as setup within the APEXX payment gateway."},"request_id":{"type":"string","description":"Unique Id for each request."},"duplicate_check":{"type":"string","description":"This is the duplicate check of request, 'true' in case of request is duplicate"},"response_code":{"type":"string","description":"Response code is sent only when the source of the response looks suspicious. In this case Apexx immediately cancels the transaction placed with the gateway."},"response_message":{"type":"string","description":"A description of the response_code."}}},"ProfileDTO":{"type":"object","properties":{"name":{"type":"string"},"selectorRule":{"type":"string"}}},"ProfileDataDTO":{"type":"object","properties":{"name":{"type":"string","description":"Name of the active profile chosen by the profile selector. If no profile selector exists, the default active profile is chosen."}}},"ProviderNameDTO":{"type":"object","properties":{"field_name":{"type":"string"},"field_value":{"type":"string"}}},"ProvidersDTO":{"type":"object","properties":{"provider_name":{"type":"array","items":{"$ref":"#/definitions/ProviderNameDTO"}}}},"PspErrorDTO":{"type":"object","properties":{"apexx_return_code":{"type":"string","description":"A return code assigned by the APEXX payment platform; '0' in case of AUTHORISED/CAPTURED, see reason codes section for declined scenarios and error codes section for failed scenarios."},"apexx_return_message":{"type":"string","description":"A return message assigned by the APEXX payment platform. Reason message will return if reason_code is not 0"},"field_reference":{"type":"string","description":"Reference to field that caused an error."},"psp_return_code":{"type":"string","description":"A return code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see reason codes section for declined scenarios and error codes section for failed scenarios."},"psp_return_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"}}},"PspGwRoundRobinInfoDTO":{"type":"object","properties":{"counter_type":{"type":"string"},"derived_value":{"type":"string"},"expression":{"type":"string"},"round_robin_method":{"type":"string"},"round_robin_value":{"type":"string"}}},"PspInformation":{"type":"object","properties":{"routing_sequence_id":{"type":"integer","format":"int32"},"psp_id":{"type":"string","description":"The ID of the payment service provider."},"psp_name":{"type":"string","description":"The name of the payment service provider as setup within the APEXX payment gateway."},"apexx_name":{"type":"string","description":"Name of the psp as setup within the APEXX payment gateway."},"acquirer_name":{"type":"string","description":"The name of the acquirer as setup within the APEXX payment gateway."},"cascading_acquirer":{"type":"string","description":"The name of the acquirer which declined/authorised the cascaded transaction."},"organisation_psp_name":{"type":"string","description":"The name of the processor as setup within the APEXX payment gateway. i.e. Merchant Name - Acquirer Name."},"transport_method":{"type":"string"},"start_time_stamp":{"type":"string"},"end_time_stamp":{"type":"string"},"ellapsed_time":{"type":"string"},"status":{"type":"string","description":"The status of the transaction as provided by the psp."},"sub_status":{"type":"string"},"time_out":{"type":"integer","format":"int32"},"response_code":{"type":"string","description":"The response code received from the payment service provider for the transaction."},"response_message":{"type":"string","description":"The response message received from the payment service provider for the transaction."},"errors":{"type":"array","items":{"$ref":"#/definitions/PspErrorDTO"}},"mid_country":{"type":"string","description":"The country setup for the “mid” used to process the transaction as setup within the APEXX payment gateway."},"psp_transaction_reference":{"type":"string","description":"The unique id provided by the payment service provider for the transaction."},"category_code":{"type":"string"},"category_message":{"type":"string"},"reconciliation_id":{"type":"string","description":"Reference number for the transaction generated by the PSP or Acquirer to provide end to end traceability for reconciliation purposes. Only supported by some PSP or Acquirers. Please speak to your implementation number to understand more."}}},"PspgwRouteInformation":{"type":"object","properties":{"apexx_name":{"type":"string","description":"Name of the psp as setup within the APEXX payment gateway."},"merchant_code":{"type":"string"},"name":{"type":"string"},"psp_id":{"type":"string","description":"The ID of the payment service provider."},"sequence":{"type":"integer","format":"int32"}}},"RedirectUrlsDTO":{"type":"object","required":["cancelled","failed","success"],"properties":{"success":{"type":"string","description":"The return url to which the customer is redirected after an transaction is processed."},"failed":{"type":"string","description":"The return url to which the customer is redirected after an transaction is unsuccessful."},"cancelled":{"type":"string","description":"The return url to which the customer is redirected after failing to complete provider registration and payment confirmation steps."}}},"RedirectionParameterDTO":{"type":"object","required":["return_url"],"properties":{"return_url":{"type":"string","description":"The return url to which the customer is redirected after an transaction is processed."},"cancel_return_url":{"type":"string","description":"The URL where the customer is redirected after the customer cancels the payment."}}},"RedirectionParametersDTO":{"type":"object","required":["return_url"],"properties":{"return_url":{"type":"string","description":"The return url to which the customer is redirected after an transaction is processed."}}},"RefundCustomerDetailsDTO":{"type":"object","properties":{"customer_id":{"type":"string","description":"The customer_id of recipient's"}}},"RefundRequestDTO":{"type":"object","required":["amount"],"properties":{"amount":{"type":"number","description":"The amount to be refunded."},"reason":{"type":"string","description":"The reason for the refund"},"merchant_refund_reference":{"type":"string","description":"A reference specified by the merchant to identify the refund. This field must be unique per refund."},"refund_time":{"type":"string","format":"date-time","description":"Date and time of the request. Format - YYYY-MM-DD HH:mm:ss."},"capture_id":{"type":"string","description":"Only supported by some acquirers.\n\nThis is the unique capture identifier returned in the capture API as _id. Capture Id is a mandatory field for partial captures."},"duplicate_check":{"type":"boolean","example":false,"description":"This indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"},"customer":{"description":"Object related to customer information","$ref":"#/definitions/RefundCustomerDetailsDTO"}}},"RefundResponseDTO":{"type":"object","required":["amount","merchant_reference"],"properties":{"status":{"type":"string","description":"Status of the transaction.","enum":["REFUNDED","DECLINED"]},"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"amount":{"type":"number","description":"The amount to be refunded."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"created_at":{"type":"string","description":"The time at which the transaction was created"},"total_refunded_amount":{"type":"number","description":"Total amount refunded"},"total_captured_amount":{"type":"number","description":"Total amount captured"},"total_authorised_amount":{"type":"number","description":"Total amount authorised"},"transaction":{"type":"string","description":"The ID of the authorised transaction"},"last_status_update":{"type":"string","description":"The last time when the status of the transaction was updated"},"reason":{"type":"string","description":"The reason for the refund"},"invoice_number":{"type":"string","description":"Invoice number of the ticket."},"capture_id":{"type":"string","description":"This is the unique capture identifier returned in the capture API as _id. Capture Id is a mandatory field for partial captures."},"refund_numbers":{"type":"array","description":"This is the unique capture identifier returned in the capture API as _id. Capture Id is a mandatory field for partial captures.","items":{"type":"string"}},"psp_info":{"description":"PSP Information.","$ref":"#/definitions/PspInformation"},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"acquirer_name":{"type":"string","description":"The name of the acquirer as setup within the APEXX payment gateway."},"request_id":{"type":"string","description":"Unique Id for each request."},"duplicate_check":{"type":"string","description":"This is the duplicate check of request, 'true' in case of request is duplicate"},"response_code":{"type":"string","description":"Response code is sent only when the source of the response looks suspicious. In this case Apexx immediately cancels the transaction placed with the gateway."},"response_message":{"type":"string","description":"A description of the response_code."}}},"RentalCharges":{"type":"object","properties":{"one_waydrop_off_amount":{"type":"string","description":"Extra charges incurred for a one-way rental agreement for the auto."},"adjusted_amount":{"description":"Adjusted amount details","$ref":"#/definitions/AdjustedAmount"},"fuel_charges":{"type":"string","description":"Extra gasoline charges that extend beyond the basic rental agreement"},"weekly_rental_rate":{"type":"string","description":"Weekly Rental Amount provides the amount charged for a seven-day rental period.\nTime Period needs to be populated with Weekly if this field is present"},"daily_rental_rate":{"type":"string","description":"Daily auto rental rate charged.\nTime Period needs to be populated with Daily if this field is present"},"rate_per_mile":{"type":"string","description":"Rate charged for each mile."},"mileage_charge":{"type":"string","description":"Regular Mileage Charge provides the amount charged for regular miles travelled during vehicle rental. Two decimal places"},"extra_mileage_charge":{"type":"string","description":"Extra mileage charges that extend beyond the basic rental agreement."},"late_fee_amount":{"type":"string","description":"Extra charges related to a late return of the rented auto"},"towing_charge":{"type":"string","description":"Towing Charges provides the amount charged to tow the rental vehicle."},"extra_charge":{"type":"string","description":"Extra Charges provides the extra charges associated with the vehicle rental."},"gps_charge":{"type":"string","description":"Amount charged for renting a Global Positioning Service (GPS)."},"phone_charge":{"type":"string","description":"Additional charges incurred for phone usage included on the total bill."},"parking_violation_charge":{"type":"string","description":"Extra charges incurred due to a parking violation for the auto."},"other_charges":{"type":"string","description":"Total amount charged for all other miscellaneous charges not previously defined."}}},"RentalInformation":{"type":"object","properties":{"company_id":{"type":"string","description":"Corporate Identifier provides the unique identifier of the corporation or entity renting the vehicle"},"no_show_indicator":{"type":"boolean","example":false,"description":"No Show Indicator provides an indicator noting that the individual did not show up after making a reservation for a vehicle."},"commodity_code":{"type":"string","description":"Commodity code or International description code used to classify the item. Contact your acquirer for a list of codes."}}},"RiskCheckCardDetails":{"type":"object","properties":{"card_holder_name":{"type":"string","description":"Name of the card holder as printed on the card."},"card_number":{"type":"string","description":"The new card number, also known as PAN."},"expiry_month":{"type":"string","description":"Card expiry month. A string representing the month, valid values are 01 to 12."},"expiry_year":{"type":"string","description":"Card expiry year. A string representing the last two digits of the year, e.g. 19 for 2019."},"token":{"type":"string","description":"The token representing the payment card."},"encrypted_data":{"type":"string","description":"This field will contain the encryption data of card_number, expiry_month, expiry_year and cvv fields. Encryption data generated by client-side-encryption SDK."},"initial_scheme_transaction_id":{"type":"string","description":"The unique scheme transaction Id returned during customer initiated transaction. This value will be required when recurring_type is \"mit\""},"network_token":{"description":"Network token.","$ref":"#/definitions/NetworkToken"}}},"RiskCheckMessagesDTO":{"type":"object","properties":{"action_code":{"type":"string"},"address":{"type":"string"},"city":{"type":"string"},"code":{"type":"string"},"country":{"type":"string"},"customer_facing_message":{"type":"string"},"email":{"type":"string"},"field_reference":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"message":{"type":"string"},"phone":{"type":"string"},"postalCode":{"type":"string"},"state":{"type":"string"},"type":{"type":"string"}}},"RiskDataDTO":{"type":"object","properties":{"acquisition_channel":{"type":"string","description":"Specify the channel which consumer has used for accessing merchant page.","enum":["NotSet","Advertisment","SocialNetwork","Direct","SearchEngine","Other"]},"customer_card_classification":{"type":"string","description":"Specifies the level of the loyalty card (e.g Gold member)."},"customer_card_since":{"type":"string","description":"The date when the loyalty card was issued to the customer"},"customer_classification":{"type":"string","description":"Customer reputation (e.g. VIP client)"},"customer_individual_score":{"type":"string","description":"The customer's individual risk score provided by the merchant. Accepts a number from -10000 to 10000 (can be encased in quotation marks or not), or a single case-insensitive letter from 'a' to 'z'."},"customer_since":{"type":"string","description":"Since when customer has been merchant's client"},"existing_customer":{"type":"string","description":"Is customer an existing customer for merchant"},"has_customer_card":{"type":"string","description":"Shows if customer has loyalty card"},"marketing_opt_in":{"type":"string","description":"Shows if merchant is allowed to send marketing information to customer"},"number_of_transactions":{"type":"integer","format":"int32","description":"Total number of successful purchases that have been made by the specific consumer"},"profile_tracking_id":{"type":"string","description":"Unique Id of the device for profile tracking"},"verified_customer_identification":{"type":"string","description":"Is identification verified"}}},"RiskInformationDTO":{"type":"object","properties":{"profile":{"description":"Identifies a risk profile.","$ref":"#/definitions/ProfileDataDTO"},"event_type":{"type":"string","description":"Specifies one of the following types of events:\n\n1. login\n\n2. account_creation\n\n3. account_update For regular payment transactions, do not send this field."},"buyer_history":{"description":"buyerHistory","$ref":"#/definitions/BuyerHistoryDTO"}}},"RiskInformationResponseDTO":{"type":"object","properties":{"case_priority":{"type":"string"},"info_codes":{"$ref":"#/definitions/InfoCodesDTO"},"local_time":{"type":"string"},"profile_response":{"$ref":"#/definitions/ProfileDTO"},"providers":{"$ref":"#/definitions/ProvidersDTO"},"rules":{"type":"array","items":{"$ref":"#/definitions/RuleDTO"}},"score":{"$ref":"#/definitions/ScoreDTO"}}},"Risk_Data":{"type":"object","properties":{"acquisition_channel":{"type":"string","description":"Specify the channel which consumer has used for accessing merchant page.","enum":["NotSet","Advertisment","SocialNetwork","Direct","SearchEngine","Other"]},"customer_card_classification":{"type":"string","description":"Specifies the level of the loyalty card (e.g Gold member)"},"customer_card_since":{"type":"string","description":"The date when the loyalty card was issued to the customer, 10 characters, ISO-8601 (YYYY-MM-DD)"},"customer_classification":{"type":"string","description":"Customer reputation (e.g. VIP client)"},"customer_individual_score":{"type":"string","description":"The customer's individual risk score provided by the merchant. Accepts a number from -10000 to 10000 (can be encased in quotation marks or not), or a single case-insensitive letter from 'a' to 'z'."},"customer_since":{"type":"string","description":"Date the Customer first used the Merchant. 10 characters, ISO-8601 (YYYY-MM-DD)"},"existing_customer":{"type":"string","description":"Is customer an existing customer for merchant","enum":["true","false"]},"has_customer_card":{"type":"string","description":"Shows if customer has loyalty card","enum":["true","false"]},"marketing_opt_in":{"type":"string","description":"Shows if merchant is allowed to send marketing information to customer","enum":["true","false"]},"number_of_transactions":{"type":"integer","format":"int32","description":"Total number of successful purchases that have been made by the specific consumer"},"profile_tracking_id":{"type":"string","description":"Unique Id of the device for profile tracking"},"verified_customer_identification":{"type":"string","description":"Is identification verified","enum":["true","false"]}}},"Room":{"type":"object","properties":{"number_of_nights":{"type":"integer","format":"int32","description":"Number of nights billed at the rate specified in daily_rate."},"room_bed_type":{"type":"string","description":"Type of room, such as queen, king, or two doubles.","enum":["Single bed","Double bed","Queen bed","King bed","Twin bed","Sofa bed","Bunk bed","Murphy bed","Trundle bed","Day bed","Other"]},"room_location":{"type":"string","description":"Location of room, such as lake view or ocean view."},"smoking_preference":{"type":"string","description":"Smoking preference of the guest. Y: smoking room \nN: non-smoking room","enum":["Y","N"]},"room_rate_type":{"type":"string","description":"Type of rate, such as corporate or senior citizen."},"daily_rate":{"type":"string","description":"Daily cost of the room."}}},"RouteStops":{"type":"object","properties":{"stop":{"type":"string","description":"Location of stop off"}}},"RuleDTO":{"type":"object","properties":{"decision":{"type":"string"},"name":{"type":"string"}}},"RuleTraceDTO":{"type":"object","properties":{"bindValue":{"type":"string"},"category":{"type":"string"},"result":{"type":"boolean"},"ruleExpression":{"type":"string"},"ruleId":{"type":"string"},"ruleOrgId":{"type":"string"},"ruleType":{"type":"string"}}},"ScoreDTO":{"type":"object","properties":{"factorCodes":{"type":"array","items":{"type":"string"}},"modelUsed":{"type":"string"},"result":{"type":"string"}}},"SdkPaypalOrderIDTO":{"type":"object","properties":{"invoice_number":{"type":"string","description":"Invoice id of the order"},"total_tax_amount":{"type":"string","description":"The total tax for all items. Required if the request includes purchase_units.items.tax. Must equal the sum of (order.items[].tax_amount * order.items[].quantity) for all items."},"items":{"type":"array","items":{"$ref":"#/definitions/Items"}}}},"ShowCustomFields":{"type":"object","properties":{"card_holder_name":{"type":"string","description":"This field allows you to customise the card block in the HPP. True will load the card holder name in the page and false will hide it.","enum":["false","true"]},"address":{"type":"string","description":"This field allows you to customise the billing_address in the HPP. True will load the billing_address fields in the page and false will hide it.","enum":["false","true"]},"address_required":{"type":"string","description":"This field allows you to customise the billing_address fileds validation in the HPP. True will make all billing_address fields mandatory in the page and false will make it optional.","enum":["false","true"]},"delivery_address":{"type":"string","description":"This field allows you to customise the delivery_address in the HPP. True will load the delivery_address fields in the page and false will hide it.","enum":["false","true"]},"delivery_address_required":{"type":"string","description":"This field allows you to customise the delivery_address fileds validation in the HPP. True will make all delivery_address fields mandatory in the page and false will make it optional.","enum":["false","true"]},"display_horizontal":{"type":"string","description":"This field allows you to customise the alignment of the HPP. True will align in the horizontal and false will align in the vertical. And true is the default value.","enum":["false","true"]},"show_phone":{"type":"string","description":"This field allows you to customise the phone in the HPP. True will load the phone field in the page and false will hide it.","enum":["true","false"]},"display_cvv_logo":{"type":"string","description":"This field allows you to enable cvv logo on the HPP. True will show the cvv logo on the page and false will hide it.","enum":["false","true"]},"labels":{"description":"This block is used to provide customized field name","$ref":"#/definitions/LabelsRedocDTO"},"placeholder":{"description":"This block is used to provide customized placeholder name","$ref":"#/definitions/PlaceHolderRedocDTO"}}},"ShowCustomLabels":{"type":"object","properties":{"expiry_date":{"type":"string","description":"Information which we will display for an expiry month and expiry year.\n\nMax-Length: 50 chars"},"cvv":{"type":"string","description":"Information which we will display for the cvv.\n\nMax-Length: 50 chars"}}},"Skrill":{"type":"object","required":["account_holder_name","redirect_urls"],"properties":{"account_holder_name":{"type":"string","description":"Name of the account holder.\n\nNote: Only numeric characters are not support"},"redirect_urls":{"$ref":"#/definitions/RedirectUrlsDTO"}}},"SkrillBaseCustomerDetails":{"type":"object","required":["address","date_of_birth","email","first_name","last_name","phone"],"properties":{"address":{"$ref":"#/definitions/skrillAddressDetails"},"date_of_birth":{"type":"string","description":"The date of birth of a customer, 10 characters, ISO-8601 (YYYY-MM-DD)."},"email":{"type":"string","description":"Email address of the customer.\n\nNote: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(â€˜)"},"first_name":{"type":"string","description":"First name of the customer."},"last_name":{"type":"string","description":"Last name of the customer."},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"}}},"SkrillCredit":{"type":"object","properties":{"account_holder_name":{"type":"string","description":"Name of the account holder.\n\nNote: Only numeric characters are not support"},"redirect_urls":{"$ref":"#/definitions/SkrillCreditTxnRedirectUrlsDTO"}}},"SkrillCreditTxnRedirectUrlsDTO":{"type":"object","properties":{"success":{"type":"string","description":"The return url to which the customer is redirected after an transaction is processed."},"failed":{"type":"string","description":"The return url to which the customer is redirected after an transaction is unsuccessful."},"cancelled":{"type":"string","description":"The return url to which the customer is redirected after failing to complete provider registration and payment confirmation steps."}}},"SkrillFailedPaymentResponseDTO":{"type":"object","required":["amount","skrill"],"properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"status":{"type":"string","description":"Status of the transaction."},"amount":{"type":"string","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"skrill":{"$ref":"#/definitions/skrill"},"errors":{"type":"array","items":{"$ref":"#/definitions/PspErrorDTO"}}}},"SkrillPaymentRequestDTO":{"type":"object","required":["amount","currency","customer","dynamic_descriptor","merchant_reference","organisation","skrill"],"properties":{"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"amount":{"type":"number","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"locale":{"type":"string","description":"Locale code","enum":["en_GB","en_US"]},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.Default values: ecommerce","enum":["ecommerce","pos","moto","unknown"]},"skrill":{"$ref":"#/definitions/Skrill"},"customer":{"$ref":"#/definitions/SkrillBaseCustomerDetails"},"duplicate_check":{"type":"string","description":"This indicates the system whether to perform duplicate check on the transaction or not. A request is considered duplicate if the merchant_reference has already been used within last 24 hours."},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction."}}},"SkrillPaymentResponseDTO":{"type":"object","required":["_id","amount","merchant_reference","reason_code","skrill","status","url"],"properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"url":{"type":"string","description":"Hosted payment page URL.Note: URL will not be sent in case of DECLINED or FAILED Scenario"},"skrill":{"$ref":"#/definitions/skrill"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of Success, see reason codes section for declined scenarios and error codes section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0."},"status":{"type":"string","description":"Valid Values: PENDING,DECLINED,FAILED"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"amount":{"type":"string","description":"Amount received in the request."}}},"Subscription":{"type":"object","properties":{"description":{"type":"string","description":"Name and/or description of subscription"},"start_date":{"type":"string","description":"The starting date of the subscription, 10 characters, ISO-8601 (YYYY-MM-DD)"},"end_date":{"type":"string","description":"The end date of the subscription, 10 characters, ISO-8601 (YYYY-MM-DD)"},"auto_renew":{"type":"string","description":"Valid values: \"true\", \"false\""},"interval":{"type":"string","description":"Valid values: \"DAILY\", \"WEEKLY\", \"MONTHLY\", \"QUARTERLY\", \"ANNUALLY\""},"count":{"type":"string","description":"No of payments in subscription duration"}}},"TaxDetail":{"type":"object","properties":{"room_tax_type":{"type":"string","description":"Type of tax.","enum":["Sales Tax","Value Added Tax (VAT)","Transient Occupancy Tax (TOT)","Occupancy Tax","Resort Tax","Tourism Tax","City Tax","County Tax","Municipal Tax","State Tax","Bed Tax","Resort Fee","Hospitality Tax","Other"]},"room_tax_amount":{"type":"string","description":"Total tax for the room."},"total_tax_amount":{"type":"string","description":"Total tax amount"}}},"ThreeDSCardEnrolRequest":{"type":"object","properties":{"three_ds_enrollment":{"type":"boolean","example":false,"description":"Card’s enrollment status.\n\n**Note:** This field is required by certain acquirers, please ask your implementation manager for details."},"three_ds_required":{"type":"string","description":"Enroll a given transaction for 3D-secure to verify whether authentication is supported for the card being used."},"three_ds_version":{"type":"string","description":"The 3-D Secure version used for the authentication.","enum":["1.0","2.0","1.0.2","2.1.0","2.2.0"]},"term_url":{"type":"string","description":"The return url to which the customer is redirected after a transaction is processed."},"eci":{"type":"string","description":"The Electronic Commerce Indicator (ECI)."},"xid":{"type":"string","description":"3-D Secure X id."},"cavv":{"type":"string","description":"3-D Secure \"Cardholder Authentication Verification Value\""},"pares":{"type":"string","description":"Result of the authentication check. This field can contain one of these values:\n\nA: Proof of authentication attempt was generated.\n\nN: Customer failed or canceled authentication. Transaction denied.\n\nU: Authentication not completed regardless of the reason.\n\nY: Customer was successfully authenticated."},"veres":{"type":"string","description":"Result of the enrollment check. This field can contain one of these values:\n\nY: Card enrolled or can be enrolled; you must authenticate. Liability shift.\n\nN: Card not enrolled; proceed with authorization. Liability shift.\n\nU: Unable to authenticate regardless of the reason. No liability shift.\n\nB: Indicates that authentication was bypassed."},"authentication_result":{"type":"string","description":"Raw authentication data that comes from the cardissuing bank. Primary authentication field that indicates if authentication was successful and if liability shift occurred. You should examine first the result of this field. This field contains one of these values:\n\n-1: Invalid PARes.\n\n0: Successful validation.\n\n1: Cardholder is not participating, but the attempt to authenticate was recorded.\n\n6: Issuer unable to perform authentication.\n\n9: Cardholder did not complete authentication."}}},"ThreeDSCardEnroll":{"type":"object","properties":{"cavv":{"type":"string"},"eci":{"type":"string"},"three_ds_authenticated":{"type":"boolean"},"three_ds_enrollment":{"type":"string"},"ucaf_collection_indicator":{"type":"string"},"xid":{"type":"string"},"three_ds_required":{"type":"boolean","example":false,"description":"Enroll a given transaction for 3D-secure to verify whether authentication is supported for the card being used."},"three_ds_version":{"type":"string","description":"The 3-D Secure version used for the authentication.","enum":["1.0","2.0","1.0.2","2.1.0","2.2.0"]},"term_url":{"type":"string","description":"The return url to which the customer is redirected after a transaction is processed."},"reference_id":{"type":"string","description":"Cardinal Session ID sent in the response after initialization of JWT with Cardinal. This is mandatory when three_ds_version is 2.0."}}},"ThreeDSResponse":{"type":"object","properties":{"three_ds_authenticated":{"type":"string","description":"**Note:** This field is required when 3ds 2.0 is used."},"three_ds_enrollment":{"type":"boolean","example":false,"description":"Card’s enrollment status.\n\n**Note:** This field is required by certain acquirers, please ask your implementation manager for details."},"three_ds_result":{"type":"string","description":"6 character value composed of 3DSECURESTATUS converted to hexadecimal concatenated with the result VRes converted to hexadecimal"},"three_ds_required":{"type":"string","description":"true if 3DS required for this transaction, false otherwise."},"term_url":{"type":"string","description":"The return url to which the customer is redirected after a transaction is processed."}}},"ThreeDs":{"type":"object","properties":{"three_ds_required":{"type":"string","description":"Valid values: \"true\"\t\"false\"\t\n\ntrue if 3DS required for this transaction, false otherwise."},"three_ds_version":{"type":"string","description":"Valid values: \"1.0\"\t\"2.0\"\t\n\nThe 3-D Secure version used for the authentication"},"term_url":{"type":"string","description":"The return url to which the customer is redirected after a transaction is processed."},"reference_id":{"type":"string","description":"Cardinal Session ID sent in the response after initialization of JWT with Cardinal. This is mandatory when three_ds_version is 2.0."}}},"ThreeDsAuthenticationFailResponse":{"type":"object","required":["amount","card","merchant_reference"],"properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"string","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"blocked":{"type":"boolean","example":false,"description":"True if the transaction has been blocked by a ruleset, false otherwise"},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"card":{"description":"The new card number, also known as PAN.","$ref":"#/definitions/RiskCheckCardDetails"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"customer_ip":{"type":"string","description":"The IP address of the customer"},"pares":{"type":"string","description":"The unmodified PaRes value as received after the customer was redirected back from 3DS Authentication."},"recurring_type":{"type":"string","description":"The value used to flag how the acquirer/ issuer should consider the transaction","enum":["first","recurring","oneclick","mit","cit","install"]},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"actions":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string","description":"The time at which the transaction was created"},"cvv_present":{"type":"boolean","example":false,"description":"True if the card was used with a cvv"},"fees":{"type":"array","items":{"type":"integer","format":"int32"}},"geo_locations":{"type":"array","description":"The latitude/longitude resolved from the customer's ip address","items":{"type":"integer","format":"int32"}},"fraud_predictions":{"type":"array","items":{"$ref":"#/definitions/FraudPredictions"}},"last_status_update":{"type":"string","description":"The last time when the status of the transaction was updated"},"card_brand":{"type":"string","description":"Card brand for the card used for processing","enum":["amex","diners","discover","elo","jcb","maestro","mastercard","visa","visa electron","carte bancaire"]},"issuer_name":{"type":"string","description":"Card Issuer Name for this transaction"},"delivery_address":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/deliveryAddress"},"issuer_country":{"type":"string","description":"Issuing country of the card. A 2-letter ISO3166 alpha-2. Acquirer country code"},"organisation_psp_name":{"type":"string","description":"The name of the processor as setup within the APEXX payment gateway. i.e. Merchant Name - Acquirer Name"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"status":{"type":"string","description":"Status of the transaction.","enum":["FAILED"]},"details":{"$ref":"#/definitions/Details"},"payment product = \"card\"":{"type":"string","description":"The payment product corresponding to this transaction"},"billing_address":{"description":"Billing address details for the customer","$ref":"#/definitions/BillingAddress"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"cvv_result":{"type":"string","description":"CVV verification result, as returned by the processor."},"avs_result":{"type":"string","description":"Address verification services result, as returned by the processor"},"three_ds":{"description":"Enroll a given transaction for 3D-secure to verify whether authentication is supported for the card being used.","$ref":"#/definitions/ThreeDSCardEnrolRequest"},"acquirer_name":{"type":"string","description":"The name of the acquirer as setup within the APEXX payment gateway."},"merchant_data":{"description":"Merchant Data","$ref":"#/definitions/MerchantData"},"cascade_successful":{"type":"boolean","example":false,"description":"True if the transaction was cascaded, false if transaction when transaction failed to cascade and null if cascading was not attempted."},"device_information":{"description":"deviceInformation","$ref":"#/definitions/deviceInformation"},"webhook":{"description":"WebhookResponse","$ref":"#/definitions/WebhookResponse"},"preauth_check":{"$ref":"#/definitions/PreauthCheck"},"external_risk_data":{"description":"ExternalRiskData","$ref":"#/definitions/FraudCheckResponse"},"routing":{"type":"array","description":"RouteInformation","items":{"$ref":"#/definitions/PspgwRouteInformation"}},"cascaded_psps":{"type":"array","description":"Cascaded psp's","items":{"$ref":"#/definitions/PspInformation"}},"psp_info":{"description":"PspInformation","$ref":"#/definitions/PspInformation"},"tra_exemption":{"type":"string","description":"\"This indicates that exemption from SCA is requested for the transaction. Valid values as mentioned below:\n\n \"\"external\"\" - Transaction risk analysis conducted by approved external source\n\n \"\"acquirer\"\" - Transaction risk analysis conducted by the acquirer\n\n \"\"scp\"\" - scp stands for Secure Corporate Payment\n\n \"\"lvp\"\" - lvp stands for Low-Value Payment\n\n \"\"delegated\"\" - Exemption indicator for delegated authentication.\n\n This flag specifies whether the transaction is exempt from strong customer authentication (SCA) requirements in Europe because the authentication was delegated to a different provider, such as an acquirer or payment technology provider (PTP).\""},"authorisation_mid":{"type":"string","description":"The authorisation mid used to process the transaction as setup within the APEXX payment gateway."},"settlement_mid":{"type":"string","description":"The settlement mid used to process the transaction as setup within the APEXX payment gateway."},"pos_data_code":{"type":"string"},"request_id":{"type":"string","description":"Unique Id for each request."},"duplicate_check":{"type":"string","description":"This is the duplicate check of request, 'true' in case of request is duplicate"},"customer":{"description":"customer","$ref":"#/definitions/AuthorisePaymentCustomer"},"response_code":{"type":"string","description":"Response code is sent only when the source of the response looks suspicious. In this case Apexx immediately cancels the transaction placed with the gateway."},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"},"travel_data":{"description":"Travel data - data relating to hotel bookings, cruise/trip details/car rental/accomodation rental","$ref":"#/definitions/travelData"},"payment_product_type":{"type":"string","description":"The payment product type corresponding to this transaction","enum":["Amex","Diners Club International","Discover","Elo","JCB","Maestro","Mastercard","Visa","Visa Electron"]},"response_message":{"type":"string","description":"A description of the response_code."},"transaction_chargeback":{"description":"TransactionChargeback","$ref":"#/definitions/TransactionChargeback"},"card_type":{"type":"string","description":"Funding type of the card e.g. Debit, Credit"},"mastercard_settlement_date":{"type":"string","description":"Mastercard settlement date received from Acquirer"},"aft_type":{"type":"string","description":"Type of Account Funding transaction.\n\nSVWF - Stored value wallet funding\n\nSDWT - Staged digital wallet pre-funding\n\nA2A - Account-to-account (me-to-me) money transfer\n\nP2P - Person-to-Person (P2P) money transfer\n\nCLA - Cryptocurrency and liquid assets\n\nBIT - Financial Institution offe red Bank-Initiated P2P Money Transfer\n\nFD - Funds Disbursement\n\nFT - Funds Transfer\n\nPD - Payroll Disbursement\n\nPL - Prepaid load / reload2\n\nB2B - Business to Business\n\nCBP - Card Bill Payment\n\nGP - Gambling Payouts\n\nGFD - General funds disbursement\n\nGD - Government Disbursement\n\nLP - Loyalty Payments\n\nMD - Funding small business disbursements\n\nMP - Merchant Payment\n\nNCBP - Non card bill payment\n\nOGP - Online gaming payout\n\nZDA - Zero dollar authorisation\n\nTO - Top off","enum":["SVWF","SDWT","A2A","P2P","CLA","BIT","FD","FT","PD","TPL","B2BCBP","GP","GFD","GD","LP","MD","MP","NCBP","OGP","ZDA","TO"]},"installment_information":{"description":"Please note that the specific request here will override any general configuration that is set against your MID. by the acquirer. This does not apply to AMEX where the config at the MID takes priority","$ref":"#/definitions/InstallmentInformation"}}},"ThreeDsAuthenticationResponse":{"type":"object","required":["amount","card","merchant_reference"],"properties":{"_id":{"type":"string","description":"This is the unique id generated by Apexx."},"account":{"type":"string","description":"The ID of the account. Acts as an override. Must be submitted if organisation and currency are not used in the request."},"organisation":{"type":"string","description":"The ID of an organisation. Must be submitted along with currency if account is not used in the request."},"currency":{"type":"string","description":"Currency using which transaction needs to be processed. Must be submitted if account is not used in the request. This field is ignored if submitted along with the account, Apexx uses the currency configured with the account to process the transaction when account is submitted. A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"amount":{"type":"string","description":"Amount is charged without a decimal place e.g. $1.50 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details."},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"blocked":{"type":"boolean","example":false,"description":"True if the transaction has been blocked by a ruleset, false otherwise"},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction."},"dynamic_descriptor":{"type":"string","description":"A short reference/descriptor that will show up on the customers bank statement. Only supported by some acquirers. Please confirm with your Implementation Manager for supported acquirers and formats."},"card":{"description":"The new card number, also known as PAN.","$ref":"#/definitions/RiskCheckCardDetails"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. Please ensure the reference is unique per transaction."},"customer_ip":{"type":"string","description":"The IP address of the customer"},"pares":{"type":"string","description":"The unmodified PaRes value as received after the customer was redirected back from 3DS Authentication."},"recurring_type":{"type":"string","description":"The value used to flag how the acquirer/ issuer should consider the transaction","enum":["first","recurring","oneclick","mit","cit","install"]},"user_agent":{"type":"string","description":"The full user agent string of the device the customer used to submit the transaction"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"},"actions":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string","description":"The time at which the transaction was created"},"cvv_present":{"type":"boolean","example":false,"description":"True if the card was used with a cvv"},"fees":{"type":"array","items":{"type":"integer","format":"int32"}},"geo_locations":{"type":"array","description":"The latitude/longitude resolved from the customer's ip address","items":{"type":"integer","format":"int32"}},"fraud_predictions":{"type":"array","items":{"$ref":"#/definitions/FraudPredictions"}},"last_status_update":{"type":"string","description":"The last time when the status of the transaction was updated"},"card_brand":{"type":"string","description":"Card brand for the card used for processing","enum":["amex","diners","discover","elo","jcb","maestro","mastercard","visa","visa electron","carte bancaire"]},"issuer_name":{"type":"string","description":"Card Issuer Name for this transaction"},"delivery_address":{"description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information.","$ref":"#/definitions/deliveryAddress"},"issuer_country":{"type":"string","description":"Issuing country of the card. A 2-letter ISO3166 alpha-2. Acquirer country code"},"organisation_psp_name":{"type":"string","description":"The name of the processor as setup within the APEXX payment gateway. i.e. Merchant Name - Acquirer Name"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Appendix)** section for declined scenarios and **[error codes](#section/Appendix)** section for failed scenarios."},"reason_message":{"type":"string","description":"A reason message assigned by the acquiring platform. Reason message will return if reason_code is not 0"},"details":{"$ref":"#/definitions/Details"},"payment product = \"card\"":{"type":"string","description":"The payment product corresponding to this transaction"},"status":{"type":"string","description":"Status of the transaction.","enum":["AUTHORISED","CAPTURED","DECLINED"]},"billing_address":{"description":"Billing address details for the customer","$ref":"#/definitions/BillingAddress"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer.","enum":["ecommerce","pos","moto","unknown"]},"cvv_result":{"type":"string","description":"CVV verification result, as returned by the processor."},"avs_result":{"type":"string","description":"Address verification services result, as returned by the processor"},"three_ds":{"description":"Enroll a given transaction for 3D-secure to verify whether authentication is supported for the card being used.","$ref":"#/definitions/ThreeDSCardEnrolRequest"},"acquirer_name":{"type":"string","description":"The name of the acquirer as setup within the APEXX payment gateway."},"merchant_data":{"description":"Merchant Data","$ref":"#/definitions/MerchantData"},"cascade_successful":{"type":"boolean","example":false,"description":"True if the transaction was cascaded, false if transaction when transaction failed to cascade and null if cascading was not attempted."},"device_information":{"description":"deviceInformation","$ref":"#/definitions/deviceInformation"},"webhook":{"description":"WebhookResponse","$ref":"#/definitions/WebhookResponse"},"preauth_check":{"$ref":"#/definitions/PreauthCheck"},"external_risk_data":{"description":"ExternalRiskData","$ref":"#/definitions/FraudCheckResponse"},"routing":{"type":"array","description":"RouteInformation","items":{"$ref":"#/definitions/PspgwRouteInformation"}},"cascaded_psps":{"type":"array","description":"Cascaded psp's","items":{"$ref":"#/definitions/PspInformation"}},"psp_info":{"description":"PspInformation","$ref":"#/definitions/PspInformation"},"tra_exemption":{"type":"string","description":"\"This indicates that exemption from SCA is requested for the transaction. Valid values as mentioned below:\n\n \"\"external\"\" - Transaction risk analysis conducted by approved external source\n\n \"\"acquirer\"\" - Transaction risk analysis conducted by the acquirer\n\n \"\"scp\"\" - scp stands for Secure Corporate Payment\n\n \"\"lvp\"\" - lvp stands for Low-Value Payment\n\n \"\"delegated\"\" - Exemption indicator for delegated authentication.\n\n This flag specifies whether the transaction is exempt from strong customer authentication (SCA) requirements in Europe because the authentication was delegated to a different provider, such as an acquirer or payment technology provider (PTP).\""},"authorisation_mid":{"type":"string","description":"The authorisation mid used to process the transaction as setup within the APEXX payment gateway."},"settlement_mid":{"type":"string","description":"The settlement mid used to process the transaction as setup within the APEXX payment gateway."},"pos_data_code":{"type":"string"},"request_id":{"type":"string","description":"Unique Id for each request."},"duplicate_check":{"type":"string","description":"This is the duplicate check of request, 'true' in case of request is duplicate"},"customer":{"description":"customer","$ref":"#/definitions/AuthorisePaymentCustomer"},"response_code":{"type":"string","description":"Response code is sent only when the source of the response looks suspicious. In this case Apexx immediately cancels the transaction placed with the gateway."},"airline_data":{"description":"airlineData","$ref":"#/definitions/airlineData"},"travel_data":{"description":"Travel data - data relating to hotel bookings, cruise/trip details/car rental/accomodation rental","$ref":"#/definitions/travelData"},"payment_product_type":{"type":"string","description":"The payment product type corresponding to this transaction","enum":["Amex","Diners Club International","Discover","Elo","JCB","Maestro","Mastercard","Visa","Visa Electron"]},"response_message":{"type":"string","description":"A description of the response_code."},"transaction_chargeback":{"description":"TransactionChargeback","$ref":"#/definitions/TransactionChargeback"},"card_type":{"type":"string","description":"Funding type of the card e.g. Debit, Credit"},"mastercard_settlement_date":{"type":"string","description":"Mastercard settlement date received from Acquirer"},"aft_type":{"type":"string","description":"Type of Account Funding transaction.\n\nSVWF - Stored value wallet funding\n\nSDWT - Staged digital wallet pre-funding\n\nA2A - Account-to-account (me-to-me) money transfer\n\nP2P - Person-to-Person (P2P) money transfer\n\nCLA - Cryptocurrency and liquid assets\n\nBIT - Financial Institution offe red Bank-Initiated P2P Money Transfer\n\nFD - Funds Disbursement\n\nFT - Funds Transfer\n\nPD - Payroll Disbursement\n\nPL - Prepaid load / reload2\n\nB2B - Business to Business\n\nCBP - Card Bill Payment\n\nGP - Gambling Payouts\n\nGFD - General funds disbursement\n\nGD - Government Disbursement\n\nLP - Loyalty Payments\n\nMD - Funding small business disbursements\n\nMP - Merchant Payment\n\nNCBP - Non card bill payment\n\nOGP - Online gaming payout\n\nZDA - Zero dollar authorisation\n\nTO - Top off","enum":["SVWF","SDWT","A2A","P2P","CLA","BIT","FD","FT","PD","TPL","B2BCBP","GP","GFD","GD","LP","MD","MP","NCBP","OGP","ZDA","TO"]},"installment_information":{"description":"Please note that the specific request here will override any general configuration that is set against your MID. by the acquirer. This does not apply to AMEX where the config at the MID takes priority","$ref":"#/definitions/InstallmentInformation"}}},"ThreeDsVerifyAuthRequestDTO":{"type":"object","required":["_id"],"properties":{"_id":{"type":"string","description":"The ID of the transaction"},"paRes":{"type":"string","description":"The unmodified PaRes value as received after the customer was redirected back from 3DS Authentication. \n\n **Note:** This field may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information."},"three_ds_authentication":{"description":"\n\n**Note:** This field is required when 3ds 2.0 is used.","$ref":"#/definitions/ExternalAuthentication"},"specification_version":{"type":"string","description":"Valid values: \"1.0\", \"2.0\", \"1.0.2\", \"2.1.0\", \"2.2.0\" \n Version of the 3DS which is received from the authentication server. \n\n **Note:** This field is required when 3DS 2.0 falls back to 1.0."}}},"TicketIssuerDTO":{"type":"object","properties":{"administrative_area":{"type":"string"},"anonymizer_status":{"type":"string"},"carrier":{"type":"string"},"country":{"type":"string"},"locality":{"type":"string"},"organization":{"type":"string"},"routing_method":{"type":"string"}}},"TransactionChargeback":{"type":"object","properties":{"transaction_chargeback_id":{"type":"string","description":"Identifier of the chargeback"},"case_id":{"type":"string","description":"Case ID of the chargeback"},"original_transaction_date":{"type":"string","description":"Original date and time of the transaction"},"terminal_id":{"type":"string","description":"Terminal ID of the chargeback"},"reference_number":{"type":"string","description":"Case identifier for the chargeback"},"merchant_service_fee":{"type":"boolean","example":false,"description":"Merchant service fee applied on the transaction"},"settlement_currency":{"type":"string","description":"Settlement currency of the transaction"},"arn":{"type":"string","description":"Acquirer reference number, Unique card scheme identifier of sales transaction"}}},"Travel":{"type":"object","properties":{"actual_final_destination":{"$ref":"#/definitions/Destination"},"first_departure":{"$ref":"#/definitions/Destination"},"first_destination":{"$ref":"#/definitions/Destination"},"last_destination":{"$ref":"#/definitions/Destination"}}},"VehicleInformation":{"type":"object","properties":{"identification_number":{"type":"string","description":"This field contains a unique identifier assigned by the company to the vehicle."},"vehicle_make":{"type":"string","description":"Make of the vehicle being rented (e.g., Chevrolet or Ford)."},"vehicle_class":{"type":"string","description":"Classification of the rented auto.","enum":["MINI","SUBCOMPACT","ECONOMY","COMPACT","MIDSIZE","INTERMEDIATE","STANDARD","FULL_SIZE","LUXURY","PREMIUM","MINIVAN","VAN_12_PASSENGERS","MOVING_VAN","VAN_15_PASSENGERS","CARGO_VAN","TRUCK_12_FOOT","TRUCK_20_FOOT","TRUCK_24_FOOT","TRUCK_26_FOOT","MOPED","STRETCH","REGULAR","UNIQUE","EXOTIC","SMALL_OR_MEDIUM_TRUCK","LARGE_TRUCK","SMALL_SUV","MEDIUM_SUV","LARGE_SUV","EXOTIC_SUV","MISCELLANEOUS"]}}},"Velocity":{"type":"object","properties":{"address":{"type":"array","items":{"type":"string"}},"morphing":{"type":"array","items":{"$ref":"#/definitions/Element"}}}},"WebhookResponse":{"type":"object","properties":{"immediate":{"type":"boolean"},"webhook_transaction_update":{"type":"string","description":"A webhook url that is called when a transaction is updated. Note: This overrides any URL set on the account"}}},"airlineData":{"type":"object","properties":{"pnr":{"type":"string","description":"Reference number for the airline booking. Required if ticket numbers are not issued."},"airline_name":{"type":"string","description":"Name of the airline."},"agency":{"description":"Agency","$ref":"#/definitions/Agency"},"airline_numeric_code":{"type":"integer","format":"int32","description":"Airline numeric code"},"ticket_number":{"type":"string","description":"Ticket/document number, or PNR locator code."},"check_digit":{"type":"integer","format":"int32","description":"Check digit for the ticket number with Discover and Diners Club, a valid ticket number has these characteristics:\n\n1. The value is numeric.\n2. The first three digits are a valid IATA2 license plate carrier code.\n3. The last digit is a check digit or zero (0).\n4. All remaining digits are nonzero."},"is_restricted":{"type":"string","description":" Flag that indicates whether or not the ticket is restricted (nonrefundable). \ntrue - Restricted (nonrefundable). false - No restriction (refundable).","enum":["true","false"]},"transaction_type":{"type":"string","description":"Indicates the type of charge if it is for an airline ticket or another type of expense. 01: Charge is for an airline ticket. 02: Charge is for an item that is not an airline ticket","enum":["01","02"]},"extended_payment_code":{"type":"string","description":"Airline process identifier. This value is the airline’s three-digit IATA1 code which is used to process extended payment airline tickets.\r\n"},"passenger_title":{"type":"string","description":"Title of the passenger."},"passenger_name":{"type":"string","description":"Name of passenger.\n\nNote: Only alphabetic characters, Special characters allowed are (hyphen(-), underscore(_), dot(.), comma(,) and apostrophe(‘))."},"passenger_age_group":{"type":"string","description":"Travelling passenger's age group."},"is_lead":{"type":"string","description":"Indicates whether the passenger is a lead passenger within the group.","enum":["true","false"]},"customer_code":{"type":"string","description":"1. Reference number or code that identifies the cardholder.\n2. Code provided by the cardholder.\n3. Address of the ticket issuer. The first 13 characters will appear onthe cardholder’s statement.\n4. Customer reference.."},"document_type":{"type":"integer","format":"int32","description":"Airline document type code that specifies the purpose of the transaction. For the possible values, see Appendix A, \"Airline Document Type Codes\"."},"document_number":{"type":"string","description":"Ticket number or a value that might be a booking reference number."},"travel_legs_count":{"type":"integer","format":"int32","description":"Number of travel legs. Numbering for the travel legs: 0 to 3."},"invoice_number":{"type":"string","description":"Invoice number of the ticket."},"invoice_date":{"type":"string","description":"Invoice date. The format is YYYY-MM-DD. If this value is included in the request, it is used in the creation of the invoice number."},"additional_charge_description":{"type":"string","description":"Description of the charge."},"total_fee_amount":{"type":"integer","format":"int32","description":"Total fee for the ticket."},"clearing_sequence":{"type":"integer","format":"int32","description":"Total number of captures when requesting multiple partial captures for one authorization."},"clearing_count":{"type":"integer","format":"int32","description":"Total number of clearing count associated with the authorization request."},"total_clearing_count":{"type":"integer","format":"int32"},"passenger_count":{"type":"integer","format":"int32","description":"Number of passengers for whom the ticket was issued."},"reservation_system_code":{"type":"string","description":"Code that specifies the computerized reservation system used to make the reservation and purchase the ticket."},"process_identifier":{"type":"string","description":"Airline process identifier. This value is the airline’s three-digit IATA1 code which is used to process extended payment airline tickets."},"issue_date":{"type":"string","description":"Date on which the ticket was issued. Format: YYYY-MM-DD"},"is_eticket":{"type":"string","description":"Indicates whether the issued ticket was electronic or not.","enum":["true","false"]},"original_ticket_number":{"type":"string","description":"Original ticket number when the transaction is for a replacement ticket."},"purchase_type":{"type":"string","description":"Type of purchase\r\nEXC: Exchange ticket, MSC: Miscellaneous, REF: Refund, TKT: Ticket\r","enum":["EXC","MSC","REF","TKT"]},"credit_reason":{"type":"string","description":"Reason for the credit.A: Cancellation of the ancillary passenger transport purchase,\nB: Cancellation of the airline ticket and the passenger transport ancillary purchase,\nC: Cancellation of the airline ticket,\nO: Other,\nP: Partial refund of the airline ticket.","enum":["A","B","C","O","P"]},"ticket_change_indicator":{"type":"string","description":"Type of update.C: Change to the existing ticket., N: New ticket.","enum":["C","N"]},"plan_number":{"type":"string","description":"Plan number based on the fare. This value is provided by the airline."},"arrival_date":{"type":"string","description":"Inbound arrival date and time of the booking. Format: YYYY-MM-DD HH:mm:ss"},"restricted_ticket_description":{"type":"string","description":"Text that describes the ticket limitations, such as nonrefundable."},"exchange_ticket_amount":{"type":"integer","format":"int32","description":"Amount of the exchanged ticket."},"exchange_ticket_fee_amount":{"type":"integer","format":"int32","description":"Fee for exchanging the ticket."},"reservation_type":{"type":"string","description":"Type of journey such as one way or round trip."},"boarding_fee_amount":{"type":"string","description":"Boarding fee."},"issuer_city":{"type":"string","description":"City of the issuer"},"legs":{"type":"array","description":"Leg","items":{"$ref":"#/definitions/FlightDetails"}}}},"apple_pay":{"type":"object","properties":{"encrypted_payment_data":{"type":"string","description":"Encrypted Payment data received from Applepay after user authenticates with Touch ID or Face ID."},"signature":{"type":"string","description":"Signature of the payment and header data."},"ephemeral_public_key":{"type":"string","description":"This is a temporary key for generating shared secret. This is different for each transaction (This field is required only when Fiserv is used for the transaction)"},"applepay_transaction_id":{"type":"string","description":"Applepay Transaction id received from applepay. (This field is required only when Fiserv is used for the transaction)"}}},"bancontactAddressDetails":{"type":"object","properties":{"address":{"type":"string","description":"Street address of the delivery customer."},"city":{"type":"string","description":"City of the delivery customer"},"state":{"type":"string","description":"A region / state / province for the address."},"postal_code":{"type":"string","description":"This is the recipient's postcode/zip.\n\nNote: Only alpha-numeric characters, Special characters allowed are hyphen(-) and single space"},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. \n\nNote: Alphabets upto two characters (e.g. GB, RU etc..)","enum":["BE"]}}},"customer_historic_orders":{"type":"object","properties":{"purchased_date":{"type":"string","description":"Date of order. 10 characters, ISO-8601 (YYYY-MM-DD)"},"amount":{"type":"integer","format":"int32","description":"Total gross amount of historic order"},"payment_method":{"type":"string","enum":["Card","Cash","Voucher","Other"]},"status":{"type":"string","description":"Current status of the order.","enum":["Complete","Pending","Refunded","Cancelled","Unknown"]},"delivery_address":{"description":"Order Delivery Data","$ref":"#/definitions/OrderDeliveryData"},"items":{"type":"array","items":{"$ref":"#/definitions/OrderItems"}}},"description":"customer historic orders"},"data":{"type":"object","properties":{"key_name":{"type":"string","description":"The name of the key for the key value pair. e.g. \"meal type\", \"Extra Towels\""},"value":{"type":"string","description":"The value for the key value pair. e.g. \"vegitarian\""}}},"deliveryAddress":{"type":"object","properties":{"address":{"type":"string","description":"Street address of the delivery customer."},"city":{"type":"string","description":"City of the delivery customer"},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. \n\nNote: Alphabets upto two characters (e.g. GB, RU etc..)"},"email":{"type":"string","description":"Email address of the card holder.\n\nNote: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(â€˜)"},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"},"postal_code":{"type":"string","description":"A postal code for the address."},"state":{"type":"string","description":"A region / state / province for the address."}}},"deviceInformation":{"type":"object","properties":{"http_color_depth":{"type":"string","description":"Represents the bit depth of color supported by the user’s display environment. It indicates how many bits are used to represent the color of a single pixel, which in turn defines the range of distinct colors that can be displayed."},"http_java_enabled":{"type":"string","description":"Indicates whether the customer’s browser supports and has Java enabled (true / false).This helps assess the browser environment and can be used in device fingerprinting or fraud risk checks."},"http_java_script_enabled":{"type":"string","description":"Indicates whether the customer’s browser has JavaScript enabled (true / false).Helps determine if the environment supports interactive web features and can be used for fraud/risk evaluation."},"http_browser_language":{"type":"string","description":"The default language setting of the customer’s browser (e.g., \"en-US\", \"fr-FR\").Useful for localization, risk analysis, and understanding customer preferences."},"http_screen_height":{"type":"string","description":"The height of the customer’s device screen in pixels (e.g., 1080).Often captured to verify the device profile."},"http_screen_width":{"type":"string","description":"The width of the customer’s device screen in pixels (e.g., 1920).Used together with http_screen_height to describe display resolution."},"http_time_difference":{"type":"string","description":"The time zone offset (in minutes or hours) between the customer’s local device time and UTC (e.g., +330 for IST).Helps in detecting anomalies if device time doesn’t match geolocation."},"customer_ip":{"type":"string","description":"The IP address of the customer’s device at the time of transaction (IPv4 or IPv6).Commonly used for geolocation and fraud detection."},"http_accept_browser_value":{"type":"string","description":"The raw Accept header value sent by the browser\n\n(e.g.\"text/html\",\"application/xhtml+ xml\",\"application/xml\";\"q=0.9\")\n\nIdentifies the content types the browser supports."},"user_agent_browser_value":{"type":"string","description":"The raw User-Agent header string provided by the browser (e.g., Mozilla/5.0 (Windows NT 10.0; Win64; x64)).Contains information about browser,OS,and device."},"device_channel":{"type":"string","description":"Specifies the channel through which the transaction is initiated (e.g., \"BROWSER\", \"APP\", \"POS\").<br>Helps in categorizing the origin of the request.For HPP and for javascript based transactions value should be BROWSER."}}},"dragonPay":{"type":"object","properties":{"procID":{"type":"string","description":"Preferred payment channel","enum":["BAYD","BDO","CC","CEBL","DPAY","ECPY","GCSH","LBC","PYPL","MLH","RDS","SMR","711"]},"param1":{"type":"string","description":"Value that will be posted back to merchant postback/return url when completed"},"param2":{"type":"string","description":"Value that will be posted back to merchant postback/return url when completed"}}},"dragonpayAddressDetails":{"type":"object","properties":{"address":{"type":"string","description":"Street address of the delivery customer."},"city":{"type":"string","description":"City of the delivery customer"},"state":{"type":"string","description":"A region / state / province for the address."},"postal_code":{"type":"string","description":"This is the recipient's postcode/zip.\n\nNote: Only alpha-numeric characters, Special characters allowed are hyphen(-) and single space"},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. \n\nNote: Alphabets upto two characters (e.g. GB, RU etc..)","enum":["PH"]}}},"giroAddressDetails":{"type":"object","properties":{"address":{"type":"string","description":"Street address of the delivery customer."},"city":{"type":"string","description":"City of the delivery customer"},"state":{"type":"string","description":"A region / state / province for the address."},"postal_code":{"type":"string","description":"This is the recipient's postcode/zip.\n\nNote: Only alpha-numeric characters, Special characters allowed are hyphen(-) and single space"},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. \n\nNote: Alphabets upto two characters (e.g. GB, RU etc..)","enum":["DE"]}}},"hpp_threeds":{"type":"object","properties":{"three_ds_required":{"type":"string","description":"Valid values: \"true\"\t\"false\"\t\n\ntrue if 3DS required for this transaction, false otherwise."},"three_ds_version":{"type":"string","description":"Valid values: \"1.0\"\t\"2.0\"\t\n\nThe 3-D Secure version used for the authentication"}}},"idealAddressDetails":{"type":"object","properties":{"address":{"type":"string","description":"Street address of the delivery customer."},"city":{"type":"string","description":"City of the delivery customer"},"state":{"type":"string","description":"A region / state / province for the address."},"postal_code":{"type":"string","description":"This is the recipient's postcode/zip.\n\nNote: Only alpha-numeric characters, Special characters allowed are hyphen(-) and single space"},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. \n\nNote: Alphabets upto two characters (e.g. GB, RU etc..)","enum":["NL"]}}},"openBankingBillingAddress":{"type":"object","required":["country","first_name","last_name"],"properties":{"first_name":{"type":"string","description":"First name of the card holder."},"last_name":{"type":"string","description":"Last name of the card holder."},"email":{"type":"string","description":"Email address of the card holder.\n\nNote: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(â€˜)"},"address":{"type":"string","description":"Street address of the card holder."},"city":{"type":"string","description":"City of the card holder."},"state":{"type":"string","description":"A region / state / province for the address."},"postal_code":{"type":"string","description":"A postal code for the address.\n\nNote: Only alpha-numeric characters, Special characters allowed are hyphen(-) and spaces."},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. \n\nNote: Alphabets upto two characters (e.g. GB, RU etc..)"},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"}}},"openBankingCustomerDetails":{"type":"object","required":["account_number"],"properties":{"account_number":{"type":"string","description":"This is the recipient's account number."},"customer_id":{"type":"string","description":"Customer ID of the customer."}}},"openBankingDeliveryAddress":{"type":"object","properties":{"address":{"type":"string","description":"Street address of the card holder."},"city":{"type":"string","description":"City of the card holder."},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. \n\nNote: Alphabets upto two characters (e.g. GB, RU etc..)"},"email":{"type":"string","description":"Email address of the card holder.\n\nNote: Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(â€˜)"},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\n\nNote: Length - min(3) & max(20)"},"postal_code":{"type":"string","description":"A postal code for the address."},"state":{"type":"string","description":"A region / state / province for the address."}}},"passengers":{"type":"object","properties":{"passenger_index":{"type":"integer","format":"int32","description":"Index number to identify passenger"},"salutation":{"type":"string","description":"Salutation of the customer e.g. \"Mr\", \"Mrs\", \"Dr\", etc."},"first_name":{"type":"string","description":"First name of the passenger"},"last_name":{"type":"string","description":"Last name of the passenger"},"date_of_birth":{"type":"string","description":"D.O.B. of passenger. Format: YYYY-MM-DD"}}},"paysafecard":{"type":"object","required":["account_holder_name","payment_purpose"],"properties":{"account_holder_name":{"type":"string","description":"Name of the account holder.\n\nNote: Only numeric characters are not support"},"payment_purpose":{"type":"string","description":"Descriptor for response that consumer will receive."}}},"pixAddressDetails":{"type":"object","required":["address","city","country","postal_code","state"],"properties":{"address":{"type":"string","description":"Street address of the delivery customer."},"city":{"type":"string","description":"City of the delivery customer"},"state":{"type":"string","description":"A region / state / province for the address."},"postal_code":{"type":"string","description":"This is the recipient's postcode/zip.\n\nNote: Only alpha-numeric characters, Special characters allowed are hyphen(-) and single space"},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. \n\nNote: Alphabets upto two characters (e.g. GB, RU etc..)"}}},"redirect_urls":{"type":"object","required":["failed","success"],"properties":{"success":{"type":"string","description":"This URL is used to redirect the customer back to merchant URL"},"failed":{"type":"string","description":"This URL is used to redirect the customer back to merchant URL"}}},"skrill":{"type":"object","required":["account_holder_name","payment_purpose"],"properties":{"account_holder_name":{"type":"string","description":"Name of the account holder.\n\nNote: Only numeric characters are not support"},"payment_purpose":{"type":"string","description":"Descriptor for response that consumer will receive."}}},"skrillAddressDetails":{"type":"object","required":["address","city","country","postal_code","state"],"properties":{"address":{"type":"string","description":"Street address of the delivery customer."},"city":{"type":"string","description":"City of the delivery customer"},"state":{"type":"string","description":"A region / state / province for the address."},"postal_code":{"type":"string","description":"This is the recipient's postcode/zip.\n\nNote: Only alpha-numeric characters, Special characters allowed are hyphen(-) and single space"},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address. \n\nNote: Alphabets upto two characters (e.g. GB, RU etc..)"}}},"subscription":{"type":"object","properties":{"payment_settlement_date":{"type":"string","description":"Future date by which settlement request should be done. If this is too early in time, it will be postponed to the earliest payment Date."}}},"travelData":{"type":"object","required":["booking_type"],"properties":{"pnr":{"type":"string","description":"Reference number for the booking."},"booking_amount":{"type":"integer","format":"int32","description":"Prepaid amount, such as a deposit."},"booking_type":{"type":"string","description":"The type of booking being made.","enum":["hotel","rental","car","cruise","flight","train","coach"]},"passengers":{"type":"array","description":"Array of passenger names","items":{"$ref":"#/definitions/passengers"}},"legs":{"type":"array","description":"Array of legs of booking.","items":{"$ref":"#/definitions/Legs"}},"discount_percentage":{"type":"integer","format":"int32","description":"Percentage dicount to be applied to booking"},"loyalty_number":{"type":"string","description":"Customer loyalty scheme number"},"points":{"type":"array","description":"Loyalty points/scheme details","items":{"$ref":"#/definitions/Point"}},"travel_mode_name":{"type":"string","description":"Name of your mode of travel such as Airline, Ferry, Rail etc."},"travel_mode_numeric_code":{"type":"integer","format":"int32","description":"Mode of Travel (Airline, Ferry, Rail etc.) numeric code"},"agency":{"description":"Agency","$ref":"#/definitions/Agency"},"ticket_number":{"type":"string","description":"Ticket/document number, or PNR locator code."},"check_digit":{"type":"integer","format":"int32","description":"Check digit for the ticket number with Discover and Diners Club, a valid ticket number has these characteristics:\nThe value is numeric.\nThe first three digits are a valid IATA2 license plate carrier code.\nThe last digit is a check digit or zero (0).\nAll remaining digits are nonzero."},"is_restricted":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction","enum":["true","false"]},"transaction_type":{"type":"integer","format":"int32","description":"Indicates the type of charge if it is for an airline ticket or another type of expense. 01: Charge is for an airline ticket. 02: Charge is for an item that is not an airline ticket"},"extended_payment_code":{"type":"string","description":"Airline process identifier. This value is the airline’s three-digit IATA1 code which is used to process extended payment airline tickets.\r\n"},"passenger_title":{"type":"string","description":"Title of the passenger."},"passenger_name":{"type":"string","description":"Name of passenger. Note: Only alphabetic characters, Special characters allowed are (hyphen(-), underscore(_), dot(.), comma(,) and apostrophe(‘))."},"passenger_age_group":{"type":"string","description":"Travelling passenger's age group.","enum":["16-24","25-34","35-44","45-54","55-64","65 and up","Unknown"]},"is_lead":{"type":"string","description":"Indicates whether the passenger is a lead passenger within the group.","enum":["true","false"]},"customer_code":{"type":"string","description":"Reference number or code that identifies the cardholder.\nCode provided by the cardholder.\nAddress of the ticket issuer. The first 13 characters will appear onthe cardholder’s statement.\nCustomer reference."},"document_type":{"type":"integer","format":"int32","description":"Airline/Travel mode document type code that specifies the purpose of the transaction. For the possible values, see Appendix A, \"Airline Document Type Codes\"."},"document_number":{"type":"string","description":"Ticket number or a value that might be a booking reference number."},"travel_legs_count":{"type":"integer","format":"int32","description":"Number of travel legs. Numbering for the travel legs: 0 to 3."},"invoice_number":{"type":"string","description":"Invoice number of the ticket."},"invoice_date":{"type":"string","description":"Invoice date. The format is YYYY-MM-DD. If this value is included in the request, it is used in the creation of the invoice number."},"additional_charge_description":{"type":"string","description":"Description of the charge."},"total_fee_amount":{"type":"integer","format":"int32","description":"Total fee for the ticket."},"clearing_sequence":{"type":"integer","format":"int32","description":"Total number of captures when requesting multiple partial captures for one authorization."},"clearing_count":{"type":"integer","format":"int32","description":"Total number of clearing count associated with the authorization request."},"total_clearing_amount":{"type":"integer","format":"int32","description":"Total clearing amount for all transactions in the clearing count set."},"passenger_count":{"type":"integer","format":"int32","description":"Number of passengers for whom the ticket was issued."},"reservation_system_code":{"type":"string","description":"Code that specifies the computerized reservation system used to make the reservation and purchase the ticket."},"process_identifier":{"type":"string","description":"Airline process identifier. This value is the airline’s three-digit IATA1 code which is used to process extended payment airline tickets."},"issue_date":{"type":"string","description":"Date on which the ticket was issued. Format: YYYY-MM-DD"},"is_eticket":{"type":"string","description":"Indicates whether the issued ticket was electronic or not.","enum":["true","false"]},"original_ticket_number":{"type":"string","description":"Original ticket number when the transaction is for a replacement ticket."},"purchase_type":{"type":"string","description":"Type of purchase\r\nEXC: Exchange ticket, MSC: Miscellaneous, REF: Refund, TKT: Ticket\r","enum":["EXC","MSC","REF","TKT"]},"credit_reason":{"type":"string","description":"Reason for the credit.A: Cancellation of the ancillary passenger transport purchase,\nB: Cancellation of the airline ticket and the passenger transport ancillary purchase,\nC: Cancellation of the airline ticket,\nO: Other,\nP: Partial refund of the airline ticket.","enum":["A","B","C","O","P"]},"ticket_change_indicator":{"type":"string","description":"Type of update.C: Change to the existing ticket., N: New ticket.","enum":["C","N"]},"plan_number":{"type":"string","description":"Plan number based on the fare. This value is provided by the airline."},"arrival_date":{"type":"string","description":"Inbound arrival date and time of the booking. Format: YYYY-MM-DD HH:mm:ss"},"restricted_ticket_description":{"type":"string","description":"Text that describes the ticket limitations, such as nonrefundable."},"exchange_ticket_amount":{"type":"integer","format":"int32","description":"Amount of the exchanged ticket."},"exchange_ticket_fee_amount":{"type":"integer","format":"int32","description":"Fee for exchanging the ticket."},"reservation_type":{"type":"string","description":"Type of journey such as one way or round trip."},"boarding_fee_amount":{"type":"integer","format":"int32","description":"Boarding fee."},"special_program_code":{"type":"string","description":"**Valid values for hotel** :\n\n \"\"Lodging\"\"(default)\n\n \"\"No-Show Reservation\"\"\n\n \"\"Advanced Deposit\"\"\n\n**Valid values for car** :\n\n \"\"Not applicable\"\"(default)\n\n \"\"Frequent renter\"\"\n\n \"\"No show\"\""},"promo_code":{"type":"string","description":"Code assigned to a business. You can use this code to identify corporate rates and discounts for guests."},"customer_service_details":{"description":"Details of customer service","$ref":"#/definitions/CustomerServiceDetails"},"duration":{"type":"string","description":"Duration of the car or hotel rental.  \n\n **Note:** Required when booking_type= “car”"},"hotel":{"description":"Object containing hotel details","$ref":"#/definitions/Hotel"},"car":{"description":"Car rental object","$ref":"#/definitions/Car"}}},"volt":{"type":"object","properties":{"type":{"type":"string","description":"If volt object is sent then this field is mandatory otherwise optional","enum":["BILL","GOODS","PERSON_TO_PERSON","OTHER","SERVICES"]}}}}}