> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://ixopay.ferndocs.com/developer-hub/documentation/adapters/checkout-com/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://ixopay.ferndocs.com/_mcp/server. # CheckoutCom This page provides an overview of the payments methods provided by the CheckoutCom adapter in the IXOPAY platform. It also includes a full list of all configuration options available to you when integrating CheckoutCom within your payments landscape, as well as an overview of the parameters required when submitting a transaction via IXOPAY's API. ## Payment Methods | Payment Method | Transaction Flows | Transaction Types | | -------------- | ------------------------------------ | ---------------------------------------------------------------- | | Creditcard | iFrame Form & payment.js Integration | Debit, Register, Preauthorize, Capture, Void, Refund, Deregister | | iDeal | Full-Page Redirect | Debit, Refund | | Bizum | Server-To-Server | Debit, Refund | ## iDeal ### Additional Parameters **Debit** | Field | Required | | ----------------------------- | -------- | | description | **true** | | billingCity | false | | ipAddress | false | | language (customer.extraData) | false | ## Bizum ### Additional Parameters **Debit** | Field | Type | Required | Info | | ------------------------------ | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | customer.extraData.countryCode | string | **true** | The international country calling code. [Checkout.com API field](https://api-reference.checkout.com/#operation/requestAPaymentOrPayout!path=0/customer/phone/country_code\&t=request) `customer.phone.country_code` | | customer.extraData.phoneNumber | string | **true** | The phone number. [Checkout.com API field](https://api-reference.checkout.com/#operation/requestAPaymentOrPayout!path=0/customer/phone/number\&t=request) `customer.phone.number` | ## Credit card ### Platform 1 - Payout Parameters | Field | Type | Required | | ------------------ | ------ | -------- | | customer.firstName | string | **true** | | customer.lastName | string | **true** | On behalf of another person or business: | Field | Type | | ----------------------------- | ------ | | extraData.senderReference | string | | extraData.senderAccountNumber | string | | extraData.senderFirstName | string | | extraData.senderLastName | string | | extraData.senderAddressLine1 | string | | extraData.senderCity | string | | extraData.senderState | string | | extraData.senderZip | string | | extraData.senderCountry | string | | extraData.senderSourceOfFunds | string | ### Platform 2 - Payout Parameters **Destination** | Field | Type | Required | Info | | ------------------------------------- | ------ | ----------- | -------------------------------------------------------------------------------------------------------------- | | extraData.accountHolderType | string | false | Defaults to `individual` | | customer.firstName | string | **true** | | | customer.lastName | string | **true** | | | customer.billingAddress1 | string | conditional | | | customer.billingAddress2 | string | false | | | customer.billingCity | string | conditional | | | customer.billingState | string | conditional | | | customer.billingPostcode | string | conditional | | | customer.billingCountry | string | conditional | | | extraData.accountHolderCountryCode | string | **true** | International country calling code | | customer.billingPhone | string | **true** | | | extraData.accountHolderIdType | string | **true** | account holder identification type: `passport` `driving_license` `national_id` `company_registration` `tax_id` | | customer.nationalId | string | **true** | account holder identification number | | extraData.accountHolderIdCountry | string | false | account holder identification issuing country (two-letter ISO country code) | | extraData.accountHolderIdExpiry | string | false | account holder identification expiry | | customer.email | string | false | | | customer.birthDate | string | false | | | extraData.accountHolderCountryOfBirth | string | false | two-letter ISO country code | **Sender** | Field | Type | Required | Info | | -------------------------------- | ------ | ----------- | ----------------------------------------------------------------------------------------- | | extraData.senderType | string | false | Defaults to `individual` | | extraData.senderFirstName | string | **true** | | | extraData.senderLastName | string | **true** | | | extraData.senderAddressLine1 | string | **true** | | | extraData.senderAddressLine2 | string | false | | | extraData.senderCity | string | **true** | | | extraData.senderState | string | false | | | extraData.senderZip | string | false | | | extraData.senderCountry | string | **true** | two-letter ISO country code | | extraData.senderReference | string | **true** | | | extraData.senderSourceOfFunds | string | **true** | May be one of: `credit` `debit` `prepaid` `deposit_account` `mobile_money_account` `cash` | | extraData.senderIdType | string | conditional | sender identification type | | extraData.senderIdNumber | string | conditional | sender identification number | | extraData.senderIdIssuingCountry | string | false | sender identification issuing country | | extraData.senderIdDateOfExpiry | string | false | sender identification expiry | | extraData.senderDateOfBirth | string | false | | | extraData.senderCountryOfBirth | string | false | | | extraData.senderNationality | string | false | | **Misc** | Field | Type | Required | Info | | --------------------------- | ------ | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | extraData.fundsTransferType | string | false | May be one of `AA` `PP` `FD` `FT` `LO` `OG` `C04` `C07` `C52` `C55` | | extraData.purpose | string | conditional | May be one of `family_support` `expatriation` `travel_and_tourism` `education` `medical_treatment` `emergency_need` `leisure` `savings` `gifts` `donations` `financial_services` `it_services` `investment` `insurance` `loan_payment` `pension` `royalties` `other` `income` | | extraData.digitalGoods:type | string | conditional | May be one of `cryptocurrency` `cbdc` `stablecoin` `blockchain` `NFT` | ### Account Funding Transfer Parameters | Field | Type | Description | | ----------------------------------- | ------ | ------------------------------------------------ | | extraData.recipientAccountReference | string | Recipient's account reference (\<=34 characters) | | extraData.recipientAddress1 | string | Recipient's address1 | | extraData.recipientAddress2 | string | Recipient's address2 | | extraData.recipientCity | string | Recipient's city | | extraData.recipientCountry | string | Recipient's country | | extraData.recipientState | string | Recipient's state | | extraData.recipientZip | string | Recipient's zip | | extraData.recipientFirstName | string | Recipient's first name | | extraData.recipientLastName | string | Recipient's last name | | extraData.recipientDateOfBirth | string | Recipient's date of birth | | extraData.senderDateOfBirth | string | Sender's date of birth | | customer.billingAddress1 | string | Sender's address 1 | | customer.billingAddress2 | string | Sender's address 2 | | customer.billingCity | string | Sender's city | | customer.billingCountry | string | Sender's country | | customer.billingState | string | Sender's state | | customer.billingPostcode | string | Sender's zip | | customer.firstName | string | Sender's first name | | customer.lastName | string | Sender's last name | | customer.identification | string | Sender reference | ### Level 2 & 3 Data > **Note** > > Supported on Platform 2 only **maximum of 50 item objects are allowed to be sent in a Level 3 Visa or Mastercard request** **American Express only supports Level 2 data** **maximum of 4 item objects are allowed to be sent in an American Express request** | Field | Type | Description | | ------------------------------- | ------ | ------------------------------------------------------------------------------- | | l2l3Data.vatRegistrationNumber | string | The customer's value-added tax (VAT) | | l2l3Data.taxAmount | float | The total amount of sales tax on the total purchase amount | | l2l3Data.discountAmount | float | The discount amount applied to the transaction by the merchant | | l2l3Data.dutyAmount | float | The total charges for any import or export duty included in the transaction | | l2l3Data.freightAmount | float | The total charges for freight, shipping or handling included in the transaction | | l2l3Data.freightTaxAmount | float | The total amount of tax for the freight, shipping or handling charges | | items\[].l2l3Data.commodityCode | string | The code identifying a commodity for value-added tax (VAT) purposes | | items\[].l2l3Data.discount | float | The discount applied to each invoice line item | | items\[].l2l3Data.taxAmount | float | The total amount of sales tax or value-added tax (VAT) for the line item | | items\[].l2l3Data.unit | string | The unit of measure code used for the item in the transaction | | items\[].l2l3Data.unitPrice | float | The unit cost of the item purchased | | items\[].name | string | The description of the item purchased | | items\[].quantity | int | The number of units purchased | | item\[].identification | string | The merchant product identifier | | items\[].price | float | The total amount for the line item | | customer.shippingCountry | string | The 2-letter destination country code | | customer.shippingPostcode | string | The destination postal or zip code | | extraData.senderZipCode | string | The origin postal or zip code mapped to from\_address\_zip | | extraData.orderId | string | The invoice number mapped to order\_id | ### Ramp provider affiliate Parameters | Field | Type | Description | | ------------------------- | ------ | --------------------------------------------------------------------------------------------------------------- | | extraData.affiliateId | string | Your unique identifier for the affiliate (\<= 15 characters) | | extraData.affiliateUrl | string | Affiliate Url | | extraData.purchaseCountry | string | Required to inform Visa of the affiliate’s country (either the same as, or different to the merchant’s country) | ### Risk / Device Session Parameters Forwards the device fingerprint collected by the Checkout.com Risk SDK to the payment request. Only sent when the parameter is present. | Field | Type | Required | Description | | ----------------------------- | ------ | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | extraData.device\_session\_id | string | false | Device session id generated by the Checkout.com Risk SDK, mapped to the Checkout.com API field `risk.device_session_id`. Used for Debit, Preauthorize and Register transactions. | ### Account Name Inquiry (ANI) Enable the accountNameInquiryEnabled connector setting to have Checkout.com verify the cardholder name during a card verification (Register) transaction. ### Result Extra Data | Parameter | Value | | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | avs\_result | Mapped from the field `avs_check`. For possible values see [Checkout.com API reference](https://api-reference.checkout.com/) | | cvv\_result | Mapped from the field `cvv_check`. For possible values see [Checkout.com API reference](https://api-reference.checkout.com/) | | account\_name\_inquiry | Mapped from the field account\_holder.account\_name\_inquiry. Only returned for Register (card verification) transactions when Account Name Inquiry is enabled on the connector. For possible values see [Checkout.com ANI codes](https://www.checkout.com/docs/developer-resources/codes/ani-codes). | ### Merchant Advice Code Mapping The merchant advice code is retrieved in following order from: * `processing.partner_merchant_advice_code` * `processing.recommendation_code` * `recommendation_code` The merchant advice code is only parsed for `processing.partner_merchant_advice_code`: | CheckoutCom Merchant Advice Code | CheckoutCom Description | Parsed Code `returnData.parsedMerchantAdviceCode` | Parsed Code Description | | -------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------- | ------------------------------ | | 01 | New Account Information available | 01 | Additional information needed. | | 04 | Token requirements not fulfilled for this token type | 01 | Additional information needed. | | 02 | Try again later | 02 | Try again later. | | 24 | Retry after 1 hour | 02 | Try again later. | | 25 | Retry after 24 hours | 02 | Try again later. | | 26 | Retry after 2 days | 02 | Try again later. | | 27 | Retry after 4 days | 02 | Try again later. | | 28 | Retry after 6 days | 02 | Try again later. | | 29 | Retry after 8 days | 02 | Try again later. | | 30 | Retry after 10 days | 02 | Try again later. | | 31 | Retry later (max 15 attempts in 30 day period) | 02 | Try again later. | | 03 | Do not try again | 03 | Do not try again. | | 21 | Recurring Payment Cancellation Service (the new fee applies with this one) | 03 | Do not try again. | | 22 | Merchant does not qualify for product code | 03 | Do not try again. |