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:

Parameter Type Description
request 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.
method object A section of the payment method information.
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:

Parameter Type Description
request object
return_url
* required
string A URL to return the customer to when a transaction is completed.
method object A section of the payment method information.
type
* required
string bank_transfer
customer * required
object A section of information about the customer.
first_name * required
string The customer's first name.
last_name * required
string The customer's last name.
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:

Parameter Type Description
request object
return_url
* required
string A URL to return the customer to when a transaction is completed.
method object A section of the payment method information.
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:

Parameter Type Description
request object
return_url
* required
string A URL to return the customer to when a transaction is completed.
method object A section of the payment method information.
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.
customer * 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:

Parameter Type Description
request object
return_url
* required
string A URL to return the customer to when a transaction is completed.
method object A section of the payment method information.
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:

Parameter Type Description
request object
return_url
* required
string A URL to return the customer to when a transaction is completed.
method 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:

Parameter Type Description
request object
return_url
* required
string A URL to return the customer to when a transaction is completed.
method object A section of the payment method information.
type
* required
string bank_transfer
customer * required
object A section of information about the customer.
first_name * required
string The customer's first name.
last_name * required
string The customer's last name.
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:

Parameter Type Description
request object
return_url
* required
string A URL to return the customer to when a transaction is completed.
method 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).
customer * required
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:

Parameter Type Description
request object
ip* required
string The customer's IP address.
method object A section of the payment 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.
customer * required
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:

Parameter Type Description
request 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.
method 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.
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:

Parameter Type Description
request object
currency* required
string EUR.
ip* required
string The customer's IP address.
method object A section of the payment method information.
type
* required
string bank_transfer_finland or bank_transfer_estonia
account string IBAN of the customer's account for the payout.
customer 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:

Parameter Type Description
request object
currency* required
string EUR.
ip* required
string The customer's IP address.
method object A section of the payment method information.
type
* required
string bank_transfer
account
* required
string IBAN of the customer's account for the payout.
customer * required
object A section of information about the customer.
first_name * required
string The customer's first name.
last_name * required
string The customer's last name.
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 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 only EUR, GBP and PLN currencies.

Payment

Request

Send a payment request with the following additional parameters:

Parameter Type Description
request object
return_url
* required
string A URL to return the customer to when a transaction is completed.
method object A section of the payment method information.
type
* required
string bank_transfer.
customer * required
object A section of information about the customer.
first_name * required
string The customer's first name.
last_name * required
string The customer's last name.
email * required
string The customer's email address.
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).
Request example
{
    "request": {
        "test": true,
        "amount": 138,
        "currency": "EUR",
        "description": "description",
        "return_url": "https://return.com",
        "method": {
            "type": "bank_transfer"
        },
        "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": []
    }
  }
}

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:

Parameter Type Description
request object
return_url
* required
string A URL to return the customer to when a transaction is completed.
ip string The customer's IP address.
method object A section of the payment method information.
type
* required
string bank_transfer
customer * required
object A section of information about the customer.
email * required
string The customer's email address.
additional_data object
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": "GET",
      "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:

Parameter Type Description
request object
method object A section of the payment method information.
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.
customer 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"
      }
    }
  }
}