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

paypal

В этой статье

(описание будет добавлено при генерации)


Методы API

| Метод | Действие | Описание | |-------|----------|----------|| charge_vault | списание средств через Vault | Выполняет списание платежа по сохраненному токену (Vault) для указанной инвойса. || check_order | проверка заказа | Проверяет статус захвата (capture) PayPal заказа и завершает процесс оплаты. || check_payment | проверка платежа | Создает подписку или проверяет доступность оплаты для клиента. || check_subscription | проверка подписки | Проверяет наличие недавних транзакций по подписке и подтверждает её. || create_order | создание заказа | Создает заказ PayPal (обычный или с использованием Vault). || create_payment_token | создание токена платежа | Создает токен для привязки карты (Vault) к аккаунту. || create_setup_token | создание токена настройки | Инициирует процесс создания Setup Token в PayPal для последующего сохранения карты. || create_subscription | создание подписки | Инициирует процесс создания PayPal-подписки для клиента на основе существующего счета (invoice). || revoke_vault | удаление платежного токена (Vault) | Удаляет сохраненный способ оплаты (PayPal Vault) из профиля клиента. |

paypal/charge_vault

Выполняет списание платежа по сохраненному токену (Vault) для указанной инвойса.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: charge_vault
invoice_id ✅ integer Идентификатор инвойса для списания средств
vault_id ✅ string Идентификатор сохраненного токена (Vault)
billing ❌ string Идентификатор системы биллинга для обработки платежа.

Пример запроса

curl -s "https://invapi.hostkey.ru/paypal.php" -X POST \
--data "action=charge_vault" \
--data "invoice_id=12345" \
--data "vault_id=vlt_abc123" \
--data "billing=my_billing_system"
Пример успешного ответа
{
"result": "OK",
"action": "charge_vault",
"data": {
"captured": true,
"amount": {
"value": "10.00",
"currency_code": "EUR"
},
"transaction_id": "PAYID-XXXXXXXXXXXX"
}
}
Примеры ошибок
{
"code": -1,
"message": "$module/charge_vault: missing invoice_id or vault_id"
}

paypal/check_order

Проверяет статус захвата (capture) PayPal заказа и завершает процесс оплаты.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: check_order
error_description ✅ string Описание ошибки при инициализации сессии PayPal
purchase_units ✅ string Массив данных о единицах покупки в заказе
status ✅ string Статус транзакции PayPal. Допустимые значения: enable.
payment_source ✅ string Источник платежа в заказе
invoice_id ❌ string Идентификатор счета для отслеживания платежа.
order_id ❌ integer Уникальный идентификатор заказа в системе PayPal.
billing ❌ string Название биллинговой системы или профиля для обработки транзакции.

Пример запроса

curl -s "https://invapi.hostkey.ru/paypal.php" -X POST \
--data "action=check_order" \
--data "error_description=VALUE" \
--data "purchase_units=VALUE" \
--data "status=VALUE" \
--data "payment_source=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "check_order",
"data": {
"id": "ORDER_ID",
"status": "COMPLETED",
"purchase_units": [
{
"payments": {
"captures": [
{
"status": "COMPLETED"
}
]
}
}
],
"payment_source": {
"paypal": {
"attributes": {
"vault": {
"id": "vault_id_123"
}
}
}
}
}
}
Примеры ошибок
{
"code": -1,
"message": "failed to confirm order: error_details"
}

paypal/check_payment

Создает подписку или проверяет доступность оплаты для клиента.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: check_payment
invoice_id ❌ integer Уникальный идентификатор счета для проведения платежа.
billing ❌ string Название или тип используемой системы биллинга по умолчанию.

Пример запроса

curl -s "https://invapi.hostkey.ru/paypal.php" -X POST \
--data "action=check_payment"
Пример успешного ответа
{
"result": "OK",
"action": "check_payment",
"data": {
"subscription_id": "sub_12345",
"status": "active"
}
}
Примеры ошибок
{
"code": -1,
"message": "PayPal is not available for USD customers"
}

paypal/check_subscription

Проверяет наличие недавних транзакций по подписке и подтверждает её.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: check_subscription
error_description ✅ string Описание ошибки при инициализации сессии PayPal
subscription_id ✅ string Идентификатор подписки для проверки транзакций
transactions ✅ string Параметр transactions
invoice_id ❌ string Идентификатор счета для привязки транзакции.
billing ❌ string Название системы биллинга или метод обработки платежей.

Пример запроса

curl -s "https://invapi.hostkey.ru/paypal.php" -X POST \
--data "action=check_subscription" \
--data "error_description=VALUE" \
--data "subscription_id=VALUE" \
--data "transactions=VALUE"
Пример успешного ответа
{
"resource": {
"invoice_id": 123,
"custom_id": "whmcs",
"seller_receivable_breakdown": {
"paypal_fee": {
"value": "0.50"
}
},
"amount": {
"value": "50.00",
"currency_code": "EUR"
},
"id": "txn_abc123",
"status": "COMPLETED",
"origin": "new subscription sub_abc123",
"subscription_id": "sub_abc123"
}
}
Примеры ошибок
{
"code": -1,
"message": "no recent transaction for subscription"
}

paypal/create_order

Создает заказ PayPal (обычный или с использованием Vault).

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: create_order
invoice_id ❌ string Идентификатор счета для создания платежа.
vault ❌ integer Флаг использования функции сохранения платежных данных пользователя.
billing ❌ string Название системы биллинга для обработки транзакции.

Пример запроса

curl -s "https://invapi.hostkey.ru/paypal.php" -X POST \
--data "action=create_order" \
--data "invoice_id=12345"
Пример успешного ответа
{
"result": "OK",
"action": "create_order",
"data": {
"id": "ORDER_ID",
"status": "APPROVAL_REQUIRED",
"purchase_units": []
}
}
Примеры ошибок
{
"code": -1,
"message": "PayPal is not available for USD customers"
}

paypal/create_payment_token

Создает токен для привязки карты (Vault) к аккаунту.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: create_payment_token
setup_token_id ✅ string Идентификатор токена настройки для создания платежного токена PayPal.
billing ❌ string Название биллинговой системы или идентификатор профиля оплаты.

Пример запроса

curl -s "https://invapi.hostkey.ru/paypal.php" -X POST \
--data "action=create_payment_token" \
--data "setup_token_id=VALUE"
Пример успешного ответа
{
"result": "OK",
"vault_id": "vault_abc123"
}
Примеры ошибок
{
"code": -1,
"message": "missing setup_token_id"
}

paypal/create_setup_token

Инициирует процесс создания Setup Token в PayPal для последующего сохранения карты.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: create_setup_token
billing ❌ string Идентификатор системы биллинга для обработки платежей.

Пример запроса

curl -s "https://invapi.hostkey.ru/paypal.php" -X POST \
--data "action=create_setup_token"
Пример успешного ответа
{
"result": -1,
"error": "PayPal is not available for USD customers"
}
Примеры ошибок
{
"code": -1,
"message": "PayPal is not available for USD customers"
}

paypal/create_subscription

Инициирует процесс создания PayPal-подписки для клиента на основе существующего счета (invoice).

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: create_subscription
invoice_id ❌ string Идентификатор счета для привязки подписки.
billing ❌ string Метод или система биллинга для обработки платежей.

Пример запроса

curl -s "https://invapi.hostkey.ru/paypal.php" -X POST \
--data "action=create_subscription"
Пример успешного ответа
{
"result": "OK",
"action": "create_subscription",
"data": {
"resource": {
"invoice_id": 123,
"custom_id": "whmcs",
"seller_receivable_breakdown": {
"paypal_fee": {
"value": "0.50"
}
},
"amount": {
"value": "49.99",
"currency_code": "EUR"
},
"id": "sub_123456789",
"status": "active",
"origin": "new subscription sub_123456789",
"subscription_id": "sub_123456789"
}
}
}
Примеры ошибок
{
"code": -1,
"message": "PayPal is not available for USD customers"
}

paypal/revoke_vault

Удаляет сохраненный способ оплаты (PayPal Vault) из профиля клиента.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: revoke_vault
vault_id ✅ integer Идентификатор сохраненного способа оплаты (Vault ID)
billing ❌ string Идентификатор биллинга для проверки владельца подписки

Пример запроса

curl -s "https://invapi.hostkey.ru/paypal.php" -X POST \
--data "action=revoke_vault" \
--data "vault_id=12345"
Пример успешного ответа
{
"result": "OK",
"action": "revoke_vault",
"data": {}
}
Примеры ошибок
{
"code": -1,
"message": "PayPal/revoke_vault: vault [id] is not owned by client [user_id]"
}
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×