Метод запросов | Формат тела запроса |
---|---|
POST | JSON |
Название | Значение | Описание |
---|---|---|
Content-type | application/json | Формат тела запроса |
Request-Id | unique string | Уникальная строка для каждого запроса. В случае дубля, система ответит ошибкой. Рекомендуется использовать UUID V4. |
{
"data": [
"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"
],
"token": "merchant-token"
}
Название | Описание |
---|---|
data | Массив, содержащий зашифрованное тело запроса публичным ключом. Процесс шифрования описан ниже. |
token | Уникальный токен, которые выдается мерчанту для использования JS SDK |
// Пример отправки запроса:
$array = [
'type' => 'bank_card',
'options' => [
'card_number' => '4405645000001234',
'card_holder_name' => 'NAME',
'card_exp_month' => '02',
'card_exp_year' => '25',
]
];
$json = json_encode($array); // Переводим данные в json
$base64 = base64_encode($json); // Кодируем в Base64
$chunks = str_split($base64, 200); // Разбиваем на части по 200 символов
$result = [];
foreach ($chunks as $chunk) {
openssl_public_encrypt($chunk, $encrypted, $publicKey); // Шифруем публичным ключом
$result[] = base64_encode($encrypted); // Снова кодируем в base64
}
print_r($result);
{
"type": "bank_card",
"options": {
"card_number": "4405645000001234",
"card_holder_name": "NAME",
"card_exp_month": "02",
"card_exp_year": "25"
}
}
Название поля | Тип поля | Описание |
---|---|---|
type | string | Тип шифруемых данных. Сейчас доступен только bank_card |
options | object | Объект, содержащий информацию о карте |
options.card_number | string | Номер карты |
options.card_holder_name | string | Имя держателя карты |
options.card_exp_month | string | Месяц истечения карты |
options.card_exp_year | string | Год истечения карты |
{
"status": "success",
"data": {
"token": "eyJhbGciOiJSU0ExXzUiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0.LyIIVulOXIj3tV_ttHigOsCFEhjy2_CZRGI8T7jx8QqtkpgI9gu52aBgUFZ1NHMVYihxcl6P4m5vC2BP88oWGDYtTLW4SzJkCd27LXqMMYtZo9XretbodQS-MF6k5lAeTqfC_lILWXl0eGmoYg5tLXStiVsiTHjVksu9VqSgp8PxBdR-RMZ5gDJ0dkEnHghv4_WK8KudcXU6MiabxtqYPACoy_NZ9rR2zic0tSTW2Ev8e-k75kgwWLNSTxw7QvrrtOfmOGW5_jWssjaK31FZnvrjhpJ8snmMxBzXLfj98GvwjEj9a96sDyK3bApas9e6SLoSxpH9mGgrBA_H7_wPkg.dyHVsu7o9zlWTOG7_MIMTQ.RYrLoCxYDeOSoxHG4XlXfKDlQPZACMZro9poUxFUkyrfDnGNEv2BIQm9WFkIaR4PXf-G8cD1L44hgZNjZ-v5o3kS0ABiFtaEWL-QE9Zl8KutPFMPU_1uIxFbcfNwgO4QX2zJxdYX2Bjm2nDUml3oUg.vKd5QUUKWiKwhA4FSh5DFQ"
}
}
Название поля | Тип поля | Описание |
---|---|---|
status | string | Статус обработки. Может быть success или error |
data.token | string | Результат токенизации данных. Используется в дальнешем для проведения платежей. |
Content-Type | Value |
---|---|
Request-Id | {{request_id}} |
Content-Type | application/json |
{
"order_id": "my-order",
"auto_clearing": 1,
"amount": 20,
"currency": "KZT",
"description": "Описание заказа",
"test": 0,
"options": {
"custom_params": {},
"user": {
"email": "string",
"phone": "string"
}
},
"transaction": {
"type": "tokenized_card",
"options": {
"token": "eyJhbGciOiJSU0ExXzUiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0.eTYB5I4ttwS6CM1oawgYRf9aLfTFzcEK3mKjJ5AMNCM69SdWysQdjrWVTh3Mh7BQtJYypmnbYNZb5SdSkvMawqnnEaEjS4UFFLM_bXYa8Eut3ZX4tXL-rZfouzUdpjatXsMvcxOixGiQm2UP6pEo7tAOx_t5h2_y8vk9so8garyTBbOQqF3MKDGShRLQUyNqcYzg1qezE_OZiFnpS1uU_x6La2XqqgkejIfiS2f3lc4DkD5aygM_yGwDcQMeGRdgBI_rg23q71zbOxuFOXoXVRdIdx2Y_V_tZ3JnXX1KkZSqdUNL2-XMGCC4Nnk2A3W1YQ_Ld0gN02b4Om43Nmpr9Q.xcXMT0eeva-2UnX3zNK1KQ._thk7WP3-pcIh_XuS_tnUkCYcNsnw0-yUbzx1rsq182jy1SH0PDaM_54KYfsqzgsemplO5U2tzPivx_k9VzoLwFFxjHfIMmVc3SFleyVIIKO0xY0KsU7fzNf4_BKwvXR6Ur4Q3E1g8NE4sWQJpy6tQ.vKqh65_qZS9-G2JmxYLErQ",
"card_cvv": 223
}
}
}
Название поля | Тип поля | Описание |
---|---|---|
order_id | string | Уникальный номер заказа в системе продавца |
auto_clearing | int | 1 - проводить клиринг автоматически, 0 - не проводить клиринг автоматически. Если не передать, значение берется из настроек мерчанта. |
amount | float | Сумма платежа |
currency | string | Валюта платежа |
description | string | Описание платежа |
test | int | 1 - тестовый режим, 0 - боевой режим. |
options.custom_params | object | Дополнительные параметры, которые будут переданы на Result Url мерчанту. |
user.email | string | Email клиента |
user.phone | string | Номер телефона клиента |
transaction.type | string | Тип передаваемых данных для списания. На данный момент поддерживает bank_card |
transaction.options.token | string | Токенизированная карта |
transaction.options.card_cvv | string | CVV/CVC карты |
{
"status": "success",
"data": {
"3ds": {
"acsurl": "some_asc_url",
"frame_url": "",
"md": "MD",
"pareq": "PaReq",
"version": 1
},
"payment_id": "97397805",
"payment_status": "need_confirm"
}
}
Название поля | Тип поля | Описание |
---|---|---|
status | string | Статус обработки. Может быть success или error |
data.3ds.acsurl | string | Ссылка для редиректа клиента в случае если мерчант сам проводит 3DS. |
data.3ds.frame_url | string | Ссылка для редиректа, если 3DS проводится средствами JS SDK. |
data.3ds.md | string | Параметр MD |
data.3ds.pareq | string | Параметр PaReq |
data.3ds.version | int | Версия 3DS |
data.payment_id | string | ID платежа в системе Freedom Pay |
data.payment_status | string | Статус платежа |
<form name="3dsForm" action="data.3ds.acsurl" method="POST">
<input type="hidden" name="PaReq" value="data.3ds.pareq">
<input type="hidden" name="MD" value="data.3ds.md">
<input type="hidden" name="TermUrl" value="https://mysite.com/myTermUrl">
</form>
<script>
document.getElementById('3dsForm').submit();
</script>
Content-Type | Value |
---|---|
Request-Id | {{request_id}} |
Content-Type | application/json |
{
"payment_id": 0,
"pares": "string",
"md": "string"
}
Название поля | Тип поля | Описание |
---|---|---|
payment_id | int | ID платежа в системе FreedomPay |
pares | string | Параметр PaRes |
md | string | Параметр MD |
{
"status": "success",
"data": {
"auth_code": "123456",
"payment_id": "123456",
"payment_status": "success"
}
}
Название поля | Тип поля | Описание |
---|---|---|
status | string | Статус обработки. Может быть success или error |
data.auth_code | string | Код авторизации платежа от банка |
data.payment_id | string | ID платежа в системе Freedom Pay |
data.payment_status | string | Статус платежа |
Content-Type | Value |
---|---|
Request-Id | {{request_id}} |
Content-Type | application/json |
{
"order_id": "merchant_order_id",
"payment_id": 123456
}
Название поля | Тип поля | Описание |
---|---|---|
order_id | string | Номер платежа в системе мерчанта. Обязателен, если не передан payment_id |
payment_id | int | ID платежа в системе Freedom Pay. Обязателен, если не передан order_id |
{
"status": "success",
"data": {
"order_id": "merchant_order_id",
"payment_id": "123456",
"payment_status": "success"
}
}
Название поля | Тип поля | Описание |
---|---|---|
status | string | Статус обработки. Может быть success или error |
data.order_id | string | Номер платежа в системе мерчанта. |
data.payment_id | string | ID платежа в системе Freedom Pay |
data.payment_status | string | Статус платежа |
Content-Type | Value |
---|---|
Request-Id | {{request_id}} |
Content-Type | application/json |
Значение | Описание |
---|---|
success | Платеж успешно проведен |
need_confirm | Требуется подтверждение платежа. Например в случае прохождения 3DS |
error | Ошибка проведения платежа |
process | Платеж в процессе проведения |
Код ошибки | Описание ошибки |
---|---|
9992 | Вызываемый метод не активирован для магазина. |
9993 | Не найден/не указан success/error/post-link URL. |
9994 | Запрошенное действие отключено в настройках магазина |
9995 | Платеж в тестовом режиме |
9996 | Отсутствует или не действует контракт с магазином |
9997 | Неверный номер магазина |
9998 | Некорректная подпись запроса |
9999 | Ошибка системы |
10000 | Ошибка оплаты. Сервис недоступен. Повторите попытку позже. |
10001 | Ошибка оплаты. Обратитесь в банк выпустивший карту |
10003 | Превышено число попыток ввода проверочного кода |
10004 | 3DSecure не введен или введен некорректно |
10005 | Неверно указаны карточные данные |
10006 | Превышен лимит частоты оплат |
10007 | Отказано по причине нарушения безопасности карточных данных. |
10008 | Неверно введены данные карты. Попробуйте повторить оплату. |
10009 | Недостаточно средств |
10010 | Ограничения на карте. Свяжитесь с банком выпустившим карту |
10011 | Платеж успешно завершен |
10012 | Невозможно отменить транзакцию. Обратитесь в магазин |
10013 | Карта данной страны не разрешена для проведения транзакции |
10014 | Превышен временной интервал. Свяжитесь с магазином |
10015 | Ошибка оплаты. Транзакция уже совершена |
10016 | Ошибка проведения оплаты. Обратитесь в службу поддержки сайта. |
1001 | Срок действия карты истек.Просим оплатить с другой карты |
10018 | Время жизни платежа истекло, необходимо создать новый |
10019 | Операция не выполнена. Попробуйте использовать другую карту |
10020 | Сумма возврата превышает сумму оплаты. Обратитесь в магазин |
10021 | Недействительная транзакция - повторить попытку |
10025 | Ошибка на стороне Международной Платежной системы |
10026 | Ошибка выплаты. Обратитесь в Магазин |
10028 | Превышен лимит по частоте оплаты. Свяжитесь с магазином |
10029 | В данный момент выплаты на IBAN не работают |
10030 | Ошибка минимальной суммы. Просим обратиться в Магазин |
10031 | Некорректный номер телефона |
10032 | Неправильный/несуществующий номер карты |
11000 | Ошибка оплаты, сервис недоступен. Обратитесь в Службу поддержки |
11001 | Операция неуспешна. Обратитесь в службу поддержки оператора. |
11002 | Введен неверный код SMS. Повторите еще раз |
11003 | На балансе Вашего номера образовалась задолженность |
11004 | Введен неверный или несуществующий номер |
11005 | Сумма введена некорректно |
11006 | Недостаточно средств для проведения операции |
11007 | Вы достигли лимита количества попыток кода подтверждения. |
11008 | Срок действия кода подтверждения истек. Повторите операцию |
11009 | Операция отклонена. Обратитесь в службу поддержки оператора |
11010 | Вы превысили количество неуспешных попыток ввода SMS |
11011 | Операция неуспешна, на номере имеются ограничения |
11012 | Вы достигли лимита на количество платежей в сутки. |
11013 | Операция неуспешна. Вы пытаетесь повторно провести операцию |
11014 | Непредвиденная ошибка. Попробуйте позднее |
11015 | Вы превысили единовременный лимит в размере 50МРП |
11016 | Минимальная сумма платежа 1000тг |
11017 | Платеж уже отменен |
11018 | Платеж уже возвращен |
11019 | Вы превысили месячный лимит в размере 1000МРП |
11020 | Дневной лимит по количеству плажетей составляет 30 платежей |
12000 | Ошибка ЦУС |
10033 | Ошибка отмены платежа, отмена уже была проведена ранее. |
10034 | Ошибка возврата платежа, по платежу необходимо провести клиринг |
10035 | Ошибка платежа, не успешные платежи не могут пройти клиринг |
10036 | Ошибка клиринга платежа, клиринг уже был проведен ранее |
10022 | Сумма превышает допустимый лимит на карте. |
10037 | Карта временно заблокирована, обратитесь в банк |
99999 | Неизвестная ошибка платежной системы |
11021 | Не удалось определить оператора или номер введён некорректно |
11022 | Параметры платежа нарушают ограничения. |
11023 | Платежи с номеров этого мобильного оператора не разрешены. |
10038 | Карта заблокирована и подлежит удержанию, обратитесь в банк |
10039 | Некорректная операция, обратитесь в банк |
10040 | Неверный номер счета/карты, обратитесь в банк |
10041 | Счет/карта закрыта, обратитесь в банк |
9013 | Ошибка отмены платежа, не успешные платежи нельзя отменить. |
10023 | Превышено количество попыток ввода PIN-кода |
10024 | Неподтвержденный PIN, обратитесь в банк |
11024 | Отказано по причине нарушения безопасности. Обратитесь в банк |
11026 | По платежу имеется ChargeBack. Возврат невозможен. |
11025 | Необходимо провести клиринг для возврата, или отменить платеж. |
11027 | Ошибка оплаты. Географические ограничения по банковской карте. |
11028 | Карта временно заблокирована. Повторите запрос после 30 дней. |
11036 | Карта заблокирована на 30 дней, воспользуйтесь другой картой. |
11049 | Код подтверждения 3DS не введен |
11037 | 3DSecure не введен |
11050 | Не пройдена проверка кода PIN владельца карты в системе VISA. |
11051 | Блокировка по лимиту |
11052 | Общая ошибка |
11053 | Банк-эмитент не смог провести авторизацию 3dsecure-карты |
8888 | Недостаточно средств! Пополните выплатной баланс |
8889 | Ошибка прохождения 3D-Secure |
11054 | С момента проведения данной транзакции прошло более 180 дней. |
9991 | Неуникальный идентификатор заказа |
11030 | Абоненту необходимо пройти идентификацию |
11031 | Максимальная сумма платежа 15000 сом |
11032 | Минимальная сумма платежа 5 сом |
9990 | Карта уже сохранена. Введите другую карту на предыдущем шаге |
9909 | Транзакция не найдена |
9403 | Неверная валидация |
9908 | Платеж с данным order_id уже существует |
10042 | Карта не поддерживает 3DS. Обратитесь в банк выпустивший карту |
9901 | Срок действия карты закончился |
9073 | Выберите другой метод платежа, либо обратитесь в магазин |
11055 | Попробуйте другую карту. Ошибка карты или есть гео-ограничения |
9090 | Сумма выплаты превышает предельную (требуется идентификация) |
11089 | Карты данной платёжной системы не поддерживаются |
11085 | Требуется заполнить схему pg_split_refunds |
11086 | Не установлены параметры сплитования |
11076 | Неверный id продавца или продавец заблокирован |
11064 | Неверный ИИН/БИН |
11062 | Неверный номер карты отправителя |
11063 | Неверный номер карты получателя |
11069 | Неверный статус платежа |
11067 | Неверный тип запроса |
11065 | Некорректный CVC/CVV |
11066 | Некорректный XML |
11071 | Неправильный идентификатор первого платежа |
11070 | Неправильный идентификатор реккурентного платежа |
11084 | Сумма возврата не равна сумме частичных возвратов |
11072 | Ошибка отмены платежа, был проведен клиринг |
11080 | Параметр pg_split_refunds заполнен для несплитованного платежа |
11068 | Платеж не найден |
11079 | Необходимо прислать скорректированную схему сплитования |
11082 | Сумма возврата позиции слишком большая |
11078 | Сумма не должна превышать сумму платежа минус комиссия |
11083 | Сумма возмещения позиции слишком большая |
11077 | Сумма оплат покупателем по всем позициям не равна сумме платежа |
11081 | Указан неверный идентификатор позиции |
11087 | Заявка аннулирована провайдером |
11061 | Неверный номер/идентификатор платежа |
11088 | Отказ со стороны банка провайдера |
11074 | Ошибка клиринга платежа, сумма для клиринга превышена |
11060 | Ошибка настройки магазина, обратитесь в поддержку |
10043 | По карте не подключено SMS-информирование. Обратитесь в банк. |
10040 | Вы не можете установить скидку на комиссию |
10041 | Вы должны выбрать один тип скидки |
10042 | Вы должны выбрать тип скидки |
11090 | Ошибка клиринга платежа, платеж был ранее отменен. |
9102 | Ошибка возврата платежа, возврат находится в процессе выполнения |
9103 | Ошибка отмены платежа, отмена находится в процессе выполнения |
9043 | Ошибка файла конфигурации терминала платежной системы. |
100066 | Превышен лимит частоты операций |
10089 | Выплата на указанную карту в указанной валюте недоступна. |
10088 | Перевод с указанной карты и в указанной валюте недоступен. |
10110 | Ограничения на карте получателя. |
100161 | Техническая ошибка проведения выплаты. Повторите позже. |
100091 | Недостаточно средств. Просим пополнить баланс. |
100011 | Ошибка выплаты. Обратитесь в банк выпустивший карту. |
1000661 | Превышен лимит на карте. Свяжитесь с банком выпустившим карту. |
100162 | Ошибка проведения выплаты. Обратитесь в службу поддержки сайта. |
12095 | Оплата вашей картой недоступно в магазине. Обратитесь в магазин. |
90081 | Некорректная сумма возврата. Проверьте сумму повторите попытку. |
100181 | Время жизни платежа превышено. |
100231 | Превышено количество попыток ввода PIN-кода (выплаты). |
110051 | Сумма введена некорректно(выплаты). |
100371 | Карта временно заблокирована (выплаты). |
100221 | Сумма превышает допустимый лимит на карте (выплаты). |
100241 | Suspected fraud(выплаты). |
100171 | Срок действия карты истек (выплаты). |
100381 | Карта заблокирована и подлежит удержанию. |
100401 | Неверный номер счета/карты (выплаты). |
1001612 | ошибка банка эмитента. |
100101 | Ограничения операции выплат. Обратитесь в банк выпустивший карту. |
100391 | Ошибка операции выплаты. Повторите попытку позже. |