Оплата

При оплате пользователь получает от сервиса провайдера сообщение с кодом, который он использует для подтверждения оплаты.

Регионы использования Казахстан
Валюты оплаты KZT
Суммы платежей Информацию уточняйте у курирующего менеджера Rocketpay. Также вы можете уточнить в Dashboard минимальную и максимальную сумму платежа, доступную в вашем проекте.
Конвертация валют На стороне Rocketpay
Возврат
Организация и стоимость подключения По согласованию с курирующим менеджером Rocketpay
Особенности

Доступность возвратов необходимо уточнять у курирующего менеджера в Rocketpay.

Основные операции

  Интерфейсы Время проведения платежа
Payment Page Gate Dashboard базовое предельное
Оплата * *
Возврат * *

* Информацию уточняйте у курирующего менеджера Rocketpay.

Уточнить минимальную и максимальную сумму платежа, доступную в вашем проекте, вы можете в Dashboard. Для этого в Dashboard перейдите в раздел Проекты и выберите вкладку Платежные методы.

Далее подробно рассказывается, что вам нужно делать для проведения платежа, а также о возможностях анализа уже проведенных платежей.

Поддержка со стороны операторов связи

Оплата в методе «Мобильная коммерция в Казахстане» осуществляется через сервисы операторов связи, перечисленных в таблице ниже:

Табл. 1. Поддерживаемые операторы связи
Оператор связи Идентификатор
«Билайн» BEELINE
Activ ACTIV
Altel ALTEL
Kcell KCELL
Tele2 TELE2

Данная таблица со списком операторов связи представлена в ознакомительных целях. Чтобы уточнить, какие операторы связи сейчас доступны для проведения оплаты, отправьте платежной платформе запрос со следующим форматом и параметрами:

HTTP-метод запроса POST
Формат тела запроса JSON
Конечная точка /v2/info/mobile/sale/list
Полная спецификация конечной точки /v2/info/mobile/{operation_type}/list
Табл. 2. Базовые параметры запроса доступных операторов связи
Объект Параметр Описание
general

project_id
integer strictly required

Идентификатор проекта, полученный от Rocketpay при интеграции.

signature
string strictly required

Подпись запроса, составленная после определения всех параметров запроса. Подробнее о составлении подписи см. Использование подписи к данным.

Вот пример данных из запроса списка операторов связи, поддерживающих работу с методом «Мобильная коммерция в Казахстане».

Рис.: Пример данных из запроса доступных операторов связи

{
	"general": {
	    "project_id": 1234,
	    "signature": "K6jllym+PtObocZtr345st...=="
	}
}

Оплата через Payment Page

Общая информация

Чтобы выполнить оплату через Payment Page с использованием метода «Мобильная коммерция в Казахстане»:

  1. Отправьте запрос с нужными параметрами и подписью на рабочий URL-адрес платежной платформы Rocketpay.
  2. Примите от платежной платформы Rocketpay оповещение (callback) с результатом оплаты.

Полная схема оплаты через Payment Page выглядит следующим образом.



Рис.: Здесь описаны шаги оплаты через Payment Page

  1. Пользователь инициирует оплату в вашей системе.
  2. Ваша система передает запрос на оплату через Payment Page на URL-адрес платежной платформы Rocketpay.
  3. Платежная платформа получает запрос.
  4. Платежная платформа проверяет наличие обязательных параметров и корректной подписи в запросе.
  5. Платежная платформа создает страницу оплаты на основе параметров проекта и запроса.
  6. Страница оплаты отображается пользователю.
  7. Пользователь выбирает на странице оплаты метод «Мобильная коммерция в Казахстане».
  8. Payment Page передает запрос на оплату в платежную платформу.
  9. Платежная платформа обрабатывает запрос и отправляет его в сервис провайдера.
  10. Сервис провайдера обрабатывает запрос на оплату.
  11. Оператор связи отправляет пользователю сообщение с OTP-кодом для подтверждения оплаты.
  12. Payment Page отображает пользователю страницу для ввода OTP-кода.
  13. Пользователь вводит OTP-код.
  14. Payment Page передает запрос с OTP-кодом в платежную платформу.
  15. Платежная платформа обрабатывает запрос и отправляет его в сервис провайдера.
  16. Сервис провайдера обрабатывает платеж.
  17. Сервис провайдера оповещает платежную платформу о результате оплаты.
  18. Платежная платформа отправляет вашей системе оповещение (callback) о результате оплаты.
  19. Платежная платформа передает в Payment Page информацию о результате оплаты.
  20. Результат оплаты отображается пользователю на странице оплаты.

Запрос

В запросе на открытие страницы оплаты с использованием метода «Мобильная коммерция в Казахстане» укажите необходимые параметры:

Табл. 3. Базовые параметры запроса в Payment Page

strictly required — параметр обязательно должен присутствовать в начальном запросе.

optional — параметр необязателен, но в общем случае его наличие в запросе способствует оптимизации проведения платежа, например упрощает процесс платежа для пользователя или повышает процент успешных платежей.

Параметр Описание

project_id
integer
strictly required

Идентификатор проекта, полученный от Rocketpay при интеграции.

Пример: 1234

payment_id
string
strictly required

Идентификатор платежа, уникальный в рамках проекта.

Пример: payment_47

customer_id
string
strictly required

Идентификатор пользователя, уникальный в рамках проекта.

Пример: customer_123

customer_first_name
string
strictly required

Имя пользователя.

Пример: John

customer_last_name
string
strictly required

Фамилия пользователя.

Пример: Doe

customer_email
string
strictly required

Адрес электронной почты пользователя.

Пример: johndoe@example.com

payment_currency
string
strictly required

Код валюты платежа в формате ISO-4217 alpha-3.

Пример: KZT

payment_amount
integer
strictly required

Сумма платежа в дробных единицах валюты без десятичного разделителя (точки или запятой) и пробелов за исключением случаев, когда у валюты нет дробной части.

Если у валюты нет дробных единиц (то есть количество разрядов дробных единиц равно нулю), то в этом параметре нужно указывать сумму в основных единицах валюты. Подробнее о разрядах дробных единиц у валют см. Коды валют.

Пример: 1000,00 KZT передается как 100000

force_payment_method
string
optional

Параметр, позволяющий пропустить страницу выбора метода и принудительно выбрать «Мобильная коммерция в Казахстане» в качестве платежного метода.

Чтобы пропустить страницу выбора метода и принудительно выбрать «Мобильная коммерция в Казахстане» в качестве платежного метода, добавьте в запрос параметр force_payment_method со значением mobile. (Подробнее о предварительном выборе метода см. Предварительный выбор платежного метода.)

Пример: force_payment_method: 'mobile'

signature
string
strictly required

Подпись запроса, составленная после определения всех параметров запроса. Подробнее о составлении подписи см. Подписывание и проверка подписи.
При необходимости добавьте в запрос необязательные параметры из числа доступных для работы с Payment Page. Подробнее о параметрах запросов в Payment Page см. Параметры открытия платежной страницы Payment Page.

Вот пример параметров из запроса на открытие страницы оплаты с использованием виджета EPayWidget:

EPayWidget.run(
	{
		project_id: 1234,
		payment_id: 'payment_47',
		customer_id: 'customer_123',
		customer_first_name: 'John',
		customer_last_name: 'Doe',
		customer_email: 'johndoe@example.com',
		payment_currency: 'KZT',
		payment_amount: 100000,
		force_payment_method: 'mobile',
		signature: 'kUi2x9dKHAVNU0FYldJrxh4yo+52Kt8KU+Y19vySO/RLUkDJrOcZzUCwX6R/ekpZhkIQg=='
	}
)

Вы можете предварительно выбрать для пользователя оператора связи на странице оплаты. Для этого добавьте в запрос на открытие страницы оплаты параметры:

Табл. 4. Параметры для предварительного выбора оператора связи на странице оплаты
Объект/параметр Параметр Описание

force_payment_method
string
optional

Параметр, позволяющий пропустить страницу выбора метода и принудительно выбрать «Мобильная коммерция в Казахстане» в качестве платежного метода.

Передавайте значение mobile в этом параметре.

Пример: force_payment_method: 'mobile'

payment_methods_options
object
optional

enable_mobile_service
integer
optional

Передавайте значение 1 в этом параметре, чтобы выбрать для пользователя оператора связи на странице оплаты.

selected_operator
string
optional

Идентификатор оператора связи пользователя, см. в таблице Поддержка со стороны операторов связи.

Пример: TELE2

Вот пример данных из запроса на открытие страницы оплаты с использованием метода «Мобильная коммерция в Казахстане» и предварительным выбором оператора связи пользователя:

EPayWidget.run(
	{
		project_id: 1234,
		payment_id: 'payment_47',
		customer_id: 'customer_123',
		customer_first_name: 'John',
		customer_last_name: 'Doe',
		customer_email: 'johndoe@example.com',
		payment_currency: 'KZT',
		payment_amount: 100000,
		force_payment_method: 'mobile',
		payment_methods_options: {"enable_mobile_service": 1, "selected_operator": "TELE2"},  
		signature: 'kUi2x9dKHAVNU0FYldJrxh4yo+52Kt8KU+Y19vySO/RLUkDJrOcZzUCwX6R/ekpZhkIQg=='
	}
)

Оповещение (callback)

В методе «Мобильная коммерция в Казахстане» результат оплаты платежная платформа возвращает в оповещении. Подробнее о структуре оповещений см. Оповещения (callbacks) в Payment Page.

В платежном методе «Мобильная коммерция в Казахстане» в оповещении дополнительно передается объект account с параметрами number и type, в которых содержится информация о номере телефона и операторе связи пользователя.

Вот пример тела оповещения с информацией об успешно выполненной оплате:

Рис.: Пример тела оповещения об успешно выполненной оплате

{
    "project_id": 1234,
    "payment": {
        "id": "payment_47",
        "type": "purchase",
        "status": "success",
        "date": "2024-12-07T19:08:45+0000",
        "method": "mobile",
        "sum": {
            "amount": 100000,
            "currency": "KZT"
        },
        "description": ""
    },
    "customer": {
        "id": "customer_123"
    },
    "operation": {
        "id": 47,
        "type": "sale",
        "status": "success",
        "date": "2024-12-07T19:08:45+0000",
        "created_date": "2024-12-07T19:08:05+0000",
        "request_id": "1a23456bc7890de",
        "sum_initial": {
            "amount": 100000,
            "currency": "KZT"
        },
        "sum_converted": {
            "amount": 100000,
            "currency": "KZT"
        },
        "code": "0",
        "message": "Success",
        "provider": {
            "id": 12345,
            "payment_id": "123abc123-123",
            "auth_code": ""
        }
    },
    "account": {
        "number": "71234567890",
        "type": "TELE2"
    },
    "signature": "U7HQO7ToISZhMPKdM4XrUKQtoYzFvoB3cs9CRd4xeYG2Q=="
}

Вот пример тела оповещения с информацией об отклоненной оплате.

Рис.: Пример тела оповещения об отклоненной оплате

{
    "project_id": 1234,
    "payment": {
        "id": "payment_47",
        "type": "purchase",
        "status": "decline",
        "date": "2024-12-07T19:08:45+0000",
        "method": "mobile",
        "sum": {
            "amount": 100000,
            "currency": "KZT"
        },
        "description": ""
    },
    "customer": {
        "id": "customer_123"
    },
    "operation": {
        "id": 47,
        "type": "sale",
        "status": "decline",
        "date": "2024-12-07T19:08:45+0000",
        "created_date": "2024-12-07T19:08:05+0000",
        "request_id": "1a23456bc7890de",
        "sum_initial": {
            "amount": 100000,
            "currency": "KZT"
        },
        "sum_converted": {
            "amount": 100000,
            "currency": "KZT"
        },
        "code": "20000",
        "message": "General decline",
        "provider": {
            "id": 12345,
            "payment_id": "123abc123-123",
            "auth_code": ""
        }
    },
    "account": {
        "number": "71234567890",
        "type": "TELE2"
    },
    "signature": "U7HQO7ToISZhMPKdM4XrUKQtoYzFvoB3cs9CRd4xeYG2Q=="
}

Оплата через Gate

Общая информация

Чтобы выполнить оплату через Gate с использованием метода «Мобильная коммерция в Казахстане»:

  1. Отправьте запрос с нужными параметрами и подписью на рабочий URL-адрес платежной платформы Rocketpay.
  2. Получите от платежной платформы оповещение (callback) с информацией о том, какие данные вы должны передать платежной платформе.
  3. Отправьте запрос с этими данными платежной платформе Rocketpay.
  4. Примите от платежной платформы Rocketpay оповещение (callback) с результатом оплаты.

Полная схема оплаты с использованием метода «Мобильная коммерция в Казахстане» выглядит следующим образом.



Рис.: Здесь описаны шаги оплаты через Gate

  1. Пользователь инициирует оплату в вашей системе.
  2. Ваша система передает запрос на оплату в Gate.
  3. Платежная платформа получает запрос.
  4. Платежная платформа проверяет наличие обязательных параметров и корректной подписи в запросе.
  5. Платежная платформа отправляет вашей системе ответ с информацией о получении запроса и о результате проверки его корректности. (Подробнее о структуре ответа см. Ответ.)
  6. Платежная платформа обрабатывает запрос и отправляет его в сервис провайдера.
  7. Сервис провайдера обрабатывает запрос на оплату.
  8. Сервис оператора связи отправляет пользователю сообщение с OTP-кодом для подтверждения оплаты.
  9. Платежная платформа отправляет вашей системе оповещение (callback) с информацией о том, какие данные вы должны передать платежной платформе.
  10. Пользователь вводит OTP-код в вашей системе.
  11. Ваша система отправляет платежной платформе Rocketpay запрос с OTP-кодом.
  12. Платежная платформа получает запрос.
  13. Платежная платформа проверяет наличие обязательных параметров и корректной подписи в запросе.
  14. Платежная платформа отправляет вашей системе ответ с информацией о получении запроса и о результате проверки его корректности. (Подробнее о структуре ответа см. Ответ.)
  15. Платежная платформа отправляет запрос с OTP-кодом в сервис провайдера.
  16. Сервис провайдера обрабатывает платеж.
  17. Сервис провайдера оповещает платежную платформу о результате оплаты.
  18. Платежная платформа отправляет в вашу систему оповещение (callback) с результатом оплаты.
  19. Ваша система направляет пользователю информацию о результате оплаты.

Запрос

Далее представлена информация, необходимая для создания и отправки запроса на оплату с использованием метода «Мобильная коммерция в Казахстане».

HTTP-метод запроса POST
Формат тела запроса JSON
Конечная точка /v2/payment/mobile/sale
Табл. 5. Базовые параметры запроса на оплату

strictly required — параметр обязательно должен присутствовать в начальном запросе.

Объект Параметр Описание

general
object
strictly required

project_id
integer
strictly required

Идентификатор проекта, полученный от Rocketpay при интеграции.

Пример: 1234

payment_id
string
strictly required

Идентификатор платежа, уникальный в рамках проекта.

Пример: payment_47

signature
string
strictly required

Подпись запроса, составленная после определения всех параметров запроса. Подробнее о составлении подписи см. Использование подписи к данным.

customer
object
strictly required

id
string
strictly required

Идентификатор пользователя, уникальный в рамках проекта.

Пример: customer_123

ip_address
string
strictly required

IP-адрес устройства пользователя.

Пример: 198.51.100.47

first_name
string
strictly required

Имя пользователя.

Пример: John

last_name
string
strictly required

Фамилия пользователя.

Пример: Doe

email
string
strictly required

Адрес электронной почты пользователя.

Пример: johndoe@example.com

account
object
strictly required

number
string
strictly required

Номер телефона пользователя для оплаты с использованием счета мобильной связи. Указывается с кодом страны, без знаков пунктуации и специальных символов.

Пример: 71234567890

payment
object
strictly required

currency
string
strictly required

Код валюты платежа в формате ISO-4217 alpha-3.

Пример: KZT

amount
integer
strictly required

Сумма платежа в дробных единицах валюты без десятичного разделителя (точки или запятой) и пробелов за исключением случаев, когда у валюты нет дробной части.

Если у валюты нет дробных единиц (то есть количество разрядов дробных единиц равно нулю), то в этом параметре нужно указывать сумму в основных единицах валюты. Подробнее о разрядах дробных единиц у валют см. Коды валют.

Пример: 1000,00 KZT передается как 100000

При необходимости добавьте в запрос необязательные параметры, указанные в спецификации Gate: API Reference.

Вот пример тела запроса на оплату с использованием метода «Мобильная коммерция в Казахстане»:

Рис.: Пример тела запроса на оплату

{
    "general": {
        "project_id": 1234,
        "payment_id": "payment_47",
        "signature": "kUi2x9dKHAVNU0FYldJrxh4yo+52Kt8KU+Y19vySO/RLUkDJrOcZzUCwX6R/ekpZhkIQg=="
    },
    "customer": {
        "id": "customer_123",
        "ip_address": "198.51.100.47",
        "first_name": "John",
        "last_name": "Doe",
        "email": "johndoe@example.com"
    },
    "account": {
        "number": "71234567890"
    },
    "payment": {
        "currency": "KZT",
        "amount": 100000
    }
}

Отправка OTP-кода в платежную платформу

Введенный пользователем OTP-код вы должны отправить в платежную платформу в новом запросе. Далее приведены основные характеристики и параметры такого запроса.

HTTP-метод запроса POST
Формат тела запроса JSON
Конечная точка /v2/payment/clarification
Табл. 6. Базовые параметры запроса для передачи OTP-кода

strictly required — параметр обязательно должен присутствовать в начальном запросе.

Объект Объект/Параметр Описание

general
object
strictly required

project_id
integer
strictly required

Идентификатор проекта, полученный от Rocketpay при интеграции.

Пример: 1234

payment_id
string
strictly required

Идентификатор платежа, уникальный в рамках проекта.

Пример: payment_47

signature
string
strictly required

Подпись запроса, составленная после определения всех параметров запроса. Подробнее о составлении подписи см. Использование подписи к данным.

additional_data
object
strictly required

additional_data
object
strictly required

approval_code
string
strictly required

OTP-код, который пользователь получает в сообщении от оператора связи.

Пример: 123456

При необходимости добавьте в запрос необязательные параметры, указанные в спецификации Gate: API Reference.

Вот пример данных из запроса для передачи в платежную платформу OTP-кода:

Рис.: Пример данных из запроса для передачи OTP-кода

{
    "general": {
        "project_id": 1234,
        "payment_id": "payment_47",
        "signature": "kUi2x9dKHAVNU0FYldJrxh4yo+52Kt8KU+Y19vySO/RLUkDJrOcZzUCwX6R/ekpZhkIQg=="
    },
    "additional_data": {
        "additional_data": {
            "approval_code": "123456"
        }
    }
}

Чтобы оператор связи своевременно подтвердил платеж, отправляйте платежной платформе запрос с OTP-кодом в течение 80 или 90 секунд с момента получения от платежной платформы оповещения о необходимости передачи OTP-кода (точный срок действия OTP-кода для вас уточняйте у своего курирующего менеджера в Rocketpay).

При отправке этого запроса проведение платежа может продолжаться следующим образом:

  • Если OTP-код правильный и отправлен своевременно, то проведение платежа продолжается на стороне платежной платформы, сервиса провайдера и сервиса оператора связи, после чего платежная платформа отправляет вашей системе итоговое оповещение.
  • Если OTP-код отправлен своевременно, но не является правильным, то платежная платформа повторно отправляет вашей системе оповещение о необходимости передачи OTP-кода. В этом случае предоставьте пользователю возможность повторно ввести правильный OTP-код, после чего отправьте платежной платформе запрос с этим OTP-кодом (также до истечения исходных 80 или 90 секунд).

Если OTP-код отправлен после истечения 80 или 90 секунд, то возможны следующие варианты:

  • При своевременной передаче правильного OTP-кода оператору связи проведение платежа продолжается на стороне платежной платформы, сервиса провайдера и сервиса оператора связи, после чего платежная платформа отправит вашей системе итоговое оповещение.
  • При передаче оператору связи неправильного OTP-кода или OTP-кода с истекшим сроком действия платежная платформа повторно отправляет вашей системе оповещение о необходимости передачи OTP-кода. В этом случае отправьте платежной платформе запрос на повторную отправку OTP-кода пользователю, получите от пользователя новый OTP-код и отправьте платежной платформе запрос с этим OTP-код.

Запрос на повторную отправку OTP-кода пользователю

Вы можете запросить повторную отправку OTP-кода пользователю спустя 80 или 90 секунд с момента формирования OTP-кода на стороне оператора связи (точный срок действия OTP-кода для вас уточняйте у своего курирующего менеджера в Rocketpay).

Чтобы запросить повторную отправку OTP-кода пользователю, отправьте платежной платформе запрос. Далее приведены основные характеристики и параметры такого запроса.

HTTP-метод запроса POST
Формат тела запроса JSON
Конечная точка /v2/customer/action/resend
Полная спецификация конечной точки /v2/customer/action/{action_name}
Табл. 7. Базовые параметры запроса на повторную отправку OTP-кода

strictly required — параметр обязательно должен присутствовать в запросе.

Объект Параметр Описание

general
object
strictly required

project_id
integer
strictly required

Идентификатор проекта, полученный от Rocketpay при интеграции.

Пример: 1234

payment_id
string
strictly required

Идентификатор платежа, для которого необходимо запросить повторную отправку OTP-кода.

Пример: payment_47

signature
string
strictly required

Подпись запроса, составленная после определения всех параметров запроса. Подробнее о составлении подписи см. Использование подписи к данным.

customer
object
strictly required

ip_address
string
strictly required

IP-адрес устройства пользователя.

Пример: 198.51.100.47

При необходимости добавьте в запрос необязательные параметры, указанные в спецификации Gate: API Reference.

Вот пример данных из запроса на повторную отправку OTP-кода пользователю:

Рис.: Пример данных из запроса на повторную отправку OTP-кода пользователю

{ 
     "general": { 
	    "project_id": 1234,
	    "payment_id": "payment_47",
	    "signature": "PJkV8ej/UG0Di8hTng6JvC7vQsaC6tajQVVfBaNIipTv+AWoXW/9MTO8yJA=="
	},
	"customer": {
	    "ip_address": "198.51.100.47"
	} 
}

Вы можете запросить повторную отправку OTP-кода пользователю не более трех раз в рамках одного платежа. При этом срок действия каждого нового OTP-кода, как и в случае с первым OTP-кодом, составляет 80 или 90 секунд с момента формирования OTP-кода на стороне оператора связи (точный срок действия OTP-кода для вас уточняйте у своего курирующего менеджера в Rocketpay).

Внимание: Из-за некоторых особенностей работы сервисов операторов связи при использовании повторных OTP-кодов платежная платформа может отправлять вашей системе оповещения с некорректной информацией о статусах платежа и операции. Такие оповещения рекомендуется игнорировать.

Оповещение (callback)

В методе «Мобильная коммерция в Казахстане» результат оплаты платежная платформа возвращает в оповещении. Подробнее о структуре оповещений см. Оповещения (callbacks) в Gate.

В платежном методе «Мобильная коммерция в Казахстане» в оповещении дополнительно передается объект account с параметрами number и type, в которых содержится информация о номере телефона и операторе связи пользователя.

Вот пример тела оповещения с информацией об успешно выполненной оплате:

Рис.: Пример тела оповещения об успешно выполненной оплате

{
    "project_id": 1234,
    "payment": {
        "id": "payment_47",
        "type": "purchase",
        "status": "success",
        "date": "2024-12-07T19:08:45+0000",
        "method": "mobile",
        "sum": {
            "amount": 100000,
            "currency": "KZT"
        },
        "description": ""
    },
    "customer": {
        "id": "customer_123"
    },
    "operation": {
        "id": 47,
        "type": "sale",
        "status": "success",
        "date": "2024-12-07T19:08:45+0000",
        "created_date": "2024-12-07T19:08:05+0000",
        "request_id": "1a23456bc7890de",
        "sum_initial": {
            "amount": 100000,
            "currency": "KZT"
        },
        "sum_converted": {
            "amount": 100000,
            "currency": "KZT"
        },
        "code": "0",
        "message": "Success",
        "provider": {
            "id": 12345,
            "payment_id": "123abc123-123",
            "auth_code": ""
        }
    },
    "account": {
        "number": "71234567890",
        "type": "TELE2"
    },
    "signature": "U7HQO7ToISZhMPKdM4XrUKQtoYzFvoB3cs9CRd4xeYG2Q=="
}

Вот пример тела оповещения с информацией об отклоненной оплате.

Рис.: Пример тела оповещения об отклоненной оплате

{
    "project_id": 1234,
    "payment": {
        "id": "payment_47",
        "type": "purchase",
        "status": "decline",
        "date": "2024-12-07T19:08:45+0000",
        "method": "mobile",
        "sum": {
            "amount": 100000,
            "currency": "KZT"
        },
        "description": ""
    },
    "customer": {
        "id": "customer_123"
    },
    "operation": {
        "id": 47,
        "type": "sale",
        "status": "decline",
        "date": "2024-12-07T19:08:45+0000",
        "created_date": "2024-12-07T19:08:05+0000",
        "request_id": "1a23456bc7890de",
        "sum_initial": {
            "amount": 100000,
            "currency": "KZT"
        },
        "sum_converted": {
            "amount": 100000,
            "currency": "KZT"
        },
        "code": "20000",
        "message": "General decline",
        "provider": {
            "id": 12345,
            "payment_id": "123abc123-123",
            "auth_code": ""
        }
    },
    "account": {
        "number": "71234567890",
        "type": "TELE2"
    },
    "signature": "U7HQO7ToISZhMPKdM4XrUKQtoYzFvoB3cs9CRd4xeYG2Q=="
}

Возврат через Gate

Общая информация

Чтобы выполнить возврат ранее выполненной оплаты через Gate с использованием метода «Мобильная коммерция в Казахстане»:

  1. Отправьте запрос с нужными параметрами и подписью на рабочий URL-адрес платежной платформы Rocketpay.
  2. Примите от платежной платформы Rocketpay оповещение (callback) с результатом возврата.

Полная схема возврата по оплате с использованием метода «Мобильная коммерция в Казахстане» выглядит следующим образом.



Рис.: Здесь описаны шаги возврата через Gate

  1. Пользователь запрашивает возврат в вашей системе.
  2. Ваша система передает запрос на возврат в Gate.
  3. Платежная платформа получает запрос.
  4. Платежная платформа проверяет наличие обязательных параметров и корректной подписи в запросе.
  5. Платежная платформа отправляет вашей системе ответ с информацией о получении запроса и о результате проверки его корректности. (Подробнее о структуре ответа см. Ответ.)
  6. Платежная платформа обрабатывает запрос и отправляет его в сервис провайдера.
  7. Сервис провайдера обрабатывает запрос на возврат.
  8. Сервис провайдера отправляет платежной платформе уведомление о результате возврата.
  9. Платежная платформа отправляет в вашу систему оповещение (callback) с результатом возврата.
  10. Ваша система направляет пользователю информацию о результате возврата.

Запрос

Далее представлена информация, необходимая для создания и отправки запроса на возврат с использованием метода «Мобильная коммерция в Казахстане».

HTTP-метод запроса POST
Формат тела запроса JSON
Конечная точка /v2/payment/mobile/refund
Табл. 8. Базовые параметры запроса на возврат

strictly required — параметр обязательно должен присутствовать в начальном запросе.

optional — параметр необязателен, но в общем случае его наличие в запросе способствует оптимизации проведения платежа, например упрощает процесс платежа для пользователя или повышает процент успешных платежей.

Объект Параметр Описание

general
object
strictly required

project_id
integer
strictly required

Идентификатор проекта, полученный от Rocketpay при интеграции.

Пример: 1234

payment_id
string
strictly required

Идентификатор платежа, по которому необходимо выполнить возврат.

Пример: payment_47

signature
string
strictly required

Подпись запроса, составленная после определения всех параметров запроса. Подробнее о составлении подписи см. Использование подписи к данным.

payment
object
optional

currency
string
optional

Код валюты платежа в формате ISO-4217 alpha-3.

При выполнении частичного возврата этот параметр является обязательным.

Пример: KZT

amount
integer
optional

Сумма возврата в дробных единицах валюты без десятичного разделителя (точки или запятой) за исключением случаев, когда у валюты нет дробной части.

Если у валюты нет дробных единиц (то есть количество разрядов дробных единиц равно нулю), то в этом параметре нужно указывать сумму в основных единицах валюты. Подробнее о разрядах дробных единиц у валют см. Коды валют.

При выполнении частичного возврата этот параметр является обязательным.

Пример: 1000,00 KZT передается как 100000.

description
string
optional

Комментарий или описание возврата.

Пример: Возврат.

При необходимости добавьте в запрос необязательные параметры, указанные в спецификации Gate: API Reference.

Вот пример тела запроса на возврат с использованием метода «Мобильная коммерция в Казахстане»:

Рис.: Пример тела запроса на возврат

{
    "general": {
        "project_id": 1234,
        "payment_id": "payment_47",
        "signature": "kUi2x9dKHAVNU0FYldJrxh4yo+52Kt8KU+Y19vySO/RLUkDJrOcZzUCwX6R/ekpZhkIQg=="
    },
    "payment": {
        "currency": "KZT",
        "amount": 100000,
        "description": "Возврат."
    }
}

Оповещение (callback)

В методе «Мобильная коммерция в Казахстане» результат возврата платежная платформа возвращает в оповещении. Подробнее о структуре оповещений см. Оповещения (callbacks) в Gate.

Вот пример тела оповещения с информацией об успешно выполненном возврате:

Рис.: Пример тела оповещения об успешно проведенном возврате

{
    "project_id": 1234,
    "payment": {
        "id": "payment_47",
        "type": "purchase",
        "status": "refunded",
        "date": "2024-12-07T19:08:45+0000",
        "method": "mobile",
        "sum": {
            "amount": 0,
            "currency": "KZT"
        },
        "description": ""
    },
    "customer": {
        "id": "customer_123"
    },
    "operation": {
        "id": 47,
        "type": "refund",
        "status": "success",
        "date": "2024-12-07T19:08:45+0000",
        "created_date": "2024-12-07T19:08:05+0000",
        "request_id": "1a23456bc7890de",
        "sum_initial": {
            "amount": 100000,
            "currency": "KZT"
        },
        "sum_converted": {
            "amount": 100000,
            "currency": "KZT"
        },
        "code": "0",
        "message": "Success",
        "provider": {
            "id": 12345,
            "payment_id": "123abc123-123",
            "auth_code": ""
        }
    },
    "account": {
        "number": "71234567890",
        "type": "TELE2"
    },
    "signature": "U7HQO7ToISZhMPKdM4XrUKQtoYzFvoB3cs9CRd4xeYG2Q=="
}

Вот пример тела оповещения с информацией об отклоненном возврате.

Рис.: Пример тела оповещения об отклоненном возврате

{
    "project_id": 1234,
    "payment": {
        "id": "payment_47",
        "type": "purchase",
        "status": "success",
        "date": "2024-12-07T19:08:45+0000",
        "method": "mobile",
        "sum": {
            "amount": 100000,
            "currency": "KZT"
        },
        "description": ""
    },
    "customer": {
        "id": "customer_123"
    },
    "operation": {
        "id": 47,
        "type": "refund",
        "status": "decline",
        "date": "2024-12-07T19:08:45+0000",
        "created_date": "2024-12-07T19:08:05+0000",
        "request_id": "1a23456bc7890de",
        "sum_initial": {
            "amount": 100000,
            "currency": "KZT"
        },
        "sum_converted": {
            "amount": 100000,
            "currency": "KZT"
        },
        "code": "20000",
        "message": "General decline",
        "provider": {
            "id": 12345,
            "payment_id": "123abc123-123",
            "auth_code": ""
        }
    },
    "account": {
        "number": "71234567890",
        "type": "TELE2"
    },
    "signature": "U7HQO7ToISZhMPKdM4XrUKQtoYzFvoB3cs9CRd4xeYG2Q=="
}