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

Apple Pay Alternative

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

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

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

Info

Этот вариант интеграции поддерживает только валюту EUR. Варианты интеграции FR и PPZ также поддерживают валюту 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
Секция информации о покупателе.
external_id
string (255)
Идентификатор покупателя в системе торговца.
phone
обязательный
string
Номер телефона покупателя.
email
обязательный
string
Адрес электронной почты покупателя.
first_name
required
string
Имя покупателя.
last_name
required
string
Фамилия покупателя.
middle_name
string
Отчество покупателя.
country
required
string
Страна покупателя в формате ISO 3166-1 alpha-2. Например, DE.
city
required
string (120)
Город покупателя.
state
string (40)
Штат или регион покупателя. Обязателен, если значение customer.country — AU, US или CA.
zip
required
string (40)
Почтовый индекс покупателя.
address
required
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.

Для вариантов интеграций PW, 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": []
        }
    }
}
Пример ответов для вариантов интеграции PW, 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, PPZ and MA.

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

Для вариантов интеграции PW, MA и AS сумма транзакции должна быть равна сумме родительской транзакции.

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

Запрос

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