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:

  1. Retrieve the Token from the “paymentData” parameter of the “processPayment” callback function.
  2. Initiate a Google Pay Transaction via Buckaroo. Provide the Base64 Encoded Token as parameter in the request under the name PaymentData.

Service-specific parameters

ParameterRequiredTypeDescription
Payment dataYesStringBase64 Encoded string of the retrieved token from Google Pay API
CustomerCardNameNoStringThe 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

ParameterTypeRequiredRecommendedDescription
CardNumberEndingStringLast 4 digits of the credit card number.
CardExpirationDateStringCredit card expiration date.
MaskedCreditcardNumberStringMasked 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.

📘

Note

The 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.

📘

Note

The 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
ParameterTypeRequiredRecommendedDescription
OriginalTransactionKeyStringYesN/ATransaction 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.

📘

Note

Use "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

V187 Pay · V188 Refund · I149 Authorize · C521 Capture · I152 CancelAuthorize

Status 190 = success · 790 = pending input · 490 / 491 / 492 = failed