До начала инициализации платежной страницы, Вам необходимо установить 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
    )