Skip to content

Blik

MH Integration option

Payment

Payment Flow

  1. The customer selects Blik as a payment method on the merchant's website.
  2. The merchant sends a payment request to the PaySage.io.
  3. PaySage.io responds with a link to the payment page.
  4. The merchant redirects the customer to the payment page.
  5. The customer completes the payment.
  6. PaySage.io sends a webhook notification with the payment status to the merchant.
  7. The merchant displays the payment status to the customer.

Info

This integration option supports only PLN and EUR currencies.

Request

Send a payment request with the following additional data:

object
return_url
required
string
URL to return the customer to when the transaction is completed.
ip
string
The customer's IP address.
object
A section of the payment method.
type
required
string
blik
user_id
required
string
Unique customer identifier in the merchant's system.
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
The customer's phone number including the country code and without special characters.
country
required
string (2)
The customer's country in the ISO 3166-1 Alpha-2 format. For example, PL.
Request example
{
  "request": {
    "amount": 500,
    "currency": "PLN",
    "description": "description",
    "test": true,
    "return_url": "https://return.com",          
    "language": "en",
    "customer": {
      "first_name": "John",
      "last_name": "Doe",
      "phone": "17777777777",
      "email": "example@example.com",
      "country": "PL"
    },
    "method": {
      "type": "blik",
      "user_id": "fdsaf345"
    }
  }
}
Response

The blik response object will have the parameters from the request as well as the form object with a link to which you need to redirect the customer to finalize the payment.

Response example
{
  "transaction": {
    "uid": "0c317a6e-6484-4d3f-9880-362e44a177b3",
    "type": "payment",
    "status": "pending",
    "amount": 500,
    "currency": "PLN",
    "description": "description",
    "created_at": "2024-03-14T12:52:34Z",
    "updated_at": "2024-03-14T12:52:34Z",
    "method_type": "blik",
    "receipt_url": "https://backoffice.paysage.io/customer/transactions/0c317a6e-6484-4d3f-9880-362e44a177b3/c464dc235b72b3cdf5cc5eee22493e13020bf89b1311aca6b9102a1f406a6d1d?language=en",
    "payment": {
      "status": "pending",
      "gateway_id": 3806,
      "ref_id": "1710420754629",
      "message": "Transaction was initialized",
      "rrn": 33761341
    },
    "blik": {
      "user_id": "fdsaf345",
      "type": "blik"
    },
    "customer": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "example@example.com",
      "country": "PL",
      "phone": "17777777777",
      "ip": "null"
    },
    "manually_corrected_at": null,
    "message": "Transaction was initialized",
    "test": true,
    "language": "en",
    "billing_address": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "example@example.com",
      "country": "PL",
      "phone": "17777777777"
    },
    "additional_data": {
      "payment_method": {
        "type": "alternative"
      }
    },
    "gateway": {
      "iframe": false
    },
    "form": {
      "action": "https://mh/v1/paymentpage/1298/1710420754629",
      "method": "GET",
      "fields": []
    }
  }
}

PR Integration option

Payment

Payment Flow

  1. The customer initiates the payment on the merchant's website.
  2. The merchant sends a payment request to PaySage.io.
  3. PaySage.io responds with a link to the payment page.
  4. The merchant redirects the customer to the payment page.
  5. The customer inserts the Blik code on the payment page and completes the payment.
  6. PaySage.io sends a webhook notification with the payment status to the merchant.

Info

This integration option supports only `PLN` currency.
Request

Send a payment request with the following additional data:

object
return_url
required

string
A URL to return the customer to when a transaction is completed.
ip
string
The customer's IP address.
object
A section of the payment method.
type
required
string
blik
object
A section of information about the customer.
first_name
string
The customer's first name.
last_name
string
The customer's last name.
middle_name
string
The customer's middle name.
email
string
The customer's email address.
country
string
The customer's billing country in the ISO 3166-1 alpha-2 format. Must be PL.
city
string
The customer's billing city.
address
string
The customer's billing address.
zip
string
The customer's billing ZIP or postal code.
birth_date
string
The customer's date of birth in the ISO 8601 format (YYYY-MM-DD).
Request example
{
    "request": {
        "test": true,
        "amount": 5000,
        "currency": "PLN",
        "description": "description",
        "return_url": "https://return.com",
        "language": "en",
        "customer": {
            "email": "example@example.com"
        },
        "method": {
            "type": "blik"
        }
    }
}
Response

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

Response example
{
    "transaction": {
        "uid": "17686da0-0ac6-424d-9aa7-a911d2fe507c",
        "type": "payment",
        "status": "pending",
        "amount": 5000,
        "currency": "PLN",
        "description": "description",
        "created_at": "2024-09-23T09:38:51Z",
        "updated_at": "2024-09-23T09:38:51Z",
        "method_type": "blik",
        "receipt_url": "https://backoffice.paysage.io/customer/transactions/17686da0-0ac6-424d-9aa7-a911d2fe507c/8010d8d1ac2064c99f189cb1edd651cb38b82e4c26a921d297eead385b5662ad?language=en",
        "payment": {
            "status": "pending",
            "gateway_id": 4498,
            "ref_id": "17686da0-0ac6-424d-9aa7-a911d2fe507c",
            "message": "Transaction was initialized",
            "bank_code": 0,
            "rrn": "HPI00000000780H6"
        },
        "blik": {
            "type": "blik"
        },
        "customer": {
            "email": "example@example.com",
            "ip": null
        },
        "manually_corrected_at": null,
        "version": 1,
        "message": "Transaction was initialized",
        "test": true,
        "language": "en",
        "billing_address": {
            "email": "example@example.com"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },       
        "gateway": {
            "iframe": true
        },
        "form": {
            "action": "https://checkout.pr.io/payment/414c8d6e-29a5-4c76-865c-0877dab5d99a/efc015be911369924d55c91a5d8651dbdadf1ffd307e13f18e1fef992c6014a2",
            "method": "GET",
            "fields": []
        }
    }
}  

OX Integration option

Payment

Payment Flow

  1. The customer initiates the payment on the merchant's website.
  2. The merchant sends a payment request to PaySage.io.
  3. PaySage.io responds with a link to the payment page.
  4. The merchant redirects the customer to the payment page.
  5. The customer completes the payment.
  6. PaySage.io sends a webhook notification with the payment status to the merchant.

Info

This integration option supports only PLN currency.

Request

Send a payment request with the following additional data:

object
return_url
required

string
A URL to return the customer to when a transaction is completed.
language
required
string
The language of the payment page. Possible values: en (English), pl (Polish), ua (Ukrainian), pt (Portuguese).
object
A section of the payment method.
type
required
string
blik
object
A section of information about the customer.
first_name
string
The customer's first name.
last_name
string
The customer's last name.
email
string
The customer's email address.
phone
string
The customer's phone number.
city
string
The customer's billing city.
address
string
The customer's billing address.
zip
string
The customer's billing ZIP or postal code.
Request example
{
    "request": {
        "test": true,
        "amount": 1500,
        "currency": "PLN",
        "language": "en",
        "description": "description",
        "return_url": "https://return.com",
        "method": {
            "type": "blik"            
        },
        "customer": {            
            "email": "test@example.com"                      
        }
    }
}
Response

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

Response example
{
  "transaction": {
    "uid": "193d6738-76de-4895-8ba7-bae9f445125d",
    "type": "payment",
    "status": "pending",
    "amount": 1500,
    "currency": "PLN",
    "description": "description",
    "created_at": "2025-01-23T14:01:09Z",
    "updated_at": "2025-01-23T14:01:09Z",
    "method_type": "blik",
    "receipt_url": "https://backoffice.paysage.io/customer/transactions/193d6738-76de-4895-8ba7-bae9f445125d/d7f9bf41df62deb99ce1bc97792e99e7d23fa72f4fef9270525a3a4a793d1e29?language=en",
    "payment": {
      "status": "pending",
      "gateway_id": 4879,
      "message": "Transaction was initialized."
    },
    "blik": {
      "type": "blik"
    },
    "customer": {
      "email": "test@example.com",
      "ip": null
    },
    "manually_corrected_at": null,
    "version": 0,
    "message": "Transaction was initialized.",
    "test": true,
    "language": "en",
    "billing_address": {
      "email": "test@example.com"
    },
    "additional_data": {
      "payment_method": {
        "type": "alternative"
      }
    },    
    "gateway": {
      "iframe": false
    },
    "form": {
      "action": "https://ox/en/checkout?address=TGmEwV1RrNiF9f1Dk7By1Xk8F63P5jcbT1",
      "method": "GET",
      "fields": []
    }
  }
}

DC Integration option

Payment

Payment Flow

  1. The customer initiates the payment on the merchant's website.
  2. The merchant sends a payment request to PaySage.io.
  3. PaySage.io responds with a link to the payment page.
  4. The merchant redirects the customer to the payment page.
  5. The customer completes the payment.
  6. PaySage.io sends a webhook notification with the payment status to the merchant.

Info

This integration option supports only PLN currency.

Request

Send a payment request with the following additional data:

object
return_url
required

string
A URL to return the customer to when a transaction is completed.
ip
string
The customer's IP address.
object
A section of the payment method.
type
required
string
blik
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
string
The customer's email address.
phone
string
The customer's phone number.
city
string
The customer's billing city.
address
string
The customer's billing address.
zip
string
The customer's billing ZIP or postal code.
birth_date
string
The customer's date of birth in the ISO 8601 format (YYYY-MM-DD).
Request example
{
    "request": {
        "amount": 500,
        "currency": "PLN",
        "description": "description",
        "test": true,
        "return_url": "https://return.com",
        "language": "en",
        "customer": {
            "first_name": "John",
            "last_name": "Doe"
        },
        "method": {
            "type": "blik"
        }
    }
}
Response

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

Response example
{
    "transaction": {
        "uid": "61eb915c-90e9-45a6-bb1b-bce0980785fb",
        "type": "payment",
        "status": "pending",
        "amount": 500,
        "currency": "PLN",
        "description": "description",
        "created_at": "2025-04-08T14:05:14Z",
        "updated_at": "2025-04-08T14:05:14Z",
        "method_type": "blik",
        "receipt_url": "https://backoffice.paysage.io/customer/transactions/61eb915c-90e9-45a6-bb1b-bce0980785fb/d348151ff49193e013684b1a69fe2d3e221618806499e83a5b46771020ee2b6a?language=en",
        "payment": {
            "status": "pending",
            "gateway_id": 5220,
            "ref_id": "d45d8a3c80d0d6bda403",
            "message": "Transaction was initialized."
        },
        "blik": {
            "type": "blik"
        },
        "customer": {
            "first_name": "John",
            "last_name": "Doe",
            "email": null,
            "ip": null
        },
        "manually_corrected_at": null,
        "version": 0,
        "message": "Transaction was initialized.",
        "test": true,
        "language": "en",
        "billing_address": {
            "first_name": "John",
            "last_name": "Doe"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },        
        "gateway": {
            "iframe": false
        },
        "form": {
            "action": "link-to-payment-page",
            "method": "GET",
            "fields": []
        }
    }
}

Refund

Request

Send a standard refund request. The amount value must not exceed the amount of the parent transaction. It is possible to make multiple refunds for the same payment transaction, in this case the sum of refund amounts must not exceed the amount of the corresponding payment transaction.

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 PLN currency.

Payment

Request

Send a payment request with the following additional parameters:

object
amount
required
bigInteger
Transaction amount in minimal currency units, for example, 5000 (50 PLN).
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
blik
ip
string
The customer's IP address.
object
A section of information about the customer.
country
string (2)
The customer's country in the ISO 3166-1 Alpha-2 format. For example, PL.
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": "PLN",
        "description": "test",
        "test": false,
        "tracking_id": "your_uniq_number21212",
        "return_url": "https://your-success.url",
        "method": {
            "type": "blik"
        }
    }
}
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": "c0fd532c-60e8-40a1-8850-8a365fc92420",
        "type": "payment",
        "status": "pending",
        "amount": 101,
        "currency": "PLN",
        "description": "test",
        "created_at": "2025-04-08T15:36:11Z",
        "updated_at": "2025-04-08T15:36:11Z",
        "method_type": "blik",
        "receipt_url": "https://backoffice.paysage.io/customer/transactions/c0fd532c-60e8-40a1-8850-8a365fc92420/de40d20b52c6b4a911df577a53f0da18ad412a92e8e75ae67cc22262ef3a1afb",
        "payment": {
            "status": "pending",
            "gateway_id": 5236,
            "message": "Transaction was initialized."
        },
        "blik": {
            "type": "blik"
        },
        "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-url",
            "method": "POST",
            "fields": [
                {
                    "name": "memberId",
                    "value": "14363",
                    "type": "hidden"
                },
                {
                    "name": "terminalid",
                    "value": "8162",
                    "type": "hidden"
                },
                {
                    "name": "checksum",
                    "value": "e86d209a3efe8ffea3a727209f3ae856",
                    "type": "hidden"
                },
                {
                    "name": "merchantTransactionId",
                    "value": "c0fd532c-60e8-40a1-8850-8a365fc92420",
                    "type": "hidden"
                },
                {
                    "name": "amount",
                    "value": "1.01",
                    "type": "hidden"
                },
                {
                    "name": "currency",
                    "value": "PLN",
                    "type": "hidden"
                },
                {
                    "name": "paymentBrand",
                    "value": "BLIK",
                    "type": "hidden"
                },
                {
                    "name": "paymentMode",
                    "value": "EW",
                    "type": "hidden"
                },
                {
                    "name": "orderDescription",
                    "value": "test",
                    "type": "hidden"
                },
                {
                    "name": "country",
                    "value": "PL",
                    "type": "hidden"
                },
                {
                    "name": "merchantRedirectUrl",
                    "value": "https://api.paysage.io/beyag/transactions/returns/88c70e7191aa823ac0588a279d22ef5722fc26712f6eac23ab76b53a65019c48/c0fd532c-60e8-40a1-8850-8a365fc92420",
                    "type": "hidden"
                },
                {
                    "name": "notificationUrl",
                    "value": "https://api.paysage.io/beyag/transactions/notifications/88c70e7191aa823ac0588a279d22ef5722fc26712f6eac23ab76b53a65019c48/c0fd532c-60e8-40a1-8850-8a365fc92420",
                    "type": "hidden"
                },
                {
                    "name": "totype",
                    "value": "TransactWorld",
                    "type": "hidden"
                }
            ]
        }
    }
}

PG Integration option

Payment

Payment Flow

  1. The customer initiates the payment on the merchant's website.
  2. The merchant sends a payment request to PaySage.io.
  3. PaySage.io responds with a link to the payment page.
  4. The merchant redirects the customer to the payment page.
  5. The customer completes the payment.
  6. PaySage.io sends a webhook notification with the payment status to the merchant.

Info

This integration option supports only PLN currency.

Request

Send a payment request with the following additional data:

object
return_url
required

string
A URL to return the customer to when a transaction is completed.
ip
string
The customer's IP address.
object
A section of the payment method.
type
required
string
blik
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
string
The customer's email address.
phone
string
The customer's phone number.
city
string
The customer's billing city.
address
string
The customer's billing address.
zip
string
The customer's billing ZIP or postal code.
birth_date
string
The customer's date of birth in the ISO 8601 format (YYYY-MM-DD).
Request example
{
    "request": {
        "amount": 500,
        "currency": "PLN",
        "description": "description",
        "test": true,
        "return_url": "https://return.com",
        "language": "en",
        "customer": {
            "first_name": "John",
            "last_name": "Doe"
        },
        "method": {
            "type": "blik"
        }
    }
}
Response

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

Response example
{
    "transaction": {
        "uid": "61eb915c-90e9-45a6-bb1b-bce0980785fb",
        "type": "payment",
        "status": "pending",
        "amount": 500,
        "currency": "PLN",
        "description": "description",
        "created_at": "2025-04-08T14:05:14Z",
        "updated_at": "2025-04-08T14:05:14Z",
        "method_type": "blik",
        "receipt_url": "https://backoffice.paysage.io/customer/transactions/61eb915c-90e9-45a6-bb1b-bce0980785fb/d348151ff49193e013684b1a69fe2d3e221618806499e83a5b46771020ee2b6a?language=en",
        "payment": {
            "status": "pending",
            "gateway_id": 5220,
            "ref_id": "d45d8a3c80d0d6bda403",
            "message": "Transaction was initialized."
        },
        "blik": {
            "type": "blik"
        },
        "customer": {
            "first_name": "John",
            "last_name": "Doe",
            "email": null,
            "ip": null
        },
        "manually_corrected_at": null,
        "version": 0,
        "message": "Transaction was initialized.",
        "test": true,
        "language": "en",
        "billing_address": {
            "first_name": "John",
            "last_name": "Doe"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },        
        "gateway": {
            "iframe": false
        },
        "form": {
            "action": "link-to-payment-page",
            "method": "GET",
            "fields": []
        }
    }
}

Refund

Request

Send a standard refund request. The amount value must not exceed the amount of the parent transaction. It is possible to make multiple refunds for the same payment transaction, in this case the sum of refund amounts must not exceed the amount of the corresponding payment transaction.

CR Integration option

Payment

Payment Flow

  1. The customer initiates the payment on the merchant's website.
  2. The merchant sends a payment request to PaySage.io.
  3. PaySage.io responds with a link to the payment page. The lifespan of the payment link is 60 minutes.
  4. The merchant redirects the customer to the payment page.
  5. The customer completes the payment.
  6. PaySage.io sends a webhook notification with the payment status to the merchant.

Info

This integration option supports only PLN currency.

Request

Send a payment request with the following additional data:

object
return_url
required

string
A URL to return the customer to when a transaction is completed.
ip
required
string
The customer's IP address.
object
A section of the payment method.
type
required
string
blik
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. For example, PL.
city
required
string
The customer's billing city.
address
required
string
The customer's billing address.
zip
required
string
The customer's billing ZIP or postal code.
Request example
{
  "request": {
      "amount": 500,
      "currency": "PLN",
      "description": "description",
      "test": true,
      "ip": "127.0.0.1",
      "return_url": "https://return.com",
      "language": "en",
      "customer": {
          "first_name": "John",
          "last_name": "Doe",
          "country": "PL",
          "email": "john@example.com",
          "city": "Warsaw",
          "zip": "00-669",
          "address": "Main Str. 1"
      },
      "method": {
          "type": "blik"
      }
  }
}
Response

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

Response example
{
  "transaction": {
    "uid": "5f2f5ddf-b633-4de3-a135-61cd220c4501",
    "type": "payment",
    "status": "pending",
    "amount": 500,
    "currency": "PLN",
    "description": "fghffhfg",
    "created_at": "2025-05-12T07:22:05Z",
    "updated_at": "2025-05-12T07:22:05Z",
    "method_type": "blik",
    "receipt_url": "https://backoffice.paysage.io/customer/transactions/5f2f5ddf-b633-4de3-a135-61cd220c4501/115a2d5441cad15fb54c73a06e54cd092d8542f9531a462c5dd5736a5ea35122?language=en",
    "payment": {
      "status": "pending",
      "gateway_id": 5345,
      "ref_id": "296",
      "message": "Transaction was initialized."
    },
    "blik": {
      "type": "blik"
    },
    "customer": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john@example.com",
      "country": "PL",
      "city": "Warsaw",
      "zip": "00-669",
      "address": "Main Str. 1",
      "ip": "127.0.0.1"
    },
    "manually_corrected_at": null,
    "version": 0,
    "message": "Transaction was initialized.",
    "tracking_id": "your_uniq_number",
    "test": false,
    "language": "en",
    "billing_address": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john@example.com",
      "country": "PL",
      "city": "Warsaw",
      "zip": "00-669",
      "address": "Main Str. 1"
    },
    "additional_data": {
      "payment_method": {
        "type": "alternative"
      }
    },
    "gateway": {
      "iframe": false
    },
    "form": {
      "action": "link-to-payment-page",
      "method": "GET",
      "fields": []
    }
  }
}

GW2 Integration option

Payment

Payment Flow

  1. The customer initiates the payment on the merchant's website.
  2. The merchant sends a payment request to PaySage.io.
  3. PaySage.io responds with a link to the payment page.
  4. The merchant redirects the customer to the payment page.
  5. The customer submits the required data on the payment page and completes the payment.
  6. PaySage.io sends a webhook notification with the payment status to the merchant.

Info

This integration option supports only PLN currency.

Request

Send a payment request with the following additional data:

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
blik
Request example
{
  "request": {
      "amount": 500,
      "currency": "PLN",
      "description": "description",
      "tracking_id": "your_uniq_number",
      "test": true,        
      "return_url": "https://return.com",
      "language": "en",        
      "method": {
          "type": "blik"
      }
  }
}
Response

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

Response example
{
  "transaction": {
    "uid": "6baa3e8d-d907-457f-b759-6e973b0d9c53",
    "type": "payment",
    "status": "pending",
    "amount": 500,
    "currency": "PLN",
    "description": "description",
    "created_at": "2025-07-23T12:37:05Z",
    "updated_at": "2025-07-23T12:37:25Z",
    "method_type": "blik",
    "receipt_url": "https://backoffice.paysage.io/customer/transactions/6baa3e8d-d907-457f-b759-6e973b0d9c53/5a634a2aaa3183e28e58d61107671d874980aecf82fb20f12eccc0238ace20dd?language=en",
    "payment": {
      "status": "pending",
      "gateway_id": 5602,
      "ref_id": "33251",
      "message": "Transaction was initialized."
    },
    "blik": {
      "type": "blik"
    },
    "customer": {
      "email": null,
      "ip": "null"
    },
    "manually_corrected_at": null,
    "version": 1,
    "message": "Transaction was initialized.",
    "tracking_id": "your_uniq_number",
    "test": false,
    "language": "en",
    "additional_data": {
      "payment_method": {
        "type": "alternative"
      }
    },
    "gateway": {
      "iframe": false
    },
    "form": {
      "action": "payment-page",
      "fields": [],
      "method": "GET"
    }
  }
}