If you specify the method
parameter when creating a payment, optional parameters may be available for the payment method. All possible method-specific parameters are listed below.
If no method is specified, you can still send the optional parameters and we will apply them when the customer selects the relevant payment method.
Similarly, the response object will often contain method-specific details only relevant for the payment method chosen by the customer. These are listed at the bottom of this page.
Payment creation request parameters
POST
/v2/payments
Apple Pay
applePayPaymentToken
string
applePayPaymentToken
stringThe Apple Pay Payment token object (encoded as JSON) that is part of the result of authorizing a payment request. The token contains the payment information needed to authorize the payment.
The object should be passed encoded in a JSON string. For example:
{"paymentData": {"version": "EC_v1", "data": "vK3BbrCbI/...."}}
Bank transfer
dueDate
string
dueDate
stringThe date the bank transfer payment should expire, in
YYYY-MM-DD
format. The minimum date is tomorrow, and the maximum date is 100 days after tomorrow.After you created the payment, you can still update the
dueDate
via Update payment
billingEmail
string
billingEmail
stringThis field is deprecated. Use
billingAddress.email
instead.For bank transfer payments, we provide a hosted payment screen with bank transfer details. The screen includes a field where customers can fill out their email address to receive the instructions via email. If you provide the email address up front, we will automatically send the instructions email upon payment creation. The language of the email will follow the locale parameter of the payment.
Billie
company
object
company
objectBillie is a business-to-business (B2B) payment method. It requires extra information to identify the organization that is completing the payment. It is recommended to include these parameters up front for a seamless flow. Otherwise, Billie will ask the customer to complete the missing fields during checkout.
registrationNumber
string: The organization's registration number.vatNumber
string: The organization's VAT number.entityType
string: The organization's entity type.
Credit card
cardToken
string
cardToken
stringWhen creating credit card payments using Mollie Components, you need to provide the card token you received from the card component in this field. The token represents the customer's card information needed to complete the payment.
Gift card
voucherNumber
string
voucherNumber
stringThe card token you received from the card component of Mollie Components. The token represents the customer's card information needed to complete the payment.
voucherPin
string
voucherPin
stringThe PIN on the gift card. You can supply this to prefill the PIN, if the card has any.
in3
consumerDateOfBirth
string
consumerDateOfBirth
stringThe customer's date of birth. If not provided via the API, in3 will ask the customer to provide it during the payment process.
Klarna
extraMerchantData
object
extraMerchantData
objectFor some industries, additional purchase information can be sent to Klarna to increase the authorization rate. You can submit your extra data in this field if you have agreed upon this with Klarna. This field should be an object containing any of the allowed keys and sub-objects described at the Klarna Developer Documentation .
Reach out to your account manager at Mollie to enable this feature with Klarna, and to agree on which fields you can send.
PayPal
sessionId
string
sessionId
stringThe unique ID you have used for the PayPal fraud library. You should include this if you use PayPal for an on-demand payment.
digitalGoods
boolean
digitalGoods
booleanIndicate if you are about to deliver digital goods, such as for example a software license. Setting this parameter can have consequences for your PayPal Seller Protection. Refer to PayPal's documentation for more information.
paysafecard
customerReference
string
customerReference
stringUsed by paysafecard for customer identification across payments. When you generate a customer reference yourself, make sure not to put personal identifiable information or IP addresses in the customer reference directly.
If not provided, Mollie will use a hashed version of the customer's IP address.
Point-of-sale
terminalId
string
terminalId
stringThe ID of the terminal device where you want to initiate the payment on. See also the Terminals API.
Przelewy24
billingEmail
string
billingEmail
stringThis field is deprecated. Use
billingAddress.email
instead.For Przelewy24 payments, the customer needs to provide their email address as part of the standard payment flow. We provide a hosted page where the customer can fill out their email address. You can skip this page by providing the email address using the billingEmail parameter.
Payment response details
object
details
objectIf the payment has been created with a method
, or if the customer selected a method in the payment method selection screen, a details
object becomes available on the payment object. This object contains detail fields specific to the selected payment method.
Customer details
For most payment methods the name and account details of the customer are available.
details.consumerName
string | null
details.consumerName
string | nullThe customer's name, if made available by the payment method. For card payments, refer to
details.cardHolder
.
details.consumerAccount
string | null
details.consumerAccount
string | nullThe customer's account reference.
For banking-based payment methods — such as iDEAL — this is normally either an IBAN or a domestic bank account number.
For PayPal, the account reference is an email address.
For card and Bancontact payments, refer to
details.cardNumber
.
details.consumerBic
string | null
details.consumerBic
string | nullThe BIC of the customer's bank account, if applicable.
details.shippingAddress
object | null
details.shippingAddress
object | nullFor wallet payment methods — such as Apple Pay and PayPal — the shipping address is often already known by the wallet provider. In these cases the shipping address may be available as a payment detail.
Apple Pay
Since Apple Pay payments are card payments, the same detail fields will be available as for card payments. Additionally, details.wallet
will be set to applepay
.
Bancontact
details.cardNumber
string | null
details.cardNumber
string | nullThe customer's masked card number.
Bank transfer
details.bankName
string
details.bankName
stringThe name of the bank that the customer will need to make the bank transfer payment towards.
details.bankAccount
string
details.bankAccount
stringThe bank account number the customer will need to make the bank transfer payment towards.
details.bankBic
string
details.bankBic
stringThe BIC of the bank the customer will need to make the bank transfer payment towards.
details.billingEmail
string | null
details.billingEmail
string | nullThis field is deprecated. Use
billingAddress.email
instead.The email address which the customer requested us to send the payment instructions to. Only available if provided via the API during payment creation, or if filled out by the customer in the hosted checkout screen.
details.transferReference
string
details.transferReference
stringThe Mollie-generated reference the customer needs to use when transfering the amount. Do not apply any formatting here; show it to the customer as-is.
Cards
details.cardHolder
string | null
details.cardHolder
string | nullThe customer's name as shown on their card.
details.cardNumber
string | null
details.cardNumber
string | nullThe customer's masked card number.
details.cardFingerprint
string | null
details.cardFingerprint
string | nullA unique fingerprint for this specific card. Can be used to identify returning customers.
details.cardAudience
string | null
details.cardAudience
string | nullThe card's target audience, if known.
Possible values:
consumer
business
details.cardLabel
string | null
details.cardLabel
string | nullThe card's label, if known.
Possible values:
American Express
Carta Si
Carte Bleue
Dankort
Diners Club
Discover
JCB
Laser
Maestro
Mastercard
Unionpay
Visa
details.cardCountryCode
string | null
details.cardCountryCode
string | nullThe ISO 3166-1 alpha-2 country code of the country the card was issued in.
details.cardSecurity
string | null
details.cardSecurity
string | nullThe level of security applied during card processing.
Possible values:
normal
3dsecure
details.feeRegion
string | null
details.feeRegion
string | nullThe applicable card fee region.
For example,
intra-eu
applies to consumer cards from the European Economic Area (EEA).Possible values:
american-express
amex-intra-eea
carte-bancaire
intra-eu
intra-eu-corporate
domestic
maestro
other
details.failureReason
string | null
details.failureReason
string | nullA failure code to help understand why the payment failed.
Possible values:
authentication_abandoned
authentication_failed
authentication_required
authentication_unavailable_acs
card_declined
card_expired
inactive_card
insufficient_funds
invalid_cvv
invalid_card_holder_name
invalid_card_number
invalid_card_type
possible_fraud
refused_by_issuer
unknown_reason
details.failureMessage
string | null
details.failureMessage
string | nullA human-friendly failure message that can be shown to the customer. The message is translated in accordance with the payment's locale setting.
details.wallet
string | null
details.wallet
string | nullThe wallet used when creating the payment.
Possible values:
applepay
PayPal
details.paypalReference
string | null
details.paypalReference
string | nullPayPal's reference for the payment.
details.paypalPayerId
string | null
details.paypalPayerId
string | nullID of the customer's PayPal account.
details.sellerProtection
string | null
details.sellerProtection
string | nullIndicates to what extent the payment is eligible for PayPal's Seller Protection. Only available for PayPal payments, and if the information is made available by PayPal.
Possible values:
Eligible
Ineligible
Partially Eligible - INR Only
Partially Eligible - Unauth Only
PartiallyEligible
None
Active
Fraud Control - Unauth Premium Eligible
details.paypalFee
object | null
details.paypalFee
object | nullAn amount object containing the fee PayPal will charge for this transaction. The field may be omitted if PayPal will not charge a fee for this transaction.
paysafecard
details.customerReference
string
details.customerReference
stringThe paysafecard customer reference either provided via the API or otherwise auto-generated by Mollie.
Point-of-sale
details.terminalId
string
details.terminalId
stringThe ID of the terminal device where the payment took place on.
SEPA Direct Debit
details.transferReference
string
details.transferReference
stringThe reference generated by Mollie to uniquely identify the payment.
details.creditorIdentifier
string
details.creditorIdentifier
stringThe creditor identifier indicates who is authorized to execute the payment. In this case, it is a reference to Mollie.
details.dueDate
string
details.dueDate
stringEstimated date the payment is debited from the customer's bank account, in
YYYY-MM-DD
format.
details.signatureDate
string | null
details.signatureDate
string | nullDate the payment has been signed by the customer, in
YYYY-MM-DD
format. Only available if the payment has been signed.
details.bankReasonCode
string | null
details.bankReasonCode
string | nullThe official reason why this payment has failed. A detailed description of each reason is available on the website of the European Payments Council.
details.bankReason
string | null
details.bankReason
string | nullA human-friendly description of the failure reason.
details.endToEndIdentifier
string | null
details.endToEndIdentifier
string | nullThe end-to-end identifier you provided in the batch file.
details.mandateReference
string | null
details.mandateReference
string | nullThe mandate reference you provided in the batch file.
details.batchReference
string | null
details.batchReference
string | nullThe batch reference you provided in the batch file.
details.fileReference
string | null
details.fileReference
string | nullThe file reference you provided in the batch file.
QR-enabled payments
details.qrCode
object
details.qrCode
objectOptional include. If a QR code was requested during payment creation for a QR-compatible payment method, the QR code details will be available in this object.
The QR code can be scanned by the customer to complete the payment on their mobile device. For example, Bancontact QR payments can be completed by the customer using the Bancontact app.
height
integerwidth
integersrc
string
Payments with gift cards or vouchers
If gift cards or vouchers were applied to the payment, details are made available to help understand what transactions the payment is composed of.
details.voucherNumber
string
details.voucherNumber
stringFor payments with gift cards: the masked gift card number of the first gift card applied to the payment.
details.giftcards
array
details.giftcards
arrayAn array of detail objects for each gift card that was used on this payment, if any.
details.issuer
string
details.issuer
stringFor payments with vouchers: the brand name of the first voucher applied.
details.vouchers
array
details.vouchers
arrayAn array of detail objects for each voucher that was used on this payment, if any.
details.remainderAmount
object
details.remainderAmount
objectAn amount object for the amount that remained after all gift cards or vouchers were applied.
details.remainderMethod
string
details.remainderMethod
stringThe payment method used to pay the remainder amount, after all gift cards or vouchers were applied.
details.remainderDetails
object
details.remainderDetails
objectOptional include. The full payment method details of the remainder payment.