До начала инициализации страницы перевода, Вам необходимо установить SDK в ваше мобильное приложение.
Инструкция установки iOS SDK Инструкция установки Android SDK
Инструкция по запуску страницы перевода в SDK
После настроек SDK в Вашем мобильном приложении, перейдите к настройке самого перевода.
У вас есть возможность запустить несколько видов перевода
- P2P
- OCT
- AFT
- Перевод на мобильный телефон
Для возможности использования данных типов переводов, Вам необходимо обратиться к Вашему менеджеру.
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