You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Оплата

  1. Пользователю предоставляются реквизиты кошелька, на которые необходимо совершить оплату.
  2. Пользователь совершает оплату в своем приложении кошелька и получает уникальный номер транзакции.
  3. Далее пользователь вводит уникальный номер транзакции в платежном окне - активируется транзакцию.
  4. Paykassma отсылает постбек на сторону мерчанта.
  5. Средства начисляются на баланс пользователя на платформе мерчанта.

Интеграция через платежное окно (plugin)

Пример ссылки на открытие платежного окна Sinpemovil:

https://plugin/.{URL_сервера}/?
label=label
&currency_code=CRC
&lang=lang
&wallet_type=sinpemovil
&custom_transaction_id=custom_transaction_id
&fixed_amount=fixed_amount
&payment_url_success_id=2
&payment_url_pending_id=3
&payment_url_fail_id=1
&success_url=hash
&fail_url=hash
&pending_url=hash
wallet_type=sinpemovil
currency_code=CRC
Доступные языки (lang): en, es (испанский)

Оглавление:

Обратите внимание на описание параметров 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_idpayment_url_pending_id необходимо передать URL'ы саппорту Paykassma, и использовать полученные ID в параметрах.

Для использования success_url / fail_url / pending_url необходимо использовать хэширование URL'ов (подробнее про хэширование см. здесь).

Описание всех параметров плагина смотрите здесь.

Интеграция через клиентский API

Создание платежа

URL: https://api.{URL_сервера}/api/v1/transaction/create/sinpemovil?secret={pluginapi_secret

В данном случае сначала мы принимаем запрос на ввод по платежной системе, далее в ответе мы предоставим реквизиты кошелька, на который пользователь должен перевести платеж.

Request method:

POST

Format:
JSON

Parameters:

Name

Type

Required

Max Length

Description

currencystringyes3Код валюты.

label

string

yes

190

Это уникальный идентификатор (ID) пользователя, осуществляющего платеж.


Request
{
  'currency': 'CRC', 
  'label': 'eligendi'
}


Response Success:
{
    "status": "ok",
    "params": {
        "identifier": "81354111",
        "is_check_amount": true
    }
}


Response Fail
{
    "status": "fail",
    "message": "MESSAGE"
}

Запрос активации

URL: http://api.{ URL сервера }/api/v1/transaction/activate?secret={pluginapi_secret}

На этом шаге пользователь передает номер транзакции, который вы пересылаете на сторону Paykassma для активации.

Request method:
POST

Format:
JSON

Parameters:

Name

Type

Required

Max Length

Description

currency_codestringyes3Код валюты.

wallet_type

string

yes

190

Метод (Платежная система).
labelstringyes190Это уникальный идентификатор (ID) пользователя, осуществляющего платеж.
key1stringyes28

Номер транзакции, полученный от пользователя. Длина от 20 до 28 цифр.

amountfloatyes256Сумма платежа.
custom_transaction_id

string

yes190

Идентификатор транзакции в системе Клиента. Должен быть уникальным.


Request
{
    "currency_code": "CRC",
    "wallet_type": "sinpemovil",
    "label":"user",
    "key1": "56309385895898488688",
    "amount": 450,
    "custom_transaction_id": "123465477897"
} 


Response Success
{
    "status": "ok",
    "deposit": true,
    "deposit_amount": 450,
    "currency": {
        "code": "CRC",
        "symbol": "CRC"
    }
} 


Response Possible Transaction Created (отложенная активация платежа)
{
    "status": "possible_transaction_created",
    "message": "Transaction not found. Possible transaction created"
}


Response Fail
{
    "status": "fail",
    "message": "MESSAGE"
}

Постбек депозита

Общую документацию по постбекам смотрите здесь.

Пример постбека на депозит sinpemovil

{
  "signature": "09887a95fab0928cd69a1bd8c6a925fe1d7bb97c",
  "wallet_type": "sinpemovil",
  "amount": 450,
  "currency_code": "CRC",
  "label": "eligendi",
  "direction": "ingoing",
  "created_datetime": "2025-12-18 10:27:40",
  "access_key": "Qeiwk34Mdk2pdi1Jqi",
  "additional_data": [
    {
      "activated_datetime": "2025-12-18 10:27:39",
      "exchanger_identifier": "NAME",
      "comment": "",
      "amount": "450",
      "currency_code": "CRC",
      "wallet_type": "sinpemovil",
      "stockpiling_id": 1104695,
      "transaction_id": "56309385895898488688",
      "transaction_type": 0,
      "plugin_custom_order_id": "123465477897",
      "withdrawal_id": null,
      "withdrawal_status": null,
      "account_number": "",
      "account_name": "",
      "account_email": "",
      "bank_details": {
        "bank_code": "",
        "branch_code": ""
      }
    }
  ]
} 

Сервер Paykassma ожидает ответ в json {"status":"ok"} код ответа 200, в противном случае, при получении отличающегося ответа, Paykassma будет пересылать постбек с определенной периодичностью.
На повторные постбеки необходимо также отвечать {"status":"ok"} код ответа 200.

Выводы / выплаты пользователям

Общую документацию по выводам смотрите здесь.

Создание вывода

URL: https://api.{URL_сервера}/v2/withdrawal/create

Request method:

POST

Format:
JSON

Parameters:

Name

Type

Required

Description

withdrawal_idstringyes Идентификатор вывода, если параметр не передается, то система генерирует withdrawal_id.
payment_systemstring yesПлатежная система.
amount

int


required

Дополнительные требования:

  1. amount >= величина установленного минимального значения;
  2. amount <= величина установленного максимального значения.
currency_codestringyesКод валюты.

label

string

yes

Label пользователя, для которого проводится вывод. 

account_numberstring 

yes

Номер счета пользователя (8 цифр). 

account_namestring

yes

Имя и Фамилия держателя счета.

is_test

booleanyes

Параметр is_test может принимать одно из двух значений:

  • true - если вывод тестовый;
  • false - если вывод реальный.
signaturestringyesПодпись, формируемая с private_key.


Request
{
  "withdrawal_id": "test12d2345678",
  "payment_system": "sinpemovil_ml",
  "amount": 5000,
  "currency_code": "CRC",
  "label": "testuser",
  "account_number": "76512163584",
  "account_name": "Account Name",
  "is_test": false,
  "signature": "1971080e38149f0e22cc2bc53f29b387705fb780"
}


Response Success
{
    "status": "ok",
}


Response Fail
{
    "status": "fail",
    "message": "MESSAGE"
}

 *Если при попытке создания заявки на вывод сумма балансов счетов в валюте заявки будет меньше, чем общая сумма новой и еще незавершенных заявок, то отобразится ошибка 'Недостаточный баланс' (для настройки данного функционала обратитесь в ТП Paykassma).

Response Fail (при недостаточном балансе)
{
    "status": "fail",
    "message": {
        "withdrawals_sum_amount": [
            "Insufficient balance"
        ]
    }
}

Пример постбека на вывод Sinpe Movil

{
  "signature": "6919e2a69bcc18968afe04053e9d40d5272d6083",
  "wallet_type": "sinpemovil_ml",
  "amount": 5000,
  "currency_code": "CRC",
  "label": "testuser",
  "direction": "outgoing",
  "created_datetime": "2025-11-14 14:39:45",
  "access_key": "uowkn0b3LfBxpcWYHi4_",
  "additional_data": [
    {
      "activated_datetime": "",
      "exchanger_identifier": "",
      "comment": "",
      "amount": "5000",
      "currency_code": "CRC",
      "wallet_type": "sinpemovil_ml",
      "stockpiling_id": null,
      "transaction_id": "",
      "transaction_type": null,
      "plugin_custom_order_id": "",
      "withdrawal_id": "test12d2345678",
      "withdrawal_status": 1,
      "account_number": "76512163584",
      "account_name": "Account Name",
      "account_email": "",
      "bank_details": {
        "bank_code": null,
        "branch_code": null
      }
    }
  ]
}


Сервер Paykassma ожидает ответ в json {"status":"ok"} код ответа 200, в противном случае, при получении отличающегося ответа, Paykassma будет пересылать постбек с определенной периодичностью.
На повторные постбеки необходимо также отвечать {"status":"ok"} код ответа 200.

Статусы выводов

ID

Название

Описание

1

PROCESSED 

Статус для вывода, когда заявка на вывод была успешно обработана.

5

REJECTED

Статус для вывода, когда заявка на вывод была отклонена.

Создание заявки на выплату в ЛК Paykassma

Для создания заявки на вывод, необходимо перейти на страницу Выводы (Оплаты → Выводыи выполнить следующие шаги:

  1. Нажмите на кнопку "Добавить заявку на вывод".



  2. Выберите из списка нужную ПС.


  3. Заполните поля для создания заявки в следующем окне (список полей стандартизирован и не все поля являются обязательными. Для создания заявки по определенной ПС, необходимо заполнить обязательные поля для этой ПС).
    Обязательные поля для выплаты sinpemovil:
    - Лейбл (ID юзера)
    - Сумма
    - Валюта
    - Кошелек получателя
    - Email получателя

  4. После оплаты статус вывода поменяется.



    Paykassma не высылает постбек по выводам, созданным вручную.