NAV
Shell

API

Welcome to the MultiSafepay API documentation (JSON gateway).

How to navigate the API documentation

The left column contains an overview of our JSON API. By clicking on a topic you can find specific information about the specific API request.

The middle column provides the detailed information you are looking for. This contains a description of how to use the API request and a reference for the parameters and types involved.

The right column shows examples of the specific JSON request and response which can be expected.

What our API offers:

Our API enables you to perform different calls through which you can start transactions, update transactions, perform refunds and receive information about transactions.

The API also offers advanced operations to enable you to use split payments and recurring payments.

We encourage you to study this API and start implementing your custom integration against our TEST environment.

If there are any questions, do not hesitate to contact us at [email protected].

Overview

Environments

TEST API

https://testapi.multisafepay.com/v1/json

LIVE API

https://api.multisafepay.com/v1/json

MultiSafepay provides a TEST environment and a LIVE environment. The TEST environment is useful for developing and testing a new integration with our API as no real transactions are able to be processed. Once the integration has been developed processing real transactions is as simple as addressing the LIVE API and updating the API Key being used.

TEST Merchant Panel

LIVE Merchant Panel

Authentication

All requests to the MultiSafepay API endpoint require authentication. Authentication is provided by including an API key as an HTTP header in your request. Each website has it’s own API key so if you are operating multiple websites be sure to use the correct API key for each site. The API key can be found under the website settings in MultiSafepay Control.

The HTTP header name for the API Key is: api_key

Open a TEST Account

Localization

GET - /gateways?locale=es

For all requests MultiSafepay provides an optional localization parameter which is used to specify a language used to display gateway information and other messages in the responses. To get a localized response for any request simply add the ISO 639-1 language code to the query string of any request. The default language is English.

Gateways

A payment gateway facilitates a payment transaction by the transfer of information between the ecommerce shop, MultiSafepay & the payment method. Available payment methods under your MultiSafepay account are returned as gateways.

Retrieve all gateways

GET - /gateways?country={country}&currency={currency}&amount={amount}&include={include} 

JSON response

{
  "success": true,
  "data": [
    {
      "id": "MASTERCARD",
      "description": "MasterCard"
    },
    {
      "id": "VISA",
      "description": "Visa"
    }
  ]
}
Parameter Type Description
country (optional) string Specify an ISO-3166-1 country code to filter out payment gateways that are not applicable for the specified country. This can be used to simplify the list of payment options presented to the customer by removing payment methods specific to other countries e.g. giropay or iDEAL.
currency (optional) string Specify an ISO-4217 currency code to filter out payment gateways that are not applicable for the specified currency. This can be used to simplify the list of payment options presented to the customer by only displaying payment methods supported by the transaction currency. e.g. Credit Cards.
amount (optional) string Specify the transaction amount (in cents) to filter out payment gateways that are not applicable for that amount. This is commonly used to exclude Pay After Delivery as a payment option for very small, or large, amounts but can also be configured to exclude other payment methods.
include (optional) string Specify comma delimited additional payment method types. Options: coupons

Retrieve a gateway

GET - /gateways/{id} 

JSON response

{
  "success": true,
  "data": {
    "id": "{id}",
    "description": "{description of payment method}"
  }
}
Parameter Type Description
id (required) string The unique identifier of the gateway to be returned.

Gateway Issuers

GET - /issuers/ideal

JSON response

{
  "success": true,
  "data": [
    {
      "code": "0031",
      "description": "ABN AMRO"
    },
    {
      "code": "0751",
      "description": "SNS Bank"
    },
    {
      "code": "0721",
      "description": "ING"
    },
    {
      "code": "0021",
      "description": "Rabobank"
    },
    {
      "code": "0761",
      "description": "ASN Bank"
    },
    {
      "code": "0771",
      "description": "Regio Bank"
    },
    {
      "code": "0511",
      "description": "Triodos Bank"
    },
    {
      "code": "0161",
      "description": "Van Lanschot Bankiers"
    },
    {
      "code": "0801",
      "description": "Knab"
    },
    {
      "code": "4371",
      "description": "Bunq"
    },
    {
      "code": "1234",
      "description": "Moneyou"
    },
    {
      "code": "1235",
      "description": "Handelsbanken"
    }
  ]
}
Parameter Type Description
id (required) string The unique identifier of the payment gateway to retrieve an issuer list for. Currently supported identifiers are: iDEAL.

Orders

An order needs to be created to process the payment transaction. You have two main types of orders

You can also create a:

Create an order

POST - /orders

{
    "type": "redirect",
    "order_id": "my-order-id-1",
    "gateway": "",
    "currency": "EUR",
    "amount": "1000",
    "description": "Test Order Description",
    "payment_options": {
        "notification_url": "http://www.example.com/client/notification?type=notification",
        "redirect_url": "http://www.example.com/client/notification?type=redirect",
        "cancel_url": "http://www.example.com/client/notification?type=cancel"
    },
    "customer": {
        "locale": "en_US"
    }
}

JSON Response:

{
  "success": true,
  "data": {
    "order_id": "apitool_6467377",
    "payment_url": "https://payv2.multisafepay.com/connect/13wFwA57daBSY2mg6u7AFId47UvABvzbwMx/?lang=nl_NL"
  }
}

Creates redirect order. Default type is “redirect”.

Parameter Type Description
type (optional) (string) Specifies the payment flow for the checkout process. Options: redirect, direct, checkout, paymentlink
gateway (optional) (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request.
order_id (required) (string) The unique identifier from your system for the order.
currency (required) (string) The currency ISO-4217 you want the customer to pay with.
amount (required) (number) The amount (in cents) that the customer needs to pay.
description (required) (string) A text which will be shown with the order in MultiSafepay Control. If the customer’s bank supports it this description will also be shown on the customer’s bank statement. Max. 200 characters. HTML is no longer supported. Use the ‘items’ or ‘shopping_cart’ objects for this.
payment_options (optional) (object) Contains the redirect_url, cancel_url and notification_url.
customer (optional) (object) Contains personal information about the consumer.

Create Direct Order

{
    "type": "direct",
    "order_id": "apitool_6903593",
    "currency": "EUR",
    "amount": 100000,
    "gateway": "iDEAL",
    "description": "product description",
    "custom_info": {},
    "gateway_info": {
        "issuer_id": "0021"
    },
    "payment_options": {
        "notification_url": "http://10.1.10.111/testtool/client/json-live/notification?type=notification",
        "redirect_url": "http://10.1.10.111/testtool/client/json-live/notification?type=redirect",
        "cancel_url": "http://10.1.10.111/testtool/client/json-live/notification?type=cancel",
        "close_window": true
    }
}

JSON response

{
  "success": true,
  "data": {
    "transaction_id": 259133831,
    "order_id": "apitool_6903593",
    "created": "2019-03-04T13:52:07",
    "currency": "EUR",
    "amount": 100000,
    "description": "product description",
    "var1": null,
    "var2": null,
    "var3": null,
    "items": null,
    "amount_refunded": 0,
    "status": "initialized",
    "financial_status": "initialized",
    "reason": "",
    "reason_code": "",
    "fastcheckout": "NO",
    "modified": "2019-03-04T13:52:07",
    "customer": {
      "locale": "en_US",
      "first_name": null,
      "last_name": null,
      "address1": null,
      "address2": null,
      "house_number": null,
      "zip_code": null,
      "city": null,
      "state": null,
      "country": null,
      "country_name": null,
      "phone1": null,
      "phone2": "",
      "email": ""
    },
    "payment_details": {
      "recurring_id": null,
      "type": "IDEAL",
      "account_id": null,
      "account_holder_name": null,
      "external_transaction_id": "0050003729272772",
      "account_iban": "https://betalen.rabobank.nl/ideal-betaling/landingpage?random=44b2dcf080f29f6f52d05802fd76e31285ac564dc974319f0109e1d978234770&trxid=0050003729272772",
      "isser_id": "0021"
    },
    "costs": [
      {
        "transaction_id": 278584597,
        "description": "0.49 For iDEAL Transactions",
        "type": "SYSTEM",
        "amount": 0.49
      }
    ],
    "payment_url": "https://betalen.rabobank.nl/ideal-betaling/landingpage?random=44b2dcf080f29f6f52d05802fd76e31285ac564dc974319f0109e1d978234770&trxid=0050003729272772"
  }
}

Creates a direct order. Depending the payment method additional information should be provided. See each payment method reference for additional information Supported payment methods are: IDEAL, CREDITCARDS, PAYAFTER, EINVOICE, KLARNA, KLARNA_ACC, DIRDEB, DIRECTBANK, BANKTRANS, PAYPAL, BELFIUS, ING, KBC, ALIPAY

Parameter Type Description
type (required) (string) Specifies the payment flow for the checkout process. Options: direct
gateway (required) (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request.
order_id (required) (string) The unique identifier from your system for the order.
currency (required) (string) The currency ISO-4217 you want the customer to pay with.
amount (required) (number) The amount (in cents) that the customer needs to pay.
description (required) (string) A text which will be shown with the order in MultiSafepay Control. If the customer’s bank supports it this will also be shown on the bank statement. Max 200 characters. HTML is no longer supported. Use the ‘items’ or ‘shopping_cart’ objects for this.
payment_options (required) (object) Contains the redirect_url, cancel_url and notification_url.
customer (required) (object) Contains personal information about the consumer.

Recurring Payment

{ 
  "type": "direct",
  "gateway": "{gatewaycode here}",
  "order_id": my-order-id-1, 
  "recurring_id": "{recurring_id}", 
  ... 
  },
}

JSON response

{
  "success": true,
  "data": {
    "transaction_id": 3341487,
    "order_id": "apitool_11563035",
    "created": "2019-03-04T14:11:37",
    "currency": "EUR",
    "amount": 9743,
    "description": "Test order description",
    "var1": null,
    "var2": null,
    "var3": null,
    "items": "2 x : GEOMETRIC CANDLE HOLDERS",
    "amount_refunded": 0,
    "status": "initialized",
    "financial_status": "initialized",
    "reason": "",
    "reason_code": "",
    "fastcheckout": "NO",
    "modified": "2019-03-04T14:11:37",
    "customer": {
      "locale": "en",
      "first_name": null,
      "last_name": "Test Last name",
      "address1": "address 1",
      "address2": "address 2",
      "house_number": 22,
      "zip_code": 29000,
      "city": "marbella",
      "state": null,
      "country": "ES",
      "country_name": null,
      "phone1": 66633311155,
      "phone2": "",
      "email": "[email protected]"
    },
    "payment_details": {
      "recurring_id": "998107303567460264",
      "type": "DIRDEB",
      "account_id": 1,
      "account_holder_name": "J Janse",
      "external_transaction_id": "5201906233414870",
      "account_iban": "NL87ABNA0000000001",
      "account_bic": "ABNANL2A"
    },
    "costs": [],
    "payment_url": "http://10.1.10.111/testtool/client/json-test/notification?type=redirect&transactionid=apitool_11563035",
    "cancel_url": "http://10.1.10.111/testtool/client/json-test/notification?type=cancel&transactionid=apitool_11563035"
  }
}

Recurring Payments can be done using Credit Cards (VISA, MasterCard) and SEPA Direct Debit. iDEAL and SOFORT Banking can be used for an initial payment as well, and followed up by a recurring payment with SEPA Direct Debit. A merchant account with recurring payment enabled will receive a recurring ID in the transaction response. The recurring ID can be used for future transactions.

Parameter Type Description
type (required) (string) Specifies the payment flow for the checkout process. Options: direct
gateway (required) (string) Specifies the payment method used for the checkout process. Options: AMEX, DIRDEB, MASTERCARD, VISA. DIRDEB is to be used after initial payment with IDEAL, DIRECTBANK (Sofort) and DIRDEB.
order_id (required) (string) The unique identifier from your system for the order.
recurring_id (required) number) A previously stored recurring_id referring to a payment method to be charged again.
currency (required) string) The currency ISO-4217 you want the customer to pay with.
amount (required) (number) The amount (in cents) that the customer needs to pay.
description (required) (string) A text which will be shown with the order in MultiSafepay Control. If the customer’s bank supports it this will also be shown on the bank statement. Max 200 characters. HTML is no longer supported. Use the ‘items’or ‘shopping_cart’ objects for this.
payment_options (required) (object) Contains the redirect_url, cancel_url and notification_url.

Split Payments

POST - /orders

{
    "type": "redirect",
    "order_id": "my-order-id-1",
    "currency": "EUR",
    "amount": "9743",
    "description": "Split Payment Order",
    "affiliate": {
        "split_payments": [
            {
                "merchant": 1001001,
                "fixed": 112,
                "description": "Fixed fee"
            },
            {
                "merchant": 1001001,
                "percentage": 11.2,
                "description": "percentage fee"
            }
        ]
    }
}

JSON response

{
  "success": true,
  "data": {
    "order_id": "my-order-id-1",
    "payment_url": "https://payv2.multisafepay.com/connect/99wi0OTuiCaTY2nwEiEOybWpVx8MNwrJ75c/?lang=en_US"
  }
}

Split Payments allows to spread a transaction amount over several Merchant Accounts. Additionally, consumer goods from several online shops can be charged in a single consumer transaction. Merchants can choose to split payments based on percentage, a fixed amount or a combination of the two.

Parameter Type Description
gateway (optional) (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request.
order_id (required) (string) The unique identifier from your system for the order.
currency (required) (string) The currency (ISO-4217) you want the customer to pay with.
amount (required) (number) The amount (in cents) that the customer needs to pay.
description (required) (string) A text which will be shown with the order in MultiSafepay Control. If the customer’s bank supports it this will also be shown on the bank statement. Max 200 characters. HTML is no longer supported. Use the ‘items’ or ‘shopping_cart’ objects for this.
payment_options (required) (object)
custom_info (optional) (object)
split_payments (required) (object)
split_payments.merchant (optional) (number) Affiliate Merchant Id.
split_payments.percentage (optional) (float) Define a percentage of the amount to split.
split_payments.fixed (optional) (integer) Define amount to split in cents.
split_payments.description (optional) (string) Description.

Update an order

PATCH - /orders/{order_id}

{
    "status": "shipped",
    "tracktrace_code": "3SMSP0123456789",
    "carrier": "MSP Logistics",
    "ship_date": "01-01-1911",
    "reason": "Fulfilled by warehouse",
    "invoice_id": "AB12345"
}

JSON Response:

{
  "success": true,
  "data": {}
}

Update order details

Parameter Type Description
id (required) (string) The unique identifier of the order which should be updated.
status (optional) (string) The new order status. Options: void, completed, shipped
tracktrace_code (optional) (string) The track and trace code provided by the shipping company.
tracktrace_url (optional) (string) The track and trace url provided by the shipping company.
carrier (optional) (string) The name of the shipping company delivering the customer’s order.
ship_date (optional) (string) The date that the order was shipped.
reason (optional) (string) Add a short free text memo to the order when setting the shipping status.
invoice_id (optional) (string) Update an existing order with a reference to your internal invoice id. The invoice id will be added to financial reports and exports generated within MultiSafepay Control.

Retrieve an order

GET - /orders/{order_id}

JSON response

{
  "success": true,
  "data": {
    "transaction_id": 258655825,
    "order_id": "{order_id}",
    "created": "2019-03-01T16:12:47",
    "currency": "EUR",
    "amount": 200,
    "description": "Test Order Description",
    "var1": null,
    "var2": null,
    "var3": null,
    "items": null,
    "amount_refunded": 200,
    "status": "refunded",
    "financial_status": "completed",
    "reason": "Successful approval/completion",
    "reason_code": "",
    "fastcheckout": "NO",
    "modified": "2019-03-01T16:13:14",
    "customer": {
      "locale": "nl_NL",
      "first_name": "Testperson-nl",
      "last_name": "Approved",
      "address1": "Neherkade",
      "address2": null,
      "house_number": "XI",
      "zip_code": "2521VA",
      "city": "Gravenhage",
      "state": null,
      "country": "NL",
      "country_name": null,
      "phone1": "0612345678",
      "phone2": "",
      "email": "[email protected]"
    },
    "payment_details": {
      "recurring_id": "{Recurring_id}",
      "type": "VISA",
      "account_id": null,
      "account_holder_name": "Testperson-nl Approved",
      "external_transaction_id": 906015000050,
      "last4": "1234",
      "card_expiry_date": 1904
    },
    "costs": [
      {
        "transaction_id": 258656087,
        "description": "Refund order 258655825 for TEST TEST",
        "type": "internal",
        "status": "completed",
        "created": "2019-03-01T16:14:02",
        "amount": 0.19
      }
    ],
    "related_transactions": [
      {
        "amount": 200,
        "costs": [
          {
            "amount": 19,
            "currency": "EUR",
            "description": "EURO 0.19 per refund",
            "status": "reserved",
            "type": "SYSTEM"
          }
        ],
        "created": "2019-03-01T16:14:02",
        "currency": "EUR",
        "description": "Refund order 258655825 for TEST TEST",
        "modified": "2019-03-01T16:14:02",
        "status": "completed",
        "transaction_id": 258656087
      }
    ],
    "payment_methods": [
      {
        "account_holder_name": "Testperson-nl Approved",
        "amount": 200,
        "card_expiry_date": 1904,
        "currency": "EUR",
        "description": "Test Order Description",
        "external_transaction_id": 906015000050,
        "last4": 1234,
        "payment_description": "Visa",
        "status": "completed",
        "type": "VISA"
      }
    ]
  }
}

Get order status & information. Depending the order type or method, the structure may be different.

Parameter Type Description
id (required) (string) The unique identifier of the order to be returned.

Dynamic Template

{
    "type": "redirect",
    "order_id": "my-order-id-1",
    "gateway": "",
    "currency": "EUR",
    "amount": "9743",
    "description": "Test Order Description",
    "manual": "false",
    "payment_options": {
        "notification_url": "http://10.1.10.111/testtool/client/json-test/notification?type=notification",
        "redirect_url": "http://10.1.10.111/testtool/client/json-test/notification?type=redirect",
        "cancel_url": "http://10.1.10.111/testtool/client/json-test/notification?type=cancel",
        "template_id": "123456",
        "template": {
            "version": "1.0",
            "settings": {
                "hide_logo": false,
                "hide_flags": false,
                "hide_powered": false,
                "hide_cart": false,
                "hide_btn_cancel": false,
                "hide_cc_logos": false,
                "hide_btn_all_methods": false
            },
            "header": {
                "logo": {
                    "image": ""
                },
                "cover": {
                    "image": ""
                },
                "background": "",
                "text": "#333"
            },
            "body": {
                "text": "#ab141b",
                "background": "#fdfcfc",
                "link": {
                    "text": "#00acf1",
                    "hover": {
                        "text": "",
                        "border": ""
                    }
                }
            },
            "container": {
                "text": "#ffffff",
                "label": "#a4a3a3",
                "background": "#080808",
                "link": {
                    "text": ""
                }
            },
            "cart": {
                "text": "#333333",
                "label": "#8b8b8b",
                "background": "#ffffff",
                "border": "#333333"
            },
            "payment_form": {
                "text": "#ab141b",
                "background": "#ffffff",
                "border": "#333333",
                "inputs": {
                    "border": "#bdbbbb",
                    "label": "#8b8b8b"
                }
            },
            "buttons": {
                "payment_method": {
                    "background": "#ffffff",
                    "text": "#ab141b",
                    "border": "#333333",
                    "hover": {
                        "background": "#ab141b",
                        "text": "#ffffff",
                        "border": ""
                    },
                    "active": {
                        "background": "",
                        "text": "",
                        "border": ""
                    }
                },
                "secondary": {
                    "background": "#00acf1",
                    "text": "#ffffff",
                    "hover": {
                        "background": "",
                        "text": ""
                    }
                },
                "primary": {
                    "background": "#cccccc",
                    "text": "#ffffff",
                    "hover": {
                        "background": "",
                        "text": ""
                    }
                }
            }
        }
    },
    "customer": {
        "email": "[email protected]"
    }
}

JSON response

{
  "success": true,
  "data": {
    "order_id": "my-order-id-1",
    "payment_url": "https://payv2.multisafepay.com/connect/99nLCOVePuESY2e8ri8xqJsUSY9ocqUuxVd/?lang=nl_NL"
  }
}

Within a transaction request a template of the MultiSafepay payment page can be defined. This can be done by providing a template_id of a predefined template within the MultiSafepay account, or by providing a template object structure within the transaction request. When both are provided within the request, the template object is primary.

The template object structure needs to include the JSON css parameters. When sending partial css settings within the template structure, only the sent parameter will override the default MultiSafepay template.

When sending images within the template structure for the “logo” and “header” you can use external references but they must be using https, otherwise they will be ignored.

Parameter Type Description
gateway (optional) (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request.
order_id (required) (string) The unique identifier from your system for the order.
currency (required) (string) The currency ISO-4217 you want the customer to pay with.
amount (required) (number) The amount (in cents) that the customer needs to pay.
description (required) (string) A text which will be shown with the order in MultiSafepay Control. If the customer’s bank supports it this will also be shown on the bank statement. Max 200 characters. HTML is no longer supported. Use the ‘items’ or ‘shopping_cart’ objects for this.
payment_options (required) (object) Define a template structure or template_id. Template structure overrules template_id.
customer (optional) (object) Contains personal information about the consumer.

Payment Methods

AfterPay

{
    "type": "direct",
    "gateway": "AFTERPAY",
    "order_id": "my-order-id-1",
    "currency": "EUR",
    "amount": "37380",
    "description": "Test Order Description",
    "var1": "",
    "var2": "",
    "var3": "",
    "items": "",
    "manual": "false",
    "payment_options": {
        "notification_url": "http:\/\/www.example.com\/client\/notification?type=notification",
        "redirect_url": "http:\/\/www.example.com\/client\/notification?type=redirect",
        "cancel_url": "http:\/\/www.example.com\/client\/notification?type=cancel"
    },
    "customer": {
        "locale": "nl_NL",
        "ip_address": "31.148.195.10",
        "forwarded_ip": "",
        "first_name": "Testperson-nl",
        "last_name": "Approved",
        "address1": "Neherkade",
        "address2": "",
        "house_number": "1\/XI",
        "zip_code": "2521VA",
        "city": "Gravenhage",
        "state": "",
        "country": "NL",
        "email": "[email protected]",
        "referrer": "http:\/\/multisafepay-demo.com\/plugingroup\/dev\/magento\/1901\/checkout\/cart\/",
        "user_agent": "Mozilla\/5.0 (Windows NT 6.3; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/38.0.2125.111 Safari\/537.36"
    },
    "delivery": {
        "first_name": "Testperson-nl",
        "last_name": "Approved",
        "address1": "Neherkade",
        "address2": "",
        "house_number": "1\/XI",
        "zip_code": "2521VA",
        "city": "Gravenhage",
        "state": "",
        "country": "NL",
        "phone": "0612345678",
        "email": "[email protected]"
    },
    "gateway_info": {
        "birthday": "1970-07-10",
        "gender": "mr",
        "phone": "0612345678",
        "email": "[email protected]"
    },
    "shopping_cart": {
        "items": [
            {
                "name": "Geometric Candle Holders",
                "description": "",
                "unit_price": "90",
                "quantity": "3",
                "merchant_item_id": "1111",
                "tax_table_selector": "BTW21",
                "weight": {
                    "unit": "KG",
                    "value": "12"
                }
            },
            {
                "name": "Nice apple",
                "description": "",
                "unit_price": "35",
                "quantity": "1",
                "merchant_item_id": "666666",
                "tax_table_selector": "BTW6",
                "weight": {
                    "unit": "KG",
                    "value": "20"
                }
            },
            {
                "name": "Flat Rate - Fixed",
                "description": "Shipping",
                "unit_price": "10.0000",
                "quantity": "1",
                "merchant_item_id": "msp-shipping",
                "tax_table_selector": "none",
                "weight": {
                    "unit": "KG",
                    "value": "0"
                }
            }
        ]
    },
    "checkout_options": {
        "tax_tables": {
            "default": {
                "shipping_taxed": "true",
                "rate": "0.21"
            },
            "alternate": [
                {
                    "name": "BTW21",
                    "standalone": true,
                    "rules": [
                        {
                            "rate": "0.21"
                        }
                    ]
                },
                {
                    "name": "BTW6",
                    "standalone": true,
                    "rules": [
                        {
                            "rate": "0.06"
                        }
                    ]
                },
                {
                    "name": "BTW0",
                    "standalone": true,
                    "rules": [
                        {
                            "rate": "0.00"
                        }
                    ]
                },
                {
                    "name": "0.0000",
                    "standalone": false,
                    "rules": [
                        {
                            "rate": "0"
                        }
                    ]
                },
                {
                    "name": "0.0000",
                    "standalone": false,
                    "rules": [
                        {
                            "rate": "0"
                        }
                    ]
                },
                {
                    "name": "FEE",
                    "standalone": false,
                    "rules": [
                        {
                            "rate": "0.00"
                        }
                    ]
                },
                {
                    "name": "none",
                    "standalone": false,
                    "rules": [
                        {
                            "rate": "0.00"
                        }
                    ]
                },
                {
                    "name": "2",
                    "standalone": true,
                    "rules": [
                        {
                            "rate": "0.0825",
                            "country": "US"
                        },
                        {
                            "rate": "0.08375",
                            "country": "US"
                        }
                    ]
                }
            ]
        }
    }
}

JSON response

{
    "success": true,
    "data": {
        "transaction_id": 2340676,
        "order_id": "my-order-id-1",
        "created": "2017-09-29T16:13:10",
        "currency": "EUR",
        "amount": 26000,
        "description": "Test Order Description",
        "var1": null,
        "var2": null,
        "var3": null,
        "items": "",
        "amount_refunded": 0,
        "status": "completed",
        "financial_status": "initialized",
        "reason": "",
        "reason_code": "",
        "fastcheckout": "NO",
        "modified": "2017-09-29T16:13:10",
        "customer": {
            "locale": "en_US",
            "first_name": "Testperson-nl",
            "last_name": "Approved",
            "address1": "Neherkade",
            "address2": null,
            "house_number": "39c",
            "zip_code": "1033SC",
            "city": "Gravenhage",
            "state": null,
            "country": "NL",
            "country_name": null,
            "phone1": "0612345678",
            "phone2": "",
            "email": "[email protected]"
        },
        "payment_details": {
            "recurring_id": null,
            "type": "",
            "account_id": 10071970,
            "account_holder_name": null,
            "external_transaction_id": 2379429850
        },
        "shopping_cart": {
            "items": [
                {
                    "name": "Item demo 1",
                    "description": "",
                    "unit_price": "90.00",
                    "currency": "EUR",
                    "quantity": 2,
                    "merchant_item_id": 666666,
                    "tax_table_selector": "none",
                    "cashback": "",
                    "image": "",
                    "product_url": "",
                    "weight": {
                        "unit": "KG",
                        "value": 12
                    },
                    "options": []
                },
                {
                    "name": "Item demo 2",
                    "description": "",
                    "unit_price": "35.00",
                    "currency": "EUR",
                    "quantity": 2,
                    "merchant_item_id": 666666,
                    "tax_table_selector": "none",
                    "cashback": "",
                    "image": "",
                    "product_url": "",
                    "weight": {
                        "unit": "KG",
                        "value": 20
                    },
                    "options": []
                },
                {
                    "name": "Item shipping - Flat Rate - Fixed",
                    "description": "Shipping",
                    "unit_price": "10.00",
                    "currency": "EUR",
                    "quantity": 1,
                    "merchant_item_id": "msp-shipping",
                    "tax_table_selector": "none",
                    "cashback": "",
                    "image": "",
                    "product_url": "",
                    "weight": {
                        "unit": "KG",
                        "value": 0
                    },
                    "options": []
                }
            ]
        },
        "checkout_options": {
            "default": {
                "shipping_taxed": true,
                "rate": 0.21
            },
            "alternate": [
                {
                    "standalone": true,
                    "name": "BTW21",
                    "rules": [
                        {
                            "rate": 0.21,
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": true,
                    "name": "BTW6",
                    "rules": [
                        {
                            "rate": 0.06,
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": true,
                    "name": "BTW0",
                    "rules": [
                        {
                            "rate": "0.00",
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": "",
                    "name": "0.0000",
                    "rules": [
                        {
                            "rate": "0.00",
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": "",
                    "name": "0.0000",
                    "rules": [
                        {
                            "rate": "0.00",
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": "",
                    "name": "FEE",
                    "rules": [
                        {
                            "rate": "0.00",
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": "",
                    "name": "none",
                    "rules": [
                        {
                            "rate": "0.00",
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": true,
                    "name": 2,
                    "rules": [
                        {
                            "rate": 0.0825,
                            "country": "US"
                        },
                        {
                            "rate": 0.08375,
                            "country": "NL"
                        }
                    ]
                }
            ]
        },
        "order_adjustment": {
            "total_adjustment": "0.00",
            "total_tax": "0.00"
        },
        "order_total": "260.00",
        "costs": [],
        "payment_url": "http:\/\/www.example.com\/client\/?action=notification&type=redirect&transactionid=2340676",
        "cancel_url": "http:\/\/www.example.com\/client\/?action=notification&type=cancel&transactionid=2340676"
    }
}

Creates an AfterPay order to be paid after delivery

Parameter Type Description
type (optional) (string) Specifies the payment flow for the checkout process. Options: direct, redirect
gateway (optional) (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request. Options: AFTERPAY
order_id (required) (string) The unique identifier from your system for the order.
currency (required) (string) The currency ISO-4217 you want the customer to pay with.
amount (required) (number) The amount (in cents) that the customer needs to pay.
description (required) (string) A free text description which will be shown with the order in MultiSafepay Control. If the customers bank supports it this description will also be shown on the customers bank statement. Max 200 characters. HTML is no longer supported. Use the required ‘shopping-cart’ object for this.
payment_options (required) (object)
customer (required) (object)
delivery (required) (object)
shopping_cart (required) (object) Contains all purchased items including tax class.
checkout_options (required) (object) Defines all tax classes to be used for the shopping cart items.
gateway_info (required) (object)
birthday (required) (string) The birth date of the customer in the format yyyy-mm-dd. This is required for credit checks. Required in countries: DE, NL, DK, BE, AT Optional in countries: CH, NO, FI, SE
phone (required) (string) The phone number where the customer can be reached. This is required for credit checks and to contact the customer in case of non-payment.
email (required) (string) The email address where the system can send payment instructions to the customer.
gender (required) (string) The gender salutation of the customer. Options: mr, mrs, miss

Alipay

{
    "type": "redirect",
    "order_id": "my-order-id-1",
    "gateway": "ALIPAY",
    "currency": "EUR",
    "amount": "1000",
    "description": "Test Order Description",
    "payment_options": {
        "notification_url": "https:\/\/www.example.com\/client\/notification?type=notification",
        "redirect_url": "https:\/\/www.example.com\/client\/notification?type=redirect",
        "cancel_url": "https:\/\/www.example.com\/client\/notification?type=cancel"
    },
    "customer": {
        "locale": "en_US"
    }
}

JSON Response

{
    "success": true,
    "data": {
        "order_id": "my-order-id-1",
        "payment_url": "https:\/\/payv2.multisafepay.com\/connect\/13oElUaESR7YS2b4gUJV9oI4tUXeb1mj1D8\/?lang=nl_NL"
    }
}
Parameter Type Description
type (optional) (string) Specifies the payment flow for the checkout process. Options: redirect, direct, paymentlink.
gateway optional (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request. Options: ALIPAY.
order_id (required) (string) The unique identifier from your system for the order
currency (required) (string) The currency (ISO-4217) you want the customer to pay with.
amount (required) (number) The amount (in cents) that the customer needs to pay.
description (required) (string) A text which will be shown with the order in MultiSafepay Control. If the customer’s bank supports it this will also be shown on the bank statement. Max. 200 character. HTML is no longer supported. Use the ‘items’ or ‘shopping_cart’ objects for this.
payment_options (required) (object) Contains the redirect_url, cancel_url and notification_url.
customer (optional) (object) Contains the personal information of the cosnumer.

Bancontact

{
    "type": "redirect",
    "order_id": "my-order-id-1",
    "gateway": "MISTERCASH",
    "currency": "EUR",
    "amount": "1000",
    "description": "Test Order Description",
    "payment_options": {
        "notification_url": "http:\/\/localhost\/apidocs\/documentation\/doc\/API-Reference\/?action=notification&type=notify",
        "redirect_url": "http:\/\/localhost\/apidocs\/documentation\/doc\/API-Reference\/?action=notification&type=redirect",
        "cancel_url": "http:\/\/localhost\/apidocs\/documentation\/doc\/API-Reference\/?action=notification&type=cancel"
    },
    "customer": {
        "locale": "en_US"
    }
}

JSON Response

{
    "success": true,
    "data": {
        "order_id": "my-order-id-1",
        "payment_url": "https:\/\/payv2.multisafepay.com\/connect\/13oElUaESR7YS2b4gUJV9oI4tUXeb1mj1D8\/?lang=nl_NL"
    }
}
Parameter Type Description
type (optional) (string) Specifies the payment flow for the checkout process. Options: redirect
gateway (optional) (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request. Options: MISTERCASH
order_id (required) (string) The unique identifier from your system for the order
currency (required) (string) The currency (ISO-4217) you want the customer to pay with
amount (required) (number) The amount (in cents) that the customer needs to pay
description (required) (string) A text which will be shown with the order in MultiSafepay Control. If the customer’s bank supports it this will also be shown on the bank statement. Max. 200 characters. HTML is no longer supported. Use the ‘items’ or ‘shopping_cart’ objects for this.
payment_options (required) (object) Contains the redirect_url, cancel_url and notification_url.
customer (optional) (object) Contains the personal information of the consumer.

Bank Transfer

{
    "type": "direct",
    "order_id": "my-order-id-1",
    "gateway": "BANKTRANS",
    "currency": "EUR",
    "amount": "9743",
    "description": "Test Order Description",
    "payment_options": {
        "notification_url": "https:\/\/www.example.com\/client\/notification?type=notification",
        "redirect_url": "https:\/\/www.example.com\/client\/notification?type=redirect",
        "cancel_url": "https:\/\/www.example.com\/client\/notification?type=cancel"
    }
}

JSON Response

{
    "success": true,
    "data": {
        "transaction_id": 2340670,
        "order_id": "my-order-id-1",
        "created": "2017-09-29T15:55:09",
        "currency": "EUR",
        "amount": 9743,
        "description": "product description",
        "var1": null,
        "var2": null,
        "var3": null,
        "items": null,
        "amount_refunded": 0,
        "status": "initialized",
        "financial_status": "initialized",
        "reason": "",
        "reason_code": "",
        "fastcheckout": "NO",
        "modified": "2017-09-29T15:55:09",
        "customer": {
            "locale": "en_US",
            "first_name": null,
            "last_name": null,
            "address1": null,
            "address2": null,
            "house_number": null,
            "zip_code": null,
            "city": null,
            "state": null,
            "country": null,
            "country_name": null,
            "phone1": null,
            "phone2": "",
            "email": ""
        },
        "payment_details": {
            "recurring_id": null,
            "type": "BANKTRANS",
            "account_id": null,
            "account_holder_name": "",
            "external_transaction_id": "9201727123406700"
        },
        "costs": [
            {
                "transaction_id": 413281,
                "description": "",
                "type": "SYSTEM",
                "amount": 0
            }
        ],
        "gateway_info": {
            "mtpinfo": "NL88DEUT7351002088",
            "reference": "9201727123406700",
            "issuer_name": "postbank",
            "destination_account_id": 8458568,
            "destination_holder_name": "multipay",
            "destination_holder_city": "XXXAMsterdam",
            "destination_holder_country": "Netherlands",
            "destination_holder_iban": "NL88DEUT7351002088",
            "destination_holder_swift": "DEUTNL2N"
        },
        "payment_url": "https:\/\/www.example.com\/client\/success?transactionid=my-order-id-1",
        "cancel_url": "https:\/\/www.example.com\/client\/failed?transactionid=my-order-id-1"
    }
}
Parameter Type Description
type (optional) (string) Specifies the payment flow for the checkout process. Options: direct , redirect , checkout , payment link.
gateway (optional) (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request. Options: BANKTRANS.
order_id (required) (string) The unique identifier from your system for the order.
currency (required) (string) The currency
amount (required) (number) The amount (in cents) that the customer needs to pay.
description (required) (string) A text which will be shown with the order in MultiSafepay Control. If the customer’s bank supports it this will also be shown on the customers bank statement. Max 200 characters. HTML is no longer supported. Use the ‘items’ or ‘shopping_cart’ objects for this.
payment_options (required) (object) Contains the redirect_url, cancel_url and notification_url.
customer (optional) (object) Contains the personal data of the consumer.

Belfius

{
    "type": "redirect",
    "order_id": "my-order-id-1",
    "gateway": "BELFIUS",
    "currency": "EUR",
    "amount": "1000",
    "description": "Test Order Description",
    "payment_options": {
        "notification_url": "https:\/\/www.example.com\/client\/notification?type=notification",
        "redirect_url": "https:\/\/www.example.com\/client\/notification?type=redirect",
        "cancel_url": "https:\/\/www.example.com\/client\/notification?type=cancel"
    },
    "customer": {
        "locale": "en_US"
    }
}

JSON Response

{
    "success": true,
    "data": {
        "order_id": "my-order-id-1",
        "payment_url": "https:\/\/payv2.multisafepay.com\/connect\/13oElUaESR7YS2b4gUJV9oI4tUXeb1mj1D8\/?lang=nl_NL"
    }
}
Parameter Type Description
type (optional) (string) Specifies the payment flow for the checkout process. Options: direct , redirect , paymentlink.
gateway (optional) (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request. Options: BELFIUS
order_id (required) (string) The unique identifier from your system for the order.
currency (required) (string) The currency ISO-4217 you want the customer to pay with.
amount (required) (number) The amount (in cents) that the customer needs to pay.
description (required) (string) A text which will be shown with the order in MultiSafepay Control. If the customer’s bank supports it this will also be shown on the customer’s bank statement. Max. 200 characters. HTML is no longer supported. Use the ‘items’or ‘shopping_cart’ objects for this.
payment_options (required) (object) Contains the redirect_url, cancel_url and notification_url.
customer (optional) (object) Contains the personal information of the consumer.

Credit Cards

{
    "type": "direct",
    "order_id": "my-order-id-1",
    "gateway": "CREDITCARD",
    "currency": "EUR",
    "amount": "9743",
    "description": "Test Order Description",
    "payment_options": {
        "notification_url": "https:\/\/www.example.com\/client\/notification?type=notification",
        "redirect_url": "https:\/\/www.example.com\/client\/notification?type=redirect",
        "cancel_url": "https:\/\/www.example.com\/client\/notification?type=cancel"
    },
    "gateway_info": {
        "card_number": "4012001038443335",
        "card_holder_name": "Test Holder Name",
        "card_expiry_date": "2022",
        "card_cvc": "123"
    },
    "customer": {
        "locale": "en_US",
        "ip_address": "31.148.195.10",
        "forwarded_ip": "",
        "first_name": "John",
        "last_name": "Doe",
        "address1": "Neherkade",
        "house_number": "XI",
        "zip_code": "2521VA",
        "city": "Gravenhage",
        "state": "",
        "country": "NL",
        "email": "[email protected]",
        "referrer": "http:\/\/example.com",
        "user_agent": "Mozilla\/5.0 (Windows NT 6.3; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/38.0.2125.111 Safari\/537.36"
    }
}

JSON Response

{
    "transaction_id": 0,
    "order_id": "",
    "created": "",
    "modified": "",
    "recurring_id": "",
    "gateway": "",
    "currency": "",
    "amount": "",
    "description": "",
    "var1": "",
    "var2": "",
    "var3": "",
    "amount_refunded": 0,
    "status": "",
    "financial_status": "",
    "reason": "",
    "reason_code": "",
    "fastcheckout": "",
    "order_total": "",
    "html_form": "",
    "payment_url": "",
    "cancel_url": "",
    "customer": {
        "locale": "",
        "ip_address": "",
        "forwarded_ip": "",
        "referrer": "",
        "user_agent": "",
        "first_name": "",
        "last_name": "",
        "company": false,
        "company_name": "",
        "address1": "",
        "address2": "",
        "house_number": "",
        "zip_code": "",
        "city": "",
        "state": "",
        "country": "",
        "phone": "",
        "email": "",
        "disable_send_email": false
    },
    "gateway_info": {
        "issuer_id": "",
        "account_id": "",
        "account_holder_name": "",
        "account_holder_city": "",
        "account_holder_country": "",
        "account_holder_iban": "",
        "account_holder_swift": "",
        "account_holder_bic": "",
        "personal_number": "",
        "gender": "",
        "phone": "",
        "referrer": "",
        "email": "",
        "user_agent": "",
        "card_number": "",
        "card_holder_name": "",
        "card_expiry_date": "",
        "card_cvc": "",
        "emandate": "",
        "qr_size": "",
        "company": "",
        "po_number": "",
        "coc": "",
        "vat": "",
        "collecting_flow": "",
        "action_on_declined": "",
        "company_type": "",
        "term_url": "",
        "birthday": "",
        "bank_account": ""
    },
    "payment_details": {
        "recurring_id": "",
        "type": "",
        "card_expiry_date": false,
        "last4": false,
        "account_id": "",
        "account_holder_name": false,
        "external_transaction_id": false,
        "account_iban": false,
        "account_bic": false
    },
    "shopping_cart": {
        "items": [
            {
                "name": "",
                "description": "",
                "unit_price": "",
                "currency": "",
                "quantity": 0,
                "created": "",
                "merchant_item_id": "",
                "tax_table_selector": "",
                "cashback": "",
                "image": "",
                "product_url": "",
                "weight": {
                    "unit": 0,
                    "value": ""
                }
            }
        ]
    },
    "checkout_options": {
        "no_shipping_method": false,
        "use_shipping_notification": false,
        "tax_tables": {
            "default": {
                "shipping_taxed": false,
                "rate": "",
                "rules": [
                    {
                        "rate": 0,
                        "country": "",
                        "world_area": false
                    }
                ]
            },
            "alternate": [
                {
                    "standalone": false,
                    "name": "",
                    "rate": "",
                    "rules": [
                        {
                            "rate": 0,
                            "country": "",
                            "world_area": false
                        }
                    ]
                }
            ]
        },
        "rounding_policy": [
            {
                "mode": "",
                "rule": ""
            }
        ],
        "shipping_methods": [
            {
                "flat_rate_shipping": [
                    {
                        "name": "",
                        "price": "",
                        "currency": "",
                        "allowed_areas": null,
                        "excluded_areas": null,
                        "id": "",
                        "type": "",
                        "provider": ""
                    }
                ],
                "pickup": [
                    {
                        "name": "",
                        "price": "",
                        "currency": "",
                        "id": "",
                        "type": "",
                        "provider": ""
                    }
                ]
            }
        ]
    },
    "order_adjustment": {
        "total_adjustment": "",
        "total_tax": ""
    },
    "costs": [
        {
            "transaction_id": 0,
            "description": "",
            "type": "",
            "amount": "",
            "status": "",
            "created": ""
        }
    ]
}
Parameter Type Description
type (optional) (string) Specifies the payment flow for the checkout process. Options: direct.
gateway (optional) (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request. Options: CREDITCARD , VISA , MASTERCARD , MAESTRO , AMEX.
order_id (required) (string) The unique identifier from your system for the order.
currency (required) (string) The currency ISO-4217 you want the customer to pay with.
amount (required) (number) The amount (in cents) that the customer needs to pay.
description (required) (string) A text which will be shown with the order in MultiSafepay Control. If the customer’s bank supports it this will also be shown on the bank statement. Max. 200 characters. HTML is no longer supported. Use the ‘items’ or ‘shopping_cart’ objects for this.
payment_options (required) (object) Contains the redirect_url, cancel_url and notification_url.
customer (optional) (object) Contains the personal information of the consumer.
gateway_info (optional) (object) Contains the extra card information.
card_number (required) (string) Full credit card number.
card_holder_name (required) (string) Name on credit card.
card_expiry_date (required) (string) Card expiry date
card_cvc (required) (string) Card CVC number. This might vary depending of the card type. Some cards like MAESTRO may not be required.

Direct Debit

{
    "type": "direct",
    "order_id": "my-order-id-1",
    "gateway": "DIRDEB",
    "currency": "EUR",
    "amount": "9743",
    "description": "Test Order Description",
    "payment_options": {
        "notification_url": "https:\/\/www.example.com\/client\/notification?type=notification",
        "redirect_url": "https:\/\/www.example.com\/client\/notification?type=redirect",
        "cancel_url": "https:\/\/www.example.com\/client\/notification?type=cancel"
    },
    "customer": {
        "locale": "en_US"
    },
    "gateway_info": {
        "account_id": "NL87ABNA0000000001",
        "account_holder_name": "J Janse",
        "account_holder_city": "Amsterdam",
        "account_holder_country": "NL",
        "account_holder_iban": "NL87ABNA0000000001",
        "account_holder_bic": "NL",
        "emandate": "madateID"
    }
}

JSON response

{
  "success": true,
  "data": {
    "transaction_id": 259898679,
    "order_id": "y-order-id-1",
    "created": "2019-03-08T09:23:46",
    "currency": "EUR",
    "amount": 9743,
    "description": "Test order description",
    "var1": null,
    "var2": null,
    "var3": null,
    "items": "",
    "amount_refunded": 0,
    "status": "initialized",
    "financial_status": "initialized",
    "reason": "",
    "reason_code": "",
    "fastcheckout": "NO",
    "modified": "2019-03-08T09:23:46",
    "customer": {
      "locale": "en_US",
      "first_name": null,
      "last_name": null,
      "address1": null,
      "address2": null,
      "house_number": null,
      "zip_code": null,
      "city": null,
      "state": null,
      "country": null,
      "country_name": null,
      "phone1": null,
      "phone2": "",
      "email": ""
    },
    "payment_details": {
      "recurring_id": "",
      "type": "DIRDEB",
      "account_id": "NL87ABNA0000000001",
      "account_holder_name": "J Janse",
      "external_transaction_id": "6190662598986790",
      "account_iban": "NL87ABNA0000000001",
      "account_bic": "ABNANL01"
    },
    "costs": [
      {
        "transaction_id": 279354751,
        "description": "0.3 For Direct Debit Transactions",
        "type": "SYSTEM",
        "amount": 0.3
      }
    ],
    "payment_url": "https://www.example.com/client/notification?type=redirect&transactionid=my-order-id-1",
    "cancel_url": "https://www.example.com/client/notification?type=cancel&transactionid=my-order-id-1"
  }
}

When submitting a Direct Debit, the transaction data is checked.

Parameter Type Description
type (optional) (string) Specifies the payment flow for the checkout process. Options: direct , redirect , checkout , paymentlink.
gateway (optional) (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request. Options: DIRDEB.
order_id: (required) (string) The unique identifier from your system for the order.
currency: (required) (string) The currency (ISO-4217) you want the customer to pay with.
amount: (required) (number) The amount (in cents) that the customer needs to pay.
description: (required) (string) A text which will be shown with the order in MultiSafepay Control. If the customer’s bank supports it this will also be shown on the bank statement. Max. 200 characters. HTML is no longer supported. Use the ‘items’ or ‘shopping_cart’ objects for this.
payment_options: (required) (object) Contains the redirect_url, cancel_url and notification_url.
customer (optional) (object) Contains the personal information of the consumer.
gateway_info (optional) (object)
account_id (optional) (string) IBAN to be charged for the transaction.
account_holder_name (optional) (string) Name of the owner of the bank account to be charged for the transaction.
account_holder_city (optional) (string) Place where the owner of the bank account to be charged for the transaction lives.
account_holder_country (optional) (string) Country where the owner of the bank account to be charged for the transaction lives.
account_holder_iban (optional) (string) IBAN to be charged for the transaction.
account_holder_swift (optional) (string) SWIFT of the bank account to be charged for the transaction.
account_holder_bic (optional) (string) BIC of the bank account to be charged for the transaction.
emandate (optional) (string) For your own adminstration, put the e-mandate here.

Dotpay

{
    "type": "redirect",
    "order_id": "my-order-id-1",
    "gateway": "DOTPAY",
    "currency": "EUR",
    "amount": "1000",
    "description": "Test Order Description",
    "payment_options": {
        "notification_url": "https:\/\/www.example.com\/client\/notification?type=notification",
        "redirect_url": "https:\/\/www.example.com\/client\/notification?type=redirect",
        "cancel_url": "https:\/\/www.example.com\/client\/notification?type=cancel"
    },
    "customer": {
        "locale": "en_US"
    }
}

JSON Response

{
    "success": true,
    "data": {
        "order_id": "my-order-id-1",
        "payment_url": "https:\/\/payv2.multisafepay.com\/connect\/13oElUaESR7YS2b4gUJV9oI4tUXeb1mj1D8\/?lang=nl_NL"
    }
}
Parameter Type Description
type (optional) (string) Specifies the payment flow for the checkout process. Options: redirect.
gateway (optional) (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request. Options: DOTPAY.
order_id (required) (string) The unique identifier from your system for the order
currency (required) (string) The currency ISO-4217 you want the customer to pay with.
amount (required) (number) The amount (in cents) that the customer needs to pay.
description (required) (string) A text which will be shown with the order in MultiSafepay Control. If the customer’s bank supports it this will also be shown on the bank statement. Max. 200 characters. HTML is no longer supported. Use the ‘items’ or ‘shopping_cart’ objects for this.
payment_options (required) (object) Contains the redirect_url, cancel_url and notification_url.
customer (optional) (object) Contains the personal information of the consumer.

E-invoicing

{
    "type": "direct",
    "gateway": "EINVOICE",
    "order_id": "my-order-id-1",
    "currency": "EUR",
    "amount": "26000",
    "description": "Test Order Description",
    "var1": "",
    "var2": "",
    "var3": "",
    "items": "",
    "manual": "false",
    "gateway_info": {
        "birthday": "1980-01-30",
        "bankaccount": "0417164300",
        "phone": "0208500500",
        "email": "[email protected]"
    },
    "payment_options": {
        "notification_url": "http:\/\/www.example.com\/client\/notification?type=notification",
        "redirect_url": "http:\/\/www.example.com\/client\/notification?type=redirect",
        "cancel_url": "http:\/\/www.example.com\/client\/notification?type=cancel",
        "close_window": ""
    },
    "customer": {
        "locale": "us",
        "ip_address": "31.148.195.10",
        "forwarded_ip": "",
        "first_name": "Testperson-nl",
        "last_name": "Approved",
        "address1": "Neherkade",
        "address2": "",
        "house_number": "39c",
        "zip_code": "1033 SC",
        "city": "Gravenhage",
        "state": "",
        "country": "NL",
        "email": "[email protected]",
        "referrer": "http:\/\/www.example.com",
        "user_agent": "Mozilla\/5.0 (Windows NT 6.3; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/38.0.2125.111 Safari\/537.36"
    },
    "delivery": {
        "first_name": "Testperson-nl",
        "last_name": "Approved",
        "address1": "Neherkade",
        "address2": "",
        "house_number": "39c",
        "zip_code": "1033 SC",
        "city": "Gravenhage",
        "state": "",
        "country": "NL",
        "phone": "",
        "email": ""
    },
    "shopping_cart": {
        "items": [
            {
                "name": "Item demo 1",
                "description": "",
                "unit_price": "90",
                "quantity": "2",
                "merchant_item_id": "666666",
                "tax_table_selector": "none",
                "weight": {
                    "unit": "KG",
                    "value": "12"
                }
            },
            {
                "name": "Item demo 2",
                "description": "",
                "unit_price": "35",
                "quantity": "2",
                "merchant_item_id": "666666",
                "tax_table_selector": "none",
                "weight": {
                    "unit": "KG",
                    "value": "20"
                }
            },
            {
                "name": "Item shipping - Flat Rate - Fixed",
                "description": "Shipping",
                "unit_price": "10",
                "quantity": "1",
                "merchant_item_id": "msp-shipping",
                "tax_table_selector": "none",
                "weight": {
                    "unit": "KG",
                    "value": "0"
                }
            }
        ]
    },
    "checkout_options": {
        "tax_tables": {
            "default": {
                "shipping_taxed": "true",
                "rate": "0.21"
            },
            "alternate": [
                {
                    "name": "BTW21",
                    "standalone": true,
                    "rules": [
                        {
                            "rate": "0.21"
                        }
                    ]
                },
                {
                    "name": "BTW6",
                    "standalone": true,
                    "rules": [
                        {
                            "rate": "0.06"
                        }
                    ]
                },
                {
                    "name": "BTW0",
                    "standalone": true,
                    "rules": [
                        {
                            "rate": "0.00"
                        }
                    ]
                },
                {
                    "name": "0.0000",
                    "standalone": false,
                    "rules": [
                        {
                            "rate": "0"
                        }
                    ]
                },
                {
                    "name": "0.0000",
                    "standalone": false,
                    "rules": [
                        {
                            "rate": "0"
                        }
                    ]
                },
                {
                    "name": "FEE",
                    "standalone": false,
                    "rules": [
                        {
                            "rate": "0.00"
                        }
                    ]
                },
                {
                    "name": "none",
                    "standalone": false,
                    "rules": [
                        {
                            "rate": "0.00"
                        }
                    ]
                },
                {
                    "name": "2",
                    "standalone": true,
                    "rules": [
                        {
                            "rate": "0.0825",
                            "country": "US"
                        },
                        {
                            "rate": "0.08375",
                            "country": "NL"
                        }
                    ]
                }
            ]
        }
    }
}

JSON Response

{
    "success": true,
    "data": {
        "transaction_id": 2340676,
        "order_id": "my-order-id-1",
        "created": "2017-09-29T16:13:10",
        "currency": "EUR",
        "amount": 26000,
        "description": "Test Order Description",
        "var1": null,
        "var2": null,
        "var3": null,
        "items": "",
        "amount_refunded": 0,
        "status": "completed",
        "financial_status": "initialized",
        "reason": "",
        "reason_code": "",
        "fastcheckout": "NO",
        "modified": "2017-09-29T16:13:10",
        "customer": {
            "locale": "en_US",
            "first_name": "Testperson-nl",
            "last_name": "Approved",
            "address1": "Neherkade",
            "address2": null,
            "house_number": "39c",
            "zip_code": "1033SC",
            "city": "Gravenhage",
            "state": null,
            "country": "NL",
            "country_name": null,
            "phone1": "0612345678",
            "phone2": "",
            "email": "[email protected]"
        },
        "payment_details": {
            "recurring_id": null,
            "type": "",
            "account_id": 10071970,
            "account_holder_name": null,
            "external_transaction_id": 2379429850
        },
        "shopping_cart": {
            "items": [
                {
                    "name": "Item demo 1",
                    "description": "",
                    "unit_price": "90.00",
                    "currency": "EUR",
                    "quantity": 2,
                    "merchant_item_id": 666666,
                    "tax_table_selector": "none",
                    "cashback": "",
                    "image": "",
                    "product_url": "",
                    "weight": {
                        "unit": "KG",
                        "value": 12
                    },
                    "options": []
                },
                {
                    "name": "Item demo 2",
                    "description": "",
                    "unit_price": "35.00",
                    "currency": "EUR",
                    "quantity": 2,
                    "merchant_item_id": 666666,
                    "tax_table_selector": "none",
                    "cashback": "",
                    "image": "",
                    "product_url": "",
                    "weight": {
                        "unit": "KG",
                        "value": 20
                    },
                    "options": []
                },
                {
                    "name": "Item shipping - Flat Rate - Fixed",
                    "description": "Shipping",
                    "unit_price": "10.00",
                    "currency": "EUR",
                    "quantity": 1,
                    "merchant_item_id": "msp-shipping",
                    "tax_table_selector": "none",
                    "cashback": "",
                    "image": "",
                    "product_url": "",
                    "weight": {
                        "unit": "KG",
                        "value": 0
                    },
                    "options": []
                }
            ]
        },
        "checkout_options": {
            "default": {
                "shipping_taxed": true,
                "rate": 0.21
            },
            "alternate": [
                {
                    "standalone": true,
                    "name": "BTW21",
                    "rules": [
                        {
                            "rate": 0.21,
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": true,
                    "name": "BTW6",
                    "rules": [
                        {
                            "rate": 0.06,
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": true,
                    "name": "BTW0",
                    "rules": [
                        {
                            "rate": "0.00",
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": "",
                    "name": "0.0000",
                    "rules": [
                        {
                            "rate": "0.00",
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": "",
                    "name": "0.0000",
                    "rules": [
                        {
                            "rate": "0.00",
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": "",
                    "name": "FEE",
                    "rules": [
                        {
                            "rate": "0.00",
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": "",
                    "name": "none",
                    "rules": [
                        {
                            "rate": "0.00",
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": true,
                    "name": 2,
                    "rules": [
                        {
                            "rate": 0.0825,
                            "country": "US"
                        },
                        {
                            "rate": 0.08375,
                            "country": "NL"
                        }
                    ]
                }
            ]
        },
        "order_adjustment": {
            "total_adjustment": "0.00",
            "total_tax": "0.00"
        },
        "order_total": "260.00",
        "costs": [],
        "payment_url": "http:\/\/www.example.com\/client\/?action=notification&type=redirect&transactionid=2340676",
        "cancel_url": "http:\/\/www.example.com\/client\/?action=notification&type=cancel&transactionid=2340676"
    }
}

Creates a E-Invoice order to be paid once the goods are received by the consumer.

Parameter Type Description
type (optional) (string) Specifies the payment flow for the checkout process. Options: direct , redirect.
gateway optional (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request. Options: EINVOICE.
order_id: (required) (string) The unique identifier from your system for the order.
currency: (required) (string) The currency ISO-4217 you want the customer to pay with.
amount: (required) (number) The amount (in cents) that the customer needs to pay.
description: (required) (string) A text which will be shown with the order in MultiSafepay Control. If the customer’s bank supports it this will also be shown on the bank statement. Max. 200 characters. HTML is no longer supported. Use the ‘items’ or ‘shopping_cart’ objects for this.
payment_options: (required) (object) Contains the redirect_url, cancel_url and notification_url.
customer: (required) (object) Contains the personal information of the consumer.
delivery: (required) (object) Contains the delivery information for the shipment.
shopping_cart: (required) (object) Contains all order rules and applicable tax classes.
checkout_options: (required) (object) Contains the definitions for the vat class.
birthday (optional) (string) The birthdate of the customer in the format yyyy-mm-dd.
bank_account: (required) (string) The formatted IBAN for the customer. This is required for credit checks.
phone (required) (string) The phone number where the consumer can be reached. This is required for credit checks and to contact the customer in case of non-payment.
email (required) (string) The e-mail address to which the system can send payment instructions to the consumer.

EPS

{
    "type": "redirect",
    "order_id": "my-order-id-1",
    "gateway": "EPS",
    "currency": "EUR",
    "amount": "1000",
    "description": "Test Order Description",
    "payment_options": {
        "notification_url": "https:\/\/www.example.com\/client\/notification?type=notification",
        "redirect_url": "https:\/\/www.example.com\/client\/notification?type=redirect",
        "cancel_url": "https:\/\/www.example.com\/client\/notification?type=cancel"
    },
    "customer": {
        "locale": "en_US"
    }
}

JSON Response

{
    "success": true,
    "data": {
        "order_id": "my-order-id-1",
        "payment_url": "https:\/\/payv2.multisafepay.com\/connect\/13oElUaESR7YS2b4gUJV9oI4tUXeb1mj1D8\/?lang=nl_NL"
    }
}
Parameter Type Description
type (optional) (string) Specifies the payment flow for the checkout process. Options: redirect
order_id (required) (string) The unique identifier from your system for the order.
currency (required) (string) The currency (ISO-4217) you want the customer to pay with.
amount (required) (number) The amount (in cents) that the customer needs to pay.
description (required) (string) A text which will be shown with the order in MultiSafepay Control. If the customer’s bank supports it this will also be shown on the customers bank statement. HTML is no longer supported. Use the ‘items’ or ‘shopping_cart’ objects for this.
payment_options (required) (object) Contains the redirect_url, cancel_url and notification_url.
customer (optional) (object) Contains the personal information of the consumer.

Giropay

{
    "type": "redirect",
    "order_id": "my-order-id-1",
    "gateway": "GIROPAY",
    "currency": "EUR",
    "amount": "1000",
    "description": "Test Order Description",
    "payment_options": {
        "notification_url": "https:\/\/www.example.com\/client\/notification?type=notification",
        "redirect_url": "https:\/\/www.example.com\/client\/notification?type=redirect",
        "cancel_url": "https:\/\/www.example.com\/client\/notification?type=cancel"
    },
    "customer": {
        "locale": "en_US"
    }
}

JSON Response

{
    "success": true,
    "data": {
        "order_id": "my-order-id-1",
        "payment_url": "https:\/\/payv2.multisafepay.com\/connect\/13oElUaESR7YS2b4gUJV9oI4tUXeb1mj1D8\/?lang=nl_NL"
    }
}
Parameter Type Description
type (optional) (string) Specifies the payment flow for the checkout process. Options: redirect.
gateway (optional) (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request. Options: GIROPAY.
order_id: (required) (string) The unique identifier from your system for the order.
currency: (required) (string) The currency ISO-4217 you want the customer to pay with
amount: (required) (number) The amount (in cents) that the customer needs to pay.
description: (required) (string) A text which will be shown with the order in MultiSafepay Control. If the customer’s bank supports it this will also be shown on the bank statement. Max 200 characters. HTML is no longer supported. Use the ‘items’ or ‘shopping_cart’ objects for this.
payment_options: (required) (object) Contains the redirect_url, cancel_url and notification_url.
customer (optional) (object) Contains the personal information of the consumer.

iDEAL

{
    "type": "redirect",
    "order_id": "my-order-id-1",
    "gateway": "IDEAL",
    "currency": "EUR",
    "amount": "1000",
    "description": "Test Order Description",
    "payment_options": {
        "notification_url": "https:\/\/www.example.com\/client\/notification?type=notification",
        "redirect_url": "https:\/\/www.example.com\/client\/notification?type=redirect",
        "cancel_url": "https:\/\/www.example.com\/client\/notification?type=cancel"
    },
    "customer": {
        "locale": "en_US"
    }
}

JSON Response

{
    "success": true,
    "data": {
        "order_id": "my-order-id-1",
        "payment_url": "https:\/\/payv2.multisafepay.com\/connect\/13oElUaESR7YS2b4gUJV9oI4tUXeb1mj1D8\/?lang=nl_NL"
    }
}
Parameter Type Description
type (optional) (string) Specifies the payment flow for the checkout process. Options: direct , redirect. , checkout , paymentlink
gateway (optional) (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request. Options: IDEAL.
order_id (required) (string) The unique identifier from your system for the order.
currency (required) (string) The currency ISO-4217 you want the customer to pay with.
amount (required) (number) The amount (in cents) that the customer needs to pay.
description (required) (string) A free text description which will be shown with the order in MultiSafepay Control. If the customers bank supports it this description will also be shown on the customer`s bank statement.
payment_options (required) (object) Contains the redirect_url, cancel_url and notification_url.
gateway_info (optional) (object) Contains the issuer_id.
issuer_id (optional) (numeric) The unique identifier of the issuer. Required in direct transactions.

iDEAL QR

{
    "type": "direct",
    "order_id": "my-order-id-1",
    "gateway": "IDEALQR",
    "currency": "EUR",
    "amount": "1000",
    "description": "Test Order Description",
    "payment_options": {
        "notification_url": "https:\/\/www.example.com\/client\/notification?type=notification",
        "redirect_url": "https:\/\/www.example.com\/client\/notification?type=redirect",
        "cancel_url": "https:\/\/www.example.com\/client\/notification?type=cancel"
    },
    "gateway_info": {
        "qr_size": 250
    },
    "customer": {
        "locale": "en_US"
    }
}

JSON Response

{
    "success": true,
    "data": {
        "order_id": "ideal-test",
        "payment_url": "https:\/\/testpayv2.multisafepay.com\/connect\/896rZ0IGzhJoP2XQdqzMtHYnIG32W68yAGX\/?lang=nl_NL",
        "qr_url": "https:\/\/qrcode.ideal.nl\/qrcode\/15b6021c-0102-4ed2-84b3-4a99272179f7.png"
    }
}
Parameter Type Description
type: (required) (string) Specifies the payment flow for the checkout process. Options: direct
gateway: (required) (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request. Options: IDEALQR
order_id: (required) (string) The unique identifier from your system for the order
currency: (required) (string) The currency (ISO-4217) you want the customer to pay with
amount: (required) (number) The amount (in cents) that the customer needs to pay
description: (required) (string) A free text description which will be shown with the order in MultiSafepay Control. If the customers bank supports it this description will also be shown on the customers bank statement
payment_options: (required) (object)
custom_info: optional (object)
gateway_info: optional (object)
qr_size: (required) (numeric) Qr image size in pixels, default: 250 - Sizes are between, Max:2000 - Min:100, if not meet this rule, default is applied
allow_multiple: optional (boolean) With the allow multiple parameter you can specify if a single QR code should be able to be used more than just once
allow_change_amount: optional (boolean) With the allow change amount parameter you can specify if a consumer should be able to change the amount to pay. Often used for donations
max_amount: optional (string) With the max amount you can specify what the max amount can be in case the allow change amount option is activated. This parameter is required when allow change amount is set

ING Home’Pay

{
    "type": "direct",
    "order_id": "my-order-id-1",
    "gateway": "INGHOME",
    "currency": "EUR",
    "amount": "1000",
    "description": "Test Order Description",
    "payment_options": {
        "notification_url": "https:\/\/www.example.com\/client\/notification?type=notification",
        "redirect_url": "https:\/\/www.example.com\/client\/notification?type=redirect",
        "cancel_url": "https:\/\/www.example.com\/client\/notification?type=cancel"
    },
    "customer": {
        "locale": "en_US"
    }
}

JSON Response

{
  "success": true,
  "data": {
    "transaction_id": 260468043,
    "order_id": "apitool_3401000",
    "created": "2019-03-11T14:35:13",
    "currency": "EUR",
    "amount": 100000,
    "description": "product description",
    "var1": null,
    "var2": null,
    "var3": null,
    "items": null,
    "amount_refunded": 0,
    "status": "initialized",
    "financial_status": "initialized",
    "reason": "",
    "reason_code": "",
    "fastcheckout": "NO",
    "modified": "2019-03-11T14:35:13",
    "customer": {
      "locale": "en_US",
      "first_name": null,
      "last_name": null,
      "address1": null,
      "address2": null,
      "house_number": null,
      "zip_code": null,
      "city": null,
      "state": null,
      "country": null,
      "country_name": null,
      "phone1": null,
      "phone2": "",
      "email": ""
    },
    "payment_details": {
      "recurring_id": null,
      "type": "INGHOME",
      "account_id": "https://pay.multisafepay.com/direct/complete/",
      "account_holder_name": null,
      "external_transaction_id": 663302604477,
      "account_iban": "66d2f141b864621139096d38ce80bc4eff4bb439"
    },
    "costs": [
      {
        "transaction_id": 279925866,
        "description": "1 For ING HomePay Transactions",
        "type": "SYSTEM",
        "amount": 1
      }
    ],
    "payment_url": "https://homepay.ing.be/EN/index.jsp?RETURN_URL=https%3A%2F%2Fpay.multisafepay.com%2Fdirect%2Fcomplete%2F%3Fmspid%3D260468043&CURRENCY=EUR&AMOUNT=000000100000&RETURN_METHOD=GET&MESSAGE=663302604477&VERSION=2&VENDOR_ID=18204457201&HASH=66d2f141b864621139096d38ce80bc4eff4bb439"
  }
}
Parameter Type Description
type (optional) (string) Specifies the payment flow for the checkout process. Options: direct, , redirect, paymentlink.
gateway (optional) (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request. Options: INGHOME.
order_id (required) (string) The unique identifier from your system for the order.
currency (required) (string) The currency ISO-4217 you want the customer to pay with.
amount (required) (number) The amount (in cents) that the customer needs to pay.
description (required) (string) A text which will be shown with the order in MultiSafepay Control. If the customer’s bank supports it this description will also be shown on the customer’s bank statement. Max. 200 characters. HTML is no longer supported. Use the ‘items’ or ‘shopping_cart’ objects for this.
payment_options (required) (object) Contains the redirect_url, cancel_url and notification_url.
customer (optional) (object) Contains personal information about the consumer.

KBC

{
    "type": "redirect",
    "order_id": "my-order-id-1",
    "gateway": "KBC",
    "currency": "EUR",
    "amount": "1000",
    "description": "Test Order Description",
    "payment_options": {
        "notification_url": "https:\/\/www.example.com\/client\/notification?type=notification",
        "redirect_url": "https:\/\/www.example.com\/client\/notification?type=redirect",
        "cancel_url": "https:\/\/www.example.com\/client\/notification?type=cancel"
    },
    "customer": {
        "locale": "en_US"
    }
}

JSON Response

{
    "success": true,
    "data": {
        "order_id": "my-order-id-1",
        "payment_url": "https:\/\/payv2.multisafepay.com\/connect\/13oElUaESR7YS2b4gUJV9oI4tUXeb1mj1D8\/?lang=nl_NL"
    }
}
Parameter Type Description
type (optional) (string) Specifies the payment flow for the checkout process. Options: direct, redirect, paymentlink.
gateway (optional) (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request. Options: KBC.
order_id (required) (string) The unique identifier from your system for the order.
currency (required) (string) The currency (ISO-4217) you want the customer to pay with.
amount (required) (number) The amount (in cents) that the customer needs to pay.
description (required) (string) A text which will be shown with the order in MultiSafepay Control. If the customer’s bank supports it this description will also be shown on the customer’s bank statement. Max. 200 characters. HTML is no longer supported. Use the ‘items’ or ‘shopping_cart’ objects for this.
payment_options (required) (object) Contains the redirect_url, cancel_url and notification_url.
customer (optional) (object) Contains personal information about the consumer.

Klarna

{
    "type": "direct",
    "gateway": "KLARNA",
    "order_id": "my-order-id-1",
    "currency": "EUR",
    "amount": "26000",
    "description": "Test Order Description",
    "var1": "",
    "var2": "",
    "var3": "",
    "items": "",
    "manual": "false",
    "gateway_info": {
        "birthday": "1970-07-10",
        "gender": "male",
        "phone": "0612345678",
        "email": "[email protected]"
    },
    "payment_options": {
        "notification_url": "http:\/\/www.example.com\/client\/notification?type=notification",
        "redirect_url": "http:\/\/www.example.com\/client\/notification?type=redirect",
        "cancel_url": "http:\/\/www.example.com\/client\/notification?type=cancel",
        "close_window": ""
    },
    "customer": {
        "locale": "en_US",
        "ip_address": "31.148.195.10",
        "forwarded_ip": "",
        "first_name": "Testperson-nl",
        "last_name": "Approved",
        "address1": "Neherkade",
        "address2": "",
        "house_number": "39c",
        "zip_code": "1033 SC",
        "city": "Gravenhage",
        "state": "",
        "country": "NL",
        "email": "[email protected]",
        "referrer": "http:\/\/www.example.com",
        "user_agent": "Mozilla\/5.0 (Windows NT 6.3; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/38.0.2125.111 Safari\/537.36"
    },
    "delivery": {
        "first_name": "Testperson-nl",
        "last_name": "Approved",
        "address1": "Neherkade",
        "address2": "",
        "house_number": "39c",
        "zip_code": "1033 SC",
        "city": "Gravenhage",
        "state": "",
        "country": "NL",
        "phone": "",
        "email": ""
    },
    "shopping_cart": {
        "items": [
            {
                "name": "Item demo 1",
                "description": "",
                "unit_price": "90",
                "quantity": "2",
                "merchant_item_id": "111111",
                "tax_table_selector": "none",
                "weight": {
                    "unit": "KG",
                    "value": "12"
                }
            },
            {
                "name": "Item demo 2",
                "description": "",
                "unit_price": "35",
                "quantity": "2",
                "merchant_item_id": "666666",
                "tax_table_selector": "none",
                "weight": {
                    "unit": "KG",
                    "value": "20"
                }
            },
            {
                "name": "Item shipping - Flat Rate - Fixed",
                "description": "Shipping",
                "unit_price": "10",
                "quantity": "1",
                "merchant_item_id": "msp-shipping",
                "tax_table_selector": "none",
                "weight": {
                    "unit": "KG",
                    "value": "0"
                }
            }
        ]
    },
    "checkout_options": {
        "tax_tables": {
            "default": {
                "shipping_taxed": "true",
                "rate": "0.21"
            },
            "alternate": [
                {
                    "name": "BTW21",
                    "standalone": true,
                    "rules": [
                        {
                            "rate": "0.21"
                        }
                    ]
                },
                {
                    "name": "BTW6",
                    "standalone": true,
                    "rules": [
                        {
                            "rate": "0.06"
                        }
                    ]
                },
                {
                    "name": "BTW0",
                    "standalone": true,
                    "rules": [
                        {
                            "rate": "0.00"
                        }
                    ]
                },
                {
                    "name": "0.0000",
                    "standalone": false,
                    "rules": [
                        {
                            "rate": "0"
                        }
                    ]
                },
                {
                    "name": "0.0000",
                    "standalone": false,
                    "rules": [
                        {
                            "rate": "0"
                        }
                    ]
                },
                {
                    "name": "FEE",
                    "standalone": false,
                    "rules": [
                        {
                            "rate": "0.00"
                        }
                    ]
                },
                {
                    "name": "none",
                    "standalone": false,
                    "rules": [
                        {
                            "rate": "0.00"
                        }
                    ]
                },
                {
                    "name": "2",
                    "standalone": true,
                    "rules": [
                        {
                            "rate": "0.0825",
                            "country": "US"
                        },
                        {
                            "rate": "0.08375",
                            "country": "NL"
                        }
                    ]
                }
            ]
        }
    }
}

JSON Response

{
    "success": true,
    "data": {
        "transaction_id": 2340676,
        "order_id": "my-order-id-1",
        "created": "2017-09-29T16:13:10",
        "currency": "EUR",
        "amount": 26000,
        "description": "Test Order Description",
        "var1": null,
        "var2": null,
        "var3": null,
        "items": "",
        "amount_refunded": 0,
        "status": "completed",
        "financial_status": "initialized",
        "reason": "",
        "reason_code": "",
        "fastcheckout": "NO",
        "modified": "2017-09-29T16:13:10",
        "customer": {
            "locale": "en_US",
            "first_name": "Testperson-nl",
            "last_name": "Approved",
            "address1": "Neherkade",
            "address2": null,
            "house_number": "39c",
            "zip_code": "1033SC",
            "city": "Gravenhage",
            "state": null,
            "country": "NL",
            "country_name": null,
            "phone1": "0612345678",
            "phone2": "",
            "email": "[email protected]"
        },
        "payment_details": {
            "recurring_id": null,
            "type": "",
            "account_id": 10071970,
            "account_holder_name": null,
            "external_transaction_id": 2379429850
        },
        "shopping_cart": {
            "items": [
                {
                    "name": "Item demo 1",
                    "description": "",
                    "unit_price": "90.00",
                    "currency": "EUR",
                    "quantity": 2,
                    "merchant_item_id": 666666,
                    "tax_table_selector": "none",
                    "cashback": "",
                    "image": "",
                    "product_url": "",
                    "weight": {
                        "unit": "KG",
                        "value": 12
                    },
                    "options": []
                },
                {
                    "name": "Item demo 2",
                    "description": "",
                    "unit_price": "35.00",
                    "currency": "EUR",
                    "quantity": 2,
                    "merchant_item_id": 666666,
                    "tax_table_selector": "none",
                    "cashback": "",
                    "image": "",
                    "product_url": "",
                    "weight": {
                        "unit": "KG",
                        "value": 20
                    },
                    "options": []
                },
                {
                    "name": "Item shipping - Flat Rate - Fixed",
                    "description": "Shipping",
                    "unit_price": "10.00",
                    "currency": "EUR",
                    "quantity": 1,
                    "merchant_item_id": "msp-shipping",
                    "tax_table_selector": "none",
                    "cashback": "",
                    "image": "",
                    "product_url": "",
                    "weight": {
                        "unit": "KG",
                        "value": 0
                    },
                    "options": []
                }
            ]
        },
        "checkout_options": {
            "default": {
                "shipping_taxed": true,
                "rate": 0.21
            },
            "alternate": [
                {
                    "standalone": true,
                    "name": "BTW21",
                    "rules": [
                        {
                            "rate": 0.21,
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": true,
                    "name": "BTW6",
                    "rules": [
                        {
                            "rate": 0.06,
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": true,
                    "name": "BTW0",
                    "rules": [
                        {
                            "rate": "0.00",
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": "",
                    "name": "0.0000",
                    "rules": [
                        {
                            "rate": "0.00",
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": "",
                    "name": "0.0000",
                    "rules": [
                        {
                            "rate": "0.00",
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": "",
                    "name": "FEE",
                    "rules": [
                        {
                            "rate": "0.00",
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": "",
                    "name": "none",
                    "rules": [
                        {
                            "rate": "0.00",
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": true,
                    "name": 2,
                    "rules": [
                        {
                            "rate": 0.0825,
                            "country": "US"
                        },
                        {
                            "rate": 0.08375,
                            "country": "NL"
                        }
                    ]
                }
            ]
        },
        "order_adjustment": {
            "total_adjustment": "0.00",
            "total_tax": "0.00"
        },
        "order_total": "260.00",
        "costs": [],
        "payment_url": "http:\/\/www.example.com\/client\/?action=notification&type=redirect&transactionid=2340676",
        "cancel_url": "http:\/\/www.example.com\/client\/?action=notification&type=cancel&transactionid=2340676"
    }
}

Creates a Klarna order to be paid after delivery

Parameter Type Description
type (optional) (string) Specifies the payment flow for the checkout process. Options: direct , redirect.
gateway (optional) (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request. Options: KLARNA.
order_id (required) (string) The unique identifier from your system for the order.
currency (required) (string) The currency ISO-4217 you want the customer to pay with.
amount (required) (number) The amount (in cents) that the customer needs to pay.
description (required) (string) A text which will be shown with the order in MultiSafepay Control. If the customer’s bank supports it this description will also be shown on the customer’s bank statement. Max. 200 characters. HTML is no longer supported. Use the ‘items’ or ‘shopping_cart’ objects for this.
payment_options (required) (object) Contains the redirect_url, cancel_url and notification_url.
customer (required) (object) Contains personal information about the consumer.
delivery (required) (object) Contains the details for the delivery address.
shopping_cart (required) (object) Contains all purchased items including tax class.
checkout_options (required) (object) Defines all tax classes to be used for the shopping cart items.
gateway_info (required) (object)
birthday (required) (string) The birth date of the customer in the format yyyy-mm-dd. This is required for credit checks.
phone (required) (string) The phone number where the customer can be reached. This is required for credit checks and to contact the customer in case of non-payment.
email (required) (string) The email address where the system can send payment instructions to the customer.
gender (required) (string) The gender of the customer. Valid values are “male”, “female”. Options: male , female.

Pay After Delivery

{
    "type": "redirect",
    "gateway": "PAYAFTER",
    "order_id": "my-order-id-1",
    "currency": "EUR",
    "amount": "26000",
    "description": "Test Order Description",
    "var1": "",
    "var2": "",
    "var3": "",
    "items": "",
    "manual": "false",
    "gateway_info": {
        "birthday": "1980-01-30",
        "bankaccount": "0417164300",
        "phone": "0208500500",
        "email": "[email protected]"
    },
    "payment_options": {
        "notification_url": "http:\/\/www.example.com\/client\/notification?type=notification",
        "redirect_url": "http:\/\/www.example.com\/client\/notification?type=redirect",
        "cancel_url": "http:\/\/www.example.com\/client\/notification?type=cancel",
        "close_window": ""
    },
    "customer": {
        "locale": "us",
        "ip_address": "31.148.195.10",
        "forwarded_ip": "",
        "first_name": "Testperson-nl",
        "last_name": "Approved",
        "address1": "Neherkade",
        "address2": "",
        "house_number": "39c",
        "zip_code": "1033 SC",
        "city": "Gravenhage",
        "state": "",
        "country": "NL",
        "email": "[email protected]",
        "referrer": "http:\/\/www.example.com",
        "user_agent": "Mozilla\/5.0 (Windows NT 6.3; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/38.0.2125.111 Safari\/537.36"
    },
    "delivery": {
        "first_name": "Testperson-nl",
        "last_name": "Approved",
        "address1": "Neherkade",
        "address2": "",
        "house_number": "39c",
        "zip_code": "1033 SC",
        "city": "Gravenhage",
        "state": "",
        "country": "NL",
        "phone": "",
        "email": ""
    },
    "shopping_cart": {
        "items": [
            {
                "name": "Item demo 1",
                "description": "",
                "unit_price": "90",
                "quantity": "2",
                "merchant_item_id": "111111",
                "tax_table_selector": "none",
                "weight": {
                    "unit": "KG",
                    "value": "12"
                }
            },
            {
                "name": "Item demo 2",
                "description": "",
                "unit_price": "35",
                "quantity": "2",
                "merchant_item_id": "666666",
                "tax_table_selector": "none",
                "weight": {
                    "unit": "KG",
                    "value": "20"
                }
            },
            {
                "name": "Item shipping - Flat Rate - Fixed",
                "description": "Shipping",
                "unit_price": "10",
                "quantity": "1",
                "merchant_item_id": "msp-shipping",
                "tax_table_selector": "none",
                "weight": {
                    "unit": "KG",
                    "value": "0"
                }
            }
        ]
    },
    "checkout_options": {
        "tax_tables": {
            "default": {
                "shipping_taxed": "true",
                "rate": "0.21"
            },
            "alternate": [
                {
                    "name": "BTW21",
                    "standalone": true,
                    "rules": [
                        {
                            "rate": "0.21"
                        }
                    ]
                },
                {
                    "name": "BTW6",
                    "standalone": true,
                    "rules": [
                        {
                            "rate": "0.06"
                        }
                    ]
                },
                {
                    "name": "BTW0",
                    "standalone": true,
                    "rules": [
                        {
                            "rate": "0.00"
                        }
                    ]
                },
                {
                    "name": "0.0000",
                    "standalone": false,
                    "rules": [
                        {
                            "rate": "0"
                        }
                    ]
                },
                {
                    "name": "0.0000",
                    "standalone": false,
                    "rules": [
                        {
                            "rate": "0"
                        }
                    ]
                },
                {
                    "name": "FEE",
                    "standalone": false,
                    "rules": [
                        {
                            "rate": "0.00"
                        }
                    ]
                },
                {
                    "name": "none",
                    "standalone": false,
                    "rules": [
                        {
                            "rate": "0.00"
                        }
                    ]
                },
                {
                    "name": "2",
                    "standalone": true,
                    "rules": [
                        {
                            "rate": "0.0825",
                            "country": "US"
                        },
                        {
                            "rate": "0.08375",
                            "country": "NL"
                        }
                    ]
                }
            ]
        }
    }
}

JSON Response

{
    "success": true,
    "data": {
        "transaction_id": 2340676,
        "order_id": "my-order-id-1",
        "created": "2017-09-29T16:13:10",
        "currency": "EUR",
        "amount": 26000,
        "description": "Test Order Description",
        "var1": null,
        "var2": null,
        "var3": null,
        "items": "",
        "amount_refunded": 0,
        "status": "completed",
        "financial_status": "initialized",
        "reason": "",
        "reason_code": "",
        "fastcheckout": "NO",
        "modified": "2017-09-29T16:13:10",
        "customer": {
            "locale": "en_US",
            "first_name": "Testperson-nl",
            "last_name": "Approved",
            "address1": "Neherkade",
            "address2": null,
            "house_number": "39c",
            "zip_code": "1033SC",
            "city": "Gravenhage",
            "state": null,
            "country": "NL",
            "country_name": null,
            "phone1": "0612345678",
            "phone2": "",
            "email": "[email protected]"
        },
        "payment_details": {
            "recurring_id": null,
            "type": "",
            "account_id": 10071970,
            "account_holder_name": null,
            "external_transaction_id": 2379429850
        },
        "shopping_cart": {
            "items": [
                {
                    "name": "Item demo 1",
                    "description": "",
                    "unit_price": "90.00",
                    "currency": "EUR",
                    "quantity": 2,
                    "merchant_item_id": 666666,
                    "tax_table_selector": "none",
                    "cashback": "",
                    "image": "",
                    "product_url": "",
                    "weight": {
                        "unit": "KG",
                        "value": 12
                    },
                    "options": []
                },
                {
                    "name": "Item demo 2",
                    "description": "",
                    "unit_price": "35.00",
                    "currency": "EUR",
                    "quantity": 2,
                    "merchant_item_id": 666666,
                    "tax_table_selector": "none",
                    "cashback": "",
                    "image": "",
                    "product_url": "",
                    "weight": {
                        "unit": "KG",
                        "value": 20
                    },
                    "options": []
                },
                {
                    "name": "Item shipping - Flat Rate - Fixed",
                    "description": "Shipping",
                    "unit_price": "10.00",
                    "currency": "EUR",
                    "quantity": 1,
                    "merchant_item_id": "msp-shipping",
                    "tax_table_selector": "none",
                    "cashback": "",
                    "image": "",
                    "product_url": "",
                    "weight": {
                        "unit": "KG",
                        "value": 0
                    },
                    "options": []
                }
            ]
        },
        "checkout_options": {
            "default": {
                "shipping_taxed": true,
                "rate": 0.21
            },
            "alternate": [
                {
                    "standalone": true,
                    "name": "BTW21",
                    "rules": [
                        {
                            "rate": 0.21,
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": true,
                    "name": "BTW6",
                    "rules": [
                        {
                            "rate": 0.06,
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": true,
                    "name": "BTW0",
                    "rules": [
                        {
                            "rate": "0.00",
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": "",
                    "name": "0.0000",
                    "rules": [
                        {
                            "rate": "0.00",
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": "",
                    "name": "0.0000",
                    "rules": [
                        {
                            "rate": "0.00",
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": "",
                    "name": "FEE",
                    "rules": [
                        {
                            "rate": "0.00",
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": "",
                    "name": "none",
                    "rules": [
                        {
                            "rate": "0.00",
                            "country": ""
                        }
                    ]
                },
                {
                    "standalone": true,
                    "name": 2,
                    "rules": [
                        {
                            "rate": 0.0825,
                            "country": "US"
                        },
                        {
                            "rate": 0.08375,
                            "country": "NL"
                        }
                    ]
                }
            ]
        },
        "order_adjustment": {
            "total_adjustment": "0.00",
            "total_tax": "0.00"
        },
        "order_total": "260.00",
        "costs": [],
        "payment_url": "http:\/\/www.example.com\/client\/?action=notification&type=redirect&transactionid=2340676",
        "cancel_url": "http:\/\/www.example.com\/client\/?action=notification&type=cancel&transactionid=2340676"
    }
}

Creates a Pay After Delivery order

Parameter Type Description
type: optional (string) Specifies the payment flow for the checkout process. Options: direct , redirect
gateway: optional (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request. Options: PAYAFTER
order_id: (required) (string) The unique identifier from your system for the order
currency: (required) (string) The currency (ISO-4217) you want the customer to pay with
amount: (required) (number) The amount (in cents) that the customer needs to pay
description: (required) (string) A free text description which will be shown with the order in MultiSafepay Control. If the customers bank supports it this description will also be shown on the customers bank statement
payment_options: (required) (object)
custom_info: optional (object)
customer: (required) (object)
delivery: (required) (object)
shopping_cart: (required) (object)
checkout_options: (required) (object)
gateway_info: (required) (object)
birthday: (required) (string) The birth date of the customer in the format yyyy-mm-dd. This is required for credit checks. (Required for Klarna & Pay After Delivery, optional for E-Invoicing on request)
bank_account: (required) (string) The formatted IBAN for the customer. This is required for credit checks. (Required for Pay After Delivery)
phone: (required) (string) The phone number where the customer can be reached. This is required for credit checks and to contact the customer in case of non-payment
email: (required) (string) The email address where the system can send payment instructions to the customer

PayPal

{
    "type": "redirect",
    "order_id": "my-order-id-1",
    "gateway": "PAYPAL",
    "currency": "EUR",
    "amount": "1000",
    "description": "Test Order Description",
    "payment_options": {
        "notification_url": "https:\/\/www.example.com\/client\/notification?type=notification",
        "redirect_url": "https:\/\/www.example.com\/client\/notification?type=redirect",
        "cancel_url": "https:\/\/www.example.com\/client\/notification?type=cancel"
    },
    "customer": {
        "locale": "en_US"
    }
}

JSON Response

{
    "success": true,
    "data": {
        "order_id": "my-order-id-1",
        "payment_url": "https:\/\/payv2.multisafepay.com\/connect\/13oElUaESR7YS2b4gUJV9oI4tUXeb1mj1D8\/?lang=nl_NL"
    }
}
Parameter Type Description
type: optional (string) Specifies the payment flow for the checkout process. Options: direct , redirect , checkout , payment link
gateway: optional (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request. Options: PAYPAL
order_id: (required) (string) The unique identifier from your system for the order
currency: (required) (string) The currency (ISO-4217) you want the customer to pay with
amount: (required) (number) The amount (in cents) that the customer needs to pay
description: (required) (string) A free text description which will be shown with the order in MultiSafepay Control. If the customers bank supports it this description will also be shown on the customers bank statement
payment_options: (required) (object)
customer: optional (object)

Santander

{
    "type": "direct",
    "order_id": "my-order-id-1",
    "gateway": "SANTANDER",
    "currency": "EUR",
    "amount": 50000,
    "description": "Test Order Description",
    "payment_options": {
        "notification_url": "https:\/\/www.example.com\/client\/notification?type=notification",
        "redirect_url": "https:\/\/www.example.com\/client\/notification?type=redirect",
        "cancel_url": "https:\/\/www.example.com\/client\/notification?type=cancel"
    },
    "customer": {
        "locale": "en_US",
        "ip_address": "31.148.195.10",
        "forwarded_ip": "",
        "first_name": "John",
        "last_name": "Doe",
        "address1": "Neherkade",
        "house_number": "XI",
        "zip_code": "2521VA",
        "city": "Gravenhage",
        "state": "",
        "country": "NL",
        "email": "[email protected]",
        "referrer": "http:\/\/example.com",
        "user_agent": "Mozilla\/5.0 (Windows NT 6.3; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/38.0.2125.111 Safari\/537.36"
    },
    "gateway_info": {
        "birthday": "1970-07-10",
        "gender": "male",
        "phone": "0612345678",
        "email": "[email protected]"
    }
}

JSON Response

{
    "success": true,
    "data": {
        "transaction_id": 2333720,
        "order_id": "my-order-id-1",
        "created": "2017-08-07T10:07:07",
        "currency": "EUR",
        "amount": 100000,
        "description": "product description",
        "var1": null,
        "var2": null,
        "var3": null,
        "items": null,
        "amount_refunded": 0,
        "status": "initialized",
        "financial_status": "initialized",
        "reason": "",
        "reason_code": "",
        "fastcheckout": "NO",
        "modified": "2017-08-07T10:07:07",
        "customer": {
            "locale": "en_US",
            "first_name": null,
            "last_name": null,
            "address1": null,
            "address2": null,
            "house_number": null,
            "zip_code": null,
            "city": null,
            "state": null,
            "country": null,
            "country_name": null,
            "phone1": null,
            "phone2": "",
            "email": ""
        },
        "payment_details": {
            "recurring_id": null,
            "type": "SANTANDER",
            "account_id": null,
            "account_holder_name": null,
            "external_transaction_id": null
        },
        "costs": [
            {
                "transaction_id": 406933,
                "description": "Cost Description",
                "type": "SYSTEM",
                "amount": 0.49
            }
        ],
        "payment_url": "https:\/\/retailersowtest.santander.nl\/EDurables\/Home.aspx?guid=XXXXX"
    }
}
Parameter Type Description
type: optional (string) Specifies the payment flow for the checkout process. Options: direct , redirect , payment link
gateway: optional (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request. Options: SANTANDER
order_id: (required) (string) The unique identifier from your system for the order
currency: (required) (string) The currency (ISO-4217) you want the customer to pay with
amount: (required) (number) The amount (in cents) that the customer needs to pay
description: (required) (string) A free text description which will be shown with the order in MultiSafepay Control. If the customers bank supports it this description will also be shown on the customers bank statement
payment_options: (required) (object)
customer: optional (object)
gateway_info: optional (object)

SOFORT

{
    "type": "direct",
    "order_id": "my-order-id-1",
    "gateway": "DIRECTBANK",
    "currency": "EUR",
    "amount": "1000",
    "description": "Test Order Description",
    "payment_options": {
        "notification_url": "https:\/\/www.example.com\/client\/notification?type=notification",
        "redirect_url": "https:\/\/www.example.com\/client\/notification?type=redirect",
        "cancel_url": "https:\/\/www.example.com\/client\/notification?type=cancel"
    },
    "customer": {
        "locale": "en_US"
    }
}

JSON Response

{
    "success": true,
    "data": {
        "order_id": "my-order-id-1",
        "payment_url": "https:\/\/payv2.multisafepay.com\/connect\/13oElUaESR7YS2b4gUJV9oI4tUXeb1mj1D8\/?lang=nl_NL"
    }
}
Parameter Type Description
type: optional (string) Specifies the payment flow for the checkout process. Options: redirect
gateway: optional (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request. Options: DIRECTBANK
order_id: (required) (string) The unique identifier from your system for the order
currency: (required) (string) The currency (ISO-4217) you want the customer to pay with
amount: (required) (number) The amount (in cents) that the customer needs to pay
description: (required) (string) A free text description which will be shown with the order in MultiSafepay Control. If the customers bank supports it this description will also be shown on the customers bank statement
payment_options: (required) (object)
customer: optional (object

Transactions

Create a Refund

POST - /orders/{order_id/refunds

{
    "currency": "EUR",
    "amount": "8",
    "description": "Your refund description"
}

JSON Response:

{
  "success": true,
  "data": {
    "transaction_id": 3326965,
    "refund_id": 3326969
  }
}

Total or partial refund of an order

Parameter Type Description
id (required) (string) The unique identifier of the order.
currency (required) (string) The currency to process the refund in. This must be the same as the original transaction.
amount (required) (number) The amount (in cents) to be refunded.
description (required) (string) A description to be displayed with the transaction in MultiSafepay Control. If supported by the customers bank this description will be displayed on the customers bank statement.

Refund with shopping cart

POST - /orders/{order_id/refunds

{
    "checkout_data": {
        "items": [
            {
                "name": "Geometric Candle Holders",
                "description": "",
                "unit_price": "90",
                "quantity": "3",
                "merchant_item_id": "111111",
                "tax_table_selector": "none",
                "weight": {
                    "unit": "KG",
                    "value": "12"
                }
            },
            {
                "name": "Nice apple",
                "description": "",
                "unit_price": "35",
                "quantity": "1",
                "merchant_item_id": "666666",
                "tax_table_selector": "none",
                "weight": {
                    "unit": "KG",
                    "value": "20"
                }
            },
            {
                "name": "Flat Rat - Fixed",
                "description": "Shipping",
                "unit_price": "10",
                "quantity": "1",
                "merchant_item_id": "msp-shipping",
                "tax_table_selector": "none",
                "weight": {
                    "unit": "KG",
                    "value": "0"
                }
            }
        ]
    }
}

This request is used for creating a refund in orders with shopping cart like Pay After Delivery, E-Invoicing, Klarna and AfterPay.

To proceed with a refund:

  1. A request should be done to GET - /orders/{id} to obtain the cart items of the order and possible refunded items.
  2. Add/remove items in the refund. In Klarna, refunds are done adding a “copy” of the item to refund, with negative “unit_price”, all others should set negative “quantity”.
  3. Please make sure that all data in the items match with the original transaction (except for the quantity/unit_price).
Parameter Type Description
checkout_data (required) (object) Contains the original shopping cart + copied items to be refunded.

Bank Transfer Refund

Parameter Type Description
id (required) (string) The unique identifier of the order.
currency (required) (string) The currency to process the refund in. This must be the same as the original transaction.
amount (required) (number) The amount (in cents) to be refunded.
description (required) (string) A description to be displayed with the transaction in MultiSafepay Control. If supported by the customers bank this description will be displayed on the customers bank statement.
gateway_info (required) (object)

Other Requests

Categories

GET - /categories

JSON Response:

{
    "success": true,
    "data": [
        {
            "code": 999,
            "description": "Adult"
        },
        {
            "code": 106,
            "description": "Child and toys"
        }
    ]
}

Return a list of website categories.

Reference

Order full reference

Parameter Type Description
type (optional) (string) Specifies the payment flow for the checkout process. Options: redirect, direct, checkout, paymentlink
gateway (optional) (string) The unique gateway id to immediately direct the customer to the payment method. You retrieve these gateways using a gateway request.
order_id (required) (string) The unique identifier from your system for the order.
recurring_id (optional) (number) A previously stored recurring_id referring to a payment method to be charged again.
currency (required) (string) The currency (ISO-4217) you want the customer to pay with.
amount (required) (number) The amount (in cents) that the customer needs to pay.
description (required) (string) A free text description which will be shown with the order in MultiSafepay Control. If the customers bank supports it this description will also be shown on the customers bank statement. Max 200 characters.
var1 (optional) (string) A free variable for custom data to be stored and persisted.
var2 (optional) (string) A free variable for custom data to be stored and persisted.
var3 (optional) (string) A free variable for custom data to be stored and persisted.
items (optional) (string) Include an HTML formatted list of the items ordered. Used to customer how the order is displayed on payment pages and emails.
manual (optional) (boolean) If true this forces a credit card transaction to require manual acceptance regardless of the outcome from fraud checks. It is possible that a high risk transaction is still declined.
days_active (optional) (number) The number of days the payment link will be active for. Default is 30 days.
seconds_active (optional) (number) The number of seconds the payment link will be active for.
payment_options (required) (object)
notification_url (optional) (string) The URL that MultiSafepay will send transaction status updates to when the status of a transaction changes.
notification_method (optional) (string) MultiSafepay will send transaction status updates to “notification_url” using the method specified. Options: POST, GET
redirect_url (optional) (string) Where we will direct a customer from our payment pages after a successful transaction.
cancel_url (optional) (string) Where we will direct a customer from our payment pages after a cancelled or unsuccessful transaction.
close_window (optional) (boolean) Set to true if you will display the MultiSafepay payment page in a new window and want it to close automatically after the payment process has been completed.
template_id (optional) (boolean) The unique identifier of a predefined configured template.
template (optional) (object) A template object structure.
version (optional) (string)
settings (optional) (object)
hide_logo (optional) (boolean)
hide_flags (optional) (boolean)
hide_powered (optional) (boolean)
hide_cart (optional) (boolean)
hide_btn_cancel (optional) (boolean)
hide_cc_logos (optional) (boolean)
hide_btn_all_methods (optional) (boolean)
header (optional) (object)
logo (optional) (object)
image (optional) (string)
cover (optional) (object)
image (optional) (string)
background (optional) (string)
text (optional) (string)
body (optional) (object)
background (optional) (string)
text (optional) (string)
link (optional) (object)
text (optional) (string)
hover (optional) (object)
text (optional) (string)
border (optional) (string)
container (optional) (object)
background (optional) (string)
text (optional) (string)
label (optional) (string)
link (optional) (object)
text (optional) (string)
hover (optional) (object)
text (optional) (string)
cart (optional) (object)
background (optional) (string)
label (optional) (string)
text (optional) (string)
border (optional) (string)
payment_form (optional) (object)
text (optional) (string)
background (optional) (string)
border (optional) (string)
inputs (optional) (object)
border (optional) (string)
label (optional) (string)
buttons (optional) (object)
payment_method (optional) (object)
background (optional) (string)
text (optional) (string)
border (optional) (string)
hover (optional) (object)
background (optional) (string)
text (optional) (string)
border (optional) (string)
active (optional) (object)
background (optional) (string)
text (optional) (string)
border (optional) (string)
secondary (optional) (object)
background (optional) (string)
text (optional) (string)
hover (optional) (object)
background (optional) (string)
text (optional) (string)
border (optional) (string)
primary (optional) (object)
background (optional) (string)
text (optional) (string)
hover (optional) (object)
background (optional) (string)
text (optional) (string)
border (optional) (string)
second_chance (optional) (object)
send_email (optional) (boolean) Defines whether a second chance e-mail should be send or not.
custom_info (optional) (object)
custom_1 (optional) (string) Order custom information.
custom_2 (optional) (string) Order custom information.
custom_3 (optional) (string) Order custom information.
plugin (optional) (object)
shop (optional) (string) Shop name.
plugin_version (optional) (string) Plugin Version.
shop_version (optional) (string) Shop Version.
partner (optional) (string) Partner id.
shop_root_url (optional) (string) Shop Root Url.
customer (optional) (object)
locale (optional) (string) Include to provide localized payment pages for the customer. Use the format ab_CD with ISO 639 language codes and ISO 3166 country codes.
ip_address (optional) (string) The IP address of the customer.
forwarded_ip (optional) (string) The X-FORWARED-FOR header of the customer request when using a proxy.
referrer (optional) (string) The address of the page (if any) which referred the user agent to the current page.
user_agent (optional) (string) Contents of the User-Agent: header from the current request, if there is one. This is a string denoting the user agent being which is accessing the page. A typical example is: Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586).
first_name (optional) (string) The customer’s first name. - (recommended)
last_name (optional) (string) The customer’s first name. - (recommended)
company (optional) (boolean) FastCheckout will ask for company name if settled
company_name (optional) (string) The customer’s Company name
address1 (optional) (string) First line of customer’s provided address. - (recommended)
address2 (optional) (string) Second line of customer’s provided address.
house_number (optional) (string) Customer’s provided house number. - (recommended)
zip_code (optional) (string) Customer’s provided zip / postal code. - (recommended)
city (optional) (string) Customer’s provided city. - (recommended)
state (optional) (string) Customer’s provided state / province. - (recommended)
country (optional) (string) Customer’s provided country code. (ISO 3166-1) - (recommended)
phone (optional) (string) Customer’s provided phone number.
email (optional) (string) Customer’s provided email address. Used to send second chance emails and in fraud checks. - (recommended)
disable_send_email (optional) (boolean) True if you will send your own bank transfer payment instructions to consumers and do not want MultiSafepay to do this.
delivery (optional) (object)
first_name (optional) (string) The customer’s first name.
last_name (optional) (string) The customer’s first name.
address1 (optional) (string) First line of customer’s provided address.
address2 (optional) (string) Second line of customer’s provided address.
house_number (optional) (string) Customer’s provided house number.
zip_code (optional) (string) Customer’s provided zip / postal code.
city (optional) (string) Customer’s provided city.
state (optional) (string) Customer’s provided state / province.
country (optional) (string) Customer’s provided country code. (ISO 3166-1)
phone (optional) (string) Customer’s provided phone number.
email (optional) (string) Customer’s provided email address. Used to send second chance emails and in fraud checks.
affiliate (optional) (object)
split_payments (optional) (array) when using the split_payments object, the var3 must be empty. Otherwise, the payment split will be discarded.
merchant (required) (number) Affiliate Merchant Id.
percentage (required) (float) Define a percentage of the amount to split.
fixed (required) (integer) Define amount to split in cents.
description (required) (string) Description.
shopping_cart (optional) (object)
items (optional) (array)
name (optional) (string) Item Name.
description (optional) (string) Item description.
unit_price (optional) (string) Item price in cents.
currency (optional) (string) Item currency ISO-4217.
quantity (optional) (number) Quantity.
created (optional) (string) Cost Created Date.
merchant_item_id (optional) (string) Merchant item reference.
tax_table_selector (optional) (string) Tax selector.
cashback (optional) (string) Item cashback amount.
image (optional) (string) Item image url. Images must be https://.
product_url (optional) (string) Url of the product.
weight (optional) (object)
unit (optional) (number) The units that the weight metric has been provided in.
value (optional) (string) The number of units each of these items weighs.
checkout_options (optional) (object)
no_shipping_method (optional) (boolean) Set to true to skip the shipping address selection during the checkout process. Default value is false.
use_shipping_notification (optional) (boolean) In some instances it is not possible to send shipping options with the order request. Set this option to true in order to trigger a request to your webshop to retrieve shipping options during customer checkout. Default value is false.
tax_tables (optional) (object)
default (optional) (array, object)
shipping_taxed (optional) (boolean) Defines if shipping is already taxed.
rate (optional) (string) Rate amount in decimals.
rules (optional) (array) Define multiple rate rules.
rate (optional) (number) Rate amount in decimals
country (optional) (string) ISO 3166-1 country code where this rate will be applied.
world_area (optional) (boolean) Set worldwide allowed shipping, defaults to true.
alternate (optional) (array)
standalone (optional) (boolean) Set to default if this table should be used to calculate tax on shipping methods.
name (optional) (string) The name of this tax rule. Used in the tax_table_selector field on the items.
rate (optional) (string) The rate of tax to charge on items this rule is applied to in decimal format. e.g. 0.21.
rules (optional) (array) Define multiple rate rules.
rate (optional) (number) Rate amount in decimals
country (optional) (string) ISO 3166-1 country code where this rate will be applied.
world_area (optional) (boolean) Set worldwide allowed shipping, defaults to true.
rounding_policy (optional) (array)
mode (optional) (string) Select the rounding policy to use. Supported values are. Options: UP,DOWN,CEILING,HALF_UP,HALF_DOWN,HALF_EVEN
rule (optional) (string) States how to apply the rounding policy. Options: PER_ITEM,PER_LINE,TOTAL
shipping_methods (optional) (array)
flat_rate_shipping (optional) (array)
name (optional) (string) The name of the shipping company.
price (optional) (string) The price charged to the customer for using this shipping method.
currency (optional) (string) The currency (ISO-4217) that this shipping method will be charged in.
allowed_areas (optional) (array) A list of ISO 3166-1 country codes for which countries this shipping method is available. Countries not in this list will not support this shipping method.
excluded_areas (optional) (array) A list of ISO 3166-1 country codes for which countries this shipping method is not available
id (optional) (string) Unique identifier.
type (optional) (string) Shipping method type.
provider (optional) (string) Shipping method provider identifier.
pickup (optional) (array)
name (optional) (string) The name of the pickup location.
price (optional) (string) The price charged to the customer for using this shipping method.
currency (optional) (string)
id (optional) (string) Unique identifier.
type (optional) (string) Shipping method type.
provider (optional) (string) Shipping method provider identifier.
google_analytics (optional) (object)
account (optional) (string) Your Google Analytics Site Id. This will be injected into the payment pages so you can trigger custom events and track payment metrics.
gateway_info (optional) (object)
issuer_id (optional) (string)
account_id (optional) (string)
account_holder_name (optional) (string)
account_holder_city (optional) (string)
account_holder_country (optional) (string)
account_holder_iban (optional) (string)
account_holder_swift (optional) (string)
account_holder_bic (optional) (string)
personal_number (optional) (string)
gender (optional) (string)
phone (optional) (string)
referrer (optional) (string)
email (optional) (string)
user_agent (optional) (string)
card_number (optional) (string)
card_holder_name (optional) (string)
card_expiry_date (optional) (string)
card_cvc (optional) (string)
emandate (optional) (string)
qr_size (optional) (string)
company (optional) (string)
po_number (optional) (string)
coc (optional) (string)
vat (optional) (string)
collecting_flow (optional) (string)
action_on_declined (optional) (string)
company_type (optional) (string)
term_url (optional) (string)
birthday (optional) (string) The birth date of the customer in the format yyyy-mm-dd.
bank_account (optional) (string) The formatted IBAN for the customer. This is required for credit checks

Order status full reference

Response may vary depending the payment method

Parameter Type Description
transaction_id (optional) (number) MultiSafepay transaction id.
order_id (optional) (string) The unique identifier from your system for the order.
created (optional) (string) Order creation date.
modified (optional) (string) Order modified date.
recurring_id (optional) (string) Recurring payment identifier.
gateway (optional) (string)
currency (optional) (string)
amount (optional) (string) Order Amount.
description (optional) (string)
var1 (optional) (string)
var2 (optional) (string)
var3 (optional) (string)
amount_refunded (optional) (number)
status (optional) (string)
financial_status (optional) (string)
reason (optional) (string)
reason_code (optional) (string)
fastcheckout (optional) (string) Options: YES, NO
order_total (optional) (string)
html_form (optional) (string) Some payment methods returns an “auto-submit” HTML form to be used for redirection. If this variable is returned, should be used instead of the “payment_url”.
payment_url (optional) (string)
cancel_url (optional) (string)
customer (optional) (object)
locale (optional) (string) Include to provide localized payment pages for the customer. Use the format ab_CD with ISO 639 language codes and ISO 3166 country codes.
ip_address (optional) (string) The IP address of the customer.
forwarded_ip (optional) (string) The X-FORWARED-FOR header of the customer request when using a proxy.
referrer (optional) (string) The address of the page (if any) which referred the user agent to the current page.
user_agent (optional) (string) Contents of the User-Agent: header from the current request, if there is one. This is a string denoting the user agent being which is accessing the page. A typical example is: Mozilla/4.5 en.
first_name (optional) (string) The customer’s first name. - (recommended)
last_name (optional) (string) The customer’s first name. - (recommended)
company (optional) (boolean) FastCheckout will ask for company name if settled
company_name (optional) (string) The customer’s Company name
address1 (optional) (string) First line of customer’s provided address. - (recommended)
address2 (optional) (string) Second line of customer’s provided address.
house_number (optional) (string) Customer’s provided house number. - (recommended)
zip_code (optional) (string) Customer’s provided zip / postal code. - (recommended)
city (optional) (string) Customer’s provided city. - (recommended)
state (optional) (string) Customer’s provided state / province. - (recommended)
country (optional) (string) Customer’s provided country code. (ISO 3166-1) - (recommended)
phone (optional) (string) Customer’s provided phone number.
email (optional) (string) Customer’s provided email address. Used to send second chance emails and in fraud checks. - (recommended)
disable_send_email (optional) (boolean) True if you will send your own bank transfer payment instructions to consumers and do not want MultiSafepay to do this.
gateway_info (optional) (object)
issuer_id (optional) (string)
account_id (optional) (string)
account_holder_name (optional) (string)
account_holder_city (optional) (string)
account_holder_country (optional) (string)
account_holder_iban (optional) (string)
account_holder_swift (optional) (string)
account_holder_bic (optional) (string)
personal_number (optional) (string)
gender (optional) (string)
phone (optional) (string)
referrer (optional) (string)
email (optional) (string)
user_agent (optional) (string)
card_number (optional) (string)
card_holder_name (optional) (string)
card_expiry_date (optional) (string)
card_cvc (optional) (string)
emandate (optional) (string)
qr_size (optional) (string)
company (optional) (string)
po_number (optional) (string)
coc (optional) (string)
vat (optional) (string)
collecting_flow (optional) (string)
action_on_declined (optional) (string)
company_type (optional) (string)
term_url (optional) (string)
birthday (optional) (string) The birth date of the customer in the format yyyy-mm-dd.
bank_account (optional) (string) The formatted IBAN for the customer. This is required for credit checks
payment_details (optional) (object)
recurring_id (optional) (string) Recurring payment identifier.
type (optional) (string) Payment type.
card_expiry_date (optional) (boolean) Credit card expiry date.
last4 (optional) (boolean) Last 4 digits of the credit card.
account_id (optional) (string) Account id provided in the order.
account_holder_name (optional) (boolean)
external_transaction_id (optional) (boolean)
account_iban (optional) (boolean)
account_bic (optional) (boolean)
shopping_cart (optional) (object)
items (optional) (array)
name (optional) (string) Item Name.
description (optional) (string) Item description.
unit_price (optional) (string) Item price in cents.
currency (optional) (string) Item currency ISO-4217.
quantity (optional) (number) Quantity.
created (optional) (string) Cost Created Date.
merchant_item_id (optional) (string) Merchant item reference.
tax_table_selector (optional) (string) Tax selector.
cashback (optional) (string) Item cashback amount.
image (optional) (string) Item image url. Images must be https://.
product_url (optional) (string) Url of the product.
weight (optional) (object)
unit (optional) (number) The units that the weight metric has been provided in.
value (optional) (string) The number of units each of these items weighs.
checkout_options (optional) (object)
no_shipping_method (optional) (boolean) Set to true to skip the shipping address selection during the checkout process. Default value is false.
use_shipping_notification (optional) (boolean) In some instances it is not possible to send shipping options with the order request. Set this option to true in order to trigger a request to your webshop to retrieve shipping options during customer checkout. Default value is false.
tax_tables (optional) (object)
default (optional) (array, object)
shipping_taxed (optional) (boolean) Defines if shipping is already taxed.
rate (optional) (string) Rate amount in decimals.
rules (optional) (array) Define multiple rate rules.
rate (optional) (number) Rate amount in decimals
country (optional) (string) ISO 3166-1 country code where this rate will be applied.
world_area (optional) (boolean) Set worldwide allowed shipping, defaults to true.
alternate (optional) (array)
standalone (optional) (boolean) Set to default if this table should be used to calculate tax on shipping methods.
name (optional) (string) The name of this tax rule. Used in the tax_table_selector field on the items.
rate (optional) (string) The rate of tax to charge on items this rule is applied to in decimal format. e.g. 0.21.
rules (optional) (array) Define multiple rate rules.
rate (optional) (number) Rate amount in decimals
country (optional) (string) ISO 3166-1 country code where this rate will be applied.
world_area (optional) (boolean) Set worldwide allowed shipping, defaults to true.
rounding_policy (optional) (array)
mode (optional) (string) Select the rounding policy to use. Supported values are. Options: UP, DOWN, CEILING,HALF_UP,HALF_DOWN,HALF_EVEN
rule (optional) (string) States how to apply the rounding policy. Options: PER_ITEM,PER_LINE,TOTAL
shipping_methods (optional) (array)
flat_rate_shipping (optional) (array)
name (optional) (string) The name of the shipping company.
price (optional) (string) The price charged to the customer for using this shipping method.
currency (optional) (string) The currency (ISO-4217) that this shipping method will be charged in.
allowed_areas (optional) (array) A list of ISO 3166-1 country codes for which countries this shipping method is available. Countries not in this list will not support this shipping method.
excluded_areas (optional) (array) A list of ISO 3166-1 country codes for which countries this shipping method is not available
id (optional) (string) Unique identifier.
type (optional) (string) Shipping method type.
provider (optional) (string) Shipping method provider identifier.
pickup (optional) (array)
name (optional) (string) The name of the pickup location.
price (optional) (string) The price charged to the customer for using this shipping method.
currency (optional) (string)
id (optional) (string) Unique identifier.
type (optional) (string) Shipping method type.
provider (optional) (string) Shipping method provider identifier.
order_adjustment (optional) (object)
total_adjustment (optional) (string) Total order adjustment.
total_tax (optional) (string) Total order tax.
costs (optional) (array)
transaction_id (optional) (number) Internal transaction Id.
description (optional) (string) Cost description.
type (optional) (string) Cost Type.
amount (optional) (string) Cost Amount.
status (optional) (string) Cost Status.
created (optional) (string) Cost Created Date.

iDEAL Issuers

Direct iDEAL Transactions can have the following Issuers:

IssuerID Bank
0031 ABN AMRO
0761 ASN Bank
4371 Bunq
1235 Handelsbanken
0721 ING
0801 Knab
1234 Moneyou
0021 Rabobank
0771 Regio Bank
0751 SNS Bank
0511 Triodos Bank
0161 Van Lanschot Bankiers

Transaction Statuses

Transactions can have the following statuses:

Status Name Description
initialized Initialized A payment link has been generated, but no payment has been received yet.
declined Declined Rejected by the credit card company.
canceled Canceled Canceled by the merchant (only applies to the status Initialised or Uncleared).
completed Completed Payment has been successfully completed.
expired Expired Depending on the payment method unfinished transactions automatically expire after a predefined period.
uncleared Uncleared Waiting for manual permission of the merchant to approve/disapprove the payment.
refunded Refunded Payment has been refunded to the customer.
partial_refunded Partial Refunded Payment has been partially refunded to the customer.
reserved Reserved Payout/refund has been temporary put on reserved, a temporary status, till the e-wallet has been checked on sufficient balance.
chargedback Chargedback Forced reversal of funds initiated by consumer’s issuing bank. Only applicable to direct debit and credit card payments.
shipped Shipped Order for payment has been set to shipped to mark the transaction as complete.