zengram/pay-selection

dev-master 2023-05-30 11:24 UTC

This package is not auto-updated.

Last update: 2024-05-14 15:45:43 UTC


README

PaySelection API specification # Request signature Все виды сообщений содержат параметр X-REQUEST-SIGNATURE в HTTP-заголовке, который содержит тестовое значение запроса, вычисленное с использованием алгоритма HMAC. При реализации проверки сообщений, обратите внимание, на следующие моменты: Сообщение содержит: 1 Reguest method 2 URL 3 X-SITE-ID 4 X-REQUEST-ID 5 Request body Пример: POST /payments/requests/single 16 1qazxsw23edc {\"Amount\": \"123\", \"Currency\": \"RUB\", \"ExtraData\": {\"custom\": \"field\", \"key\": \"value\"}, \"CustomerInfo\": {\"Address\": \"string\", \"Country\": \"string\", \"Email\": \"string\", \"Language\": \"string\", \"Phone\": \"string\", \"Town\": \"string\", \"ZIP\": \"string\"}, \"Description\": \"string\", \"OrderId\": \"string\", \"PaymentMethod\": \"card\", \"PaymentDetails\": {\"CardholderName\": \"string\", \"CardNumber\": \"4111111111111111\", \"CVC\": \"987\", \"ExpMonth\": \"12\", \"ExpYear\": \"22\"}, \"RebillFlag\": true} В качестве ключа используется значение параметра, например: \"sk16\" Хэш вычисляется функцией SHA256 (получаем данные в шестнадцатеричной (!) кодировке в нижнем регистре: \"5145fec78e5db15c51a83e520b61609e8bd934c912614be71ae3840a60e3b013\" Сайт для онлайн формирования подписи: http://beautifytools.com/hmac-generator.php Пример формирования X-REQUEST-SIGNATURE (Python): import hashlib import hmac def calc_signature(body: str, site_secret_value: str) -> str: signatire = hmac.new( key=site_secret_value.encode(), msg=body.encode(), digestmod=hashlib.sha256, ) return signature.hexdigest() Пример формирования Signature (PHP): function getSignature($body, $secretKey) { $hash = hash_hmac('sha256', $body, $secretKey, false); return $hash; } # Webhook signature X-WEBHOOK-SIGNATURE вычисляется по тем же правилам, что и Request signature, за исключением X-REQUEST-ID. Сообщение содержит: 1 Reguest method 2 URL (Notification URL to which WEBHOOK is sent) 3 X-SITE-ID 4 Request body Пример: POST https://webhook.site/notification/ 16 {\"Event\": \"Payment\", \"TransactionId\": \"PS00000000000007\", \"OrderId\": \"Ilya test\", \"Amount\": \"152.12\", \"Currency\": \"RUB\", \"DateTime\": \"16.09.2019 16.52.41\", \"IsTest\": 1, \"Email\": \"test@payselection.com\", \"Phone\": \"+1234567567890\", \"Description\": \"Test transaction\", \"CardMasked\": \"411111**1111\", \"CardHolder\": \"test card\", \"RebillId\": \"PS00000000000007\", \"ExpirationDate\": \"01/20\"} В качестве ключа используется значение параметра, например: \"sk16\" Хэш вычисляется функцией SHA256 (получаем данные в шестнадцатеричной (!) кодировке в нижнем регистре): \"a9cf187993620b64dd0551b1cae88119dd5bddf92ab18d830e5fce1c703cebcd\" # Webhook для проверки После ввода клиентом карточных данных вы можете получить webhook с данными из запроса для сопоставления их с заказом. Для настройки обратитесь в тех.поддержку: необходимо сообщить url приемника и какие параметры из запроса требуется передать для проверки. Ваш сервис приема должен отдавать 200 статус, если оплату можно продолжать, или любой из 4хх и 5хх статусов для прерывания оплаты. Webhook можно настроить в личном кабинете→ Сервис→ действие(редактировать) → URL оповещения → сохранить. Изменения вступят в силу в течении 15 мин. # Тестирование Тестовые карты: 5375437783733009 3DS SUССESS PAYMENT, SUССESS PAYOUT, SUCCESS REBILL 2175005001632383 3DS FAIL PAYMENT, FAIL PAYOUT 4113418297706145 non3DS SUССESS PAYMENT, SUCCESS PAYOUT, FAIL REBILL 4635224506614503 non3DS FAIL PAYMENT, FAIL PAYOUT 5260111696757102 3DS Redirect SUССESS PAYMENT, SUССESS PAYOUT, SUCCESS REBILL 2408684917843810 3DS Redirect FAIL PAYMENT, FAIL PAYOUT # Widget Для подключения виджета необходимо прописать на сайте скрипт в раздел head: `javascript Для появления платежной формы необходимо зарегистрировать функцию для вызова метода pay: javascript И прописать вызов функции на событие, например, нажатие кнопки «Оплатить»: javascript $('#checkout').click(pay); **Варианты настройки Return Urls для Виджета:** 1) Производится возврат на returnUrl из extraData или сервиса (но если returnUrl там не указаны, то виджет при инициации закрытия будет просто закрываться) javascript window.location.href = res.returnUrl; 2) Производится возврат на returnUrl из extraData или сервиса (но если returnUrl там не указаны, то виджет при инициации закрытия будет просто закрываться)javascript if (res.returnUrl) window.location.href = res.returnUrl; 3) Производится возврат на returnUrl из extraData или сервиса (но если returnUrl там не указаны, то виджет будет перенаправлять по указанному в скрипте returnUrl)javascript window.location.href = res.returnUrl || \"https://payselection.com/\" # Cryptogram Криптограмма — это идентификатор, представляющий собой случайную последовательность, ассоциированную с определённой платёжной картой. Формирование криптограмм выполняется на основании данных платёжных карт пользователей. Сформированная криптограмма используется в методах [Pay](#operation/Pay) и [Block](#operation/Block) Скрипт для криптографирования карточных данных представлен ниже, где rawPubKey - public key из личного кабинета мерчанта: javascript var eccrypto = require(\"eccrypto\"); var rawPubKey = '0405397f7577bd835210a57708aafe876786dc8e2d12e6880917d61a4ad1d03a75068ea6bc26554c7a1bf5b50ed40105837eee001178579279eca57f89bdff5fc2' var pubkey = Buffer.from(rawPubKey, 'hex'); eccrypto.encrypt(pubkey, Buffer(JSON.stringify({ \"TransactionDetails\": { \"Amount\": 100, \"Currency\": \"RUB\" }, \"PaymentMethod\": \"Card\", \"PaymentDetails\": { \"CardholderName\":\"TEST CARD\", \"CardNumber\":\"4111111111111111\", \"CVC\":\"123\", \"ExpMonth\":\"12\", \"ExpYear\":\"24\" }, \"MessageExpiration\": Date.now()+86400000, //24 hours }))) .then((encrypted) => { var sendData = { \"signedMessage\": JSON.stringify( { \"encryptedMessage\": encrypted.ciphertext.toString(\"base64\"), \"ephemeralPublicKey\": encrypted.ephemPublicKey.toString(\"base64\") } ), \"iv\": encrypted.iv.toString(\"base64\"), \"tag\": encrypted.mac.toString(\"base64\") }; var finalString = window.btoa(JSON.stringify(sendData)); console.log(finalString) } ) ` # Аутентификация покупателя Если требуется 3-D Secure аутентификация (получен статус wait_for_3ds), в ответе на запрос статуса добавляется объект StateDetails с полями: AcsUrl — URL сервера аутентификации 3-D Secure, для перенаправления на страницу подтверждения от эмитента; PaReq — зашифрованный запрос на аутентификацию 3-D Secure; MD - уникальный идентификатор транзакции. Для дополнительной проверки у эмитента выполните POST-запрос на URL сервера аутентификации 3-D Secure с параметрами: TermUrl — URL перенаправления покупателя после успешной аутентификации 3-D Secure; MD — уникальный идентификатор транзакции; PaReq — значение параметра pareq из ответа на платежный запрос. Далее информация о покупателе передаётся в платежную систему карты. Банк-эмитент либо предоставляет разрешение на списание средств без аутентификации (frictionless flow), либо принимает решение о необходимости аутентификации с помощью одноразового пароля (challenge flow). После прохождения проверки покупатель перенаправляется по адресу TermUrl с зашифрованным результатом проверки в параметре PaRes. При использовании карт, поддерживающих протокол 3-D Secure 2.0, механизм аутентификации остается тот же, за исключением необходимости выполнения метода Confirm в случае frictionless flow. Метод Confirm следует выполнять только при получении PaRes на TermUrl, также рекомендуется запросить статус транзакции, чтобы определить необходимость выполнения Confirm.

This PHP package is automatically generated by the Swagger Codegen project:

  • API version: v3-oas3
  • Build package: io.swagger.codegen.v3.generators.php.PhpClientCodegen

Requirements

PHP 5.5 and later

Installation & Usage

Composer

To install the bindings via Composer, add the following to composer.json:

{
  "repositories": [
    {
      "type": "git",
      "url": "https://github.com/git_user_id/git_repo_id.git"
    }
  ],
  "require": {
    "git_user_id/git_repo_id": "*@dev"
  }
}

Then run composer install

Manual Installation

Download the files and include autoload.php:

    require_once('/path/to/SwaggerClient-php/vendor/autoload.php');

Tests

To run the unit tests:

composer install
./vendor/bin/phpunit

Getting Started

Please follow the installation procedure and then run the following:

<?php
require_once(__DIR__ . '/vendor/autoload.php');

$apiInstance = new Swagger\Client\Api\OperationsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$x_site_id = "x_site_id_example"; // string | Идентификатор ТСП
$x_request_id = "x_request_id_example"; // string | Уникальный идентификатор запроса ТСП.
$x_request_signature = "x_request_signature_example"; // string | Request signature. [description](#section/Request-signature)

try {
    $result = $apiInstance->balance($x_site_id, $x_request_id, $x_request_signature);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling OperationsApi->balance: ', $e->getMessage(), PHP_EOL;
}

$apiInstance = new Swagger\Client\Api\OperationsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$body = new \Swagger\Client\Model\NewPaymentRequest(); // \Swagger\Client\Model\NewPaymentRequest | 
$x_site_id = "x_site_id_example"; // string | Идентификатор ТСП
$x_request_id = "x_request_id_example"; // string | Уникальный идентификатор запроса ТСП.
$x_request_signature = "x_request_signature_example"; // string | Request signature. [description](#section/Request-signature)

try {
    $result = $apiInstance->block($body, $x_site_id, $x_request_id, $x_request_signature);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling OperationsApi->block: ', $e->getMessage(), PHP_EOL;
}

$apiInstance = new Swagger\Client\Api\OperationsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$body = new \Swagger\Client\Model\PaymentCancelRequest(); // \Swagger\Client\Model\PaymentCancelRequest | 
$x_site_id = "x_site_id_example"; // string | Идентификатор ТСП
$x_request_id = "x_request_id_example"; // string | Уникальный идентификатор запроса ТСП.
$x_request_signature = "x_request_signature_example"; // string | Request signature. [description](#section/Request-signature)

try {
    $result = $apiInstance->cancel($body, $x_site_id, $x_request_id, $x_request_signature);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling OperationsApi->cancel: ', $e->getMessage(), PHP_EOL;
}

$apiInstance = new Swagger\Client\Api\OperationsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$body = new \Swagger\Client\Model\PaymentChargeRequest(); // \Swagger\Client\Model\PaymentChargeRequest | 
$x_site_id = "x_site_id_example"; // string | Идентификатор ТСП
$x_request_id = "x_request_id_example"; // string | Уникальный идентификатор запроса ТСП.
$x_request_signature = "x_request_signature_example"; // string | Request signature. [description](#section/Request-signature)

try {
    $result = $apiInstance->charge($body, $x_site_id, $x_request_id, $x_request_signature);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling OperationsApi->charge: ', $e->getMessage(), PHP_EOL;
}

$apiInstance = new Swagger\Client\Api\OperationsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$body = new \Swagger\Client\Model\ConfirmationRequest(); // \Swagger\Client\Model\ConfirmationRequest | 
$x_site_id = "x_site_id_example"; // string | Идентификатор ТСП
$x_request_id = "x_request_id_example"; // string | Уникальный идентификатор запроса ТСП.
$x_request_signature = "x_request_signature_example"; // string | Request signature. [description](#section/Request-signature)

try {
    $result = $apiInstance->onfirm($body, $x_site_id, $x_request_id, $x_request_signature);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling OperationsApi->onfirm: ', $e->getMessage(), PHP_EOL;
}

$apiInstance = new Swagger\Client\Api\OperationsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$order_id = "order_id_example"; // string | 
$x_site_id = "x_site_id_example"; // string | Идентификатор ТСП
$x_request_id = "x_request_id_example"; // string | Уникальный идентификатор запроса ТСП.
$x_request_signature = "x_request_signature_example"; // string | Request signature. [description](#section/Request-signature)

try {
    $result = $apiInstance->ordersOrderId($order_id, $x_site_id, $x_request_id, $x_request_signature);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling OperationsApi->ordersOrderId: ', $e->getMessage(), PHP_EOL;
}

$apiInstance = new Swagger\Client\Api\OperationsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$body = new \Swagger\Client\Model\NewPaymentRequest(); // \Swagger\Client\Model\NewPaymentRequest | 
$x_site_id = "x_site_id_example"; // string | Идентификатор ТСП
$x_request_id = "x_request_id_example"; // string | Уникальный идентификатор запроса ТСП.
$x_request_signature = "x_request_signature_example"; // string | Request signature. [description](#section/Request-signature)

try {
    $result = $apiInstance->pay($body, $x_site_id, $x_request_id, $x_request_signature);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling OperationsApi->pay: ', $e->getMessage(), PHP_EOL;
}

$apiInstance = new Swagger\Client\Api\OperationsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$body = new \Swagger\Client\Model\NewPayoutRequest(); // \Swagger\Client\Model\NewPayoutRequest | 
$x_site_id = "x_site_id_example"; // string | Идентификатор ТСП
$x_request_id = "x_request_id_example"; // string | Уникальный идентификатор запроса ТСП.
$x_request_signature = "x_request_signature_example"; // string | Request signature. [description](#section/Request-signature)

try {
    $result = $apiInstance->payout($body, $x_site_id, $x_request_id, $x_request_signature);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling OperationsApi->payout: ', $e->getMessage(), PHP_EOL;
}

$apiInstance = new Swagger\Client\Api\OperationsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$body = new \Swagger\Client\Model\NewPaymentRequest(); // \Swagger\Client\Model\NewPaymentRequest | 
$x_site_id = "x_site_id_example"; // string | Идентификатор ТСП
$x_request_id = "x_request_id_example"; // string | Уникальный идентификатор запроса ТСП.

try {
    $result = $apiInstance->publicPay($body, $x_site_id, $x_request_id);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling OperationsApi->publicPay: ', $e->getMessage(), PHP_EOL;
}

$apiInstance = new Swagger\Client\Api\OperationsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$body = new \Swagger\Client\Model\RebillRequest(); // \Swagger\Client\Model\RebillRequest | 
$x_site_id = "x_site_id_example"; // string | Идентификатор ТСП
$x_request_id = "x_request_id_example"; // string | Уникальный идентификатор запроса ТСП.
$x_request_signature = "x_request_signature_example"; // string | Request signature. [description](#section/Request-signature)

try {
    $result = $apiInstance->rebill($body, $x_site_id, $x_request_id, $x_request_signature);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling OperationsApi->rebill: ', $e->getMessage(), PHP_EOL;
}

$apiInstance = new Swagger\Client\Api\OperationsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$body = new \Swagger\Client\Model\NewRecurringRequest(); // \Swagger\Client\Model\NewRecurringRequest | 
$x_site_id = "x_site_id_example"; // string | Идентификатор ТСП
$x_request_id = "x_request_id_example"; // string | Уникальный идентификатор запроса ТСП.
$x_request_signature = "x_request_signature_example"; // string | Request signature. [description](#section/Request-signature)

try {
    $result = $apiInstance->recurring($body, $x_site_id, $x_request_id, $x_request_signature);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling OperationsApi->recurring: ', $e->getMessage(), PHP_EOL;
}

$apiInstance = new Swagger\Client\Api\OperationsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$body = new \Swagger\Client\Model\NewRecurringChangeRequest(); // \Swagger\Client\Model\NewRecurringChangeRequest | 
$x_site_id = "x_site_id_example"; // string | Идентификатор ТСП
$x_request_id = "x_request_id_example"; // string | Уникальный идентификатор запроса ТСП.
$x_request_signature = "x_request_signature_example"; // string | Request signature. [description](#section/Request-signature)

try {
    $result = $apiInstance->recurringChange($body, $x_site_id, $x_request_id, $x_request_signature);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling OperationsApi->recurringChange: ', $e->getMessage(), PHP_EOL;
}

$apiInstance = new Swagger\Client\Api\OperationsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$body = new \Swagger\Client\Model\RecurringSearchBody(); // \Swagger\Client\Model\RecurringSearchBody | 
$x_site_id = "x_site_id_example"; // string | Идентификатор ТСП
$x_request_id = "x_request_id_example"; // string | Уникальный идентификатор запроса ТСП.
$x_request_signature = "x_request_signature_example"; // string | Request signature. [description](#section/Request-signature)

try {
    $result = $apiInstance->recurringSearch($body, $x_site_id, $x_request_id, $x_request_signature);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling OperationsApi->recurringSearch: ', $e->getMessage(), PHP_EOL;
}

$apiInstance = new Swagger\Client\Api\OperationsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$body = new \Swagger\Client\Model\NewRecurringUnsubscribeRequest(); // \Swagger\Client\Model\NewRecurringUnsubscribeRequest | 
$x_site_id = "x_site_id_example"; // string | Идентификатор ТСП
$x_request_id = "x_request_id_example"; // string | Уникальный идентификатор запроса ТСП.
$x_request_signature = "x_request_signature_example"; // string | Request signature. [description](#section/Request-signature)

try {
    $result = $apiInstance->recurringUnsubscribe($body, $x_site_id, $x_request_id, $x_request_signature);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling OperationsApi->recurringUnsubscribe: ', $e->getMessage(), PHP_EOL;
}

$apiInstance = new Swagger\Client\Api\OperationsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$body = new \Swagger\Client\Model\RefundRequest(); // \Swagger\Client\Model\RefundRequest | 
$x_site_id = "x_site_id_example"; // string | Идентификатор ТСП
$x_request_id = "x_request_id_example"; // string | Уникальный идентификатор запроса ТСП.
$x_request_signature = "x_request_signature_example"; // string | Request signature. [description](#section/Request-signature)

try {
    $result = $apiInstance->refund($body, $x_site_id, $x_request_id, $x_request_signature);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling OperationsApi->refund: ', $e->getMessage(), PHP_EOL;
}

$apiInstance = new Swagger\Client\Api\OperationsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$transaction_id = "transaction_id_example"; // string | 
$x_site_id = "x_site_id_example"; // string | Идентификатор ТСП
$x_request_id = "x_request_id_example"; // string | Уникальный идентификатор запроса ТСП.
$x_request_signature = "x_request_signature_example"; // string | Сигнатура запроса [description](#section/Request-signature) (при типе авторизации public вместо секретного ключа сервиса используется секретный ключ транзакции)
$x_request_auth = "x_request_auth_example"; // string | Тип авторизации

try {
    $result = $apiInstance->transactionstransactionId($transaction_id, $x_site_id, $x_request_id, $x_request_signature, $x_request_auth);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling OperationsApi->transactionstransactionId: ', $e->getMessage(), PHP_EOL;
}

$apiInstance = new Swagger\Client\Api\OperationsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$body = new \Swagger\Client\Model\UnsubscribeRequest(); // \Swagger\Client\Model\UnsubscribeRequest | 
$x_site_id = "x_site_id_example"; // string | Идентификатор ТСП
$x_request_id = "x_request_id_example"; // string | Уникальный идентификатор запроса ТСП.
$x_request_signature = "x_request_signature_example"; // string | Request signature. [description](#section/Request-signature)

try {
    $result = $apiInstance->unsubscribe($body, $x_site_id, $x_request_id, $x_request_signature);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling OperationsApi->unsubscribe: ', $e->getMessage(), PHP_EOL;
}
?>

Documentation for API Endpoints

All URIs are relative to https://gw.payselection.com/

ClassMethodHTTP requestDescription
OperationsApibalanceGET /balance
OperationsApiblockPOST /payments/requests/block
OperationsApicancelPOST /payments/cancellation
OperationsApichargePOST /payments/charge
OperationsApionfirmPOST /payments/confirmation
OperationsApiordersOrderIdGET /orders/{OrderId}
OperationsApipayPOST /payments/requests/single
OperationsApipayoutPOST /payouts
OperationsApipublicPayPOST /payments/requests/public
OperationsApirebillPOST /payments/requests/rebill
OperationsApirecurringPOST /payments/recurring
OperationsApirecurringChangePOST /payments/recurring/change
OperationsApirecurringSearchPOST /payments/recurring/search
OperationsApirecurringUnsubscribePOST /payments/recurring/unsubscribe
OperationsApirefundPOST /payments/refund
OperationsApitransactionstransactionIdGET /transactions/{transactionId}
OperationsApiunsubscribePOST /payments/unsubscribe
WebhooksApiwebhooksPOST /webhooks
Webhooks_ApiwebhooksRecurringPOST /webhooks_recurring
WebpayApicreatePOST /webpayments/create

Documentation For Models

Documentation For Authorization

All endpoints do not require authorization.

Author

support@payselection.com