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-DDformat. The minimum date is tomorrow, and the maximum date is 100 days after tomorrow.After you created the payment, you can still update the
dueDatevia Update payment
billingEmail string
billingEmail stringThis field is deprecated. Use
billingAddress.emailinstead.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.
billingAddress.organizationName: The organization's name.registrationNumberstring: The organization's registration number.vatNumberstring: The organization's VAT number.entityTypestring: 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. Note: field only valid for
oneoffandfirstpayments. For recurring payments, thecustomerIdalone is enough.
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.
iDeal in3
consumerDateOfBirth string
consumerDateOfBirth stringThe customer's date of birth. If not provided via the API, iDeal 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 | null
billingEmail string | nullThis field is deprecated. Use
billingAddress.emailinstead.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 object
If 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. Additionally, some methods might provide specific _links properties.
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.
_links.mobileAppCheckout object
_links.mobileAppCheckout objectThe deeplink URL to the app of the payment method.
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.emailinstead.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.
_links.status object
_links.status objectLink to customer-facing page showing the status of the bank transfer (to verify if the transcation was successful).
_links.payOnline object
_links.payOnline objectLink to Mollie Checkout page allowing customers to select a different payment method instead of legacy bank transfer.
Cards
details.cardFingerprint string | null
details.cardFingerprint string | nullA unique fingerprint for this specific card. Can be used to identify returning customers.
details.cardNumber string | null
details.cardNumber string | nullThe last4-digit of the PAN
details.cardHolder string | null
details.cardHolder string | nullThe customer's name as shown on their card.
details.cardAudience string | null
details.cardAudience string | nullThe card's target audience, if known.
Possible values:
consumerbusiness
details.cardLabel string | null
details.cardLabel string | nullThe card's label, if known.
Possible values:
American ExpressCarta SiCarte BleueDankortDiners ClubDiscoverJCBLaserMaestroMastercardUnionpayVisa
details.cardCountryCode string | null
details.cardCountryCode string | nullThe ISO 3166-1 alpha-2 country code of the country the card was issued in.
details.cardExpiryDate string | null
details.cardExpiryDate string | nullThe expiry date (
MM/YY) of the card as displayed on the card.
details.cardFunding string | null
details.cardFunding string | nullThe card type.
Possible values:
debit,credit,prepaid,deferred-debit
details.cardSecurity string | null
details.cardSecurity string | nullThe level of security applied during card processing.
Possible values:
normal3dsecure
details.feeRegion string | null
details.feeRegion string | nullThe applicable card fee region.
For example,
intra-euapplies to consumer cards from the European Economic Area (EEA).Possible values:
american-expressamex-intra_eeacarte-bancaireintra-euintra-eu-corporatedomesticmaestroother
details.cardMaskedNumber string | null
details.cardMaskedNumber string | nullThe first6 and last4 digits of the card number.
details.card3dsEci string | null
details.card3dsEci string | nullThe outcome of authentication attempted on transactions enforced by 3DS (ie valid only for
oneoffandfirst).
details.cardBin string | null
details.cardBin string | nullThe first6 digit of the card bank identification number.
details.cardIssuer string | null
details.cardIssuer string | nullThe issuer of the Card.
details.failureReason string | null
details.failureReason string | nullA failure code to help understand why the payment failed.
Possible values:
authentication_abandonedauthentication_failedauthentication_requiredauthentication_unavailable_acscard_declinedcard_expiredinactive_cardinsufficient_fundsinvalid_cvvinvalid_card_holder_nameinvalid_card_numberinvalid_card_typepossible_fraudrefused_by_issuerunknown_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
Multibanco
details.multibancoReference string | null
details.multibancoReference string | nullMultibanco payment reference of the transaction.
details.multibancoEntity string | null
details.multibancoEntity string | nullMultibanco entity reference of the transaction.
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:
EligibleIneligiblePartially Eligible - INR OnlyPartially Eligible - Unauth OnlyPartiallyEligibleNoneActiveFraud 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.
details.cardNumber string | null
details.cardNumber string | nullThe last 4 digits of the customer's masked card number.
details.maskedNumber string | null
details.maskedNumber string | nullThe first 6 digits & last 4 digits of the customer's masked card number.
details.cardFingerprint string | null
details.cardFingerprint string | nullA unique identifier assigned to a cardholder's payment account, linking multiple transactions from wallets and physical card to a single account, also across payment methods or when the card is reissued.
details.cardAudience string | null
details.cardAudience string | nullThe card's target audience, if known. Possible values:
consumerbusiness
details.cardLabel string | null
details.cardLabel string | nullThe card's label, if known. Possible values:
MastercardVisaMaestroVpay
details.cardFunding string | null
details.cardFunding string | nullThe card funding type, if known. Possible values:
creditdebit
details.cardCountryCode string | null
details.cardCountryCode string | nullThe ISO 3166-1 alpha-2 country code of the country the card was issued in.
details.feeRegion string | null
details.feeRegion string | nullThe applicable card fee region. For example,
intra_eeaapplies to consumer cards from the European Economic Area (EEA). Possible values:domesticinterintra_eea
details.receipt object (β οΈ Beta feature, reach out to Support)
details.receipt object (β οΈ Beta feature, reach out to Support)The Point of sale receipt object.
authorizationCodestring|null - a unique code provided by the cardholderβs bank to confirm that the transaction was successfully approved.applicationIdentifierstring|null - the unique number that identifies a specific payment application on a chip card.cardReadMethodstring|null - the method by which the card was read by the terminal. Possible values:chip|magnetic-stripe|near-field-communication|contactless|moto.cardVerificationMethodstring|null - the method used to verify the cardholder's identity. Possible values:no-cvm-required|online-pin|offline-pin|consumer-device|signature|signature-and-online-pin|online-pin-and-signature|none|failed.
statusReason.code string
statusReason.code stringA failure code to understand why the payment failed. See the full list of possible values in the Status reasons article.
statusReason.message string
statusReason.message stringA human-friendly failure message that you can show to the customer. See the full list of possible values in the Status reasons article.
_links.terminal object
_links.terminal objectThe API resource URL of the terminal this payment was created for.
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-DDformat.
details.signatureDate string | null
details.signatureDate string | nullDate the payment has been signed by the customer, in
YYYY-MM-DDformat. 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.
heightintegerwidthintegersrcstring
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.