· 6 years ago · May 30, 2019, 09:28 AM
1{"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://sandmgw.apexxfintech.com/\n User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like\n Gecko) Chrome/43.0.2357.81 Safari/537.36\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 ## Environments\n Apexx allows you to connect with two different environments for your integration. \n\n| Environment | Endpoint | Description |\n|------|--------|-------|\n| Sandbox | https://sandmgw.apexxfintech.com/ | This environment provides you with full access of all the features available. Transactions will have no financial impact. |\n| Production | https://production.apexxfintech.com/ | This environment will be the Live environment with access based on your configuration. Transactions will have financial impact. |\n## Statuses\n \n### Payment Statuses\n 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 authorisation has been cancelled and will not allow any further processing. |\n\n\n### Captured Statuses\n 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\n\n### Cancel Statuses\n 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\n\n### Refund Statuses\n 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\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 page into iFrame, you need to hit the **[Hosted Payment Page](#operation/hostedPayUsingPOST)** API with necessary details. You will get URL of HPP Page in response. That url needs to be loaded into iFrame. \n See below code snippet : \n \n\n <iframe src= \"url\"></iframe> \n \n Once its loaded properly, you need to enter card details for further payment process. After hitting Pay button, it will go to the respective acquire for the payment. Once the payment done then Apexx will redirect to merchant return_url as per **[Hosted Payment Page](#operation/hostedPayUsingPOST)** API and send data in POST request. \n ## HPP-Redirect Return URL Parameters \n Once the payment done via Hosted Payment then Apexx will redirect to merchant return_url and send below data in POST request. \n\n { \n \t\"reason_code\" : \"string\" \n \t\"reason_message\" : \"string\" \n \t\"_id\" : \"string\" \n \t\"status\" : \"string\"\n \t\"authorization_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 } \n \n **NOTE :** A reason message assigned by the acquiring platform. Reason message will return only in case of Failed or Declined transaction.\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://sandmgw.apexxfintech.com/mgw/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://sandmgw.apexxfintech.com/mgw/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 -The company the purchase is being made from. \n \n -The Acquiring Bank (the bank of the company) \n \n -VISA and MasterCard (the card issuers themselves) \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 - **Initiating the transaction ([3DSVerifyAuthentication](#operation/threeDSVerifyAuthenticationUsingPOST)):** Including the authentication object(PaRes) in the transaction request allows the transaction to be 3D Secure authorized.\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 authorization result, a base64-encoded string that is to used in your authorization request. \n \n **NOTE :** If Merchant integrating with 3DS **Ingenico** using direct payment then 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 response as Success/Declined/Failure.\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 is passed in the body of a REST API call. \n\n { \n \t\"reason_code\" : \"number\", \n \t\"_id\" : \"string\", \n \t\"authorization_code\" : \"string\", \n \t\"organisation\" : \"string\", \n \t\"currency\" : \"string\", \n\t\t\"amount\" : \"number\", \n \t\"organisation_psp_name\" : \"string\", \n \t\"customer\" : \"string\", \n \t\"customer_ip\" : \"string\", \n \t\"dynamic_descriptor\" : \"string\", \n \t\"user_agent\" : \"string\", \n \t\"capture_now\" : boolean, \n \t\"pares\" : \"string\", \n \t\"merchant_reference\" : \"string\", \n \t\"webhook_transaction_update\" : \"string\", \n \t\"recurring_type\" : \"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\"token\" : \"string\" \n \t}, \n \t\"cvv_present\" : boolean, \n \t\"payment_product\" : \"string\", \n \t\"payment_product_type\" : \"string\", \n \t\"shopper_interaction\" : \"string\", \n \t\"fraud_predictions\" : [], \n \t\"status\" : \"string\", \n \t\"billing_address\" : { \n \t\t\"first_name\" : \"string\", \n \t\t\"last_name\" : \"number\", \n \t\t\"email\" : \"number\", \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\"last_status_update\" : \"number\", \n \t\"geo_location\" : [], \n \t\"fees\" : [], \n \t\"created_at\" : \"number\", \n \t\"blocked\" : boolean, \n \t\"actions\" : [], \n \t\"details\" : {}, \n \t\"three_ds\" : { \n \t\t\"three_ds_required\" : boolean \n \t} \n } \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 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 ## Surcharge \n Surcharging can be applied to certain card/ transaction types in line with card scheme rules and regulations. The **[APEXX surcharge API](#operation/surchargeUsingPOST)** allows merchants to accurately calculate the surcharge to be applied to a transaction. This is a value-added service provided by APEXX, please contact your implementation manager to activate this service for your account.\n\nRates are calculated for the merchant based on the assumptions that are made for the payment. The assumptions include: E-Commerce Transaction, Regionality, 3D Secure Applied and AVS Applied.\n\n To ensure the security of transferred data we support only encrypted data transfer for the surcharge request. To create an encrypted payload we provide the SDK which will encrypt your request data and provide you with the encrypted key and encrypted payload, these details will be required when you create surcharge request.\n\n Please see Readme.docx file in the downloaded package for instructions on how to use encryption sdk.\n\n Download our SDK from https://sandmgw.apexxfintech.com/mgw/resources/encryptionsdk-v1.0.zip\n\n **Surcharge request :**\n\n {\n \t\"organisation_id\": \"6c18a82fe5a2439b922522570c9abc37\",\n \t\"transaction_currency\": \"GBP\",\n \t\t\"transaction_amount\": 1000,\n \t\t\"trans_orig_loc_country\": \"GB\",\n \t\t\"transaction_merchant_reference\": \"RS122820181418\",\n \t\"surcharge_merchant_reference\": \"SC122820181418\",\n \t\t\"settlement_currency\": \"INR\",\n \t\t\"capture_now\": true,\n \t\t\"acquirer_country_code\": \"GB\",\n \t\"card\": {\n \t\t\"card_number\": \"2226471234564562\",\n \t\t\"token\": \"\"\n \t},\n \t\"channel\": \"ecommerce\"\n }\n\n **Note:** In the surcharge fee response, system will always round down the final amount based on the decimals supported for the currency.\n# Error Codes\n ## Validation Errors\n \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| 108 | 400 | Unexpected error: if the error persists, please contact an administrator, quoting the code and timestamp of this error |\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| 118 | 400 | Unexpected error: if the error persists, please contact an administrator, quoting the code and timestamp of this error. |\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| 120 | 400 | Unexpected error: if the error persists, please contact an administrator, quoting the code and timestamp of this error. |\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| 124 | 400 | Unexpected error: if the error persists, please contact an administrator, quoting the code and timestamp of this error. |\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| 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 token or card number. |\n| 202 | 400 | Please enter minimum 12 digits in card number. |\n| 210 | 400 | Amount is 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## Processing Errors \n \n\n| Code | 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_010 | Malformed request |\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\n# Reason Codes\n The complete list of reason codes is given right below. \n \n\n| Code | 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| 19 | Re-enter transaction |\n| 20 | Invalid response |\n| 21 | No action taken (unable to back out prior transaction) |\n| 22 | Suspected Malfunction |\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| 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| 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| 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 authorization order |\n| R3 | Revocation of all authorizations order |\n| XA | Forward to issuer |\n| XD | Forward to issuer |\n| Z3 | Unable to go online |\n","version":"2.0","title":"APEXX FINTECH API","license":{"name":"Apexx Fintech Ltd","url":"https://www.apexxfintech.com/legal-documentation/"}},"host":"sandmgw.apexxfintech.com","basePath":"/mgw","tags":[{"name":"Server-Side Encryption","description":"Encryption Payload Controller"},{"name":"Surcharge","description":"Surcharge Controller"},{"name":"TRANSACTION - Direct","description":"Payment Controller"},{"name":"TRANSACTION - OCT","description":"Cancel Credit Transaction Controller"},{"name":"TRANSACTION - Updates","description":"Cancel Controller"},{"name":"Token","description":"Card Token Controller"},{"name":"Transaction - Alipay","description":"Payment Alipay Controller"},{"name":"Transaction - Alipay Hosted","description":"Hosted Payment Alipay Controller"},{"name":"Transaction - CUP","description":"Payment CUP Express Controller"},{"name":"Transaction - CUP Hosted","description":"Hosted Payment CUP Controller"},{"name":"Transaction - Hosted","description":"Hosted Payment Controller"}],"paths":{"/cancelcredittransaction/{transactionId}":{"post":{"tags":["TRANSACTION - OCT"],"summary":"cancelCreditTransaction","description":"Voids the created credit transaction's","operationId":"cancelCreditTransactionPayUsingPOST","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","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}},"/capture/{transactionId}":{"post":{"tags":["TRANSACTION - Updates"],"summary":"captureCardTransaction","description":"Captures an authorised card transaction","operationId":"capturePayUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"capturePayRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/CapturePayRequest"}},{"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/CapturePayResponse"}},"400":{"description":"Bad / Invalid request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}},"/createtoken":{"post":{"tags":["Token"],"summary":"createCardToken","description":"Create a new card token","operationId":"createCardTokenUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"CardTokenRequest","required":false,"schema":{"$ref":"#/definitions/CardTokenRequest"}},{"in":"body","name":"requestPayload","description":"requestPayload","required":false,"schema":{"type":"object"}}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/CardTokenResponse"}},"400":{"description":"Bad / Invalid request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}},"/createtoken ":{"post":{"tags":["Token"],"summary":"createEncryptedCardToken","description":"Starts a new create card token with encrypted payload","operationId":"createCardTokenWithEncryptedPayloadUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"CardTokenRequest","required":true,"schema":{"$ref":"#/definitions/CardTokenRequestForReDoc"}},{"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/CardTokenResponse"}},"400":{"description":"Bad / Invalid request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}},"/getencryptedpayload":{"post":{"tags":["Server-Side Encryption"],"summary":"getencryptedpayload","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":"getEncryptingPayloadAndKeyUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"EncryptedPayloadKeyValueRequest","required":true,"schema":{"$ref":"#/definitions/EncryptedPayloadKeyValueRequest"}},{"in":"body","name":"requestPayload","description":" ","required":false,"schema":{"type":"object"}}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/EncryptedResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}},"/payment/3ds/authenticate":{"post":{"tags":["TRANSACTION - Direct"],"summary":"3DSVerifyAuthentication","description":"Authenticate the PaRes received upon 3DS Authentication","operationId":"threeDSVerifyAuthenticationUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"threeDSVerifyAuthenticationRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/ThreeDSVerifyAuthenticationRequest"}}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/CardPayResponse"}},"400":{"description":"Bad / Invalid request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}},"/payment/alipay/preorder":{"post":{"tags":["Transaction - Alipay"],"summary":"Alipay Payment","description":"create a new transaction with Alipay Payment Request","operationId":"alipayPaymentUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"alipayPaymentRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/AlipayPaymentRequest"}}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/AlipayPaymentResponse"}},"400":{"description":"Bad / Invalid request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}},"/payment/credittransaction":{"post":{"tags":["TRANSACTION - OCT"],"summary":"createCreditTransaction","description":"Create credit a new transaction","operationId":"creditTransactionPayUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"creditTransactionRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/CreditTransactionRequest"}}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/CreditTransactionResponse"}},"400":{"description":"Bad / Invalid request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}},"/payment/direct":{"post":{"tags":["TRANSACTION - Direct"],"summary":"createCardTransaction","description":"Starts a new transaction","operationId":"cardPayUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"CardPayRequest","required":false,"schema":{"$ref":"#/definitions/CardPayRequest"}},{"in":"body","name":"requestPayload","description":"requestPayload","required":false,"schema":{"type":"object"}}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/CardPayResponse"}},"400":{"description":"Bad / Invalid request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}},"/payment/direct ":{"post":{"tags":["TRANSACTION - Direct"],"summary":"createEncryptedCardTransaction","description":"Starts a new transaction with encrypted payload","operationId":"cardPayWithEncryptedPayloadUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"CardPayRequest","required":true,"schema":{"$ref":"#/definitions/CardPayRequestForReDoc"}},{"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/CardPayResponse"}},"400":{"description":"Bad / Invalid request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}},"/payment/direct ":{"post":{"tags":["TRANSACTION - Direct"],"summary":"3DSEnrol","description":"Verify if a card is 3DS enrolled","operationId":"cardPayWithThreeDSUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"CardPayRequest","required":true,"schema":{"$ref":"#/definitions/CardPayRequest"}}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/ThreeDSCardEnrolResponse"}},"400":{"description":"Bad / Invalid request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}},"/payment/direct/cupexpress":{"post":{"tags":["Transaction - CUP"],"summary":"CUP Express Payment","description":"Create CUP express payment order","operationId":"cupExpressPaymentUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"cupExpressPaymentRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/CUPExpressPaymentRequest"}}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/CUPExpressPaymentResponse"}},"400":{"description":"Bad / Invalid request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}},"/payment/direct/cupexpress/resendsms":{"post":{"tags":["Transaction - CUP"],"summary":"CUP Express resend SMS","description":"Create CUP Express Resend SMS Auth Request","operationId":"cupExpressResendSmsAuthUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"cupExpressResendSmsRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/CUPExpressResendSmsRequest"}}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/CUPExpressAuthResponse"}},"400":{"description":"Bad / Invalid request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}},"/payment/direct/cupexpress/sms":{"post":{"tags":["Transaction - CUP"],"summary":"CUP Express SMS","description":"Verify if a card or phone is authorisation for SMS","operationId":"cupExpressAuthUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"cupExpressAuthRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/CUPExpressAuthRequest"}}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/CUPExpressAuthResponse"}},"400":{"description":"Bad / Invalid request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}},"/payment/hosted":{"post":{"tags":["Transaction - Hosted"],"summary":"hostedPaymentPage","description":"Create a new transaction using hosted payment page.","operationId":"hostedPayUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"hostedPayRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/HostedPayRequest"}}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/HostedPayResponse"}},"400":{"description":"Bad / Invalid request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}},"/payment/hosted/alipay":{"post":{"tags":["Transaction - Alipay Hosted"],"summary":"alipayhostedPaymentPage","description":"Create a new transaction using hosted payment page.","operationId":"hostedPaymentAliPayUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"hostedPayAlipayRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/HostedPayAlipayRequest"}}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/HostedPayResponse"}},"400":{"description":"Bad / Invalid request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}},"/payment/hosted/cup":{"post":{"tags":["Transaction - CUP Hosted"],"summary":"CUP - hostedPaymentPage","description":"Create a new transaction using CUP hosted payment page.","operationId":"cupHostedPayUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"hostedPayCUPRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/HostedPayCUPRequest"}}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/HostedPayResponse"}},"400":{"description":"Bad / Invalid request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}},"/refund/{transactionId}":{"post":{"tags":["TRANSACTION - Updates"],"summary":"refundCardTransaction","description":"Refunds a transaction that has reached SETTLEMENT_COMPLETED.","operationId":"refundPayUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"refundPayRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/RefundPayRequest"}},{"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/RefundPayResponse"}},"400":{"description":"Bad / Invalid request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}},"/surcharge":{"post":{"tags":["Surcharge"],"summary":"Surcharge","description":"Calculate the Surcharge","operationId":"surchargeUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"name":"EncryptedKey","in":"header","description":"Required when request body is encrypted","required":true,"type":"string"},{"in":"body","name":"SurchargeRequest","required":true,"schema":{"$ref":"#/definitions/SurchargeRequest"}}],"responses":{"200":{"description":"JSON representation of the related transaction","schema":{"$ref":"#/definitions/SurchargeResponse"}},"400":{"description":"Bad / Invalid request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}},"/transaction/{transactionId}":{"get":{"tags":["TRANSACTION - Updates"],"summary":"getTransactionDetails","description":"Get transaction details by transaction_id","operationId":"getTransactionDetailsUsingGET","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/GetTransactionResponse"}},"400":{"description":"Bad / Invalid request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}},"/{transactionId}/cancel":{"post":{"tags":["TRANSACTION - Updates"],"summary":"cancelCardTransaction","description":"Voids the transaction's authorisation.","operationId":"cancelPayUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"in":"body","name":"cancelPayRequest","description":" ","required":false,"schema":{"$ref":"#/definitions/CancelPayRequest"}},{"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/CancelPayResponse"}},"400":{"description":"Bad / Invalid request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthenticated user / missing API Key","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Server Error / Unexpected Error","schema":{"$ref":"#/definitions/ErrorResponse"}}},"deprecated":false}}},"definitions":{"AirlineData":{"type":"object","properties":{"airline_itinerary_data":{"type":"string","description":"If set to true then below fields are mandatory else if set to false then below fields are not mandatory"},"numeric_code":{"type":"string","description":"Airline numeric code"},"airline_name":{"type":"string","description":"Name of the airline"},"carrier_code":{"type":"string","description":"Travel carrier code"},"destination_airport":{"type":"string","description":"Destination airport/city IATA code"},"origin_airport":{"type":"string","description":"Origin airport/city IATA code"},"service_class":{"type":"string","description":"Service class"},"departure_date":{"type":"string","description":"Travel departure date"},"flight_leg":{"type":"string","description":"Sequence number of the flight leg"},"passenger_name":{"type":"string","description":"Passenger name"},"ticket_number":{"type":"string","description":"Ticket/document number, or PNR locator code"},"agency_code":{"type":"string","description":"Travel agency code"},"agency_name":{"type":"string","description":"Travel agency NAME"},"fare_basis_code":{"type":"string","description":"Fare basis code"},"flight_number":{"type":"string","description":"Flight number excluding carrier code"},"stop_over_code":{"type":"string","description":"Stop over code"},"invoice_number":{"type":"string","description":"Invoice number of the ticket"}},"title":"AirlineData"},"AlipayDetails":{"type":"object","required":["subject"],"properties":{"subject":{"type":"string","description":"Description of the order"},"expiry_date_time":{"type":"string","description":"Request expiry date and time, default expiry time is 30 minutes. Format - YYYY-MM-DD HH:mm:ss"}},"title":"AlipayDetails"},"AlipayPaymentRequest":{"type":"object","required":["amount","merchant_reference"],"properties":{"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."},"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"},"currency":{"type":"string","description":"A 3-letter ISO 4217 currency code, see Currencies Section for more details."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. This field must be unique per transaction."},"alipay":{"description":"Alipay Details","$ref":"#/definitions/AlipayDetails"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer. Default values: ecommerce"},"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."},"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."}},"title":"AlipayPaymentRequest"},"AlipayPaymentResponse":{"type":"object","properties":{"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"qr_code":{"type":"string","description":"QR Code"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of SUCCESS. Check **[Error codes](#section/Error-Codes)** section for FAILED"},"reason_message":{"type":"string","description":"A reason message of the error received from the acquiring platform. Reason message will only return in case of FAILED"},"status":{"type":"string","enum":["SUCCESS","FAILED"]},"details":{"description":"Optional details concerning the error.","$ref":"#/definitions/Details"}},"title":"AlipayPaymentResponse"},"BaseCardDetails":{"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."},"token":{"type":"string","description":"The token representing the payment card. Note: Once the provided token will be used, you will get new token in resonse."}},"title":"BaseCardDetails"},"BaseThreeDSCardEnrolResponse":{"type":"object","properties":{"three_ds_required":{"type":"string","description":"true if 3DS required for this transaction, false otherwise. Note: This field is mandatory if account is not passed."},"acsURL":{"type":"string","description":"The 3D-Secure approval url to which the customer has to be redirected."},"eci":{"type":"integer","format":"int32","description":"The Electronic Commerce Indicator (ECI)."},"paReq":{"type":"string","description":"The PaReq token which identifies the 3D-Secure request"},"three_ds_enrollment":{"type":"boolean","description":"The 3DS enrolment status for the card."},"acq_id":{"type":"string","description":"The unique identifier of acquirer."},"psp_3d_id":{"type":"string","description":"The unique identifier of initial Gateway response."},"acsURL_http_method":{"type":"string","description":"The http method of ACS Url whether it is GET or POST."}},"title":"BaseThreeDSCardEnrolResponse"},"BillingAddress":{"type":"object","properties":{"first_name":{"type":"string","description":"**Note:** Only alphabetic characters, Special characters allowed are (hyphen(-), underscore(_), dot(.), comma(,) and apostrophe(‘))"},"last_name":{"type":"string","description":"**Note:** Only alphabetic characters, Special characters allowed are (hyphen(-), underscore(_), dot(.), comma(,) and apostrophe(‘))"},"email":{"type":"string","description":"**Note:** Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(‘)"},"address":{"type":"string","description":"**Note:** All characters support"},"city":{"type":"string","description":"**Note:** Only alphabetic characters, Special characters allowed are (hyphen(-), underscore(_), dot(.), comma(,))"},"state":{"type":"string","description":"**Note:** Only alphabetic characters, Special characters allowed are (hyphen(-), underscore(_), dot(.), comma(,))"},"postal_code":{"type":"string","description":"**Note:** Only alpha-numeric characters"},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address.\n**Note:** Alphabets upto two characters (e.g. GB, RU etc..)"},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\t \n**Note:** Length - min(3) & max(20)"}},"title":"BillingAddress","description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information."},"CUPDetails":{"type":"object","required":["card_number","customer_name","cvv","expiry_month","expiry_year","id_number","phone","transaction_local_time"],"properties":{"industry_code":{"type":"string","description":"The industry code of the merchant. If not specified Apexx will use the default merchant industry code"},"transaction_local_time":{"type":"string","description":"Time must be sent in CST (China Standard Time). Format - YYYY-MM-DD HH:mm:ss"},"phone":{"type":"string","description":"Phone number of the customer"},"customer_id":{"type":"string","description":"The ID of the customer"},"customer_name":{"type":"string","description":"Name of the customer"},"id_number":{"type":"string","description":"Customer's Identification Number"},"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. Note: Once the provided token will be used, you will get new token in resonse."},"create_token":{"type":"string","description":"Whether create a token or not for the card. Defaults to 'false'. Setting the to 'true' will create the token for the card."},"expiry_date_time":{"type":"string","description":"Request expiry date and time, default expiry time is 30 minutes. Format - YYYY-MM-DD HH:mm:ss"}},"title":"CUPDetails"},"CUPExpressAuthRequest":{"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"},"currency":{"type":"string","description":"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. This field must be unique per transaction."},"customer_ip":{"type":"string","description":"The IP address of the customer"},"cup":{"$ref":"#/definitions/CUPDetails"},"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. Default values: ecommerce","enum":["ecommerce","pos","moto","unknown"]}},"title":"CUPExpressAuthRequest"},"CUPExpressAuthResponse":{"type":"object","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. Check **[Error codes](#section/Error-Codes)** section for FAILED"},"reason_message":{"type":"string","description":"A reason message of the error received from the acquiring platform. Reason message will only return in case of FAILED"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. This field must be unique per transaction."},"sms_auth_required":{"type":"boolean","description":"Valid values: True - SMS authorisation is required for the transaction, False: SMS authorisation is not required for the transaction"},"sms_token":{"type":"string","description":"Token linked to the sms auth. This value will be sent only when sms authorisation is required"},"password_required":{"type":"boolean","description":"Valid values: True - Password is required for the transaction, False: Password is not required for the transaction"},"status":{"type":"string","enum":["SUCCESS","FAILED"]},"created_at":{"type":"string","description":"timestamp"}},"title":"CUPExpressAuthResponse"},"CUPExpressPaymentRequest":{"type":"object","required":["_id"],"properties":{"_id":{"type":"string","description":"The ID of the transaction"},"sms_token":{"type":"string","description":"sms_token sent in the response of cup/sms api"},"sms_auth_code":{"type":"string","description":"sms code received on customer's mobile"},"password":{"type":"string","description":"Password entered by the customer for the transaction"}},"title":"CUPExpressPaymentRequest"},"CUPExpressPaymentResponse":{"type":"object","required":["amount","card","merchant_reference"],"properties":{"_id":{"type":"string","description":"This is the unique transaction 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"},"currency":{"type":"string","description":"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."},"sms_auth_required":{"type":"boolean","description":"Valid values: True - SMS authorisation is required for the transaction, False: SMS authorisation is not required for the transaction"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. This field must be unique per transaction."},"password_required":{"type":"boolean","description":"Valid values: True - Password is required for the transaction, False: Password is not required for the transaction"},"card":{"$ref":"#/definitions/BaseCardDetails"},"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":"timestamp"},"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"}},"last_status_update":{"type":"string","description":"timestamp"},"payment_product":{"type":"string","description":"The payment product corresponding to this transaction","enum":["card"]},"card_brand":{"type":"string","description":"Card brand for the card used for processing ","enum":["amex","diners","discover","elo","jcb","maestro","mastercard","visa","visa electron"]},"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. Check **[Error codes](#section/Error-Codes)** section for FAILED"},"reason_message":{"type":"string","description":"A reason message of the error received from the acquiring platform. Reason message will only return in case of FAILED"},"fraud_predictions":{"type":"array","items":{"$ref":"#/definitions/FraudPrediction"}},"status":{"type":"string","enum":["AUTHORISED","FAILED"]},"details":{"$ref":"#/definitions/Details"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer. Default values: ecommerce","enum":["ecommerce","pos","moto","unknown"]}},"title":"CUPExpressPaymentResponse"},"CUPExpressResendSmsRequest":{"type":"object","required":["_id","sms_token"],"properties":{"_id":{"type":"string","description":"The ID of the transaction"},"sms_token":{"type":"string","description":"sms_token sent in the response of cup/sms api"}},"title":"CUPExpressResendSmsRequest"},"CUPHostedPayDetails":{"type":"object","required":["customer_name","id_number","phone","transaction_local_time"],"properties":{"industry_code":{"type":"string","description":"The industry code of the merchant. If not specified Apexx will use the default merchant industry code"},"transaction_local_time":{"type":"string","description":"Time must be sent in CST (China Standard Time). Format - YYYY-MM-DD HH:mm:ss"},"phone":{"type":"string","description":"Phone number of the customer"},"customer_id":{"type":"string","description":"The ID of the customer"},"customer_name":{"type":"string","description":"Name of the customer"},"id_number":{"type":"string","description":"Customer's Identification Number"},"create_token":{"type":"string","description":"Whether create a token or not for the card. Defaults to 'false'. Setting the to 'true' will create the token for the card."},"expiry_date_time":{"type":"string","description":"Request expiry date and time, default expiry time is 30 minutes. Format - YYYY-MM-DD HH:mm:ss"}},"title":"CUPHostedPayDetails"},"CancelCreditTransactionResponse":{"type":"object","required":["amount","merchant_reference"],"properties":{"_id":{"type":"string"},"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":"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. This field must be unique per transaction."},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Reason-Codes)** section for declined scenarios and **[error codes](#section/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 1 or 2"},"status":{"type":"string","description":"The status of the canceled transaction","enum":["CANCELLED","FAILED"]},"created_at":{"type":"string","description":"timestamp"},"last_status_update":{"type":"string","description":"timestamp"}},"title":"CancelCreditTransactionResponse"},"CancelPayRequest":{"type":"object","properties":{"cancel_time":{"type":"string","description":"Date and time of the request. Format - YYYY-MM-DD HH:mm:ss"}},"title":"CancelPayRequest"},"CancelPayResponse":{"type":"object","required":["amount","merchant_reference"],"properties":{"_id":{"type":"string"},"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":"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. This field must be unique per transaction."},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Reason-Codes)** section for declined scenarios and **[error codes](#section/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 1 or 2"},"status":{"type":"string","description":"The status of the canceled transaction","enum":["CANCELLED","FAILED"]},"created_at":{"type":"string","description":"timestamp"},"last_status_update":{"type":"string","description":"timestamp"}},"title":"CancelPayResponse"},"CapturePayRequest":{"type":"object","required":["amount"],"properties":{"amount":{"type":"string","description":"The amount to be captured."},"capture_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction"}},"title":"CapturePayRequest"},"CapturePayResponse":{"type":"object","required":["amount","merchant_reference"],"properties":{"_id":{"type":"string"},"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":"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."},"capture_reference":{"type":"string","description":"A reference specified by the merchant to identify 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. This field must be unique per transaction."},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Reason-Codes)** section for declined scenarios and **[error codes](#section/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 1 or 2"},"status":{"type":"string","description":"The status of the captured transaction","enum":["CAPTURED","FAILED"]},"created_at":{"type":"string","description":"timestamp"},"last_status_update":{"type":"string","description":"timestamp"}},"title":"CapturePayResponse"},"CardDetails":{"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. Note: Once the provided token will be used, you will get new token in resonse."},"create_token":{"type":"string","description":"Whether create a token or not for the card. Defaults to 'false'. Setting the to 'true' will create the token for the card."}},"title":"CardDetails"},"CardPayRequest":{"type":"object","required":["amount","capture_now","card","customer_ip","merchant_reference","user_agent"],"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"},"currency":{"type":"string","description":"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."},"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. This field must be unique per transaction."},"card":{"$ref":"#/definitions/CardDetails"},"customer":{"$ref":"#/definitions/CustomerDetails"},"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","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."},"card_brand":{"type":"string","description":"Card brand for the card used for processing ","enum":["amex","diners","discover","elo","jcb","maestro","mastercard","visa","visa electron"]},"fraud_predictions":{"type":"array","items":{"$ref":"#/definitions/FraudPrediction"}},"billing_address":{"$ref":"#/definitions/BillingAddress"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer. Default values: ecommerce","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/ThreeDSPreference"},"airline_data":{"$ref":"#/definitions/AirlineData"}},"title":"CardPayRequest"},"CardPayRequestForReDoc":{"type":"object","required":["encryptedPayload"],"properties":{"encryptedPayload":{"type":"object","example":"eyJraWQiOiJqYXZheC5jcnlwdG8uc3BlYy5TZWNyZXRLZXlTcGVjQDE3YWJhIiwiZW","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."}},"title":"CardPayRequestForReDoc"},"CardPayResponse":{"type":"object","required":["amount","card","customer_ip","merchant_reference","user_agent"],"properties":{"_id":{"type":"string","description":"This is the unique transaction 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"},"currency":{"type":"string","description":"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"},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction."},"blocked":{"type":"boolean","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."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. This field must be unique per transaction."},"card":{"$ref":"#/definitions/BaseCardDetails"},"customer_ip":{"type":"string","description":"The IP address of the customer"},"pares":{"type":"string","description":"A base64 encoded PaRes, obtained as a result of a 3D-Secure enrolment flow. \n\n **Note:** This field may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information."},"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","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."},"actions":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string","description":"timestamp"},"cvv_present":{"type":"boolean","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"}},"last_status_update":{"type":"string","description":"timestamp"},"payment_product":{"type":"string","description":"The payment product corresponding to this transaction","enum":["card"]},"card_brand":{"type":"string","description":"Card brand for the card used for processing ","enum":["amex","diners","discover","elo","jcb","maestro","mastercard","visa","visa electron"]},"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/Reason-Codes)** section for declined scenarios and **[error codes](#section/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 1 or 2"},"fraud_predictions":{"type":"array","items":{"$ref":"#/definitions/FraudPrediction"}},"status":{"type":"string","enum":["AUTHORISED","CAPTURED","DECLINED","FAILED"]},"billing_address":{"$ref":"#/definitions/BillingAddress"},"details":{"$ref":"#/definitions/Details"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer. Default values: ecommerce","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/ThreeDSPreference"}},"title":"CardPayResponse"},"CardTokenCardDetailsRequest":{"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."}},"title":"CardTokenCardDetailsRequest"},"CardTokenCardDetailsResponse":{"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 of report"}},"title":"CardTokenCardDetailsResponse"},"CardTokenRequest":{"type":"object","required":["card","merchant_reference","organisation_id"],"properties":{"organisation_id":{"type":"string","description":"The ID of an organisation"},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. This field must be unique per transaction."},"card":{"$ref":"#/definitions/CardTokenCardDetailsRequest"},"billing_address":{"$ref":"#/definitions/BillingAddress"}},"title":"CardTokenRequest"},"CardTokenRequestForReDoc":{"type":"object","required":["encryptedPayload"],"properties":{"encryptedPayload":{"type":"object","example":"eyJraWQiOiJqYXZheC5jcnlwdG8uc3BlYy5TZWNyZXRLZXlTcGVjQDE3YWJhIiwiZW","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/Using-the-API/Encrypt-Create-Token-Request)** section above and will be processed only when encrypted key is passed in header"}},"title":"CardTokenRequestForReDoc"},"CardTokenResponse":{"type":"object","properties":{"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of success, '2' in case of failed"},"_id":{"type":"string","description":"This is the unique transaction id generated by Apexx."},"token":{"type":"string","description":"The token representing the payment card. Note: Once the provided token will be used, you will get new token in resonse."},"created_at":{"type":"string","description":"timestamp"},"card":{"$ref":"#/definitions/CardTokenCardDetailsResponse"}},"title":"CardTokenResponse"},"CreditTransactionBillingAddress":{"type":"object","properties":{"first_name":{"type":"string","description":"**Note:** Only alphabetic characters, Special characters allowed are (hyphen(-), underscore(_), dot(.), comma(,) and apostrophe(‘))"},"last_name":{"type":"string","description":"**Note:** Only alphabetic characters, Special characters allowed are (hyphen(-), underscore(_), dot(.), comma(,) and apostrophe(‘))"},"email":{"type":"string","description":"**Note:** Only alphabets, numeric, @, comma(,) dot(.), plus(+), underscore(_), dash(-) and apostrophe(‘)"},"address":{"type":"string","description":"**Note:** All characters support"},"city":{"type":"string","description":"**Note:** Only alphabetic characters, Special characters allowed are (hyphen(-), underscore(_), dot(.), comma(,))"},"state":{"type":"string","description":"**Note:** Only alphabetic characters, Special characters allowed are (hyphen(-), underscore(_), dot(.), comma(,))"},"postal_code":{"type":"string","description":"**Note:** Only alpha-numeric characters"},"country":{"type":"string","description":"A 2-letter ISO3166 alpha-2. country code for the address.\n**Note:** Alphabets upto two characters (e.g. GB, RU etc..)"},"phone":{"type":"string","description":"Numbers only, no dash or any other separator.\t \n**Note:** Length - min(3) & max(20)"}},"title":"CreditTransactionBillingAddress","description":"Some fields may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information."},"CreditTransactionCardDetails":{"type":"object","properties":{"card_number":{"type":"string","description":"The new card number, also known as PAN."},"cvv":{"type":"string","description":"The Card Verification Value."},"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. Note: Once the provided token will be used, you will get new token in resonse."}},"title":"CreditTransactionCardDetails"},"CreditTransactionCustomerDetails":{"type":"object","properties":{"customer_id":{"type":"string","description":"The customer_id of recipient's."},"last_name":{"type":"string","description":"The last name(s) of recipient's."},"date_of_birth":{"type":"string","description":"The date of birth of a recipient's, 10 characters, ISO-8601 (YYYY-MM-DD)."},"postal_code":{"type":"string","description":"This is the recipient's postcode/zip."},"account_number":{"type":"string","description":"This is the recipient's account number."}},"title":"CreditTransactionCustomerDetails"},"CreditTransactionRequest":{"type":"object","required":["amount","card","merchant_reference"],"properties":{"original_transaction_id":{"type":"string","description":"The id of original transaction."},"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"},"currency":{"type":"string","description":"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. This field must be unique per transaction."},"card":{"$ref":"#/definitions/CreditTransactionCardDetails"},"customer":{"$ref":"#/definitions/CreditTransactionCustomerDetails"},"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."},"billing_address":{"$ref":"#/definitions/CreditTransactionBillingAddress"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer. Default values: ecommerce","enum":["ecommerce","pos","moto","unknown"]}},"title":"CreditTransactionRequest"},"CreditTransactionResponse":{"type":"object","required":["amount","card","merchant_reference"],"properties":{"_id":{"type":"string","description":"This is the unique transaction 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"},"currency":{"type":"string","description":"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. This field must be unique per transaction."},"card":{"$ref":"#/definitions/CreditTransactionCardDetails"},"customer":{"$ref":"#/definitions/CreditTransactionCustomerDetails"},"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."},"billing_address":{"$ref":"#/definitions/CreditTransactionBillingAddress"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer. Default values: ecommerce","enum":["ecommerce","pos","moto","unknown"]},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Reason-Codes)** section for declined scenarios and **[error codes](#section/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 1 or 2"},"authorization_code":{"type":"string","description":"An authorisation code assigned by the processing platform"},"organisation_psp_name":{"type":"string","description":"The name of the processor as setup within the APEXX payment gateway. i.e. Merchant Name - Acquirer Name"},"status":{"type":"string","enum":["AUTHORISED","CAPTURED","DECLINED","FAILED"]},"actions":{"type":"array","items":{"type":"string"}},"blocked":{"type":"boolean","description":"True if the transaction has been blocked by a ruleset, false otherwise"},"created_at":{"type":"string","description":"timestamp"},"cvv_present":{"type":"boolean","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"}},"last_status_update":{"type":"string","description":"timestamp"},"payment_product":{"type":"string","description":"The payment product corresponding to this transaction","enum":["card"]},"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"]},"details":{"$ref":"#/definitions/Details"},"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"}},"title":"CreditTransactionResponse"},"CustomerDetails":{"type":"object","properties":{"customer_id":{"type":"string","description":"The customer_id of recipient's."},"last_name":{"type":"string","description":"The last name(s) of recipient's."},"date_of_birth":{"type":"string","description":"The date of birth of a recipient's, 10 characters, ISO-8601 (YYYY-MM-DD)."},"postal_code":{"type":"string","description":"This is the recipient's postcode/zip."},"account_number":{"type":"string","description":"This is the recipient's account number."}},"title":"CustomerDetails"},"Details":{"type":"object","title":"Details"},"EncryptedPayloadKeyValueRequest":{"type":"object","properties":{"key1":{"type":"string","description":"value"},"key2":{"type":"string","description":"value"},"key3":{"type":"string","description":"value"}},"title":"EncryptedPayloadKeyValueRequest"},"EncryptedResponse":{"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."}},"title":"EncryptedResponse"},"ErrorResponse":{"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":"object","description":"Optional details concerning the error."},"message":{"type":"string","description":"A description of the error."},"timestamp":{"type":"integer","format":"int64","description":"Current timestamp"}},"title":"ErrorResponse"},"FraudPrediction":{"type":"object","properties":{"error_message":{"type":"string"},"rec":{"type":"string"},"rules_triggered":{"type":"array","items":{"type":"string"}},"score":{"type":"integer","format":"int32"}},"title":"FraudPrediction"},"GetTransactionResponse":{"type":"object","required":["amount","card","customer_ip","merchant_reference","user_agent"],"properties":{"_id":{"type":"string","description":"This is the unique transaction 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"},"currency":{"type":"string","description":"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"},"capture_now":{"type":"string","description":"True will auto-capture the transaction. False will only authorise the transaction."},"blocked":{"type":"boolean","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."},"merchant_reference":{"type":"string","description":"A reference specified by the merchant to identify the transaction. This field must be unique per transaction."},"card":{"$ref":"#/definitions/BaseCardDetails"},"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","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."},"actions":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string","description":"timestamp"},"cvv_present":{"type":"boolean","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"}},"last_status_update":{"type":"string","description":"timestamp"},"payment_product":{"type":"string","description":"The payment product corresponding to this transaction","enum":["card"]},"card_brand":{"type":"string","description":"Card brand for the card used for processing ","enum":["amex","diners","discover","elo","jcb","maestro","mastercard","visa","visa electron"]},"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"},"fraud_predictions":{"type":"array","items":{"$ref":"#/definitions/FraudPrediction"}},"status":{"type":"string","enum":["AUTHORISED","CAPTURED","DECLINED","FAILED"]},"billing_address":{"$ref":"#/definitions/BillingAddress"},"details":{"$ref":"#/definitions/Details"},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer. Default values: ecommerce","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/ThreeDSPreference"}},"title":"GetTransactionResponse"},"HostedPayAlipayRequest":{"type":"object","required":["amount","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"},"currency":{"type":"string","description":"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."},"alipay":{"description":"Alipay Details","$ref":"#/definitions/AlipayDetails"},"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. This field must be 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."},"return_url":{"type":"string","description":"The return url to which the customer is redirected after an transaction is processed."},"locale":{"type":"string","description":"Locale code","enum":["en_GB","en_US"]},"show_order_summary":{"type":"string","description":"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"]},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer. Default values: ecommerce","enum":["ecommerce","pos","moto","unknown"]}},"title":"HostedPayAlipayRequest"},"HostedPayCUPRequest":{"type":"object","required":["amount","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"},"currency":{"type":"string","description":"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. This field must be unique per transaction."},"cup":{"$ref":"#/definitions/CUPHostedPayDetails"},"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."},"return_url":{"type":"string","description":"The return url to which the customer is redirected after an transaction is processed."},"locale":{"type":"string","description":"Locale code","enum":["en_GB","en_US"]},"show_order_summary":{"type":"string","description":"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"]},"shopper_interaction":{"type":"string","description":"Determines the point of sale of a customer. Default values: ecommerce","enum":["ecommerce","pos","moto","unknown"]}},"title":"HostedPayCUPRequest"},"HostedPayCardDetails":{"type":"object","properties":{"create_token":{"type":"string","description":"Whether create a token or not for the card. Defaults to 'false'. Setting the to 'true' will create the token for the card."}},"title":"HostedPayCardDetails"},"HostedPayRequest":{"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"},"currency":{"type":"string","description":"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."},"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. This field must be unique per transaction."},"return_url":{"type":"string","description":"The return url to which the customer is redirected after an transaction is processed."},"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"]},"locale":{"type":"string","description":"Locale code","enum":["en_GB","en_US"]},"show_order_summary":{"type":"string","description":"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":{"$ref":"#/definitions/CustomerDetails"},"billing_address":{"$ref":"#/definitions/BillingAddress"},"three_ds":{"description":"Enroll a given transaction for 3D-secure to verify whether authentication is supported for the card being used.","$ref":"#/definitions/ThreeDSPreference"},"card":{"$ref":"#/definitions/HostedPayCardDetails"},"card_brand":{"type":"string","description":"Card brand for the card used for processing ","enum":["amex","diners","discover","elo","jcb","maestro","mastercard","visa","visa electron"]}},"title":"HostedPayRequest"},"HostedPayResponse":{"type":"object","properties":{"_id":{"type":"string"},"url":{"type":"string","description":"Hosted payment page URL"}},"title":"HostedPayResponse"},"RefundPayRequest":{"type":"object","required":["amount"],"properties":{"amount":{"type":"string","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","description":"Date and time of the request. Format - YYYY-MM-DD HH:mm:ss"}},"title":"RefundPayRequest"},"RefundPayResponse":{"type":"object","required":["amount"],"properties":{"_id":{"type":"string"},"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":"string","description":"The amount to be refunded"},"reason":{"type":"string","description":"The reason for the refund"},"transaction":{"type":"string","description":"The ID of the original transaction"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of AUTHORISED/CAPTURED, see **[reason codes](#section/Reason-Codes)** section for declined scenarios and **[error codes](#section/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 1 or 2"},"status":{"type":"string","description":"The status of the refunded transaction","enum":["REFUNDED","FAILED"]},"created_at":{"type":"string","description":"timestamp"},"last_status_update":{"type":"string","description":"timestamp"}},"title":"RefundPayResponse"},"SurchargeFees":{"type":"object","properties":{"fee_type":{"type":"string","description":"Type of the surcharge fee. Valid values: Scheme Fee, Interchange Fee"},"fee_amount":{"type":"number","description":"Surcharge amount to be applied on the transaction"},"fee_currency":{"type":"string","description":"Currency of the surcharge fee. A 3-letter ISO 4217 currency code, see Currencies Section for more details."}},"title":"SurchargeFees"},"SurchargeRequest":{"type":"object","properties":{"encryptedPayload":{"type":"object","example":"eyJraWQiOiJqYXZheC5jcnlwdG8uc3BlYy5TZWNyZXRLZXlTcGVjQDE3YWJhIiwiZW","description":"Encrypted request body with encrypted key passed in header. This field will contain the encryption data of all the fields from the surchargeRequest above and will be processed only when encrypted key is passed in header."}},"title":"SurchargeRequest"},"SurchargeResponse":{"type":"object","properties":{"surcharge_query_apexx_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, '2' in case of FAILED."},"reason_message":{"type":"string","description":"Detailed message concerning the transaction."},"card_scheme":{"type":"string","description":"Card scheme of report","enum":["VISA","MASTERCARD"]},"card_type":{"type":"string","description":"The type of card corresponding to this transaction","enum":["CORPORATE"]},"card_issuing_country":{"type":"string","description":"Issuing country of the card. A 2-letter ISO3166 alpha-2. Acquirer country code"},"card_issuer":{"type":"string","description":"Card Issuer for this transaction"},"surcharge_fees":{"type":"array","items":{"$ref":"#/definitions/SurchargeFees"}},"transaction_timestamp":{"type":"string","description":"Current timestamp"}},"title":"SurchargeResponse"},"ThreeDSCardEnrolResponse":{"type":"object","properties":{"_id":{"type":"string"},"created_at":{"type":"string","description":"timestamp"},"three_ds":{"$ref":"#/definitions/BaseThreeDSCardEnrolResponse"},"reason_code":{"type":"string","description":"A reason code assigned by the acquiring platform; '0' in case of success, '2' in case of failed"}},"title":"ThreeDSCardEnrolResponse"},"ThreeDSPreference":{"type":"object","properties":{"three_ds_required":{"type":"string","description":"true if 3DS required for this transaction, false otherwise. Note: This field is mandatory if account is not passed."}},"title":"ThreeDSPreference"},"ThreeDSVerifyAuthenticationRequest":{"type":"object","required":["_id"],"properties":{"_id":{"type":"string","description":"The ID of the transaction"},"paRes":{"type":"string","description":"A base64 encoded PaRes, obtained as a result of a 3D-Secure enrolment flow. \n\n **Note:** This field may be mandatory for certain acquirers. Please speak to your Implementation Manager for further information."}},"title":"ThreeDSVerifyAuthenticationRequest"}}}