Перейти к содержанию

Apple Pay Alternative

Общий вариант интеграции

Описание процесса оплаты

  1. Покупатель инициирует Apple Pay оплату на странице торговца.
  2. Торговец отправляет запрос оплаты в PaySage.io.
  3. PaySage.io возвращает торговцу ссылку для завершения оплаты.
  4. Торговец перенаправляет покупателя на полученную ссылку. По ссылке открывается страница, где отображена сумма транзакции и размещена кнопка для оплаты с помощью Apple Pay.
  5. Покупатель совершает оплату с помощью Apple Pay.
  6. PaySage.io высылает торговцу автоматическое уведомление со статусом оплаты.

Info

Этот вариант интеграции поддерживает только валюту EUR. Вариант интеграции FR также поддерживает валюту USD.

Оплата

Запрос

Отправьте запрос оплаты, указав следующие дополнительные параметры:

object
amount
обязательный
bigInteger
Сумма транзакции в минимальных денежных единицах, например, 5000 (50 евро).
currency
обязательный
string
EUR
description
обязательный
string(255)
Описание заказа.
return_url
обязательный
string
URL, на который будет возвращен покупатель после завершения операции в платёжной системе.
object
Секция параметров способа оплаты.
type
обязательный
string
apple_pay_alt
ip
string
IP-адрес покупателя.
object
Секция информации о покупателе.
phone
обязательный
string
Номер телефона покупателя.
email
обязательный
string
Адрес электронной почты покупателя.
first_name
string
Имя покупателя.
last_name
string
Фамилия покупателя.
middle_name
string
Отчество покупателя.
country
string
Страна покупателя в формате ISO 3166-1 alpha-2. Например, DE.
city
string (120)
Город покупателя.
zip
string (40)
Почтовый индекс покупателя.
address
string (510)
Адрес покупателя.
birth_date
string
Дата рождения покупателя в формате ISO-8601 (YYYY-MM-DD).
Пример запроса
{
    "request": {
        "amount": 200,
        "currency": "EUR",
        "description": "description",
        "return_url": "https://your_return_url.com",
        "ip": "127.0.0.1",
        "method": {
            "type": "apple_pay_alt"
        },
        "customer": {
            "phone": "0123456789",
            "email": "email@example.com",
            "country": "DE",
            "city": "Berlin",
            "address": "Friedrichstrasse, 8",
            "first_name": "Helen",
            "last_name": "Kohl",
            "middle_name": "Maria",
            "zip": "10115",
            "birth-date": "1990-01-01" 
        }
    }
}
Ответ

Отправьте покупателя на URL, указанный в параметре form.action.

Для вариантов интеграций TW и TW2, создайте HTML-форму, используя параметры из секции form. Отправьте покупателя на форму для завершения оплаты.

Пример ответа
{
    "transaction": {
        "uid": "5658d7ca-6f8c-4050-ac19-05980b8356e5",
        "type": "payment",
        "status": "pending",
        "amount": 200,
        "currency": "EUR",
        "description": "description",
        "created_at": "2024-08-14T14:51:59Z",
        "updated_at": "2024-08-14T14:52:01Z",
        "method_type": "apple_pay_alt",
        "receipt_url": "https://backoffice.paysage.io/customer/transactions/5658d7ca-6f8c-4050-ac19-05980b8356e5/96003c2fd2601e204900b4df53b549a471743e262b15a3d8d8109d6c8ea1b1f7",
        "payment": {
            "status": "pending",
            "gateway_id": 4379,
            "ref_id": "363698704",
            "message": "Transaction was initialized."
        },
        "apple_pay_alt": {
            "type": "apple_pay_alt"
        },
        "customer": {
            "email": "email@example.com",
            "phone": "0123456789",
            "ip": "127.0.0.1"
        },
        "manually_corrected_at": null,
        "version": 0,
        "message": "Transaction was initialized.",
        "test": false,
        "billing_address": {
            "email": "email@example.com",
            "phone": "0123456789"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },       
        "gateway": {
            "iframe": false
        },
        "form": {
            "action": "https://example.com/url-for-redirect",
            "method": "GET",
            "fields": []
        }
    }
}
Пример ответов для вариантов интеграции TW и TW2
{
  "transaction": {
    "uid": "0b26a3de-8753-47e1-9181-ff422285afdc",
    "type": "payment",
    "status": "pending",
    "amount": 100,
    "currency": "EUR",
    "description": "test description",
    "created_at": "2025-03-19T09:41:08Z",
    "updated_at": "2025-03-19T09:41:08Z",
    "method_type": "apple_pay_alt",
    "receipt_url": "https://backoffice.paysage.io/customer/transactions/0b26a3de-8753-47e1-9181-ff422285afdc/52a0a76f39f30cb3979f21906e8cf62808eab230e4d5b94dceddaa6761228f1d",
    "payment": {
      "status": "pending",
      "gateway_id": 5091,
      "message": "Transaction was initialized."
    },
    "apple_pay_alt": {
      "type": "apple_pay_alt"
    },
    "customer": {
      "first_name": "Helen",
      "last_name": "Kohl",
      "email": "helen@example.com",
      "country": "DE",
      "city": "Berlin",
      "address": "Friedrichstrasse, 8",
      "phone": "123456789",
      "ip": null
    },
    "manually_corrected_at": null,
    "version": 0,
    "message": "Transaction was initialized.",
    "tracking_id": "your_uniq_number21212",
    "test": false,
    "billing_address": {
      "first_name": "Helen",
      "last_name": "Kohl",
      "email": "helen@example.com",
      "country": "DE",
      "city": "Berlin",
      "address": "Friedrichstrasse, 8",
      "phone": "123456789"
    },
    "additional_data": {
      "payment_method": {
        "type": "alternative"
      }
    },    
    "gateway": {
      "iframe": false
    },
    "form": {
      "action": "/transaction/Checkout",
      "method": "POST",
      "fields": [
        {
          "name": "memberId",
          "value": "13106",
          "type": "hidden"
        },
        {
          "name": "terminalid",
          "value": "6093",
          "type": "hidden"
        },
        {
          "name": "partnerId",
          "value": "39",
          "type": "hidden"
        },
        {
          "name": "checksum",
          "value": "7d0a47520e551b544f7e31e2e83455eb",
          "type": "hidden"
        },
        {
          "name": "merchantTransactionId",
          "value": "0b26a3de-8753-47e1-9181-ff422285afdc",
          "type": "hidden"
        },
        {
          "name": "amount",
          "value": "1.00",
          "type": "hidden"
        },
        {
          "name": "currency",
          "value": "EUR",
          "type": "hidden"
        },
        {
          "name": "paymentBrand",
          "value": "APPLEPAY",
          "type": "hidden"
        },
        {
          "name": "paymentMode",
          "value": "EW",
          "type": "hidden"
        },
        {
          "name": "orderDescription",
          "value": "test description",
          "type": "hidden"
        },
        {
          "name": "country",
          "value": "DE",
          "type": "hidden"
        },
        {
          "name": "city",
          "value": "Berlin",
          "type": "hidden"
        },
        {
          "name": "postcode",
          "value": "15239-5452",
          "type": "hidden"
        },
        {
          "name": "street",
          "value": "Friedrichstrasse, 8",
          "type": "hidden"
        },
        {
          "name": "firstName",
          "value": "Helen",
          "type": "hidden"
        },
        {
          "name": "lastName",
          "value": "Kohl",
          "type": "hidden"
        },
        {
          "name": "email",
          "value": "helen@example.com",
          "type": "hidden"
        },
        {
          "name": "merchantRedirectUrl",
          "value": "https://api.paysage.io/beyag/transactions/returns/88c70e7191aa823ac0588a279d22ef5722fc26712f6eac23ab76b53a65019c48/0b26a3de-8753-47e1-9181-ff422285afdc",
          "type": "hidden"
        },
        {
          "name": "notificationUrl",
          "value": "https://api.paysage.io/beyag/transactions/notifications/88c70e7191aa823ac0588a279d22ef5722fc26712f6eac23ab76b53a65019c48/0b26a3de-8753-47e1-9181-ff422285afdc",
          "type": "hidden"
        },
        {
          "name": "totype",
          "value": "TW",
          "type": "hidden"
        },
        {
          "name": "phone",
          "value": "456789",
          "type": "hidden"
        },
        {
          "name": "telnocc",
          "value": "123",
          "type": "hidden"
        }
      ]
    }
  }
}

Возврат средств

Возвраты доступны для вариантов интеграции TW, TW2, PS, FR и CR.

Для вариантов интеграции TW и CR сумма транзакции не должна превышать сумму родительской транзакции.

Для вариантов интеграции TW2, FR и PS для одной транзакции оплаты можно совершить несколько транзакций возврата средств при условии, что сумма возвратов не превышает сумму соответствующей им родительской транзакции.

Запрос

Отправьте стандартный запрос возврата средств.