You don't need to send additional fields for cards. To see optional fields that you can send for all payment methods, choose the endpoint you integrated:
Set to true to collect the shopper's billing address and mark the fields as required.
false
billingAddress.mode
Sets which billing address fields to show in the payment form. Possible values: - full: show all billing address fields. - none: don't show billing address fields. - postalCode: show only the postal code field.
none
billingAddress.countryCodes
Array of allowed country codes for the billing address. For example, ['US', 'CA', 'BR'].
nil: all country codes are supported.
koreanAuthenticationMode
For Korean cards, sets if security fields show in the payment form. Possible values: - show: show the fields. - hide: don't show the fields. - auto: the field appears for cards issued in South Korea.
auto
socialSecurityNumberMode
For Brazilian cards, sets if the CPF/CNPJ social security number field shows in the payment form. Possible values: - show: show the field. - hide: don't show the field. - auto: the field appears based on the detected card number.
auto
If your integration uses iOS Drop-in v4.10.3 or earlier, you can optionally include the following when you configure the Drop-in:
Parameter name
Description
Default
showsHolderNameField
Set to true to show the field for the cardholder name.
false
showsSecurityCodeField
Set to false to hide the security code (CVV/CVC) field.
Set to true to collect the shopper's billing address and mark the fields as required.
false
billingAddress.mode
Sets which billing address fields to show in the payment form. Possible values: - full: show all billing address fields. - none: don't show billing address fields. - postalCode: show only the postal code field.
none
billingAddress.countryCodes
Array of allowed country codes for the billing address. For example, ['US', 'CA', 'BR'].
nil: all country codes are supported.
koreanAuthenticationMode
For Korean cards, sets if security fields show in the payment form. Possible values: - show: show the fields. - hide: don't show the fields. - auto: the field appears for cards issued in South Korea.
auto
socialSecurityNumberMode
For Brazilian cards, sets if the CPF/CNPJ social security number field shows in the payment form. Possible values: - show: show the field. - hide: don't show the field. - auto: the field appears based on the detected card number.
auto
Showing debit and credit cards separately
Drop-in can show separate payment forms for debit cards and credit cards. Here are example use cases for this feature:
In Brazil, Mexico, and Finland, many shoppers use combo cards that can make both debit or credit transactions. Separate forms for Debit Card and Credit Card lets the shopper choose the type of transaction.
To accept card payments in Sweden, local legislation requires you to show the debit card payment options before the credit card ones.
When you make a /sessions request from your server, include:
For debit transactions, we highly recommend using 3D Secure and Automatic Capture due to some issuers' restrictions.
Sweden
To comply with local legislation, set countryCode to SE in your request. Drop-in shows the payment form for Debit Card before the one for Credit Card.
Card brand recognition
When the shopper is entering their card details, Drop-in tries to recognize the card brand. When successful, Drop-in renders the brand icon and the corresponding input field for the card security code (CVC, CVV, or CID).
Co-branded cards
Co-branded cards issued in Europe are rendered by Drop-in according to the European regulatory guidelines (EU IFR Regulation 2015/751 article 8). This means that Drop-in renders all supported brands, and allows the cardholder to choose their preferred brand.
Stored card payments
Adyen's tokenization service allows you to securely store shopper's card details for payments. You first need to create a token.
Supported from Drop-in v5.0.0 and later.
Creating a token
Include the storedPaymentMethodMode parameter in your /sessions request. Possible values:
Value
Description
disabled (default)
Don't store payment details.
askForConsent
If shopperReference is included in the request, display a checkbox in the payment form that the shopper can select to store their payment details.
enabled
If shopperReference is included in the request, store the shopper's payment details without asking them.
If you or the shopper chooses to store payment details, your instance of AdyenSession creates a token when the shopper pays.
Making a payment with a token
When the shopper pays, your instance of AdyenSession includes the shopper's stored card details. You can also use tokens to make shopper-not-present payments for subscriptions or contracts.
This is the default for Drop-in v4.10.0 and earlier.
Create a token
When a shopper chooses to pay with card, Drop-in renders a switch for saving the card details for future payments.
If the shopper chooses to save their card details when making a payment, the didSubmit method from Drop-in will include a data.storePaymentMethod. Pass this to your server.
To create a token, include in your /payments request:
storePaymentMethod: The data.storePaymentMethod from your your client app.
If you want to accept credit card installments, include in the /sessions request, include the installmentOptions object which includes the following fields:
Field
Required
Description
values
An array of the number of installments that the shopper can choose.
preselectedValue
The preselected number of installments in the payment form.
plans
An array that shows the types of installment plans that the shopper can choose. Possible values: regular and revolving. If not included, the default is regular.
If you want to accept credit card installments, initialize installment options and installment configuration:
monthValues: an array of unsigned integers for the number of installments offered. Must not be empty and must include integers greater than 1. For example, if you offer three, six, or nine installments, include [3, 6, 9].
maxInstallmentMonth: an unsigned integer for the maximum number of installments offered. The result is the option from 2 to the number you specify. The integer must be greater than 1. For example, if you include 4, the shopper can choose 1, 2, 3, or 4 installments.
Card-based options: offered based on card types. Create an installment configuration, providing the card-based options:
Card-based installment options
//Specify CardType. For example, for Visa, use [visa: installmentOptions].
let installmentConfiguration.init(cardBasedOptions: [CardType: installmentOptions])
installmentOptions: installmentConfiguration
Before you can start accepting card payments in the live environment, you need to assess your PCI DSS compliance and submit the required Self-Assessment Questionnaire A document.