До начала инициализации платежной страницы, Вам необходимо установить SDK в ваше мобильное приложение.
Инструкция установки Android SDK
Инструкция по запуску платежной страницу в SDK
После настроек SDK в Вашем мобильном приложении, перейдите к настройке самого платежа.
- Оплата Банковской картой
- Платеж по HalykQR
- Покупка в рассрочку/кредит
- MasterPass
- iOS Specific
- Apple Pay
- Android Specific
- Google Pay
- Samsung Pay
- Сохраненными картами в 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:
- Приложение мерчанта получает сессию, токен карты покупателя
- Передает в SDK данные для оплаты по Masterpass
- Клиент производит действие в 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
)