Skip to content

Bank Transfer

MY Integration option

Bank transfer flow

  1. The customer initiates a payment.
  2. The merchant sends a payment request to PaySage.io.
  3. PaySage.io 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 PaySage.io response.
  5. The customer selects the bank on the payment page and 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. PaySage.io sends a webhook notification with the payment status to the merchant. The merchant may also request the payment status from PaySage.io with the status query.
  8. The merchant displays the payment status to the customer.

Payment

Request

Send a payment request with the following parameters:

object
amount
required

bigInteger
A transaction amount in minimal currency units, for example, €32.45 must be sent as 3245.
currency
required

string
A transaction currency in the ISO-4217 alpha-3 code format. Must be EUR or GBP.
description
required

string(255)
A short description of the order.
notification_url
required

string
A URL to get webhook notifications.
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
Request example
{
    "request": {
        "amount": 20000,
        "currency": "EUR",
        "description": "description",
        "test": false,
        "return_url": "https://your_return_url.com",
        "notification_url": "https://your_notification_url.com",
        "method": {
            "type": "bank_transfer"
        }
    }
}    
Response

The response section will have parameters copied from a 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": "e567af49-da3b-463d-bc73-2514cf353564",
        "type": "payment",
        "status": "pending",
        "amount": 20000,
        "currency": "EUR",
        "description": "description",
        "created_at": "2023-10-06T14:12:36Z",
        "updated_at": "2023-10-06T14:12:36Z",
        "method_type": "bank_transfer",
        "receipt_url": "https://backoffice.paysage.io/customer/transactions/21324-1544a58bfe/c3204e3e0df0bc30d675946b36e061091e19cb5c6e889d8e7ab1508666ff6ff5?language=en",
        "payment": {
            "status": "pending",
            "gateway_id": 3288,
            "ref_id": "tx_AOvyOzQ8x11HN40u1Gt0rkFn",
            "message": "Transaction was initialized"
        },
        "bank_transfer": {
            "type": "bank_transfer"
        },
        "customer": {
            "email": null,
            "ip": null
        },
        "manually_corrected_at": null,
        "message": "Transaction was initialized",
        "test": false,
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },
        "gateway": {
            "iframe": true
        },
        "form": {
            "action": "https://my-integration-option.com/transactions/tx_AOvyOzQ8x11HN98u1Gt0rkFn",
            "method": "GET",
            "fields": []
        }
    }
}

Payment status query

Request

If needed, send a status query request to get the current transaction status.

Response

The response contains the transaction status, a section of the payment method as well as other details related to the transaction according to the description of a transaction status query.

PF Integration option

Payment flow

  1. The customer initiates a payment.
  2. The merchant sends a payment request to PaySage.io.
  3. PaySage.io 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 PaySage.io 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. PaySage.io sends a webhook notification with the payment status to the merchant. The merchant may also request the payment status from PaySage.io 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.paysage.io/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": []
    }
  }
}

YP Integration option

Payment flow

  1. The customer initiates a payment on the merchant's website and selects the bank for the payment.
  2. The merchant sends a payment request with bank_transfer_de method type if the customer is from Germany or with bank_transfer_alt method type if the customer is from a EU country other than Germany. The merchant specifies the ID of the selected bank and additional parameters depending on the customer's country. You need to request a list of bank IDs from your account manager. customer object is not required for the following countries: Spain (ES), France (FR), Portugal (PT), Germany (DE), the United Kingdom (GB) and Ireland (IE).
  3. PaySage.io sends a response with a link to the QR code (for all countries except Germany) and the redirect URL.
  4. The merchant displays the QR code (for all countries except Germany) and the URL from redirect_url to the customer.
  5. The customer scans the QR code (for all countries except Germany) or follows the payment URL and completes the payment.
  6. PaySage.io sends a webhook notification with the payment status to the merchant. The merchant may also request the payment status from PaySage.io with the status query.
  7. The merchant displays the payment status to the customer.

Info

This integration option supports only EUR and GBP currencies.

Payment (DE)

Request

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_de
Request example
{
  "request": {
    "amount": 2000,
    "currency": "EUR",
    "description": "description",
    "test": true,
    "return_url": "https://your_return_url.com",
    "method": {
      "type": "bank_transfer_de"
    }
  }
}
Response

The bank_transfer_de object in the response will contain the redirect_url parameter with the link to which the customer needs to be redirected.

Response example
{
  "transaction": {
    "uid": "3a824724-82a7-4123-b960-d1a2c437211d",
    "type": "payment",
    "status": "pending",
    "amount": 2000,
    "currency": "EUR",
    "description": "description",
    "created_at": "2024-03-10T20:17:27Z",
    "updated_at": "2024-03-10T20:17:27Z",
    "method_type": "bank_transfer_de",
    "receipt_url": "https://backoffice.paysage.io/customer/transactions/3a824724-82a7-4123-b960-d1a2c437211d/8143cc7527cb27ad7147d721b0f0224a7ff416aa484dd63d438ea4fc45b94c24",
    "payment": {
      "status": "pending",
      "gateway_id": 3797,
      "message": "Transaction was initialized."
    },
    "bank_transfer_de": {
      "type": "bank_transfer_de",
      "qr_code": null,
      "redirect_url": "https://redirect_url",
      "country": null,
      "id_number": null,
      "bic": null
    },
    "customer": {
      "email": null,
      "ip": null
    },
    "manually_corrected_at": null,
    "message": "Transaction was initialized.",
    "test": true,
    "additional_data": {
      "payment_method": {
        "type": "alternative"
      }
    },
    "gateway": {
      "iframe": false
    }
  }
}

Payment (EU except DE)

Request

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_alt
channel
required
string
The ID of the bank selected by the customer. Request the list of IDs from your account manager.
id_number
conditionally required
string
IBAN for the following countries: Austria (AT), Belgium (BE), Bulgaria (BG), Croatia (HR), Cyprus (CY), Czech Republic (CZ), Denmark (DK), Estonia (EE), Finland (FI), Greece (GR), Hungary (HU), Italy (IT), Latvia (LV), Lithuania (LT), Luxembourg (LU), Malta (MT), Netherlands (NL), Poland (PL), Romania (RO), Slovakia (SK), Slovenia (SI);

BBAN for Sweden (SE).

The parameter is not required for Spain (ES), France (FR), the United Kingdom (GB), Portugal (PT) and Ireland (IE).
bic
conditionally required
string
BIC of the customer's bank (Bank Identifier Code).

The parameter is required for the following countries: Austria (AT), Belgium (BE), Bulgaria (BG), Croatia (HR), Cyprus (CY), Czech Republic (CZ), Denmark (DK), Estonia (EE), Finland (FI), Greece (GR), Hungary (HU), Italy (IT), Latvia (LV), Lithuania (LT), Luxembourg (LU), Malta (MT), Netherlands (NL), Poland (PL), Romania (RO), Slovakia (SK), Slovenia (SI).
country
required
string (2)
The customer's billing country in the ISO 3166-1 Alpha-2 format. For example, AT.
conditionally required
object
A section of information about the customer. The object is required for the following countries: Austria (AT), Belgium (BE), Bulgaria (BG), Croatia (HR), Cyprus (CY), Czech Republic (CZ), Denmark (DK), Estonia (EE), Finland (FI), Greece (GR), Hungary (HU), Italy (IT), Latvia (LV), Lithuania (LT), Luxembourg (LU), Malta (MT), Netherlands (NL), Poland (PL), Romania (RO), Slovakia (SK), Slovenia (SI) and Sweden (SE).
first_name
conditionally required
string
The customer's first name.
last_name
conditionally required
string
The customer's last name.
Request example
{
  "request": {
    "amount": 2000,
    "currency": "GBP",
    "description": "description",
    "test": true,
    "return_url": "https://your_return_url.com",
    "notification_url": "https://your_notification_url.com",
    "method": {
      "type": "bank_transfer_alt",
      "channel": "bank ID",
      "country": "GB"
    }
  }
}
Request example for countries other than ES, FR, PT, DE, GB and IE
{
  "request": {
    "amount": 2000,
    "currency": "EUR",
    "description": "description",
    "test": true,
    "return_url": "https://your_return_url.com",
    "notification_url": "https://your_notification_url.com",
    "customer": {
      "first_name": "John",
      "last_name": "Doe"
    },
    "method": {
      "type": "bank_transfer_alt",
      "channel": "bank_id",
      "id_number": "NL91ABNA0417164300",
      "bic": "INGBNL2A",
      "country": "NL"
    }
  }
}
Response

The bank_transfer_alt object in the response will include qr_code and redirect_url parameters that contain values to be displayed to the customer.

Response example
{
  "transaction": {
    "uid": "8b598b5c-1ef0-4d3e-b5a9-9381caa9dc7e",
    "type": "payment",
    "status": "pending",
    "amount": 2000,
    "currency": "GBP",
    "description": "description",
    "created_at": "2024-02-23T13:43:08Z",
    "updated_at": "2024-02-23T13:43:09Z",
    "method_type": "bank_transfer",
    "receipt_url": "https://backoffice.paysage.io/customer/transactions/8b598b5c-1ef0-4d3e-b5a9-9381caa9dc7e/4dbcae1c56ec5529d0a4b8a6b2c7187bc642ab8fd276ed95f9e741a60b45bace",
    "payment": {
      "status": "pending",
      "gateway_id": 3762,
      "ref_id": "ff2d41c6-1da3-4dc2-a70a-ed427da28054",
      "message": "Transaction was initialized."
    },
    "bank_transfer_alt": {
      "type": "bank_transfer_alt",
      "qr_code": "https://images.yp.com/image/458bb8ed-123c-4e40-ba6d-48c295049ffb/1708695789?size=0",
      "redirect_url": "https://payment-link.com",
      "country": "GB"
    },
    "customer": {
      "email": null,
      "ip": null
    },
    "manually_corrected_at": null,
    "message": "Transaction was initialized.",
    "test": true,
    "additional_data": {
      "payment_method": {
        "type": "alternative"
      }
    },
    "gateway": {
      "iframe": false
    }
  }
}

Payment with Revolut

  1. The customer initiates the payment with Revolut on the merchant's website.
  2. The merchant sends a payment request with bank_transfer_revolut method type.
  3. PaySage.io sends a response with a link to the QR code and the redirect URL.
  4. The merchant displays the QR code and the URL from redirect_url to the customer.
  5. The customer scans the QR code or follows the payment URL, signs into their Revolut account and completes the payment.
  6. PaySage.io sends a webhook notification with the payment status to the merchant. The merchant may also request the payment status from PaySage.io with the status query.
  7. The merchant displays the payment status to the customer.
Request

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_revolut
country
required
string (2)
The customer's billing country in the ISO 3166-1 Alpha-2 format. For example, PL.
Request example
{
    "request": {
        "amount": 2000,
        "currency": "EUR",
        "description": "description",
        "test": true,
        "return_url": "https://your_return_url.com",
        "notification_url": "https://your_notification_url.com",
        "method": {
            "type": "bank_transfer_revolut",
            "country": "PL"
        }
    }
}
Response

The bank_transfer_revolut object in the response will include qr_code and redirect_url parameters that contain values to be displayed to the customer.

Response example
{
  "transaction": {
    "uid": "90ca56dc-cea2-461c-ac0d-fd02da341de3",
    "type": "payment",
    "status": "pending",
    "amount": 2000,
    "currency": "EUR",
    "description": "TEST",
    "created_at": "2024-10-11T09:25:00Z",
    "updated_at": "2024-10-11T09:25:00Z",
    "method_type": "bank_transfer_revolut",
    "receipt_url": "https://backoffice.paysage.io/customer/transactions/90ca56dc-cea2-461c-ac0d-fd02da341de3/371904f3a972b724d538df0202df4066bc7336dc4bf40c1df12039ec625f375e?language=en",
    "payment": {
      "status": "pending",
      "gateway_id": 3853,
      "ref_id": "ref_id-2323265351",
      "message": "Transaction was initialized."
    },
    "bank_transfer_revolut": {
      "type": "bank_transfer_revolut",
      "qr_code": "https://yp/image/dc6cee8d-418c-4b79-a51e-aca8f762be62/1703157089?size=0",
      "redirect_url": "payment-url",
      "country": "PL",
      "reference": "1728638700701564",
      "name": ""
    },
    "customer": {
      "email": null,
      "ip": null
    },
    "manually_corrected_at": null,
    "version": 0,
    "message": "Transaction was initialized.",
    "tracking_id": "your_uniq_number",
    "test": true,
    "language": "en",
    "billing_address": {},
    "additional_data": {
      "payment_method": {
        "type": "alternative"
      }
    },
    "gateway": {
      "iframe": false
    }
  }
}

Payment with Wise

  1. The customer initiates the payment with Wise on the merchant's website.
  2. The merchant sends a payment request with bank_transfer_wise method type.
  3. PaySage.io sends a response with a link to the QR code and the redirect URL.
  4. The merchant displays the QR code and the URL from redirect_url to the customer.
  5. The customer scans the QR code or follows the payment URL, signs into their Wise account and completes the payment.
  6. PaySage.io sends a webhook notification with the payment status to the merchant. The merchant may also request the payment status from PaySage.io with the status query.
  7. The merchant displays the payment status to the customer.
Request

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 information.
type
required
string
bank_transfer_wise.
Request example
{
    "request": {
        "amount": 2000,
        "currency": "EUR",
        "description": "description",
        "test": true,
        "return_url": "https://your_return_url.com",
        "notification_url": "https://your_notification_url.com",
        "method": {
            "type": "bank_transfer_wise"                
        }
    }
}
Response

The bank_transfer_wise object in the response will include qr_code and redirect_url parameters that contain values to be displayed to the customer.

Response example
{
  "transaction": {
    "uid": "42fc4210-ccb1-4b60-8035-77d329b90abb",
    "type": "payment",
    "status": "pending",
    "amount": 20400,
    "currency": "EUR",
    "description": "TEST",
    "created_at": "2024-10-11T09:26:02Z",
    "updated_at": "2024-10-11T09:26:02Z",
    "method_type": "bank_transfer_wise",
    "receipt_url": "https://backoffice.paysage.io/customer/transactions/42fc4210-ccb1-4b60-8035-77d329b90abb/c181f7c0657bf4982a7e8673683a7ceb398663d5be4ef7fb8c25bb59c620a3ca?language=tg",
    "payment": {
      "status": "pending",
      "gateway_id": 3853,
      "ref_id": "ref_id-8361483988",
      "message": "Transaction was initialized."
    },
    "bank_transfer_wise": {
      "type": "bank_transfer_wise",
      "qr_code": "https://yp/image/dc6cee8d-418c-4b79-a51e-aca8f762be62/1703157089?size=0",
      "redirect_url": "payment_url",
      "reference": "1728638762497314",
      "name": ""
    },
    "customer": {
      "email": null,
      "ip": null
    },
    "manually_corrected_at": null,
    "version": 0,
    "message": "Transaction was initialized.",
    "tracking_id": "your_uniq_number",
    "test": false,
    "language": "tg",
    "billing_address": {},
    "additional_data": {
      "payment_method": {
        "type": "alternative"
      }
    },
    "gateway": {
      "iframe": false
    }
  }
}

VP Integration option

Payment flow

  1. The customer initiates the payment on the merchant's website.
  2. The merchant sends the payment request to PaySage.io.
  3. PaySage.io 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 within the provided timeframe. The default timeframe is 60 minutes. The timeframe can be modified in the shop settings by PaySage.io administrator.
  6. PaySage.io sends a webhook notification with the payment status to the merchant. The merchant may also request the payment status from PaySage.io with the status query.
  7. If the payment wasn't made within the provided timeframe, the merchant will get the webhook notification with the expired status. If the customer completes the payment after the designated period, PaySage.io will send another webhook notification with the updated status.

Info

This integration option supports BGN, CHF, CZK, DKK, EUR, GBP, SEK, HUF, PLN, RON, HRK, USD and JPY currencies.

Payment

Request

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 information.
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.
middle_name
string
The customer's middle name.
country
required
string (2)
The customer's billing country in the ISO 3166-1 Alpha-2 format. For example, PL.
state
string
The customer's billing state.
city
string
The customer's billing city.
zip
required
string
The post code of the customer's billing address.
address
string
The customer's address.
phone
string (32)
The customer's phone number.
email
required
string
The customer's email address.
Request example
{
  "request": {
    "amount": 20000,
    "currency": "EUR",
    "description": "test",
    "test": true,
    "tracking_id": "your_uniq_number",
    "language": "en",
    "notification_url": "https://webhook-url.com",
    "return_url": "https://example.com",
    "customer": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "example2@example.com",
      "country": "PL",
      "zip":"00-120"
    },
    "method": {
      "type": "bank_transfer"
    }
  }
}
Response

The payment response additionally contains the form section. Redirect your customer to the URL received as a value of the form.action parameter where they can complete the payment.

Response example
{
  "transaction": {
    "uid": "9005b9da-5330-4af8-bc99-18275a431dbb",
    "type": "payment",
    "status": "pending",
    "amount": 20000,
    "currency": "EUR",
    "description": "test",
    "created_at": "2024-04-01T14:09:24Z",
    "updated_at": "2024-04-01T14:09:25Z",
    "method_type": "bank_transfer",
    "receipt_url": "https://backoffice.paysage.io/customer/transactions/9005b9da-5330-4af8-bc99-18275a431dbb/febfce9db414c382044cb940bf278b0acdca04db3e993ad86a4a3ebe167a44ff?language=en",
    "payment": {
      "status": "pending",
      "gateway_id": 3870,
      "ref_id": "a457ca54-fa27-4671-89f6-8f76aa27f826",
      "message": "Transaction was initialized."
    },
    "bank_transfer": {
      "type": "bank_transfer"
    },
    "customer": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "example2@example.com",
      "country": "PL",
      "zip": "00-120",
      "ip": null
    },
    "manually_corrected_at": null,
    "message": "Transaction was initialized.",
    "tracking_id": "your_uniq_number",
    "test": true,
    "language": "en",
    "billing_address": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "example2@example.com"
    },
    "additional_data": {
      "payment_method": {
        "type": "alternative"
      }
    },
    "gateway": {
      "iframe": true
    },
    "form": {
      "action": "https://payments.vp.eu/p/a457ca54-fa27-4671-89f6-8f76aa27f826/",
      "method": "GET",
      "fields": []
    }
  }
}

YS Integration option

Payment flow

  1. The customer initiates the payment on the merchant's website.
  2. The merchant sends the payment request to PaySage.io.
  3. PaySage.io sends a response containing the URL for completing the payment.
  4. The merchant redirects the customer to the provided URL.
  5. The redirect_url displays the banks available for the country specified in method.channel. The customer selects the bank and completes the payment.
  6. PaySage.io sends a webhook notification with the payment status to the merchant. The merchant may also request the payment status from PaySage.io with the status query.

Info

This integration option supports EUR and GBP currencies.

Payment

Request

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 information.
type
required
string
bank_transfer
channel
required
string (2)
The country of the bank, whose application the customer will use to complete the payment. Must be in the ISO 3166-1 Alpha-2 format. Possible values: AT (Austria), BE (Belgium), EE (Estonia), FI (Finland), FR (France), DE (Germany), GB (Great Britain), IE (Ireland), IT (Italy), NL (Netherlands), NO (Norway), PT (Portugal), ES (Spain), SE (Sweden).
object
A section of information about the customer.
external_id
required
string
The customer's identifier in the merchant's system.
Request example
{
    "request": {
        "amount": 200,
        "currency": "EUR",
        "description": "description",
        "test": true,
        "return_url": "https://your_return_url.com",
        "notification_url": "https://your_notification_url.com",
        "method": {
            "type": "bank_transfer",
            "channel": "FR"
        },
        "customer": {
            "external_id": "test-test"
        }
    }
}
Response

The payment response additionally contains the form section. Redirect your customer to the URL received as a value of the form.action parameter where they can complete the payment.

Response example
{
  "transaction": {
    "uid": "27e52cfa-295b-43cf-8201-01d0a777320f",
    "type": "payment",
    "status": "pending",
    "amount": 200,
    "currency": "EUR",
    "description": "description",
    "created_at": "2024-11-20T15:53:30Z",
    "updated_at": "2024-11-20T15:53:30Z",
    "method_type": "bank_transfer",
    "receipt_url": "https://backoffice.paysage.io/customer/transactions/27e52cfa-295b-43cf-8201-01d0a777320f/74b62c2278e3b29f70f5db7f5c3949e4d7a266bd652e5ff9a9abdb9841b3c53a",
    "payment": {
      "status": "pending",
      "gateway_id": 4644,
      "ref_id": "5e747509-4b2e-8a0a-03ea-5697eb",
      "message": "Transaction was initialized."
    },
    "bank_transfer": {
      "type": "bank_transfer",
      "channel": "FR"
    },
    "customer": {
      "external_id": "test-test",
      "email": null,
      "ip": null
    },
    "manually_corrected_at": null,
    "version": 0,
    "message": "Transaction was initialized.",
    "test": true,
    "billing_address": {
      "external_id": "test-test"
    },
    "additional_data": {
      "payment_method": {
        "type": "alternative"
      }
    },
    "gateway": {
      "iframe": false
    },
    "form": {
      "action": "https://test-ys/hosted?transaction-id=5e747509-4b2e-8a0a-03ea-5697eb",
      "method": "GET",
      "fields": []
    }
  }
}

Payout

Request

Send a payout request with the following additional data:

object
ip
required
string
The customer's IP address.
object
A section of the payout method information.
type
required
string
bank_transfer
account
required
string
The identifier of the customer's account to which the payout is made. The customer.account value from the latest webhook notification for a successful payment transaction must be used.
object
A section of information about the customer.
external_id
required
string
The unique customer's identifier in the merchant's system. The same external_id must be used for all transactions for the customer. At least one payment must be made with the specified external_id in the system prior to the payout request.
email
required
string
The customer's email address.
device_id
required
string
The OS of the customer's device.
Request example
{
    "request": {
        "amount": 2200,
        "currency": "EUR",
        "description": "test",
        "test": false,
        "tracking_id": "your_uniq_number21212",
        "ip": "174.100.64.133",        
        "customer": {                       
            "email": "john.doe@example.com",            
            "external_id": "test-test",
            "device_id": "iOS 14"
        },
        "method": {
            "type": "bank_transfer",            
            "account": "13c7f5b1-b696-4be7-b8ac-3ee247aab6c0"

        }
    }
}
Response
Response example
{
    "transaction": {
        "uid": "c69d4100-a09e-4e1c-b63c-5b1f257ec066",
        "type": "payout",
        "status": "successful",
        "amount": 2200,
        "currency": "EUR",
        "description": "test",
        "created_at": "2024-11-22T07:44:40Z",
        "updated_at": "2024-11-22T07:44:42Z",
        "manually_corrected_at": null,
        "method_type": "bank_transfer",
        "receipt_url": "https://backoffice.paysage.io/customer/transactions/c69d4100-a09e-4e1c-b63c-5b1f257ec066/c8372f29d97cb9816d95ed91d6e8d87b96d60bb7f04ecccc5324d05a3ae4b004",
        "payout": {
            "status": "successful",
            "gateway_id": 4629,
            "ref_id": "XRUXuAfgDs8GvhDFd0",
            "message": "Transaction was successfully processed."
        },
        "bank_transfer": {
            "type": "bank_transfer",
            "account": "SMwnzzU7mVbhO/eczsaDKDMTqo7/pjP+fL0gUEfAR+4ZG5gsMW0=",
            "bank_name": "CITIZEN_TEST_BANK",
            "bank_code": "E6/qeB6O8Y50UE3JjnqiBA==",
            "account_name": "CitizenTestAccount Holder"
        },
        "customer": {
            "email": "john.doe@example.com",
            "ip": "174.100.64.133"
        },
        "version": 0,
        "message": "Transaction was successfully processed.",
        "tracking_id": "your_uniq_number21212",
        "test": false,
        "paid_at": "2024-11-22T07:44:42+00:00",
        "billing_address": {
            "email": "john.doe@example.com",
            "device_id": "iOS 14",
            "external_id": "test-test"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        }        
    }
}

ZR Integration option

Info

For payments, this integration option supports the following currencies: DKK for bank_transfer_denmark, EUR for bank_transfer_estonia and bank_transfer_finland, and SEK for bank_transfer_sweden.

Info

For payouts, 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 PaySage.io.
  3. PaySage.io sends a response containing the URL for completing the payment.
  4. The merchant redirects the customer to the provided URL.
  5. The customer passes KYC verification and completes the payment on the provider's page.
  6. PaySage.io sends a webhook notification with the payment status to the merchant. The merchant may also request the payment status from PaySage.io with the status query.

Payment

Request

Send a payment request with the following additional parameters:

object
currency
required
string
DKK for bank_transfer_denmark,
EUR for bank_transfer_estonia and bank_transfer_finland,
SEK for bank_transfer_sweden
return_url
required
string
A URL to return the customer to when a transaction is completed.
object
A section of the payment method information.
type
required
string
bank_transfer_denmark for the payments in the Danish banks,
bank_transfer_estonia for the Estonian banks,
bank_transfer_sweden for the Swedish banks,
bank_transfer_finland for the Finnish banks.
account
required
string
BIC number of the bank for the payment.
account_name
string
Additional information about the customer.
object
A section of information about the customer.
email
required
string
The customer's email.
phone
required
string
The customer's phone number with the + sign.
external_id
string
The unique customer's identifier in the provider's system.
taxpayer_id
string
The personal identity number for Sweden or the personal identity code for Finland.
BIC Numbers

Denmark

Bank BIC
Danskebank DABADKKK
Jyskebank JYBADKKK
Nykredit NYKBDKKK
Sydbank SYBKDK22
Nordea NDEADKKK
Arbejdernes Landsbank ALBADKKK

Estonia

Bank BIC
SEB EEUHEE2X
Swedbank/Sparbankerna HABAEE2X
LHV LHVBEE22
Luminor RIKOEE22

Sweden

Bank BIC
Nordea NDEASESS
Swedbank/Sparbankerna SWEDSESS
Handelsbanken HANDSESS
SEB ESSESESS
Länsförsäkringar ELLFSESS
Danske Bank DABASESX
ICA IBCASES1
Skandiabanken SKIASESS

Finland

Bank BIC
OP Bank OKOYFIHH
Nordea NDEAFIHH
Danske Bank DABAFIHH
Aktia HELSFIHH
Alandsbanken AABAFI22
POP Pankki POPFFI22
S-Pankki SBANFIHH
Handelsbanken HANDFIHH
Säästöpankki ITELFIHH
OMA säästöpankki OMSAFI2S
Request example
{
    "request": {
        "amount": 7077,
        "currency": "EUR",
        "description": "test",
        "test": false,
        "tracking_id": "your_uniq_number21212",
        "return_url": "https://your-success.url",
        "method": {
            "type": "bank_transfer_finland",
            "account": "OKOYFIHH"
        },
        "customer": {
          "email": "example@example.com",
          "phone": "+358401234567"
        }
    }
}
Response
Response example
{
    "transaction": {
        "uid": "96cce92c-980f-4016-8058-a891916143c3",
        "type": "payment",
        "status": "pending",
        "amount": 7077,
        "currency": "EUR",
        "description": "test",
        "created_at": "2024-12-03T14:55:20Z",
        "updated_at": "2024-12-03T14:55:20Z",
        "method_type": "bank_transfer_finland",
        "receipt_url": "https://backoffice.paysage.io/customer/transactions/96cce92c-980f-4016-8058-a891916143c3/b63e54e13ff814695896fc0e395ca60f55416c13e54e5edbfdf02ef3b38ed233",
        "payment": {
            "status": "pending",
            "gateway_id": 4677,
            "ref_id": "981856a8a6625d660f59",
            "message": "Transaction was initialized."
        },
        "bank_transfer_finland": {
            "type": "bank_transfer_finland"
        },
        "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": "https://zr/v4/fi/deposits?s=981856a8a6625d660f59",
            "method": "GET",
            "fields": []
        }
    }
}

Payout for Estonia and Finland

Request

Send a payout request with the following additional data:

object
currency
required
string
EUR.
ip
required
string
The customer's IP address.
object
A section of the payout method information.
type
required
string
bank_transfer_finland or bank_transfer_estonia
account
string
IBAN of the customer's account for the payout.
object
A section of information about the customer.
email
required
string
The customer's email address.
phone
required

string
The customer's phone number.
taxpayer_id
conditionally required
string
The personal identity code for Finland. Required if customer.external_id is not submitted.
external_id
conditionally required
string
The customer's identifier in the provider's system. At least one payment must be made by the customer with the specified external_id in the system prior to the payout request. The external_id can be looked up in the provider's system or in the webhook notification for the payment request. Not required if customer.taxpayer_id is submitted.
Request example
{
    "request": {
        "amount": 100,
        "currency": "EUR",
        "description": "description",
        "test": true,        
        "ip": "87.92.128.2",
        "method": {
            "type": "bank_transfer_finland"
        },
        "customer": {
            "taxpayer_id": "010200A9618",
            "email": "example@example.com",
            "phone": "+358401234567"
        }
    }
}
Response
Response example
{
    "transaction": {
        "uid": "9d1beb60-5161-40ff-95d3-ebff1576bc79",
        "type": "payout",
        "status": "pending",
        "amount": 100,
        "currency": "EUR",
        "description": "description",
        "created_at": "2024-12-03T16:38:27Z",
        "updated_at": "2024-12-03T16:38:28Z",
        "manually_corrected_at": null,
        "method_type": "bank_transfer_finland",
        "receipt_url": "https://backoffice.paysage.io/customer/transactions/9d1beb60-5161-40ff-95d3-ebff1576bc79/163a7ee19a7b7b44f162c9f87395c5489b110219a336a5d6596b534fa07e7149",
        "payout": {
            "status": "pending",
            "gateway_id": 4677,
            "ref_id": "81905ffa-da9b-49de-a8cf-23593561c2dc",
            "message": "Transaction was initialized."
        },
        "bank_transfer_finland": {
            "type": "bank_transfer_finland"
        },
        "customer": {
            "email": null,
            "ip": "87.92.128.2"
        },
        "version": 0,
        "message": "Transaction was initialized.",
        "test": true,
        "billing_address": {
            "taxpayer_id": "010200A9618"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        }       
    }
}

Payout for countries except Finland and Estonia

Request

Send a payout request with the following additional data:

object
currency
required
string
EUR.
ip
required
string
The customer's IP address.
object
A section of the payout method information.
type
required
string
bank_transfer
account
required
string
IBAN of the customer's account for the payout.
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.
birth_date
required
string
The customer's date of birth in the ISO 8601 format (YYYY-MM-DD).
country
required
string
The customer's country. The following values are accepted: AT (Austria), BE (Belgium), HR (Croatia), CY (Cyprus), FR (France), GR (Greece), IE (Ireland), IT (Italy), LV (Latvia), LT (Lithuania), LU (Luxembourg), MT (Malta), PL (Poland), PT (Portugal), SK (Slovakia), SI (Slovenia), ES (Spain), CH (Switzerland), GB (United Kingdom), DE (Germany), NL (Netherlands).
taxpayer_id
string
The customer's national identification number.
email
string
The customer's email address.
phone
string
The customer's phone number.
Request example
{
    "request": {
        "amount": 100,
        "currency": "EUR",
        "description": "description",
        "test": true,
        "return_url": "https://your-success.url",
        "ip": "85.214.132.117",
        "method": {
            "type": "bank_transfer",
            "account": "DE89370400440532013000"
        },
        "customer": {
            "first_name": "Wolfgang",
            "last_name": "Olsen",
            "country": "DE",
            "birth_date": "1980-12-12"
        }
    }
}
Response
Response example
{
  "transaction": {
    "uid": "10638b6b-042a-45e6-a7b1-8679ffc244f1",
    "type": "payout",
    "status": "pending",
    "amount": 100,
    "currency": "EUR",
    "description": "description",
    "created_at": "2024-12-03T17:04:06Z",
    "updated_at": "2024-12-03T17:04:06Z",
    "manually_corrected_at": null,
    "method_type": "bank_transfer",
    "receipt_url": "https://backoffice.paysage.io/customer/transactions/10638b6b-042a-45e6-a7b1-8679ffc244f1/2dd991850812af363f5441cc43f48f3fbd230a9d74aad781ce2df70623e19911",
    "payout": {
      "status": "pending",
      "gateway_id": 4677,
      "ref_id": "7fa93716-d797-4c12-b7e9-17128f9923f6",
      "message": "Transaction was initialized."
    },
    "bank_transfer": {
      "type": "bank_transfer"
    },
    "customer": {
      "email": null,
      "ip": "85.214.132.117"
    },
    "version": 0,
    "message": "Transaction was initialized.",
    "test": true,
    "billing_address": {
      "first_name": "Wolfgang",
      "last_name": "Olsen",
      "country": "DE",
      "birth_date": "1980-12-12"
    },
    "additional_data": {
      "payment_method": {
        "type": "alternative"
      }
    }
  }
} 

MA Integration option

Payment flow

  1. The customer initiates the payment on the merchant's website.
  2. The merchant sends the payment request to PaySage.io.
  3. PaySage.io 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. PaySage.io sends a webhook notification with the payment status to the merchant. The merchant may also request the payment status from PaySage.io with the status query.

Info

This integration option supports only EUR, GBP and PLN currencies.

Payment

Request

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 information.
type
required
string
bank_transfer.
bank_name
string
The name of the bank used for the transfer. Possible values: wise, revolut.
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
The customer's billing country in the ISO 3166-1 Alpha-2 format. Possible values: AT (Austria), BE (Belgium), EE (Estonia), FI (Finland), FR (France), DE (Germany), IE (Ireland), IT (Italy), LV (Latvia), NL(Netherlands), PT (Portugal), ES (Spain).
address
string
The customer's billing address.
city
string
The customer's billing city.
state
string
The customer's billing state.
zip
string
The customer's billing ZIP or postal code.
Request example
{
    "request": {
        "test": true,
        "amount": 138,
        "currency": "EUR",
        "description": "description",
        "return_url": "https://return.com",
        "method": {
            "type": "bank_transfer",
            "bank_name": "wise"
        },
        "customer": {
            "first_name": "John",
            "last_name": "Willson",
            "country": "ES",
            "email": "john.willson@example.com"
        }
    }
}
Response

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

Response example
{
  "transaction": {
    "uid": "695ee9a8-ede6-430c-a1df-9775022e614d",
    "type": "payment",
    "status": "pending",
    "amount": 138,
    "currency": "EUR",
    "description": "description",
    "created_at": "2025-02-10T07:07:12Z",
    "updated_at": "2025-02-10T07:07:27Z",
    "method_type": "bank_transfer",
    "receipt_url": "https://backoffice.paysage.io/customer/transactions/695ee9a8-ede6-430c-a1df-9775022e614d/cd1bf37ef66b29ef0e0a3220527162ba3f1a4b38ddc88da8d8a5f9f237d9812e",
    "payment": {
      "status": "pending",
      "gateway_id": 4869,
      "ref_id": "100563156",
      "message": "Transaction was initialized.",
      "bank_code": "",
      "rrn": ""
    },
    "bank_transfer": {
      "type": "bank_transfer"
    },
    "customer": {
      "first_name": "John",
      "last_name": "Willson",
      "email": "john.willson@example.com",
      "country": "ES",
      "ip": null
    },
    "manually_corrected_at": null,
    "version": 0,
    "message": "Transaction was initialized.",
    "test": true,
    "billing_address": {
      "first_name": "John",
      "last_name": "Willson",
      "email": "john.willson@example.com",
      "country": "ES"
    },
    "additional_data": {
      "payment_method": {
        "type": "alternative"
      }
    },   
    "gateway": {
      "iframe": false
    },
    "form": {
      "action": "https://ma.tech/df69782abc691a514d3efaba812e292a",
      "method": "GET",
      "fields": []
    }
  }
}

Payment (DE)

Request

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 information.
type
required
string
bank_transfer_de.
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
string
The customer's billing country in the ISO 3166-1 Alpha-2 format. Possible values: DE (Germany).
address
string
The customer's billing address.
city
string
The customer's billing city.
state
string
The customer's billing state.
zip
string
The customer's billing ZIP or postal code.
Request example
{
  "request": {
    "test": true,
    "amount": 10,
    "currency": "EUR",
    "description": "description",
    "return_url": "https://return.com",
    "method": {
      "type": "bank_transfer_de"
    },
    "customer": {
      "first_name": "John",
      "last_name": "Willson",
      "email": "john.willson@example.com"
    }
  }
}
Response

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

Response example
{
  "transaction": {
    "uid": "67d980bf-3464-4beb-b98a-386a6e80911b",
    "type": "payment",
    "status": "pending",
    "amount": 10,
    "currency": "EUR",
    "description": "description",
    "created_at": "2025-07-22T08:09:23Z",
    "updated_at": "2025-07-22T08:09:24Z",
    "method_type": "bank_transfer_de",
    "receipt_url": "https://backoffice.paysage.io/customer/transactions/67d980bf-3464-4beb-b98a-386a6e80911b/05f5e956524df29ff543e9de484df3e255308a677c5efed8b050026046fe41e4",
    "payment": {
      "status": "pending",
      "gateway_id": 5603,
      "ref_id": "240137",
      "message": "Transaction was initialized.",
      "bank_code": "",
      "rrn": ""
    },
    "bank_transfer_de": {
      "type": "bank_transfer_de"
    },
    "customer": {
      "email": "john.willson@example.com",
      "last_name": "Willson",
      "first_name": "John",
      "ip": null
    },
    "manually_corrected_at": null,
    "version": 1,
    "message": "Transaction was initialized.",
    "test": true,
    "billing_address": {
      "email": "john.willson@example.com",
      "last_name": "Willson",
      "first_name": "John"
    },
    "additional_data": {
      "payment_method": {
        "type": "alternative"
      }
    },
    "gateway": {
      "iframe": true
    },
    "form": {
      "action": "payment-page",
      "method": "GET",
      "fields": []
    }
  }
} 

Payment with Revolut

Request

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 information.
type
required
string
bank_transfer_revolut.
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
The customer's billing country in the ISO 3166-1 Alpha-2 format. Possible values: AT (Austria), BE (Belgium), BG (Bulgaria), CY (Cyprus), CZ (Czech Republic), DE (Germany), DK (Denmark), EE (Estonia), FI (Finland), FR (France), ES (Spain), GR (Greece), HU (Hungary), HR (Croatia), IS (Iceland), IE (Ireland), IT (Italy), LI (Liechtenstein), LT (Lithuania), LU (Luxembourg), LV (Latvia), MT (Malta), NL (Netherlands), NO (Norway), PT (Portugal), RO (Romania), SE (Sweden), SI (Slovenia), SK (Slovakia).
address
string
The customer's billing address.
city
string
The customer's billing city.
state
string
The customer's billing state.
zip
string
The customer's billing ZIP or postal code.
Request example
{
  "request": {
    "test": true,
    "amount": 11,
    "currency": "EUR",
    "description": "description",
    "return_url": "https://return.com",
    "method": {
      "type": "bank_transfer_revolut"
    },
    "customer": {
      "first_name": "John",
      "last_name": "Willson",
      "country": "BE",
      "email": "john.willson@example.com"
    }
  }
}
Response

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

Response example
{
    "transaction": {
        "uid": "2072b6d7-35da-4dd7-9ae9-3de7abc55a3c",
        "type": "payment",
        "status": "pending",
        "amount": 11,
        "currency": "EUR",
        "description": "description",
        "created_at": "2025-07-22T11:21:25Z",
        "updated_at": "2025-07-22T11:21:25Z",
        "method_type": "bank_transfer_revolut",
        "receipt_url": "https://backoffice.paysage.io/customer/transactions/2072b6d7-35da-4dd7-9ae9-3de7abc55a3c/761729ae10fd87dac1241635382c967d622a998f8383a6f8208f65b582fc21b4",
        "payment": {
            "status": "pending",
            "gateway_id": 5603,
            "ref_id": "240367",
            "message": "Transaction was initialized.",
            "bank_code": "",
            "rrn": ""
        },
        "bank_transfer_revolut": {
            "type": "bank_transfer_revolut"
        },
        "customer": {
            "email": "john.willson@example.com",
            "country": "BE",
            "last_name": "Willson",
            "first_name": "John",
            "ip": null
        },
        "manually_corrected_at": null,
        "version": 1,
        "message": "Transaction was initialized.",
        "test": true,
        "billing_address": {
            "email": "john.willson@example.com",
            "country": "BE",
            "last_name": "Willson",
            "first_name": "John"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },       
        "gateway": {
            "iframe": true
        },
        "form": {
            "action": "payment_page",
            "method": "GET",
            "fields": []
        }
    }
} 

Payment with Wise

Request

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 information.
type
required
string
bank_transfer_wise.
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
The customer's billing country in the ISO 3166-1 Alpha-2 format. Possible values: AE (United Arab Emirates), CH (Switzerland), DE (Germany), ES (Spain), GB (United Kingdom), HK (Hong Kong), HU (Hungary), ID (Indonesia), IE (Ireland), IN (India), IT (Italy), JP (Japan), NL (Netherlands), NZ (New Zealand), PL (Poland), PT (Portugal), RO (Romania), SG (Singapore), US (United States).
address
string
The customer's billing address.
city
string
The customer's billing city.
state
string
The customer's billing state.
zip
string
The customer's billing ZIP or postal code.
Request example
{
  "request": {
    "test": true,
    "amount": 11,
    "currency": "EUR",
    "description": "description",
    "return_url": "https://return.com",
    "method": {
      "type": "bank_transfer_wise"
    },
    "customer": {
      "first_name": "John",
      "last_name": "Willson",
      "country": "AE",
      "email": "john.willson@example.com"
    }
  }
}
Response

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

Response example
{
    "transaction": {
        "uid": "cfa9e31c-8ef9-4a64-abbf-d14f5afd6ff0",
        "type": "payment",
        "status": "pending",
        "amount": 11,
        "currency": "EUR",
        "description": "description",
        "created_at": "2025-07-22T12:33:12Z",
        "updated_at": "2025-07-22T12:33:12Z",
        "method_type": "bank_transfer_wise",
        "receipt_url": "https://backoffice.paysage.io/customer/transactions/cfa9e31c-8ef9-4a64-abbf-d14f5afd6ff0/f31acda6fe32b797351f7273c63a7fa3d6c0255e8c71aeadc38ba25631f23f68",
        "payment": {
            "status": "pending",
            "gateway_id": 5603,
            "ref_id": "240369",
            "message": "Transaction was initialized.",
            "bank_code": "",
            "rrn": ""
        },
        "bank_transfer_wise": {
            "type": "bank_transfer_wise"
        },
        "customer": {
            "email": "john.willson@example.com",
            "country": "AE",
            "last_name": "Willson",
            "first_name": "John",
            "ip": null
        },
        "manually_corrected_at": null,
        "version": 1,
        "message": "Transaction was initialized.",
        "test": true,
        "billing_address": {
            "email": "john.willson@example.com",
            "country": "AE",
            "last_name": "Willson",
            "first_name": "John"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },        
        "gateway": {
            "iframe": true
        },
        "form": {
            "action": "payment_page",
            "method": "GET",
            "fields": []
        }
    }
}

ER 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 PaySage.io.
  3. PaySage.io sends a response containing the URL for completing the payment.
  4. The merchant redirects the customer to the provided URL.
  5. The customer submits the required information if necessary and completes the payment within 10 minutes.
  6. PaySage.io sends a webhook notification with the payment status to the merchant. The merchant may also request the payment status from PaySage.io with the status query.
Request

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.
ip
string
The customer's IP address.
object
A section of the payment method.
type
required

string
bank_transfer
object
A section of information about the customer.
email
required
string
The customer's email address.
object
A section of additional transaction data.
browser
object
A section of the customer's browser parameters.
Request example
{
    "request": {
        "test": true,
        "amount": 500,
        "currency": "EUR",
        "description": "description",
        "return_url": "https://return.com",
        "ip": "193.128.0.1",
        "method": {
            "type": "bank_transfer"
        },
        "customer": {
            "email": "john.willson@example.com"
        },
        "additional_data": {
            "browser": {
                "screen_width": 1920,
                "screen_height": 1080,
                "screen_color_depth": 24,
                "language": "en",
                "java_enabled": false,
                "user_agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0",
                "time_zone": -180,
                "time_zone_name": "Europe/Berlin",
                "window_height": 726,
                "window_width": 600,
                "accept_header": "application/json"
            }
        }
    }
}
Response

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

Response example
{
  "transaction": {
    "uid": "cccbee04-a6a1-4e6c-aa95-7a118402a851",
    "type": "payment",
    "status": "pending",
    "amount": 500,
    "currency": "EUR",
    "description": "description",
    "created_at": "2025-02-13T07:29:54Z",
    "updated_at": "2025-02-13T07:29:54Z",
    "method_type": "bank_transfer",
    "receipt_url": "https://backoffice.paysage.io/customer/transactions/cccbee04-a6a1-4e6c-aa95-7a118402a851/9ac468d33bdae6720e96d2f9f1f248d4964759d0154695b9cf85c5d46e8c9fa6",
    "payment": {
      "status": "pending",
      "gateway_id": 4974,
      "ref_id": "155481930",
      "message": "Transaction was initialized.",
      "bank_code": 0
    },
    "bank_transfer": {
      "type": "bank_transfer"
    },
    "customer": {
      "email": "john.willson@example.com",
      "ip": "193.128.0.1"
    },
    "manually_corrected_at": null,
    "version": 0,
    "message": "Transaction was initialized.",
    "test": true,
    "billing_address": {
      "email": "john.willson@example.com"
    },
    "additional_data": {
      "browser": {
        "user_agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0",
        "screen_width": 1920,
        "screen_height": 1080,
        "screen_color_depth": 24,
        "language": "en",
        "java_enabled": false,
        "time_zone": -180,
        "time_zone_name": "Europe/Berlin",
        "window_height": 726,
        "window_width": 600,
        "accept_header": "application/json"
      },
      "payment_method": {
        "type": "alternative"
      }
    },    
    "gateway": {
      "iframe": false
    },
    "form": {
      "action": "er-payment-page/en/v2-d9d796cb-aa25-47af-b4c6-3e74dffd2402?formID=1",
      "method": "POST",
      "fields": []
    }
  }
}

BA Integration option

Payout

Info

This integration option supports only EUR currency.

Payout flow

  1. The merchant sends the payout request to PaySage.io specifying the account identifier of the payout recipient.
  2. PaySage.io sends a response with pending/failed/error status.
  3. PaySage.io sends a webhook notification with the final payout status to the merchant. The merchant may also request the payout status from PaySage.io with the status query.
Request

Send a payout request with the following additional data:

object
object
A section of the payout method.
type
required

string
bank_transfer
account_number
required

string
IBAN of the account of the payout recipient, or an identifier of the payout recipient's account in the merchant's system.
object
A section of information about the payout recipient.
first_name
required
string
The first name of the payout recipient.
last_name
required
string
The last name of the payout recipient.
address
string (510)
The billing address of the payout recipient.
country
string
The country of the payout recipient in ISO 3166-1 Alpha-2 format.
taxpayer_id
string
The taxpayer ID of the payout recipient.
Request example
{
    "request": {
        "amount": 110,
        "currency": "EUR",
        "description": "description",
        "test": false,
        "tracking_id": "your_uniq_number",      
        "customer": {
            "first_name": "John",
            "last_name": "Doe",
            "country": "US",
            "taxpayer_id": "12312312321fff67"
        },
        "method": {
            "type": "bank_transfer",
            "account": "LT742140072746012441"
        }
    }
}
Response
Response example
{
  "transaction": {
    "uid": "58d11429-5550-4f06-8452-f0a803676b98",
    "type": "payout",
    "status": "pending",
    "amount": 110,
    "currency": "EUR",
    "description": "description",
    "created_at": "2025-03-27T10:35:57Z",
    "updated_at": "2025-03-27T10:36:00Z",
    "manually_corrected_at": null,
    "method_type": "bank_transfer",
    "receipt_url": "https://backoffice.paysage.io/customer/transactions/58d11429-5550-4f06-8452-f0a803676b98/dba17b315cfe8265c74557fc5a789bc4ef1a2c60c2db725deb248201f706cc6d",
    "payout": {
      "status": "pending",
      "gateway_id": 5175,
      "ref_id": "P20250327-RM827J",
      "message": "Transaction was initialized."
    },
    "bank_transfer": {
      "type": "bank_transfer",
      "account": "LT742140072746012441"
    },
    "customer": {
      "email": null,
      "ip": null
    },
    "version": 0,
    "message": "Transaction was initialized.",
    "tracking_id": "your_uniq_number",
    "test": false,
    "billing_address": {
      "first_name": "John",
      "last_name": "Doe",
      "country": "US",
      "taxpayer_id": "12312312321fff67"
    },
    "additional_data": {
      "payment_method": {
        "type": "alternative"
      }
    }
  }
}

VT 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 PaySage.io.
  3. PaySage.io sends a response containing the URL for completing the payment.
  4. The merchant redirects the customer to the provided URL.
  5. The customer selects the bank and completes the payment.
  6. PaySage.io sends a webhook notification with the payment status to the merchant. The merchant may also request the payment status from PaySage.io with the status query.
Request

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.
ip
string
The customer's IP address.
object
A section of the payment method information.
type
required

string
bank_transfer
object
A section of information about the customer.
email
required
string
The customer's email address.
first_name
required
string
The customer's first name.
last_name
required
string
The customer's last name.
Request example
{
    "request": {
        "test": true,
        "amount": 100,
        "currency": "EUR",
        "ip": "127.0.0.1",
        "description": "description",
        "return_url": "https://return.com",
        "method": {
            "type": "bank_transfer"
        },
        "customer": {
            "first_name": "John",
            "last_name": "Willson",
            "email": "john.willson@example.com"
        }
    }
}
Response

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

Response example
{
    "transaction": {
        "uid": "1975e85b-a63d-497d-8d96-1d92f356ac13",
        "type": "payment",
        "status": "pending",
        "amount": 100,
        "currency": "EUR",
        "description": "description",
        "created_at": "2025-06-18T19:04:54Z",
        "updated_at": "2025-06-18T19:04:56Z",
        "method_type": "bank_transfer",
        "receipt_url": "https://backoffice.paysage.io/customer/transactions/1975e85b-a63d-497d-8d96-1d92f356ac13/d47437c5c638219f1f0fe56b5fa303d3379c0eee6205d8f3bce27fc32244c92a",
        "payment": {
            "status": "pending",
            "gateway_id": 5508,
            "ref_id": "666c5304-6c8e-414f-a401-cfdcdc8b1c14",
            "message": "Transaction was initialized."
        },
        "bank_transfer": {
            "type": "bank_transfer"
        },
        "customer": {
            "email": "john.willson@example.com",
            "last_name": "Willson",
            "first_name": "John",
            "ip": "127.0.0.1"
        },
        "manually_corrected_at": null,
        "version": 2,
        "message": "Transaction was initialized.",
        "code": "P.9999",
        "friendly_message": ".",
        "test": true,
        "billing_address": {
            "email": "john.willson@example.com",
            "last_name": "Willson",
            "first_name": "John"
        },
        "additional_data": {
            "short_uid": "175027349469858906",
            "payment_method": {
                "type": "alternative"
            }
        },        
        "gateway": {
            "iframe": false
        },
        "form": {
            "action": "link-to-payment-page",
            "method": "GET",
            "fields": []
        }
    }
}