До начала инициализации страницы перевода, Вам необходимо установить 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НетНе обязательное поле для указание идентификатора клиента магазина
Тип переводаДа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