Skip to main content

Create a payment with MPI (direct)

When threeds_authentication_value and threeds_directory_server_trans_id are provided, the gateway uses the merchant's 3DS results and returns a direct response without triggering its own 3DS flow.

POST/rest/payment
payment_typeStringrequired
cardecom
order_idStringrequired
Any alphanumeric string to identify the Merchant's order
amountFloatrequired
Amount of the transaction including all taxes and shipping fees
currencyStringrequired
3 letter currency code
postback_urlStringrequired
The URL for updates about transaction status are posted
success_urlStringrequired
Where to redirect the user after a successful transaction
error_urlStringrequired
Where to redirect the user after a failed transaction
card_numberStringrequired
Full card number (PAN) of the cardholder
card_holderStringrequired
Name of the cardholder as printed on the card
card_cvvStringrequired
Card verification value (3 digits on back of card)
card_expiry_monthStringrequired
Expiry month of the card (2 digits, e.g. 01–12)
card_expiry_yearStringrequired
Expiry year of the card (4 digits, e.g. 2026)
threeds_authentication_valueStringrequired
The 3DS authentication value from the merchant's own MPI
threeds_directory_server_trans_idStringrequired
The Directory Server Transaction ID from the merchant's own MPI. Must be provided together with threeds_authentication_value.
This example includes only the minimum required parameters plus MPI 3DS results. See the Payment API Reference for the full list. The optional processing parameters from Cardholder Data Parameters such as card_entry, charge_order, clearing_mode, clear_after, and sca_exemption_request are also accepted in this flow.
Example RequestHTTP
POST /rest/payment
Authorization: Basic <base64(api_key:api_password)>
Content-Type: application/json
{
"payment_type": "cardecom",
"order_id": "12345678",
"amount": "15.90",
"currency": "EUR",
"postback_url": "https://your-postback.url.com",
"success_url": "https://your-success.url.com",
"error_url": "https://your-error.url.com",
"card_number": "4761070000000509",
"card_holder": "John Doe",
"card_cvv": "196",
"card_expiry_month": "12",
"card_expiry_year": "2026",
"threeds_authentication_value": "AUTHENTICATION_VALUE",
"threeds_directory_server_trans_id": "54c64c00-eef8-4a8b-af44-fee8cc57e530"
}

Payment API Response​

transaction_idString
ID of the created transaction
payment_typeString
Payment type of the transaction
status_codeInteger
Status code of the transaction
statusString
Status of the transaction
order_idString
Order ID of the transaction
messageString
Optional additional information about the transaction result
additional_transaction_dataString
Additional transaction data provided by you. This will be shown in the dashboard as well as when you query for transaction data. It will also be sent back to your postback_url as part of the postback data.
amountFloat
Amount of the transaction
included_feesString
Included fees for the transaction
error_codeInteger
Error code for the response
Example ResponseJSON
{
"transaction_id": "938834bc-769f-44e7-ab25-da9aeaad5346",
"payment_type": "cardecom",
"status_code": 3,
"status": "completed",
"order_id": "12345678",
"message": null,
"additional_transaction_data": "",
"included_fees": "0.00",
"error_code": 0
}

Postbacks​

For the full list of payment postback fields, see the Payment API. For refund postbacks, see the Refund API. For retry policy and signature verification, see Postbacks.

Test Data​

For merchants using their own MPI for 3DS authentication, use the following test values:

ParameterTest Value
threeds_authentication_valueAUTHENTICATION_VALUE
threeds_directory_server_trans_id54c64c00-eef8-4a8b-af44-fee8cc57e530
card_number5286940020000908
card_holderMax Mustermann
card_cvv196
card_expiry_month12
card_expiry_year2026