Төлем бетін инициализациялауды бастамас бұрын, Сізге мобильді қосымшаңызға 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
    1. 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 .dev
navigationController?.pushViewController(launchScreenVC, animated: true)

Android-та іске қосу мысалы

Бұрын жасалған HalykEpaySDK инстансын пайдаланып, Invoice инстансын беру арқылы төлем бетін іске қосыңыз 

halykEpaySdk.launchEpay(invoice)

3. MasterPass

Masterpass жұмысының принципі:

  1. Мерчанттың қосымшасы сессияны, сатып алушы картасының токенін алады
  2. Masterpass арқылы төлеу үшін деректерді SDK-ға жібереді
  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
)