Create MIT Payment Session

Creates a new checkout session and initializes the initial standing instruction for subsequenct merchant-initiated transacations (MIT). Create MIT includes performing an intial payment. It can be the amount for the first payment or it can be a zero amount for approving subsequent MIT payments.

This endpoint is the entry point for starting an online transaction. It:

  • Registers the selected payment instrument with Aera (currently only cards)
  • Configures redirect and webhook behavior
  • Returns a pspReference and checkoutUrl for completing the initial payment

After completing the All subsequent operations — such as capture, cancel, refund, update, and status retrieval — reference the pspReference generated by this request. This applies to the initial payment. After performing the initial payment a recurringReference is available for the merchant in the in the response to a Status request. Subsequent MIT payments are initiated using Authorize MIT refering to this recurringReference.


Request Structure

{
  "header": {
    "merchantId": "Aera Merchant ID",
    "idempotency-key": "UUID v7 provided by merchant to uniquely identify the request"
  },
  "body": {
    "merchantInfo": {
      "ui": {  
        "mode": "enum EMBED, optional only if you want to embed Aera´s hosted checkout form in your checkout",
        "origin": "merchant URL"
      },
      "successRedirectUrl": "Redirect URL on successful payment",
      "cancelRedirectUrl": "Redirect URL on payment cancel",
      "errorRedirectUrl": "Redirect URL on payment error",
      "webhookUrl": "Absolute or relative URL (validated against configured domain)"
    },
    "transactionData": {
      "merchantReference": "Merchant provided reference to the payment (e.g. order number)",
      "immediateCapture": "Optional, true if immediate capture requested, default false",      "splitShipment": "Optional, true if shipment potentially can be split into multiple shipments",
      "amountDetails": {
        "amount": "Gross amount in minor units",
        "currency": "ISO 4217 alphabetic code (e.g.NOK), must be the same as the merchant currency"
      }
    },
    "paymentInstrumentsProfileData": {
      "merchantShopperId": "Conditional: Merchant provided end-user ID (e.g. loyalty number, phone number)",
      "pspShopperId": "Conditional: UUID assigned by PSP, either merchantShopperId or pspShopperId required",
      "paymentInstrumentReference": "Optional: Reference to a pre selected payment instrument",
      "allowStoredInstrumentsOnly": "Optional: Only present stored payment instruments as payment option - Default false"
    },
    "recurringInfo": {
      "recurringModel": "recurringInfo: Properties of the subsequent recurring payments. recurringModel: enums UNSCHEDULED, SCHEDULED",
      "recurringDescription": "Short decription of the recurring agreement",
      "recurringFrequency": "Minimum days between two subsequent recurring payments, required if recurringModel is SCHEDULED",
      "recurringExpiry": "Optional: Latest date for a recurring payment"
    }, 
    "paymentMethodInfo": {
      "paymentMethodDetails": [
        {
          "CARD": {
            "cardSchemeWhitelist": [
              "Optional: List of allowed card schemes in case you want to limit the list"
            ]
          }
        }
      ]
    }
  }
}

Response Structure

The response contains session metadata and checkout information.

{
  "responseInfo": {
    "responseCode": "000",
    "responseText": "Approved"
  },
  "sessionInfo": {
    "pspReference": "018f7a2e-8f5c-7a9b-b123-123456789abc",
    "createdAt": "2026-03-01T10:15:30Z",
    "expiredAt": "2026-03-01T10:30:30Z",
    "checkoutUrl": "https://checkout.aera.com/session/abc123"
  }
}

Field reference: Create MIT Checkout Session

HTTP Headers

🔒

Keep your x-api-key and Authorization token secret. Store them in environment variables or a secrets manager — never hard-code credentials in source files, client-side code, public repositories, or browser requests. Rotate compromised keys immediately through the Aera dashboard.

FieldTypeRequiredDefaultDescription
x-api-keystringYesAPI key assigned by Aera.
merchant-idstringYesMerchant ID assigned by Aera.
idempotency-keystring (UUID v7)YesUnique key identifying this request. Safe retries must reuse the same key.
AuthorizationstringYesBearer <access token>
AcceptstringYesapplication/vnd.payments.v1+jsonAPI versioned accept header.
Content-TypestringYesapplication/vnd.payments.v1+jsonAPI versioned content type.

Request body

merchantInfo object

FieldTypeRequiredDefaultDescription
successRedirectUrlstring (url)YesWhere the shopper is redirected after a successful payment.
cancelRedirectUrlstring (url)YesWhere the shopper is redirected if they cancel checkout.
errorRedirectUrlstring (url)YesWhere the shopper is redirected if checkout fails.
webhookUrlstring (url)NoWebhook URL override for this session. Use to receive notifications at a different URL than your default. Must match the configured domain rules
uiObjectNoOptional object used to configure how the checkout experience is rendered. Include this object only when using the embedded checkout form.
If omitted, the default behavior is redirect to the Aera Hosted Checkout Page.

ui

FieldTypeRequiredDescription
modestringYes (when ui is provided)Checkout rendering mode. Set to EMBED to render Aera’s hosted checkout form inside the merchant page.
originstring (URL)Yes (when mode = EMBED)The merchant’s origin (scheme + host, e.g. https://merchant.example). Used for security validation and postMessage communication.

transactionData object

FieldTypeRequiredDefaultDescription
merchantReferencestringYesMerchant reference (for example, order number).
immediateCapturebooleanNofalseIf true, authorizes and captures immediately. If false, authorizes first and requires capture later (if applicable).
splitShipmentbooleanNofalseSet totrueif shipment potentially can be split into multiple shipments. Ignored if immediateCapture = true
recurringPaymentInfoobjectYesDefines the properties of the subsequent recurring pyaments .
amountDetailsobjectYesAmount object (minor units).
transactionData.amountDetails
FieldTypeRequiredDefaultDescription
amountintegerYesGross amount in minor units (for example, 19900 = NOK 199.00). If the initial amount is zero, use 0.
currencystring (ISO 4217)YesCurrency code (for example, NOK), must be the same as the merchant currency.

paymentInstrumentsProfileData object (optional)

Optional object used to retrieve and manage stored payment instruments ("payment instruments on file"). Use this object if you want to present stored payment instruments or preselect an instrument.

FieldTypeRequiredDescription
merchantShopperIdstringConditionalMerchant-provided end-user identifier (e.g. loyalty number or phone). Required when retrieving stored instruments by merchant shopper ID.
pspShopperIdstring (uuid)ConditionalPSP-assigned shopper ID. Required when retrieving stored instruments by PSP shopper ID.
allowStoredInstrumentsOnlybooleanNoIf true, only stored instruments are allowed (no new instrument entry allowed). Default: false.


recurringPaymentInfo object (mandatory)

Defines the properties of the subsequent recurring payments. Enumerations:
UNSCHEDULEDFor later unscheduled payments (MIT)
SCHEDULEDFor later scheduled payments like standing orders or subscriptions (MIT).

Note that at if a payment instrument is enrolled for recurring payments and also stored for convenience, the payment instrument will have two occurences of paymentInstrumentReference. Deleting one of them will not delete the other.

To initiated subsequent recurring payments use Authorize MIT Payment.

Generally, it is the responsibility of the merchant to ensure subsequent recurring payments are within the agreed amount limits and frequency.

FieldTypeRequiredDescription
recurringModelstringYesEnumerations: UNSCHEDULEDFor subsequent unscehduled merchant-initiated payments (variable amount and frequency)
SCHEDULEDFor subsequent scheduled merchant-initiated payments payments like subscriptions and standing orders (variable amount, fixed frequency)
recurringDescriptionstringYesShort descrption of the recurring payment agreement, max 25 characters
recurringFrequencynumberConditionalMinimum number of days between two subsequent recurring payments. Required for SCHEDULED. Use 28 for monthly payments.
recurringExpirystringNoDate after which no further recurring payments shall be performed. Default is no expiry.


paymentMethodInfoobject

Controls which payment methods are available for this checkout session and allows method-specific configuration. For Create MIT only CARD is an an available option. Unless the merchant wants to restrict card schemes available, this object is not required.

FieldTypeRequiredDescription
paymentMethodDetailsarray(object)NoPer-method configuration. Include only when overriding defaults or passing method-specific data (for example, card scheme restrictions or invoice line items).

Method-specific configuration (paymentMethodInfo.paymentMethodDetails)

CARD object

FieldTypeRequiredDefaultDescription
cardSchemeWhitelistarray(string)NoLimits allowed card schemes for this payment (acts as an allowlist, for example ["VISA","MASTERCARD","AMEX"]).

Field reference: response

High-level processing result information.

FieldTypeRequiredDescription
responseCodestring (3 digits)YesResponse code from a predefined list.
responseTextstringYesHuman-readable description of the response code.

sessionInfo

Checkout session metadata.

FieldTypeRequiredDescription
pspReferencestring (UUID v7)YesUnique session identifier generated by Aera. Use this reference for all subsequent operations (capture, cancel, refund, status).
createdAtstring (ISO 8601)YesTimestamp when the session was created (UTC).
expiredAtstring (ISO 8601)YesTimestamp when the session expires (UTC).
checkoutUrlstring (URL)YesURL used to redirect the customer to initiate the hosted checkout session.



What’s Next

Did this page help you?