Get a list of REST handlers for the payment system sale.paysystem.handler.list
Scope:
pay_systemWho can execute the method: CRM administrator (permission "Allow to change settings")
The method returns a list of REST handlers for the payment system.
No parameters.
Code Examples
How to Use Examples in Documentation
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/sale.paysystem.handler.list
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{}' \
https://**put_your_bitrix24_address**/rest/sale.paysystem.handler.list?auth=**put_access_token_here**
// callListMethod: Retrieves all data at once. Use only for small selections (< 1000 items) due to high memory usage.
try {
const response = await $b24.callListMethod(
'sale.paysystem.handler.list',
{},
(progress) => { console.log('Progress:', progress) }
)
const items = response.getData() || []
for (const entity of items) { console.log('Entity:', entity) }
} catch (error) {
console.error('Request failed', error)
}
// fetchListMethod: Retrieves data in parts using an iterator. Use it for large data volumes to optimize memory usage.
try {
const generator = $b24.fetchListMethod('sale.paysystem.handler.list', {}, 'ID')
for await (const page of generator) {
for (const entity of page) { console.log('Entity:', entity) }
}
} catch (error) {
console.error('Request failed', error)
}
// callMethod: Manually controls pagination through the start parameter. Use it for precise control of request batches. For large datasets, it is less efficient than fetchListMethod.
try {
const response = await $b24.callMethod('sale.paysystem.handler.list', {}, 0)
const result = response.getData().result || []
for (const entity of result) { console.log('Entity:', entity) }
} catch (error) {
console.error('Request failed', error)
}
try {
$response = $b24Service
->core
->call(
'sale.paysystem.handler.list',
[]
);
$result = $response
->getResponseData()
->getResult();
if ($result->error()) {
error_log($result->error());
} else {
echo 'Success: ' . print_r($result->data(), true);
}
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error fetching payment system handlers: ' . $e->getMessage();
}
BX24.callMethod(
"sale.paysystem.handler.list",
{},
function(result)
{
if(result.error())
console.error(result.error());
else
console.dir(result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'sale.paysystem.handler.list',
[]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
Response Handling
HTTP status: 200
{
"result": [
{
"ID": "1",
"NAME": "REST Handler",
"CODE": "resthandlercodedoc",
"SORT": "100",
"SETTINGS": {
"CURRENCY": [
"USD"
],
"FORM_DATA": {
"ACTION_URI": "http://example.com/payment_form.php",
"METHOD": "POST",
"FIELDS": {
"phone": {
"VISIBLE": "Y",
"CODE": {
"NAME": "Phone Number",
"TYPE": "STRING"
}
},
"paymentId": {
"CODE": "PAYMENT_ID",
"VISIBLE": "Y"
},
"serviceid": {
"CODE": "REST_SERVICE_ID"
}
}
},
"CODES": {
"REST_SERVICE_ID": {
"NAME": "Store Number",
"DESCRIPTION": "Store Number",
"SORT": "100"
},
"REST_SERVICE_KEY": {
"NAME": "Secret Key",
"DESCRIPTION": "Secret Key",
"SORT": "300"
},
"PAYMENT_ID": {
"NAME": "Payment Number",
"SORT": "400",
"GROUP": "PAYMENT",
"DEFAULT": {
"PROVIDER_KEY": "PAYMENT",
"PROVIDER_VALUE": "ACCOUNT_NUMBER"
}
},
"PS_CHANGE_STATUS_PAY": {
"NAME": "Automatic Payment Status Change",
"SORT": "700",
"INPUT": {
"TYPE": "Y/N"
}
},
"PAYMENT_BUYER_ID": {
"NAME": "Buyer Code",
"SORT": "1000",
"GROUP": "PAYMENT",
"DEFAULT": {
"PROVIDER_KEY": "ORDER",
"PROVIDER_VALUE": "USER_ID"
}
},
"PS_WORK_MODE": {
"NAME": "Payment System Operating Mode",
"SORT": "1100",
"INPUT": {
"TYPE": "ENUM",
"OPTIONS": {
"TEST": "Test",
"REGULAR": "Live"
}
}
}
}
}
}
],
"time": {
"start": 1712135335.026931,
"finish": 1712135335.407762,
"duration": 0.3808310031890869,
"processing": 0.0336611270904541,
"date_start": "2024-04-03T11:08:55+02:00",
"date_finish": "2024-04-03T11:08:55+02:00",
"operating_reset_at": 1705765533,
"operating": 3.3076241016387939
}
}
Returned Data
|
Name |
Description |
|
result |
List of registered REST handlers for payment systems |
|
time |
Information about the request execution time |
Error Handling
HTTP status: 403
{
"error": "ACCESS_DENIED",
"error_description": "Access denied!"
}
|
Name |
Description |
|
error |
String error code. It may consist of digits, Latin letters, and underscores |
|
error_description |
Textual description of the error. The description is not intended to be shown to the end user in its raw form |
Possible Error Codes
|
Code |
Description |
Status |
|
|
Access denied. The application is trying to modify a handler added by another application, or insufficient rights to update the handler |
403 |
Statuses and System Error Codes
HTTP Status: 20x, 40x, 50x
The errors described below may occur when calling any method.
|
Status |
Code |
Description |
|
|
|
An internal server error has occurred, please contact the server administrator or Bitrix24 technical support |
|
|
|
An internal server error has occurred, please contact the server administrator or Bitrix24 technical support |
|
|
|
The request intensity limit has been exceeded |
|
|
|
The current method is not allowed to be called using batch |
|
|
|
The maximum length of parameters passed to the batch method has been exceeded |
|
|
|
Invalid access token or webhook code |
|
|
|
The methods must be called using the HTTPS protocol |
|
|
|
The REST API is blocked due to overload. This is a manual individual block, to remove it you need to contact Bitrix24 technical support |
|
|
|
The REST API is available only on commercial plans |
|
|
|
The user whose access token or webhook was used to call the method lacks permissions |
|
|
|
The manifest is not available |
|
|
|
The request requires higher privileges than those provided by the webhook token |
|
|
|
The provided access token has expired |
|
|
|
The user does not have access to the application. This means that the application is installed, but the account administrator has allowed access to this application only for specific users |
|
|
|
The public part of the site is closed. To open the public part of the site on an on-premise installation, disable the option "Temporary closure of the public part of the site". Path to the setting: Desktop > Settings > Product Settings > Module Settings > Main Module > Temporary closure of the public part of the site |
Continue Learning
- Add REST handler for payment system sale.paysystem.handler.add
- Update REST handler for payment system sale.paysystem.handler.update
- Delete REST handler for payment system sale.paysystem.handler.delete
- Add Payment System sale.paysystem.add
- Update Payment System sale.paysystem.update
- Get a list of payment systems sale.paysystem.list
- Get Payment System Settings sale.paysystem.settings.get
- Update Payment System Settings sale.paysystem.settings.update
- Delete Payment System sale.paysystem.delete
- Pay for an order through a specific payment system sale.paysystem.pay.payment
- Pay an invoice through a specific payment system sale.paysystem.pay.invoice
- Get Payment System Settings for Specific Payment sale.paysystem.settings.payment.get
- Get payment system settings for a specific invoice sale.paysystem.settings.invoice.get