Оплата
- Пользователю предоставляются реквизиты кошелька, на которые необходимо совершить оплату.
- Пользователь совершает оплату в своем приложении кошелька и получает уникальный номер транзакции.
- Далее пользователь вводит уникальный номер транзакции в платежном окне - активируется транзакция.
- Paykassma отсылает постбек на сторону мерчанта.
- Средства начисляются на баланс пользователя на платформе мерчанта.
Интеграция через платежное окно (plugin)
Пример ссылки на открытие платежного окна PhonePe:
https://plugin.{URL_сервера}/? label =label ¤cy_code =INR &lang =en &wallet_type =phone_pe &custom_transaction_id=custom_transaction_id &payment_url_fail_id=1 |
---|
wallet_type=phone_pe currency_code=INR Доступные языки (lang): en, hi (Хинди)
Обратите внимание на описание параметров payment_url_success_id / payment_url_fail_id / payment_url_pending_id и success_url / fail_url / pending_url
Для использования payment_url_success_id / payment_url_fail_id / payment_url_pending_id необходимо передать URL'ы саппорту Paykassma, и использовать полученные ID в параметрах.
Для использования success_url / fail_url / pending_url необходимо использовать хэширование URL'ов (подробнее про хэширование см. здесь).
Описание всех параметров плагина смотрите здесь.
Интеграция через клиентский API
Создание платежа
URL: https://api.{URL_сервера}/api/v1/transaction/create/phone_pe?secret={pluginapi_secret}
В данном случае сначала мы принимаем запрос на ввод по платежной системе. Далее в ответе мы предоставим реквизиты кошелька, на который пользователь должен перевести платеж. После оплаты Вам необходимо отправить запрос на активацию транзакции.
Request method:
POST
Format:
JSON
Parameters:
Name | Type | Required | Max Length | Description |
currency | string | yes | 3 | Код валюты. |
label | string | yes | 190 | Это уникальный идентификатор (ID) пользователя, осуществляющего платеж. |
{ "currency": "INR", "label": "eligendi" }
{ "status": "ok", "params": { "identifier": "6234234234" } }
{ "status": "fail", "message": "MESSAGE" }
Запрос активации
URL: http://api.{URL_сервера}/api/v1/transaction/activate?secret={pluginapi_secret}
Request method:
POST
Format:
JSON
Parameters:
Name | Type | Required | Max Length | Description |
currency_code | string | yes | 3 | Код валюты. |
wallet_type | string | yes | 190 | Значение из списка доступных ПС. Например: phone_pe. |
label | string | yes | 190 | Это уникальный идентификатор (ID) пользователя, осуществляющего платеж. |
key1 | string | yes | 190 | Transaction_ID, полученный от пользователя. Длина: 12 цифр. |
amount | float | yes | 256 | Сумма платежа. |
custom_transaction_id | string | yes | 190 | Идентификатор транзакции в системе Клиента. Должен быть уникальным. |
{ "currency_code": "INR", "wallet_type": "phone_pe", "label": "55", "key1": "321302038123", "amount": 500, "custom_transaction_id": "123465477897" }
{ "status": "ok", "deposit": true, "deposit_amount": 500, "currency": { "code": "INR", "symbol": "INR" } }
{ "status": "pending", "message": "The deposit status check has been started. The operation may take longer than expected. Upon completion of the verification, the funds will be credited to your account" }
{ "status": "possible_transaction_created", "message": "Transaction not found. Possible transaction created" }
{ "status": "fail", "message": "MESSAGE" }
Постбек депозита
Общую документацию по постбекам смотрите здесь.
Пример постбека на депозит PhonePe
{ "signature": "36311443ceb305fcdff1e9f82be6605dedff5e50", "wallet_type": "phone_pe", "amount": 700, "currency_code": "INR", "label": "1230142", "direction": "ingoing", "created_datetime": "2023-08-25 15:12:49", "access_key": "FQ9jMwrNSkFbyMNqYFf6Ed4xeKmjHK", "additional_data": [ { "activated_datetime": "2023-08-25 18:12:46", "exchanger_identifier": "81230207429", "comment": "", "amount": "700", "currency_code": "INR", "wallet_type": "phone_pe", "stockpiling_id": 1431219, "transaction_id": "323748622123", "transaction_type": 0, "plugin_custom_order_id": "ikDhBnLY123tx3G6H", "withdrawal_id": null, "withdrawal_status": null, "account_number": "", "account_name": "", "account_email": "", "bank_details": { "bank_code": "", "branch_code": "" } ] }
На повторные постбеки необходимо также отвечать {"status":"ok"} с кодом ответа 200.
Выводы / выплаты пользователям
Выплаты пользователям осуществляются через метод IMPS (подробнее про метод IMPS смотрите здесь).