Skip to content

Google Pay Alternative

MF Integration option

Payment

Payment flow

  1. The customer initiates the payment on the merchant's website.
  2. The merchant sends a payment request to MerchantPay with method.type set to google_pay_alt.
  3. MerchantPay responds with the payment page URL in redirect_url.
  4. The merchant redirects the customer to that URL. The customer selects Google Pay and confirms the payment.
  5. MerchantPay sends a webhook notification with the final payment status. The merchant may also use the status query.

Info

Available currencies depend on the gateway configuration. The default settings include EUR, GBP, and PLN.

Request

Send a payment request with the following data:

object
amount
required
bigInteger
Transaction amount in minimal currency units, for example, 1000 (10 units of the selected currency).
currency
required
string (3)
Transaction currency in the ISO 4217 alpha-3 format.
description
required
string (512)
Short description of the order.
return_url
required
string
URL to return the customer to when a transaction is completed.
ip
string
Customer's IP address.
language
string (2)
Customer's language.
object
Section of the payment method.
type
required
string
google_pay_alt.
object
Section of information about the customer.
first_name
required
string (60)
Customer's first name.
last_name
required
string (60)
Customer's last name.
email
required
string
Customer's email address.
external_id
string (128)
Customer's identifier in the merchant's system.
birth_date
string
Customer's date of birth in the ISO 8601 format (YYYY-MM-DD).
phone
string (18)
Customer's phone number including the country code.
country
required
string (2)
Customer's billing country in the ISO 3166-1 alpha-2 format.
address
required
string (300)
Customer's billing address.
city
required
string (50)
Customer's city.
state
string (40)
Customer's billing state or region.
zip
required
string (12)
Customer's billing ZIP or postal code.
Request example
{
    "request": {
        "amount": 1000,
        "currency": "EUR",
        "description": "Order 1234",
        "return_url": "https://example.com/return",
        "ip": "203.0.113.10",
        "language": "en",
        "method": {
            "type": "google_pay_alt"
        },
        "customer": {
            "first_name": "Joan",
            "last_name": "Collins",
            "email": "joan@example.com",
            "external_id": "customer-1234",
            "birth_date": "1990-05-14",
            "phone": "+447700900123",
            "country": "GB",
            "address": "10 Downing Street",
            "city": "London",
            "zip": "SW1A 1AA"
        }
    }
}
Response

Redirect the customer to the URL in redirect_url. A redirect to the merchant's site does not confirm the payment status; use the webhook notification or status query for the result.

Response example
{
    "transaction": {
        "uid": "de09a541-6c8c-4253-933e-7798e78d89ed",
        "type": "payment",
        "status": "pending",
        "amount": 1000,
        "currency": "EUR",
        "description": "Order 1234",
        "created_at": "2026-10-21T13:22:27Z",
        "updated_at": "2026-10-21T13:22:27Z",
        "method_type": "google_pay_alt",
        "receipt_url": "https://backoffice.universepay.eu/customer/transactions/de09a541-6c8c-4253-933e-7798e78d89ed/01343a880f083fc77bc74e99d7f771dc28b867750fc0846d1057c35f32eeef3b?language=en",
        "payment": {
            "status": "pending",
            "gateway_id": 6749,
            "ref_id": "978330e811024f44b75780d5834b46be",
            "message": "Transaction was initialized."
        },
        "google_pay_alt": {
            "type": "google_pay_alt"
        },
        "customer": {
            "zip": "SW1A 1AA",
            "city": "London",
            "email": "joan@example.com",
            "phone": "+447700900123",
            "address": "10 Downing Street",
            "country": "GB",
            "last_name": "Collins",
            "birth_date": "1990-05-14",
            "first_name": "Joan",
            "external_id": "customer-1234",
            "ip": "203.0.113.10"
        },
        "manually_corrected_at": null,
        "version": 2,
        "message": "Transaction was initialized.",
        "test": false,
        "language": "en",
        "billing_address": {
            "zip": "SW1A 1AA",
            "city": "London",
            "email": "joan@example.com",
            "phone": "+447700900123",
            "address": "10 Downing Street",
            "country": "GB",
            "last_name": "Collins",
            "birth_date": "1990-05-14",
            "first_name": "Joan"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },
        "smart_routing_verification": {
            "status": "successful"
        },
        "gateway": {
            "iframe": false
        },
        "form": {
            "action": "link-to-payment-page",
            "fields": [],
            "method": "GET"
        }
    }
}

Refund

Request

Send a standard refund request. The amount value must equal the amount of the corresponding payment transaction. Only one full refund is supported for each payment transaction.