Solutions
We currently offer this product in the following countries:
| Countries | Netherlands, Belgium |
|---|---|
| Countries for partners | Netherlands, Belgium, Italy, Spain |
If you are interested in our Point of Sale solutions, email [email protected].
MultiSafepay POS devices support different payment flows depending on your integration setup and business needs:
Manual input
Process payments directly on the device without external integration.
Cloud POS payments
Initiate payments from an external system such as your POS or backend.
On-device applications
Trigger payments from applications running on the same device.
Check the comparative table below to have an overview of each solution:
| Feature | Manual input | Cloud POS payments | On-device applications |
|---|---|---|---|
| Initiated from | Device | External system (POS/backend) | Same device (app or browser) |
| Integration needed | None | Backend or POS integration | Web or Android app integration |
| Best for | Simple setups, standalone usage | POS systems and external integrations | Custom apps and embedded experiences |
| User interaction | Manual input on device | Triggered remotely | Triggered from app or browser |
| Development effort | None | Medium to high | Medium to high |
| Flexibility | Low | High | High |
Manual input
To start processing payments manually on your device:
- Enter Amount due and select Pay.
- The customer taps or inserts their card to complete the payment.
- Once the payment is completed, a confirmation is displayed on the device.
Cloud POS payments
With cloud POS payment, you can initiate payments from an external application.
This diagram shows a successful cloud-based POS payment flow. Click to magnify.
NoteBefore initiating payments, ensure cloud mode is enabled. See features.
Cloud POS payments are not designed for on-device integrations.
Avoid using Cloud POS for native applications running on the same device.Instead, use the on-device applications flow.
How to initiate payments
Enable cloud mode
Enable cloud mode on your device. To learn how to enable this setting, see Cloud Mode - Features.
Create an order
In your backend, create an order and include the parameters mentioned in the request. Always include the terminal_id of the device where you want to process the payment.
The terminal_id parameter is required for cloud mode orders. To find your terminal ID, access your MultiSafepay payment app, go to Features, and click About. You will find it next to TID.
curl --request POST \
--url 'https://testapi.multisafepay.com/v1/json/orders?api_key=YOUR_GROUP_API_KEY' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '
{
"type": "redirect",
"order_id": "test-663",
"gateway": "",
"currency": "EUR",
"amount": 100,
"description": "Test Order Kiosk Description",
"payment_options": {
"notification_url": "https://www.example.com/event/notifications",
"notification_method": "POST"
},
"customer": {
"locale": "nl_NL",
"phone": "0612345678",
"email": "[email protected]"
},
"gateway_info": {
"terminal_id": "000000MB"
}
}'For more information, see Recipe – Cloud POS payments
Wake up the device
Once the payment is created from your backend, the device will wake up and show the amount and details on the payment screen.
Subscribe to event notifications
Subscribe to our event notifications to receive real-time status updates. You can integrate this in your backend to show success and declined screens.
On-same device third-party applications
Web applications
Web applications allow you to initiate payments from a browser to the MultiSafepay payment app on the same device.
This diagram shows a successful web application payment flow. Click to magnify.
How to initiate payments
Create an order
Create an order using the MultiSafepay API.
Example
curl -X POST \
"https://api.multisafepay.com/v1/json/orders?api_key={your-api-key}" \
-d '{
"type": "redirect",
"order_id": "my_order_id",
"gateway": "",
"currency": "EUR",
"amount": 10,
"description": "Order Description",
"payment_options": {
"notification_url": "https://www.example.com/paymentnotification",
"notification_method": "POST"
}
}'Initiate the payment
Use the following URL to initiate a payment:
msp://?amount={$amount}&order_id={$order_id}&callback={$callback_url}&printing=true&tipping=true¬ification_url={$notification_url}Parameters
amount: Amount in EUR centsorder_id: Unique identifier (max 50 characters, allowed: a-z A-Z 0-9 / - _)callback_url: Redirect URL to return payment statusnotification_url(optional): Receive asynchronous payment updatestipping: Enable tippingprinting: Enable receipt printing
Handle the payment result
The payment will return one of the following statuses:
CompletedCancelled
Native applications (App-to-app)
Native applications let you initiate payments from your app to the MultiSafepay payment app on the same device.
This diagram shows a successful native application payment flow. Click to magnify.
How to initiate payments
For native integrations, we provide an Android integration using Android Intents .
Your application sends a payment request via an Intent, which is handled by the MultiSafepay app. Once the transaction is processed, the user is redirected back to your app with a callback containing the payment result.
Possible statuses:
CompletedCanceled
See the integration guide:
MultiSafepay Android POS integration
Tap to PayApp-to-app behavior on Tap to Pay devices may differ slightly from SmartPOS terminals.
See the Tap to Pay notes in the integration guide for specific limitations and requirements:
Next step: Device setup
Based on the device you selected, choose the corresponding integration guide below.
Updated 2 days ago