Google Pay™ көмегімен төлемдерді қабылдауды үйреніңіз.


Қосылу бойынша нұсқаулық

Бұл нұсқаулық API арқылы өзара әрекеттесу кезінде өз төлем бетінде Google Pay арқылы төлеу мүмкіндігін қосуға арналған. Интеграцияның осындай әдісі болған кезде төлем беті белгілі бір талаптарға сай болуы керек, оның ішінде https арқылы жұмыс істей білуі және Google Pay ™ талаптарына сай болуы керек:


Сервиспен жұмыс істеу принципі

Google Pay батырмасын басу арқылы пайдаланушы Google аккаунтында сақталған төлеу әдістері мен жеткізу мекенжайлары көрсетілген бетке өтеді. Мұнда пайдаланушы төлеу әдісін тез таңдай алады.

Төлеу процесі қалай жүреді:

  1. Google Pay батырмасын басу арқылы пайдаланушы қол жетімді төлеу әдістерінің тізімі бар бетке өтіп, қалағанын таңдайды;
  2. Google Pay көрсетілген төлеу әдісіне сәйкес келетін токенді сіздің сайтыңызға қауіпсіз түрде жібереді;
  3. Сіздің сайтыңыз серверіңізге токенді және төлемнің басқа да егжей-тегжейлерін жібереді;
  4. Сервер деректерді өңдейді және токенді төлем қызметтерін жеткізушіге береді.

API арқылы төлеу

API арқылы жұмыс істеу үшін компанияның PCI DSS сертификаты болуы керек.

Тіркелу кезінде Сізге төлем жасау кезінде пайдалану қажет төмендегі деректер беріледі:

  • TerminalID – дүкен сәйкестендіргіші
  • ClientID – клиент сәйкестендіргіші
  • ClientSecret – құпия кілт

Төлем жасау үшін токенді алу

    URL POST https://testoauth.homebank.kz/epay2/oauth2/token

Cұрау салу

    grant_type: "client_credentials"
    scope: "payment"
    client_id: "ClientID"
    client_secret: "ClientSecret"
    invoiceID: "Номер заказа"
    amount: 100
    currency: "KZT"
    terminal: "MerchantID"

Жауап

    {
       "access_token": "DCEB8O_ZM5U7SO_T_U5EJQ",
       "expires_in": 7200,
       "scope": "payment",
       "token_type": "Bearer"
    }

Қосымша сілтемелерді саламыз:

https://testepay.homebank.kz/api/payment/cryptopay -> Test URL
https://epay-api-staging.homebank.kz/api/payment/cryptopay –> Staging URL
https://epay-api.homebank.kz/api/payment/cryptopay -> Prod URL

Сұрау салу тақырыбы

    Content-Type: application/json
    Authorization: Bearer <code> DCEB8O_ZM5U7SO_T_U5EJQ </code>

Request JSON

{
    "amount": 100.0,
    "currency": "KZT",
    "name": "",
    "invoiceId": "",
    "description": "",
    "accountId": "",
    "email": "",
    "phone": "",
    "backLink": "",
    "failureBackLink": "l",
    "postLink": "",
    "failurePostLink": "",
    "language": "",
    "paymentType": "googlePay",
    "googlePay": {
"apiVersionMinor": 0,
"apiVersion": 2,
"paymentMethodData": {
    "description": "Visa •••• 1111",
    "tokenizationData": {
        "type": "DIRECT",
        "token": "{\"signature\":\"MEUCIQCg8EVRDoaFCClQt/B4P85kaI0o01Te7PtzK4geb020NgIgH/4QjV0g90wiSaIp5j2khIUehyBra5EBUYW4dRi9zWw\\u003d\",\"intermediateSigningKey\":{\"signedKey\":\"{\\\"keyValue\\\":\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEiPFGsUB3r5u94GfMb/qudvqnUm1ChMQJKb9DII454LnSflKA2CmwSCofunjyme+3YFEt58fQEhMCQTrfbJNSCA\\\\u003d\\\\u003d\\\",\\\"keyExpiration\\\":\\\"1650607298547\\\"}\",\"signatures\":[\"MEQCICLflkEi/5Gcf+yZVeoyqSgpobNYrTbfU8RYWooXoGMPAiAdeWeuPw5PMNCJynZN+2/AzHKEujn5x8DWb6nqwD0BdA\\u003d\\u003d\"]},\"protocolVersion\":\"ECv2\",\"signedMessage\":\"{\\\"encryptedMessage\\\":\\\"YDpsNtp8w1jnvnW1O6OBVjlX4p/cw+060kxrdHU3hOo5Dhq0UeO/2Pk6Y/lOpSq6xHgPQRM1BcalJU9QxKt6DjVm4mRx4CjZjiUu283ktfghFEmitR69HiTmvb1kRE1YAjcUpFadfoM9SsGC5YrJEe/5eRybwkn6IcSgJZZZ9CLqaw7qAjIZkZGbjNrSy9QdESDUdzcN5A7GMOWRMuQC/k9BmsBkvT7SLzikasPhLPP8z56J8E+m01nNBE5BCPhrLyu/aGoJNSdIJoRJoN88b//mS5b+TKsEIglGej8w54lpwpPr8GbqSPePHooN53QCkplY2t+LxO2Pr4jHEMb/ZaTQ36+58ZqUfV4jaYcds1SLuLMTns/3hnuTVZgg1zfBMQsNgZE5niAKPybL/RaRavRDX/GK4kVNjgsF1QWs8z2aOlBsx9krppHdthE\\\\u003d\\\",\\\"ephemeralPublicKey\\\":\\\"BP3QeTVZ6wpe3D83/OzF5A5FoNHDDnvBffeR8PAagr5PZP55SNR237a+QPyKUYmvKPYXe1R0I61GVK09LvkeGWE\\\\u003d\\\",\\\"tag\\\":\\\"Lq8NsPTu1rdHhthYFUtzptcV7aD7ViLVD8UddD8hNzY\\\\u003d\\\"}\"}"
    },
    "type": "CARD",
    "info": {
        "cardNetwork": "VISA",
        "cardDetails": "1111"
    }
}
    }
}


Google Pay-ді веб-бетке қосу үшін сатушының қажетті әрекеттері

Google Pay арқылы төлемдерді қабылдамас бұрын, Google тарабынан қойылған барлық талаптармен және шарттармен танысып шығыңыз.

Веб-бетті Googel Pay API-ға қосу: :

Қосылу бойынша құжаттама: :

Веб-бетті Google Pay-ге қосу бойынша ұсыныстар:

Пайдалы жүктемені талдау бойынша құжаттама

Тестілік карталардың жиынтығы


Google Pay-ді қосымшаға қосу үшін сатушының қажетті әрекеттері

Google Pay арқылы төлемдерді қабылдамас бұрын, Google тарабынан қойылған барлық талаптармен және шарттармен міндетті түрде танысып шығыңыз.

Android қосымшасын Google Pay API-ға қосу:

Қосылу бойынша құжаттама:

Android қосымшасын Google Pay-ге қосу бойынша ұсыныстар:

Төлем деректеріне арналған параметрлер

Параметрлер ретінде мыналарды көрсету керек:

Қол жетімді төлем әдістері: const allowedCardAuthMethods = ['PAN_ONLY', 'CRYPTOGRAM_3DS'];

Токенизация түрі - PAYMENT_GATEWAY

Параметр gateway Gateway halykbank және gatewayMerchantId параметрлері - тестілеуіңіз үшін қолдануға болады, бірақ нақты төлемдер үшін бұл параметрді менеджеріңізден алуыңыз керек:

     const tokenizationSpecification = {
      type: "PAYMENT_GATEWAY",
      parameters: {
  'gateway': "halykbank",
  'gatewayMerchantId': "halykbank"

Сұрау салуларды баптау мысалы

1.Сұрау салуларды іске қосуға арналған параметрлер:

isReadyToPay
const readyToPayRequest = {
    "apiVersion": 2,
    "apiVersionMinor": 0,
    "allowedPaymentMethods": [
{
    "type": "CARD",
    "parameters": {
        "allowedAuthMethods": [
            "PAN_ONLY",
            "CRYPTOGRAM_3DS"
        ],
        "allowedCardNetworks": [
            "MASTERCARD",
            "VISA"
        ]
    }
}
    ]
}

2.Сұрау салуларды іске қосуға арналған параметрлер:

   loadPaymentData
const paymentDataRequest = {
    "apiVersion": 2,
    "apiVersionMinor": 0,
    "allowedPaymentMethods": [
{
    "type": "CARD",
    "parameters": {
        "allowedAuthMethods": [
            "PAN_ONLY",
            "CRYPTOGRAM_3DS"
        ],
        "allowedCardNetworks": [
            "MASTERCARD",
            "VISA"
        ]
    },
    "tokenizationSpecification": {
        "type": "PAYMENT_GATEWAY",
        "parameters": {
            "gateway": "halykbank",
            "gatewayMerchantId": "halykbank"
        }
    }
}
    ],
    "transactionInfo": {
"countryCode": "RU",
"currencyCode": "RUB",
"totalPriceStatus": "FINAL",
"totalPrice": "1.00"
    }


Төлеу сценарийі

  1. Клиент Google Pay төлем әдісін таңдайды.
  2. Клиент картаны таңдайды немесе оны қосады егер сақталған карталар болмаса.
  3. Google Pay жасырын карта деректерін қосымшаға қайтарады.
  4. Қосымша Клиентке Google Pay-ге қосылған жасырын карта деректерін көрсетеді.
  5. Клиент төлемді Google Pay-ге қосылған карта арқылы растайды.
  6. Қосымша Google Pay-ден шифрланған карта деректеріне сұрау салады.
  7. Google ашық кілтті пайдаланып деректерді шифрлайды-оған сәйкес келетін жабық кілт төлем шлюзінде орналасқан. Ашық кілтті өзіңіз жасаңыз және Google-ге жіберіңіз (https://developers.google.com/pay/api/web/guides/resources/payment-data-cryptography?hl=ru )
  8. Google қосымшаға шифрланған төлем туралы деректерді қайтарады.
  9. Қосымша төлем шлюзіне Google Pay жүйесінен алынған токенді көрсете отырып, Google Pay-ге төлеуге сұрау салуды жібереді.
  10. Төлем шлюзі алынған таңбалауышты ашып көрсетеді және төлемді жүзеге асырады.
  11. Карта 3-D Secure-ге тартылған жағдайда, төлем шлюзі төлеуге сұрау салуға жауап жібереді, онда серверге қайта бағыттау сілтемесі бар, бұл жерде біз 3D деректерін енгіземіз.
  12. Пайдаланушы сайтқа өтіп, аутентификацияланады.
  13. Сәтті аутентификациядан кейін пайдаланушы ACS сайтынан төлем шлюзінің бетіне жіберіледі.
  14. Төлем шлюзі төлем нәтижесін қосымшаға қайтарады.
  15. Қосымша клиентке төлем нәтижесін көрсетеді.

Барлық сатушылар Google Play API пайдалану саясатын ұстанып, Google Pay API қызметтерін ұсыну талаптарында белгіленген талаптарды қабылдауы керек. https://payments.developers.google.com/terms/aup https://payments.developers.google.com/terms/sellertos