Create payment
Payment creation is elemental to the Mollie API: this is where most payment implementations start off.
Once you have created a payment, you should redirect your customer to the URL in the _links.checkout property from the response.
To wrap your head around the payment process, an explanation and flow charts can be found in the 'Accepting payments' guide.
If you specify the method parameter when creating a payment, optional additional parameters may be available for the payment method that are not listed below. Please refer to the guide on method-specific parameters.
Query parameters
This endpoint allows you to include additional information via the include query string parameter.
Headers
A unique key to ensure idempotent requests. This key should be a UUID v4 string.
Request body
Example request
{
"resource": "payment",
"id": "tr_5B8cwPMGnU",
"mode": "live",
"description": "Chess Board",
"amount": {
"currency": "EUR",
"value": "10.00"
},
"amountRefunded": {
"currency": "EUR",
"value": "10.00"
},
"amountRemaining": {
"currency": "EUR",
"value": "10.00"
},
"amountCaptured": {
"currency": "EUR",
"value": "10.00"
},
"amountChargedBack": {
"currency": "EUR",
"value": "10.00"
},
"redirectUrl": "https://example.org/redirect",
"cancelUrl": "https://example.org/cancel",
"webhookUrl": "https://example.org/webhooks",
"lines": [
{
"type": "physical",
"description": "LEGO 4440 Forest Police Station",
"quantity": 1,
"quantityUnit": "pcs",
"unitPrice": {
"currency": "EUR",
"value": "10.00"
},
"discountAmount": {
"currency": "EUR",
"value": "10.00"
},
"totalAmount": {
"currency": "EUR",
"value": "10.00"
},
"vatRate": "21.00",
"vatAmount": {
"currency": "EUR",
"value": "10.00"
},
"sku": "9780241661628",
"categories": [
"meal",
"eco"
],
"imageUrl": "https://...",
"productUrl": "https://...",
"recurring": {
"description": "Gym subscription",
"interval": "12 months",
"amount": {
"currency": "EUR",
"value": "10.00"
},
"times": 1,
"startDate": "2024-12-12"
}
}
],
"billingAddress": {
"title": "Mr.",
"givenName": "Piet",
"familyName": "Mondriaan",
"organizationName": "Mollie B.V.",
"streetAndNumber": "Keizersgracht 126",
"streetAdditional": "Apt. 1",
"postalCode": "1234AB",
"email": "piet@example.org",
"city": "Amsterdam",
"region": "Noord-Holland",
"country": "NL"
},
"shippingAddress": {
"title": "Mr.",
"givenName": "Piet",
"familyName": "Mondriaan",
"organizationName": "Mollie B.V.",
"streetAndNumber": "Keizersgracht 126",
"streetAdditional": "Apt. 1",
"postalCode": "1234AB",
"email": "piet@example.org",
"city": "Amsterdam",
"region": "Noord-Holland",
"country": "NL"
},
"locale": "en_US",
"countryCode": "BE",
"method": "ideal",
"issuer": "ideal_INGBNL2A",
"restrictPaymentMethodsToCountry": "NL",
"captureMode": "manual",
"captureDelay": "8 hours",
"captureBefore": "2024-03-20T09:28:37+00:00",
"applicationFee": {
"amount": {
"currency": "EUR",
"value": "10.00"
}
},
"routing": [
{
"resource": "route",
"id": "rt_5B8cwPMGnU",
"mode": "live",
"amount": {
"currency": "EUR",
"value": "10.00"
},
"destination": {
"type": "organization",
"organizationId": "org_1234567"
},
"createdAt": "2024-12-12T10:00:00+00:00",
"releaseDate": "2024-12-12",
"_links": {
"self": {
"href": "https://...",
"type": "application/hal+json"
},
"payment": {
"href": "https://...",
"type": "application/hal+json"
}
}
}
],
"sequenceType": "oneoff",
"subscriptionId": "sub_5B8cwPMGnU",
"mandateId": "mdt_5B8cwPMGnU",
"customerId": "cst_5B8cwPMGnU",
"profileId": "pfl_5B8cwPMGnU",
"settlementId": "stl_5B8cwPMGnU",
"orderId": "ord_5B8cwPMGnU",
"status": "open",
"statusReason": {
"code": "insufficient_funds",
"message": "The account associated with the card has insufficient funds. The shopper should use another payment method or\ncontact their bank."
},
"isCancelable": true,
"details": {
"consumerName": "John Doe",
"consumerAccount": "NL91ABNA0417164300",
"consumerBic": "ABNANL2A",
"cardNumber": "************1234",
"bankName": "Mollie Bank",
"bankAccount": "NL91ABNA0417164300",
"bankBic": "ABNANL2A",
"transferReference": "...",
"bizumReference": "2901tq2ure1d",
"cardFingerprint": "...",
"cardHolder": "John Doe",
"cardAudience": "consumer",
"cardLabel": "Mastercard",
"cardCountryCode": "NL",
"cardExpiryDate": "12/25",
"cardFunding": "credit",
"cardSecurity": "normal",
"feeRegion": "maestro",
"cardMaskedNumber": "...",
"card3dsEci": "...",
"cardBin": "...",
"cardIssuer": "...",
"failureReason": "card_declined",
"failureMessage": "Your card was declined.",
"wallet": "applepay",
"paypalReference": "...",
"paypalPayerId": "...",
"sellerProtection": "ELIGIBLE",
"paypalFee": {
"currency": "EUR",
"value": "10.00"
},
"customerReference": "...",
"terminalId": "term_12345",
"maskedNumber": "...",
"receipt": {
"authorizationCode": "...",
"applicationIdentifier": "...",
"cardReadMethod": "contactless",
"cardVerificationMethod": "no-cvm-required"
},
"creditorIdentifier": "...",
"dueDate": "2025-01-01",
"signatureDate": "2024-03-20",
"bankReasonCode": "...",
"bankReason": "...",
"endToEndIdentifier": "...",
"mandateReference": "...",
"batchReference": "...",
"fileReference": "...",
"qrCode": {
"height": 300,
"width": 300,
"src": "https://www.mollie.com/images/qr-code.png"
},
"voucherNumber": "...",
"issuer": "...",
"remainderAmount": {
"currency": "EUR",
"value": "10.00"
},
"remainderMethod": "creditcard"
},
"createdAt": "2024-03-20T09:13:37+00:00",
"authorizedAt": "2024-03-20T09:28:37+00:00",
"paidAt": "2024-03-20T09:28:37+00:00",
"canceledAt": "2024-03-20T09:28:37+00:00",
"expiresAt": "2024-03-20T09:28:37+00:00",
"expiredAt": "2024-03-20T09:28:37+00:00",
"failedAt": "2024-03-20T09:28:37+00:00",
"dueDate": "2025-12-08",
"storeCredentials": true,
"_links": {
"self": {
"href": "https://...",
"type": "application/hal+json"
},
"checkout": {
"href": "https://...",
"type": "application/hal+json"
},
"mobileAppCheckout": {
"href": "https://...",
"type": "application/hal+json"
},
"changePaymentState": {
"href": "https://...",
"type": "application/hal+json"
},
"dashboard": {
"href": "https://...",
"type": "application/hal+json"
},
"refunds": {
"href": "https://...",
"type": "application/hal+json"
},
"chargebacks": {
"href": "https://...",
"type": "application/hal+json"
},
"captures": {
"href": "https://...",
"type": "application/hal+json"
},
"settlement": {
"href": "https://...",
"type": "application/hal+json"
},
"customer": {
"href": "https://...",
"type": "application/hal+json"
},
"mandate": {
"href": "https://...",
"type": "application/hal+json"
},
"subscription": {
"href": "https://...",
"type": "application/hal+json"
},
"order": {
"href": "https://...",
"type": "application/hal+json"
},
"terminal": {
"href": "https://...",
"type": "application/hal+json"
},
"documentation": {
"href": "https://...",
"type": "application/hal+json"
},
"status": {
"href": "https://...",
"type": "application/hal+json"
},
"payOnline": {
"href": "https://...",
"type": "application/hal+json"
}
},
"applePayPaymentToken": "{\"paymentData\": {\"version\": \"EC_v1\", \"data\": \"vK3BbrCbI/....\"}}",
"company": {
"registrationNumber": "12345678",
"vatNumber": "NL123456789B01",
"entityType": "LLC"
},
"cardToken": "tkn_12345",
"googlePayPaymentToken": "{\"signature\": \"MEYCIQCv...\", \"protocolVersion\": \"ECv2\", \"signedMessage\": \"{\\\"encryptedMessage\\\":\\\"...\\\",\\\"ephemeralPublicKey\\\":\\\"...\\\",\\\"tag\\\":\\\"...\\\"}\"}",
"voucherNumber": "1234567890",
"voucherPin": "1234",
"consumerDateOfBirth": "2000-01-01",
"sessionId": "...",
"digitalGoods": true,
"customerReference": "1234567890",
"terminalId": "term_1234567890"
}Response
The newly created payment object.