Google Pay
Please go to Google Pay Payment Page to see how to load the Google pay button.
Google Pay may require a 3DS. The response will return an acsform
, which is a HTML from used to perform the 3DS authentication.
A HTML page should be send to the user which include the acsform
in the body and the following JS in the header:
<script>
onload = () => document.forms[0].submit();
</script>
The user will complete the 3DS form and submit.
After submission, the user will be returned to the predefined return URL with an encoded transaction ID.
Resources
Process Google Pay
POST /pay/v1/googlepay
Â
Headers
Content-Type string
Content type.
Authorization string
Access token generated from create token request.
User-Agent string
User agent.
Accept string
Accept
Accept-Encoding string
Accept encoding.
Accept-Charset string
Accept charset.
Â
Attributes
payment_intent string
Payment intent token.
paymentToken string
Payment token generated from Create Google Payment Token request.
type string (optional)
Type 1 is ECOM
payment and type 2 is MOTO
. For Google Pay, the value must be 1.
amount float (optional)
Payment amount. If not present, it will fetch value from Intent resource.
resource string
The resource value for google pay must be googlepay.
The resource value will be in the gpElement form.
customer_email string (optional)
Customer email. If not present, it will fetch value from the ccElement form.
customer_name string (optional)
Customer name. If not present, it will fetch value from the ccElement form.
customer_address string (optional)
User’s address details. If not present, it will fetch value from the ccElement form.
customer_postcode string (optional)
User’s postcode. If not present, it will fetch value from the ccElement form.
transaction_unique string
Transaction unique.
device_timezone integer
Device timezone value which can be fetched using javascript and assigned to the respective hosted input field. This value is required in 3DS.
device_capabilities string
Device capabilities which can be fetched using javascript and assigned to the respective hosted input field. This value is required in 3DS.
device_accept_language string
Device accept language which can be fetched using javascript and assigned to the respective hosted input field. This value is required in 3DS.
device_screen_resolution string
Device accept language which can be fetched using javascript and assigned to the respective hosted input field. This value is required in 3DS.
remote_address string
Remote address which can be fetched using javascript and assigned to the respective hosted input field. This value is required in 3DS.
merchant_data json (optional)
The merchant can add custom key value pairs in JSON format, for example:
{
"my_order_id": 123,
"fancy_note": "Order complete",
"card_discount": false
}
Request
POST https://secure.blinkpayment.co.uk/api/pay/v1/googlepay HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbG...
User-Agent: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36",
Accept: "*/*"
Accept-Encoding: "gzip, deflate, br"
Accept-Charset: ""
{
"payment_intent": "pi_Swhc84aSLtUGppvPARX...",
"paymentToken": "eyJwYXltZW50VG9rZW4iOns...",
"type": 1,
"amount": 1.1,
"resource": "googlepay",
"customer_email": "random@email.com",
"customer_name": "A Smith",
"transaction_unique": "PHnRNzjUw...",
"device_timezone" : "-330",
"device_capabilities" : "javascript",
"device_accept_language" : "en-GB",
"device_screen_resolution" : "1366x768x24",
"remote_address" : "123.123.123.123",
"merchant_data": "{\"my_order_id\": \"cc-12345678\"}"
}
Response
HTML Page
Response