Get payment

Payments API v2
GEThttps://api.mollie.com/v2/payments/*id*

Retrieve a single payment object by its payment token.

Note

We call your webhook when the payment status changes, so there’s no need to poll this endpoint for status changes.

Parameters

Replace id in the endpoint URL by the payment’s ID, for example tr_7UhSN1zuXS.

Access token parameters

If you are using organization access tokens or are creating an OAuth app, you can enable test mode through the testmode query string parameter.

testmodebooleanoptional

Includes

This endpoint allows you to include additional information by appending the following values via the include querystring parameter.

  • details.qrCode Include a QR code object. Only available for iDEAL, Bancontact and bank transfer payments.
  • details.remainderDetails Include the Payment method-specific response parameters of the ‘remainder payment’ as well. This applies to gift card and voucher payments where only part of the payment was completed with gift cards or vouchers, and the remainder was completed with a regular payment method.

Response

200 application/hal+json

resourcestring
Indicates the response contains a payment object. Will always contain payment for this endpoint.
idstring
The identifier uniquely referring to this payment. Mollie assigns this identifier at payment creation time. For example tr_7UhSN1zuXS. Its ID will always be used by Mollie to refer to a certain payment.
modestring

The mode used to create this payment. Mode determines whether a payment is real (live mode) or a test payment.

Possible values: live test

createdAtdatetime
The payment’s date and time of creation, in ISO 8601 format.
statusstring
The payment’s status. Refer to the documentation regarding statuses for more info about which statuses occur at what point.
isCancelablebooleanoptional
Whether or not the payment can be canceled. This parameter is omitted if the payment reaches a final state.
authorizedAtdatetimeoptional
The date and time the payment became authorized, in ISO 8601 format. This parameter is omitted if the payment is not authorized (yet).
paidAtdatetimeoptional
The date and time the payment became paid, in ISO 8601 format. This parameter is omitted if the payment is not completed (yet).
canceledAtdatetimeoptional
The date and time the payment was canceled, in ISO 8601 format. This parameter is omitted if the payment is not canceled (yet).
expiresAtdatetimeoptional
The date and time the payment will expire, in ISO 8601 format. This parameter is omitted if the payment can no longer expire.
expiredAtdatetimeoptional
The date and time the payment was expired, in ISO 8601 format. This parameter is omitted if the payment did not expire (yet).
failedAtdatetimeoptional
The date and time the payment failed, in ISO 8601 format. This parameter is omitted if the payment did not fail (yet).
amountamount object

The amount of the payment, e.g. {"currency":"EUR", "value":"100.00"} for a €100.00 payment.

Show child parameters

currencystring
The ISO 4217 currency code.
valuestring
A string containing the exact amount of the payment in the given currency.
amountRefundedamount objectoptional

The total amount that is already refunded. Only available when refunds are available for this payment. For some payment methods, this amount may be higher than the payment amount, for example to allow reimbursement of the costs for a return shipment to the customer.

Show child parameters

currencystring
The ISO 4217 currency code.
valuestring
A string containing the exact refunded amount of the payment in the given currency.
amountRemainingamount objectoptional

The remaining amount that can be refunded. Only available when refunds are available for this payment.

Show child parameters

currencystring
The ISO 4217 currency code.
valuestring
A string containing the exact refundable amount of the payment in the given currency.
amountCapturedamount objectoptional

The total amount that is already captured for this payment. Only available when this payment supports captures.

Show child parameters

currencystring
The ISO 4217 currency code.
valuestring
A string containing the exact captured amount of the payment in the given currency.
amountChargedBackamount objectoptional

The total amount that was charged back for this payment. Only available when the total charged back amount is not zero.

Show child parameters

currencystring
The ISO 4217 currency code.
valuestring
A string containing the exact charged back amount of the payment in the given currency.
settlementAmountamount objectoptional

This optional field will contain the approximate amount that will be settled to your account, converted to the currency your account is settled in. It follows the same syntax as the amount property.

Any amounts not settled by Mollie will not be reflected in this amount, e.g. PayPal or gift cards. If no amount is settled by Mollie the settlementAmount is omitted from the response.

Please note that this amount might be recalculated and changed when the status of the payment changes. We suggest using the List balance transactions endpoint instead to get more accurate settlement amounts for your payments.

descriptionstring
A short description of the payment. The description is visible in the Dashboard and will be shown on the customer’s bank or card statement when possible.
redirectUrlstring

The URL your customer will be redirected to after completing or canceling the payment process.

The URL will be null for recurring payments.

cancelUrlstringoptional

The optional redirect URL you provided during payment creation. Consumer that explicitly cancel the payment will be redirected to this URL if provided, or otherwise to the redirectUrl instead — see above.

Mollie will always give you status updates via webhooks, including for the canceled status. This parameter is therefore entirely optional, but can be useful when implementing a dedicated consumer-facing flow to handle payment cancellations.

The URL will be null for recurring payments.

webhookUrlstringoptional
The URL Mollie will call as soon an important status change takes place.
localestringoptional
The customer’s locale, either forced on creation by specifying the locale parameter, or detected by us during checkout. Will be a full locale, for example nl_NL.
countryCodestringoptional
This optional field contains your customer’s ISO 3166-1 alpha-2 country code, detected by us during checkout. For example: BE. This field is omitted if the country code was not detected.
methodstring

The payment method used for this payment, either forced on creation by specifying the method parameter, or chosen by the customer on our payment method selection screen.

If the payment is only partially paid with a gift card, the method remains giftcard.

Possible values: null bancontact banktransfer billie belfius creditcard directdebit eps giftcard giropay ideal in3 kbc klarnapaylater klarnapaynow klarnasliceit mybank paypal paysafecard przelewy24 sofort

restrictPaymentMethodsToCountrystringoptional
metadatamixed
profileIdstring
The identifier referring to the profile this payment was created on. For example, pfl_QkEhN94Ba.
settlementIdstringoptional
The identifier referring to the settlement this payment was settled with. For example, stl_BkEjN2eBb.
orderIdstringoptional
If the payment was created for an order, the ID of that order will be part of the response.
_linksobject

An object with several URL objects relevant to the payment. Every URL object will contain an href and a type field.

Show child parameters

selfURL object
The API resource URL of the payment itself.
checkoutURL objectoptional

The URL your customer should visit to make the payment. This is where you should redirect the consumer to.

Note

You should use HTTP GET for the redirect to the checkout URL. Using HTTP POST for redirection will cause issues with some payment methods or iDEAL issuers. Use HTTP status code 303 See Other to force an HTTP GET redirect.

Recurring payments do not have a checkout URL.

mobileAppCheckoutURL objectoptional

The deeplink URL to the app of the payment method. Currently only available for bancontact.

Warning

You should check if your customer has the required app on their mobile device before redirecting to this URL. Mobile operating systems will ignore the redirect to this URL if the correct app is not installed.

dashboardURL object
Direct link to the payment in the Mollie Dashboard.
refundsURL objectoptional
The API resource URL of the refunds that belong to this payment.
chargebacksURL objectoptional
The API resource URL of the chargebacks that belong to this payment.
capturesURL objectoptional
The API resource URL of the captures that belong to this payment.
settlementURL objectoptional
The API resource URL of the settlement this payment has been settled with. Not present if not yet settled.
documentationURL object
The URL to the payment retrieval endpoint documentation.
orderURL objectoptional
The API resource URL of the order this payment was created for. Not present if not created for an order.
terminalURL objectoptional
The API resource URL of the terminal this payment was created for. Only present for a point of sale payment.

Response parameters for recurring payments

sequenceTypestring
customerIdstringconditional
mandateIdstringconditional
subscriptionIdstringoptional
_linksobject

Response parameters for pre-authorized payments

captureModestringoptional

Indicates whether the capture will be scheduled automatically or not. Set to manual for payments that can be captured manually using the Create capture endpoint.

Set to automatic by default, which indicates the payment will be captured automatically, without having to separately request it.

Possible values: automatic manual

captureDelaystringoptional

Indicates the interval to wait before the payment is captured, for example 8 hours or 2 days. The capture delay will be added to the date and time the payment became authorized.

Possible values: ... hours ... days

captureBeforedateoptional
Indicates the date before which the merchant has to have captured the payment in ISO 8601 format. From this date we can no longer guarantee a successful capture. This parameter is omitted if the payment is not authorized (yet).

Payment method-specific response parameters

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.

Bancontact

detailsobject

An object with payment details.

Hide child parameters

cardNumberstring
Only available if the payment is completed - The last four digits of the card number.
cardFingerprintstring

Only available if the payment is completed - Unique alphanumeric representation of card, usable for identifying returning customers.

Warning

This field is deprecated as of November 28th, 2019. The fingerprint is now unique per transaction, which makes it not useful anymore for identifying returning customers. Use the consumerAccount field instead.

qrCodeQR code object
Only available if requested during payment creation - The QR code that can be scanned by the mobile Bancontact application. This enables the desktop to mobile feature.
consumerNamestring
Only available if the payment is completed – The consumer’s name.
consumerAccountstring
Only available if the payment is completed – The consumer’s bank account. This may be an IBAN, or it may be a domestic account number.
consumerBicstring
Only available if the payment is completed – The consumer’s bank’s BIC / SWIFT code.
failureReasonstring
The reason why the payment did not succeed. Only available when there’s a reason known.

Bank transfer

detailsobject

An object with payment details.

Hide child parameters

bankNamestring
The name of the bank the consumer should wire the amount to.
bankAccountstring
The IBAN the consumer should wire the amount to.
bankBicstring
The BIC of the bank the consumer should wire the amount to.
transferReferencestring
The reference the consumer should use when wiring the amount. Note you should not apply any formatting here; show it to the consumer as-is.
consumerNamestring
Only available if the payment has been completed – The consumer’s name.
consumerAccountstring
Only available if the payment has been completed – The consumer’s bank account. This may be an IBAN, or it may be a domestic account number.
consumerBicstring
Only available if the payment has been completed – The consumer’s bank’s BIC / SWIFT code.
billingEmailstring
Only available if filled out in the API or by the consumer – The email address which the consumer asked the payment instructions to be sent to.
_linksobject

For bank transfer payments, the _links object will contain some additional URL objects relevant to the payment.

Show child parameters

statusURL object
A link to a hosted payment page where your customer can check the status of their payment.
payOnlineURL object
A link to a hosted payment page where your customer can finish the payment using an alternative payment method also activated on your website profile.

Belfius Pay Button

detailsobject

An object with payment details.

Hide child parameters

consumerNamestring
Only available one banking day after the payment has been completed – The consumer’s name.
consumerAccountstring
Only available one banking day after the payment has been completed – The consumer’s IBAN.
consumerBicstring
Only available one banking day after the payment has been completed – GKCCBEBB.

Credit card

detailsobject

An object with payment details.

Hide child parameters

cardHolderstring
Only available if the payment has been completed - The card holder’s name.
cardNumberstring
Only available if the payment has been completed - The last four digits of the card number.
cardFingerprintstring
Only available if the payment has been completed - Unique alphanumeric representation of card, usable for identifying returning customers.
cardAudiencestring

Only available if the payment has been completed and if the data is available - The card’s target audience.

Possible values: consumer business null

cardLabelstring

Only available if the payment has been completed - The card’s label. Note that not all labels can be processed through Mollie.

Possible values: American Express Carta Si Carte Bleue Dankort Diners Club Discover JCB Laser Maestro Mastercard Unionpay Visa null

cardCountryCodestring
Only available if the payment has been completed - The ISO 3166-1 alpha-2 country code of the country the card was issued in. For example: BE.
cardSecuritystring

Only available if the payment has been completed – The type of security used during payment processing.

Possible values: normal 3dsecure

feeRegionstring

Only available if the payment has been completed – The fee region for the payment. The intra-eu value is for consumer cards from the EEA.

Possible values: american-express amex-intra-eea carte-bancaire intra-eu intra-eu-corporate domestic maestro other

failureReasonstring

Only available for failed payments. Contains a failure reason code.

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

failureMessagestring

A localized message that can be shown to your customer, depending on the failureReason.

Example value: Der Kontostand Ihrer Kreditkarte ist unzureichend. Bitte verwenden Sie eine andere Karte..

walletstringoptional

The wallet used when creating the payment.

Possible values: applepay

Gift cards

detailsobject

An object with payment details.

Hide child parameters

voucherNumberstring
The voucher number, with the last four digits masked. When multiple gift cards are used, this is the first voucher number. Example: 606436353088147****.
giftcardsarray

A list of details of all giftcards that are used for this payment. Each object will contain the following properties.

Show child parameters

issuerstring
The ID of the gift card brand that was used during the payment.
amountamount object

The amount in EUR that was paid with this gift card.

Show child parameters

currencystring
The ISO 4217 currency code.
valuestring
A string containing the exact amount of the gift card payment in the given currency.
voucherNumberstring
The voucher number, with the last four digits masked. Example: 606436353088147****
remainderAmountamount object

Only available if another payment method was used to pay the remainder amount – The amount that was paid with another payment method for the remainder amount.

Show child parameters

currencystring
The ISO 4217 currency code.
valuestring
A string containing the remaining payment amount.
remainderMethodstring
Only available if another payment method was used to pay the remainder amount – The payment method that was used to pay the remainder amount.

iDEAL

detailsobject

An object with payment details.

Hide child parameters

consumerNamestring
Only available if the payment has been completed – The consumer’s name.
consumerAccountstring
Only available if the payment has been completed – The consumer’s IBAN.
consumerBicstring
Only available if the payment has been completed – The consumer’s bank’s BIC.

KBC/CBC Payment Button

detailsobject

An object with payment details.

Hide child parameters

consumerNamestring
Only available one banking day after the payment has been completed – The consumer’s name.
consumerAccountstring
Only available one banking day after the payment has been completed – The consumer’s IBAN.
consumerBicstring
Only available one banking day after the payment has been completed – The consumer’s bank’s BIC.

PayPal

detailsobject

An object with payment details.

Hide child parameters

consumerNamestring
Only available if the payment has been completed – The consumer’s first and last name.
consumerAccountstring
Only available if the payment has been completed – The consumer’s email address.
paypalReferencestring
PayPal’s reference for the transaction, for instance 9AL35361CF606152E.
paypalPayerIdstring
ID for the consumer’s PayPal account, for instance WDJJHEBZ4X2LY.
sellerProtectionstringoptional

Indicates if the payment is eligible for PayPal’s Seller Protection.

Possible values: Eligible Ineligible Partially Eligible - INR Only Partially Eligible - Unauth Only PartiallyEligible None Active Fraud Control - Unauth Premium Eligible

This parameter is omitted if we did not received the information from PayPal.

shippingAddressaddress objectoptional

The shipping address details.

Show child parameters

streetAndNumberstring
The street and street number of the shipping address.
postalCodestring
The postal code of the shipping address.
citystring
The city of the shipping address.
regionstring
The region of the shipping address.
countrystring
The country of the shipping address in ISO 3166-1 alpha-2 format.
paypalFeeamount objectoptional

The amount of fee PayPal will charge for this transaction. This field is omitted if PayPal will not charge a fee for this transaction.

Show child parameters

currencystring
The ISO 4217 currency code.
valuestring
A string containing the exact amount of the fee in the given currency.

paysafecard

detailsobject

An object with payment details.

Hide child parameters

customerReferencestring
The consumer identification supplied when the payment was created.

Point of sale

detailsobject

An object with payment details.

Hide child parameters

terminalIdstring
The identifier referring to the terminal this payment was created for. For example, term_utGtYu756h.
cardNumberstring
Only available if the payment has been completed - The last four digits of the card number.
cardFingerprintstring
Only available if the payment has been completed - Unique alphanumeric representation of card, usable for identifying returning customers.
cardAudiencestring

Only available if the payment has been completed and if the data is available - The card’s target audience.

Possible values: consumer business null

cardLabelstring

Only available if the payment has been completed - The card’s label. Note that not all labels can be processed through Mollie.

Possible values: American Express Carta Si Carte Bleue Dankort Diners Club Discover JCB Laser Maestro Mastercard Unionpay Visa null

cardCountryCodestring
Only available if the payment has been completed - The ISO 3166-1 alpha-2 country code of the country the card was issued in. For example: BE.

SEPA Direct Debit

detailsobject

An object with payment details.

Hide child parameters

transferReferencestring
Transfer reference used by Mollie to identify this payment.
creditorIdentifierstring
The creditor identifier indicates who is authorized to execute the payment. In this case, it is a reference to Mollie.
consumerNamestring
The consumer’s name.
consumerAccountstring
The consumer’s IBAN.
consumerBicstring
The consumer’s bank’s BIC.
dueDatedate
Estimated date the payment is debited from the consumer’s bank account, in YYYY-MM-DD format.
signatureDatedate
Only available if the payment has been verified – Date the payment has been signed by the consumer, in YYYY-MM-DD format.
bankReasonCodestring
Only available if the payment has failed – The official reason why this payment has failed. A detailed description of each reason is available on the website of the European Payments Council.
bankReasonstring
Only available if the payment has failed – A textual description of the failure reason.
endToEndIdentifierstring
Only available for batch transactions – The original end-to-end identifier that you’ve specified in your batch.
mandateReferencestring
Only available for batch transactions – The original mandate reference that you’ve specified in your batch.
batchReferencestring
Only available for batch transactions – The original batch reference that you’ve specified in your batch.
fileReferencestring
Only available for batch transactions – The original file reference that you’ve specified in your batch.

SOFORT Banking

detailsobject

An object with payment details.

Hide child parameters

consumerNamestring
Only available if the payment has been completed – The consumer’s name.
consumerAccountstring
Only available if the payment has been completed – The consumer’s IBAN.
consumerBicstring
Only available if the payment has been completed – The consumer’s bank’s BIC.

Vouchers

detailsobject

An object with payment details.

Hide child parameters

issuerstring
The ID of the voucher brand that was used during the payment. When multiple vouchers are used, this is the issuer of the first voucher.
vouchersarray

A list of details of all vouchers that are used for this payment. Each object will contain the following properties.

Show child parameters

issuerstring
The ID of the voucher brand that was used during the payment.
amountamount object

The amount that was paid with this voucher.

Show child parameters

currencystring
The ISO 4217 currency code.
valuestring
A string containing the exact amount of the voucher payment in the given currency.
remainderAmountamount object

Only available if another payment method was used to pay the remainder amount – The amount that was paid with another payment method for the remainder amount.

Show child parameters

currencystring
The ISO 4217 currency code.
valuestring
A string containing the remaining payment amount.
remainderMethodstring
Only available if another payment method was used to pay the remainder amount – The payment method that was used to pay the remainder amount.

Mollie Connect response parameters

applicationFeeobjectoptional

QR codes (optional)

A QR code object with payment method-specific values is available for certain payment methods if you pass the include details.qrCode to the resource endpoint.

The qrCode key in the details object will then become available. The key will contain this object:

heightinteger
widthinteger
srcstring

For an implementation guide, see our QR codes guide.

Example

cURLPHPPythonRubyNode.js
1
2
curl -X GET https://api.mollie.com/v2/payments/tr_WDqYK6vllg \
   -H "Authorization: Bearer test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"
1
2
3
4
<?php
$mollie = new \Mollie\Api\MollieApiClient();
$mollie->setApiKey("test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM");
$payment = $mollie->payments->get("tr_WDqYK6vllg");
1
2
3
4
5
6
from mollie.api.client import Client

mollie_client = Client()
mollie_client.set_api_key("test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM")

payment = mollie_client.payments.get("tr_WDqYK6vllg", embed="refunds,chargebacks", include="details.qrCode")
1
2
3
4
5
6
7
require 'mollie-api-ruby'

Mollie::Client.configure do |config|
  config.api_key = 'test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'
end

payment = Mollie::Payment.get('tr_WDqYK6vllg')
1
2
3
4
const { createMollieClient } = require('@mollie/api-client');
const mollieClient = createMollieClient({ apiKey: 'test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' });

const payment = await mollieClient.payments.get('tr_Eq8xzWUPA4');

Response

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
HTTP/1.1 200 OK
Content-Type: application/hal+json

{
    "resource": "payment",
    "id": "tr_WDqYK6vllg",
    "mode": "test",
    "createdAt": "2018-03-20T13:13:37+00:00",
    "amount": {
        "value": "10.00",
        "currency": "EUR"
    },
    "description": "Order #12345",
    "method": null,
    "metadata": {
        "order_id": "12345"
    },
    "status": "open",
    "isCancelable": false,
    "locale": "nl_NL",
    "restrictPaymentMethodsToCountry": "NL",
    "expiresAt": "2018-03-20T13:28:37+00:00",
    "details": null,
    "profileId": "pfl_QkEhN94Ba",
    "sequenceType": "oneoff",
    "redirectUrl": "https://webshop.example.org/order/12345/",
    "webhookUrl": "https://webshop.example.org/payments/webhook/",
    "_links": {
        "self": {
            "href": "https://api.mollie.com/v2/payments/tr_WDqYK6vllg",
            "type": "application/hal+json"
        },
        "checkout": {
            "href": "https://www.mollie.com/payscreen/select-method/WDqYK6vllg",
            "type": "text/html"
        },
        "dashboard": {
            "href": "https://www.mollie.com/dashboard/org_12345678/payments/tr_WDqYK6vllg",
            "type": "text/html"
        },
        "documentation": {
            "href": "https://docs.mollie.com/reference/v2/payments-api/get-payment",
            "type": "text/html"
        }
    }
}