Google Pay™ is the fast, simple way to pay on sites, in apps, and in stores using the cards saved to your Google Account.

Connecting Google Pay via Paysoft Hosted Checkout Page

To connect, you need:

With this integration method, there is no need to carry out any additional integration. The Google Pay button will be displayed on the PaySoft payment page.

Integration with Google Pay Api

It allows you to integrate GooglePay without redirecting to the PaySoft payment form and accept payments directly from your site or application.

You are initiating a request from your site or application to receive encrypted payment data according to GooglePay documentation. Google Pay returns encrypted payment information after customer authentication, which must be sent to Paysoft in a request.

Configuration parameters

allowPaymentMethods : CARD
tokenizationSpecification = { "type": "PAYMENT_GATEWAY"}
allowedCardNetworks = ['MASTERCARD', 'VISA'];
allowedCardAuthMethods = ['PAN_ONLY', 'CRYPTOGRAM_3DS'];
gateway = paysoft
gatewayMerchantId - Merchant identifier. The Merchant can get the identifier in the Cabinet (

Action -

Method - POST

XML-request format:

Title XML parameter Required? Description
Seller ID LMI \ _MERCHANT \ _ID Yes Merchant identifier to which the payment will be accepted. The Seller can get the identifier in the Cabinet.
Payment amount LMI \ _PAYMENT \ _AMOUNT Yes The amount of payment that the Seller wishes to receive from the Client. The sum must be greater than zero, the fractional part is separated by a dot.
Internal order number in the Seller's accounting system LMI \ _PAYMENT \ _NO No In this field, the Seller defines the order number in accordance with his accounting system. Although this parameter is optional, it is recommended that you always set it because it is needed for other interfaces to work correctly. It is advisable to use a unique number for each payment. The number can contain letters of the English alphabet, numbers and the hyphen "-". The maximum length is 64 characters.
Payment details LMI \ _PAYMENT \ _DESC Yes Description of the goods / work / services that are paid for. The maximum length is 255 characters. Encoding - UTF8.
Verification signature LMI \ _HASH Yes The control signature of the request is generated by encrypting the original text of the XML request with an empty LMI \ _HASH value and the secret key SecretKey using the algorithm specified in the Merchant Cabinet. The received signature is passed in the LMI \ _HASH tag. SHA256 is the recommended encryption algorithm.
Client Email LMI_PAYER_EMAIL No ** Customer Email Addresses
Customer ID on the Seller side LMI_PAYER_ID No May contain letters of the English alphabet, numbers and the hyphen "-". The maximum length is 25 characters.
Encrypted payment data received from Google LMI_PAYMENT_TOKEN No Value from paymentData.paymentMethodData.tokenizationData.token received from Google
Splitting payment LMI_SPLIT No A payment splitting the amount into multiple recipients. This parameter specifies a JSON array with payment splitting rules. When using the LMI_SPLIT parameter, one charge from the client and several credits to recipients occur. Example JSON string:
` [{" CompanyId ": 1," Amount ": 20," CompanyName ":" "," Description ":" "," EDRPOU ":" "," IBAN ": ""}, {"CompanyId": 2, "Amount": 12, "CompanyName": "", "Description": "", "EDRPOU": "", "IBAN": ""}] "
Payer IP LMI \ _PAYER \ _IP No Payer's IP address
Site URL LMI \ _MERCHANT \ _URL No Website URL where the payment was made

XML-response format:


Title Field in XML Description
Request execution code Retval 0 - successful command execution; 1 - Incorrect signature \ (HASH ); 2 - incorrect parameters; 3 - A card of this type cannot be processed; 4,5,6,7 - internal error; 8 - in progress
Description of the execution code Retdesc
Internal payment number in the PaySoft system Retdata / LMI \ _SYS \ _PAYMENT \ _ID Number of the accepted payment in the PaySoft system.
Is3ds flag of the card's involvement in 3D-Secure \ (0 - the card does not require 3DSecure verification; 1 - the card needs 3D-Secure verification ).
action Client redirect URL. Displayed only if Retval = 1 and Retdata / Is3ds = 1
PaReq request parameters for 3D-Secure. Displayed only if Retval = 1 and Retdata / Is3ds = 1
MD request parameters for 3D-Secure. Displayed only if Retval = 1 and Retdata / Is3ds = 1
ErrorMessage additional error information

If in response the Retdata / Is3ds = 1 field value was received, this means that the card requires verification using 3D-Secure technology. To carry out such a check, it is necessary to generate and send an html-form using the POST method to the address specified in the Retdata / action field.

Attention! You cannot ignore the fact that the card is involved in 3D-Secure. If Is3ds = 1 was received in response to paymentCreate, then you cannot skip this step (card authorization using 3D-Secure ) and go directly to the paymentConfirm command.

An example HTML form containing all the required fields:

<form method = "POST" action = "action">
<input type = "hidden" name = "PaReq" value = "%PaReq%">
<input type = "hidden" name = "MD" value = "%MD%">
<input type = "hidden" name = "TermUrl" value = "%TERMURL%">

Html form parameters:

  • %ACTION% - the value of the Retdata / action field from the response to the request
  • %PaReq% - the value of the Retdata / PaReq field from the response to the request
  • %MD% - value of the Retdata / MD field from the response to the request
  • %TERMURL% - URL address of your page, to which the client will return after 3D-Secure verification. May contain GET parameters.

After 3DSecure verification, the client will be redirected to the address specified in TermUrl using a POST request. PaRes and MD will be among the parameters of this request.

results matching ""

    No results matching ""