Get Transaction

You can use this call to retrieve details of a Checkout transaction.

Prerequisite

Get an access_token and use it as 'Bearer' token in your request. Find more details here.

Request

GET https://api.pay.cm.com/api/v1/paymentmethods/checkout/v1/transactions/{transactionId}

Response

{
  "id": "8db1e7fa-ba8a-4189-92fd-67a20217443d",
  "reference": "20210623130413",
  "amount": 1200,
  "currency": "EUR",
  "consumer": {
    "givenName": "John",
    "middleName": "",
    "familyName": "Doe",
    "email": "[email protected]",
    "gender": null,
    "address": {
      "street": "Rustenburgerlaan",
      "houseNumber": "25",
      "postalCode": "2012AL",
      "city": "Haarlem",
      "countryCode": "NL",
      "state": "Noord-Holland",
      "additionalData": "Right-hand portal"
    },
    "phone": "06-95613259",
    "dateOfBirth": "1996-12-01"
  },
  "merchantOrderReference": "order123",
  "description": "Order at yourdomain.tld",
  "paymentMethods": [
    "ideal",
    "bancontact",
    "klarna"
  ],
  "orderItems": [
    {
      "code": "SDC4/32GB-2ADP",
      "name": "Kingston microSD 32GB",
      "description": "Best seller SD card",
      "unitPrice": 600,
      "quantity": 2,
      "vatAmount": 100,
      "vatRate": 20
    }
  ],
  "expiresAt": "2006-01-02T15:04:05Z",
  "language": "nl",
  "webhooks": [
    {
      "url": "https://yourdomain.tld/order-webhooks?purchaseId=order123",
      "events": [
        "FINALSTATUS"
      ]
    },
    {
      "url": "https://yourdomain.tld/payment-webhooks?purchaseId=order123",
      "events": [
        "REFUND_STATUS"
      ]
    },
    {
      "url": "https://yourdomain.tld/payment-webhooks?purchaseId=order123",
      "events": [
        "STATUS_CHANGE"
      ]
    }
  ],
  "maxRetries": 10,
  "payments": [
    {
      "id": "8db1e7fa-ba8a-4189-92fd-67a20217443d",
      "type": "bancontact",
      "status": "OPEN",
      "createdAt": "2006-01-02T15:04:05Z"
    }
  ],
  "status": "OPEN",
  "action": {
    "redirect": {
      "url": "https://checkout.cmpayments.com/?hostedCheckoutId=0863a7aadb99bf1c6ae770936db45eb33e61c917"
    }
  },
  "createdAt": "2006-01-02T15:04:05Z",
  "refunds": {
    "refundedAmount": 300,
    "refundedPendingAmount": 100
  },
  "returnUrls": {
    "success": "https://yourdomain.tld/order/payment-success.html",
    "cancelled": "https://yourdomain.tld/order/payment-cancelled.html",
    "expired": "https://yourdomain.tld/order/payment-expired.html",
    "failed": "https://yourdomain.tld/order/payment-failed.html"
  }
}

Parameters

ParameterTypeDescriptionConstraints
idString(36)Transaction unique identifier.
referenceString(1...255)An identifier specified by you. If webhooks were specified in the request this identifier is added to the webhook request payload.
amountInt(1...99999999)Integer representing the amount of the Checkout. Denomination in the smallest currency subunit (e.g. eurocents).
currencyString (ISO 4217)Currency code.ISO 4217 currency code.
merchantOrderReferenceString(1...35)Identification of the order within your system. Ultimately appears on the payment confirmation (statement and confirmation screen).
descriptionString(1...255)Description of the transaction.
expiresAtString(RFC3339)Specifies the time at which new payments cannot be started in the Checkout. At the time of expiration the Checkout status will transition to PENDING if there are still OPEN or PENDING payments. Once the payments are no longer OPEN or PENDING the status of the Checkout will transaction to EXPIRED or in the case of a successful payment to SUCCESS.ISO 8601 date and time.
statusStringOPEN - Checkout has been created. This is the initial status.
SUCCESS - Checkout successfully paid.
CANCELLED - Checkout has been cancelled by your customers.
EXPIRED - Checkout has not succeeded; expired.
FAILURE - Checkout has not succeeded; unknown reason.
AUTHORIZED - Checkout payment is authorized.
PENDING - Checkout payment could not be completed yet; waiting for something.
actionaction ObjectThe next action to be performed by you for this transaction. This includes a URL where you should redirect your customer to perform the payment. action is only available while the transaction is OPEN.This parameter is nullable, and it is only available while the transaction is OPEN.
createdAtString(RFC3339)Creation time.ISO 8601 date and time.
returnUrlString(2000)Specifies the URL where your customers will be redirected to when the payment process is completed.Either returnUrl or returnUrls must be specified, but not both.
returnUrlsreturnUrls ObjectSpecifies a URL where your customers will be redirected to (per transaction status) when the payment process is completed. For example, your customers will be redirected to returnUrls.success when the status of the transaction changes to SUCCESS.Either returnUrl or returnUrls must be specified, but not both.

Optional parameters

ParameterTypeDescriptionConstraints
consumerconsumer ObjectCustomer details.
paymentMethodsArray of stringsThis is an important parameter because here you can validate which payment methods are available for your customers on the checkout payment method selection page.
orderItemsArray of orderItem objectsRequired only for some payment methods (e.g. Klarna or in3).
languageString(ISO 639-1)Preferred language of the user interface.The available languages are: [ cs, da, de, en, es, fi, fr, hu, it, nl, no, pl, pt, sv, tr ].
webhooksArray of objectsWebhooks enable receiving a web request once a given event occurs.Find more details here.
maxRetriesInt(0...255)Maximum number of retries allowed to pay the Checkout.
paymentsArray of payment objectsList of payments made by the customer while using the Checkout. The payment object contains the Status, Type and ID of each payment.
refundsrefund ObjectIndicates refundedAmount and refundedPendingAmount.

Response codes

HTTP statusDescription
200Transaction details are successfully retrieved
4XXClient error response (See message for details). This response is given when the User input was incorrect or something illegal was attempted (eg. using a service without having that service configured for the user, or not being authorized).
5XXServer error response (See message for details)