Bank Transfer
MY Integration option
Bank transfer flow
- The customer initiates a payment.
- The merchant sends a payment request to PaySage.io.
- PaySage.io sends a response with the
form
object containingaction
parameter with a link to the payment page. - The merchant redirects the customer to the URL specified in the
form.action
field from PaySage.io response. - The customer selects the bank on the payment page and makes a payment.
- Once the payment is completed, the customer is redirected to the page specified in
return_url
in the payment request. - 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.
- 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
- The customer initiates a payment.
- The merchant sends a payment request to PaySage.io.
- PaySage.io sends a response with the
form
object containingaction
parameter with a link to the payment page. - The merchant redirects the customer to the URL specified in the
form.action
field from PaySage.io response. - The customer makes a payment.
- Once the payment is completed, the customer is redirected to the page specified in
return_url
in the payment request. - 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.
- 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
- The customer initiates a payment on the merchant's website and selects the bank for the payment.
- The merchant sends a payment request with
bank_transfer_de
method type if the customer is from Germany or withbank_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). - PaySage.io sends a response with a link to the QR code (for all countries except Germany) and the redirect URL.
- The merchant displays the QR code (for all countries except Germany) and the URL from
redirect_url
to the customer. - The customer scans the QR code (for all countries except Germany) or follows the payment URL and completes the payment.
- 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.
- 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
- The customer initiates the payment with Revolut on the merchant's website.
- The merchant sends a payment request with
bank_transfer_revolut
method type. - PaySage.io sends a response with a link to the QR code and the redirect URL.
- The merchant displays the QR code and the URL from
redirect_url
to the customer. - The customer scans the QR code or follows the payment URL, signs into their Revolut account and completes the payment.
- 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.
- 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
- The customer initiates the payment with Wise on the merchant's website.
- The merchant sends a payment request with
bank_transfer_wise
method type. - PaySage.io sends a response with a link to the QR code and the redirect URL.
- The merchant displays the QR code and the URL from
redirect_url
to the customer. - The customer scans the QR code or follows the payment URL, signs into their Wise account and completes the payment.
- 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.
- 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
- The customer initiates the payment on the merchant's website.
- The merchant sends the payment request to PaySage.io.
- PaySage.io sends a response containing the URL for completing the payment.
- The merchant redirects the customer to the provided URL.
- 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.
- 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.
- 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
- The customer initiates the payment on the merchant's website.
- The merchant sends the payment request to PaySage.io.
- PaySage.io sends a response containing the URL for completing the payment.
- The merchant redirects the customer to the provided URL.
- The
redirect_url
displays the banks available for the country specified inmethod.channel
. The customer selects the bank and completes the payment. - 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
- The customer initiates the payment on the merchant's website.
- The merchant sends the payment request to PaySage.io.
- PaySage.io sends a response containing the URL for completing the payment.
- The merchant redirects the customer to the provided URL.
- The customer passes KYC verification and completes the payment on the provider's page.
- 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. |
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
- The customer initiates the payment on the merchant's website.
- The merchant sends the payment request to PaySage.io.
- PaySage.io sends a response containing the URL for completing the payment.
- The merchant redirects the customer to the provided URL.
- The customer selects the bank and completes the payment.
- 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
- The customer initiates the payment on the merchant's website.
- The merchant sends the payment request to PaySage.io.
- PaySage.io sends a response containing the URL for completing the payment.
- The merchant redirects the customer to the provided URL.
- The customer submits the required information if necessary and completes the payment within 10 minutes.
- 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
- The merchant sends the payout request to PaySage.io specifying the account identifier of the payout recipient.
- PaySage.io sends a response with
pending
/failed
/error
status. - 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"
}
}
}
}