До начала инициализации страницы перевода, Вам необходимо установить SDK в ваше мобильное приложение.

Инструкция установки iOS SDK Инструкция установки Android SDK

Инструкция по запуску страницы перевода в SDK

После настроек SDK в Вашем мобильном приложении, перейдите к настройке самого перевода.

У вас есть возможность запустить несколько видов перевода

  1. P2P
  2. OCT
  3. AFT
  4. Перевод на мобильный телефон

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

1. Инициализация инстанса Invoice

Перед тем как перейти на страницу оплаты, инициализируйте инстанс модели Invoice.

Описание общих полей

Наименование поляОбязательный параметрОписание
id (invoiceId)ДаНомер заказа, генерируется коммерсантом, должен быть уникальный для каждого нового заказа,от 6 до 15 цифр. Если ваш номер заказа содержит более 6 символов, то дополнительно уникальность должна соблюдаться по последним 6ти символам
amountДаСумма заказа
currencyДаВалюта
postLinkДаУведомление о платеже
failurePostLinkДаУведомление о неудачном платеже, если не заполнено, то информация будет отправленна на адрес указанный в postLink
backLinkДаСсылка для возврата в магазин при удачном платеже
failureBackLinkДаСсылка для возврата в магазин при не удачном платеже
descriptionНетОписание заказа, допустимое количество символов 125 байтов
isRecurrentНетtrue для настройки рекуррентного платежа, иначе false. По умолчанию, рекомендуем использовать false
autoPaymentFrequencyНетЧастота платежей:WEEKLY, MONTHLY, QUARTERLY_
homebankTokenНетДля возможности оплаты картами сохраненными в Homebank
accountIdНетНе обязательное поле для указание идентификатора клиента магазина
transferTypeДаP2P, AFT, OCT, byPhone. cardID → если у вас есть сохраненные в ePay данные карты получателя или отправителя, вы можете использовать данный тип перевода, чтобы не переводить карточные данные
senderCardНетcardID → если у вас есть сохраненные в ePay данные карты получателя или отправителя, вы можете использовать данный тип перевода, чтобы не переводить карточные данные
receiverCardНетcardID → если у вас есть сохраненные в ePay данные карты получателя или отправителя, вы можете использовать данный тип перевода, чтобы не переводить карточные данные

Пример инициализации инстанса Invoice iOS

    import EpaySDK

    let invoice = Invoice(
        id: invoiceId,
        amount: amount,
        currency: "KZT",
        accountId: "1",
        description: "",
        postLink: "https://testmerchant/order/1123",
        failurePostLink: "https://testmerchant/order/1123/fail",
        isRecurrent: false,
        autoPaymentFrequency: .weekly,
        transferType: .P2P
    )

    // Типы переводов
    public enum TransferType: String, CaseIterable {
      case P2P, AFT, OCT, CardId, byPhone} 

Пример инициализации инстанса Invoice Android

    import com.ss.halykepay.data.model.Invoice

    val invoice = Invoice(
        id = invoiceId,
        amount = amount,
        currency = "KZT",
        accountID = "1",
        description = "",
        postLink = "https://testmerchant/order/1123",
        failurePostLink = "https://testmerchant/order/1123/fail",
        isRecurrent = false,
        autoPaymentFrequency = Invoice.AutoPaymentFrequency.WEEKLY,
        isP2P = true,
    )

2. Запуск страницы платежа

Пример запуска на iOS

    import EpaySDK

    let pm = PaymentModel(authConfig: <Ранее настроенный AuthConfig>, invoice: <инстанс Invoice созданный пунктом выше>)

    let launchScreenVC = LaunchScreenViewController(paymentModel: pm)
    launchScreenVC.setEnvironmetType(type: .prod) //для теста использовать .dev
    navigationController?.pushViewController(launchScreenVC, animated: true)

Пример запуска на Android

Используя ранее созданный инстанс HalykEpaySDK, запустите платежную страницу передав инстанс Invoice

halykEpaySdk.launchEpay(invoice)

3. Обработка ответа

Настройки обработки ответа описаны в Инструкциях установки SDK