Requests
Pay
Once you have properly implemented the Google Pay™ button on your site, you can proceed with processing the Payment via Buckaroo's Checkout Gateway.
The flow of processing the payment once you received the token is as follows:
- Retrieve the Token from the “paymentData” parameter of the “processPayment” callback function.
- Initiate a Google Pay Transaction via Buckaroo. Provide the Base64 Encoded Token as parameter in the request under the name PaymentData.
Service-specific parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| Payment data | Yes | String | Base64 Encoded string of the retrieved token from Google Pay API |
| CustomerCardName | No | String | The full name of the card holder. |
Basic parameters
You can find basic parameters here.
Example request
{
"Invoice": "Dummy_Invoice",
"Description": "Dummy_Description",
"Currency": "EUR",
"AmountDebit": 0.01,
"Services": {
"ServiceList": [
{
"Name": "GooglePay",
"Action": "Pay",
"Parameters": [
{
"Name": "PaymentData",
"Value": "VGhpcyBpcyBhIEJhc2U2NCBlbmNvZGVkIHRleHQ="
},
{
"Name": "CustomerCardName",
"Value": "XXXXXXXXXXXXX”
}
]
}
]
}
}
Pay Response
Service-specific parameters
| Parameter | Type | Required | Recommended | Description |
|---|---|---|---|---|
| CardNumberEnding | String | Last 4 digits of the credit card number. | ||
| CardExpirationDate | String | Credit card expiration date. | ||
| MaskedCreditcardNumber | String | Masked card number. |
Example response
{
"Key": "9AA4C81A08A84FA7B68E6A6A6291XXXX",
"Status": {
"Code": {
"Code": 190,
"Description": "Success"
},
"SubCode": {
"Code": "S001",
"Description": "Transaction successfully processed"
},
"DateTime": "2019-06-13T09:19:52"
},
"RequiredAction": null,
"Services": [
{
"Name": "GooglePay",
"Action": null,
"Parameters": [
{
"Name": "CardNumberEnding",
"Value": "00XX"
},
{
"Name": "CardExpirationDate",
"Value": "0019-07"
},
{
"Name": "MaskedCreditcardNumber",
"Value": "XXXXXX******XXXX"
}
]
}
],
"CustomParameters": null,
"RequestErrors": null,
"Invoice": "10000480",
"ServiceCode": "googlepay",
"IsTest": true,
"Currency": "EUR",
"AmountDebit": 1.00,
"TransactionType": "V187",
"MutationType": 2,
"RelatedTransactions": null,
"ConsumerMessage": null,
"Order": "10000480",
"IssuingCountry": null,
"StartRecurrent": false,
"Recurring": false,
"CustomerName": "XXXXXXXXXXXX",
"PayerHash": "XXXXXXXXXXXXXXXXXXX",
"PaymentKey": "XXXXXXXXXXXXXXXXXXXXXX"
}
Authorize
Reserves funds without capturing. Keep the Key from the response — it becomes the OriginalTransactionKey for a subsequent Capture or CancelAuthorize.
Example request
{
"Currency": "EUR",
"AmountDebit": 10.00,
"Invoice": "<Invoice>",
"Services": {
"ServiceList": [
{
"Name": "googlepay",
"Action": "Authorize",
"Parameters": [
{ "Name": "PaymentData", "Value": "<PaymentData>" },
{ "Name": "CustomerCardName", "Value": "<CustomerCardName>" }
]
}
]
}
}
Example response
{
"Key": "571457E371FB494FB0E67C99CFXXXXXX",
"Status": {
"Code": { "Code": 190, "Description": "Success" },
"SubCode": { "Code": "S001", "Description": "Transaction successfully processed" },
"DateTime": "2026-06-11T09:19:52"
},
"Services": [
{
"Name": "googlepay",
"Parameters": [
{ "Name": "CardNumberEnding", "Value": "00XX" },
{ "Name": "CardExpirationDate", "Value": "2030-07" },
{ "Name": "MaskedCreditcardNumber", "Value": "XXXXXX******XXXX" }
]
}
],
"Invoice": "<Invoice>",
"ServiceCode": "googlepay",
"IsTest": true,
"Currency": "EUR",
"AmountDebit": 10.00,
"TransactionType": "I149",
"PaymentKey": "FBCCF988EE3A455A9A07F1F5A1XXXXXX"
}
Capture
Charges a previously authorized transaction. No PaymentData needed — reference the Authorize via OriginalTransactionKey. AmountDebit may be equal to or less than the authorized amount.
Example request
{
"Currency": "EUR",
"AmountDebit": 10.00,
"Invoice": "<Invoice>",
"OriginalTransactionKey": "<OriginalTransactionKey>",
"Services": {
"ServiceList": [
{ "Name": "googlepay", "Action": "Capture" }
]
}
}Example response
{
"Key": "EA244C42EC0846E8BF2CD406BCXXXXXX",
"Status": {
"Code": { "Code": 190, "Description": "Success" },
"SubCode": { "Code": "S001", "Description": "Transaction successfully processed" },
"DateTime": "2026-06-11T12:40:03"
},
"Invoice": "<Invoice>",
"ServiceCode": "googlepay",
"IsTest": true,
"Currency": "EUR",
"AmountDebit": 10.00,
"TransactionType": "C521",
"RelatedTransactions": [
{ "RelationType": "capture", "RelatedTransactionKey": "<OriginalTransactionKey>" }
]
}CancelAuthorize
Releases a previously authorized reservation without charging the customer.
Example request
{
"Currency": "EUR",
"AmountCredit": 10.00,
"Invoice": "<Invoice>",
"OriginalTransactionKey": "<OriginalTransactionKey>",
"Services": {
"ServiceList": [
{ "Name": "googlepay", "Action": "CancelAuthorize" }
]
}
}Example response
{
"Key": "9C1B2A33D0F94A1FA0D2A8C7E4XXXXXX",
"Status": {
"Code": { "Code": 190, "Description": "Success" },
"SubCode": { "Code": "S001", "Description": "Transaction successfully processed" },
"DateTime": "2026-06-11T12:55:10"
},
"Invoice": "<Invoice>",
"ServiceCode": "googlepay",
"IsTest": true,
"Currency": "EUR",
"AmountCredit": 10.00,
"TransactionType": "I152",
"RelatedTransactions": [
{ "RelationType": "cancelauthorize", "RelatedTransactionKey": "<OriginalTransactionKey>" }
]
}StartRecurrent
Initializes a recurring Google Pay™ payment. The resulting transaction can be referenced by subsequent PayRecurrent calls.
NoteThe StartRecurrent parameter is required to identify the transaction as the start of a recurring payment series.
Example request
{
"Currency": "EUR",
"AmountDebit": 0.01,
"Description": "GooglePay StartRecurrent",
"Invoice": "GooglePay Invoice test123",
"StartRecurrent": "true",
"ContinueOnIncomplete": true,
"Services": {
"ServiceList": [
{
"Name": "GooglePay",
"Action": "Pay",
"Parameters": null
}
]
}
}Example response
{
"Key": "1CF9DB7D748245279B32A16D11051373",
"Status": {
"Code": {
"Code": 790,
"Description": "Pending input"
},
"SubCode": null,
"DateTime": "2026-04-20T09:09:02"
},
"RequiredAction": {
"RedirectURL": "https://testcheckout.buckaroo.nl/html/redirect.ashx?r=BA589CC6B9FC4E71940866E151BE4377",
"RequestedInformation": null,
"PayRemainderDetails": null,
"Name": "Redirect",
"TypeDeprecated": 0
},
"Invoice": "GooglePay Invoice test123",
"IsTest": true,
"Currency": "EUR",
"AmountDebit": 0.01,
"StartRecurrent": true,
"Recurring": false
}StartRecurrent Push
Example push
{
"Transaction": {
"Key": "1CF9DB7D748245279B32A16D11051373",
"Invoice": "GooglePay Invoice test123",
"ServiceCode": "GooglePay",
"Status": {
"Code": {
"Code": 190,
"Description": "Success"
},
"SubCode": {
"Code": "S990",
"Description": "The request was successful."
},
"DateTime": "2026-04-20T09:09:48"
},
"IsTest": true,
"Order": null,
"Currency": "EUR",
"AmountDebit": 0.01,
"TransactionType": "C131",
"Services": [
{
"Name": "GooglePay",
"Action": null,
"Parameters": [
{ "Name": "CardNumberEnding", "Value": "5883" },
{ "Name": "CardExpirationDate", "Value": "2030-01" },
{ "Name": "MaskedCreditcardNumber", "Value": "410687******5883" },
{ "Name": "ThreeDsVersion", "Value": "2.2.0" },
{ "Name": "Authentication", "Value": "Y" }
],
"VersionAsProperty": 1
}
],
"MutationType": 1,
"IsCancelable": false,
"StartRecurrent": true,
"Recurring": false,
"CustomerName": "Customer Unknown",
"PayerHash": "89e23f4562c5e68536ebec6af682ec31223e9e30532ae9d8d9a2d6181ab7de8465349fd0721819752e1a65a587e9e1dbcb1d33fd0538c858608cfbb40f622847",
"PaymentKey": "887FA8B2AED748C1A9B426709F885813",
"Description": "GooglePay StartRecurrent"
}
}PayRecurrent
Performs a recurring Google Pay™ payment using a previously authorized transaction.
NoteThe OriginalTransactionKey parameter is required and must reference the Key returned by the original StartRecurrent transaction.
Example request
{
"Invoice": "GooglePay_Test_1776669023",
"Description": "GooglePay description",
"Currency": "EUR",
"AmountDebit": 0.01,
"ContinueOnIncomplete": true,
"OriginalTransactionKey": "1CF9DB7D748245279B32A16D11051373",
"Services": {
"ServiceList": [
{
"Name": "GooglePay",
"Action": "PayRecurrent"
}
]
}
}Example response
{
"Key": "C6BFD5717C6E4C69819481744EEBB87A",
"Status": {
"Code": {
"Code": 190,
"Description": "Success"
},
"SubCode": {
"Code": "S990",
"Description": "The request was successful."
},
"DateTime": "2026-04-20T09:10:26"
},
"RequiredAction": null,
"Services": [
{
"Name": "GooglePay",
"Action": null,
"Parameters": [
{ "Name": "CardNumberEnding", "Value": "5883" },
{ "Name": "CardExpirationDate", "Value": "2030-01" },
{ "Name": "MaskedCreditcardNumber", "Value": "410687******5883" }
]
}
],
"Invoice": "GooglePay_Test_1776669023",
"ServiceCode": "GooglePay",
"IsTest": true,
"Currency": "EUR",
"AmountDebit": 0.01,
"TransactionType": "C132",
"MutationType": 1,
"StartRecurrent": false,
"Recurring": true,
"CustomerName": "Customer Unknown",
"PayerHash": "89e23f4562c5e68536ebec6af682ec31223e9e30532ae9d8d9a2d6181ab7de8465349fd0721819752e1a65a587e9e1dbcb1d33fd0538c858608cfbb40f622847",
"PaymentKey": "77C13156B84749A3BBF8DD396FC2DD5D"
}PayRecurrent Push
Example push
{
"Transaction": {
"Key": "C6BFD5717C6E4C69819481744EEBB87A",
"Invoice": "GooglePay_Test_1776669023",
"ServiceCode": "GooglePay",
"Status": {
"Code": {
"Code": 190,
"Description": "Success"
},
"SubCode": {
"Code": "S990",
"Description": "The request was successful."
},
"DateTime": "2026-04-20T09:10:26"
},
"IsTest": true,
"Order": null,
"Currency": "EUR",
"AmountDebit": 0.01,
"TransactionType": "C132",
"Services": [
{
"Name": "GooglePay",
"Action": null,
"Parameters": [
{ "Name": "CardNumberEnding", "Value": "5883" },
{ "Name": "CardExpirationDate", "Value": "2030-01" },
{ "Name": "MaskedCreditcardNumber", "Value": "410687******5883" }
],
"VersionAsProperty": 1
}
],
"MutationType": 1,
"IsCancelable": false,
"StartRecurrent": false,
"Recurring": true,
"CustomerName": "Customer Unknown",
"PayerHash": "89e23f4562c5e68536ebec6af682ec31223e9e30532ae9d8d9a2d6181ab7de8465349fd0721819752e1a65a587e9e1dbcb1d33fd0538c858608cfbb40f622847",
"PaymentKey": "77C13156B84749A3BBF8DD396FC2DD5D",
"Description": "GooglePay description"
}
}Refund
Refund Request
Parameters
| Parameter | Type | Required | Recommended | Description |
|---|---|---|---|---|
| OriginalTransactionKey | String | Yes | N/A | Transaction key of the payment that needs to be refunded. Please note: This is a basic parameter, not a service specific parameter. |
Example request
{
"Currency": "EUR",
"AmountCredit": 1.00,
"Invoice": "10000480",
"OriginalTransactionKey": "XXXXXXXXXXXXXXX",
"Services": {
"ServiceList": [
{
"Name": "googlepay",
"Action": "refund"
}
]
}
}Refund Response
Example response
{
"Key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"Status": {
"Code": {
"Code": 190,
"Description": "Success"
},
"SubCode": {
"Code": "S001",
"Description": "Transaction successfully processed"
},
"DateTime": "2019-06-13T09:20:24"
},
"RequiredAction": null,
"Services": null,
"CustomParameters": null,
"RequestErrors": null,
"Invoice": "10000480",
"ServiceCode": "googlepay",
"IsTest": true,
"Currency": "EUR",
"AmountCredit": 1.00,
"TransactionType": "V188",
"MutationType": 2,
"RelatedTransactions": [
{
"RelationType": "refund",
"RelatedTransactionKey": "XXXXXXXXXXXXXXXXXXXXX"
}
],
"ConsumerMessage": null,
"Order": null,
"IssuingCountry": null,
"StartRecurrent": false,
"Recurring": false,
"CustomerName": "XXXXXXXXXXXX",
"PayerHash": null,
"PaymentKey": "XXXXXXXXXXXXXXXX"
}Refund Push
Parameters
Example push
{
"Key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"Status": {
"Code": {
"Code": 190,
"Description": "Success"
},
"SubCode": {
"Code": "S001",
"Description": "Transaction successfully processed"
},
"DateTime": "2019-06-13T09:20:24"
},
"RequiredAction": null,
"Services": null,
"CustomParameters": null,
"RequestErrors": null,
"Invoice": "10000480",
"ServiceCode": "googlepay",
"IsTest": true,
"Currency": "EUR",
"AmountCredit": 1.00,
"TransactionType": "V188",
"MutationType": 2,
"RelatedTransactions": [
{
"RelationType": "refund",
"RelatedTransactionKey": "XXXXXXXXXXXXXXXXXXXXX"
}
],
"ConsumerMessage": null,
"Order": null,
"IssuingCountry": null,
"StartRecurrent": false,
"Recurring": false,
"CustomerName": "XXXXXXXXXXXX",
"PayerHash": null,
"PaymentKey": "XXXXXXXXXXXXXXXX"
}Payment Page (hosted)
If you use Buckaroo's hosted payment page, Buckaroo renders the Google Pay button itself — you send no PaymentData. The response returns a RedirectURL to redirect the shopper to.
NoteUse
"Action": "Authorize"instead of"Pay"if you want to reserve funds on the hosted page and capture later.
Example request
{
"Currency": "EUR",
"AmountDebit": 10.00,
"Invoice": "<Invoice>",
"ReturnURL": "<ReturnURL>",
"PushURL": "<PushURL>",
"ContinueOnIncomplete": 1,
"Services": {
"ServiceList": [
{ "Name": "googlepay", "Action": "Pay" }
]
}
}Example response
{
"Key": "4E8BD922192746C3918BF4077CXXXXXX",
"Status": {
"Code": { "Code": 790, "Description": "Pending input" },
"DateTime": "2026-06-11T09:50:19"
},
"RequiredAction": {
"RedirectURL": "https://testcheckout.buckaroo.nl/html/redirect.ashx?r=B3B96BC48B2C464D9027742FA0XXXXXX",
"Name": "Redirect"
},
"Invoice": "<Invoice>",
"IsTest": true,
"Currency": "EUR",
"AmountDebit": 10.00
}
Transaction types reference
V187Pay ·V188Refund ·I149Authorize ·C521Capture ·I152CancelAuthorizeStatus
190= success ·790= pending input ·490 / 491 / 492= failed