Method-specific parameters

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

The 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

The 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

🚧

This 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

Billie 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

When 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

The 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

The PIN on the gift card. You can supply this to prefill the PIN, if the card has any.

in3

consumerDateOfBirth string

The 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

For 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

The 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

Indicate 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

Used 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

The ID of the terminal device where you want to initiate the payment on. See also the Terminals API.

Przelewy24

billingEmail string

🚧

This 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

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.

Customer details

For most payment methods the name and account details of the customer are available.

details.consumerName string | null

The customer's name, if made available by the payment method. For card payments, refer to details.cardHolder.

details.consumerAccount string | null

The 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

The BIC of the customer's bank account, if applicable.

details.shippingAddress object | null

For 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

The customer's masked card number.

Bank transfer

details.bankName string

The name of the bank that the customer will need to make the bank transfer payment towards.

details.bankAccount string

The bank account number the customer will need to make the bank transfer payment towards.

details.bankBic string

The BIC of the bank the customer will need to make the bank transfer payment towards.

details.billingEmail string | null

🚧

This 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

The 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

The customer's name as shown on their card.

details.cardNumber string | null

The customer's masked card number.

details.cardFingerprint string | null

A unique fingerprint for this specific card. Can be used to identify returning customers.

details.cardAudience string | null

The card's target audience, if known.

Possible values: consumer business

details.cardLabel string | null

The 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

The ISO 3166-1 alpha-2 country code of the country the card was issued in.

details.cardSecurity string | null

The level of security applied during card processing.

Possible values: normal 3dsecure

details.feeRegion string | null

The 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

A 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

A 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

The wallet used when creating the payment.

Possible values: applepay

PayPal

details.paypalReference string | null

PayPal's reference for the payment.

details.paypalPayerId string | null

ID of the customer's PayPal account.

details.sellerProtection string | null

Indicates 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

An 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

The paysafecard customer reference either provided via the API or otherwise auto-generated by Mollie.

Point-of-sale

details.terminalId string

The ID of the terminal device where the payment took place on.

SEPA Direct Debit

details.transferReference string

The reference generated by Mollie to uniquely identify the payment.

details.creditorIdentifier string

The creditor identifier indicates who is authorized to execute the payment. In this case, it is a reference to Mollie.

details.dueDate string

Estimated date the payment is debited from the customer's bank account, in YYYY-MM-DD format.

details.signatureDate string | null

Date 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

The 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

A human-friendly description of the failure reason.

details.endToEndIdentifier string | null

The end-to-end identifier you provided in the batch file.

details.mandateReference string | null

The mandate reference you provided in the batch file.

details.batchReference string | null

The batch reference you provided in the batch file.

details.fileReference string | null

The file reference you provided in the batch file.

QR-enabled payments

details.qrCode object

Optional 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 integer
  • width integer
  • src 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

For payments with gift cards: the masked gift card number of the first gift card applied to the payment.

details.giftcards array

An array of detail objects for each gift card that was used on this payment, if any.

details.issuer string

For payments with vouchers: the brand name of the first voucher applied.

details.vouchers array

An array of detail objects for each voucher that was used on this payment, if any.

details.remainderAmount object

An amount object for the amount that remained after all gift cards or vouchers were applied.

details.remainderMethod string

The payment method used to pay the remainder amount, after all gift cards or vouchers were applied.

details.remainderDetails object

Optional include. The full payment method details of the remainder payment.