Процесс платёжа

В процессе платёжа пользователь совершает следующие действия:

  1. выбирает способ оплаты;
  2. вводит данные для оплаты выбранным способом;
  3. при необходимости подтверждает платёж (например, проходит аутентификацию по 3-D Secure или отвечает на смс).

В Амра Касса есть несколько сценариев проведения оплаты. Сценарии различаются в зависимости от того, где пользователь выбирает способ оплаты и вводит платёжные данные. В некоторых случаях пользователю нужно дополнительно подтвердить, что он согласен на оплату выбранным способом.

Каждый платёж проходит в одну стадию. Если пользователь внёс оплату, Амра Касса сразу списывает деньги и перечисляет их на ваш счёт.

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

Платёж — основная сущность API для приёма платёжей.

Чтобы создать платёж, вам нужно передать в запросе:

  • данные для аутентификации;
  • сумму платёжа;

Также вы можете передать дополнительные данные, например номер заказа в вашей системе. API вернёт их без изменений. Данные необходимо передавать в объекте metadata в виде набора пар «ключ-значение».

Пример запроса на создание платёжа

curl https://kassa.amra-bank.com/api/v1/payments \
  -X POST \
  -u <Идентификатор магазина>:<Секретный ключ> \
  -H 'Content-Type: application/json' \
  -d '{
        "amount": {
          "value": "100.00",
          "currency": "RUB"
        },
        "returnUrl": "https://www.merchant-website.com/return_url",
        "description": "Заказ №1",
        "metadata": {
          "order_id": "37"
        }
      }'

В ответ на запрос придёт созданный объект Платёжа.

Пример созданного объекта платёжа

{
  "status": "canceled",
  "capturedAt": null,
  "canceledAt": null,
  "cancelError": null,
  "cardInfo": null,
  "id": "947d8e55-f740-4058-b665-98360379d748",
  "amount": {
    "currency": "RUB",
    "value": "100.00"
  },
  "createdAt": "2020-01-01T10:10:10.100Z",
  "description": "Заказ №2020",
  "confirmation": {
    "type": "redirect",
    "confirmationUrl": "https://kassa.amra-bank.com/pages/v1/payment-confirm/947d8e55-f740-4058-b665-98360379d748",
  },
  "metadata": {
    "orderId": 2020
  },
  "recipient": "b94e0d8d-b107-44aa-b6ba-0cb8d2176bca"
}

Подтверждение платёжа пользователем

Для большинства способов оплаты после создания платёжа вам нужно получить согласие от пользователя, что он готов заплатить. Для этого пользователю нужно дополнительно что-то сделать, например пройти 3-D Secure при оплате банковской картой, подтвердить оплату в платёжном сервисе партнёра или оплатить счёт в интернет-банке.

Если от пользователя нужно получить подтверждение, созданный платёж сначала перейдёт в статус pending. В следующие статусы (succeeded или waiting_for_capture) платёж перейдёт, только если пользователь согласится внёсти оплату.

Если подтверждение не требуется, платёж сразу перейдёт в статус succeeded или waiting_for_capture.

Если пользователь передумает платить или что-то пойдёт не так (например, на счёте не окажется нужной суммы), платёж отменится и перейдёт в статус canceled.

Пользователь может подтвердить платёж только за определённый срок. Если он не сделает этого, Амра Касса отменит платёж, указав причину expired_on_confirmation. Подробнее о причинах отмены платёжа