> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://ixopay.ferndocs.com/developer-hub/api-reference/transaction-api/transaction/process-register/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://ixopay.ferndocs.com/_mcp/server. # Process a register POST https://gateway.ixopay.com/api/v3/transaction/{apiKey}/register Content-Type: application/json Registers a customer's payment instrument for future use (Debit or Preauthorize). Reference: https://ixopay.ferndocs.com/developer-hub/api-reference/transaction-api/transaction/process-register ## Authentication - `Authorization` header (basic auth, required) — Basic authentication of the form `Basic `. ## Request ### Path parameters - `apiKey` (string, required) — API Key of Connector ### Body (application/json) This endpoint expects a Register. - `merchantTransactionId` (string, required) — Your own unique identifier for this registration. Must be unique per merchant. - `additionalId1` (string, optional) — Optional free-form identifier for your own reconciliation (e.g. order or invoice number). - `additionalId2` (string, optional) — A second optional free-form identifier for your own reconciliation. - `extraData` (map from string to string, optional) - `pspPassthroughData` (map from string to string, optional) - `merchantMetaData` (string, optional) — Opaque metadata echoed back unchanged in callbacks and the transaction status response. - `successUrl` (string, optional) — URL the customer's browser is redirected to after successfully registering their payment instrument. - `cancelUrl` (string, optional) — URL the customer's browser is redirected to if they cancel a redirect-based registration flow. - `errorUrl` (string, optional) — URL the customer's browser is redirected to if a redirect-based registration flow fails. - `callbackUrl` (string, optional) — Server-to-server URL IXOPAY calls with the final registration result; overrides the connector's configured default callback URL. - `transactionToken` (string, optional) — Token identifying a previously tokenized/stored payment instrument, instead of raw card data. - `description` (string, optional) — Free-text description of the registration, shown to the customer or PSP where supported. - `transactionIndicator` (enum, optional) — Classifies the transaction for card-scheme compliance (e.g. recurring, card-on-file, MOTO) — required by some acquirers/schemes for off-session charges. - Allowed values: `SINGLE`, `INITIAL`, `RECURRING`, `FIRST-CARDONFILE`, `CARDONFILE`, `CARDONFILE-MERCHANT-INITIATED`, `MOTO` - `customer` (Customer, optional) - `schedule` (Schedule, optional) - `customerProfileData` (CustomerProfileData, optional) - `threeDSecureData` (ThreeDSecureData, optional) - `payByLink` (PayByLink, optional) - `language` (string, optional) — Two-letter language code (ISO 639-1) used to localize the hosted payment page shown to the customer. - `l2l3Data` (L2L3Data, optional) - `referenceUuid` (string, optional) — UUID of a previous register transaction on the same merchant. Used by the register-with-expiry-update flow to point at the existing token whose expiry date should be patched. When set together with extraData.expiryMonthUpdate / expiryYearUpdate, the request becomes a card-data-less expiry refresh — no PAN/CVV is required. ## Response ### 200 Transaction response - `success` (boolean, optional) — Whether the transaction was processed successfully. - `uuid` (string, optional) — IXOPAY's unique identifier for this transaction. Use this to reference the transaction in later calls (e.g. capture, void, refund). - `purchaseId` (string, optional) — IXOPAY's human-readable purchase identifier for this transaction. - `returnType` (enum, optional) — How to continue the transaction — a final result (FINISHED/ERROR), or that further customer interaction is required (REDIRECT/HTML/PENDING/PENDING_DCC). - Allowed values: `FINISHED`, `REDIRECT`, `HTML`, `PENDING`, `ERROR`, `PENDING_DCC` - `redirectType` (enum, optional) — When returnType is REDIRECT, how the customer should be sent to redirectUrl (full-page redirect, iframe, or a 3-D Secure challenge). - Allowed values: `iframe`, `fullpage`, `3ds` - `redirectUrl` (string, optional) — URL to send the customer to when further interaction is required. - `redirectQRCode` (string, optional) — DataUrl - `htmlContent` (string, optional) — Raw HTML to render to the customer when returnType is HTML. - `paymentDescriptor` (string, optional) — Short descriptor shown on the customer's statement for this transaction, where supported by the acquirer. - `paymentMethod` (string, optional) — Payment method used for this transaction (e.g. Creditcard, PayPal). - `adapterMerchantTransactionId` (string, optional) — Adapter/PSP-side merchant transaction identifier recorded for transaction matching and reconciliation. Omitted when unavailable. - `returnData` (ReturnData, optional) - `scheduleData` (ScheduleData, optional) - `customerProfileData` (CustomerProfileData, optional) - `riskCheckData` (TransactionResponseRiskCheckData, optional) - `errors` (list of TransactionResponseErrorsItems, optional) - `adapterMessage` (string, optional) — Raw error message returned by the underlying PSP/adapter for this transaction, where available. - `adapterCode` (string, optional) — Raw error code returned by the underlying PSP/adapter for this transaction, where available. - `extraData` (map from string to string, optional) - `dccData` (TransactionResponseDccData, optional) ## Types ### Customer - `identification` (string, optional) — Your own identifier for this customer, used to link transactions/profiles to the same person. - `firstName` (string, optional) — Customer's first name. - `lastName` (string, optional) — Customer's last name. - `birthDate` (string, optional) - `gender` (enum, optional) — Customer's gender, where known. - Allowed values: `M`, `F` - `billingAddress1` (string, optional) — First line of the customer's billing address. - `billingAddress2` (string, optional) — Second line of the customer's billing address. - `billingCity` (string, optional) — City of the customer's billing address. - `billingPostcode` (string, optional) — Postal code of the customer's billing address. - `billingState` (string, optional) — State or region of the customer's billing address. - `billingCountry` (string, optional) - `billingPhone` (string, optional) — Customer's billing phone number. - `shippingFirstName` (string, optional) — First name on the shipping address. - `shippingLastName` (string, optional) — Last name on the shipping address. - `shippingCompany` (string, optional) — Company name on the shipping address, if shipping to a business. - `shippingAddress1` (string, optional) — First line of the shipping address. - `shippingAddress2` (string, optional) — Second line of the shipping address. - `shippingCity` (string, optional) — City of the shipping address. - `shippingPostcode` (string, optional) — Postal code of the shipping address. - `shippingState` (string, optional) — State or region of the shipping address. - `shippingCountry` (string, optional) - `shippingPhone` (string, optional) — Phone number on the shipping address. - `company` (string, optional) — Customer's company name, for business/B2B transactions. - `email` (string, optional) — Customer's email address. - `emailVerified` (boolean, optional) — Whether the merchant has already verified this customer's email address. - `ipAddress` (string, optional) — Customer's IP address at the time of the transaction, used for fraud/risk screening. - `nationalId` (string, optional) — Customer's national ID or tax identification number, where required by the acquirer or local regulation. - `extraData` (map from string to string, optional) - `paymentData` (PaymentData, optional) ### Schedule - `amount` (string, required) - `currency` (enum, required) — ISO 4217 three-letter currency code (e.g. EUR, USD, GBP). - Allowed values: `AED`, `AFN`, `ALL`, `AMD`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BRL`, `BSD`, `BTN`, `BWP`, `BYN`, `BZD`, `CAD`, `CDF`, `CHF`, `CLP`, `CNY`, `COP`, `CRC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRU`, `MUR`, `MVR`, `MWK`, `MXN`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLE`, `SOS`, `SRD`, `SSP`, `STN`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `UYU`, `UZS`, `VES`, `VND`, `VUV`, `WST`, `XAD`, `XAF`, `XCD`, `XCG`, `XOF`, `XPF`, `YER`, `ZAR`, `ZMW`, `ZWG` - `periodLength` (integer, required) - `periodUnit` (enum, required) - Allowed values: `DAY`, `WEEK`, `MONTH`, `YEAR` - `startDateTime` (string, optional) - `merchantMetaData` (string, optional) - `callbackUrl` (string, optional) ### CustomerProfileData - `profileGuid` (string, optional) - `customerIdentification` (string, optional) - `paymentToken` (string, optional) - `markAsPreferred` (boolean, optional) ### ThreeDSecureData - `3dsecure` (enum, optional) - Allowed values: `OFF`, `OPTIONAL`, `MANDATORY` - `schemeId` (enum, optional) - Allowed values: `CB`, `Eftpos` - `channel` (enum, optional) - Allowed values: `01`, `02`, `03` - `authenticationIndicator` (enum, optional) - Allowed values: `01`, `02`, `03`, `04`, `05`, `06` - `cardholderAuthenticationMethod` (enum, optional) - Allowed values: `01`, `02`, `03`, `04`, `05`, `06` - `cardholderAuthenticationDateTime` (string, optional) - `cardHolderAuthenticationData` (string, optional) - `challengeIndicator` (enum, optional) - Allowed values: `01`, `02`, `03`, `04`, `05`, `06`, `07`, `08`, `09` - `priorReference` (string, optional) - `priorAuthenticationMethod` (enum, optional) - Allowed values: `01`, `02`, `03`, `04` - `priorAuthenticationDateTime` (string, optional) - `priorAuthenticationData` (string, optional) - `cardholderAccountType` (enum, optional) - Allowed values: `01`, `02`, `03`, `04` - `cardholderAccountAgeIndicator` (enum, optional) - Allowed values: `01`, `02`, `03`, `04`, `05` - `cardholderAccountDate` (string, optional) - `cardholderAccountChangeIndicator` (enum, optional) - Allowed values: `01`, `02`, `03`, `04` - `cardholderAccountLastChange` (string, optional) - `cardholderAccountPasswordChangeIndicator` (enum, optional) - Allowed values: `01`, `02`, `03`, `04`, `05` - `cardholderAccountLastPasswordChange` (string, optional) - `shippingAddressUsageIndicator` (enum, optional) - Allowed values: `01`, `02`, `03`, `04` - `shippingAddressFirstUsage` (string, optional) - `transactionActivityDay` (double, optional) - `transactionActivityYear` (double, optional) - `addCardAttemptsDay` (double, optional) - `purchaseCountSixMonths` (double, optional) - `suspiciousAccountActivityIndicator` (enum, optional) - Allowed values: `01`, `02` - `shippingNameEqualIndicator` (enum, optional) - Allowed values: `01`, `02` - `paymentAccountAgeIndicator` (enum, optional) - Allowed values: `01`, `02`, `03`, `04`, `05` - `paymentAccountAgeDate` (string, optional) - `billingAddressLine3` (string, optional) - `shippingAddressLine3` (string, optional) - `billingShippingAddressMatch` (enum, optional) - Allowed values: `Y`, `N` - `homePhoneCountryPrefix` (string, optional) - `homePhoneNumber` (string, optional) - `mobilePhoneCountryPrefix` (string, optional) - `mobilePhoneNumber` (string, optional) - `workPhoneCountryPrefix` (string, optional) - `workPhoneNumber` (string, optional) - `purchaseInstalData` (double, optional) - `shipIndicator` (enum, optional) - Allowed values: `01`, `02`, `03`, `04`, `05`, `06`, `07` - `deliveryTimeframe` (enum, optional) - Allowed values: `01`, `02`, `03`, `04` - `deliveryEmailAddress` (string, optional) - `reorderItemsIndicator` (enum, optional) - Allowed values: `01`, `02` - `preOrderPurchaseIndicator` (enum, optional) - Allowed values: `01`, `02` - `preOrderDate` (string, optional) - `giftCardAmount` (double, optional) - `giftCardCurrency` (enum, optional) — ISO 4217 three-letter currency code (e.g. EUR, USD, GBP). - Allowed values: `AED`, `AFN`, `ALL`, `AMD`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BRL`, `BSD`, `BTN`, `BWP`, `BYN`, `BZD`, `CAD`, `CDF`, `CHF`, `CLP`, `CNY`, `COP`, `CRC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRU`, `MUR`, `MVR`, `MWK`, `MXN`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLE`, `SOS`, `SRD`, `SSP`, `STN`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `UYU`, `UZS`, `VES`, `VND`, `VUV`, `WST`, `XAD`, `XAF`, `XCD`, `XCG`, `XOF`, `XPF`, `YER`, `ZAR`, `ZMW`, `ZWG` - `giftCardCount` (double, optional) - `purchaseDate` (string, optional) - `recurringExpiry` (string, optional) - `recurringFrequency` (double, optional) - `transType` (enum, optional) - Allowed values: `01`, `03`, `10`, `11`, `28` - `exemptionIndicator` (enum, optional) - Allowed values: `01`, `02`, `03`, `04`, `05`, `06`, `07` - `threeRIIndicator` (enum, optional) - Allowed values: `01`, `02`, `03`, `04`, `05`, `06`, `07`, `08`, `09`, `10`, `11`, `12` - `browserChallengeWindowSize` (enum, optional) - Allowed values: `01`, `02`, `03`, `04`, `05` - `browserAcceptHeader` (string, optional) - `browserIpAddress` (string, optional) - `browserJavaEnabled` (boolean, optional) - `browserLanguage` (string, optional) - `browserColorDepth` (ThreeDSecureDataBrowserColorDepth, optional) - `browserScreenHeight` (ThreeDSecureDataBrowserScreenHeight, optional) - `browserScreenWidth` (ThreeDSecureDataBrowserScreenWidth, optional) - `browserTimezone` (ThreeDSecureDataBrowserTimezone, optional) - `browserUserAgent` (string, optional) - `browserPlatform` (string, optional) - `sdkInterface` (enum, optional) - Allowed values: `01`, `02`, `03` - `sdkUiType` (string, optional) - `sdkAppID` (string, optional) - `sdkEncData` (string, optional) - `sdkEphemPubKey` (string, optional) - `sdkMaxTimeout` (double, optional) - `sdkReferenceNumber` (string, optional) - `sdkTransID` (string, optional) ### PayByLink - `sendByEmail` (boolean, optional) - `expirationInMinute` (integer, optional) ### L2L3Data - `taxAmount` (string, optional) - `vatRegistrationNumber` (string, optional) - `nationalTaxIncluded` (string, optional) - `discountAmount` (string, optional) - `commodityCode` (string, optional) - `freightAmount` (string, optional) - `freightTaxAmount` (string, optional) - `dutyAmount` (string, optional) - `taxDetails` (list of TaxDetailsItems, optional) ### ReturnData ### ScheduleData - `scheduleId` (string, optional) - `scheduleStatus` (enum, optional) - Allowed values: `ACTIVE`, `PAUSED`, `CANCELLED`, `ERROR`, `CREATE-PENDING` - `scheduledAt` (string, optional) - `merchantMetaData` (string, optional) ### TransactionResponseRiskCheckData - `riskCheckResult` (enum, optional) — Outcome of any configured fraud/risk check. - Allowed values: `APPROVED`, `DECLINED`, `REVIEW` - `riskScore` (double, optional) — Numeric risk score returned by the risk-check provider, where available. - `threeDSecureRequired` (boolean, optional) — Whether 3-D Secure authentication is required to complete this transaction. ### TransactionResponseErrorsItems - `errorMessage` (string, optional) — Human-readable error description. - `errorCode` (integer, optional) — IXOPAY's internal error code. - `adapterMessage` (string, optional) — Raw error message returned by the underlying PSP/adapter, where available. - `adapterCode` (string, optional) — Raw error code returned by the underlying PSP/adapter, where available. ### TransactionResponseDccData - `uuid` (string, optional) — Identifier for the DCC offer applied to this transaction. - `originalAmount` (string, optional) — Original amount before Dynamic Currency Conversion. - `originalCurrency` (enum, optional) — Original currency before Dynamic Currency Conversion. - Allowed values: `AED`, `AFN`, `ALL`, `AMD`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BRL`, `BSD`, `BTN`, `BWP`, `BYN`, `BZD`, `CAD`, `CDF`, `CHF`, `CLP`, `CNY`, `COP`, `CRC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRU`, `MUR`, `MVR`, `MWK`, `MXN`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLE`, `SOS`, `SRD`, `SSP`, `STN`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `UYU`, `UZS`, `VES`, `VND`, `VUV`, `WST`, `XAD`, `XAF`, `XCD`, `XCG`, `XOF`, `XPF`, `YER`, `ZAR`, `ZMW`, `ZWG` - `convertedAmount` (string, optional) — Amount the customer was actually charged after Dynamic Currency Conversion. - `convertedCurrency` (enum, optional) — Currency the customer was actually charged in after Dynamic Currency Conversion. - Allowed values: `AED`, `AFN`, `ALL`, `AMD`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BRL`, `BSD`, `BTN`, `BWP`, `BYN`, `BZD`, `CAD`, `CDF`, `CHF`, `CLP`, `CNY`, `COP`, `CRC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRU`, `MUR`, `MVR`, `MWK`, `MXN`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLE`, `SOS`, `SRD`, `SSP`, `STN`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `UYU`, `UZS`, `VES`, `VND`, `VUV`, `WST`, `XAD`, `XAF`, `XCD`, `XCG`, `XOF`, `XPF`, `YER`, `ZAR`, `ZMW`, `ZWG` - `conversionRate` (double, optional) - `disclaimer` (string, optional) ### PaymentData ### ThreeDSecureDataBrowserColorDepth ### ThreeDSecureDataBrowserScreenHeight ### ThreeDSecureDataBrowserScreenWidth ### ThreeDSecureDataBrowserTimezone ### TaxDetailsItems - `type` (string, optional) - `amount` (string, optional) - `rate` (string, optional) - `code` (string, optional) - `taxId` (string, optional) - `applied` (string, optional) - `exemptionCode` (string, optional) ### ReturnCardData - `_TYPE` (string, optional) - `type` (string, optional) - `firstName` (string, optional) - `lastName` (string, optional) - `country` (string, optional) - `cardHolder` (string, optional) - `expiryMonth` (string, optional) - `expiryYear` (string, optional) - `binDigits` (string, optional) - `firstSixDigits` (string, optional) - `lastFourDigits` (string, optional) - `fingerprint` (string, optional) - `binBrand` (string, optional) - `binBank` (string, optional) - `binType` (string, optional) - `binLevel` (string, optional) - `binCountry` (string, optional) - `binSegment` (enum, optional) - Allowed values: `Consumer`, `Business`, `Commercial`, `Government`, `Unknown` - `binRawData` (ReturnCardDataBinRawData, optional) - `threeDSecure` (string, optional) - `eci` (string, optional) - `merchantAdviceCode` (string, optional) - `parsedMerchantAdviceCode` (string, optional) - `schemeTransactionIdentifier` (string, optional) - `schemeLifecycleIdentifier` (string, optional) - `referenceSchemeLifecycleIdentifier` (string, optional) - `cardUpdateStatus` (enum, optional) — Account updater transaction status - Allowed values: `updated`, `contact`, `new-expiry`, `closed` - `cardUpdatedAt` (date, optional) — Last run of the batch - `cardUpdatePausedUntil` (date, optional) — Updates paused until this date ### ReturnPhoneData - `_TYPE` (string, optional) - `phoneNumber` (string, optional) - `country` (string, optional) - `operator` (string, optional) ### ReturnIbanData - `_TYPE` (string, optional) - `accountOwner` (string, optional) - `iban` (string, optional) - `bic` (string, optional) - `mandateId` (string, optional) - `mandateDate` (string, optional) - `bankName` (string, optional) - `bankBranchName` (string, optional) - `country` (string, optional) ### ReturnWalletData - `_TYPE` (string, optional) - `walletReferenceId` (string, optional) - `walletOwner` (string, optional) - `walletType` (string, optional) ### IbanData - `ibanData` (IbanDataIbanData, optional) ### WalletData - `walletData` (WalletDataWalletData, optional) ### ReturnCardDataBinRawData - `type` (string, optional) - `data` (map from string to any, optional) ### IbanDataIbanData - `iban` (string, optional) - `bic` (string, optional) - `mandateId` (string, optional) - `mandateDate` (string, optional) ### WalletDataWalletData - `walletReferenceId` (string, optional) - `walletOwner` (string, optional) - `walletType` (string, optional) ## Examples ### finished **Response** ```json { "success": true, "uuid": "abcde12345abcde12345", "purchaseId": "20190927-abcde12345abcde12345", "returnType": "FINISHED", "paymentMethod": "Creditcard" } ``` **SDK Code** ```python finished import requests url = "https://gateway.ixopay.com/api/v3/transaction/apiKey/register" response = requests.post(url, auth=("", "")) print(response.json()) ``` ```javascript finished const url = 'https://gateway.ixopay.com/api/v3/transaction/apiKey/register'; const credentials = btoa(":"); const options = {method: 'POST', headers: {Authorization: `Basic ${credentials}`}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go finished package main import ( "fmt" "net/http" "io" ) func main() { url := "https://gateway.ixopay.com/api/v3/transaction/apiKey/register" req, _ := http.NewRequest("POST", url, nil) req.SetBasicAuth("", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby finished require 'uri' require 'net/http' url = URI("https://gateway.ixopay.com/api/v3/transaction/apiKey/register") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request.basic_auth("", "") response = http.request(request) puts response.read_body ``` ```java finished import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://gateway.ixopay.com/api/v3/transaction/apiKey/register") .basicAuth("", "") .asString(); ``` ```php finished request('POST', 'https://gateway.ixopay.com/api/v3/transaction/apiKey/register', [ 'headers' => [ ], 'auth' => ['', ''], ]); echo $response->getBody(); ``` ```csharp finished using RestSharp; using RestSharp.Authenticators; var client = new RestClient("https://gateway.ixopay.com/api/v3/transaction/apiKey/register"); client.Authenticator = new HttpBasicAuthenticator("", ""); var request = new RestRequest(Method.POST); IRestResponse response = client.Execute(request); ``` ```swift finished import Foundation let credentials = Data(":".utf8).base64EncodedString() let headers = ["Authorization": "Basic \(credentials)"] let request = NSMutableURLRequest(url: NSURL(string: "https://gateway.ixopay.com/api/v3/transaction/apiKey/register")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ### redirect **Response** ```json { "success": true, "uuid": "abcde12345abcde12345", "purchaseId": "20190927-abcde12345abcde12345", "returnType": "REDIRECT", "redirectUrl": "http://redirectComesUrlHere.com", "redirectQRCode": "data:image/png;base64,ABCDEFGHIJKLMNOPQRSTUVWXYZ", "paymentMethod": "Creditcard" } ``` **SDK Code** ```python redirect import requests url = "https://gateway.ixopay.com/api/v3/transaction/apiKey/register" response = requests.post(url, auth=("", "")) print(response.json()) ``` ```javascript redirect const url = 'https://gateway.ixopay.com/api/v3/transaction/apiKey/register'; const credentials = btoa(":"); const options = {method: 'POST', headers: {Authorization: `Basic ${credentials}`}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go redirect package main import ( "fmt" "net/http" "io" ) func main() { url := "https://gateway.ixopay.com/api/v3/transaction/apiKey/register" req, _ := http.NewRequest("POST", url, nil) req.SetBasicAuth("", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby redirect require 'uri' require 'net/http' url = URI("https://gateway.ixopay.com/api/v3/transaction/apiKey/register") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request.basic_auth("", "") response = http.request(request) puts response.read_body ``` ```java redirect import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://gateway.ixopay.com/api/v3/transaction/apiKey/register") .basicAuth("", "") .asString(); ``` ```php redirect request('POST', 'https://gateway.ixopay.com/api/v3/transaction/apiKey/register', [ 'headers' => [ ], 'auth' => ['', ''], ]); echo $response->getBody(); ``` ```csharp redirect using RestSharp; using RestSharp.Authenticators; var client = new RestClient("https://gateway.ixopay.com/api/v3/transaction/apiKey/register"); client.Authenticator = new HttpBasicAuthenticator("", ""); var request = new RestRequest(Method.POST); IRestResponse response = client.Execute(request); ``` ```swift redirect import Foundation let credentials = Data(":".utf8).base64EncodedString() let headers = ["Authorization": "Basic \(credentials)"] let request = NSMutableURLRequest(url: NSURL(string: "https://gateway.ixopay.com/api/v3/transaction/apiKey/register")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ### processing error **Response** ```json { "success": false, "uuid": "abcde12345abcde12345", "purchaseId": "20200924-abcde12345abcde12345", "returnType": "ERROR", "paymentMethod": "Dummy", "errors": [ { "errorMessage": "Dummy error", "errorCode": 1003, "adapterMessage": "Dummy adapter error" } ] } ``` **SDK Code** ```python processing error import requests url = "https://gateway.ixopay.com/api/v3/transaction/apiKey/register" response = requests.post(url, auth=("", "")) print(response.json()) ``` ```javascript processing error const url = 'https://gateway.ixopay.com/api/v3/transaction/apiKey/register'; const credentials = btoa(":"); const options = {method: 'POST', headers: {Authorization: `Basic ${credentials}`}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go processing error package main import ( "fmt" "net/http" "io" ) func main() { url := "https://gateway.ixopay.com/api/v3/transaction/apiKey/register" req, _ := http.NewRequest("POST", url, nil) req.SetBasicAuth("", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby processing error require 'uri' require 'net/http' url = URI("https://gateway.ixopay.com/api/v3/transaction/apiKey/register") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request.basic_auth("", "") response = http.request(request) puts response.read_body ``` ```java processing error import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://gateway.ixopay.com/api/v3/transaction/apiKey/register") .basicAuth("", "") .asString(); ``` ```php processing error request('POST', 'https://gateway.ixopay.com/api/v3/transaction/apiKey/register', [ 'headers' => [ ], 'auth' => ['', ''], ]); echo $response->getBody(); ``` ```csharp processing error using RestSharp; using RestSharp.Authenticators; var client = new RestClient("https://gateway.ixopay.com/api/v3/transaction/apiKey/register"); client.Authenticator = new HttpBasicAuthenticator("", ""); var request = new RestRequest(Method.POST); IRestResponse response = client.Execute(request); ``` ```swift processing error import Foundation let credentials = Data(":".utf8).base64EncodedString() let headers = ["Authorization": "Basic \(credentials)"] let request = NSMutableURLRequest(url: NSURL(string: "https://gateway.ixopay.com/api/v3/transaction/apiKey/register")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ### general error, e.g. duplicate **Response** ```json { "success": false } ``` **SDK Code** ```python general error, e.g. duplicate import requests url = "https://gateway.ixopay.com/api/v3/transaction/apiKey/register" response = requests.post(url, auth=("", "")) print(response.json()) ``` ```javascript general error, e.g. duplicate const url = 'https://gateway.ixopay.com/api/v3/transaction/apiKey/register'; const credentials = btoa(":"); const options = {method: 'POST', headers: {Authorization: `Basic ${credentials}`}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go general error, e.g. duplicate package main import ( "fmt" "net/http" "io" ) func main() { url := "https://gateway.ixopay.com/api/v3/transaction/apiKey/register" req, _ := http.NewRequest("POST", url, nil) req.SetBasicAuth("", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby general error, e.g. duplicate require 'uri' require 'net/http' url = URI("https://gateway.ixopay.com/api/v3/transaction/apiKey/register") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request.basic_auth("", "") response = http.request(request) puts response.read_body ``` ```java general error, e.g. duplicate import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://gateway.ixopay.com/api/v3/transaction/apiKey/register") .basicAuth("", "") .asString(); ``` ```php general error, e.g. duplicate request('POST', 'https://gateway.ixopay.com/api/v3/transaction/apiKey/register', [ 'headers' => [ ], 'auth' => ['', ''], ]); echo $response->getBody(); ``` ```csharp general error, e.g. duplicate using RestSharp; using RestSharp.Authenticators; var client = new RestClient("https://gateway.ixopay.com/api/v3/transaction/apiKey/register"); client.Authenticator = new HttpBasicAuthenticator("", ""); var request = new RestRequest(Method.POST); IRestResponse response = client.Execute(request); ``` ```swift general error, e.g. duplicate import Foundation let credentials = Data(":".utf8).base64EncodedString() let headers = ["Authorization": "Basic \(credentials)"] let request = NSMutableURLRequest(url: NSURL(string: "https://gateway.ixopay.com/api/v3/transaction/apiKey/register")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ### general error, e.g. validation **Response** ```json { "success": false } ``` **SDK Code** ```python general error, e.g. validation import requests url = "https://gateway.ixopay.com/api/v3/transaction/apiKey/register" response = requests.post(url, auth=("", "")) print(response.json()) ``` ```javascript general error, e.g. validation const url = 'https://gateway.ixopay.com/api/v3/transaction/apiKey/register'; const credentials = btoa(":"); const options = {method: 'POST', headers: {Authorization: `Basic ${credentials}`}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go general error, e.g. validation package main import ( "fmt" "net/http" "io" ) func main() { url := "https://gateway.ixopay.com/api/v3/transaction/apiKey/register" req, _ := http.NewRequest("POST", url, nil) req.SetBasicAuth("", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby general error, e.g. validation require 'uri' require 'net/http' url = URI("https://gateway.ixopay.com/api/v3/transaction/apiKey/register") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request.basic_auth("", "") response = http.request(request) puts response.read_body ``` ```java general error, e.g. validation import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://gateway.ixopay.com/api/v3/transaction/apiKey/register") .basicAuth("", "") .asString(); ``` ```php general error, e.g. validation request('POST', 'https://gateway.ixopay.com/api/v3/transaction/apiKey/register', [ 'headers' => [ ], 'auth' => ['', ''], ]); echo $response->getBody(); ``` ```csharp general error, e.g. validation using RestSharp; using RestSharp.Authenticators; var client = new RestClient("https://gateway.ixopay.com/api/v3/transaction/apiKey/register"); client.Authenticator = new HttpBasicAuthenticator("", ""); var request = new RestRequest(Method.POST); IRestResponse response = client.Execute(request); ``` ```swift general error, e.g. validation import Foundation let credentials = Data(":".utf8).base64EncodedString() let headers = ["Authorization": "Basic \(credentials)"] let request = NSMutableURLRequest(url: NSURL(string: "https://gateway.ixopay.com/api/v3/transaction/apiKey/register")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ### transaction_processRegister_example **Request** ```json { "merchantTransactionId": "2019-09-02-0005", "merchantMetaData": "merchantRelevantData", "successUrl": "http://example.com/success", "cancelUrl": "http://example.com/cancel", "errorUrl": "http://example.com/error", "callbackUrl": "http://example.com/callback", "description": "This is a register", "customer": { "identification": "1234", "firstName": "John", "lastName": "Doe", "paymentData": { "ibanData": { "bic": "ABC", "iban": "AT11111111111111111111" } } }, "language": "en" } ``` **Response** ```json { "success": true, "uuid": "abcde12345abcde12345", "purchaseId": "20190927-abcde12345abcde12345", "returnType": "FINISHED", "paymentMethod": "Creditcard" } ``` **SDK Code** ```python transaction_processRegister_example import requests url = "https://gateway.ixopay.com/api/v3/transaction/apiKey/register" payload = { "merchantTransactionId": "2019-09-02-0005", "merchantMetaData": "merchantRelevantData", "successUrl": "http://example.com/success", "cancelUrl": "http://example.com/cancel", "errorUrl": "http://example.com/error", "callbackUrl": "http://example.com/callback", "description": "This is a register", "customer": { "identification": "1234", "firstName": "John", "lastName": "Doe", "paymentData": { "ibanData": { "bic": "ABC", "iban": "AT11111111111111111111" } } }, "language": "en" } headers = { "Content-Type": "application/json" } response = requests.post(url, json=payload, headers=headers, auth=("", "")) print(response.json()) ``` ```javascript transaction_processRegister_example const url = 'https://gateway.ixopay.com/api/v3/transaction/apiKey/register'; const credentials = btoa(":"); const options = { method: 'POST', headers: { Authorization: `Basic ${credentials}`, 'Content-Type': 'application/json' }, body: '{"merchantTransactionId":"2019-09-02-0005","merchantMetaData":"merchantRelevantData","successUrl":"http://example.com/success","cancelUrl":"http://example.com/cancel","errorUrl":"http://example.com/error","callbackUrl":"http://example.com/callback","description":"This is a register","customer":{"identification":"1234","firstName":"John","lastName":"Doe","paymentData":{"ibanData":{"bic":"ABC","iban":"AT11111111111111111111"}}},"language":"en"}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go transaction_processRegister_example package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://gateway.ixopay.com/api/v3/transaction/apiKey/register" payload := strings.NewReader("{\n \"merchantTransactionId\": \"2019-09-02-0005\",\n \"merchantMetaData\": \"merchantRelevantData\",\n \"successUrl\": \"http://example.com/success\",\n \"cancelUrl\": \"http://example.com/cancel\",\n \"errorUrl\": \"http://example.com/error\",\n \"callbackUrl\": \"http://example.com/callback\",\n \"description\": \"This is a register\",\n \"customer\": {\n \"identification\": \"1234\",\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"paymentData\": {\n \"ibanData\": {\n \"bic\": \"ABC\",\n \"iban\": \"AT11111111111111111111\"\n }\n }\n },\n \"language\": \"en\"\n}") req, _ := http.NewRequest("POST", url, payload) req.SetBasicAuth("", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby transaction_processRegister_example require 'uri' require 'net/http' url = URI("https://gateway.ixopay.com/api/v3/transaction/apiKey/register") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request.basic_auth("", "") request["Content-Type"] = 'application/json' request.body = "{\n \"merchantTransactionId\": \"2019-09-02-0005\",\n \"merchantMetaData\": \"merchantRelevantData\",\n \"successUrl\": \"http://example.com/success\",\n \"cancelUrl\": \"http://example.com/cancel\",\n \"errorUrl\": \"http://example.com/error\",\n \"callbackUrl\": \"http://example.com/callback\",\n \"description\": \"This is a register\",\n \"customer\": {\n \"identification\": \"1234\",\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"paymentData\": {\n \"ibanData\": {\n \"bic\": \"ABC\",\n \"iban\": \"AT11111111111111111111\"\n }\n }\n },\n \"language\": \"en\"\n}" response = http.request(request) puts response.read_body ``` ```java transaction_processRegister_example import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://gateway.ixopay.com/api/v3/transaction/apiKey/register") .basicAuth("", "") .header("Content-Type", "application/json") .body("{\n \"merchantTransactionId\": \"2019-09-02-0005\",\n \"merchantMetaData\": \"merchantRelevantData\",\n \"successUrl\": \"http://example.com/success\",\n \"cancelUrl\": \"http://example.com/cancel\",\n \"errorUrl\": \"http://example.com/error\",\n \"callbackUrl\": \"http://example.com/callback\",\n \"description\": \"This is a register\",\n \"customer\": {\n \"identification\": \"1234\",\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"paymentData\": {\n \"ibanData\": {\n \"bic\": \"ABC\",\n \"iban\": \"AT11111111111111111111\"\n }\n }\n },\n \"language\": \"en\"\n}") .asString(); ``` ```php transaction_processRegister_example request('POST', 'https://gateway.ixopay.com/api/v3/transaction/apiKey/register', [ 'body' => '{ "merchantTransactionId": "2019-09-02-0005", "merchantMetaData": "merchantRelevantData", "successUrl": "http://example.com/success", "cancelUrl": "http://example.com/cancel", "errorUrl": "http://example.com/error", "callbackUrl": "http://example.com/callback", "description": "This is a register", "customer": { "identification": "1234", "firstName": "John", "lastName": "Doe", "paymentData": { "ibanData": { "bic": "ABC", "iban": "AT11111111111111111111" } } }, "language": "en" }', 'headers' => [ 'Content-Type' => 'application/json', ], 'auth' => ['', ''], ]); echo $response->getBody(); ``` ```csharp transaction_processRegister_example using RestSharp; using RestSharp.Authenticators; var client = new RestClient("https://gateway.ixopay.com/api/v3/transaction/apiKey/register"); client.Authenticator = new HttpBasicAuthenticator("", ""); var request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{\n \"merchantTransactionId\": \"2019-09-02-0005\",\n \"merchantMetaData\": \"merchantRelevantData\",\n \"successUrl\": \"http://example.com/success\",\n \"cancelUrl\": \"http://example.com/cancel\",\n \"errorUrl\": \"http://example.com/error\",\n \"callbackUrl\": \"http://example.com/callback\",\n \"description\": \"This is a register\",\n \"customer\": {\n \"identification\": \"1234\",\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"paymentData\": {\n \"ibanData\": {\n \"bic\": \"ABC\",\n \"iban\": \"AT11111111111111111111\"\n }\n }\n },\n \"language\": \"en\"\n}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```swift transaction_processRegister_example import Foundation let credentials = Data(":".utf8).base64EncodedString() let headers = [ "Authorization": "Basic \(credentials)", "Content-Type": "application/json" ] let parameters = [ "merchantTransactionId": "2019-09-02-0005", "merchantMetaData": "merchantRelevantData", "successUrl": "http://example.com/success", "cancelUrl": "http://example.com/cancel", "errorUrl": "http://example.com/error", "callbackUrl": "http://example.com/callback", "description": "This is a register", "customer": [ "identification": "1234", "firstName": "John", "lastName": "Doe", "paymentData": ["ibanData": [ "bic": "ABC", "iban": "AT11111111111111111111" ]] ], "language": "en" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://gateway.ixopay.com/api/v3/transaction/apiKey/register")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```