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

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

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

Инструкция по запуску платежной страницу в SDK

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

  1. Оплата Банковской картой
  2. Платеж по HalykQR
  3. Покупка в рассрочку/кредит
  4. MasterPass
  5. iOS Specific
    1. Apple Pay
  6. Android Specific
    1. Google Pay
    2. Samsung Pay
  7. Сохраненными картами в Homebank (доступно только для систем экосистемы Halyk)

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

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НетНе обязательное поле для указание идентификатора клиента магазина

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

Для инициализации Invoice платежа, необходимо передать transferType=nil

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
)

Пример инициализации инстанса 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
)

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. MasterPass

Принцип работы MasterPass:

  1. Приложение мерчанта получает сессию, токен карты покупателя
  2. Передает в SDK данные для оплаты по Masterpass
  3. Клиент производит действие в SDK и проводит оплату

Инициализация оплаты по Masterpass iOS

import EpaySDK

masterPass = MasterPassData(
  cardData: MasterPassCardData(
    token: "BC0B67F5F218414C8DC7AFF47ED33893", 
    CardHolder: "JON JONSON", 
    ExpiryDate: "04/24", 
    PANMask: "440563...5096", 
    CardStatus: 1),
  merchantName: "Kcell",
  session: "372d7003-fff1-4ba8-99e3-55a11532ece5",
  masterPassAction: MasterPassAction(
    SaveCard: false, 
    updateSaveCard: false, 
    recurring: false)
)

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,
  masterPass: masterPass
)

Инициализация оплаты по Masterpass Android

import com.ss.halykepay.data.model.Invoice
import com.ss.halykepay.data.model.MasterPass
import com.ss.halykepay.data.model.MasterPassAction
import com.ss.halykepay.data.model.MasterPassCardData

masterPass = MasterPass(
  cardData = MasterPassCardData(
    token = "BC0B67F5F218414C8DC7AFF47ED33893",
    CardHolder = "JON JONSON",
    ExpiryDate = "04/24",
    PANMask = "440563...5096",
    CardStatus = 1),
  merchantName = "Kcell",
  session = "372d7003-fff1-4ba8-99e3-55a11532ece5",
  MasterPassAction = MasterPassAction(
    SaveCard = false,
    updateSaveCard = false,
    recurring = false)
)

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,
  masterPass = masterPass
)