Сұрақтарыңыз бар болса, бір түймен біргеміз

Бізге хабарласу

Сынақ карталар

Сынақ өткізу мақсатында келесі сынақ карталарды пайдалануға болады.

Карта нөмірі (SSL) 4444 5555 1111 3333
Жарамдылық мерзімі 12/24
CVC 123
Карта нөмірі (3DS1) 4012 0010 3816 6662
Жарамдылық мерзімі 12/24
CVC 123
3-D Secure растау коды 12345678
Карта нөмірі (3DS2) 5555 5555 5555 5599
Жарамдылық мерзімі 12/24
CVC 123

Сілтеме арқылы төлем

Төленетін шот ( сол жақ навигациялық мәзірдегі) бөлімі сатып алушыға электрондық пошта арқылы тауар немесе қызмет үшін төлем жасауға шотты ұсынуға мүмкіндік береді. Шот ұсынылған соң, сатып алушы электрондық хабарды алып, ішіндегі сілтеме арқылы төлем бетіне өтеді.

Электрондық пошта арқылы төлем пішініне сілтемені жіберу

Клиентке шотты ұсыну және электрондық пошта арқылы төлем бетіне сілтемені жіберу үшін келесі әрекеттерді орындаңыз.

  1. Жеке кабинеттегі Төлем жасауға шот бөліміне өтіңіз. Жіберу параметрін енгізу беті көрсетіледі:

  2. Төмендегі кесте бойынша параметрлерді реттеңіз.

Реттеу Сипаттама
Төлеу түрі Екі әдістің біреуін таңдаңыз.
  • Бір кезеңді — төлемді жасағаннан кейін сіздің тарапыңыздан басқа әрекеттерді орындау қажет етілмейді.
  • Екі кезеңді — клиент төлемді растағаннан кейін төлемді жеке кабинетте аяқтау керек. Осы әрекеттерді орындамас бұрын сіз төлемді растағанша немесе растаудың күту мерзімі аяқталмағанша, қаражатыңыз клиент шотында ұсталып тұрады (холд).
    Төлем расталған кезде қаражат шотыңызға жіберіледі.
    Растауды күту мерзімі аяқталған жағдайда, клиент шотындағы қаражаттан бұғат шешіледі.
Клиенттің аты-жөні Клиенттің аты, тегі, әкесінің аты. Осы өріске енгізілген деректер төлем бетіне өткізетін сілтемесі бар хатта көрсетіледі.
Электрондық пошта Төлем жасауға сілтеме жіберілетін электрондық поштаның мекенжайы.
Төлеу мерзімі Шот бойынша төлем жасаудың соңғы күні мен уақыты. Осы мерзім аяқталған соң, ұсынылған шот бойынша төлем жасау мүмкін болмайды.
Төлем сипаттамасы Еркін түрде ұсынылған төлемнің сипаттамасы.
Төлем сомасы Төлем сомасын көрсетіңіз. Тапсырыста алдын ала толтырылған тауарлар себеті болса, осы өріс автоматты түрде толтырылады.
  1. Жіберу түймесін басыңыз. Сәтті жіберілген жағдайда, төменде төлем жасау пішініне сілтеме пайда болады:

Төлем жасауға сілтеме түймесін басып, клиентке жіберілген төлем бетін қарап шығуыңызға болады.

Төлем жасауға шотты ұсынған кезде тауарлар себетін құру

Төлем жасауға шотты құру кезінде тапсырыс бойынша тауарлар себетін көрсетуге болады. Себет бөлімі төлем жасауға сілтемені құру пішінінің астында орналасқан:

1. Тауарлар себетін толтыру үшін Тауарды қосу түймесін басыңыз. Қосылатын тауардың параметрлері бар жолақ көрсетіледі. 2. Төмендегі кесте бойынша қажетті өрістерді толтырыңыз.

Өріс Сипаттама
ID Себеттегі тауар позициясының идентификаторы. Автоматты түрде толтырылады.
Атауы Тауардың не қызметтің атауы.
Бағасы Бір тауар позициясының бағасы.
Саны Осы тауар позициясы бойынша тауарлардың саны.
Өлш. бір. Өлшем бірліктері, мысалы: л — литр, дн. — дана.
Сома Толық тауар позициясының жолағы бойынша жалпы сома. Бағасы және Саны өрістерін толтырған кезде автоматты түрде есептеледі.
Артикул Тауар позициясының артикулы.
  1. Тауарлар себетдегі әр позиция үшін қажетті әрекеттерді қайталаңыз. Қосылған позицияны жойғыңыз келсе, түймесін басыңыз.

Тауарлар себетін толтырған соң, клиентке шотты ұсыныңыз.

Сынақ төлем жасау

Сынақ төлем ретінде клиент тарапынан төлем процесін өз бетімен жасап көруіңізге болады. Бұл үшін: 1. Клиентке ұсынылатын шотты жасаңыз. 2. Шоттың сәтті ұсынылғаны туралы хабардағы Төлем жасауға сілтеме түймесін басып, төлем бетіне өтіңіз.

  1. Сынақ карталарының біреуін таңдап, деректемелерін енгізіңіз. Cardholder name өрісін бос қалдырыңыз.
  2. Төлем жасау түймесін басыңыз. Операцияны растау үшін сынақ картасы үшін көрсетілген 3-D Secure кодын пайдаланыңыз.

Редирект арқылы біріктіру

Редирект арқылы біріктіру

  1. Клиент Интернет-дүкенде өнімді таңдап, Сатып алу түймесіне басады.
  2. Интернет-дүкеннің сервері сатып алуға сұратымды алады.
  3. Интернет-дүкеннің сервері төлем шлюзінің серверімен байланысады.
  4. Төлем шлюзінің сервері тапсырысты жасап, төлеуге сілтемені құрастырады да, оны интернет-дүкеннің серверіне жібереді.
  5. Интернет-дүкен клиентті алынған сілтеме бойынша қайта бағыттайды.
  6. Төлем шлюзі төлем сілтемесін ашады.
  7. Клиент карта нөмірін, оның қолданылу мерзімін және CVV/CVC-кодын енгізіп, Төлеу түймесін басады.
  8. Төлем шлюзі төлеуге сұратымды өңдеп, клиентке төлемнің сәтті жасалғаны туралы хабарламаны көрсетеді.
  9. Клиент Интернет-дүкеннің бетіне қайта оралады немесе браузердің қойыншасын жабады.

Редирект арқылы біріктіруге түсініктеме

Тапсырысты тіркеу мысалы.

curl --request POST \
  --url https://3dsec.berekebank.kz/payment/rest/register.do \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data amount=2000 \
  --data currency=978 \
  --data userName=test_user \
  --data password=test_user_password \
  --data returnUrl=finish.html \
  --data description=my_first_order \
  --data language=en
{
  "orderId": "0179018d-8f96-7fbe-bc2b-4b7e00a7d8c0",
  "formUrl": "https://3dsec.berekebank.kz/payment/merchants/rbs/payment_en.html?mdOrder=0179018d-8f96-7fbe-bc2b-4b7e00a7d8c0"
}

Операция нәтижесін қарап шығу үшін дүкен қызметкері сатушы порталындағы жеке кабинеттен тапсырыстың күйін (қолмен) жүйелі түрде тексеріп тұрады.

Кері шақыру (callback) хабарландыруы арқылы біріктіру

Мерчант Редирект арқылы біріктіру соңғы қадамының орнына келесі нұсқалардың біреуін таңдай алады: * returnUrl параметрін пайдалану:
returnUrl ішіндегі мекенжай бойынша орналасқан (мысалы, https://www.merchantlogin.com/?back&orderId=61c33664-85a0-7d6b-af26-09ee009c4000&lang=en) мерчант беті картаның иесін төлеуге әрекет жасағаннан кейін шлюзден қайта бағыттауды сәйкестендірген кезде, мерчант getOrderStatusExtended сұратымы арқылы төлемнің күйін тексере алады.
Бұл нұсқа оңайырақ, бірақ ең сенімді емес, себебі қайта бағыттау орындалмауы мүмкін (мысалы, қосылым ажыраған кезде немесе карта иесі браузердің қойындысын жапқан жағдайда). Егер қайта бағыттау орындалмаса, онда returnUrl ішіндегі бетте «триггер» жұмыс істемейді, сәйкесінше getOrderStatusExtended сұратымы да болмайды.

curl --request POST \
  --url https://3dsec.berekebank.kz/payment/rest/getOrderStatusExtended.do \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data userName=test_user \
  --data password=test_user_password \
  --data orderId=016b6f47-4628-7ea2-80f5-6c6e00a7d8c0 \
  --data language=en
{
  "errorCode": "0",
  "errorMessage": "Success",
  "orderNumber": "11008",
  "orderStatus": 2,
  "actionCode": 0,
  "actionCodeDescription": "",
  "amount": 2000,
  "currency": "978",
  "date": 1618577250840,
  "orderDescription": "my_first_order",
  "merchantOrderParams": [
    {
      "name": "browser_language_param",
      "value": "en"
    },
    {
      "name": "browser_os_param",
      "value": "UNKNOWN"
    },
    {
      "name": "user_agent",
      "value": "curl/7.75.0"
    },
    {
      "name": "browser_name_param",
      "value": "DOWNLOAD"
    }
  ],
  "transactionAttributes": [],
  "attributes": [
    {
      "name": "mdOrder",
      "value": "016b7747-c4ed-70b3-bc36-fdd400a7d8c0"
    }
  ],
  "cardAuthInfo": {
    "maskedPan": "555555**5599",
    "expiration": "202412",
    "cardholderName": "TEST CARDHOLDER",
    "approvalCode": "123456",
    "pan": "555555**5599"
  },
  "authDateTime": 1618577288377,
  "terminalId": "123456",
  "authRefNum": "931793605827",
  "paymentAmountInfo": {
    "paymentState": "DEPOSITED",
    "approvedAmount": 2000,
    "depositedAmount": 2000,
    "refundedAmount": 0
  },
  "bankInfo": {
    "bankCountryCode": "UNKNOWN",
    "bankCountryName": "&ltUnknown&gt"
  }
}
https://myshop.com/callback/?mdOrder=1234567890-098776-234-522&orderNumber=0987&operation=deposited&status=1
https://myshop.ru/callback/?mdOrder=1234567890-098776-234-522&orderNumber=0987&checksum=DBBE9E54D42072D8CAF32C7F660DEB82086A25C14FD813888E231A99E1220AB3&operation=deposited&status=1

Тікелей біріктіру

Қаражаттарды резервтеу және байлаулы картасын құру

Тікелей біріктіру

  1. Клиент Интернет-дүкенде өнімді таңдап, Сатып алу түймесіне басады.
  2. Интернет-дүкеннің сервері сатып алуға сұратымды алып, төлем бетін ашады.
  3. Сатып алушы интернет-дүкеннің төлем бетінде өз картасының деректерін енгізеді.
  4. Интернет-дүкеннің сервері карта деректерін жинайды.
  5. Интернет-дүкеннің сервері clientId нөмірімен тапсырысты тіркейді, сосын төлем шлюзіне деректерді жібереді.
  6. Төлем шлюзі ACS серверіне қатынасуға рұқсат алу үшін Directory Server-мен өзара әрекет етеді. Ол ACS серверінен интернет-дүкенге қайта бағыттау үшін қажетті барлық деректерді қайтарады.
  7. Интернет-дүкеннің сервері төлем шлюзіне клиентті қайта бағыттайды.
  8. Төлем шлюзі клиентті ACS серверіне қайта бағыттайды.
  9. Карта иесі тапсырысты растайды, сосын ACS сервері оны төлем шлюзіне қайта бағыттайды.
  10. Клиент Интернет-дүкеннің бетіне қайта оралады немесе браузердің қойыншасын жабады.
  11. Төлем шлюзі кері қоңырау шалу туралы хабарландыруды интернет-дүкеннің серверіне бейсинхронды түрде жібереді.
  12. Интернет-дүкеннің сервері тапсырыстың күйін тексереді, нәтижесінде, кейінгі рекуррентті төлемдерде пайдаланылатын bindingId алады.

clientId тапсырысты тіркеу

curl --request POST \
  --url https://3dsec.berekebank.kz/payment/rest/registerPreAuth.do \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data amount=2000 \
  --data currency=978 \
  --data userName=test_user \
  --data password=test_user_password \
  --data returnUrl=finish.html \
  --data description=my_second_order \
  --data clientId=659753456 \
  --data 'jsonParams={"recurringFrequency": "5", "recurringExpiry": "20240101"}' \ 
  --data language=en
{
  "orderId": "017908cc-57c6-739a-ad25-df0d00a7d8c0",
  "formUrl": "https://3dsec.berekebank.kz/payment/merchants/rbs/payment_en.html?mdOrder=017908cc-57c6-739a-ad25-df0d00a7d8c0"
}

paymentOrder сұратымының әдісі

curl --request POST \
  --url https://3dsec.berekebank.kz/payment/rest/paymentorder.do \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data userName=test_user \
  --data password=test_user_password \
  --data MDORDER=019dbf02-e9f4-7fe2-b1c2-d50500a7d8c0 \
  --data '$PAN=4012001038166662' \
  --data '$CVC=123' \
  --data YYYY=2024 \
  --data MM=12 \
  --data 'TEXT=TEST CARDHOLDER' \
  --data 'ip=185.230.240.201' \
  --data language=en
{
  "info": "Your order is proceeded, redirecting...",
  "errorCode": 0,
  "acsUrl": "https://web.rbsuat.com/acs/auth/start.do",
  "paReq": "eJxVUtFu4jAQ/BWU92DHcSCpFle946ryAEd7FKl9OZl4gbSNA05ypP36s0NSWsmSd8br3fGO4brJ3wb/0JRZoSdeMKTeAHVaqEzvJt7j6taPvWsBq71BnP7BtDYoYI5lKXc4yNTEG48kj5KN8jfxOPH5NqZ+kiTURxYlSEMaxtvUE7C8ecCjgK6RsH2GDEgPbUWT7qWuBMj0+GO2EJyNR5QC6SDkaGZTEfGQhRzIGYGWOYpSarUpmr95VwJIS0Na1Loy72LEQyA9gNq8iX1VHa4IqbCshmmRA3EkkIuGZe2i0hZpMiUWH/en39NZs3j5xearHZ+vnk6LD7tPnyZAXAYoWaFglAWUB8mAjq/simIgLQ8yd93tefugM4CD63Hz9eQrA3bQxvrQy+8RYHMoNLo7QD5jeHDGCNgaPNZtXgTkAgC1OmdYiZwGNLB3ewpIv19e/fPO+ZBWdsYvxamWr6rcnNaqWMuQrbF+zqLlXbQ7OHfaJKcqs9NlPDjLcgCIK0M640n3Z2z07S/9Bypv08k=",
  "termUrl": "https://3dsec.berekebank.kz/payment/rest/finish3ds.do?lang=en"
}

ACS серверіне қайта бағыттау

Интернет-дүкен paReq, MD (MDORDER мәнімен бірдей) және termUrl параметрлерін POST әдісімен  acsUrl серверіне жіберуі қажет. Балама ретінде Интернет-дүкен карта иесін ACS эмитентіне дәл сондай қайта бағыттауды орындайтын acsRedirect шлюз әдісін пайдалануы мүмкін.

https://3dsec.berekebank.kz/payment/acsRedirect.do?orderId=017908cc-57c6-739a-ad25-df0d00a7d8c0

Тапсырыс күйін алу және bindingId

curl --request POST \
  --url https://3dsec.berekebank.kz/payment/rest/getOrderStatusExtended.do \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data userName=test_user \
  --data password=test_user_password \
  --data orderId=017908cc-57c6-739a-ad25-df0d00a7d8c0 \
  --data language=en
{
  "errorCode": "0",
  "errorMessage": "Success",
  "orderNumber": "11044",
  "orderStatus": 1,
  "actionCode": 0,
  "actionCodeDescription": "",
  "amount": 2000,
  "currency": "978",
  "date": 1618815949170,
  "orderDescription": "my_second_order",
  "ip": "185.230.240.201",
  "merchantOrderParams": [
    {
      "name": "browser_language_param",
      "value": "en"
    },

    {
      "name": "recurringExpiry",
      "value": "20240101"
    },
    {
      "name": "recurringFrequency",
      "value": "5"
    },

    {
      "name": "browser_os_param",
      "value": "UNKNOWN"
    },
    {
      "name": "user_agent",
      "value": "curl/7.75.0"
    },
    {
      "name": "browser_name_param",
      "value": "DOWNLOAD"
    }
  ],
  "transactionAttributes": [],
  "attributes": [
    {
      "name": "mdOrder",
      "value": "017908cc-57c6-739a-ad25-df0d00a7d8c0"
    }
  ],
  "cardAuthInfo": {
    "maskedPan": "401200**6662",
    "expiration": "202412",
    "cardholderName": "TEST CARDHOLDER",
    "approvalCode": "123456",
    "pan": "401200**6662"
  },
  "bindingInfo": {
    "clientId": "659753456",
    "bindingId": "0162d467-bbfe-77f3-9c21-415c00a7d8c0"
  },
  "authDateTime": 1618816213981,
  "terminalId": "123456",
  "authRefNum": "012851192298",
  "paymentAmountInfo": {
    "paymentState": "APPROVED",
    "approvedAmount": 2000,
    "depositedAmount": 0,
    "refundedAmount": 0
  },
  "bankInfo": {
    "bankCountryCode": "UNKNOWN",
    "bankCountryName": "&ltUnknown&gt"
  }
}

Тауарлар іс жүзінде тиелген кезде қаражатты есептен шығару жүргізіледі

Қаражатты есептен шығару

  1. Интернет-дүкеннің қызметкері интернет-дүкеннің жеке кабинетінде тапсырысты таңдайды.
  2. Интернет-дүкеннің басқару панелі есептен шығаруға сұратымды өзінің серверіне жібереді.
  3. Интернет-дүкеннің сервері deposit.do сұратымын жібереді.
curl --request POST \
  --url https://3dsec.berekebank.kz/payment/rest/deposit.do \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data userName=test_user \
  --data password=test_user_password \
  --data amount=2000 \
  --data orderId=017908cc-57c6-739a-ad25-df0d00a7d8c0 \
  --data language=en
{
  "errorCode": "0",
  "errorMessage": "Success"
}

Бірнеше күннен кейін сатушы бүлінген күйінде жеткізілген тауарлар үшін қаражатты ішінара қайтаруды бастайды.

Қаражатты қайтару

  1. Интернет-дүкеннің қызметкері интернет-дүкеннің жеке кабинетінде тапсырысты таңдайды.
  2. Интернет-дүкеннің басқару панелі қайтаруға сұратымды өзінің серверіне жібереді.
  3. Интернет-дүкеннің сервері refund.do сұратымын жібереді.
curl --request POST \
  --url https://3dsec.berekebank.kz/payment/rest/refund.do \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data userName=test_user \
  --data password=test_user_password \
  --data orderId=017908cc-57c6-739a-ad25-df0d00a7d8c0 \
  --data amount=2000 \
  --data language=en
{
  "errorCode": "0",
  "errorMessage": "Success"
}

Сатушы ай сайынғы тұрақты төлемді іске қосады

Рекуррентті төлем

  1. Интернет-дүкеннің сервері тапсырысты тіркейді, сосын bindingId көрсету арқылы төлемді іске қосады.
  2. Интернет-дүкен төлемнің күйін тексеруі немесе қол қойылған callback-хабарландыруды күтуі мүмкін.

Кейінгі рекуррентті төлемді тіркеу

curl --request POST \
  --url https://3dsec.berekebank.kz/payment/rest/register.do \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data amount=2000 \
  --data currency=978 \
  --data userName=test_user \
  --data password=test_user_password \
  --data returnUrl=finish.html \
  --data clientId=259753456 \
  --data description=my_first_order \
  --data language=en \
  --data features=AUTO_PAYMENT
{
  "orderId": "01791274-d9ca-7103-b148-7dc000a7d8c0",
  "formUrl": "https://3dsec.berekebank.kz/payment/merchants/rbs/payment_en.html?mdOrder=01791274-d9ca-7103-b148-7dc000a7d8c0"
}

Тапсырысты тіркеуге берген formUrl жауабында елемеуге болады. Рекуррентті төлеу үшін ол қажет емес. Сосын, рекуррентті төлемді аяқтау үшін өзіңіздің серверіңізден paymentOrderBinding.do сұратымын жіберіңіз.

bindingId идентификаторымен рекуррентті төлем

curl --request POST \
  --url https://3dsec.berekebank.kz/payment/rest/paymentOrderBinding.do \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data userName=test_user \
  --data password=test_user_password \
  --data mdOrder=01791274-d9ca-7103-b148-7dc000a7d8c0 \
  --data bindingId=01491394-63a6-7d45-a88f-7bce00a7d8c0 \
  --data ip=1d0d:db8:6:1::77 \
  --data language=en
{
  "redirect": "https://3dsec.berekebank.kz/payment/merchants/rbs/finish.html?orderId=01791274-d9ca-7103-b148-7dc000a7d8c0&lang=en",
  "info": "Your order is proceeded, redirecting...",
  "errorCode": 0
}

Кейінгі рекуррентті төлемнің күйін тексеру

curl --request POST \
  --url https://3dsec.berekebank.kz/payment/rest/getOrderStatusExtended.do \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data userName=test_user \
  --data password=test_user_password \
  --data orderId=01791274-d9ca-7103-b148-7dc000a7d8c0 \
  --data language=en
{
  "errorCode": "0",
  "errorMessage": "Success",
  "orderNumber": "11045",
  "orderStatus": 2,
  "actionCode": 0,
  "actionCodeDescription": "",
  "amount": 2000,
  "currency": "978",
  "date": 1618816612879,
  "orderDescription": "my_first_order",
  "ip": "1d0d:db8:6:1::77",
  "merchantOrderParams": [
    {
      "name": "browser_language_param",
      "value": "en"
    },
    {
      "name": "browser_os_param",
      "value": "UNKNOWN"
    },
    {
      "name": "user_agent",
      "value": "curl/7.75.0"
    },
    {
      "name": "browser_name_param",
      "value": "DOWNLOAD"
    }
  ],
  "transactionAttributes": [],
  "attributes": [
    {
      "name": "mdOrder",
      "value": "01791274-d9ca-7103-b148-7dc000a7d8c0"
    }
  ],
  "cardAuthInfo": {
    "maskedPan": "555555**5599",
    "expiration": "202412",
    "cardholderName": "TEST CARDHOLDER",
    "approvalCode": "123456",
    "pan": "555555**5599"
  },
  "bindingInfo": {
    "clientId": "259753456",
    "bindingId": "01491394-63a6-7d45-a88f-7bce00a7d8c0"
  },
  "authDateTime": 1618816705914,
  "terminalId": "123456",
  "authRefNum": "947633173729",
  "paymentAmountInfo": {
    "paymentState": "DEPOSITED",
    "approvedAmount": 2000,
    "depositedAmount": 2000,
    "refundedAmount": 0
  },
  "bankInfo": {
    "bankCountryCode": "UNKNOWN",
    "bankCountryName": "&ltUnknown&gt"
  }
}
Санаттар:
eCommerce API V1
Санаттар
Іздеу нәтижелері