Create MIT Transaction
POST/payment/mit
Authorize a payment in a one-step direct flow.
This method allows the creation and performing of a merchant-initiated transaction (MIT). It authorizes (and optionally auto-captures) a MIT transaction.
In case of payments to different target merchant accounts in the same marketplace, the target merchant accounts references should be provided by merchant to their dedicated Product Solution Specialist.
The table below shows you the minimum data object requirements per payment option to be provided in checkout API. As SmartPay is handling the payment option selection for you, please always send the full data required.
| Payment option | payment | billingAddress | shippingAddress | consumer |
|---|---|---|---|---|
| Credit cards | Yes | Yes | For physical goods | Yes |
| IDEAL | Yes | Yes | Optional | Yes |
| PayPal | Yes | Yes | For physical goods | Yes |
| PayU | Yes | Yes | Optional | Yes |
| SEPA DD | Yes | Yes | Optional | Yes |
Minimum data requirements are determined by regulatory and payment provider requirements. Please reach out to your Product Solution Specialist for further details.
Request
Header Parameters
Must be application/json
Must be be en-US
The origin of the request
The client making the request
- application/json
- Body
- Example
Bodyrequired
- Array [
- Array [
- ]
- Array [
- ]
- ]
- Array [
- ]
The Merchant Key is the unique identifier for your integration. Keep this credential secure, do not store client side.
Possible values: <= 36 characters
Merchant unique request identifier.
Possible values: <= 64 characters
Stored payment option reference. Required unless dealReference is provided.
Possible values: <= 36 characters
A unique identifier provided by the integrating merchant by which the user's account can be identified e.g., customer number. Required for Create MIT transaction, unless dealReference is provided.
Possible values: <= 255 characters
payment objectrequired
The payment amount to be charged against the payment option.
Possible values: <= 3 characters
Possible values: <= 127 characters
billingAddress objectrequired
Consumer's billing address data. See Address in Data model.
Street name.
Possible values: <= 60 characters
Max-Planck-StraßeApartment, suite, unit, building, floor or other secondary address information.
Possible values: <= 60 characters
Specific delivery instructions, department names, or additional floor information.
Possible values: <= 60 characters
The city or localitly of the address.
Possible values: <= 50 characters
BerlinISO-3 code of the address country (e.g., DEU for Germany).
Possible values: >= 3 characters and <= 3 characters
DEUThe house or building number corresponding to the street address.
Possible values: <= 10 characters
30The postal or ZIP code of the address.
Possible values: <= 10 characters
144733-letter code of the address state. Mandatory when countryCode corresponds to Canada or USA.
Possible values: <= 3 characters
shippingAddress object
Consumer's shippinh address data. See Address in Data model.
Street name.
Possible values: <= 60 characters
Max-Planck-StraßeApartment, suite, unit, building, floor or other secondary address information.
Possible values: <= 60 characters
Specific delivery instructions, department names, or additional floor information.
Possible values: <= 60 characters
The city or localitly of the address.
Possible values: <= 50 characters
BerlinISO-3 code of the address country (e.g., DEU for Germany).
Possible values: >= 3 characters and <= 3 characters
DEUThe house or building number corresponding to the street address.
Possible values: <= 10 characters
30The postal or ZIP code of the address.
Possible values: <= 10 characters
144733-letter code of the address state. Mandatory when countryCode corresponds to Canada or USA.
Possible values: <= 3 characters
consumer objectnullable
Consumer's personal data, in case the consumer is a physical person. See consumer in Data model.
Conditional. Can be present if businessConsumer is missing from the request.
Consists of ISO 639-1 language code and ISO 3166-1 alpha-2 country code separated by dash. If this value is not provided the browser culture is used. Default culture is English (e.g., en-de). This field is not case sensitive.
Possible values: <= 5 characters
en-ENDate of birth. Format - YYYY-MM-DD. Mandatory for payment option registration flow. Minimum date allowed is 1900-01-01
Possible values: <= 10 characters, Value must match regular expression ^\d{4}-\d{2}-\d{2}$
1989-11-08Customer email address for any notification
Possible values: <= 255 characters
john.doe@gmail.comPerson first name
Possible values: <= 60 characters
JohnPerson gender
Possible values: <= 6 characters
MrPerson's home phone number (including the country code)
Possible values: <= 30 characters
496912345678Person last name
Possible values: <= 60 characters
DoeConsumer/Customer Account Id in the merchant system. When provided into the Create Checkout API, SmartPay will request e-wallet account creation which will have external account reference equals to the given merchantCustomerId value.
Possible values: <= 255 characters
abcd123The customer's middle name
Possible values: <= 60 characters
RobertPerson's mobile phone number (including the country code)
Possible values: <= 30 characters
496912345678Person's tax identification number
Possible values: <= 30 characters
123456789Person title
Possible values: <= 3 characters
MrPerson's work phone number (including the country code)
Possible values: <= 30 characters
496912345678businessConsumer objectnullable
Company data, in case the consumer is a business or a legal entity. See businessConsumer in Data model.
Conditional. Can be present if consumer is missing from the request.
Name of the legal entity
Possible values: <= 100 characters
Company registration country ISO2 or ISO3 code
Possible values: >= 2 characters and <= 3 characters
Company registration number
Possible values: <= 50 characters
Possible values: <= 100 characters
Consists of ISO 639-1 language code and ISO 3166-1 alpha-2 country code separated by dash. If this value is not provided the browser culture is used. Default culture is English (e.g., en-de). This field is not case sensitive.
Possible values: <= 5 characters
en-ENCustomer email address for any notification
Possible values: <= 255 characters
Person's tax identification number
Possible values: <= 30 characters
orderDetails object
Order details for the payment transaction.
Possible values: <= 225 characters
lines orderLine[]required
additionalData object[]
Possible values: <= 100 characters
Possible values: <= 255 characters
lines object[]
List of purchased items associated with the order.
Sequential line number of the item in the order.
Unique identifier or SKU of the purchased item.
Possible values: <= 64 characters
Name or description of the purchased item.
Possible values: <= 255 characters
Quantity of the item purchased.
Unit net price (excluding VAT) of a single item.
Possible values: >= 0
VAT amount per unit item.
Possible values: >= 0
Unit gross price (net price + VAT) of a single item.
Possible values: >= 0
VAT percentage applied to the item.
Possible values: >= 0 and <= 100
Total net amount for the line (quantity × unit net price).
Possible values: >= 0
Total VAT amount for the line (quantity × unit VAT price).
Possible values: >= 0
Total gross amount for the line (net amount + VAT amount).
Possible values: >= 0
totals object
Total gross amount for the line (net amount + VAT amount).
Possible values: >= 0
Total net amount for the line (quantity × unit net price).
Possible values: >= 0
Total VAT amount for the line (quantity × unit VAT price).
Possible values: >= 0
Merchant internal transaction reference. If provided, enables SmartPay to block cases of double processing.
Possible values: <= 64 characters
criteria object[]
List of custom key-value pairs that the merchant can submit.
The names callBackUrl and redirectUrl will be disregarded.
Possible values: <= 50 characters
Possible values: <= 100 characters
deal object
Details of the deal. Used only for 3RI payments (Partial/split shipment and Delayed shipment use cases).
The total amount of the deal. The sum of all payments with the same dealReference may not exceed this amount. Used only for Split Shipment flow.
Possible values: >= 0.01, Value must match regular expression ^\d{1,18}\.\d{2}$
19.99Deal identifier.
Possible values: <= 21 characters
rJIUUztdDPPqh4Zaw98pqDeal type
Possible values: <= 6 characters, [3RIPSS, 3RIDS]
3RIPSSIf provided, the payment is processed in favour of the indicated submerchant account, and the main merchant account number is ignored.
Possible values: <= 127 characters
{
"merchantKey": "73afeb44-432e-4b91-be37-a6b3d2fb7447",
"storedPaymentOptionReference": "8ac7a4a1750295aa0175074a2eb366d4",
"modificationId": "Payment-123",
"customerAccountId": "Test-123",
"payment": {
"currencyCode": "EUR",
"amount": 50.99,
"description": "SMP-Transaction-01"
},
"billingAddress": {
"addressLine1": "Leopoldstrasse",
"number": "244",
"city": "Munich",
"postCode": "80807",
"countryCode": "DE"
},
"shippingAddress": {
"addressLine1": "Leopoldstrasse",
"number": "244",
"city": "Munich",
"postCode": "80807",
"countryCode": "DE"
},
"consumer": {
"emailAddress": "hells.butcher_001@mail.com",
"gender": "f",
"lastName": "Hells",
"firstName": "Butcher",
"middleName": "fon",
"title": "Mrs",
"culture": "en-de",
"dateOfBirth": "2000-01-01",
"mobilePhone": "015xx22-2135466",
"taxId": "00745948504594"
},
"orderDetails": {
"externalOrderReference": "Test 123",
"orderPositions": [
{
"positionNumber": "1",
"positionType": "Physical",
"articleId": "321456",
"articleName": "tire",
"quantity": 4,
"netAmount": 384,
"taxAmount": 16,
"grossAmount": 400,
"taxRatePercent": 4,
"netPrice": 1536,
"taxPrice": 64,
"grossPrice": 1600
}
]
}
}
Responses
- 201
- 400
- 401
- 403
- 404
- 500
MIT payment successfully created
The Create Checkout response includes the 36-character GUID of the transaction-ID.
- application/json
- Schema
- Example (auto)
- Example
Schema
Merchant-provided unique reference for the transaction.
Possible values: <= 64 characters
5436543345876Short description of the transaction.
Possible values: <= 255 characters
SMP-UAT-02*k2t3gnPayment provider reconciliation identifier.
Possible values: <= 64 characters
FJ9wbkRjJZsRYCrjgaGGYUnique identifier for the modification request.
Possible values: <= 64 characters
mod-id-000002Status of the payment transaction (e.g., AUTHORIZATION_COMPLETED).
Possible values: <= 32 characters, [CREATED, CAPTURED, AUTHORIZATION_PENDING, AUTHORIZATION_COMPLETED, FAILED, CAPTURE_PENDING, CANCELLATION_PENDING, EXPIRED, CANCELLED, SETTLED, CHARGEBACK]
AUTHORIZATION_COMPLETEDDate and time when the transaction was created, in ISO 8601 format.
2020-12-15T14:35:44.532ZDate and time when the transaction status was last updated, in ISO 8601 format.
2020-12-15T14:36:45.031ZtransactionOverview object
Overview of the transaction.
Authorized transaction amount.
35.99Currency in ISO 4217 format.
Possible values: Value must match regular expression ^[A-Z]{3}$
EURIndicates if the transaction was a Merchant Initiated Transaction (MIT).
trueUnique identifier of the transaction.
8b52a0f0-471b-4721-8677-cf2005ae195fPayment method used (e.g., VISA, MASTERCARD).
Possible values: <= 32 characters
VISAExternal customer account reference.
Possible values: <= 255 characters
Test-123{
"partnerReference": "5436543345876",
"description": "SMP-UAT-02*k2t3gn",
"reconcialationReferenceId": "FJ9wbkRjJZsRYCrjgaGGY",
"modificationId": "mod-id-000002",
"paymentStatus": "AUTHORIZATION_COMPLETED",
"creationDate": "2020-12-15T14:35:44.532Z",
"lastStatusDate": "2020-12-15T14:36:45.031Z",
"transactionOverview": {
"amount": 35.99,
"currencyCode": "EUR",
"mit": true,
"transactionId": "8b52a0f0-471b-4721-8677-cf2005ae195f",
"paymentMethod": "VISA",
"customerAccountId": "Test-123"
}
}
{
"partnerReference": "5436543345876",
"description": "SMP-UAT-02*k2t3gn",
"reconciliationReferenceId": "FJ9wbkRjJZsRYCrjgaGGY",
"modificationId": "mod-id-000002",
"paymentStatus": "AUTHORIZATION_COMPLETED",
"creationDate": "2020-12-15T14:35:44.532Z",
"lastStatusDate": "2020-12-15T14:36:45.031Z",
"transactionOverview": {
"amount": 35.99,
"currencyCode": "EUR",
"mit": true,
"transactionId": "8b52a0f0-471b-4721-8677-cf2005ae195f",
"paymentMethod": "VISA",
"customerAccountId": "Test-123"
}
}
Bad Request
For error handling, please refer to this section.
- application/json
- Schema
- Example (auto)
- Example
Schema
Short description of the transaction.
Possible values: <= 255 characters
SMP-UAT-02*k2t3gnPayment provider reconciliation identifier.
Possible values: <= 64 characters
FJ9wbkRjJZsRYCrjgaGGYUnique identifier for the modification request.
Possible values: <= 64 characters
mod-id-000002Status of the payment transaction (e.g., FAILED).
Possible values: <= 32 characters
FAILEDDate and time when the transaction was created.
2020-12-15T14:35:44.532ZDate and time when the transaction status was last updated.
2020-12-15T14:36:45.031ZReason for transaction failure.
Possible values: <= 255 characters
Payment provider failed.transactionOverview object
Overview of the failed transaction.
Authorized transaction amount.
35.99Currency in ISO 4217 format.
Possible values: Value must match regular expression ^[A-Z]{3}$
EURIndicates if the transaction was a Merchant Initiated Transaction (MIT).
trueUnique identifier of the transaction.
8b52a0f0-471b-4721-8677-cf2005ae195fPayment method used (e.g., VISA, MASTERCARD).
Possible values: <= 32 characters
VISAExternal customer account reference.
Possible values: <= 255 characters
Test-123{
"description": "SMP-UAT-02*k2t3gn",
"reconcialationReferenceId": "FJ9wbkRjJZsRYCrjgaGGY",
"modificationId": "mod-id-000002",
"paymentStatus": "FAILED",
"creationDate": "2020-12-15T14:35:44.532Z",
"lastStatusDate": "2020-12-15T14:36:45.031Z",
"error": "Payment provider failed.",
"transactionOverview": {
"amount": 35.99,
"currencyCode": "EUR",
"mit": true,
"transactionId": "8b52a0f0-471b-4721-8677-cf2005ae195f",
"paymentMethod": "VISA",
"customerAccountId": "Test-123"
}
}
{
"description": "SMP-UAT-02*k2t3gn",
"reconciliationReferenceId": "FJ9wbkRjJZsRYCrjgaGGY",
"modificationId": "mod-id-000002",
"paymentStatus": "FAILED",
"creationDate": "2020-12-15T14:35:44.532Z",
"lastStatusDate": "2020-12-15T14:36:45.031Z",
"error": "Payment provider failed.",
"transactionOverview": {
"amount": 35.99,
"currencyCode": "EUR",
"mit": true,
"transactionId": "8b52a0f0-471b-4721-8677-cf2005ae195f",
"paymentMethod": "VISA",
"customerAccountId": "Test-123"
}
}
Unauthenticated
For error handling, please refer to this section.
- application/json
- Schema
- Example (auto)
- Example
Schema
- string
- string[]
errorDetails object
message object
{
"error": "string",
"errorDetails": {
"context": {},
"gatewayDescription": "string",
"paymentProviderDescription": "string"
},
"message": "string"
}
{
"traceId": "00-1234567890abcdef0123456789abcdef-0123456789abcdef-00",
"errors": [
{
"message": "You are not authenticated to perform this request.",
"code": "unauthorized"
}
]
}
Forbidden
For error handling, please refer to this section.
- application/json
- Schema
- Example (auto)
- Example
Schema
- string
- string[]
errorDetails object
message object
{
"error": "string",
"errorDetails": {
"context": {},
"gatewayDescription": "string",
"paymentProviderDescription": "string"
},
"message": "string"
}
{
"traceId": "00-1234567890abcdef0123456789abcdef-0123456789abcdef-00",
"errors": [
{
"message": "You do not have permissions to perform this request.",
"code": "forbidden"
}
]
}
Not Found
For error handling, please refer to this section.
- application/json
- Schema
- Example (auto)
- Example
Schema
- string
- string[]
errorDetails object
message object
{
"error": "string",
"errorDetails": {
"context": {},
"gatewayDescription": "string",
"paymentProviderDescription": "string"
},
"message": "string"
}
{
"traceId": "00-1234567890abcdef0123456789abcdef-0123456789abcdef-00",
"errors": [
{
"message": "Resource not found.",
"code": "not_found"
}
]
}
Internal Server Error
For error handling, please refer to this section.
- application/json
- Schema
- Example (auto)
- Example
Schema
- string
- string[]
errorDetails object
message object
{
"error": "string",
"errorDetails": {
"context": {},
"gatewayDescription": "string",
"paymentProviderDescription": "string"
},
"message": "string"
}
{
"traceId": "00-1234567890abcdef0123456789abcdef-0123456789abcdef-00",
"errors": [
{
"message": "Internal server error."
}
]
}