Skip to content

PaysafeCard

DC Integration option

Payment

Payment Flow

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

Info

This integration option supports AUD, CAD, CHF, EUR, GBP, NOK, PLN, RON, SEK and USD currencies.

Request

Send a payment request with the following additional data:

object
return_url
required
string
URL to return the customer to when the transaction is completed.
object
A section of the payment method.
type
required
string
pay_safe_card
ip
string
The customer's IP address.
object
A section of the customer details.
first_name
required
string
The customer's first name.
last_name
required
string
The customer's last name.
country
required
string
The customer's country in the ISO 3166-1 Alpha-2 format. Possible values: AT (Austria), AU (Australia), BE (Belgium), BG (Bulgaria), CA (Canada), CH (Switzerland), CY(Cyprus), CZ (Czech Republic), DE (Germany), DK (Denmark), ES (Spain), FI (Finland), FR (France), GB (United Kingdom), GE (Georgia), GI (Gibraltar), GR (Greece), HR (Croatia), HU (Hungary), IE (Ireland), IT (Italy), LI (Liechtenstein), LT (Lithuania), LU (Luxembourg), MT (Malta), MX (Mexico), NL (Netherlands), NZ (New Zealand), NO (Norway), PE (Peru), PL (Poland), PT (Portugal), RO (Romania), SE (Sweden), SI (Slovenia), SK (Slovakia), UY (Uruguay).
phone
string
The customer's phone number.
email
string
The customer's email address.
city
string (120)
The customer's billing city.
zip
string (40)
The customer's billing ZIP or postal code.
birth_date
string
The customer's date of birth in the ISO 8601 format (YYYY-MM-DD).
address
string (510)
The customer's billing address.
Request example
{
    "request": {
        "amount": 500,
        "currency": "EUR",
        "description": "description",
        "test": true,
        "return_url": "https://return.com",
        "language": "en",
        "customer": {
            "first_name": "John",
            "last_name": "Doe",
            "country": "AT" 
        },
        "method": {
            "type": "pay_safe_card"
        }
    }
}
Response

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

Response example
{
    "transaction": {
        "uid": "e6894788-e26b-43e6-8ad1-19f4c61e9805",
        "type": "payment",
        "status": "pending",
        "amount": 500,
        "currency": "EUR",
        "description": "description",
        "created_at": "2025-09-17T13:57:34Z",
        "updated_at": "2025-09-17T13:57:35Z",
        "method_type": "pay_safe_card",
        "receipt_url": "https://backoffice.paysage.io/customer/transactions/e6894788-e26b-43e6-8ad1-19f4c61e9805/08a86c85fafc9e946abdbbf2f8cbdf9fc7d34c6d14d3939a2b344ebf621e4280?language=en",
        "payment": {
            "status": "pending",
            "gateway_id": 5220,
            "ref_id": "affd698b62d69be9eaf0",
            "message": "Transaction was initialized."
        },
        "pay_safe_card": {
            "type": "pay_safe_card"
        },
        "customer": {
            "country": "AT",
            "last_name": "Doe",
            "first_name": "John",
            "email": null,
            "ip": null
        },
        "manually_corrected_at": null,
        "version": 1,
        "message": "Transaction was initialized.",
        "test": true,
        "language": "en",
        "billing_address": {
            "country": "AT",
            "last_name": "Doe",
            "first_name": "John"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },       
        "gateway": {
            "iframe": false
        },
        "form": {
            "action": "link_to_payment_page",
            "fields": [],
            "method": "GET"
        }
    }
}

Refund

Request

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

CF Integration option

Payment

Payment Flow

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

Info

This integration option supports only EUR currency.

Request

Send a payment request with the following additional data:

object
return_url
required

string
A URL to return the customer to when a transaction is completed.
ip
string
The customer's IP address.
object
A section of the payment method.
type
required
string
pay_safe_card
object
A section of information about the customer.
first_name
required
string (60)
The customer's first name.
last_name
required
string (60)
The customer's last name.
email
required
string
The customer's email address.
external_id
required
string (128)
The customer's identifier in the merchant's system.
birth_date
string
The customer's date of birth in the ISO 8601 format (YYYY-MM-DD).
phone
string
The customer's phone number.
country
required
string (2)
The customer's country in the ISO 3166-1 Alpha-2 format. Possible values: AU (Australia), AT (Austria), BE (Belgium), BG (Bulgaria), CA (Canada), HR (Croatia), CY (Cyprus), CZ (Czech Republic), DK (Denmark), EE (Estonia), FI (Finland), FR (France), GE (Georgia), DE (Germany), GI (Gibraltar), HU (Hungary), IS (Iceland), IE (Ireland), KW (Kuwait), LV (Latvia), LI (Liechtenstein), LT (Lithuania), LU (Luxembourg), MT (Malta), MX (Mexico), MD (Moldova), ME (Montenegro), NL (Netherlands), NZ (New Zealand), NO (Norway), PE (Peru), PL (Poland), RO (Romania), SA (Saudi Arabia), SK (Slovakia), SI (Slovenia), ES (Spain), SZ (Swaziland), SE (Sweden), GB (United Kingdom), UY (Uruguay).
city
required
string (50)
The customer's city.
address
required
string (300)
The customer's address.
state
string (40)
The customer's state/region.
zip
required
string (12)
The customer's postal code.
Request example
{
    "request": {
        "amount": 100,
        "currency": "EUR",
        "description": "description",
        "tracking_id": "123abc",
        "notification_url": "https://your-notification.url",
        "return_url": "https://test.com",
        "ip": "127.0.0.1",
        "language": "en",
        "customer": {
            "first_name": "John",
            "last_name": "Doe",
            "country": "BE",
            "email": "test@test.com",
            "external_id": "123abc",
            "address": "1st Street",
            "city": "Antwerp",
            "zip": "2018"
        },
        "method": {
            "type": "pay_safe_card"
        }
    }
}
Response

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

Response example
{
    "transaction": {
        "uid": "0d75243e-a1b5-4bf6-812f-f9f10e09ad1e",
        "type": "payment",
        "status": "pending",
        "amount": 100,
        "currency": "EUR",
        "description": "description",
        "created_at": "2026-07-16T06:36:32Z",
        "updated_at": "2026-07-16T06:36:32Z",
        "method_type": "pay_safe_card",
        "receipt_url": "https://backoffice.paysage.io/customer/transactions/0d75243e-a1b5-4bf6-812f-f9f10e09ad1e/fd24e44537bebac636c2cf212b1c9dfcdd8d4644a9913126e4f425ba993a2bb4?language=en",
        "payment": {
            "status": "pending",
            "gateway_id": 6874,
            "ref_id": "36749994",
            "message": "Transaction was initialized."
        },
        "pay_safe_card": {
            "type": "pay_safe_card"
        },
        "customer": {
            "email": "test@test.com",
            "country": "BE",
            "last_name": "Doe",
            "first_name": "John",
            "ip": "127.0.0.1",
            "external_id": "123abc",
            "address": "1st Street",
            "city": "Antwerp",
            "zip": "2018"
        },
        "manually_corrected_at": null,
        "version": 1,
        "message": "Transaction was initialized.",
        "tracking_id": "123abc",
        "test": false,
        "language": "en",
        "billing_address": {
            "email": "test@test.com",
            "country": "BE",
            "last_name": "Doe",
            "first_name": "John",                
            "address": "1st Street",
            "city": "Antwerp",
            "zip": "2018"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },
        "smart_routing_verification": {
            "status": "skipped"
        },
        "gateway": {
            "iframe": false
        },
        "form": {
            "action": "link-to-payment-page",
            "fields": [],
            "method": "GET"
        }
    }
}