{
"openapi": "3.0.0",
"info": {
"title": "Merchant API Credit Card",
"version": "3.0.0"
},
"servers": [
{
"url": "http://127.0.0.1:10010/v3"
}
],
"paths": {
"/sale": {
"post": {
"tags": [
"Sale"
],
"summary": "",
"operationId": "postsale",
"requestBody": {
"description": "To charge the card directly, make a Sale transaction. Upon successful Sale transaction,\n funds are transferred from the cardholder to the merchant, and a transaction record is created.\n In some cases, a 3DS authentication procedure is required to successfully complete such an action.\n For more details, please refer to [`3DS required`](#webhooks--3ds-authentication-required).\n After processing the request, a webhook will be sent to your URL specified in the Processing Account setup.\n For more details, refer to the [`Sale`](#webhooks--sale) webhook.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Sale"
}
}
}
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseSuccess"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseError"
}
}
}
},
"401": {
"description": "Unauthorized Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseUnauthorized"
}
}
}
},
"403": {
"description": "Forbidden Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseForbidden"
}
}
}
}
}
}
},
"/authorize": {
"post": {
"tags": [
"Authorize"
],
"summary": "",
"operationId": "postauthorize",
"requestBody": {
"description": "To authorize an amount and charge the card later, make an Authorize transaction.\n Upon successful Authorize, funds are reserved in the cardholder's account, and a transaction record is created.\n In some cases, a 3DS authentication procedure is required to successfully complete such an action.\n For more details, please refer to [`3DS required`](#webhooks--3ds-authentication-required).\n To charge the authorized amount, make a Capture transaction by providing the initial Authorize transaction ID.\n See [`Capture`](#actions--capture) for details.\n After the request is processed, a webhook will be sent to your URL specified in the Processing Account setup.\n For more details, refer to the [`Authorize`](#webhooks--authorize) webhook.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Authorize"
}
}
}
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseSuccess"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseError"
}
}
}
},
"401": {
"description": "Unauthorized Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseUnauthorized"
}
}
}
},
"403": {
"description": "Forbidden Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseForbidden"
}
}
}
}
}
}
},
"/pre-authorize": {
"post": {
"tags": [
"Pre authorize"
],
"summary": "",
"operationId": "postpre-authorize",
"requestBody": {
"description": "To authorize an amount and have the ability to authorize an additional amount later, make a Pre authorize transaction.\n Upon successful Pre authorize, funds are reserved on the cardholder's account and a transaction is created.\n In some cases, a 3DS authentication procedure is required to successfully complete such an action.\n For more details, please refer to [`3DS required`](#webhooks--3ds-authentication-required).\n To authorize an additional amount, make an [`Incremental authorize`](#actions--incremental-authorize) transaction by providing the Pre authorize transaction ID.\n To charge this authorized amount, make a Capture transaction by providing the Pre authorize transaction ID.\n See [`Capture`](#actions--capture) for details.\n After processing the request, a webhook will be sent to your URL specified in the Processing Account setup.\n For more details, refer to the [`Pre authorize`](#webhooks--pre-authorize) webhook.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PreAuthorize"
}
}
}
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseSuccess"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseError"
}
}
}
},
"401": {
"description": "Unauthorized Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseUnauthorized"
}
}
}
},
"403": {
"description": "Forbidden Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseForbidden"
}
}
}
}
}
}
},
"/credit": {
"post": {
"tags": [
"Credit"
],
"summary": "",
"operationId": "postcredit",
"requestBody": {
"description": "To move funds from the merchant's account to the cardholder's account, make a Credit transaction.\n After processing the request, a webhook will be sent to your URL specified in the Processing Account setup.\n For more details, refer to the [`Credit`](#webhooks--authorize--registeredcreditaddress) webhook.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Credit"
}
}
}
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseSuccess"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseError"
}
}
}
},
"401": {
"description": "Unauthorized Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseUnauthorized"
}
}
}
},
"403": {
"description": "Forbidden Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseForbidden"
}
}
}
}
}
}
},
"/process": {
"post": {
"tags": [
"Process"
],
"summary": "",
"operationId": "postprocess",
"requestBody": {
"description": "To process a transaction without cardholder details, use card hash received in the webhook response of any previous API call.\n Depending on the provided operationType, three actions can be done: [`Authorize`](#actions--authorize), [`Sale`](#actions--sale) or [`Credit`](#actions--credit) request.\n In some cases, a 3DS authentication procedure is required to successfully complete such an action.\n For more details, please refer to [`3DS required`](#webhooks--3ds-authentication-required).\n After processing the request, a webhook will be sent to your URL specified in the Processing Account setup.\n For more details, refer to the [`Process`](#webhooks--process) webhook.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Process"
}
}
}
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseSuccess"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseError"
}
}
}
},
"401": {
"description": "Unauthorized Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseUnauthorized"
}
}
}
},
"403": {
"description": "Forbidden Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseForbidden"
}
}
}
}
}
}
},
"/p2p": {
"post": {
"tags": [
"P2P"
],
"summary": "",
"operationId": "postp2p",
"requestBody": {
"description": "To transfer funds from one cardholder's account to another cardholder's account, make a P2P transaction.\n Person-to-person (also known as Peer-to-Peer or P2P) transactions are electronic funds transfers from one person to another through an intermediary,\n typically referred to as a P2P payment application.\n After processing the request, a webhook will be sent to your URL specified in the Processing Account setup.\n For more details, refer to the [`P2P`](#webhooks--p2p) webhook.\n In some cases, a 3DS authentication procedure is required to successfully complete such an action.\n For more details, please refer to [`3DS required`](#webhooks--3ds-authentication-required).",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/P2p"
}
}
}
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseSuccess"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseError"
}
}
}
},
"401": {
"description": "Unauthorized Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseUnauthorized"
}
}
}
},
"403": {
"description": "Forbidden Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseForbidden"
}
}
}
}
}
}
},
"/cancel": {
"post": {
"tags": [
"Cancel"
],
"summary": "",
"operationId": "postcancel",
"requestBody": {
"description": "To release the authorized amount reserved on the cardholder's account, make a Cancel transaction by providing the transaction ID of the initial\n [`Authorize`](#actions--authorize) or [`Pre Authorize`](#actions--pre-authorize) request.\n You can also perform multiple cancellations for authorizations with partial amounts.\n After processing the request, a webhook will be sent to your URL specified in the Processing Account setup.\n For more details, refer to the [`Cancel`](#webhooks--authorize--registeredcanceladdress) webhook.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Cancel"
}
}
}
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseSuccess"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseError"
}
}
}
},
"401": {
"description": "Unauthorized Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseUnauthorized"
}
}
}
},
"403": {
"description": "Forbidden Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseForbidden"
}
}
}
}
}
}
},
"/cancel-recurring": {
"post": {
"tags": [
"Cancel recurring"
],
"summary": "",
"operationId": "postcancel-recurring",
"requestBody": {
"description": "To cancel a recurring transaction which was initiated with the\n [`Authorize`](#actions--authorize) or [`Sale`](#actions--sale) request,\n make the Cancel Recurring request by providing the initial transaction ID of a previous [`Authorize`](#actions--authorize) or [`Sale`](#actions--sale) request.\n After processing the request, a webhook will be sent to your URL specified in the Processing Account setup.\n For more details, refer to the [`Cancel recurring`](#webhooks--authorize--registeredcancelrecurringaddress) webhook.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CancelRecurring"
}
}
}
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseSuccess"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseError"
}
}
}
},
"401": {
"description": "Unauthorized Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseUnauthorized"
}
}
}
},
"403": {
"description": "Forbidden Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseForbidden"
}
}
}
}
}
}
},
"/capture": {
"post": {
"tags": [
"Capture"
],
"summary": "",
"operationId": "postcapture",
"requestBody": {
"description": "To charge the authorized amount reserved on the cardholder's account,\n make a Capture transaction by providing the transaction ID created with a previous [`Authorize`](#actions--authorize) or [`Pre authorize`](#actions--pre-authorize) request.\n Upon successful Capture, funds are transferred from the cardholder to the merchant. You can charge the specified amount either partially or fully.\n After processing the request, a webhook will be sent to your URL specified in the Processing Account setup.\n For more details, refer to the [`Capture`](#webhooks--authorize--registeredcaptureaddress) webhook.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Capture"
}
}
}
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseSuccess"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseError"
}
}
}
},
"401": {
"description": "Unauthorized Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseUnauthorized"
}
}
}
},
"403": {
"description": "Forbidden Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseForbidden"
}
}
}
}
}
}
},
"/incremental-authorize": {
"post": {
"tags": [
"Incremental authorize"
],
"summary": "",
"operationId": "postincremental-authorize",
"requestBody": {
"description": "To authorize an additional amount later, make an Incremental authorize transaction.\n Upon successful Incremental authorize, additional funds are reserved on the cardholder\\s account, and a transaction is created.\n To charge the authorized amount, make a Capture transaction by providing the Pre authorize transaction ID. See [`Capture`](#actions--capture) for details.\n After processing the request, a webhook will be sent to your URL specified in the Processing Account setup.\n For more details, refer to the [`Incremental authorize`](#webhooks--authorize--registeredincrementalauthorizeaddress) webhook.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IncrementalAuthorize"
}
}
}
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseSuccess"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseError"
}
}
}
},
"401": {
"description": "Unauthorized Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseUnauthorized"
}
}
}
},
"403": {
"description": "Forbidden Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseForbidden"
}
}
}
}
}
}
},
"/refund": {
"post": {
"tags": [
"Refund"
],
"summary": "",
"operationId": "postrefund",
"requestBody": {
"description": "To refund up to the amount of the received payment,\n make a Refund transaction by providing the transaction ID created with a previous [`Capture`](#actions--capture) or [`Sale`](#actions--sale) request.\n After processing the request, a webhook will be sent to your URL specified in the Processing Account setup.\n For more details, refer to the [`Refund`](#webhooks--authorize--registeredrefundaddress) webhook.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Refund"
}
}
}
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseSuccess"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseError"
}
}
}
},
"401": {
"description": "Unauthorized Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseUnauthorized"
}
}
}
},
"403": {
"description": "Forbidden Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/responseForbidden"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"Sale": {
"title": "sale",
"properties": {
"transaction": {
"$ref": "#/components/schemas/SaleTransaction"
},
"card": {
"$ref": "#/components/schemas/SaleCard"
},
"shippingLocation": {
"$ref": "#/components/schemas/SaleShippingLocation"
},
"customer": {
"$ref": "#/components/schemas/SaleCustomer"
},
"recurring": {
"$ref": "#/components/schemas/SaleRecurring"
}
},
"type": "object"
},
"SaleTransaction": {
"type": "object",
"description": "Object containing data of the Sale transaction",
"properties": {
"amount": {
"description": "Number in minor units, e.g. cents. To charge €10, provide 1000 (as the EUR minor unit is cents). Meanwhile, for a ¥10 charge, provide 10 (as the JPY minor unit is the whole unit, i.e., it does not have cents).",
"type": "string",
"example": "123",
"maxLength": 13,
"minLength": 1
},
"currencyCode": {
"description": "Currency ISO 4217 code",
"type": "string",
"example": "EUR",
"maxLength": 3,
"minLength": 3
},
"orderId": {
"description": "Custom merchant’s reference",
"type": "string",
"example": "32131231231241",
"maxLength": 32,
"minLength": 1
},
"descriptor": {
"description": "Custom descriptor",
"type": "string",
"example": "descriptor",
"maxLength": 22,
"minLength": 1
},
"avsCheck": {
"description": "Possible values: `true` or `false`. If the value is set to `true`, the Address Verification Service will be initiated",
"type": "boolean",
"example": true
},
"typeOf3ds": {
"description": "[`3DS Type`]\n
\n\n\n| KEY | \n3DS Type | \nDescription | \n
\n\n\n\n| 1 | \nAttempt 3DS | \nProcessing transactions regardless card enrollment in 3DS. | \n
\n\n| 2 | \nSoft 3DS | \nProcessing transactions with cards enrolled in 3DS. | \n
\n\n| 3 | \nNo 3DS | \nProcessing transactions by skipping card 3DS verification at all. | \n
\n\n| 4 | \nHard 3DS | \nProcessing transactions only with full 3DS verification the cardholder. | \n
\n\n
",
"type": "integer",
"example": 2
},
"deviceChannel": {
"description": "[`Device channel value.`](#appendix--enum--device-channel-values) The default value is `02`",
"type": "string",
"example": "02",
"maxLength": 2,
"minLength": 2
},
"mitParentTransactionId": {
"description": "Transaction ID of the initial MIT transaction",
"type": "string",
"example": "497709221425450974",
"maxLength": 19,
"minLength": 5
},
"mitMessageReasonCode": {
"description": "[`The MIT message reason code `]\n\n\n\n| Scheme | \nCode | \nDescription | \n
\n\n\n\n\n| Mastercard | \nps | \nPartial Shipment | \n
\n\n\n| Mastercard | \nin | \nInstallment | \n
\n\n\n| Mastercard | \nso | \nStanding Order (variable amount, fixed frequency) | \n
\n\n\n| Mastercard | \nsf | \nSubscription (fixed amount, fixed frequency) | \n
\n\n\n| Mastercard | \nuco | \nUnscheduled Credential On File | \n
\n\n\n| Visa | \ninc | \nIncremental Authorization Transaction | \n
\n\n\n| Visa | \nrea | \nReauthorization Transaction | \n
\n\n\n| Visa, Mastercard | \nres | \nResubmission Transaction | \n
\n\n\n| Visa, Mastercard | \ndel | \nDelayed Charges Transaction | \n
\n\n\n| Visa, Mastercard | \nns | \nNo Show Transaction | \n
\n\n\n
",
"type": "string",
"example": "ps",
"maxLength": 3,
"minLength": 2
},
"redirectUrlFor3ds": {
"description": "Redirect URL for 3DS",
"type": "string",
"example": "https://urlfor3ds.com",
"maxLength": 255,
"minLength": 1
},
"category": {
"description": "MOTO category\n\n\n\n\n| Value | \nComment | \n
\n\n\n\n\n| MO | \nMail order | \n
\n\n\n| TO | \nTelephone order | \n
\n\n| MOTO | \nMail order Telephone order | \n
\n\n\n
",
"type": "string",
"example": "MO",
"maxLength": 4,
"minLength": 2
},
"paymentTypeIndicator": {
"description": "The parameter handles the [`payment transaction type`](#appendix--enum--payment-transaction-type-indicator). Required for Mastercard and Visa money transfers as well as Account Funding transactions",
"type": "string",
"example": "C07",
"maxLength": 3,
"minLength": 2
},
"cryptogram": {
"description": "The unique cryptogram that is generated to validate the authorized use of the token for secure remote payments.\nOptionally, the parameter can be provided together with 3DS data. Also, the parameter can be provided together with recurring/MIT (Merchant Initiated Transaction) parameters. For MIT (not subsequent), either 3DS or token, or both, are necessary.\nThe content of this field must be passed unmodified when provided by the Digital Wallet.",
"type": "string",
"example": "ALnt+yWSJdXBACMLLWMNGgADFA==",
"maxLength": 255,
"minLength": 1
},
"eciIndicator": {
"description": "[`ECI`]\nThe electronic commerce indicator must be passed unmodified when provided by a Digital Wallet and when received together with a \"cryptogram\".\n\n\n\n| Value | \nMasterCard | \nVisa | \nUnionPay | \nJCB | \nAmex | \nDiscover | \n
\n\n\n\n| 00 | \nNon 3-D secure transaction | \nNot applicable | \nNot applicable | \nNot applicable | \nNot applicable | \nNot applicable | \n
\n\n| 01 | \nAttempted authentication | \nNot applicable | \nNot applicable | \nNot applicable | \nNot applicable | \nNot applicable | \n
\n\n| 02 | \nFully authenticated (CIT) | \nNot applicable | \nNot applicable | \nNot applicable | \nNot applicable | \nNot applicable | \n
\n\n| 05 | \nNot applicable | \nFully authenticated | \nFully authenticated | \nFully authenticated | \nFully authenticated | \nFully authenticated | \n
\n\n| 06 | \nNot applicable | \nAttempted authentication | \nAttempted authentication | \nAttempted authentication | \nAttempted authentication | \nAttempted authentication | \n
\n\n| 07 | \nFully authenticated (MIT) | \nNon 3-D secure transaction | \nNon 3-D secure transaction | \nNon 3-D secure transaction | \nNon 3-D secure transaction | \nNon 3-D secure transaction | \n
\n\n| 10 | \nNot applicable | \nNot applicable | \nUsed for customer not present authorizations when authentication was not used | \nNot applicable | \nNot applicable | \nNot applicable | \n
\n\n
",
"type": "string",
"example": "07",
"maxLength": 2,
"minLength": 2
}
},
"required": [
"amount",
"currencyCode",
"orderId",
"redirectUrlFor3ds"
]
},
"SaleCard": {
"type": "object",
"description": "Object containing the Sale transaction card details",
"properties": {
"number": {
"description": "Customer’s card number",
"type": "string",
"example": "5099993000018223",
"maxLength": 22,
"minLength": 13
},
"expirationMonth": {
"description": "Card expiry month",
"type": "integer",
"example": 12
},
"expirationYear": {
"description": "Card expiry year. Must be within the next 50 years",
"type": "integer",
"example": 2028
},
"securityCode": {
"description": "**Conditional parameter:** The CVV or CVC of the card. Whether this parameter is mandatory or optional depends on your integration.",
"type": "string",
"example": "000",
"maxLength": 4,
"minLength": 3
},
"holderName": {
"description": "Customer’s full name",
"type": "string",
"example": "John Doe von Soap",
"maxLength": 26,
"minLength": 3
}
},
"required": [
"number",
"expirationMonth",
"expirationYear",
"holderName"
]
},
"SaleShippingLocation": {
"type": "object",
"description": "Object containing the Sale transaction shipping location data",
"properties": {
"countryCode": {
"description": "Customer’s billing country. [`Country list`](#appendix--enum--country)",
"type": "string",
"example": "GB",
"maxLength": 2,
"minLength": 2
},
"state": {
"description": "State or province of the customer’s billing address, as defined in ISO 3166-2, e.g. US Alabama: AL",
"type": "string",
"example": "AL",
"maxLength": 3,
"minLength": 1
},
"city": {
"description": "Customer’s billing city",
"type": "string",
"example": "City",
"maxLength": 85,
"minLength": 1
},
"address": {
"description": "Customer’s billing address",
"type": "string",
"example": "Address 11",
"maxLength": 100,
"minLength": 1
},
"zipCode": {
"description": "Customer’s billing ZIP code",
"type": "string",
"example": "GU16 7HF",
"maxLength": 20,
"minLength": 1
}
}
},
"SaleCustomer": {
"type": "object",
"description": "Object containing the Sale customer data",
"properties": {
"id": {
"description": "Unique identifier of the customer in the merchant’s system. Used for applying limits to the customer",
"type": "string",
"example": "user123",
"maxLength": 50,
"minLength": 1
},
"phone": {
"description": "**Conditional parameter:** The customer's phone number is required if the customer's email address is not provided. **Format:** The parameter must include a valid country code and a phone number of the correct length. Only numbers and an optional `+` symbol are allowed.",
"type": "string",
"example": "0123456789",
"maxLength": 20,
"minLength": 3
},
"email": {
"description": "**Conditional parameter**: The customer’s email address is mandatory if the customer’s phone number is not provided.",
"type": "string",
"example": "email@email.com",
"maxLength": 50,
"minLength": 6
},
"dateOfBirth": {
"description": "Customer’s date of birth. ISO 8601 format: `YYYY-MM-DD`. Required by some providers or when MCC is 6012",
"type": "string",
"example": "2000-01-01",
"maxLength": 10,
"minLength": 10
},
"countryCode": {
"description": "Customer’s billing country. [`Country list`](#appendix--enum--country). Might be mandatory for some integrations.",
"type": "string",
"example": "GB",
"maxLength": 2,
"minLength": 2
},
"state": {
"description": "State or province of the customer’s billing address, as defined in ISO 3166-2, e.g. US Alabama: AL",
"type": "string",
"example": "AL",
"maxLength": 3,
"minLength": 1
},
"city": {
"description": "Customer’s billing city. Required by some integrations with 3DS v2. Required if avs_check is `true`",
"type": "string",
"example": "City",
"maxLength": 85,
"minLength": 1
},
"address": {
"description": "Customer’s billing address. Required by some integrations with 3DS v2. Required if avs_check is `true`",
"type": "string",
"example": "Address",
"maxLength": 100,
"minLength": 1
},
"zipCode": {
"description": "Customer’s billing ZIP code. Required by some integrations with 3DS v2. Required if avs_check is `true`",
"type": "string",
"example": "GU16 7HF",
"maxLength": 20,
"minLength": 1
},
"ip": {
"description": "IPv4 or IPv6 address",
"type": "string",
"example": "1.1.1.1",
"maxLength": 40,
"minLength": 7
}
},
"required": [
"ip"
]
},
"SaleRecurring": {
"type": "object",
"description": "Object containing data of the recurring Sale payment",
"properties": {
"paymentType": {
"description": "Recurring payment type. Possible values: `1` - scheduled recurring payment; `2` - unscheduled MIT payment",
"type": "integer",
"example": 1
},
"frequency": {
"description": "[`Recurring frequency`](#appendix--enum--recurring-frequency). Mandatory if paymentType=1",
"type": "integer",
"example": 1
},
"endDate": {
"description": "Recurring end date. Format: `YYYYMMDD`. Mandatory if paymentType=1",
"type": "string",
"example": "20230901",
"maxLength": 8,
"minLength": 8
}
}
},
"responseSuccess": {
"title": "Success response",
"properties": {
"requestId": {
"description": "Request ID",
"type": "string",
"example": "b44724c9-3844-450d-b36a-986fc9c38d7b",
"maxLength": 36,
"minLength": 36
}
},
"type": "object"
},
"responseError": {
"title": "Error response",
"properties": {
"requestId": {
"description": "Request ID",
"type": "string",
"example": "b44724c9-3844-450d-b36a-986fc9c38d7b",
"maxLength": 36,
"minLength": 36
},
"message": {
"description": "Error response",
"type": "string",
"example": "Error occurred"
},
"violations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/violationObject"
},
"nullable": true
}
},
"type": "object"
},
"responseErrorReport": {
"title": "Error response",
"properties": {
"requestId": {
"description": "Request ID",
"type": "string",
"example": "b44724c9-3844-450d-b36a-986fc9c38d7b",
"maxLength": 36,
"minLength": 36
},
"message": {
"description": "Error response",
"type": "string",
"example": "Error occurred"
},
"violations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/violationObjectReport"
},
"nullable": true
}
},
"type": "object"
},
"responseErrorDisputes": {
"title": "Error response",
"properties": {
"requestId": {
"description": "Request ID",
"type": "string",
"example": "b44724c9-3844-450d-b36a-986fc9c38d7b",
"maxLength": 36,
"minLength": 36
},
"message": {
"description": "Error response",
"type": "string",
"example": "Error occurred"
},
"violations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/violationObjectDisputes"
},
"nullable": true
}
},
"type": "object"
},
"responseErrorProcessing": {
"title": "Error response",
"properties": {
"requestId": {
"description": "Request ID",
"type": "string",
"example": "b44724c9-3844-450d-b36a-986fc9c38d7b",
"maxLength": 36,
"minLength": 36
},
"message": {
"description": "Error response",
"type": "string",
"example": "Error occurred"
},
"violations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/violationObjectProcessing"
},
"nullable": true
}
},
"type": "object"
},
"responseErrorTransactions": {
"title": "Error response",
"properties": {
"requestId": {
"description": "Request ID",
"type": "string",
"example": "b44724c9-3844-450d-b36a-986fc9c38d7b",
"maxLength": 36,
"minLength": 36
},
"message": {
"description": "Error response",
"type": "string",
"example": "Error occurred"
},
"violations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/violationObjectTransactions"
},
"nullable": true
}
},
"type": "object"
},
"responseUnauthorized": {
"properties": {
"requestId": {
"description": "Request ID",
"type": "string",
"example": "b44724c9-3844-450d-b36a-986fc9c38d7b",
"maxLength": 36,
"minLength": 36
},
"message": {
"description": "Request ID",
"type": "string",
"example": "Unauthorized request"
},
"violations": {
"type": "array",
"items": {
"type": "string"
},
"example": [],
"nullable": true
}
},
"type": "object"
},
"responseForbidden": {
"properties": {
"requestId": {
"description": "Request ID",
"type": "string",
"example": "b44724c9-3844-450d-b36a-986fc9c38d7b",
"maxLength": 36,
"minLength": 36
},
"message": {
"description": "Request ID",
"type": "string",
"example": "Error occurred"
},
"violations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/violationObjectForbidden"
}
}
},
"type": "object"
},
"responseTooManyRequests": {
"properties": {
"requestId": {
"description": "Request ID",
"type": "string",
"example": "b44724c9-3844-450d-b36a-986fc9c38d7b",
"maxLength": 36,
"minLength": 36
},
"message": {
"description": "Request ID",
"type": "string",
"example": "Too many requests"
},
"violations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/violationObjectTooManyRequests"
}
}
},
"type": "object"
},
"violationObjectProcessing": {
"title": "Validation object disputes",
"properties": {
"code": {
"description": "[`Response code`](#appendix--enum--response-code)",
"type": "string",
"maxLength": 5,
"minLength": 3,
"example": "1004"
},
"message": {
"description": "[`Response message`](#appendix--enum--response-code)",
"type": "string",
"maxLength": 50,
"minLength": 1,
"example": "Request body contains unknown field \\\"parameterName\\\""
}
},
"type": "object"
},
"violationObjectTransactions": {
"title": "Validation object disputes",
"properties": {
"code": {
"description": "[`Response code`](#appendix--enum--response-code)",
"type": "string",
"maxLength": 5,
"minLength": 3,
"example": "1005"
},
"message": {
"description": "[`Response message`](#appendix--enum--response-code)",
"type": "string",
"maxLength": 50,
"minLength": 1,
"example": "Request body must not be empty"
}
},
"type": "object"
},
"violationObjectDisputes": {
"title": "Validation object disputes",
"properties": {
"propertyPath": {
"description": "Path of parameter causing an error. Null for general errors",
"type": "string",
"example": "parameterName",
"maxLength": 50,
"minLength": 1,
"nullable": true
},
"code": {
"description": "[`Response code`](#appendix--enum--response-code)",
"type": "string",
"maxLength": 5,
"minLength": 3,
"example": "3007"
},
"message": {
"description": "[`Response message`](#appendix--enum--response-code)",
"type": "string",
"maxLength": 50,
"minLength": 1,
"example": "Invalid date format"
}
},
"type": "object"
},
"violationObjectReport": {
"title": "Validation object disputes",
"properties": {
"code": {
"description": "[`Response code`](#appendix--enum--response-code)",
"type": "string",
"maxLength": 5,
"minLength": 3,
"example": "1004"
},
"message": {
"description": "[`Response message`](#appendix--enum--response-code)",
"type": "string",
"maxLength": 50,
"minLength": 1,
"example": "Request body contains unknown field \"randomName\""
}
},
"type": "object"
},
"violationObjectForbidden": {
"title": "Validation object",
"properties": {
"code": {
"description": "[`Response code`](#appendix--enum--response-code)",
"type": "string",
"maxLength": 5,
"minLength": 3,
"example": "4001"
},
"message": {
"description": "[`Response message`](#appendix--enum--response-code)",
"type": "string",
"maxLength": 50,
"minLength": 1,
"example": "Company is disabled"
}
},
"type": "object"
},
"unprocessableContent": {
"title": "Validation object",
"properties": {
"code": {
"description": "[`Response code`](#appendix--enum--response-code)",
"type": "string",
"maxLength": 5,
"minLength": 3,
"example": "4005"
},
"message": {
"description": "[`Response message`](#appendix--enum--response-code)",
"type": "string",
"maxLength": 50,
"minLength": 1,
"example": "Company webhook URL is not set"
}
},
"type": "object"
},
"violationObjectTooManyRequests": {
"title": "Validation object",
"properties": {
"code": {
"description": "[`Response code`](#appendix--enum--response-code)",
"type": "string",
"maxLength": 5,
"minLength": 3,
"example": "4004"
},
"message": {
"description": "[`Response message`](#appendix--enum--response-code)",
"type": "string",
"maxLength": 50,
"minLength": 1,
"example": "Retry after 30 seconds"
}
},
"type": "object"
},
"violationObject": {
"title": "Validation object",
"properties": {
"propertyPath": {
"description": "Path of parameter causing an error. Null for general errors",
"type": "string",
"example": "parameterName",
"maxLength": 50,
"minLength": 1,
"nullable": true
},
"code": {
"description": "[`Response code`](#appendix--enum--response-code)",
"type": "string",
"maxLength": 5,
"minLength": 3,
"example": "2000"
},
"message": {
"description": "[`Response message`](#appendix--enum--response-code)",
"type": "string",
"maxLength": 50,
"minLength": 1,
"example": "Value is not provided"
}
},
"type": "object"
},
"Authorize": {
"title": "authorize",
"properties": {
"transaction": {
"$ref": "#/components/schemas/AuthorizeTransaction"
},
"card": {
"$ref": "#/components/schemas/AuthorizeCard"
},
"shippingLocation": {
"$ref": "#/components/schemas/AuthorizeShippingLocation"
},
"customer": {
"$ref": "#/components/schemas/AuthorizeCustomer"
},
"recurring": {
"$ref": "#/components/schemas/AuthorizeRecurring"
}
},
"type": "object"
},
"AuthorizeTransaction": {
"type": "object",
"description": "Object containing data of the Authorize transaction",
"properties": {
"amount": {
"description": "Number in minor units, e.g. cents. To charge €10, provide 1000 (as the EUR minor unit is cents). Meanwhile, for a ¥10 charge, provide 10 (as the JPY minor unit is the whole unit, i.e., it does not have cents). For customer’s card verification use `0`",
"type": "string",
"example": "123",
"maxLength": 13,
"minLength": 1
},
"currencyCode": {
"description": "Currency ISO 4217 code",
"type": "string",
"example": "EUR",
"maxLength": 3,
"minLength": 3
},
"orderId": {
"description": "Custom merchant’s reference",
"type": "string",
"example": "32131231231241",
"maxLength": 32,
"minLength": 1
},
"descriptor": {
"description": "Custom descriptor",
"type": "string",
"example": "descriptor",
"maxLength": 22,
"minLength": 1
},
"avsCheck": {
"description": "Possible values: `true` or `false`. If the value is set to `true`, the Address Verification Service will be initiated",
"type": "boolean",
"example": true
},
"typeOf3ds": {
"description": "[`3DS Type`]\n\n\n\n| KEY | \n3DS Type | \nDescription | \n
\n\n\n\n| 1 | \nAttempt 3DS | \nProcessing transactions regardless card enrollment in 3DS. | \n
\n\n| 2 | \nSoft 3DS | \nProcessing transactions with cards enrolled in 3DS. | \n
\n\n| 3 | \nNo 3DS | \nProcessing transactions by skipping card 3DS verification at all. | \n
\n\n| 4 | \nHard 3DS | \nProcessing transactions only with full 3DS verification the cardholder. | \n
\n\n
",
"type": "integer",
"example": 2
},
"deviceChannel": {
"description": "[`Device channel value.`](#appendix--enum--device-channel-values) The default value is `02`",
"type": "string",
"example": "02",
"maxLength": 2,
"minLength": 2
},
"mitParentTransactionId": {
"description": "Transaction ID of the initial MIT transaction",
"type": "string",
"example": "497709221425450974",
"maxLength": 19,
"minLength": 5
},
"mitMessageReasonCode": {
"description": "[`The MIT message reason code `]\n\n\n\n| Scheme | \nCode | \nDescription | \n
\n\n\n\n\n| Mastercard | \nps | \nPartial Shipment | \n
\n\n\n| Mastercard | \nin | \nInstallment | \n
\n\n\n| Mastercard | \nso | \nStanding Order (variable amount, fixed frequency) | \n
\n\n\n| Mastercard | \nsf | \nSubscription (fixed amount, fixed frequency) | \n
\n\n\n| Mastercard | \nuco | \nUnscheduled Credential On File | \n
\n\n\n| Visa | \ninc | \nIncremental Authorization Transaction | \n
\n\n\n| Visa | \nrea | \nReauthorization Transaction | \n
\n\n\n| Visa, Mastercard | \nres | \nResubmission Transaction | \n
\n\n\n| Visa, Mastercard | \ndel | \nDelayed Charges Transaction | \n
\n\n\n| Visa, Mastercard | \nns | \nNo Show Transaction | \n
\n\n\n
",
"type": "string",
"example": "ps",
"maxLength": 3,
"minLength": 2
},
"redirectUrlFor3ds": {
"description": "Redirect URL for 3DS",
"type": "string",
"example": "https://urlfor3ds.com",
"maxLength": 255,
"minLength": 1
},
"category": {
"description": "MOTO category\n\n\n\n\n| Value | \nComment | \n
\n\n\n\n\n| MO | \nMail order | \n
\n\n\n| TO | \nTelephone order | \n
\n\n| MOTO | \nMail order Telephone order | \n
\n\n\n
",
"type": "string",
"example": "MO",
"maxLength": 4,
"minLength": 2
},
"paymentTypeIndicator": {
"description": "The parameter handles the [`payment transaction type`](#appendix--enum--payment-transaction-type-indicator). Required for Mastercard and Visa money transfers as well as Account Funding transactions",
"type": "string",
"example": "C07",
"maxLength": 3,
"minLength": 2
},
"cryptogram": {
"description": "The unique cryptogram that is generated to validate the authorized use of the token for secure remote payments.\nOptionally, the parameter can be provided together with 3DS data. Also, the parameter can be provided together with recurring/MIT (Merchant Initiated Transaction) parameters. For MIT (not subsequent), either 3DS or token, or both, are necessary.\nThe content of this field must be passed unmodified when provided by the Digital Wallet.",
"type": "string",
"example": "ALnt+yWSJdXBACMLLWMNGgADFA==",
"maxLength": 255,
"minLength": 1
},
"eciIndicator": {
"description": "[`ECI`]\nThe electronic commerce indicator must be passed unmodified when provided by a Digital Wallet and when received together with a \"cryptogram\".\n\n\n\n| Value | \nMasterCard | \nVisa | \nUnionPay | \nJCB | \nAmex | \nDiscover | \n
\n\n\n\n| 00 | \nNon 3-D secure transaction | \nNot applicable | \nNot applicable | \nNot applicable | \nNot applicable | \nNot applicable | \n
\n\n| 01 | \nAttempted authentication | \nNot applicable | \nNot applicable | \nNot applicable | \nNot applicable | \nNot applicable | \n
\n\n| 02 | \nFully authenticated (CIT) | \nNot applicable | \nNot applicable | \nNot applicable | \nNot applicable | \nNot applicable | \n
\n\n| 05 | \nNot applicable | \nFully authenticated | \nFully authenticated | \nFully authenticated | \nFully authenticated | \nFully authenticated | \n
\n\n| 06 | \nNot applicable | \nAttempted authentication | \nAttempted authentication | \nAttempted authentication | \nAttempted authentication | \nAttempted authentication | \n
\n\n| 07 | \nFully authenticated (MIT) | \nNon 3-D secure transaction | \nNon 3-D secure transaction | \nNon 3-D secure transaction | \nNon 3-D secure transaction | \nNon 3-D secure transaction | \n
\n\n| 10 | \nNot applicable | \nNot applicable | \nUsed for customer not present authorizations when authentication was not used | \nNot applicable | \nNot applicable | \nNot applicable | \n
\n\n
",
"type": "string",
"example": "07",
"maxLength": 2,
"minLength": 2
}
},
"required": [
"amount",
"currencyCode",
"orderId",
"redirectUrlFor3ds"
]
},
"AuthorizeCard": {
"type": "object",
"description": "Object containing the Authorize transaction card details",
"properties": {
"number": {
"description": "Customer’s card number",
"type": "string",
"example": "5099993000018223",
"maxLength": 22,
"minLength": 13
},
"expirationMonth": {
"description": "Card expiry month",
"type": "integer",
"example": 12
},
"expirationYear": {
"description": "Card expiry year. Must be within the next 50 years",
"type": "integer",
"example": 2028
},
"securityCode": {
"description": "**Conditional parameter:** The CVV or CVC of the card. Whether this parameter is mandatory or optional depends on your integration.",
"type": "string",
"example": "000",
"maxLength": 4,
"minLength": 3
},
"holderName": {
"description": "Customer’s full name",
"type": "string",
"example": "John Doe von Soap",
"maxLength": 26,
"minLength": 3
}
},
"required": [
"number",
"expirationMonth",
"expirationYear",
"holderName"
]
},
"AuthorizeShippingLocation": {
"type": "object",
"description": "Object containing the Authorize transaction shipping location data",
"properties": {
"countryCode": {
"description": "Customer’s billing country. [`Country list`](#appendix--enum--country)",
"type": "string",
"example": "GB",
"maxLength": 2,
"minLength": 2
},
"state": {
"description": "State or province of the customer’s billing address, as defined in ISO 3166-2, e.g. US Alabama: AL",
"type": "string",
"example": "AL",
"maxLength": 3,
"minLength": 1
},
"city": {
"description": "Customer’s billing city",
"type": "string",
"example": "City",
"maxLength": 85,
"minLength": 1
},
"address": {
"description": "Customer’s billing address",
"type": "string",
"example": "Address 11",
"maxLength": 100,
"minLength": 1
},
"zipCode": {
"description": "Customer’s billing ZIP code",
"type": "string",
"example": "GU16 7HF",
"maxLength": 20,
"minLength": 1
}
}
},
"AuthorizeCustomer": {
"type": "object",
"description": "Object containing data of the customer to be authorized",
"properties": {
"id": {
"description": "Unique identifier of the customer in the merchant’s system. Used for applying limits to the customer",
"type": "string",
"example": "user123",
"maxLength": 50,
"minLength": 1
},
"phone": {
"description": "**Conditional parameter:** The customer's phone number is required if the customer's email address is not provided. **Format:** The parameter must include a valid country code and a phone number of the correct length. Only numbers and an optional `+` symbol are allowed.",
"type": "string",
"example": "0123456789",
"maxLength": 20,
"minLength": 3
},
"email": {
"description": "**Conditional parameter**: The customer’s email address is mandatory if the customer’s phone number is not provided.",
"type": "string",
"example": "email@email.com",
"maxLength": 50,
"minLength": 6
},
"dateOfBirth": {
"description": "Customer’s date of birth. ISO 8601 format: `YYYY-MM-DD`. Required by some providers or when MCC is 6012",
"type": "string",
"example": "2000-01-01",
"maxLength": 10,
"minLength": 10
},
"countryCode": {
"description": "Customer’s billing country. [`Country list`](#appendix--enum--country). Might be mandatory for some integrations.",
"type": "string",
"example": "GB",
"maxLength": 2,
"minLength": 2
},
"state": {
"description": "State or province of the customer’s billing address, as defined in ISO 3166-2, e.g. US Alabama: AL",
"type": "string",
"example": "AL",
"maxLength": 3,
"minLength": 1
},
"city": {
"description": "Customer’s billing city. Required by some integrations with 3DS v2. Required if avs_check is `true`",
"type": "string",
"example": "City",
"maxLength": 85,
"minLength": 1
},
"address": {
"description": "Customer’s billing address. Required by some integrations with 3DS v2. Required if avs_check is `true`",
"type": "string",
"example": "Address",
"maxLength": 100,
"minLength": 1
},
"zipCode": {
"description": "Customer’s billing ZIP code. Required by some integrations with 3DS v2. Required if avs_check is `true`",
"type": "string",
"example": "GU16 7HF",
"maxLength": 20,
"minLength": 1
},
"ip": {
"description": "IPv4 or IPv6 address",
"type": "string",
"example": "1.1.1.1",
"maxLength": 40,
"minLength": 7
}
},
"required": [
"ip"
]
},
"AuthorizeRecurring": {
"type": "object",
"description": "Object containing data of the recurring payment to be authorized",
"properties": {
"paymentType": {
"description": "Recurring payment type. Possible values: `1` - scheduled recurring payment; `2` - unscheduled MIT payment",
"type": "integer",
"example": 1
},
"frequency": {
"description": "[`Recurring frequency`](#appendix--enum--recurring-frequency). Mandatory if paymentType=1",
"type": "integer",
"example": 1
},
"endDate": {
"description": "Recurring end date. Format: `YYYYMMDD`. Mandatory if paymentType=1",
"type": "string",
"example": "20230901",
"maxLength": 8,
"minLength": 8
}
}
},
"PreAuthorize": {
"title": "pre-authorize",
"properties": {
"transaction": {
"$ref": "#/components/schemas/PreAuthorizeTransaction"
},
"card": {
"$ref": "#/components/schemas/PreAuthorizeCard"
},
"shippingLocation": {
"$ref": "#/components/schemas/PreAuthorizeShippingLocation"
},
"customer": {
"$ref": "#/components/schemas/PreAuthorizeCustomer"
},
"recurring": {
"$ref": "#/components/schemas/PreAuthorizeRecurring"
}
},
"type": "object"
},
"PreAuthorizeTransaction": {
"type": "object",
"description": "Object containing data of the Pre Authorize transaction",
"properties": {
"amount": {
"description": "Number in minor units, e.g. cents. To charge €10, provide 1000 (as the EUR minor unit is cents). Meanwhile, for a ¥10 charge, provide 10 (as the JPY minor unit is the whole unit, i.e., it does not have cents). For customer’s card verification use `0`",
"type": "string",
"example": "123",
"maxLength": 13,
"minLength": 1
},
"currencyCode": {
"description": "Currency ISO 4217 code",
"type": "string",
"example": "EUR",
"maxLength": 3,
"minLength": 3
},
"orderId": {
"description": "Custom merchant’s reference",
"type": "string",
"example": "32131231231241",
"maxLength": 32,
"minLength": 1
},
"descriptor": {
"description": "Custom descriptor",
"type": "string",
"example": "descriptor",
"maxLength": 22,
"minLength": 1
},
"avsCheck": {
"description": "Possible values: `true` or `false`. If the value is set to `true`, the Address Verification Service will be initiated",
"type": "boolean",
"example": true
},
"typeOf3ds": {
"description": "[`3DS Type`]\n\n\n\n| KEY | \n3DS Type | \nDescription | \n
\n\n\n\n| 1 | \nAttempt 3DS | \nProcessing transactions regardless card enrollment in 3DS. | \n
\n\n| 2 | \nSoft 3DS | \nProcessing transactions with cards enrolled in 3DS. | \n
\n\n| 3 | \nNo 3DS | \nProcessing transactions by skipping card 3DS verification at all. | \n
\n\n| 4 | \nHard 3DS | \nProcessing transactions only with full 3DS verification the cardholder. | \n
\n\n
",
"type": "integer",
"example": 2
},
"deviceChannel": {
"description": "[`Device channel value.`](#appendix--enum--device-channel-values) The default value is `02`",
"type": "string",
"example": "02",
"maxLength": 2,
"minLength": 2
},
"redirectUrlFor3ds": {
"description": "Redirect URL for 3DS",
"type": "string",
"example": "https://urlfor3ds.com",
"maxLength": 255,
"minLength": 1
},
"cryptogram": {
"description": "The unique cryptogram that is generated to validate the authorized use of the token for secure remote payments.\nOptionally, the parameter can be provided together with 3DS data. Also, the parameter can be provided together with recurring/MIT (Merchant Initiated Transaction) parameters. For MIT (not subsequent), either 3DS or token, or both, are necessary.\nThe content of this field must be passed unmodified when provided by the Digital Wallet.",
"type": "string",
"example": "ALnt+yWSJdXBACMLLWMNGgADFA==",
"maxLength": 255,
"minLength": 1
},
"eciIndicator": {
"description": "[`ECI`]\nThe electronic commerce indicator must be passed unmodified when provided by a Digital Wallet and when received together with a \"cryptogram\".\n\n\n\n| Value | \nMasterCard | \nVisa | \nUnionPay | \nJCB | \nAmex | \nDiscover | \n
\n\n\n\n| 00 | \nNon 3-D secure transaction | \nNot applicable | \nNot applicable | \nNot applicable | \nNot applicable | \nNot applicable | \n
\n\n| 01 | \nAttempted authentication | \nNot applicable | \nNot applicable | \nNot applicable | \nNot applicable | \nNot applicable | \n
\n\n| 02 | \nFully authenticated (CIT) | \nNot applicable | \nNot applicable | \nNot applicable | \nNot applicable | \nNot applicable | \n
\n\n| 05 | \nNot applicable | \nFully authenticated | \nFully authenticated | \nFully authenticated | \nFully authenticated | \nFully authenticated | \n
\n\n| 06 | \nNot applicable | \nAttempted authentication | \nAttempted authentication | \nAttempted authentication | \nAttempted authentication | \nAttempted authentication | \n
\n\n| 07 | \nFully authenticated (MIT) | \nNon 3-D secure transaction | \nNon 3-D secure transaction | \nNon 3-D secure transaction | \nNon 3-D secure transaction | \nNon 3-D secure transaction | \n
\n\n| 10 | \nNot applicable | \nNot applicable | \nUsed for customer not present authorizations when authentication was not used | \nNot applicable | \nNot applicable | \nNot applicable | \n
\n\n
",
"type": "string",
"example": "07",
"maxLength": 2,
"minLength": 2
}
},
"required": [
"amount",
"currencyCode",
"orderId",
"redirectUrlFor3ds"
]
},
"PreAuthorizeCard": {
"type": "object",
"description": "Object containing the Pre Authorize transaction card details",
"properties": {
"number": {
"description": "Customer’s card number",
"type": "string",
"example": "5099993000018223",
"maxLength": 22,
"minLength": 13
},
"expirationMonth": {
"description": "Card expiry month",
"type": "integer",
"example": 12
},
"expirationYear": {
"description": "Card expiry year. Must be within the next 50 years",
"type": "integer",
"example": 2028
},
"securityCode": {
"description": "**Conditional parameter:** The CVV or CVC of the card. Whether this parameter is mandatory or optional depends on your integration.",
"type": "string",
"example": "000",
"maxLength": 4,
"minLength": 3
},
"holderName": {
"description": "Customer’s full name",
"type": "string",
"example": "John Doe von Soap",
"maxLength": 26,
"minLength": 3
}
},
"required": [
"number",
"expirationMonth",
"expirationYear",
"holderName"
]
},
"PreAuthorizeShippingLocation": {
"type": "object",
"description": "Object containing the Pre Authorize transaction shipping location data",
"properties": {
"countryCode": {
"description": "Customer’s billing country. [`Country list`](#appendix--enum--country)",
"type": "string",
"example": "GB",
"maxLength": 2,
"minLength": 2
},
"state": {
"description": "State or province of the customer’s billing address, as defined in ISO 3166-2, e.g. US Alabama: AL",
"type": "string",
"example": "AL",
"maxLength": 3,
"minLength": 1
},
"city": {
"description": "Customer’s billing city",
"type": "string",
"example": "City",
"maxLength": 85,
"minLength": 1
},
"address": {
"description": "Customer’s billing address",
"type": "string",
"example": "Address 11",
"maxLength": 100,
"minLength": 1
},
"zipCode": {
"description": "Customer’s billing ZIP code",
"type": "string",
"example": "GU16 7HF",
"maxLength": 20,
"minLength": 1
}
}
},
"PreAuthorizeCustomer": {
"type": "object",
"description": "Object containing data of the customer to be pre authorized",
"properties": {
"id": {
"description": "Unique identifier of the customer in the merchant’s system. Used for applying limits to the customer",
"type": "string",
"example": "user123",
"maxLength": 50,
"minLength": 1
},
"phone": {
"description": "**Conditional parameter:** The customer's phone number is required if the customer's email address is not provided. **Format:** The parameter must include a valid country code and a phone number of the correct length. Only numbers and an optional `+` symbol are allowed.",
"type": "string",
"example": "0123456789",
"maxLength": 20,
"minLength": 3
},
"email": {
"description": "**Conditional parameter**: The customer’s email address is mandatory if the customer’s phone number is not provided.",
"type": "string",
"example": "email@email.com",
"maxLength": 50,
"minLength": 6
},
"dateOfBirth": {
"description": "Customer’s date of birth. ISO 8601 format: `YYYY-MM-DD`. Required by some providers or when MCC is 6012",
"type": "string",
"example": "2000-01-01",
"maxLength": 10,
"minLength": 10
},
"countryCode": {
"description": "Customer’s billing country. [`Country list`](#appendix--enum--country). Might be mandatory for some integrations.",
"type": "string",
"example": "GB",
"maxLength": 2,
"minLength": 2
},
"state": {
"description": "State or province of the customer’s billing address, as defined in ISO 3166-2, e.g. US Alabama: AL",
"type": "string",
"example": "AL",
"maxLength": 3,
"minLength": 1
},
"city": {
"description": "Customer’s billing city. Required by some integrations with 3DS v2. Required if avs_check is `true`",
"type": "string",
"example": "City",
"maxLength": 85,
"minLength": 1
},
"address": {
"description": "Customer’s billing address. Required by some integrations with 3DS v2. Required if avs_check is `true`",
"type": "string",
"example": "Address",
"maxLength": 100,
"minLength": 1
},
"zipCode": {
"description": "Customer’s billing ZIP code. Required by some integrations with 3DS v2. Required if avs_check is `true`",
"type": "string",
"example": "GU16 7HF",
"maxLength": 20,
"minLength": 1
},
"ip": {
"description": "IPv4 or IPv6 address",
"type": "string",
"example": "1.1.1.1",
"maxLength": 40,
"minLength": 7
}
},
"required": [
"ip"
]
},
"PreAuthorizeRecurring": {
"type": "object",
"properties": {
"paymentType": {
"description": "Recurring payment type. Possible value: `2` - unscheduled Merchant Initiated Transaction (MIT) payment",
"type": "integer",
"example": 2
}
}
},
"Credit": {
"title": "credit",
"properties": {
"transaction": {
"$ref": "#/components/schemas/CreditTransaction"
},
"card": {
"$ref": "#/components/schemas/CreditCard"
},
"customer": {
"$ref": "#/components/schemas/CreditCustomer"
},
"receiver": {
"$ref": "#/components/schemas/CreditReceiver"
}
},
"type": "object"
},
"CreditTransaction": {
"type": "object",
"description": "Object containing data of the Credit transaction",
"properties": {
"amount": {
"description": "Number in minor units, e.g. cents. To charge €10, provide 1000 (as the EUR minor unit is cents). Meanwhile, for a ¥10 charge, provide 10 (as the JPY minor unit is the whole unit, i.e., it does not have cents).",
"type": "string",
"example": "123",
"maxLength": 13,
"minLength": 1
},
"currencyCode": {
"description": "Currency ISO 4217 code",
"type": "string",
"example": "EUR",
"maxLength": 3,
"minLength": 3
},
"orderId": {
"description": "Custom merchant’s reference",
"type": "string",
"example": "32131231231241",
"maxLength": 32,
"minLength": 1
},
"descriptor": {
"description": "Custom descriptor",
"type": "string",
"example": "descriptor",
"maxLength": 22,
"minLength": 1
},
"paymentTypeIndicator": {
"description": "The parameter handles the [`payment transaction type`](#appendix--enum--payment-transaction-type-indicator). Required for Mastercard and Visa money transfers as well as Account Funding transactions",
"type": "string",
"example": "C07",
"maxLength": 3,
"minLength": 2
}
},
"required": [
"amount",
"currencyCode",
"orderId"
]
},
"CreditCard": {
"type": "object",
"description": "Object containing details of the card to be credited",
"properties": {
"number": {
"description": "Customer’s card number",
"type": "string",
"example": "5099993000018223",
"maxLength": 22,
"minLength": 13
},
"expirationMonth": {
"description": "Card expiry month",
"type": "integer",
"example": 12
},
"expirationYear": {
"description": "Card expiry year. Must be within the next 50 years",
"type": "integer",
"example": 2028
},
"securityCode": {
"description": "**Conditional parameter:** The CVV or CVC of the card. Whether this parameter is mandatory or optional depends on your integration.",
"type": "string",
"example": "000",
"maxLength": 4,
"minLength": 3
},
"holderName": {
"description": "Customer’s full name",
"type": "string",
"example": "John Doe von Soap",
"maxLength": 26,
"minLength": 3
}
},
"required": [
"number",
"expirationMonth",
"expirationYear",
"holderName"
]
},
"CreditCustomer": {
"type": "object",
"description": "Object containing data of the actual credit customer, i.e. the person or institution initiating a Credit transaction",
"properties": {
"id": {
"description": "Unique identifier of the customer in the merchant’s system. Used for applying limits to the customer",
"type": "string",
"example": "user123",
"maxLength": 50,
"minLength": 1
},
"phone": {
"description": "The customer's phone number. **Format:** The parameter must include a valid country code and a phone number of the correct length. Only numbers and an optional `+` symbol are allowed.",
"type": "string",
"example": "0123456789",
"maxLength": 20,
"minLength": 3
},
"email": {
"description": "The customer’s email address.",
"type": "string",
"example": "email@email.com",
"maxLength": 50,
"minLength": 6
},
"dateOfBirth": {
"description": "Customer’s date of birth. ISO 8601 format: `YYYY-MM-DD`. Required by some providers or when MCC is 6012",
"type": "string",
"example": "2000-01-01",
"maxLength": 10,
"minLength": 10
},
"countryCode": {
"description": "Customer’s billing country. [`Country list`](#appendix--enum--country). Might be mandatory for some integrations.",
"type": "string",
"example": "GB",
"maxLength": 2,
"minLength": 2
},
"state": {
"description": "State or province of the customer’s billing address, as defined in ISO 3166-2, e.g. US Alabama: AL",
"type": "string",
"example": "AL",
"maxLength": 3,
"minLength": 1
},
"city": {
"description": "Customer’s billing city. Required by some integrations with 3DS v2. Required if avs_check is `true`",
"type": "string",
"example": "City",
"maxLength": 85,
"minLength": 1
},
"address": {
"description": "Customer’s billing address. Required by some integrations with 3DS v2. Required if avs_check is `true`",
"type": "string",
"example": "Address",
"maxLength": 100,
"minLength": 1
},
"zipCode": {
"description": "Customer’s billing ZIP code. Required by some integrations with 3DS v2. Required if avs_check is `true`",
"type": "string",
"example": "GU16 7HF",
"maxLength": 20,
"minLength": 1
},
"ip": {
"description": "IPv4 or IPv6 address",
"type": "string",
"example": "1.1.1.1",
"maxLength": 40,
"minLength": 7
}
}
},
"CreditReceiver": {
"type": "object",
"description": "Object containing data of the funds receiver, i.e. the person or institution receiving a Credit",
"properties": {
"firstName": {
"description": "**Conditional parameter**: Receiver’s first name. For institutions, their name must be encoded through the `firstName` and `lastName` parameters. It is required if the MCC is 6536 or 6537 (MoneySend Payment).",
"type": "string",
"example": "Firstname",
"maxLength": 35,
"minLength": 1
},
"lastName": {
"description": "**Conditional parameter**: Receiver’s last name. For institutions, their name must be encoded through the `firstName` and `lastName` parameters. It is required if the MCC is 6536 or 6537 (MoneySend Payment).",
"type": "string",
"example": "Lastname",
"maxLength": 35,
"minLength": 1
}
}
},
"Process": {
"title": "process",
"properties": {
"operationType": {
"description": "Possible operations: sale, authorize, credit",
"type": "string",
"example": "sale",
"maxLength": 20,
"minLength": 1
},
"transaction": {
"$ref": "#/components/schemas/ProcessTransaction"
},
"card": {
"$ref": "#/components/schemas/ProcessCard"
},
"shippingLocation": {
"$ref": "#/components/schemas/ProcessShippingLocation"
},
"customer": {
"$ref": "#/components/schemas/ProcessCustomer"
},
"receiver": {
"$ref": "#/components/schemas/ProcessReceiver"
}
},
"type": "object",
"required": [
"operationType"
]
},
"ProcessTransaction": {
"type": "object",
"description": "Object containing data for the transaction",
"properties": {
"amount": {
"description": "Number in minor units, e.g. cents. To charge €10, provide 1000 (as the EUR minor unit is cents). Meanwhile, for a ¥10 charge, provide 10 (as the JPY minor unit is the whole unit, i.e., it does not have cents).",
"type": "string",
"example": "123",
"maxLength": 13,
"minLength": 1
},
"currencyCode": {
"description": "Currency ISO 4217 code",
"type": "string",
"example": "EUR",
"maxLength": 3,
"minLength": 3
},
"orderId": {
"description": "Custom merchant’s reference",
"type": "string",
"example": "32131231231241",
"maxLength": 32,
"minLength": 1
},
"descriptor": {
"description": "Custom descriptor",
"type": "string",
"example": "descriptor",
"maxLength": 22,
"minLength": 1
},
"typeOf3ds": {
"description": "[`3DS Type`]\n\n\n\n| KEY | \n3DS Type | \nDescription | \n
\n\n\n\n| 1 | \nAttempt 3DS | \nProcessing transactions regardless card enrollment in 3DS. | \n
\n\n| 2 | \nSoft 3DS | \nProcessing transactions with cards enrolled in 3DS. | \n
\n\n| 3 | \nNo 3DS | \nProcessing transactions by skipping card 3DS verification at all. | \n
\n\n| 4 | \nHard 3DS | \nProcessing transactions only with full 3DS verification the cardholder. | \n
\n\n
",
"type": "integer",
"example": 2
},
"deviceChannel": {
"description": "[`Device channel value.`](#appendix--enum--device-channel-values) The default value is `02`",
"type": "string",
"example": "02",
"maxLength": 2,
"minLength": 2
},
"mitParentTransactionId": {
"description": "Transaction ID of the initial MIT transaction",
"type": "string",
"example": "497709221425450974",
"maxLength": 19,
"minLength": 5
},
"mitMessageReasonCode": {
"description": "[`The MIT message reason code `]\n\n\n\n| Scheme | \nCode | \nDescription | \n
\n\n\n\n\n| Mastercard | \nps | \nPartial Shipment | \n
\n\n\n| Mastercard | \nin | \nInstallment | \n
\n\n\n| Mastercard | \nso | \nStanding Order (variable amount, fixed frequency) | \n
\n\n\n| Mastercard | \nsf | \nSubscription (fixed amount, fixed frequency) | \n
\n\n\n| Mastercard | \nuco | \nUnscheduled Credential On File | \n
\n\n\n| Visa | \ninc | \nIncremental Authorization Transaction | \n
\n\n\n| Visa | \nrea | \nReauthorization Transaction | \n
\n\n\n| Visa, Mastercard | \nres | \nResubmission Transaction | \n
\n\n\n| Visa, Mastercard | \ndel | \nDelayed Charges Transaction | \n
\n\n\n| Visa, Mastercard | \nns | \nNo Show Transaction | \n
\n\n\n
",
"type": "string",
"example": "ps",
"maxLength": 3,
"minLength": 2
},
"redirectUrlFor3ds": {
"description": "Redirect URL for 3DS",
"type": "string",
"example": "https://urlfor3ds.com",
"maxLength": 255,
"minLength": 1
},
"category": {
"description": "MOTO category\n\n\n\n\n| Value | \nComment | \n
\n\n\n\n\n| MO | \nMail order | \n
\n\n\n| TO | \nTelephone order | \n
\n\n| MOTO | \nMail order Telephone order | \n
\n\n\n
",
"type": "string",
"example": "MO",
"maxLength": 4,
"minLength": 2
}
},
"required": [
"amount",
"currencyCode",
"orderId",
"redirectUrlFor3ds"
]
},
"ProcessCard": {
"type": "object",
"description": "Object containing the transaction card details",
"properties": {
"securityCode": {
"description": "**Conditional parameter:** The CVV or CVC of the card. Whether this parameter is mandatory or optional depends on your integration.",
"type": "string",
"example": "000",
"maxLength": 4,
"minLength": 3
},
"hash": {
"description": "Tokenized card identifier",
"type": "string",
"example": "6899a2bb31fe4fcb619f8cac7f8d300e",
"maxLength": 32,
"minLength": 32
}
},
"required": [
"hash"
]
},
"ProcessShippingLocation": {
"type": "object",
"description": "Object containing the transaction shipping location data",
"properties": {
"countryCode": {
"description": "Customer’s billing country. [`Country list`](#appendix--enum--country)",
"type": "string",
"example": "GB",
"maxLength": 2,
"minLength": 2
},
"state": {
"description": "State or province of the customer’s billing address, as defined in ISO 3166-2, e.g. US Alabama: AL",
"type": "string",
"example": "AL",
"maxLength": 3,
"minLength": 1
},
"city": {
"description": "Customer’s billing city",
"type": "string",
"example": "City",
"maxLength": 85,
"minLength": 1
},
"address": {
"description": "Customer’s billing address",
"type": "string",
"example": "Address 11",
"maxLength": 100,
"minLength": 1
},
"zipCode": {
"description": "Customer’s billing ZIP code",
"type": "string",
"example": "GU16 7HF",
"maxLength": 20,
"minLength": 1
}
}
},
"ProcessCustomer": {
"type": "object",
"description": "Object containing data of the actual transaction customer",
"properties": {
"id": {
"description": "Unique identifier of the customer in the merchant’s system. Used for applying limits to the customer",
"type": "string",
"example": "user123",
"maxLength": 50,
"minLength": 1
},
"phone": {
"description": "**Conditional parameter:** The customer's phone number is required if the customer's email address is not provided and `operationType` is `sale` or `authorize`. **Format:** The parameter must include a valid country code and a phone number of the correct length. Only numbers and an optional `+` symbol are allowed.",
"type": "string",
"example": "0123456789",
"maxLength": 20,
"minLength": 3
},
"email": {
"description": "**Conditional parameter**: The customer’s email address is mandatory if the customer’s phone number is not provided and `operationType` is `sale` or `authorize`.",
"type": "string",
"example": "email@email.com",
"maxLength": 50,
"minLength": 6
},
"dateOfBirth": {
"description": "Customer’s date of birth. ISO 8601 format: `YYYY-MM-DD`. Required by some providers or when MCC is 6012",
"type": "string",
"example": "2000-01-01",
"maxLength": 10,
"minLength": 10
},
"countryCode": {
"description": "Customer’s billing country. [`Country list`](#appendix--enum--country). Might be mandatory for some integrations.",
"type": "string",
"example": "GB",
"maxLength": 2,
"minLength": 2
},
"state": {
"description": "State or province of the customer’s billing address, as defined in ISO 3166-2, e.g. US Alabama: AL",
"type": "string",
"example": "AL",
"maxLength": 3,
"minLength": 1
},
"city": {
"description": "Customer’s billing city. Might be mandatory for some integrations",
"type": "string",
"example": "City",
"maxLength": 85,
"minLength": 1
},
"address": {
"description": "Customer’s billing address. Might be mandatory for some integrations",
"type": "string",
"example": "Address",
"maxLength": 100,
"minLength": 1
},
"zipCode": {
"description": "Customer’s billing ZIP code. Might be mandatory for some integrations",
"type": "string",
"example": "GU16 7HF",
"maxLength": 20,
"minLength": 1
},
"ip": {
"description": "IPv4 or IPv6 address",
"type": "string",
"example": "1.1.1.1",
"maxLength": 40,
"minLength": 7
}
}
},
"ProcessReceiver": {
"type": "object",
"description": "Object containing data of the transaction receiver",
"properties": {
"firstName": {
"description": "**Conditional parameter**: Receiver’s first name. For institutions, their name must be encoded through the `firstName` and `lastName` parameters. It is required if the MCC is 6536 or 6537 (MoneySend Payment).",
"type": "string",
"example": "Firstname",
"maxLength": 35,
"minLength": 1
},
"lastName": {
"description": "**Conditional parameter**: Receiver’s last name. For institutions, their name must be encoded through the `firstName` and `lastName` parameters. It is required if the MCC is 6536 or 6537 (MoneySend Payment).",
"type": "string",
"example": "Lastname",
"maxLength": 35,
"minLength": 1
}
}
},
"P2p": {
"title": "p2p",
"properties": {
"transaction": {
"$ref": "#/components/schemas/P2pTransaction"
},
"card": {
"$ref": "#/components/schemas/P2pCard"
},
"shippingLocation": {
"$ref": "#/components/schemas/P2pShippingLocation"
},
"customer": {
"$ref": "#/components/schemas/P2pCustomer"
},
"receiver": {
"$ref": "#/components/schemas/P2pReceiver"
},
"sender": {
"$ref": "#/components/schemas/P2pSender"
}
},
"type": "object"
},
"P2pTransaction": {
"type": "object",
"description": "Object containing data of the P2P transaction",
"properties": {
"sendingAmount": {
"description": "Amount that will be deducted from the sender's card. Number in minor units, e.g. cents",
"type": "string",
"example": "120",
"maxLength": 13,
"minLength": 1
},
"receivingAmount": {
"description": "Amount that will be sent to the receiver's card. Number in minor units, e.g. cents",
"type": "string",
"example": "130",
"maxLength": 13,
"minLength": 1
},
"currencyCode": {
"description": "Currency ISO 4217 code",
"type": "string",
"example": "EUR",
"maxLength": 3,
"minLength": 3
},
"orderId": {
"description": "Custom merchant’s reference",
"type": "string",
"example": "32131231231241",
"maxLength": 32,
"minLength": 1
},
"typeOf3ds": {
"description": "[`3DS Type`]\n\n\n\n| KEY | \n3DS Type | \nDescription | \n
\n\n\n\n| 1 | \nAttempt 3DS | \nProcessing transactions regardless card enrollment in 3DS. | \n
\n\n| 2 | \nSoft 3DS | \nProcessing transactions with cards enrolled in 3DS. | \n
\n\n| 3 | \nNo 3DS | \nProcessing transactions by skipping card 3DS verification at all. | \n
\n\n| 4 | \nHard 3DS | \nProcessing transactions only with full 3DS verification the cardholder. | \n
\n\n
",
"type": "integer",
"example": 2
},
"deviceChannel": {
"description": "[`Device channel value.`](#appendix--enum--device-channel-values) The default value is `02`",
"type": "string",
"example": "02",
"maxLength": 2,
"minLength": 2
},
"redirectUrlFor3ds": {
"description": "Redirect URL for 3DS",
"type": "string",
"example": "https://urlfor3ds.com",
"maxLength": 255,
"minLength": 1
},
"paymentTypeIndicator": {
"description": "The parameter handles the [`payment transaction type`](#appendix--enum--payment-transaction-type-indicator). Required for Mastercard and Visa money transfers as well as Account Funding transactions",
"type": "string",
"example": "C07",
"maxLength": 3,
"minLength": 2
}
},
"required": [
"sendingAmount",
"receivingAmount",
"currencyCode",
"orderId",
"redirectUrlFor3ds"
]
},
"P2pCard": {
"type": "object",
"description": "Object containing the P2P transaction card details",
"properties": {
"number": {
"description": "Customer’s card number",
"type": "string",
"example": "5099993000018223",
"maxLength": 22,
"minLength": 13
},
"expirationMonth": {
"description": "Card expiry month",
"type": "integer",
"example": 12
},
"expirationYear": {
"description": "Card expiry year. Must be within the next 50 years",
"type": "integer",
"example": 2028
},
"securityCode": {
"description": "**Conditional parameter:** The CVV or CVC of the card. Whether this parameter is mandatory or optional depends on your integration.",
"type": "string",
"example": "000",
"maxLength": 4,
"minLength": 3
},
"holderName": {
"description": "Customer’s full name",
"type": "string",
"example": "John Doe von Soap",
"maxLength": 26,
"minLength": 3
},
"hash": {
"description": "Tokenized card identifier",
"type": "string",
"example": "6899a2bb31fe4fcb619f8cac7f8d300e",
"maxLength": 32,
"minLength": 32
}
},
"required": [
"expirationMonth",
"expirationYear",
"holderName"
]
},
"P2pShippingLocation": {
"type": "object",
"description": "Object containing the P2P transaction shipping location data",
"properties": {
"countryCode": {
"description": "Customer’s billing country. [`Country list`](#appendix--enum--country)",
"type": "string",
"example": "GB",
"maxLength": 2,
"minLength": 2
},
"state": {
"description": "State or province of the customer’s billing address, as defined in ISO 3166-2, e.g. US Alabama: AL",
"type": "string",
"example": "AL",
"maxLength": 3,
"minLength": 1
},
"city": {
"description": "Customer’s billing city",
"type": "string",
"example": "City",
"maxLength": 85,
"minLength": 1
},
"address": {
"description": "Customer’s billing address",
"type": "string",
"example": "Address 11",
"maxLength": 100,
"minLength": 1
},
"zipCode": {
"description": "Customer’s billing ZIP code",
"type": "string",
"example": "GU16 7HF",
"maxLength": 20,
"minLength": 1
}
}
},
"P2pCustomer": {
"type": "object",
"description": "Object containing data of the actual P2P transaction customer",
"properties": {
"id": {
"description": "Unique identifier of the customer in the merchant’s system. Used for applying limits to the customer",
"type": "string",
"example": "user123",
"maxLength": 50,
"minLength": 1
},
"phone": {
"description": "**Conditional parameter:** The customer's phone number is required if the customer's email address is not provided. **Format:** The parameter must include a valid country code and a phone number of the correct length. Only numbers and an optional `+` symbol are allowed.",
"type": "string",
"example": "0123456789",
"maxLength": 20,
"minLength": 3
},
"email": {
"description": "**Conditional parameter**: The customer’s email address is mandatory if the customer’s phone number is not provided.",
"type": "string",
"example": "email@email.com",
"maxLength": 50,
"minLength": 6
},
"ip": {
"description": "IPv4 or IPv6 address",
"type": "string",
"example": "1.1.1.1",
"maxLength": 40,
"minLength": 7
}
},
"required": [
"ip"
]
},
"P2pReceiver": {
"type": "object",
"description": "Object containing data of the P2P transaction receiver, i.e. the person or institution receiving funds",
"properties": {
"firstName": {
"description": "**Conditional parameter**: Receiver’s first name. For institutions, their name must be encoded through the `firstName` and `lastName` parameters. It is required if the MCC is 6536 or 6537 (MoneySend Payment).",
"type": "string",
"example": "Firstname",
"maxLength": 35,
"minLength": 1
},
"middleName": {
"description": "Receiver's middle name initial",
"type": "string",
"example": "R",
"maxLength": 1,
"minLength": 1
},
"lastName": {
"description": "**Conditional parameter**: Receiver’s last name. For institutions, their name must be encoded through the `firstName` and `lastName` parameters. It is required if the MCC is 6536 or 6537 (MoneySend Payment).",
"type": "string",
"example": "Lastname",
"maxLength": 35,
"minLength": 1
},
"cardNumber": {
"description": "Receiver's PAN number",
"type": "string",
"example": "5099993000018223",
"maxLength": 22,
"minLength": 13
},
"countryOfBirth": {
"description": "Country of birth. [`Country list`](#appendix--enum--country)",
"type": "string",
"example": "GB",
"maxLength": 2,
"minLength": 2
},
"dateOfBirth": {
"description": "ISO 8601 format: `YYYY-MM-DD`",
"type": "string",
"example": "2000-01-01",
"maxLength": 10,
"minLength": 10
},
"nationality": {
"description": "ISO 3166-1 numeric country code. [`Country list`](#appendix--enum--country)",
"type": "string",
"example": "GB",
"maxLength": 2,
"minLength": 2
},
"phone": {
"description": "Receiver's phone number. Only numbers and, optionally, `+` symbol can be used",
"type": "string",
"example": "0123456789",
"maxLength": 20,
"minLength": 3
},
"location": {
"$ref": "#/components/schemas/P2pReceiverLocation"
},
"identification": {
"$ref": "#/components/schemas/P2pReceiverIdentification"
}
},
"required": [
"cardNumber"
]
},
"P2pReceiverLocation": {
"type": "object",
"description": "Object containing the P2P transaction receiver location data",
"properties": {
"countryCode": {
"description": "[`Country list`](#appendix--enum--country)",
"type": "string",
"example": "GB",
"maxLength": 2,
"minLength": 2
},
"state": {
"description": "State or province of the customer’s billing address, as defined in ISO 3166-2, e.g. US Alabama: AL",
"type": "string",
"example": "AL",
"maxLength": 3,
"minLength": 1
},
"city": {
"description": "Receiver's city name",
"type": "string",
"example": "City",
"maxLength": 85,
"minLength": 1
},
"address": {
"description": "Receiver's street address",
"type": "string",
"example": "Address",
"maxLength": 100,
"minLength": 1
},
"zipCode": {
"description": "Receiver's ZIP code",
"type": "string",
"example": "GU16 7HF",
"maxLength": 20,
"minLength": 1
}
},
"required": [
"countryCode"
]
},
"P2pReceiverIdentification": {
"type": "object",
"description": "Object containing the P2P transaction receiver identification data",
"properties": {
"countryCode": {
"description": "[`Country list`](#appendix--enum--country)",
"type": "string",
"example": "GB",
"maxLength": 2,
"minLength": 2
},
"expirationDate": {
"description": "ISO 8601 format: `YYYY-MM-DD`",
"type": "string",
"example": "2029-02-02",
"maxLength": 10,
"minLength": 10
},
"number": {
"description": "Receiver's identification number",
"type": "string",
"example": "Nr.123456789",
"maxLength": 25,
"minLength": 1
},
"type": {
"description": "[`Identification type code`](#appendix--enum--identification-type-code)",
"type": "string",
"example": "12",
"maxLength": 2,
"minLength": 2
}
}
},
"P2pSender": {
"type": "object",
"description": "Object containing data of the P2P transaction sender, i.e. the person or institution initiating a P2P transaction",
"properties": {
"firstName": {
"description": "Sender's first name",
"type": "string",
"example": "Firstname",
"maxLength": 35,
"minLength": 1
},
"middleName": {
"description": "Sender's middle name initial",
"type": "string",
"example": "S",
"maxLength": 1,
"minLength": 1
},
"lastName": {
"description": "Sender's last name",
"type": "string",
"example": "Lastname",
"maxLength": 35,
"minLength": 1
},
"countryOfBirth": {
"description": "Country of birth. [`Country list`](#appendix--enum--country)",
"type": "string",
"example": "GB",
"maxLength": 2,
"minLength": 2
},
"dateOfBirth": {
"description": "ISO 8601 format: `YYYY-MM-DD`",
"type": "string",
"example": "2000-01-01",
"maxLength": 10,
"minLength": 10
},
"nationality": {
"description": "ISO 3166-1 numeric country code. [`Country list`](#appendix--enum--country)",
"type": "string",
"example": "GB",
"maxLength": 2,
"minLength": 2
},
"phone": {
"description": "Sender's phone number. Only numbers and, optionally, `+` symbol can be used",
"type": "string",
"example": "0123456789",
"maxLength": 20,
"minLength": 3
},
"location": {
"$ref": "#/components/schemas/P2pSenderLocation"
},
"identification": {
"$ref": "#/components/schemas/P2pSenderIdentification"
}
},
"required": [
"firstName",
"lastName"
]
},
"P2pSenderLocation": {
"type": "object",
"properties": {
"countryCode": {
"description": "[`Country list`](#appendix--enum--country)",
"type": "string",
"example": "GB",
"maxLength": 2,
"minLength": 2
},
"state": {
"description": "State or province of the customer’s billing address, as defined in ISO 3166-2, e.g. US Alabama: AL",
"type": "string",
"example": "AL",
"maxLength": 3,
"minLength": 1
},
"city": {
"description": "Sender's city name",
"type": "string",
"example": "City",
"maxLength": 85,
"minLength": 1
},
"address": {
"description": "Sender's street address",
"type": "string",
"example": "Address",
"maxLength": 50,
"minLength": 1
},
"zipCode": {
"description": "Sender's ZIP code",
"type": "string",
"example": "GU16 7HF",
"maxLength": 20,
"minLength": 1
}
},
"required": [
"countryCode",
"city",
"address",
"zipCode"
]
},
"P2pSenderIdentification": {
"type": "object",
"properties": {
"countryCode": {
"description": "[`Country list`](#appendix--enum--country)",
"type": "string",
"example": "GB",
"maxLength": 2,
"minLength": 2
},
"expirationDate": {
"description": "ISO 8601 format: YYYY-MM-DD",
"type": "string",
"example": "2029-02-02",
"maxLength": 10,
"minLength": 10
},
"number": {
"description": "Sender's identification number",
"type": "string",
"example": "Nr.123456789",
"maxLength": 25,
"minLength": 1
},
"type": {
"description": "[`Identification type code`](#appendix--enum--identification-type-code)",
"type": "string",
"example": "12",
"maxLength": 2,
"minLength": 2
}
}
},
"Cancel": {
"title": "cancel",
"properties": {
"transaction": {
"$ref": "#/components/schemas/CancelTransaction"
}
},
"type": "object"
},
"CancelTransaction": {
"type": "object",
"description": "Object containing data of the transaction to be canceled",
"properties": {
"id": {
"description": "Transaction ID",
"type": "string",
"example": "497709205608728597",
"maxLength": 16,
"minLength": 16
},
"amount": {
"description": "Number in minor units, e.g. cents. To charge €10, provide 1000 (as the EUR minor unit is cents). Meanwhile, for a ¥10 charge, provide 10 (as the JPY minor unit is the whole unit, i.e., it does not have cents).",
"type": "string",
"example": "123",
"maxLength": 13,
"minLength": 1
}
},
"required": [
"id",
"amount"
]
},
"CancelRecurring": {
"title": "cancel-recurring",
"properties": {
"transaction": {
"$ref": "#/components/schemas/CancelRecurringTransaction"
}
},
"type": "object"
},
"CancelRecurringTransaction": {
"type": "object",
"description": "Object containing data of the recurring transaction to be canceled",
"properties": {
"id": {
"description": "Transaction ID",
"type": "string",
"example": "497709205608728597",
"maxLength": 16,
"minLength": 16
}
},
"required": [
"id"
]
},
"Capture": {
"title": "capture",
"properties": {
"transaction": {
"$ref": "#/components/schemas/CaptureTransaction"
}
},
"type": "object"
},
"CaptureTransaction": {
"type": "object",
"description": "Object containing data of the transaction to be captured",
"properties": {
"id": {
"description": "Transaction ID",
"type": "string",
"example": "497709205608728597",
"maxLength": 16,
"minLength": 16
},
"amount": {
"description": "Number in minor units, e.g. cents. To charge €10, provide 1000 (as the EUR minor unit is cents). Meanwhile, for a ¥10 charge, provide 10 (as the JPY minor unit is the whole unit, i.e., it does not have cents).",
"type": "string",
"example": "123",
"maxLength": 13,
"minLength": 1
}
},
"required": [
"id",
"amount"
]
},
"IncrementalAuthorize": {
"title": "incremental-authorize",
"properties": {
"transaction": {
"$ref": "#/components/schemas/IncrementalAuthorizeTransaction"
}
},
"type": "object"
},
"IncrementalAuthorizeTransaction": {
"type": "object",
"description": "Object containing data of the Incremental authorize transaction",
"properties": {
"id": {
"description": "Transaction ID",
"type": "string",
"example": "497709205608728597",
"maxLength": 16,
"minLength": 16
},
"amount": {
"description": "Number in minor units, e.g. cents. To charge €10, provide 1000 (as the EUR minor unit is cents). Meanwhile, for a ¥10 charge, provide 10 (as the JPY minor unit is the whole unit, i.e., it does not have cents).",
"type": "string",
"example": "123",
"maxLength": 13,
"minLength": 1
}
},
"required": [
"id",
"amount"
]
},
"Refund": {
"title": "refund",
"properties": {
"transaction": {
"$ref": "#/components/schemas/RefundTransaction"
}
},
"type": "object"
},
"RefundTransaction": {
"type": "object",
"description": "Object containing data of the transaction to be refunded",
"properties": {
"id": {
"description": "Transaction ID",
"type": "string",
"example": "497709205608728597",
"maxLength": 16,
"minLength": 16
},
"amount": {
"description": "Number in minor units, e.g. cents. To charge €10, provide 1000 (as the EUR minor unit is cents). Meanwhile, for a ¥10 charge, provide 10 (as the JPY minor unit is the whole unit, i.e., it does not have cents).",
"type": "string",
"example": "123",
"maxLength": 13,
"minLength": 1
}
},
"required": [
"id",
"amount"
]
}
},
"securitySchemes": {
"accountId": {
"type": "apiKey",
"in": "header",
"name": "x-auth-account-id"
},
"accountPassword": {
"type": "apiKey",
"in": "header",
"name": "x-auth-account-password"
}
}
},
"security": [
{
"accountId": [],
"accountPassword": []
}
]
}