Документація

Документація

  • EN
  • UK

›Documentation

Документація

  • Payment Gateway
  • PortmoneDirect
  • Google Pay
  • Apple Pay
  • Structured Link
  • iOS E-com SDK
  • Android E-com SDK
  • Masterpass iOS SDK
  • Masterpass Android SDK
  • H2H JSON ASYNC для PCI DSS
  • Visa/Masterpass Products

Documentation

  • Payment Gateway
  • PortmoneDirect
  • Google Pay
  • Apple Pay
  • Structured Link
  • iOS E-com SDK
  • Android E-com SDK
  • Masterpass iOS SDK
  • Masterpass Android SDK
  • H2H JSON ASYNC for PCI DSS
  • Visa/Masterpass Products

Google Pay Integration Guide

1. Introduction

Google Pay™ is the fast, simple way that allows you to make card payments without entering card details for each payment. The card data is safely stored by Google. This payment method is available for all devices (mobile phones and computers), regardless of the operating system and web browser.

2. Connection via Portmone.com page

Preconditions

  1. You should sign an agreement with Portmone.com.

  2. You need to agree with Google Pay Terms of Service.

Description

With this connection method, you do not need to perform additional integrations. The Google Pay button will be displayed on Portmone.com payment page. You can manage payment methods and the order in which the payment instruments (including Google Pay) are displayed using JSON-request (see section 3.2 of documentation) or contacting the cooperation manager.

An example of payment page

3. Connection with Google Pay API

Preconditions

  1. You should register with Google Pay API.

  2. Your website should use HTTPS and support TLS protocol.

  3. To integrate your website or mobile application with the Google Pay, proceed according to the following instructions:

    • API documentation:

    a) for mobile application

    b) for website

    • Brand guidelines

    a) for mobile application

    b) for website

How it works?

Google Pay Flow

  1. You request the encrypted payment data from your application.
  2. Google Pay returns the encrypted data after buyer authentication.
  3. You send the encrypted payment data to your server.
  4. You send an JSON-request to Portmone.com containing the encrypted data.
  5. We send you the payment response
  6. You inform the buyer of the outcome

How to integrate the Google Pay method?

Step 1. Use Google Pay API to get PaymentData.

Settings parameters:

a. allowPaymentMethods : CARD

b. tokenizationSpecification = { "type": "PAYMENT_GATEWAY"}

allowedCardNetworks = ['MASTERCARD', 'VISA'];

allowedCardAuthMethods = ['PAN_ONLY', 'CRYPTOGRAM_3DS'];

c. gateway = portmonecom

d. gatewayMerchantId - A unique identifier of the online shop. Assigned to each partner individually when connected to the Portmone.com system.

An example of dataset returned by Google Pay:

{
   "apiVersionMinor":0,
   "apiVersion":2,
   "paymentMethodData":{
      "description":"Mastercard •••• 5179",
      "tokenizationData":{
         "type":"PAYMENT_GATEWAY",
         "token":{"signature":"MEYCIQC+IHxUu9Wwra2Vu6tBa2wJPCMT3pWtN1VphLGYtNVLLwIhAOkdbNje//eLrXVc+n6LOlc4PqxWOUcqwrmki/CNA1ur","intermediateSigningKey":{"signedKey":"{\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwhRrvGB0kZ1248MEJAPwX0YfrQInhyyRM7nyGFjQuzGSViZG3QC9NMvXR9Zd6uVcVzAz+6K/+NEGIWbX8zbk6A\\u003d\\u003d\",\"keyExpiration\":\"1571208568000\"}","signatures":["MEUCIQCR6vIEiyHB8qmlho4/tLd7W8CIGrZDJlCI48CBHeFPvQIgLZJIe4cZv6pYtYYa56QCI/vvg1GqXTP3bTBjO49r5mI\u003d"]},"protocolVersion":"ECv2","signedMessage":"{\"encryptedMessage\":\"k85CGUMmd5PaGmQlHFqHc0HrDZmjM1yG82rFB/p31ZyUleN5nihzjOZif/BKXwg3XA2oLXqBSSWcAdfZwXxCEOqvAQE+kpTC7qVO4wTPip6RruraT6vO9M9FtIf0kcqzYSAN7pl1SUA5jC9rHrqucPoh0/FSspup78SWBt8TnmVKC9O3sQhIZ3SMoGOG4mdjtIrgCwWH2cbrxUH0dHAqOe5ANGOY/mII4nTEp7xaKu41hK/kFE15zVyqgPJXP9bPxzMVk/ozEZSfhSzVTS+9stjkU/kT5EibKB3O1bbxyybKcGQ5vxBOtNOBKKd/NuqNmN2eEK3UbSKb1M3gv45gT9cCeEvlzO7Wg0N100vUBp9RPDN9TH4tj4w578sWFKfTi6FsSrZB27SGWcU0EaKHO9buo94mRBY5yqffF3bKg5mAMPzjDhyHSujqWKAs9C5fBzMEuEr2z7A23kfLqBceH5uS9LJMiZ/yVKCwfpY9u2XyCjKdp7I\\u003d\",\"ephemeralPublicKey\":\"BAMDAtfgcPNuzItrwGLigGj3rtxmyHhZLwx1B4RJZ2oo11jpFf3SA6a3utryCMmlCEcqLfLn6WDH2ArrNBGn+Ew\\u003d\",\"tag\":\"T/qhZ/XY5/3Fe4QBKafm6NqS6EzwVeiKXhRlp8NeWrA\\u003d\"}"}
      },
      "type":"CARD",
      "info":{
         "cardNetwork":"MASTERCARD",
         "cardDetails":"5179"
      }
   }
}

The data obtained from token should be send to the API Portmone.com using gPayToken request parameter.

Method: GPay

URL: https://www.portmone.com.ua/r3/api/gateway.

Request parameters:

ParameterDescriptionRequired
loginThe Online Store login to access account managementYes
passwordThe Online Store passwordYes
gPayTokenToken received from the Google Pay systemYes
payeeIdA unique identifier of the Online Store. Assigned to each Partner individually when connected to the Portmone.com systemYes
billAmountAmount of the payment. The decimal separator is the dot symbol. For example: "10.21"Yes
descriptionPayment description (comment to the order / payment details)No
shopOrderNumberNumber of paid order (bill) in the Online Store systemNo
emailRecipientE-mail address of the clientNo
preauthFlagPayment pre-authorization flag (value "Y" indicates that this payment is carried out using the pre-authorization procedure, value "N" is a regular payment without pre-authorization)No
billCurrencyCurrency of the payment. Possible values: UAH (default value), USD, EUR, GBP, BYN, KZT, RUBNo
shop_site_idPayment channel in the Portmone systemNo
threeDsSection of parameters used to specify the merchant URL (termUrl or appUrl) to which the client will be redirected after successfully passing the 3D Secure checkNo
termUrlSet "Y" or not use this parameterNo
appUrlAn appUrl of the merchant (when integrating mobile application with Google Pay)No
clientIpThe value of the IP address of the payerNo

An example of request:

{
    "method":"GPay",
    "params": {
        "data":{
        "login":"wdishop",
            "password":"wdi451",
            "gPayToken":{"signature":"MEUCIQD+9/PnFvB+Lo6d/eHpgqQrMvmRDZdW1AcjQKavHrcPmQIgeVjR1hXqH7hkCn+VZqx/kjdofMIYbyL15Xp52mR9+2s\u003d","intermediateSigningKey":{"signedKey":"{\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBOHyOhwWk6SK5nqhFBBI1hSvWHAaOO0Ukbrl56zx7fPNttFFKs2U10f6EWbdhULrv4QT4qMNbyVAq8ig1jdsYA\\u003d\\u003d\",\"keyExpiration\":\"1570945959000\"}","signatures":["MEYCIQCe6t42U5OemtGGdYC6npBNbVxe1HbTF8pUkSD7mO+CWAIhAI/0M/XQuW6i8reT0LCNHKoNfgWYwOWHBoj2wpZdgKHh"]},"protocolVersion":"ECv2","signedMessage":"{\"encryptedMessage\":\"U9ChAIukmQ85TdZKAU/26mJUwUt3cVpJmx/JtFi350F/KiRNiIEGi1CmkgVe+ohzikkKLo37Ty3YQjyjVHNTHmF3AyNVTIJCL7qYybt+aFNI1XFlpv3ArWU+fH8Bi190tl7lLyyeNjWx8L402spsLpuUe9OLLjazIq0Vfjw3wRZ2B2+ybUrnoz5Iydapn8B7c/QqR7w53n6svIK58q7eL159Ano0GyfLpUOLLQ949MhP1ze***UzapUGtMd0k0c/4Nnkfs2TnN6ETEtP8y9J29hYKGVOCo79rRSN2xLsYXGNawIiPc6082HWB82JyuW2bfWAL1R0W+2iql2dBWY\\u003d\",\"ephemeralPublicKey\":\"BPYYpVT5INyXSwoNbP/HuGkjQnfnUwUPMH2bCp6Od3EoihnegFZObjP0IVvDA5YfNlLDJjHutBDj30GW5Fei8xw\\u003d\",\"tag\":\"qt4FcCGO4rp969CBBTPJ0nhAeQeR+rOM0FmXk8DdGLQ\\u003d\"}"},
            "payeeId":"1185",
            "billAmount":"10.21",
            "description":"test payment",
            "shopOrderNumber":"123456",
            "attribute1":"1",
            "attribute2":"2",
            "attribute3":"3",
            "attribute4":"4",
            "emailRecipient":"[email protected]",
            "billCurrency":"UAH",
            "preauthFlag":"N",
            "shop_site_id" : "",
            "threeDs":{
                "termUrl":"Y",
                "appUrl":"https://portmone2.com/r3/ecommerce/test/master-test-from"
            },
        "clientIp": "127.0.0.7"    
        }
    },
    "id": "1"
}

Response parameters:

ParameterDescription
statusThe result of payment. Possible values:
- PAYED – successful payment,
- REJECTED – rejected,
- CREATED – order created, but not paid
errorCodeError code. If the parameter value is "0", this means that the payment was successful or additional verification is required (see the value of the isNeed3Ds parameter). If the parameter value is greater than 0 or empty, an error has occurred
errorError description. See Error codes table
shopBillIdA unique identifier (ID) assigned to each transaction (payment document) in the Portmone.com system
billAmountThe transaction amount sent in the request
billNumberNumber of an order (bill) in the Online Store system. Maximum length is 120 symbols
attribute1Service field. Filled at company’s discretion
attribute2Service field. Filled at company’s discretion
attribute3Service field. Filled at company’s discretion
attribute4Service field. Filled at company’s discretion
cardMaskPayer’s card mask or token mask
actionMPIThe card issuing bank page URL to which client should be redirected to confirm payment with 3D Secure
pareqParameter which should be sent to actionMPI for 3D Secure check
authCodeBank authorization code
descriptionComment to the order / description of payment details. Maximum length is 250 symbols
langErrore message languge. Depends on the localization of the endpoint you requested*
mdParameter which should be sent to actionMPI for 3D Secure check
isNeed3DS3DS-authorization flag ("Y" - 3D Secure check is required, "N" - no additional actions required)
tokenToken value for subsequent payments. For payment methods GPay and APay token is not generated
billCurrencyCurrency of the payment
transactionIdTransaction ID in the acquiring bank system
termUrlURL of the merchant site to which the issuing bank returns a response message after passing 3D Secure. The value is generated by the Portmone system
successUrlappUrl of the merchant site to which the issuing bank returns a response message after passing 3D Secure (if this value was passed in the appUrl parameter of the payment request)
pdfUrlLink to save payment receipt. Provided to the client if status=PAYED
shop_site_idPayment channel in the Portmone system

Note: * – to receive localized error texts, you should send a request to the appropriate endpoint:

https://www.portmone.com.ua/r3/api/gateway – default is Ukrainian https://www.portmone.com.ua/r3/uk/api/gateway – for messages in Ukrainian https://www.portmone.com.ua/r3/ru/api/gateway – for messages in Russian https://www.portmone.com.ua/r3/en/api/gateway – for messages in English

An example of successful response:

{
    "result": {
        "status": "PAYED",
        "errorCode": "0",
        "error": "",
        "shopBillId": "550298815",
        "billAmount": "1.01",
        "billNumber": "SHP-00000002",
        "attribute1": "",
        "attribute2": "",
        "attribute3": "",
        "attribute4": "",
        "cardMask": "535560******3735",
        "actionMPI": "",
        "pareq": "",
        "authCode": "67037Z",
        "description": "test payment",
        "lang": "uk",
        "md": "",
        "isNeed3DS": "N",
        "token": "",
        "billCurrency": "UAH",
        "transactionId": "927500948048",
        "pdfUrl": "https://www.portmone.com.ua/r3/services/receipts/get-receipts/shop-bill-id/35357a20f10b49519794e81b48b20d0402cd2b7654553048021cb230400befdf94bacfbb12bd77983adae9422fbcc51cf0987a171403f08b33b2d119249845bad4e457",
        "shop_site_id" : ""
    },
    "id": "1"
}

An example of failure:

{
    "result": {
        "status": "REJECTED",
        "errorCode": "5",
        "error": "Transactions has exceeded the limit by your bank",
        "shopBillId": "5530964511",
        "billAmount": "1",
        "billNumber": "P55309624511",
        "attribute1": "A",
        "attribute2": "",
        "attribute3": "",
        "attribute4": "",
        "cardMask": "535560******3735",
        "actionMPI": "",
        "pareq": "",
        "authCode": "",
        "description": "test payment",
        "lang": "en",
        "md": "",
        "isNeed3DS": "N",
        "token": "",
        "billCurrency": "UAH",
        "transactionId": "928199458716",
        "pdfUrl": "",
        "shop_site_id" : ""
    },
    "id": "1"
}

An example of response if 3D Secure check is required:

{
    "result": {
        "status": "CREATED",
        "errorCode": "0",
        "error": "",
        "shopBillId": "663526924",
        "billAmount": "1.2",
        "billNumber": "123456.14052020.05",
        "attribute1": "1",
        "attribute2": "2",
        "attribute3": "3",
        "attribute4": "4",
        "cardMask": "516874******5179",
        "actionMPI": "https://acs.privatbank.ua/pPaReqMC.jsp",
        "pareq": "eJxVUcluwjAQ/RWUY6XiJZtBE6MUuh0CKYVDj1FiQSqy4IQCf99xCNDKGmne7H4PJqdiN/hRusmrMrDYkFoDVaZVlpebwFqvXh6FNZGw2mqlZp8qPWglIVJNk2zUIM8CK06Was/cEXWY8LjjuB4Xtuc7jNr4RkJ49ohbEuIQ6yT0myQuGnIgV4gjdbpNylZCku6f3ufSdYTnCiA9hELp95n0GHN8HxsvEMqkUDJeLFfRYv48nC6ih9c4/ALSxSGtDmWrz1JQB8gVwEHv5LZt62ZMSF3ptqhKNUyrAojJALmfEh+M1+CkU57JaBYe0c5oLPpen+ZneoxWH2hRAMRUQJa0SnLKKXW5O2DO2PXHZncXh6QwJ+DXOcV/XQDUZkfYZ0zibwCQb41ynOVIYOqGQJ1qvBorkIqbD+R+8PTNMJm2SJIRxmM2E6yjs4uZATmSwTll3QQDgJgu0itFepXR+6f+L1ndtBw=",
        "authCode": "",
        "description": "test payment",
        "lang": "ru",
        "md": "194203287",
        "isNeed3DS": "Y",
        "token": "",
        "billCurrency": "UAH",
        "transactionId": "",
        "termUrl": "https://www.portmone.com.ua/r3/pg/confirmapigateway/3332633904a34c326a772f1256a70958bdaa4cc092a3fa86bdd5712dc033654d2582a3e4668f52230428/?shopBillId=303977a031fa486ee5e571aa119b89ba9eacd8&3ds=Y&py=303523031e7bb72dc8c426146af248",
        "successUrl": "https://portmone2.com/r3/ecommerce/test/master-test-from",
        "pdfUrl": ""
    },
    "id": "1"
}

To proceed with 3D Secure verification procedure client should be redirected to the issuing bank page (action). To do so merchant should send POST request including PaReq and MD parameters and merchant URL to return after 3D Secure (TermUrl).

Request parameters to call the bank page:

ParameterDescription
actionThe actionMPI value received in Portmone response
PaReqThe pareq value received in Portmone response
MDThe md value received in Portmone response
TermUrlURL of the merchant site to which the issuing bank returns a response message after passing 3D Secure. If payment is made from the application - app url

Example of HTML-form to call the bank page:

<form id="TheForm" action="https://acs.privatbank.ua/pPaReqMC.jsp" method="POST"
    name="TheForm">
    <input type="hidden" name="PaReq" value="eJxVUdtugkAQ/RXDY5O6u1wW1oxrqPbiA0KtfegjwY
        1iBHTBFvv1nUWs7SabzJnrmTMwaYv94FPpOq/KscWG1BqoMqvWebkZW++rp/vAmkhYbbVSszeVnbSSE
        Km6TjdqkK/HVpIu1ZF5nsMDfK7g3Oc2FUwI6nmccSE45ZaEJMQ8Cf0kiYOGNpArxJY626ZlIyHNjg/z
        hfTcgHsBkB5CofR8Jjljru9j4QVCmRZKJvFyFcWLx+E0ju6ek/ADSOeHrDqVjT7LgLpArgBOei+3TXO
        oR4QcKt0UVamGWVUAMREgNyrJyVg1dmrztYxm4Rf+Nl6F39EuaxdTyqJZRKPd6xiIyYB12ihpUyaoY/
        sDZo+YO3JxdueHtDAUcHXbwb0uAA5mRthHTOCvA1Bvjec4SxFQXOGKQLUHZI0ZKMWvDeRGePpilMwaF
        MlxHN/2fY+KTs7OZxrkKIaNZLsOBgAxVaS/FOmvjNa/6/8AWHOz+w=="/>
    <input type="hidden" name="MD" value="166765657"/>
    <input type="hidden" name="TermUrl" value="https://portmone2.com/r3/ecommerce/test/"/>
</form>

Afrer entering a code at the issuing bank page the client returns to the merchant's server address (specified as TermUrl at the request). The response message from the bank contains parameters with MD and PaRes values which should be sent to the Portmone for obtaining authorization results.

Request parameters for 3D Secure confirmation:

ParameterDescription
MDThe MD value received from the bank to your URL
PaResThe PaRes value received from the bank to your URL
shopBillIdA unique identifier of transaction (payment document) in the Portmone.com system which was received in previous requests

An example of request to the Portmone for 3D Secure confirmation:

{"method":"confirmMpi", "params": { "data":

{ "MD":"166765657",
  "PaRes":"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",
  "shopBillId":"476986520" }
    },    "id": "1"}

The response from the Portmone.com will contain the result of payment.

Step 2. Check the integration checklist.

Step 3. Send to GPay mobile application package file (.apk) or link to site with payment page for verification.

Appendix 1. Response processing diagram

Response processing diagram

Appendix 2. Error codes

Error codeOriginalError message (en)Error message (ukr)Error message (ru)Next steps
0Successful payment
1Declined by bankTransaction declined by bankОперація відхилена банкомОперация отклонена банкомCustomer should contact their bank. Customer could retry payment
2Transaction is prohibited by acquiring bankTransaction is prohibited by acquiring bankОперація відхилена банком-еквайеромОперация отклонена банком-эквайеромCustomer should contact Portmone.com support. Customer could retry payment
3Transaction is prohibited by issuing bankTransaction is prohibited by issuing bankОперація відхилена вашим банкомОперация отклонена вашим банкомCustomer should contact their bank. Customer could retry payment
4Technical/ communication problemTechnical problems. Please try again laterТехнічні проблеми. Спробуйте пізнішеТехнические проблемы. Попробуйте позжеCustomer should contact Portmone.com support. Customer could retry payment
5Transaction has exceeded the limit by your bankTransaction has exceeded the limit by your bankОперація відхилена банком. Перевищення лімітівОперация отклонена банком. Превышение лимитовCustomer should contact their bank. Customer could retry payment
6Not sufficient fundsTransaction declined by bank. Insufficient fundsОперація відхилена банком. Недостатньо коштівОперация отклонена банком. Недостаточно средствCustomer should contact their bank. Customer could retry payment
7Invalid CVV or card expiry dateTransaction declined by bank. Invalid CVV or card expiry dateОперація відхилена банком. Некоректний CVV або термін дії карткиОперация отклонена банком. Некорректный CVV или срок действия картыCustomer should contact their bank. Customer could retry payment
8Invalid OTP codeTransaction declined. Invalid OTP codeОперація відхилена. Введено невірний кодОперация отклонена. Введен некорректный кодCustomer should contact Portmone.com support. Customer could retry payment
9Invalid 3DS dataTransaction declined by bank. Invalid 3DS codeОперація відхилена. Введено невірний кодОперация отклонена. Введен неверный кодCustomer should contact their bank. Customer could retry payment
10Duplicate transactionsTransaction declined. Duplicate transactionsОперація відхилена. Повторна транзакціяОперация отклонена. Повторная транзакцияCustomer could retry payment
11Format errorTransaction declined. Format errorОперація відхилена. Некоректний формат запитуОперация отклонена. Некорректный формат запросаMerchant should check the request format
12Portmone verificationAdditional card verification requiredНеобхідно пройти додаткову перевірку карткиНеобходимо пройти дополнительную верификацию картыCustomer should contact Portmone.com support. Customer could retry payment
13System error. Please try again.System error. Please contact Portmone.com supportСистемна помилка. Зверніться до служби підтримки Portmone.comСистемная ошибка. Обратитесь в службу поддержки Portmone.comCustomer should contact Portmone.com support. Customer could retry payment
14Wrong signatureTransaction declined. Authentication failed or invalid requestОперація відхилена. Не пройдена аутентифікація або некоректний запитОперация отклонена. Не пройдена аутентификация или некорректный запросMerchant should check the request parameters
15Query time exceededTransaction declined. Timeout. Contact Portmone.com supportОперація відхилена. Перевищено час очікування. Зверніться до служби підтримки Portmone.comОперация отклонена. Превышено время ожидания. Обратитесь в службу поддержки Portmone.comCustomer should contact Portmone.com support. Customer could retry payment
16Invalid request dataTransaction declined. Invalid requestОперація відхилена. Некоректний запитОперация отклонена. Некорректный запросMerchant should check the request
17Transaction has exceeded system limitsTransaction declined. Limit is exceeded. Contact Portmone.com supportОперація відхилена. Перевищено ліміт. Зверніться до служби підтримки Portmone.comОперация отклонена. Превышен лимит. Обратитесь в службу поддержки Portmone.comCustomer should contact Portmone.com support. Customer could retry payment
18FraudTransaction declined by Portmone.com monitoring system. Please contact supportОперація відхилена моніторинговою системою Portmone.com. Зверніться до служби підтримкиОперация отклонена мониторинговой системой Portmone.com. Обратитесь в службу поддержкиCustomer should contact Portmone.com support. Customer could retry payment
19Order not foundOrder not foundЗамовлення не знайденоЗаказ не найден
← PortmoneDirectApple Pay →
  • 1. Introduction
  • 2. Connection via Portmone.com page
    • Preconditions
    • Description
  • 3. Connection with Google Pay API
    • Preconditions
    • How it works?
    • How to integrate the Google Pay method?
  • Appendix 1. Response processing diagram
  • Appendix 2. Error codes
Copyright © 2023 Portmone.com