Skip to content

Bank Transfer

PF Integration option

Payment flow

  1. The customer initiates a payment.
  2. The merchant sends a payment request to MerchantPay.
  3. MerchantPay sends a response with the form object containing action parameter with a link to the payment page.
  4. The merchant redirects the customer to the URL specified in the form.action field from MerchantPay response.
  5. The customer makes a payment.
  6. Once the payment is completed, the customer is redirected to the page specified in return_url in the payment request.
  7. MerchantPay sends a webhook notification with the payment status to the merchant. The merchant may also request the payment status from MerchantPay with the status query.
  8. The merchant displays the payment status to the customer.

Payment

Request

Info

This integration option only supports INR currency.

Send a payment request with the following additional parameters:

object
return_url
required

string
A URL to return the customer to when a transaction is completed.
object
A section of the payment method.
type
required

string
bank_transfer
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.
city
required
string (100)
The customer's billing city.
state
required
string (2)
The customer's billing state. Set as the 2 last symbols of the code in the ISO 3166-2 format.
zip
required
string (6)
The post code of the customer's billing address.
address
required
string
The customer's address.
country
required
string (2)
The customer's billing country in the ISO 3166-1 Alpha-2 format. For example, IN.
phone
required
string (10—14)
The customer's mobile or landline phone number. Examples: 1234567891 or +91-1234567891.
email
required
string
The customer's email address.
Request example
{
  "request": {
    "amount": 20000,
    "currency": "INR",
    "description": "description",        
    "return_url": "return_url",
    "test": true,
    "customer": {
      "first_name": "John",
      "last_name": "Doe",
      "city": "Bangalore",
      "state": "KA",
      "zip": "560002",
      "phone": "1234567891",
      "country": "IN",
      "email": "john@example.com",
      "address": "10 Sampige Road"
    },
    "method": {
      "type": "bank_transfer"
    }
  }
}
Response

The response section will have parameters copied from the request. Additionally, you'll get the form object with a URL to the payment page. Redirect the customer to the URL specified in form.action.

Response example
{
  "transaction": {
    "uid": "c4af9ca3-daf3-40cf-a19d-22c501e530d7",
    "type": "payment",
    "status": "pending",
    "amount": 20000,
    "currency": "INR",
    "description": "description",
    "created_at": "2024-02-07T10:04:00Z",
    "updated_at": "2024-02-07T10:04:01Z",
    "method_type": "bank_transfer",
    "receipt_url": "https://backoffice.universepay.eu/customer/transactions/c4af9ca3-daf3-40cf-a19d-22c501e530d7/9e63423487284dc87e9104489a86174c07ba08ad4f014fdc10f66d1f85d1a27b",
    "payment": {
      "status": "pending",
      "gateway_id": 3698,
      "ref_id": "1548e1ca-0d7c-4552-8139-728a04ccd6f5",
      "message": "Transaction was initialized"
    },
    "bank_transfer": {
      "type": "bank_transfer"
    },
    "customer": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john@example.com",
      "country": "IN",
      "city": "Bangalore",
      "zip": "560002",
      "address": "10 Sampige Road",
      "phone": "91123456789",
      "state": "KA",
      "ip": null
    },
    "manually_corrected_at": null,
    "message": "Transaction was initialized",
    "test": true,
    "billing_address": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john@example.com",
      "country": "IN",
      "city": "Bangalore",
      "zip": "560002",
      "address": "10 Sampige Road",
      "phone": "91123456789",
      "state": "KA"
    },
    "additional_data": {
      "payment_method": {
        "type": "alternative"
      }
    },
    "gateway": {
      "iframe": false
    },
    "form": {
      "action": "redirect-url",
      "method": "GET",
      "fields": []
    }
  }
}

MF Integration option

Payment

Info

This integration option supports only EUR and GBP currencies.

Payment flow

  1. The customer initiates the payment on the merchant's website.
  2. The merchant sends the payment request to MerchantPay.
  3. MerchantPay sends a response containing the URL for completing the payment.
  4. The merchant redirects the customer to the provided URL.
  5. The customer completes the payment.
  6. MerchantPay sends a webhook notification with the payment status to the merchant. The merchant may also request the payment status from MerchantPay using the status query.
Request

Send a payment request with the following additional parameters:

object
return_url
required
string
A URL to which the customer is redirected after the transaction is completed.
ip
string
The customer's IP address.
object
A section of the payment method information.
type
required

string
bank_transfer
account_number
string
IBAN of the customer's account.
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.
country
required
string (2)
The customer's country in the ISO 3166-1 Alpha-2 format.
external_id
string
The customer's identifier in the merchant's system.
birth_date
string
The customer's date of birth in the ISO 8601 format (YYYY-MM-DD).
phone
string
The customer's phone number without the special characters.
address
string (510)
The customer's address.
city
string (50)
The customer's city.
zip
string (12)
The postal code of the customer's address.
state
string (40)
The customer's state/region.
Request example
{
    "request": {
        "amount": 500,
        "currency": "EUR",
        "description": "description",
        "test": true,
        "return_url": "https://return-url/",
        "customer": {
            "first_name": "John",
            "last_name": "Doe",
            "email": "example@example.com",
            "country": "BE"
        },
        "method": {
            "type": "bank_transfer",
            "account_number": "BE12345678901234"
        }
    }
}
Response

Redirect the customer to the URL received as the value of the form.action parameter.

Response example
{
    "transaction": {
        "uid": "2b9073db-8548-4b1b-8d5a-bc60683f1cf3",
        "type": "payment",
        "status": "pending",
        "amount": 500,
        "currency": "EUR",
        "description": "description",
        "created_at": "2026-06-09T15:31:57Z",
        "updated_at": "2026-06-09T15:32:03Z",
        "method_type": "bank_transfer",
        "receipt_url": "https://backoffice.universepay.eu/customer/transactions/2b9073db-8548-4b1b-8d5a-bc60683f1cf3/7aa7981fe4c827222def087e56d0dc9b32272a38ad74a5bc5175812fe386fa61",
        "payment": {
            "status": "pending",
            "gateway_id": 6749,
            "ref_id": "880cb9ffb30446379b17ff0f2423a8ae",
            "message": "Transaction was initialized."
        },
        "bank_transfer": {
            "type": "bank_transfer",
            "account_number": "BE12345678901234"
        },
        "customer": {
            "email": "example@example.com",
            "country": "BE",
            "last_name": "Doe",
            "first_name": "John",
            "ip": null
        },
        "manually_corrected_at": null,
        "version": 1,
        "message": "Transaction was initialized.",
        "test": true,
        "billing_address": {
            "email": "example@example.com",
            "country": "BE",
            "last_name": "Doe",
            "first_name": "John"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },
        "smart_routing_verification": {
            "status": "successful"
        },
        "gateway": {
            "iframe": false
        },
        "form": {
            "action": "link-to-payment-page",
            "fields": [],
            "method": "GET"
        }
    }
}

BE Integration option

Payment

Info

This integration option supports only EUR currency.

Payment flow

  1. The customer initiates the payment on the merchant's website.
  2. The merchant sends the payment request to MerchantPay.
  3. MerchantPay returns a response containing the form object with parameters to build a form to complete the payment.
  4. The merchant redirects the customer to the form page.
  5. The customer completes the payment.
  6. MerchantPay sends a webhook notification with the payment status to the merchant. The merchant may also request the payment status from MerchantPay using the status query.
Request

Send a payment request with the following additional parameters:

object
return_url
required
string
A URL to which the customer is redirected after the transaction is completed.
object
A section of the payment method information.
type
required

string
bank_transfer
object
A section of information about the customer.
external_id
string
The customer's identifier in the merchant's system. It is recommended to send this parameter.
first_name
string
The customer's first name.
last_name
string
The customer's last name.
email
string
The customer's email address.
country
string (2)
The customer's country code in the ISO 3166-1 Alpha-2 format.
Request example
{
    "request": {
        "test": true,
        "amount": 500,
        "currency": "EUR",
        "description": "description",
        "return_url": "https://return.com",
        "method": {
            "type": "bank_transfer"
        },
        "customer": {
            "external_id": "12345ghj",
            "email": "example@example.com",
            "first_name": "John",
            "last_name": "Doe",
            "country": "FR"
        }
    }
}
Response

Build an HTML form based on the parameters in the form object. Redirect the customer to the form page to finalize the payment.

Response example
{
    "transaction": {
        "uid": "399c96f2-7af5-4cac-a270-602af994ca21",
        "type": "payment",
        "status": "pending",
        "amount": 500,
        "currency": "EUR",
        "description": "description",
        "created_at": "2026-06-15T16:25:34Z",
        "updated_at": "2026-06-15T16:25:34Z",
        "method_type": "bank_transfer",
        "receipt_url": "https://backoffice.universepay.eu/customer/transactions/399c96f2-7af5-4cac-a270-602af994ca21/6fe6c8c1c4e0d938b9c8977ded59650e18954624f169e1717d470715e4cf46b9",
        "payment": {
            "status": "pending",
            "gateway_id": 6788,
            "message": "Transaction was initialized."
        },
        "bank_transfer": {
            "type": "bank_transfer",
            "use_pending_page": true
        },
        "customer": {
            "email": "example@example.com",
            "country": "FR",
            "last_name": "Doe",
            "first_name": "John",
            "external_id": "12345ghj",
            "ip": null
        },
        "manually_corrected_at": null,
        "version": 1,
        "message": "Transaction was initialized.",
        "test": true,
        "billing_address": {
            "email": "example@example.com",
            "country": "FR",
            "last_name": "Doe",
            "first_name": "John"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },
        "smart_routing_verification": {
            "status": "successful"
        },
        "gateway": {
            "iframe": false
        },
        "form": {
            "action": "link-to-payment-page",
            "fields": [
                {
                    "name": "project_id",
                    "type": "hidden",
                    "value": 162661
                },
                {
                    "name": "payment_id",
                    "type": "hidden",
                    "value": "399c96f2-7af5-4cac-a270-602af994ca21"
                },
                {
                    "name": "payment_amount",
                    "type": "hidden",
                    "value": 500
                },
                {
                    "name": "payment_currency",
                    "type": "hidden",
                    "value": "EUR"
                },
                {
                    "name": "customer_id",
                    "type": "hidden",
                    "value": "12345ghj"
                },
                {
                    "name": "customer_first_name",
                    "type": "hidden",
                    "value": "John"
                },
                {
                    "name": "customer_last_name",
                    "type": "hidden",
                    "value": "Doe"
                },
                {
                    "name": "customer_email",
                    "type": "hidden",
                    "value": "example@example.com"
                },
                {
                    "name": "region_code",
                    "type": "hidden",
                    "value": "FR"
                },
                {
                    "name": "payment_description",
                    "type": "hidden",
                    "value": "description"
                },
                {
                    "name": "best_before",
                    "type": "hidden",
                    "value": "2026-06-16T16:25:34+00:00"
                },
                {
                    "name": "merchant_callback_url",
                    "type": "hidden",
                    "value": "https://apm.universepay.eu/beyag/transactions/notifications/2e54a8117d2b5218261da4aa981f6ea1d61c0a7445ba0c538c2235404d35643d"
                },
                {
                    "name": "redirect_success_url",
                    "type": "hidden",
                    "value": "https://apm.universepay.eu/beyag/transactions/returns/2e54a8117d2b5218261da4aa981f6ea1d61c0a7445ba0c538c2235404d35643d/399c96f2-7af5-4cac-a270-602af994ca21"
                },
                {
                    "name": "redirect_fail_url",
                    "type": "hidden",
                    "value": "https://apm.universepay.eu/beyag/transactions/returns/2e54a8117d2b5218261da4aa981f6ea1d61c0a7445ba0c538c2235404d35643d/399c96f2-7af5-4cac-a270-602af994ca21"
                },
                {
                    "name": "signature",
                    "type": "hidden",
                    "value": "NVowj2xkgo+4lnReqHAvN9nR7Lo0H7IZS/bUljBHoVCTZEordVB8H8Jf7vzbEPvbI7qPhxCXGFBfVK4KvjAJlg=="
                }
            ],
            "method": "POST"
        }
    }
}