Skip to content

MB WAY

EPA Integration option

Payment flow

  1. The customer selects MB WAY as a payment method on the merchant's website.
  2. The merchant displays a field requesting a phone number to the customer. Alternatively, a field with a pre-filled phone number can be displayed.
  3. The customer inserts their phone number in the displayed field or edits the displayed phone number if necessary.
  4. The merchant sends a payment request to PaySage.io.
  5. The customer receives a notification in their MB WAY application with a PIN-code.
  6. The customer confirms the payment in the application either by entering a PIN or using an alternative confirmation method configured in their application.
  7. If the payment is successful, PaySage.io sends a webhook notification to the merchant.
  8. 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

  1. Customer initiates the payment on the merchant's website.
  2. Merchant sends the payment request to PaySage.io
  3. PaySage.io returns a response with the form object with parameters to build a form to complete the payment.
  4. The merchant redirects the customer to the form.
  5. The customer completes the payment.
  6. 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.
email 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"
                }
            ]
        }
    }
}