MB WAY
EPA Integration option
Payment flow
- The customer selects MB WAY as a payment method on the merchant's website.
- The merchant displays a field requesting a phone number to the customer. Alternatively, a field with a pre-filled phone number can be displayed.
- The customer inserts their phone number in the displayed field or edits the displayed phone number if necessary.
- The merchant sends a payment request to PaySage.io.
- The customer receives a notification in their MB WAY application with a PIN-code.
- The customer confirms the payment in the application either by entering a PIN or using an alternative confirmation method configured in their application.
- If the payment is successful, PaySage.io sends a webhook notification to the merchant.
- The merchant displays the transaction status to the customer.
Payment
Request
Send a payment request with the following additional parameters:
Parameter | Type | Description |
---|---|---|
request | object | |
return_url * required |
string | URL to return the customer to when the transaction is completed. |
method | object | A section of the payment method. |
type * required |
string | mb_way |
customer * required |
object | A section of information about the customer. |
first_name * required |
string | The customer's first name. |
last_name * required |
string | The customer's last name. |
email * required |
string | The customer's email address. |
phone * required |
string (9) | The customer's phone number without the country code. |
Request example
{
"request":{
"amount":100,
"currency":"EUR",
"description":"description",
"return_url": "https://your_return_url.com",
"test": false,
"customer":{
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com",
"phone":"123456789"
},
"method":{
"type": "mb_way"
}
}
}
Response
Response example
{
"transaction": {
"uid": "fafd92cd-e48d-48f2-aec2-4671850fe52d",
"type": "payment",
"status": "pending",
"amount": 100,
"currency": "EUR",
"description": "description",
"created_at": "2023-11-15T08:37:10Z",
"updated_at": "2023-11-15T08:37:13Z",
"method_type": "mb_way",
"receipt_url": "https://backoffice.paysage.io/customer/transactions/fafd92cd-e48d-48f2-aec2-4671850fe52d/52d2f47ea5aa481a02970b6a44fad0dca3d074589133c9870f0bb79d920d7689",
"payment": {
"status": "pending",
"gateway_id": 3403,
"ref_id": "116588",
"message": "Pending"
},
"mb_way": {
"type": "mb_way"
},
"customer": {
"phone": "912345678",
"email": null,
"ip": null
},
"manually_corrected_at": null,
"message": "Pending",
"test": true,
"billing_address": {
"phone": "912345678"
},
"additional_data": {
"payment_method": {
"type": "alternative"
}
},
"gateway": {
"iframe": false
}
}
}
TW2 Integration option
Payment flow
- Customer initiates the payment on the merchant's website.
- Merchant sends the payment request to PaySage.io
- PaySage.io returns a response with the
form
object with parameters to build a form to complete the payment. - The merchant redirects the customer to the form.
- The customer completes the payment.
- PaySage.io sends a webhook notification to the merchant.
Info
This integration option supports only EUR
currency.
Payment
Request
Send a payment request with the following additional parameters:
Parameter | Type | Description |
---|---|---|
request | object | |
amount * required |
bigInteger | Transaction amount in minimal currency units, for example, 5000 (50 euros). |
return_url * required |
string | URL to return the customer to when the transaction is completed. |
method | object | A section of the payment method. |
type * required |
string | mb_way |
ip | string | The customer's IP address. |
customer | object | A section of additional information about the customer. |
country | string (2) | The customer's country in the ISO 3166-1 Alpha-2 format. For example, PT . |
phone | string | The customer's phone number. |
string | The customer's email address. | |
first_name | string | The customer's first name. |
last_name | string | The customer's last name. |
city | string (120) | The customer's billing city. |
zip | string (40) | The customer's billing ZIP or postal code. |
state | string | The customer's two-letter billing state only if the billing address country is US , CA or IN . |
address | string (510) | The customer's billing address. |
Request example
{
"request": {
"amount": 101,
"currency": "EUR",
"description": "test",
"test": false,
"tracking_id": "your_uniq_number21212",
"return_url": "https://your-success.url",
"method": {
"type": "mb_way"
}
}
}
Response
Build an HTML form based on the parameters in the form
object. Redirect the customer to the form to finalize the payment.
Response example
{
"transaction": {
"uid": "52878f4b-a1c6-428d-86cd-162e0111d98b",
"type": "payment",
"status": "pending",
"amount": 101,
"currency": "EUR",
"description": "test",
"created_at": "2025-04-08T12:23:18Z",
"updated_at": "2025-04-08T12:23:18Z",
"method_type": "mb_way",
"receipt_url": "https://backoffice.paysage.io/customer/transactions/52878f4b-a1c6-428d-86cd-162e0111d98b/34aebab9cef3e3332763eb8db16a2439cfe949ccf0bbbfd5a9a127f691dfa8b4",
"payment": {
"status": "pending",
"gateway_id": 5236,
"message": "Transaction was initialized."
},
"mb_way": {
"type": "mb_way"
},
"customer": {
"email": null,
"ip": null
},
"manually_corrected_at": null,
"version": 0,
"message": "Transaction was initialized.",
"tracking_id": "your_uniq_number21212",
"test": false,
"additional_data": {
"payment_method": {
"type": "alternative"
}
},
"gateway": {
"iframe": false
},
"form": {
"action": "link-to-payment-page",
"method": "POST",
"fields": [
{
"name": "memberId",
"value": "14363",
"type": "hidden"
},
{
"name": "terminalid",
"value": "8162",
"type": "hidden"
},
{
"name": "partnerId",
"value": "39",
"type": "hidden"
},
{
"name": "checksum",
"value": "d8d54ea74563444eff6e2db308247737",
"type": "hidden"
},
{
"name": "merchantTransactionId",
"value": "52878f4b-a1c6-428d-86cd-162e0111d98b",
"type": "hidden"
},
{
"name": "amount",
"value": "1.01",
"type": "hidden"
},
{
"name": "currency",
"value": "EUR",
"type": "hidden"
},
{
"name": "paymentBrand",
"value": "MBWAY",
"type": "hidden"
},
{
"name": "paymentMode",
"value": "EW",
"type": "hidden"
},
{
"name": "orderDescription",
"value": "test",
"type": "hidden"
},
{
"name": "country",
"value": "PT",
"type": "hidden"
},
{
"name": "merchantRedirectUrl",
"value": "https://api.paysage.io/beyag/transactions/returns/88c70e7191aa823ac0588a279d22ef5722fc26712f6eac23ab76b53a65019c48/52878f4b-a1c6-428d-86cd-162e0111d98b",
"type": "hidden"
},
{
"name": "notificationUrl",
"value": "https://api.paysage.io/beyag/transactions/notifications/88c70e7191aa823ac0588a279d22ef5722fc26712f6eac23ab76b53a65019c48/52878f4b-a1c6-428d-86cd-162e0111d98b",
"type": "hidden"
},
{
"name": "totype",
"value": "TransactWorld",
"type": "hidden"
}
]
}
}
}