Gestpay becomes Axerve Ecommerce Solutions

Google Pay™

Payments with Google Pay may currently be declined.
We are working to restore normal operation of the service.

What is Google Pay™

Google Pay is the payment system by Google. Google Pay will securely store the credit card data in the Google Pay account. Paying using the mobile phone (via NFC) or on a website will be matters of seconds, from the moment a user clicks on “pay with Google Pay” to the reception of the payment.

More info on building Google Pay on you app and web sites can be found on Google Developers.

Google Pay is currently available only for Axerve Ecommerce Solutions Professional version.

How to enable on Axerve Ecommerce Solutions

Ask Axerve customer care to enable Google Pay with your Axerve Ecommerce Solutions account.

Setup the javascript code on your website

Follow the guide Tutorial on Google Pay | Google Developers to generate the code that allows to pay via Google Pay.

At step 2, you must define the tokenSpecification obect as follows:

"tokenizationSpecification": {
    "type": "PAYMENT_GATEWAY",
    "parameters": {
        "gateway": "gestpay",
        "gatewayMerchantId": "GESPAYXXXXX"
    }
}

Change GESPAYXXXXX with your Axerve Ecommerce Solutions shop login.

At step 3 define the supported payment card networks. For Axerve Ecommerce Solutions, use:

const allowedCardNetworks = ["MASTERCARD", "VISA"];
const allowedCardAuthMethods = ["PAN_ONLY", "CRYPTOGRAM_3DS"];

At step 5, you can set the Google Pay environment. By setting it to test, no real money is involved:

const paymentsClient =
    new google.payments.api.PaymentsClient({environment: 'TEST'});
// other possible value: {environment: 'PRODUCTION'}

If you use the TEST environment, remember to set the gatewayMerchantId to your test shop login.

Send the result to Axerve Ecommerce Solutions

At step 9, you register for the user click and perform the payment by calling loadPaymentData():

function onGooglePaymentButtonClicked() {
    ...
    paymentsClient.loadPaymentData(paymentDataRequest)
      .then(function(paymentData) {
        // send to Gestpay 
        processPayment(paymentData);
      })
    ...
}

You must take the paymentData response object and submit to Axerve Ecommerce Solutions, using your favourite method.

Send to Axerve Ecommerce Solutions via SOAP

You can send to Axerve Ecommerce Solutions the result of the payment via callPagamS2S

<callPagamS2S>
  <!-- mandatory data -->
  <shopLogin>9000002</shopLogin>
  <uicCode>242</uicCode><!-- code for euro -->
  <amount>24.21</amount>
  <shopTransactionId>MYSHOP-0001</shopTransactionId>
  <!-- attach here the paymentData JSON -->
  <googlePay>
    <tokenizationData>
      <token>{"signature":"MEQCIAqZ1FIJMQmYxxtkUD3bU+qb/TT+GtQcYXhGZbmrYNQJAiB34P05djwyRT++tU8A6HfJy2bxlY6hmjDP+2Dms131jQ\u003d\u003d","protocolVersion":"ECv1","signedMessage":"{\"encryptedMessage\":\"GyRhs5im1clEgsjLYyUErcyA3GV68/Qab5ZsttyU/OrKo+oZjO2M0pyMOvsNX57nZCIPcCD0h1bL7sDZW7Igf6yiieqSbUvHxZHz3vYTitqbHKv9FVK+GhZq9kVk+r7vI/YG5/pi78b85f+hsYCz+JZMxDzIM8lntF8G+d3+8yl3ZW0H2wvRGpJlIP+dMTURv9ilZDlf1IoD7mhWcJcvpPOVS3cr2dyooDfGASA6FQOJu27aNgYDgtbKDcWkUEAUiR2+gg4irHpDYZCzlwmqV7uC8ZUUdyOpRNHOXLVuYou8aGuUp4jG2SlrWcSHaqcJV4o22pi24HUvwqMTRxojcMVpXorpIHS29F7HkQ3YMSjrtWNvmFZa3nYqyMbfh7E49zf+si4Kqd/yXyJDWJzXJoGBrr+8BEHGIcQ5ZFbfpASS1eRLWxJICOsmIMtapT/nZYAdvQTqqynscBu/hRZYP6471w\\u003d\\u003d\",\"ephemeralPublicKey\":\"BFqAUi7Sp0yqHF34Mm51mOlufyl80D/MAbcwXBqRxUmVrsLjrrOft+pa4GRFL9nyx02S1LjnpjNmX2WvMtdqIn0\\u003d\",\"tag\":\"XBpz+yRiJ5VQfdx+qxKTN4haZXGMZYORJsWT2P6jlq0\\u003d\"}"}
      </token>
    </tokenizationData>
  </googlePay>
  <!-- fill the remaining fields with usual data --> 
  ...
</callPagamS2S>

If the callPagamS2S response has success, the payment is completed.

Send to Axerve Ecommerce Solutions via REST

To pay using the REST APIs, you should add this to POST payment/submit:

{  
  "shopLogin":"MYSHOP",
   "paymentType":"",
   "buyer":{  
      "name":"test",
      "email":"test@test.com"
   },
  "googlePay":{  
      "tokenizationData":{  
        "token":{  
            "signature":"MEQCIAqZ1FIJMQmYxxtkUD3bU+qb/TT+GtQcYXhGZbmrYNQJAiB34P05djwyRT++tU8A6HfJy2bxlY6hmjDP+2Dms131jQ\u003d\u003d",
            "protocolVersion":"ECv1",
            "signedMessage":"{\"encryptedMessage\":\"GyRhs5im1clEgsjLYyUErcyA3GV68/Qab5ZsttyU/OrKo+oZjO2M0pyMOvsNX57nZCIPcCD0h1bL7sDZW7Igf6yiieqSbUvHxZHz3vYTitqbHKv9FVK+GhZq9kVk+r7vI/YG5/pi78b85f+hsYCz+JZMxDzIM8lntF8G+d3+8yl3ZW0H2wvRGpJlIP+dMTURv9ilZDlf1IoD7mhWcJcvpPOVS3cr2dyooDfGASA6FQOJu27aNgYDgtbKDcWkUEAUiR2+gg4irHpDYZCzlwmqV7uC8ZUUdyOpRNHOXLVuYou8aGuUp4jG2SlrWcSHaqcJV4o22pi24HUvwqMTRxojcMVpXorpIHS29F7HkQ3YMSjrtWNvmFZa3nYqyMbfh7E49zf+si4Kqd/yXyJDWJzXJoGBrr+8BEHGIcQ5ZFbfpASS1eRLWxJICOsmIMtapT/nZYAdvQTqqynscBu/hRZYP6471w\\u003d\\u003d\",\"ephemeralPublicKey\":\"BFqAUi7Sp0yqHF34Mm51mOlufyl80D/MAbcwXBqRxUmVrsLjrrOft+pa4GRFL9nyx02S1LjnpjNmX2WvMtdqIn0\\u003d\",\"tag\":\"XBpz+yRiJ5VQfdx+qxKTN4haZXGMZYORJsWT2P6jlq0\\u003d\"}"
        }
      }
  }
}

If payment/submit returns status code 200, the payment is completed.